I need help with one of modern algebras scripts: Skills that cost HP
#======================================================================
# Skills with HP Cost
# Author: modern algebra (rmrk.net)
# Version: 1.2
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Instructions:
# Set up the database below according to instructions
#======================================================================
# ** RPG::Skill
#======================================================================
class RPG::Skill
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * HP Cost
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def hp_cost
# Default value for skills with undefined HP cost
cost, percent = 0, 0
case @id
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Editable Region
#-----------------------------------------------------------------------------------------------------------------------
# For each skill to which you want to assign an hp_cost, set it up like so:
# when skill ID
# cost = <the amount of HP that you want to subtract from the user. If the number is
# negative, then the user of the skill will be healed by that amount>
# percent = <the percentage of max HP you wish to subtract from the user. If negative,
# then the user of the skill will be healed by that percentage>
#
# There are a couple of examples below. Feel free to delete them once you understand
# what is required of you
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# when % % = Skill ID in database
# cost = 10 # The amount of HP to subtract from user is 10.
# percent = 20 # The % of maxhp to subtract from user is 20%.
when 1
cost = 10
percent = 0
percent = percent.to_f / 100
return cost, percent
end
end
#=====================================================================
# ** Game_Battler
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# aliased methods - skill_can_use?, skill_effect
#=====================================================================
class Game_Battler
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Skill Can Use?
#-----------------------------------------------------------------------------------------------------------------------
# Added a requirement that a skill cannot be used if the user's HP is less than the HP Cost
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modalg_hp_cost_skills_can_use? skill_can_use?
def skill_can_use? (skill)
if !skill.nil?
basic, percent = skill.hp_cost
return false if (basic + (percent*maxhp).to_i) > hp
end
return modalg_hp_cost_skills_can_use? (skill)
end
end
class Scene_Skill
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Skill Effect
#-----------------------------------------------------------------------------------------------------------------------
# Subtract the HP Cost from the user
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modalg_hp_cost_useskill_7uj3 use_skill_nontarget
def use_skill_nontarget (*args)
if !@skill.nil?
basic, percent = @skill.hp_cost
@actor.hp -= ((percent*@actor.maxhp).to_i + basic)
end
modalg_hp_cost_useskill_7uj3 (*args)
end
end
class Scene_Battle
#--------------------------------------------------------------------------
# * Execute Battle Action: Skill
#--------------------------------------------------------------------------
alias mala_hpcost_excut_skill_6yh1 execute_action_skill
def execute_action_skill (*args)
mala_hpcost_excut_skill_6yh1 (*args)
if @active_battler && @active_battler.action && @active_battler.action.skill
basic, percent = @active_battler.action.skill.hp_cost
@active_battler.hp -= ((percent*@active_battler.maxhp).to_i + basic)
end
end
end
Line 95(The last line) is glitched, and the only part I edited was where modern algebra said people could remove (The set up)