#============================================================================# [VXAce] Dragon Quest Tile DMG and State DMG Flash V1.00#----------------------------------------------------------------------------# By Jamiras843## Features: # V1.00# * Allows you to have 5 HP and 1 MP damage type floors based on switches# * Plays SE with damage# * Damage floors fully custom with damage and screen flashes# * Damage floors can add states# * A switch to negate floor damage and effects# * Ability to change flash color for slip states for 3 different states# #============================================================================$imported = {} if $imported.nil?$imported["Dragon Quest Tile DMG and State DMG Flash"] = true module Jami_DQ_Tile_DMG #======================================================================== # Script options #------------------------------------------------------------------------ # Here you can edit the switches and damage amounts for each floor type # Make all simple edits here! They are easy to understand and labled! #=========================================================================beginEXPLANATION F1_DAMAGE = 1 amount of HP or MP taken F1_SFX_ON = true when on plays SE on step F1_SFX = "" SE file to play (leave "") F1_ADD_STATE = false when true adds a state F1_STATE = 0 the state to be added F1_RED =255 flash hue red 0-255 F1_GREEN = 0 flash hue grn 0-255 F1_BLUE = 255 flash hue blu 0-255=end STEPGUARD_SWITCH = 1 FLOOR_VARIABLE = 1 #Set variable number to match #floor type. MP damage is 6. #FLOOR 1 Edits F1_DAMAGE = 1 F1_SFX_ON = true F1_SFX = "Poison" F1_ADD_STATE = false F1_STATE = 0 F1_RED =255 F1_GREEN = 0 F1_BLUE = 255 #FLOOR2 Edits F2_DAMAGE = 4 F2_SFX_ON = true F2_SFX = "Fire1" F2_ADD_STATE = false F2_STATE = 0 F2_RED = 255 F2_GREEN = 0 F2_BLUE = 0 #FLOOR3 Edits F3_DAMAGE = 5 F3_SFX_ON = true F3_SFX = "Ice4" F3_ADD_STATE = false F3_STATE = 0 F3_RED = 0 F3_GREEN = 255 F3_BLUE = 255 #FLOOR4 Edits F4_DAMAGE = 6 F4_SFX_ON = true F4_SFX = "Thunder2" F4_ADD_STATE = false F4_STATE = 0 F4_RED = 255 F4_GREEN = 255 F4_BLUE = 0 #FLOOR5 Edits F5_DAMAGE = 7 F5_SFX_ON = true F5_SFX = "Water2" F5_ADD_STATE = false F5_STATE = 0 F5_RED = 0 F5_GREEN = 110 F5_BLUE = 255 #FLOOR6 (MP DAMAGE) Edits MP_DAMAGE = 2 MP_SFX_ON = true MP_SFX = "Down1" MP_ADD_STATE = false MP_STATE = 0 MP_RED = 0 MP_GREEN = 0 MP_BLUE = 0 #======================================================================== # Script options (MORE!?) #------------------------------------------------------------------------ # Here you can edit the states slip damage screen effects # NOTE: All damage is still done through the database under the "STATES" # tab, this is only for editing the eyecandy. # # Make all simple edits here! They are easy to understand and labled! #======================================================================== #State 1 Screen effects STATE1 = 2 STATE1_SFX_ON = true STATE1_SFX = "Bell1" STATE1_RED = 255 STATE1_GREEN = 255 STATE1_BLUE = 255 #State 2 Screen effects STATE2 = 0 STATE2_SFX_ON = false STATE2_SFX = "" STATE2_RED = 0 STATE2_GREEN = 0 STATE2_BLUE = 0 #State 3 Screen effects STATE3 = 0 STATE3_SFX_ON = false STATE3_SFX = "" STATE3_RED = 0 STATE3_GREEN = 0 STATE3_BLUE = 0end #module class Game_Party < Game_Unit #-------------------------------------------------------------------------- # * Term #-------------------------------------------------------------------------- def s_any?(state_id) members.any? {|actor| actor.state?(state_id)} end end class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # * Floor Damage Processing #-------------------------------------------------------------------------- def execute_floor_damage return if $game_switches[Jami_DQ_Tile_DMG::STEPGUARD_SWITCH] damage = (basic_floor_damage * fdr).to_i if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 6 self.mp -= [damage, max_floor_damage].min else self.hp -= [damage, max_floor_damage].min end perform_map_damage if damage > 0 end #-------------------------------------------------------------------------- # * State Damage Processing #-------------------------------------------------------------------------- def turn_end_on_map if $game_party.steps % steps_for_turn == 0 on_turn_end perform_state1_effect if $game_party.s_any?(Jami_DQ_Tile_DMG::STATE1) perform_state2_effect if $game_party.s_any?(Jami_DQ_Tile_DMG::STATE2) perform_state3_effect if $game_party.s_any?(Jami_DQ_Tile_DMG::STATE3) end end #-------------------------------------------------------------------------- # * Get Base Value for Floor Damage #-------------------------------------------------------------------------- def basic_floor_damage if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 1 return Jami_DQ_Tile_DMG::F1_DAMAGE end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 2 return Jami_DQ_Tile_DMG::F2_DAMAGE end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 3 return Jami_DQ_Tile_DMG::F3_DAMAGE end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 4 return Jami_DQ_Tile_DMG::F4_DAMAGE end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 5 return Jami_DQ_Tile_DMG::F5_DAMAGE end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 6 return Jami_DQ_Tile_DMG::MP_DAMAGE end end #basic_floor_damage #-------------------------------------------------------------------------- # * Execute Damage Effect on Map #-------------------------------------------------------------------------- def perform_map_damage if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 1 $game_map.screen.start_flash_F1 if Jami_DQ_Tile_DMG::F1_ADD_STATE == true $game_party.members.each { |actor| already_dead = actor.dead? actor.add_state(Jami_DQ_Tile_DMG::F1_STATE) actor.perform_collapse_effect if actor.dead? and !already_dead } $game_party.clear_results end #state if end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 2 $game_map.screen.start_flash_F2 if Jami_DQ_Tile_DMG::F2_ADD_STATE == true $game_party.members.each { |actor| already_dead = actor.dead? actor.add_state(Jami_DQ_Tile_DMG::F2_STATE) actor.perform_collapse_effect if actor.dead? and !already_dead } $game_party.clear_results end #state if end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 3 $game_map.screen.start_flash_F3 if Jami_DQ_Tile_DMG::F3_ADD_STATE == true $game_party.members.each { |actor| already_dead = actor.dead? actor.add_state(Jami_DQ_Tile_DMG::F3_STATE) actor.perform_collapse_effect if actor.dead? and !already_dead } $game_party.clear_results end #state if end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 4 $game_map.screen.start_flash_F4 if Jami_DQ_Tile_DMG::F4_ADD_STATE == true $game_party.members.each { |actor| already_dead = actor.dead? actor.add_state(Jami_DQ_Tile_DMG::F4_STATE) actor.perform_collapse_effect if actor.dead? and !already_dead } $game_party.clear_results end #state if end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 5 $game_map.screen.start_flash_F5 if Jami_DQ_Tile_DMG::F5_ADD_STATE == true $game_party.members.each { |actor| already_dead = actor.dead? actor.add_state(Jami_DQ_Tile_DMG::F5_STATE) actor.perform_collapse_effect if actor.dead? and !already_dead } $game_party.clear_results end #state if end if $game_variables[Jami_DQ_Tile_DMG::FLOOR_VARIABLE] == 6 $game_map.screen.start_flash_MP if Jami_DQ_Tile_DMG::MP_ADD_STATE == true $game_party.members.each { |actor| already_dead = actor.dead? actor.add_state(Jami_DQ_Tile_DMG::MP_STATE) actor.perform_collapse_effect if actor.dead? and !already_dead } $game_party.clear_results end #state if end end #perform-map_damage_effect def perform_state1_effect $game_map.screen.start_flash_state1 end def perform_state2_effect $game_map.screen.start_flash_state2 end def perform_state3_effect $game_map.screen.start_flash_state3 endend #Game_Actor`` class Game_Screen #-------------------------------------------------------------------------- # * Start Flash (Damage Floor) #-------------------------------------------------------------------------- def start_flash_F1 start_flash(Color.new(Jami_DQ_Tile_DMG::F1_RED,Jami_DQ_Tile_DMG::F1_GREEN,Jami_DQ_Tile_DMG::F1_BLUE,128), 8) if Jami_DQ_Tile_DMG::F1_SFX_ON == true Audio.se_play("Audio/SE/" + Jami_DQ_Tile_DMG::F1_SFX) end end def start_flash_F2 start_flash(Color.new(Jami_DQ_Tile_DMG::F2_RED,Jami_DQ_Tile_DMG::F2_GREEN,Jami_DQ_Tile_DMG::F2_BLUE,128), 8) if Jami_DQ_Tile_DMG::F2_SFX_ON == true Audio.se_play("Audio/SE/" + Jami_DQ_Tile_DMG::F2_SFX) end end def start_flash_F3 start_flash(Color.new(Jami_DQ_Tile_DMG::F3_RED,Jami_DQ_Tile_DMG::F3_GREEN,Jami_DQ_Tile_DMG::F3_BLUE,128), 8) if Jami_DQ_Tile_DMG::F3_SFX_ON == true Audio.se_play("Audio/SE/" + Jami_DQ_Tile_DMG::F3_SFX) end end def start_flash_F4 start_flash(Color.new(Jami_DQ_Tile_DMG::F4_RED,Jami_DQ_Tile_DMG::F4_GREEN,Jami_DQ_Tile_DMG::F4_BLUE,128), 8) if Jami_DQ_Tile_DMG::F4_SFX_ON == true Audio.se_play("Audio/SE/" + Jami_DQ_Tile_DMG::F4_SFX) end end def start_flash_F5 start_flash(Color.new(Jami_DQ_Tile_DMG::F5_RED,Jami_DQ_Tile_DMG::F5_GREEN,Jami_DQ_Tile_DMG::F5_BLUE,128), 8) if Jami_DQ_Tile_DMG::F5_SFX_ON == true Audio.se_play("Audio/SE/" + Jami_DQ_Tile_DMG::F5_SFX) end end def start_flash_MP start_flash(Color.new(Jami_DQ_Tile_DMG::MP_RED,Jami_DQ_Tile_DMG::MP_GREEN,Jami_DQ_Tile_DMG::MP_BLUE,128), 8) if Jami_DQ_Tile_DMG::MP_SFX_ON == true Audio.se_play("Audio/SE/" + Jami_DQ_Tile_DMG::MP_SFX) end end def start_flash_state1 start_flash(Color.new(Jami_DQ_Tile_DMG::STATE1_RED,Jami_DQ_Tile_DMG::STATE1_GREEN,Jami_DQ_Tile_DMG::STATE1_BLUE,128), 8) if Jami_DQ_Tile_DMG::STATE1_SFX_ON == true Audio.se_play("Audio/SE/" + Jami_DQ_Tile_DMG::STATE1_SFX) end end def start_flash_state2 start_flash(Color.new(Jami_DQ_Tile_DMG::STATE2_RED,Jami_DQ_Tile_DMG::STATE2_GREEN,Jami_DQ_Tile_DMG::STATE2_BLUE,128), 8) if Jami_DQ_Tile_DMG::STATE2_SFX_ON == true Audio.se_play("Audio/SE/" + Jami_DQ_Tile_DMG::STATE2_SFX) end end def start_flash_state3 start_flash(Color.new(Jami_DQ_Tile_DMG::STATE3_RED,Jami_DQ_Tile_DMG::STATE3_GREEN,Jami_DQ_Tile_DMG::STATE3_BLUE,128), 8) if Jami_DQ_Tile_DMG::STATE3_SFX_ON == true Audio.se_play("Audio/SE/" + Jami_DQ_Tile_DMG::STATE3_SFX) end endend #Game_Picture