研究了很久没研究出来这个特性怎么写

春潮生1

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

butane

宝可梦训练家
成员
2023-10-30
13
2
195
74
以我多年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 } )
 

stop呜呜大王

精英训练家
成员
2024-01-16
44
1
2
451
24
以我多年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试试把节省的概率改满
 
  • 支持
反馈: 春潮生1

stop呜呜大王

精英训练家
成员
2024-01-16
44
1
2
451
24
以我多年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
13
2
195
74
以我多年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一下,修改成你的特性,应该就行了
 
  • 支持
反馈: 春潮生1

春潮生1

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

在线成员

现在没有会员在线。

论坛统计

主题
340
消息
1,560
会员
2,325
最新会员
风见幽香

关于我们

  • 宝可梦以及其他相关名称是任天堂的商标,版权归宝可梦公司所有。宝可饭堂是一个同人游戏中文社区,不隶属于宝可梦公司。在宝可饭堂上的粉丝游戏亦未获得其授权,请支持正版游戏。
© 2022- pokefans.cn
点此延长宝可饭堂生命