Stat Zombie
Auteur : sandgolem
Explications : Dans l'entéte du script, je l'ai faite moi méme. Alors si vous avez des questions...
Auteur : sandgolem
Explications : Dans l'entéte du script, je l'ai faite moi méme. Alors si vous avez des questions...
- Code:
#==========================================================================
# ** SG Zombie Stat
#==========================================================================
# Auteur : sandgolem
# Version 1
# 11.10.06
# Traduction et explications par : Yagami
#==========================================================================
# Créez votre stat comme d'habitude, puis notez son id.
# Dans ce code en bas, mettez a la place de 37, l'id de votre stat.
# Ne pas toucher au 5.
#==========================================================================
# Zombie Stat, est comme dans la plupart des Final Fantasy, rend le perso
# affecté sensible aux effets de soins (Objets et Magies).
# Le stat reversera l'effet des soins en dégats.
# Exemple : Si vous étes affécté par le stat Zombie, et vous utilisez une
# potion, vous recevez des dégats a la place des soins
#==========================================================================
# Pour plus d'explications, contactez moi sur ce forum :
# make-and-graph.superforum.fr
#==========================================================================
SG_PrevHealStates = {
37 => 5,
}
# Mettez l'id de votre stat a la place du 37.
# Compatibilité avec le SDK (Si vous l'utilisez)
begin
SDK.log('SG Prevent Healing States', 'sandgolem', 1, '11.10.06')
if SDK.state('SG Prevent Healing States') != true
@sg_prevheal_disabled = true
end
rescue
end
if !@sg_prevheal_disabled
#==========================================================================
# Le script commence ici
#==========================================================================
#==========================================================================
# Game_Battler
# def sg_resetheal
#==========================================================================
class Game_Battler
def sg_resetheal
self.hp = @sg_preventheal
if self.damage.is_a?(Integer)
self.damage = 0
end
end
def sg_preventheal(sg = false)
if self.hp > @sg_preventheal or self.damage.to_i < 0
for i in @states
if SG_PrevHealStates.key?(i)
temp = self.hp
case SG_PrevHealStates[i]
when 1
sg_resetheal
when 2
if sg == false
sg_resetheal
end
when 3
if sg.is_a?(RPG::Skill)
sg_resetheal
end
when 4
if sg.is_a?(RPG::Skill) && sg.atk_f == 0
sg_resetheal
end
when 5
if self.damage.is_a?(Integer) && self.damage.to_i < 0
self.hp += self.damage
self.damage = -self.damage
else
sgtemp = @sg_preventheal - self.hp
self.hp += sgtemp * 2
end
when 6
if self.damage.is_a?(Integer)
sgtemp = -(self.damage / 2)
else
sgtemp = (self.hp - @sg_preventheal) / 2
end
self.hp = @sg_preventheal + sgtemp
if self.damage.is_a?(Integer)
self.damage = -sgtemp
end
end
if temp != self.hp
return
end
end
end
end
end
alias sandgolem_prevheal_battler_iteff item_effect
def item_effect(item)
@sg_preventheal = self.hp
effective = sandgolem_prevheal_battler_iteff(item)
sg_preventheal
return effective
end
alias sandgolem_prevheal_battler_skeff skill_effect
def skill_effect(user,skill)
@sg_preventheal = self.hp
effective = sandgolem_prevheal_battler_skeff(user,skill)
sg_preventheal(skill)
return effective
end
end
#===========================================================================
# Fin du script ici
#===========================================================================
end # Pour le SDK