I was wondering, if possible, I could make small changes into Blizz's
Regen script from Tons of Add-ons and turn it into
Poison.
I know I sound like a moron wanting to create something that already exists, but for some reason "poison" doesn't work if I use tons of add-ons with the CBS I'm using. I tested the regen and it worked, so I assumed if I made it opposite, it would work and turn into poison.
Help will be greatly appreciated. I pasted the regen part of the script here.
Also, I didn't put this in the scripts' thread because it was already stated that it had problems with exotic CBS.
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Regen Status Effect by Blizzard
# Version: 2.0b
# Type: Game Experience Improvement
# Date: 4.5.2006
# Date v1.1b: 12.1.2007
# Date v2.0: 22.10.2007
# Date v2.0b: 13.11.2007
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#
# new in v1.1b:
# - fixed glitches, improved code and made it possible to have Regen and
# Poison at the same time (they nullificate each other on the map, but not
# in battle)
#
# new in v2.0:
# - overworked system
# - added SP Regen effect
# - added SP Poison effect
#
# new in v2.0b:
# - fixed eventual bugs
# - now possible to have more than one Regen status effect
# - now beta
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
HP_REGEN_IDS = [18] # add any status effect IDs that will be HP Regen
SP_REGEN_IDS = [19] # add any status effect IDs that will be SP Regen
SP_POISON_IDS = [20] # add any status effect IDs that will be SP Poison
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#==============================================================================
# Game_Party
#==============================================================================
class Game_Party
alias check_map_slip_damage_regen_later check_map_slip_damage
def check_map_slip_damage
check_map_slip_damage_regen_later
if $game_system.REGEN_STATUS
@actors.each {|actor|
if actor.hp > 0
if HP_REGEN_IDS.any? {|i| actor.states.include?(i)}
actor.hp += [actor.maxhp / 100, 1].max
end
if SP_REGEN_IDS.any? {|i| actor.states.include?(i)}
actor.sp += [actor.maxsp / 100, 1].max
end
if SP_POISON_IDS.any? {|i| actor.states.include?(i)}
actor.sp -= [actor.maxsp / 100, 0].max
end
end}
end
end
end
#==============================================================================
# Game_Battler
#==============================================================================
class Game_Battler
alias slip_damage_regen_later? slip_damage?
def slip_damage?
if $game_system.REGEN_STATUS && !$scene.is_a?(Scene_Map) &&
(HP_REGEN_IDS + SP_REGEN_IDS + SP_POISON_IDS).any? {|i| @states.include?(i)}
return true
end
return slip_damage_regen_later?
end
alias slip_damage_effect_regen_later slip_damage_effect
def slip_damage_effect
if $game_system.REGEN_STATUS
if !(HP_REGEN_IDS.any? {|i| @states.include?(i)}) &&
slip_damage_regen_later?
slip_damage_effect_regen_later
elsif (HP_REGEN_IDS.any? {|i| @states.include?(i)}) &&
!slip_damage_regen_later?
dam = -self.maxhp / 10
if dam.abs > 0
amp = [dam.abs * 15 / 100, 1].max
dam -= rand(amp+1) + rand(amp+1) - amp
end
self.hp -= dam
self.damage = 0 if self.damage == nil
self.damage += dam
end
if (SP_REGEN_IDS.any? {|i| @states.include?(i)}) !=
(SP_POISON_IDS.any? {|i| @states.include?(i)})
dam = self.maxsp / 10
if dam > 0
amp = [dam * 15 / 100, 1].max
dam += rand(amp+1) + rand(amp+1) + amp
end
dam = -dam if SP_REGEN_IDS.any? {|i| @states.include?(i)}
self.sp -= dam
self.damage = 0 if self.damage == nil
self.damage += dam
end
else
slip_damage_effect_regen_later
end
end
end