def takesIndirectDamage?(showMsg = false)
# 如果宝可梦已经倒下,那么就返回 false
return false if fainted?
# 如果宝可梦具有魔法防守能力
if hasActiveAbility?(:MAGICGUARD)
# 如果需要显示消息
if showMsg
# 显示能力动画
@battle.pbShowAbilitySplash(self)
# 如果使用能力动画
if Battle::Scene::USE_ABILITY_SPLASH
# 显示消息,对于宝可梦,完全没有效果
@battle.pbDisplay(_INTL("对于{1},完全没有效果!", pbThis))
else
# 显示消息,因为宝可梦的能力,完全没有效果
@battle.pbDisplay(_INTL("因为{1}的{2},完全没有效果!", pbThis, abilityName))
end
# 隐藏能力动画
@battle.pbHideAbilitySplash(self)
end
# 返回 false
return false
end
# 返回 true
return true
end
Battle::AbilityEffects::StatLossImmunity.add(:CLEARBODY,
proc { |ability, battler, stat, battle, showMessages|
if showMessages
battle.pbShowAbilitySplash(battler)
if Battle::Scene::USE_ABILITY_SPLASH
battle.pbDisplay(_INTL("{1}的能力不能进一步降低了!", battler.pbThis))
else
battle.pbDisplay(_INTL("{1}的{2}防止了能力降低!", battler.pbThis, battler.abilityName))
end
battle.pbHideAbilitySplash(battler)
end
next true
}
)
Battle::AbilityEffects::PriorityChange.add(:GALEWINGS,
proc { |ability, battler, move, pri|
next pri + 1 if (Settings::MECHANICS_GENERATION <= 6 || battler.hp == battler.totalhp) &&
move.type == :FLYING
}
)
Battle::AbilityEffects::PriorityChange.add(:你的特性,
proc { |ability, battler, move, pri|
next pri + 2
}
)
无限pp试试把节省的概率改满以我多年crud工程师的经验,你特性的效果应该魔法防守+恒净之躯+魔改版疾风之翼+无限pp,无限pp,修改pp机制,没试过,其他的应该时如下,不一定有效,仅供参考
魔法防守效果
在takesIndirectDamage方法里面有个判断
def takesIndirectDamage?(showMsg = false) # 如果宝可梦已经倒下,那么就返回 false return false if fainted? # 如果宝可梦具有魔法防守能力 if hasActiveAbility?(:MAGICGUARD) # 如果需要显示消息 if showMsg # 显示能力动画 @battle.pbShowAbilitySplash(self) # 如果使用能力动画 if Battle::Scene::USE_ABILITY_SPLASH # 显示消息,对于宝可梦,完全没有效果 @battle.pbDisplay(_INTL("对于{1},完全没有效果!", pbThis)) else # 显示消息,因为宝可梦的能力,完全没有效果 @battle.pbDisplay(_INTL("因为{1}的{2},完全没有效果!", pbThis, abilityName)) end # 隐藏能力动画 @battle.pbHideAbilitySplash(self) end # 返回 false return false end # 返回 true return true end
if hasActiveAbility?MAGICGUARD) 这句添上你的特性试试。
恒净之躯效果
Battle::AbilityEffects::StatLossImmunity.add(:CLEARBODY, proc { |ability, battler, stat, battle, showMessages| if showMessages battle.pbShowAbilitySplash(battler) if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}的能力不能进一步降低了!", battler.pbThis)) else battle.pbDisplay(_INTL("{1}的{2}防止了能力降低!", battler.pbThis, battler.abilityName)) end battle.pbHideAbilitySplash(battler) end next true } )
CV一份在下面,再把 :CLEARBODY 改成你特性的id
疾风之翼效果
Battle::AbilityEffects::PriorityChange.add(:GALEWINGS, proc { |ability, battler, move, pri| next pri + 1 if (Settings::MECHANICS_GENERATION <= 6 || battler.hp == battler.totalhp) && move.type == :FLYING } )
修改为:
Battle::AbilityEffects::PriorityChange.add(:你的特性, proc { |ability, battler, move, pri| next pri + 2 } )
话说特性可以直接.copy吗以我多年crud工程师的经验,你特性的效果应该魔法防守+恒净之躯+魔改版疾风之翼+无限pp,无限pp,修改pp机制,没试过,其他的应该时如下,不一定有效,仅供参考
魔法防守效果
在takesIndirectDamage方法里面有个判断
def takesIndirectDamage?(showMsg = false) # 如果宝可梦已经倒下,那么就返回 false return false if fainted? # 如果宝可梦具有魔法防守能力 if hasActiveAbility?(:MAGICGUARD) # 如果需要显示消息 if showMsg # 显示能力动画 @battle.pbShowAbilitySplash(self) # 如果使用能力动画 if Battle::Scene::USE_ABILITY_SPLASH # 显示消息,对于宝可梦,完全没有效果 @battle.pbDisplay(_INTL("对于{1},完全没有效果!", pbThis)) else # 显示消息,因为宝可梦的能力,完全没有效果 @battle.pbDisplay(_INTL("因为{1}的{2},完全没有效果!", pbThis, abilityName)) end # 隐藏能力动画 @battle.pbHideAbilitySplash(self) end # 返回 false return false end # 返回 true return true end
if hasActiveAbility?MAGICGUARD) 这句添上你的特性试试。
恒净之躯效果
Battle::AbilityEffects::StatLossImmunity.add(:CLEARBODY, proc { |ability, battler, stat, battle, showMessages| if showMessages battle.pbShowAbilitySplash(battler) if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}的能力不能进一步降低了!", battler.pbThis)) else battle.pbDisplay(_INTL("{1}的{2}防止了能力降低!", battler.pbThis, battler.abilityName)) end battle.pbHideAbilitySplash(battler) end next true } )
CV一份在下面,再把 :CLEARBODY 改成你特性的id
疾风之翼效果
Battle::AbilityEffects::PriorityChange.add(:GALEWINGS, proc { |ability, battler, move, pri| next pri + 1 if (Settings::MECHANICS_GENERATION <= 6 || battler.hp == battler.totalhp) && move.type == :FLYING } )
修改为:
Battle::AbilityEffects::PriorityChange.add(:你的特性, proc { |ability, battler, move, pri| next pri + 2 } )
魔法守护效果,添加了消息,效果好像没改,全局搜索一下clearbody,找到battle::abilityeffects:啥啥啥的,像恒净之躯一样cv一下,修改成你的特性,应该就行了以我多年crud工程师的经验,你特性的效果应该魔法防守+恒净之躯+魔改版疾风之翼+无限pp,无限pp,修改pp机制,没试过,其他的应该时如下,不一定有效,仅供参考
魔法防守效果
在takesIndirectDamage方法里面有个判断
def takesIndirectDamage?(showMsg = false) # 如果宝可梦已经倒下,那么就返回 false return false if fainted? # 如果宝可梦具有魔法防守能力 if hasActiveAbility?(:MAGICGUARD) # 如果需要显示消息 if showMsg # 显示能力动画 @battle.pbShowAbilitySplash(self) # 如果使用能力动画 if Battle::Scene::USE_ABILITY_SPLASH # 显示消息,对于宝可梦,完全没有效果 @battle.pbDisplay(_INTL("对于{1},完全没有效果!", pbThis)) else # 显示消息,因为宝可梦的能力,完全没有效果 @battle.pbDisplay(_INTL("因为{1}的{2},完全没有效果!", pbThis, abilityName)) end # 隐藏能力动画 @battle.pbHideAbilitySplash(self) end # 返回 false return false end # 返回 true return true end
if hasActiveAbility?MAGICGUARD) 这句添上你的特性试试。
恒净之躯效果
Battle::AbilityEffects::StatLossImmunity.add(:CLEARBODY, proc { |ability, battler, stat, battle, showMessages| if showMessages battle.pbShowAbilitySplash(battler) if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}的能力不能进一步降低了!", battler.pbThis)) else battle.pbDisplay(_INTL("{1}的{2}防止了能力降低!", battler.pbThis, battler.abilityName)) end battle.pbHideAbilitySplash(battler) end next true } )
CV一份在下面,再把 :CLEARBODY 改成你特性的id
疾风之翼效果
Battle::AbilityEffects::PriorityChange.add(:GALEWINGS, proc { |ability, battler, move, pri| next pri + 1 if (Settings::MECHANICS_GENERATION <= 6 || battler.hp == battler.totalhp) && move.type == :FLYING } )
修改为:
Battle::AbilityEffects::PriorityChange.add(:你的特性, proc { |ability, battler, move, pri| next pri + 2 } )