这个帖子我们来看一下这个技能该如何实现。
招式:冰钩 属性:冰 物理
威力:90 pp:10 命中:100
被命中的宝可梦进行替换时会再受到一次此招式的伤害
参考:https://bbs.pokefans.xyz/threads/230/
关于这个技能,总得来说的话,难点就在于技能的效果,而不在于技能本身,所以我们也就不新创建技能了。
我们只需要把这个效果做出来,接着给需要这个效果的技能分配这个效果就好了。
这个效果是——被该技能命中的精灵替换时,会再受到一次这个技能的伤害。
我们从描述入手,大概可以预见,我们需要新增加两个基于battler的变量。
一个用于记录被这个技能命中的精灵,另一个用于记录这个技能造成的伤害。
所以,新增加变量——

初始化——

接着,搜索pbEffectsAfterMove,并修改代码如下——

这里是在技能成功造成伤害之后,记录精灵被这个技能造成了伤害。
也就是说,具有这个“标记”的精灵,才会在替换时再次受到伤害。
这里用了一个新方法switchSoftLockMove?,我们需要给它定义一下,搜索pbInflictHPDamage,在上方增加如下代码——

接着,搜索pbReduceDamage——

找到这个方法的最后面,加上一行——

这里记录下这个技能造成的实际伤害。
到目前为止,我们达成了——
1.哪些技能具有这个效果
2.哪些精灵会受到这个效果
3.这个效果生效时会造成的伤害
也就是说,我们还需要最后一步,那就是,在受到这个效果的精灵替换时,应用伤害。
搜索pbAttackPhaseSwitch,并增加一行代码——

在上方新增加一个pbSwitchLockedCost方法——

这里是应用伤害。
这样就好了。
视频预览——
浏览附件2024-07-20 22-30-04.mp4
感谢阅读。
招式:冰钩 属性:冰 物理
威力:90 pp:10 命中:100
被命中的宝可梦进行替换时会再受到一次此招式的伤害
参考:https://bbs.pokefans.xyz/threads/230/
关于这个技能,总得来说的话,难点就在于技能的效果,而不在于技能本身,所以我们也就不新创建技能了。
我们只需要把这个效果做出来,接着给需要这个效果的技能分配这个效果就好了。
这个效果是——被该技能命中的精灵替换时,会再受到一次这个技能的伤害。
我们从描述入手,大概可以预见,我们需要新增加两个基于battler的变量。
一个用于记录被这个技能命中的精灵,另一个用于记录这个技能造成的伤害。
所以,新增加变量——

初始化——

接着,搜索pbEffectsAfterMove,并修改代码如下——

这里是在技能成功造成伤害之后,记录精灵被这个技能造成了伤害。
也就是说,具有这个“标记”的精灵,才会在替换时再次受到伤害。
这里用了一个新方法switchSoftLockMove?,我们需要给它定义一下,搜索pbInflictHPDamage,在上方增加如下代码——

接着,搜索pbReduceDamage——

找到这个方法的最后面,加上一行——

这里记录下这个技能造成的实际伤害。
到目前为止,我们达成了——
1.哪些技能具有这个效果
2.哪些精灵会受到这个效果
3.这个效果生效时会造成的伤害
也就是说,我们还需要最后一步,那就是,在受到这个效果的精灵替换时,应用伤害。
搜索pbAttackPhaseSwitch,并增加一行代码——

在上方新增加一个pbSwitchLockedCost方法——

这里是应用伤害。
这样就好了。
视频预览——
浏览附件2024-07-20 22-30-04.mp4
感谢阅读。