02-09-2014, 11:56 PM
Alright, I edited the HP absorption script to a SP absorption script:
And ran into a "stack level too deep" error at line 84:
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.damage = absorb
# $scene.active_battler.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 # sp 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_skill_effect skill_effect
def skill_effect(user, skill, dilute = 1)
# Original call
effective = has_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_up4s1 update_phase4_step1
def update_phase4_step1
# Reset damage hook
$game_temp.sp_damage_hook = 0
# Original call
has_up4s1
end
end
And ran into a "stack level too deep" error at line 84:
Code:
$game_temp.sp_damage_hook = 0