Registrarse

Ayuda en la Habilidad Disfraz de Mimikyu

Estado
Cerrado para nuevas respuestas.
De una página encontré scripts de la habilidad Disfraz de Mimikyu , pero esta noto que sale un error cuando recibes daño , además no cambia de forma pero no recibe daño al primer ataque y eso va si recibe de un ataque de multi golpe (ya sea recurrente , carámbano , osea que recibe todos esos golpes y después se activa la habilidad) Aquí les dejo la habilidad y el autor de esa habilidad es James Davy

En PBEffects creen una línea para disfraz (algo así)

Disguise = 112

Después pones esto en PokeBattle_Battler, def pbInitEffects

@effects[PBEffects::Disguise] = false
# Disguise causes the ability-suppressing effect to fade
# if it was passed on through Baton Pass
if isConst?(self.ability,PBAbilities,:DISGUISE)
@effects[PBEffects::GastroAcid] = false
end

Esto tiene que estar encima de este script

if isConst?(self.ability,PBAbilities,:ILLUSION) #Illusion
party=@battle.pbParty(@index)
party=party.find_all {|item| item && !item.egg? && item.hp>0 }
if party[party.length-1] != @pokemon
@effects[PBEffects::Illusion] = party[party.length-1]
else
@effects[PBEffects::Illusion] = nil
end
else
@effects[PBEffects::Illusion] = nil
end #Illusion

En PokeBattle_Battler, def pbCheckForm pones esto debajo de Zen Mode

#Mimikyu
isConst?(self.species,PBSpecies,:MIMIKYU) && if self.hasWorkingAbility:)DISGUISE) &&
!self.isFainted?
if self.form!=1
self.form=1
self.type1=getID(PBTypes,:GHOST)
self.type2=getID(PBTypes,:FAIRY)
end
end

En PokeBattle_Battler, def pbAbilitiesOnSwitchIn pones esto

if self.hasWorkingAbility:)DISGUISE) && onactive
@effects[PBEffects::Disguise]=true
end

Tiene que estar debajo de

if self.hasWorkingAbility:)AIRLOCK) ||
self.hasWorkingAbility:)CLOUDNINE)
@battle.pbDisplay(_INTL("{1} has {2}!",pbThis,PBAbilities.getName(self.ability)))
@battle.pbDisplay(_INTL("The effects of the weather disappeared."))
end
end

En PokeBattle_Move, def pbReduceHPDamage ingresa este código

if opponent.effects[PBEffects::Disguise] && !attacker.hasBypassingAbility()
@battle.pbDisplayEffect(opponent)
@battle.pbDisplay(_INTL("Its disguise served it as a decoy!"))
opponent.effects[PBEffects::Disguise]=false
opponent.form=1
opponent.pbCheckForm
@battle.pbDisplay(_INTL("{1}'s disguise was busted!"))
damage=0
end

Este último tiene que estar debajo de

if opponent.effects[PBEffects::Substitute]>0 && (!attacker || attacker.index!=opponent.index) &&
!attacker.hasWorkingAbility:)INFILTRATOR) && !isSoundBased?
PBDebug.log("[#{opponent.pbThis}'s substitute took the damage]")
damage=opponent.effects[PBEffects::Substitute] if damage>opponent.effects[PBEffects::Substitute]
opponent.effects[PBEffects::Substitute]-=damage
opponent.damagestate.substitute=true
@battle.scene.pbDamageAnimation(opponent,0)
@battle.pbDisplayPaused(_INTL("The substitute took damage for {1}!",opponent.name))
if opponent.effects[PBEffects::Substitute]<=0
opponent.effects[PBEffects::Substitute]=0
@battle.pbDisplayPaused(_INTL("{1}'s substitute faded!",opponent.name))
PBDebug.log("[#{opponent.pbThis}'s substitute faded]")
end
opponent.damagestate.hplost=damage
damage=0
else
opponent.damagestate.substitute=false

Si quieres buscar fácilmente digamos de donde debes de ponerlo pulsa los botones Ctrl + Shift + F

De todas formas ofrezco para todos esta habilidad , pero si alguien sabe una solución , quiero saberla por favor
 
Estado
Cerrado para nuevas respuestas.
Arriba