02-10-2014, 04:55 AM
Odd... unless you are also using HP absorption. If this is the case, you would need to change the aliases like so:
This would be shown in your editor as:
> SP DAMAGE SCRIPT
> SP ABSORBTION SCRIPT
> SP DAMAGE POP SCRIPT
Oh, I removed the ,dilute=1 as I think it was a leftover piece. It's not referenced anywhere in any other part of the HP absorption system.
Code:
# SP Absorbption Skills
# by RPG Advocate
# Sample code used for an 'absorb' common event:
#
# absorb = $game_temp.sp_damage_hook * -1
# $scene.active_battler.dvv_sp_damage_pop = absorb
# $scene.active_battler.dvv_sp_damage_pop=true
# $scene.active_battler.sp -= absorb
#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
# This class handles temporary data that is not included with save data.
# Refer to "$game_temp" for the instance of this class.
#==============================================================================
class Game_Temp
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :sp_damage_hook # damage hook
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias has_sp_initialize initialize
def initialize
# Original call
has_sp_initialize
# Initialize damage hook
@sp_damage_hook = 0
end
end
#==============================================================================
# ** Game_Battler
#------------------------------------------------------------------------------
# This class deals with battlers. It's used as a superclass for the Game_Actor
# and Game_Enemy classes.
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# * Apply Skill Effects
# user : the one using skills (battler)
# skill : skill
#--------------------------------------------------------------------------
alias has_sp_skill_effect skill_effect
def skill_effect(user, skill)
# Original call
effective = has_sp_skill_effect(user, skill)
# Set hook to damage
if self.dvv_sp_damage.is_a?(Numeric)
$game_temp.sp_damage_hook += self.dvv_sp_damage
end
# End Method
return effective
end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :active_battler
#--------------------------------------------------------------------------
# * Frame Update (main phase step 1 : action preparation)
#--------------------------------------------------------------------------
alias has_sp_up4s1 update_phase4_step1
def update_phase4_step1
# Reset damage hook
$game_temp.sp_damage_hook = 0
# Original call
has_sp_up4s1
end
end
This would be shown in your editor as:
> SP DAMAGE SCRIPT
> SP ABSORBTION SCRIPT
> SP DAMAGE POP SCRIPT
Oh, I removed the ,dilute=1 as I think it was a leftover piece. It's not referenced anywhere in any other part of the HP absorption system.