Registrarse
  • ¡Comienzan las votaciones del MPA o Mejor Proyecto del Año 2025!
    ¡Vota por tu proyecto favorito y recompensa el trabajo duro de los participantes!

    El plazo concluye el 13 de marzo

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
[email protected](@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