Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- =begin
- ======================================
- Sistema de Sobrevivencia v1.11 (Anteriormente conhecido como Sistema de Necessidades)
- Criado por: Apellonyx
- Traduçao feita por: Victor Mendes (makervictor)
- Lançado: 2 April 2013
- Ultima atualizaçao: 5 April 2013
- ======================================
- Termos de Uso:
- Voce é livre para usar esse sistema como quizer, em jogos comerciais ou nao-
- comerciais. Se voce editar o script bastante, nao é necessario me creditar
- necessary to credit me (desde que claramente seja usado apenas meu código
- como uma base para seu script),mas eu gostaria de receber crédito, se for
- usado em sua forma atual, ou se apenas modificar algumas coisas do script.
- ======================================
- Ajuda:
- Embora nem sempre estar ativo, eu costumo logar no "rpgmakervxace.com" diariamente,
- por isso, se voce tiver alguma pergunta relacionada ao script, voce pode
- perguntar lá, no topico em que esse script foi lançado. Apenas um aviso,
- eu nao editarei o script para torna-lo compativel com qualquer sistema
- de menu especial, mas vou tentar corrigir bugs que vao aparecendo . Se voce
- encontrar um, me avise, e eu farei o meu melhor para arrumar o erro.
- ======================================
- Atualizaçoes:
- v1.0: 2 Abril 2013 - Primeira versao. incluído comida, agua, cançaso, e vida.
- v1.01: 3 Abril 2013 - Adicionado valores máximos configuráveis para comida,
- agua, e cançaso, e fez o máximo para a vida um valor configurável. A
- prova de falhas mencionadas nas Instruções v1.0 não é mais necessário.
- v1.02: 3 Abril 2013 - Adicionado suporte para uma totalmente configuravel
- "logica reversa" , sugerido por esrann.
- v1.10: 5 Abril 2013 - Reconfiguração completa usando variáveis globais,
- em vez de variavel e switch do jogo. Todos os status sao opcionais,
- configuraveis, e podem ser tirados do menu.
- v1.11: 17 Maio 2013 - Corrigido um bug sério envolvendo o uso de valores float.
- Floats devem funcionar muito bem agora, sem causar o falhas no jogo ou
- paradas aleatorias do script. Tambem foi adicionado opacidade do fundo configuravel.
- ======================================
- Requisitos:
- Ainda não existe nenhum requisito para este script. Eu estou trabalhando em um
- script que irá permitir que as variáveis globais possam ser alteradas através da nota,
- mas pode demorar para ser feita.
- ======================================
- Descriçao:
- Esse script configura um sistema de necessidades, que inclui comida, água e descanso, todas
- que afetam a principal necessidade, a vida. A atualização 1.02 também adicionou uma lógica inversa
- estatísticas para a toxina ou manuseio de radiação. Todos as cinco estatísticas, juntamente com suas
- taxas de atualização, são manipulados por variáveis globais e podem ser alteradas a qualquer
- tempo com uma chamada de script simples.
- ======================================
- Instruçoes:
- Primeiro, você vai configurar como deseja que o script seja executado. todas
- as opções estão no primeiro módulo do script, chamado "Anyx". Eu não
- recomendo mudar nada do módulo se você não saber o que você é que esta
- fazendo.
- Em segundo lugar, depois de ter todas as suas opções de configuração, você pode ir sobre
- as definiçoes dos itens nutritivos. Tudo que você tem a fazer é configurá-lo no banco de dados
- como faz normalmente, e em seguida, anexar um efeito que chama um evento comum.
- Dentro do evento comum, use um dos seguintes scripts chamar para mudar a
- variável apropriada.
- $survival_v[id] op value
- id = O status que você deseja alterar. 1 é para a vida, 2 alimentos, 3 de água, 4 descanço,
- e 5 toxina. Os Ids 6-10 são usados para manter as taxas das estatísticas. 6 é para a vida, 7
- alimentos, 8 de água, 9 de descanso, e 10 toxina (definir qualquer dessas taxas para 0
- se quizer desativar um dos status, sem parar os outros)
- op = O operador utilizado para formular o novo valor. + = É usado para adicionar, - = é
- para subtração, * = é para multiplicação / = é para a divisão, e % = é
- para módulos. Há outros, e todos eles funcionam, mas eu não imagino você
- iria usá-los para este script, por isso não vou explicar aqui.
- value = O valor que você gostaria de alterar a variável. Por exemplo, se
- você está adicionando 10 a uma variável, colocaria o numero 10.
- $survival_s[id] = value
- id = O status que você deseja alterar. 1 é para a vida, 2 alimentos, 3 de água, 4 descanço,
- e 5 toxina. Os Ids 6-10 são usados para manter as taxas das estatísticas.
- value = true/false. Definir o valor como true para ids 1-5 permitirá que o
- status associado apareça. Defini-lo para false irá desativá-lo completamente. Para ids
- 6-10, definindo o valor para true escondera o status no menu, mas ele continuara
- sendo atualizado (este pode ser personalizado usando o LIFEHIDEVAL,
- FOODHIDEVAL, WATERHIDEVAL, RESTHIDEVAL e opções TOXINHIDEVAL na
- Módulo Anyx abaixo. Quando a opção de esconder é verdade, que o número será escondido
- a partir do menu, até a estatística é inferior ao valor (STAT) do HIDEVAL, ou acima
- o valor da TOXINHIDEVAL para o stat toxina). Se false, o status será
- disponíveis no menu em todos os momentos.
- Você não precisa configurar manualmente os valores iniciais de cada variável, pois
- isso pode ser feito no script, mas você precisa ligar o sistema de sobrevivência
- manualmente, ou o script não vai fazer nada.
- ======================================
- =end
- $imported = {} if $imported.nil?
- $imported['Apellonyx-Survival'] = true
- puts "Load: Survival System v1.10 by Apellonyx"
- module Anyx
- WINXPOS = 0 # Posiçao X da janela de sobrevivencia
- WINYPOS = 320 # Posiçao Y da janela de sobrevivencia
- WINWIDTH = 160 # Largura da janela de sobrevivencia
- WINTEXT = 20 # Tamanho do texto usado na janela de sobrevivencia (Recomendavel 20)
- WINOPACITY = 255 # Opacidade da janela de sobrevivencia
- SURVIVALSWITCH = 1 # O ID do Switch que ativara e desativara o jogo.
- ONINBATTLE = true # Se o sistema será atualizado durante as cenas de batalha
- DEATHATZERO = true # Se for true, dara GameOver quando o status de vida
- # chegar a 0
- DEATHFULLTOXIN = true # Se for true, dara GameOver quando o status de Toxina
- # chegar a seu nivel maximo
- LIFEVOCAB = "Life" # Vocabulario usado no status de vida na janela de sobrevivencia
- LIFEINIT = 100 # Valor inicial do status de vida no começo de um jogo
- LIFERATE = 300 # Número de frames entre as atualizações das estatísticas de vida
- LIFEMAX = 100 # Valor maximo da barra de vida.
- LIFEEXC = 100 # Valor maximo do status de vida (pode ultrapassar o LIFEMAX)
- LIFEENABLE = true # Se for true, a barra de vida sera ativado
- LIFEHIDE = false # Se for true, a barra de vida nao aparecera no menu
- LIFEHIDEVAL = 100 # Se LIFEHIDE esta true, a barra de vida vai aparecer quando
- # ele cai abaixo deste valor.
- FOODVOCAB = "Food" # Vocabulario usado no status de alimentos na janela de sobrevivencia
- FOODINIT = 100 # Valor inicial do status de alimentos no começo de um jogo
- FOODRATE = 1200 # Número de frames entre as atualizações das estatísticas de alimentos
- FOODMAX = 100 # Valor maximo da barra de alimentos.
- FOODEXC = 110 # Valor maximo do status de alimentos (pode ultrapassar o FOODMAX)
- FOODMOD = -1.0 # Valor da mudança do status de alimentos cada atualização; se positivo,
- # Os valores iram aumentar a estatística ao longo do tempo, se negativo
- # os valores iram diminuir a estatística ao longo do tempo, e 0 fará
- # com que não atualize ao decorrer do tempo. Aceita valores float.
- FOODENABLE = true # Se for true, a barra de alimentos sera ativado
- FOODHIDE = false # Se for true, a barra de alimentos nao aparecera no menu
- FOODHIDEVAL = 100 # Se FOODHIDE esta true, a barra de alimentos vai aparecer quando
- # ele cai abaixo deste valor.
- WATERVOCAB = "Water" # Vocabulario usado no status de agua na janela de sobrevivencia
- WATERINIT = 100 # Valor inicial do status de agua no começo de um jogo
- WATERRATE = 900 # Número de frames entre as atualizações das estatísticas de agua
- WATERMAX = 100 # Valor maximo da barra de agua.
- WATEREXC = 110 # Valor maximo do status de agua (pode ultrapassar o WATERMAX)
- WATERMOD = -1.0 # Valor da mudança do status de agua cada atualização; se positivo,
- # os valores iram aumentar a estatística ao longo do tempo, se negativo
- # os valores iram diminuir a estatística ao longo do tempo, e 0 fará
- # com que não atualize ao decorrer do tempo. Aceita valores float.
- WATERENABLE = true # Se for true, a barra de agua sera ativado
- WATERHIDE = false # Se for true, a barra de agua nao aparecera no menu
- WATERHIDEVAL = 100 # Se WATERHIDE esta true, a barra de agua vai aparecer quando
- # ele cai abaixo deste valor.
- RESTVOCAB = "Rest" # Vocabulario usado no status de descanço na janela de sobrevivencia
- RESTINIT = 100 # Valor inicial do status de descanço no começo de um jogo
- RESTRATE = 1500 # Número de frames entre as atualizações das estatísticas de descanço
- RESTMAX = 100 # Valor maximo da barra de descanço.
- RESTEXC = 110 # Valor maximo do status de descanço (pode ultrapassar o RESTMAX)
- RESTMOD = -1.0 # Valor da mudança do status de descanço cada atualização; se positivo,
- # os valores iram aumentar a estatística ao longo do tempo, se negativo
- # os valores iram diminuir a estatística ao longo do tempo, e 0 fará
- # com que não atualize ao decorrer do tempo. Aceita valores float.
- RESTENABLE = true # Se for true, a barra de descanço sera ativado
- RESTHIDE = false # Se for true, a barra de descanço nao aparecera no menu
- RESTHIDEVAL = 100 # Se RESTHIDE esta true, a barra de descanço vai aparecer quando
- # ele cai abaixo deste valor.
- TOXINVOCAB = "Toxin" # Vocabulario usado no status de Toxina na janela de sobrevivencia
- TOXININIT = 0 # Valor inicial do status de descanço no começo de um jogo
- TOXINRATE = 100 # Número de frames entre as atualizações das estatísticas de descanço
- TOXINMAX = 1000 # Valor maximo do status de toxina
- TOXINMOD = 0.1 # Valor da mudança do status de toxina cada atualização; se positivo,
- # os valores iram aumentar a estatística ao longo do tempo, se negativo
- # os valores iram diminuir a estatística ao longo do tempo, e 0 fará
- # com que não atualize ao decorrer do tempo. Aceita valores float.
- TOXINENABLE = true # Se for true, a barra de toxina sera ativado
- TOXINHIDE = false # Se for true, a barra de toxina nao aparecera no menu
- TOXINHIDEVAL = 0 # Se TOXINHIDE esta true, a barra de descanço vai aparecer quando
- # ele cai abaixo deste valor.
- LIFECOLORL = 17 # ID Cor do lado esquerdo da barra de vida
- LIFECOLORR = 6 # ID Cor do lado direito da barra de vida
- FOODCOLORL = 3 # Cor identificação do lado esquerdo da barra de alimentos
- FOODCOLORR = 24 # ID Cor do lado direito da barra de comida
- WATERCOLORL = 16 # ID Cor do lado esquerdo da barra de água
- WATERCOLORR = 4 # ID Cor do lado direito da barra de água
- RESTCOLORL = 31 # ID Cor do lado esquerdo da barra de apoio
- RESTCOLORR = 13 # ID Cor do lado direito da barra de apoio
- TOXINCOLORL = 10 # ID Cor do lado esquerdo da barra de toxina
- TOXINCOLORR = 2 # Cor ID do lado direito da barra de toxina
- EXCCOLOR = 11 # Cor ID de texto para valores estatísticos mais de 100%
- SATCOLOR = 24 # Cor ID de texto para valores estatísticos entre 76 e 100%
- AVECOLOR = 17 # Cor ID de texto para valores estatísticos entre 51 e 75%
- LOWCOLOR = 14 # Cor ID de texto para valores estatísticos entre 26 e 50%
- DANCOLOR = 20 # Cor ID de texto para os valores de dados entre 1 e 25%
- DEPCOLOR = 18 # Cor ID de texto para valores estatísticos de 0%
- ################################################################################
- ################################################################################
- ### ###
- ### Eu não recomendo a edição nas proximas linhas se você não sabe o que ###
- ### esta fazendo. Se você souber o que está fazendo pode ir em frente! ###
- ### ###
- ################################################################################
- ################################################################################
- def self.create_survival_commands
- $survival_v = Survival_Variables.new
- $survival_s = Survival_Switches.new
- $survival_v[1] = LIFEINIT
- $survival_v[6] = LIFERATE
- $survival_s[1] = LIFEENABLE
- $survival_s[6] = LIFEHIDE
- $survival_v[2] = FOODINIT
- $survival_v[7] = FOODRATE
- $survival_s[2] = FOODENABLE
- $survival_s[7] = FOODHIDE
- $survival_v[3] = WATERINIT
- $survival_v[8] = WATERRATE
- $survival_s[3] = WATERENABLE
- $survival_s[8] = WATERHIDE
- $survival_v[4] = RESTINIT
- $survival_v[9] = RESTRATE
- $survival_s[4] = RESTENABLE
- $survival_s[9] = RESTHIDE
- $survival_v[5] = TOXININIT
- $survival_v[10] = TOXINRATE
- $survival_s[5] = TOXINENABLE
- $survival_s[10] = TOXINHIDE
- end # def self.create_survival_commands
- class Survival_Variables
- def initialize
- @data = []
- end # def initialize
- def [](variable_id)
- @data[variable_id] || 0
- end # def [](variable_id)
- def []=(variable_id, value)
- @data[variable_id] = value
- on_change
- end # def []=(variable_id, value)
- def on_change
- $game_map.need_refresh = true
- end # def on_change
- end # class Survival_Variables
- class Survival_Switches
- def initialize
- @data = []
- end # def initialize
- def [](switch_id)
- @data[switch_id] || false
- end # def [](switch_id)
- def []=(switch_id, value)
- @data[switch_id] = value
- on_change
- end # def []=(switch_id, value)
- def on_change
- $game_map.need_refresh = true
- end # def on_change
- end # class Survival_Switches
- def self.update
- if $game_switches[SURVIVALSWITCH] == true
- if $survival_s[1] == true
- if $survival_v[6] > 0
- if Graphics.frame_count % $survival_v[6] == 0
- Anyx.life_update
- end # if Graphics.frame_count % $survival_v[6] == 0
- end # if $survival_v[6] > 0
- end # if $survival_s[1] == true
- if $survival_s[2] == true
- if $survival_v[7] > 0
- if Graphics.frame_count % $survival_v[7] == 0
- if $survival_v[2] < FOODEXC
- $survival_v[2] += FOODMOD if $survival_v[2] > 0
- end
- end # if Graphics.frame_count % $survival_v[7] == 0
- end # if $survival_v[7] > 0
- end # if $survival_s[1] == true
- if $survival_s[3] == true
- if $survival_v[8] > 0
- if Graphics.frame_count % $survival_v[8] == 0
- if $survival_v[3] < WATEREXC
- $survival_v[3] += WATERMOD if $survival_v[3] > 0
- end
- end # if Graphics.frame_count % $survival_v[8] == 0
- end # if $survival_v[8] > 0
- end # if $survival_s[3] == true
- if $survival_s[4] == true
- if $survival_v[9] > 0
- if Graphics.frame_count % $survival_v[9] == 0
- if $survival_v[4] < RESTEXC
- $survival_v[4] += RESTMOD if $survival_v[4] > 0
- end
- end # if Graphics.frame_count % $survival_v[9] == 0
- end # if $survival_v[9] > 0
- end # if $survival_s[4] == true
- if $survival_s[5] == true
- if $survival_v[10] > 0
- if Graphics.frame_count % $survival_v[10] == 0
- if $survival_v[5] < TOXINMAX
- $survival_v[5] += TOXINMOD if $survival_v[5] > 0
- end
- end # if Graphics.frame_count % $survival_v[10] == 0
- end # if $survival_v[10] > 0
- end # if $survival_s[5] == true
- $survival_v[1] = 0 if $survival_v[1] < 0
- $survival_v[2] = 0 if $survival_v[2] < 0
- $survival_v[3] = 0 if $survival_v[3] < 0
- $survival_v[4] = 0 if $survival_v[4] < 0
- $survival_v[5] = 0 if $survival_v[5] < 0
- $survival_v[1] = LIFEEXC if $survival_v[1] > LIFEEXC
- $survival_v[2] = FOODEXC if $survival_v[2] > FOODEXC
- $survival_v[3] = WATEREXC if $survival_v[3] > WATEREXC
- $survival_v[4] = RESTEXC if $survival_v[4] > RESTEXC
- $survival_v[5] = TOXINMAX if $survival_v[5] > TOXINMAX
- if $survival_v[1] <= 0
- SceneManager.call(Scene_Gameover) if DEATHATZERO
- end # if $survival_v[1] <= 0
- if $survival_v[5] >= TOXINMAX
- SceneManager.call(Scene_Gameover) if DEATHFULLTOXIN
- end # if $survival_v[5] >= TOXINMAX
- end # if $game_switches[SURVIVALSWITCH] == true
- end # def update
- def self.life_update
- if $survival_s[2] == true
- food_25 = FOODMAX / 4
- food_26 = food_25 + 0.001
- food_50 = food_25 * 2
- food_51 = food_50 + 0.001
- food_75 = food_25 * 3
- food_76 = food_75 + 0.001
- food_mod = -0.3 if 0 >= $survival_v[2]
- food_mod = -0.2 if (1..food_25) === $survival_v[2]
- food_mod = -0.1 if (food_26..food_50) === $survival_v[2]
- food_mod = 0.0 if (food_51..food_75) === $survival_v[2]
- food_mod = 0.1 if (food_76..FOODMAX) === $survival_v[2]
- food_mod = 0.2 if FOODMAX < $survival_v[2]
- else
- food_mod = 0
- end # if $survival_s[2] == true
- if $survival_s[3] == true
- water_25 = WATERMAX / 4
- water_26 = water_25 + 0.001
- water_50 = water_25 * 2
- water_51 = water_50 + 0.001
- water_75 = water_25 * 3
- water_76 = water_75 + 0.001
- water_mod = -0.3 if 0 >= $survival_v[3]
- water_mod = -0.2 if (1..water_25) === $survival_v[3]
- water_mod = -0.1 if (water_26..water_50) === $survival_v[3]
- water_mod = 0.0 if (water_51..water_75) === $survival_v[3]
- water_mod = 0.1 if (water_76..WATERMAX) === $survival_v[3]
- water_mod = 0.2 if WATERMAX < $survival_v[3]
- else
- water_mod = 0
- end # if $survival_s[4] == true
- if $survival_s[4] == true
- rest_25 = RESTMAX / 4
- rest_26 = rest_25 + 0.001
- rest_50 = rest_25 * 2
- rest_51 = rest_50 + 0.001
- rest_75 = rest_25 * 3
- rest_76 = rest_75 + 0.001
- rest_mod = -0.3 if 0 >= $survival_v[4]
- rest_mod = -0.2 if (1..rest_25) === $survival_v[4]
- rest_mod = -0.1 if (rest_26..rest_50) === $survival_v[4]
- rest_mod = 0.0 if (rest_51..rest_75) === $survival_v[4]
- rest_mod = 0.1 if (rest_76..RESTMAX) === $survival_v[4]
- rest_mod = 0.2 if RESTMAX < $survival_v[4]
- else
- rest_mod = 0
- end # if $survival_s[4] == true
- if $survival_s[5] == true
- toxin_25 = TOXINMAX / 4
- toxin_26 = toxin_25 + 0.001
- toxin_50 = toxin_25 * 2
- toxin_51 = toxin_50 + 0.001
- toxin_75 = toxin_25 * 3
- toxin_76 = toxin_75 + 0.001
- toxin_99 = TOXINMAX - 0.001
- toxin_mod = 0.1 if 0 >= $survival_v[5]
- toxin_mod = 0.0 if (1..toxin_25) === $survival_v[5]
- toxin_mod = -0.2 if (toxin_26..toxin_50) === $survival_v[5]
- toxin_mod = -0.4 if (toxin_51..toxin_75) === $survival_v[5]
- toxin_mod = -0.6 if (toxin_76..toxin_99) === $survival_v[5]
- toxin_mod = -0.8 if TOXINMAX <= $survival_v[5]
- else
- toxin_mod = 0.0
- end # if $survival_s[5] == true
- life_mod = food_mod + water_mod + rest_mod + toxin_mod
- $survival_v[1] += life_mod.round.to_i
- end # def life_update()
- end # module Anyx
- class Scene_Title
- alias survival_new_game command_new_game
- def command_new_game
- Anyx.create_survival_commands
- survival_new_game
- end # def command_new_game
- end # class Scene_Title
- class Scene_Map < Scene_Base
- alias survival_map_update update
- def update
- Anyx.update
- survival_map_update
- end # def update
- end # class Scene_Base
- class Scene_Battle < Scene_Base
- alias survival_battle_update update
- def update
- if Anyx::ONINBATTLE == true
- Anyx.update
- survival_battle_update
- end # if Anyx::ONINBATTLE == true
- end # def update
- end # class Scene_Base
- class Scene_Menu < Scene_MenuBase
- alias survival_menu_start start
- def start
- create_survival_window
- survival_menu_start
- end # def start
- def create_survival_window
- barcount = 0
- if $survival_s[1] == true
- barcount += 1 if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
- end # if $survival_s[1] == true
- if $survival_s[2] == true
- barcount += 1 if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
- end # if $survival_s[2] == true
- if $survival_s[3] == true
- barcount += 1 if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
- end # if $survival_s[3] == true
- if $survival_s[4] == true
- barcount += 1 if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
- end # if $survival_s[4] == true
- if $survival_s[5] == true
- barcount += 1 if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
- end # if $survival_s[5] == true
- @survival_window = Window_Survival.new
- @survival_window.contents.draw_text(0, 0, 500, 24, " Survival System") if barcount == 0
- barcount -= 1 if barcount >= 1
- survivalwinypos = Anyx::WINYPOS - (24 * barcount)
- @survival_window.x = Anyx::WINXPOS
- @survival_window.y = survivalwinypos
- @survival_window.opacity = Anyx::WINOPACITY
- end # def create_survival_window
- end # class Scene_Menu < Scene_MenuBase
- class Window_Survival < Window_Base
- def initialize
- winheight = 0
- if $survival_s[1] == true
- winheight += 1 if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
- end # if $survival_s[1] == true
- if $survival_s[2] == true
- winheight += 1 if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
- end # if $survival_s[2] == true
- if $survival_s[3] == true
- winheight += 1 if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
- end # if $survival_s[3] == true
- if $survival_s[4] == true
- winheight += 1 if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
- end # if $survival_s[4] == true
- if $survival_s[5] == true
- winheight += 1 if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
- end # if $survival_s[5] == true
- if winheight == 0
- winheight = 1
- end # if winheight == 0
- super(0, 0, Anyx::WINWIDTH, fitting_height(winheight))
- self.opacity = Anyx::WINOPACITY
- refresh
- end # def initialize
- def exc_color
- text_color(Anyx::EXCCOLOR)
- end # def exc_color
- def sat_color
- text_color(Anyx::SATCOLOR)
- end # def sat_color
- def ave_color
- text_color(Anyx::AVECOLOR)
- end # def ave_color
- def low_color
- text_color(Anyx::LOWCOLOR)
- end # def low_color
- def dan_color
- text_color(Anyx::DANCOLOR)
- end # def dan_color
- def dep_color
- text_color(Anyx::DEPCOLOR)
- end # def dep_color
- def refresh
- contents.clear
- contents.font.size = Anyx::WINTEXT
- lineheight = 0
- if $survival_s[1] == true
- if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
- draw_life(0,0,lineheight)
- lineheight += 24
- end # if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
- end # if $survival_s[1] == true
- if $survival_s[2] == true
- if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
- draw_food(0,0,lineheight)
- lineheight += 24
- end # if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
- end # if $survival_s[2] == true
- if $survival_s[3] == true
- if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
- draw_water(0,0,lineheight)
- lineheight += 24
- end # if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
- end # if $survival_s[3] == true
- if $survival_s[4] == true
- if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
- draw_rest(0,0,lineheight)
- lineheight += 24
- end # if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
- end # if $survival_s[4] == true
- if $survival_s[5] == true
- if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
- draw_toxin(0,0,lineheight)
- lineheight += 24
- end # if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
- end # if $survival_s[5] == true
- end # def refresh
- def draw_life(actor, x, y, width = Anyx::WINWIDTH - 22)
- life_25 = Anyx::LIFEMAX / 4
- life_26 = life_25 + 0.001
- life_50 = life_25 * 2
- life_51 = life_50 + 0.001
- life_75 = life_25 * 3
- life_76 = life_75 + 0.001
- life_99 = Anyx::LIFEMAX - 0.001
- life_color = dep_color if 1 > $survival_v[1]
- life_color = dan_color if (1..life_25) === $survival_v[1]
- life_color = low_color if (life_26..life_50) === $survival_v[1]
- life_color = ave_color if (life_51..life_75) === $survival_v[1]
- life_color = sat_color if (life_76..life_99) === $survival_v[1]
- life_color = exc_color if Anyx::LIFEMAX <= $survival_v[1]
- life_rate = $survival_v[1] / Anyx::LIFEMAX.to_f
- draw_gauge(x, y, width, life_rate, text_color(Anyx::LIFECOLORL), text_color(Anyx::LIFECOLORR))
- change_color(system_color)
- draw_text(x, y, 100, line_height, Anyx::LIFEVOCAB)
- draw_current_and_max_values(x, y, width, $survival_v[1].round.to_i, Anyx::LIFEMAX, life_color, life_color)
- end # def draw_life(actor, x, y, width = Anyx::WINWIDTH - 22)
- def draw_food(actor, x, y, width = Anyx::WINWIDTH - 22)
- food_25 = Anyx::FOODMAX / 4
- food_26 = food_25 + 0.001
- food_50 = food_25 * 2
- food_51 = food_50 + 0.001
- food_75 = food_25 * 3
- food_76 = food_75 + 0.001
- food_99 = Anyx::FOODMAX - 0.001
- food_color = dep_color if 1 > $survival_v[2]
- food_color = dan_color if (1..food_25) === $survival_v[2]
- food_color = low_color if (food_26..food_50) === $survival_v[2]
- food_color = ave_color if (food_51..food_75) === $survival_v[2]
- food_color = sat_color if (food_76..food_99) === $survival_v[2]
- food_color = exc_color if Anyx::FOODMAX <= $survival_v[2]
- food_rate = $survival_v[2] / Anyx::FOODMAX.to_f
- draw_gauge(x, y, width, food_rate, text_color(Anyx::FOODCOLORL), text_color(Anyx::FOODCOLORR))
- change_color(system_color)
- draw_text(x, y, 100, line_height, Anyx::FOODVOCAB)
- draw_current_and_max_values(x, y, width, $survival_v[2].round.to_i, Anyx::FOODMAX, food_color, food_color)
- end # def draw_food(actor, x, y, width = Anyx::WINWIDTH - 22)
- def draw_water(actor, x, y, width = Anyx::WINWIDTH - 22)
- water_25 = Anyx::WATERMAX / 4
- water_26 = water_25 + 0.001
- water_50 = water_25 * 2
- water_51 = water_50 + 0.001
- water_75 = water_25 * 3
- water_76 = water_75 + 0.001
- water_99 = Anyx::WATERMAX - 0.001
- water_color = dep_color if 1 > $survival_v[3]
- water_color = dan_color if (1..water_25) === $survival_v[3]
- water_color = low_color if (water_26..water_50) === $survival_v[3]
- water_color = ave_color if (water_51..water_75) === $survival_v[3]
- water_color = sat_color if (water_76..water_99) === $survival_v[3]
- water_color = exc_color if Anyx::WATERMAX <= $survival_v[3]
- water_rate = $survival_v[3] / Anyx::WATERMAX.to_f
- draw_gauge(x, y, width, water_rate, text_color(Anyx::WATERCOLORL), text_color(Anyx::WATERCOLORR))
- change_color(system_color)
- draw_text(x, y, 100, line_height, Anyx::WATERVOCAB)
- draw_current_and_max_values(x, y, width, $survival_v[3].round.to_i, Anyx::WATERMAX, water_color, water_color)
- end # def draw_water(actor, x, y, width = Anyx::WINWIDTH - 22)
- def draw_rest(actor, x, y, width = Anyx::WINWIDTH - 22)
- rest_25 = Anyx::WATERMAX / 4
- rest_26 = rest_25 + 0.001
- rest_50 = rest_25 * 2
- rest_51 = rest_50 + 0.001
- rest_75 = rest_25 * 3
- rest_76 = rest_75 + 0.001
- rest_99 = Anyx::RESTMAX - 0.001
- rest_color = dep_color if 1 > $survival_v[4]
- rest_color = dan_color if (1..rest_25) === $survival_v[4]
- rest_color = low_color if (rest_26..rest_50) === $survival_v[4]
- rest_color = ave_color if (rest_51..rest_75) === $survival_v[4]
- rest_color = sat_color if (rest_76..rest_99) === $survival_v[4]
- rest_color = exc_color if Anyx::RESTMAX <= $survival_v[4]
- rest_rate = $survival_v[4] / Anyx::RESTMAX.to_f
- draw_gauge(x, y, width, rest_rate, text_color(Anyx::RESTCOLORL), text_color(Anyx::RESTCOLORR))
- change_color(system_color)
- draw_text(x, y, 100, line_height, Anyx::RESTVOCAB)
- draw_current_and_max_values(x, y, width, $survival_v[4].round.to_i, Anyx::RESTMAX, rest_color, rest_color)
- end # def draw_rest(actor, x, y, width = Anyx::WINWIDTH - 22)
- def draw_toxin(actor, x, y, width = Anyx::WINWIDTH - 22)
- toxin_25 = Anyx::TOXINMAX / 4
- toxin_26 = toxin_25 + 0.001
- toxin_50 = toxin_25 * 2
- toxin_51 = toxin_50 + 0.001
- toxin_75 = toxin_25 * 3
- toxin_76 = toxin_75 + 0.001
- toxin_99 = Anyx::TOXINMAX - 0.001
- toxin_color = exc_color if 1 > $survival_v[5]
- toxin_color = sat_color if (1..toxin_25) === $survival_v[5]
- toxin_color = ave_color if (toxin_26..toxin_50) === $survival_v[5]
- toxin_color = low_color if (toxin_51..toxin_75) === $survival_v[5]
- toxin_color = dan_color if (toxin_76..toxin_99) === $survival_v[5]
- toxin_color = dep_color if Anyx::TOXINMAX <= $survival_v[5]
- toxin_rate = $survival_v[5] / Anyx::TOXINMAX.to_f
- draw_gauge(x, y, width, toxin_rate, text_color(Anyx::TOXINCOLORL), text_color(Anyx::TOXINCOLORR))
- change_color(system_color)
- draw_text(x, y, 100, line_height, Anyx::TOXINVOCAB)
- draw_current_and_max_values(x, y, width, $survival_v[5].round.to_i, Anyx::TOXINMAX, toxin_color, toxin_color)
- end # def draw_toxin(actor, x, y, width = Anyx::WINWIDTH - 22)
- end # class
- module DataManager
- def self.make_save_contents
- contents = {}
- contents[:system] = $game_system
- contents[:timer] = $game_timer
- contents[:message] = $game_message
- contents[:switches] = $game_switches
- contents[:variables] = $game_variables
- contents[:self_switches] = $game_self_switches
- contents[:actors] = $game_actors
- contents[:party] = $game_party
- contents[:troop] = $game_troop
- contents[:map] = $game_map
- contents[:player] = $game_player
- contents[:anyx_ss] = $survival_s
- contents[:anyx_sv] = $survival_v
- contents
- end # self.make_save_contents
- def self.extract_save_contents(contents)
- $game_system = contents[:system]
- $game_timer = contents[:timer]
- $game_message = contents[:message]
- $game_switches = contents[:switches]
- $game_variables = contents[:variables]
- $game_self_switches = contents[:self_switches]
- $game_actors = contents[:actors]
- $game_party = contents[:party]
- $game_troop = contents[:troop]
- $game_map = contents[:map]
- $game_player = contents[:player]
- $survival_s = contents[:anyx_ss]
- $survival_v = contents[:anyx_sv]
- end # self.extract_save_contents(contents)
- end # module DataManager
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement