✓ ESS20-21 研究了很久没研究出来这个特性怎么写

春潮生1

宝可梦训练家
2023/12/25
29
0
240
24
如题,想写一个免疫异常状态,免疫能力下降,无限pp,技能优先级➕2的特性,尝试了一天把这些特性复制粘贴起来,但是一直报错,有个节省pp的代码看泽神的,其余的都是游戏内原有的特性代码,但是加在一起就是报错,求助,为什么?,这个代码理论上能实现吗?
 

butane

宝可梦训练家
2023/10/30
14
3
195
75
以我多年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 } )
 
2024/01/16
30
3
953
25
以我多年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 } )
无限pp试试把节省的概率改满
 
  • Like
反馈: 春潮生1
2024/01/16
30
3
953
25
以我多年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吗
 

butane

宝可梦训练家
2023/10/30
14
3
195
75
以我多年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一下,修改成你的特性,应该就行了
 
  • Like
反馈: 春潮生1

春潮生1

宝可梦训练家
2023/12/25
29
0
240
24
魔法守护效果,添加了消息,效果好像没改,全局搜索一下clearbody,找到battle::abilityeffects:啥啥啥的,像恒净之躯一样cv一下,修改成你的特性,应该就行了
谢谢!虽然魔法守护没弄好,但是后两个实在帮了大忙!感谢!
 

在线成员

现在没有成员在线。

最新帖子

论坛统计

主题
517
消息
2,352
成员
3,007
最新成员
ZQLdw