06-22-2007, 01:00 PM
Damaging and Healing Floors
by Leon Westbrooke
v 1.0
Jun 22 2007
Introduction
It sets certain tiles to damage/heal the players upon contact. It does so through terrain tags, and check if the player has moved.
Features
Screenshots
None can really be made, because the screen flashes. Timing would be a hard thing to do with it.
Script
Instructions
Place the script above Main, but below all other default scripts.
Compatibility
No known issues.
Terms and Conditions
Please don't distribute this script on any other site without my permission. If you use this script, please give credit where due, that is all I ask, which isn't much.
by Leon Westbrooke
v 1.0
Jun 22 2007
This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.
No support is given. If you are the owner of the thread, please contact administration.
Introduction
It sets certain tiles to damage/heal the players upon contact. It does so through terrain tags, and check if the player has moved.
Features
- Damages/Heals player when touching certain tiles.
- Uses easy to edit constant variables.
- You can choose if damage/heal floors will kill the actors or not.
Screenshots
None can really be made, because the screen flashes. Timing would be a hard thing to do with it.
Script
Code:
#===================================
# Damaging and Healing Floors
#----------------------------------------------------------------------
#
# Features:
# -Heals/Damages the actors if they step on certain tiles.
# -Customizable amount of heal/damage.
# -Can be based on either percentage or a fixed rate.
#
# Instructions:
# -Place this script above Main, but below all other default scripts.
# -Change the damage and heal tags to different numbers. By default
# the are 1 for damage, 2 for heal.
# -On your tilesets, go into the 'terrain' tag, and set all damage floor's
# terrain number equal to the one set in the script for damage, and
# do the same for any healing floors.
#
#===================================
#===================================
# Module
#===================================
module Terrain_Tag_Setup
#--------------------------------------------------------------------
# Percentage =
# When true, takes away a percentage rather than a fixed amount.
#--------------------------------------------------------------------
Percentage = true
#--------------------------------------------------------------------
# Damage_Amount =
# How much is taken away from each step. If Percentange = true
# It will remove that percent.
#--------------------------------------------------------------------
Damage_Amount = 10
#--------------------------------------------------------------------
# Heal_Amount =
# How much is taken away from each step. If Percentange = true
# It will remove that percent.
#--------------------------------------------------------------------
Heal_Amount = 10
#--------------------------------------------------------------------
# Kill =
# if true, damage floors can kill players.
#--------------------------------------------------------------------
Kill = false
#--------------------------------------------------------------------
# Damage_Tag =
# The tag number that damages the player.
#--------------------------------------------------------------------
Damage_Tag = 1
#--------------------------------------------------------------------
# Heal_Tag =
# The tag number that heals the player.
#--------------------------------------------------------------------
Heal_Tag = 2
end
#===================================
# Game_Temp
#===================================
class Game_Temp
attr_accessor :move_confirm
alias leon_flooreffect_gametemp_initialize initialize
def initialize
@move_confirm = false
leon_flooreffect_gametemp_initialize
end
end
#===================================
# * Scene_Map
#===================================
class Scene_Map
alias leon_gamecharacter_moving_tt update
def update
leon_gamecharacter_moving_tt
tts = Terrain_Tag_Setup
if $game_map.terrain_tag($game_player.x, $game_player.y) == tts::Damage_Tag
if $game_temp.move_confirm == true
@counter = 0
$game_screen.start_flash(Color.new(200, 0, 0, 190), 15)
Audio.se_play("Audio/SE/117-Fire01", 80, 130)
for actor in $game_party.actors
if (actor.hp - tts::Damage_Amount) < 1
actor.hp = 1
$game_temp.move_confirm = false
else
amt = tts::Damage_Amount
if tts::Percentage == true
amt = amt * 0.01 * actor.maxhp
amt = amt.round
end
actor.hp -= amt
if tts::Kill == false and actor.hp == 0
actor.hp = 1
else
if actor.hp == 0
@counter += 1
end
end
if @counter == $game_party.actors.size
$scene = Scene_Gameover.new
end
end
end
$game_temp.move_confirm = false
end
end
if $game_map.terrain_tag($game_player.x, $game_player.y) == tts::Heal_Tag
if $game_temp.move_confirm == true
$game_screen.start_flash(Color.new(0, 200, 200, 190), 15)
Audio.se_play("Audio/SE/105-Heal01", 80, 130)
for actor in $game_party.actors
amt = tts::Heal_Amount
if tts::Percentage == true
amt = amt * 0.01 * actor.maxhp
amt = amt.round
end
actor.hp += amt
end
$game_temp.move_confirm = false
end
end
end
end
#===================================
# * Game_Player
#===================================
class Game_Player < Game_Character
alias leon_gameactor_update_tt update
def update
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing
case Input.dir4
when 2
$game_temp.move_confirm = true
when 4
$game_temp.move_confirm = true
when 6
$game_temp.move_confirm = true
when 8
$game_temp.move_confirm = true
end
end
leon_gameactor_update_tt
end
end
Instructions
Place the script above Main, but below all other default scripts.
Compatibility
No known issues.
Terms and Conditions
Please don't distribute this script on any other site without my permission. If you use this script, please give credit where due, that is all I ask, which isn't much.