✓ ESS21仅限 【TA】【技能】冰钩(0720)

TAAAAAAA

天王
管理成员
2024/06/16
279
4
39
1,270
这个帖子我们来看一下这个技能该如何实现。

招式:冰钩 属性:冰 物理
威力:90 pp:10 命中:100
被命中的宝可梦进行替换时会再受到一次此招式的伤害

参考:https://bbs.pokefans.xyz/threads/230/

关于这个技能,总得来说的话,难点就在于技能的效果,而不在于技能本身,所以我们也就不新创建技能了。
我们只需要把这个效果做出来,接着给需要这个效果的技能分配这个效果就好了。

这个效果是——被该技能命中的精灵替换时,会再受到一次这个技能的伤害。

我们从描述入手,大概可以预见,我们需要新增加两个基于battler的变量。
一个用于记录被这个技能命中的精灵,另一个用于记录这个技能造成的伤害。

所以,新增加变量——
1721484059543.png
初始化——
1721484118380.png

接着,搜索pbEffectsAfterMove,并修改代码如下——
1721484239032.png
这里是在技能成功造成伤害之后,记录精灵被这个技能造成了伤害。
也就是说,具有这个“标记”的精灵,才会在替换时再次受到伤害。

这里用了一个新方法switchSoftLockMove?,我们需要给它定义一下,搜索pbInflictHPDamage,在上方增加如下代码——
1721484508129.png

接着,搜索pbReduceDamage——
1721484756195.png
找到这个方法的最后面,加上一行——
1721484789826.png
这里记录下这个技能造成的实际伤害。

到目前为止,我们达成了——
1.哪些技能具有这个效果
2.哪些精灵会受到这个效果
3.这个效果生效时会造成的伤害

也就是说,我们还需要最后一步,那就是,在受到这个效果的精灵替换时,应用伤害。

搜索pbAttackPhaseSwitch,并增加一行代码——
1721485176625.png
在上方新增加一个pbSwitchLockedCost方法——
1721485599305.png
这里是应用伤害。

这样就好了。

视频预览——

浏览附件2024-07-20 22-30-04.mp4

感谢阅读。
 
  • Like
反馈: 帆高mo

在线成员

现在没有成员在线。

论坛统计

主题
543
消息
2,484
成员
3,165
最新成员
暗鹰ex