wyghthy 发表于 2025-8-16 17:29 简单看了下,绿宝石写在战斗专用的脚本文件里(下面的英文都是封装好的东西) https://github.com/pret/pokeemer ... le_scripts_1.s#L686 BattleScript_EffectToxic:: attackcanceler attackstring ppreduce jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_AlreadyPoisoned jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_AlreadyPoisoned jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed jumpiftype BS_TARGET, TYPE_POISON, BattleScript_NotAffected jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_NotAffected accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_TOXIC seteffectprimary resultmessage waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd |
wyghthy 发表于 2025-8-16 14:37 为什么要写表? 触发中毒时判断一下属性不就好了,一条if的事情。(你要知道gf就喜欢各种条件) 电属性不会被麻痹也是一个道理。 |
本帖最后由 wyghthy 于 2025-8-16 15:21 编辑 海のLUGIA 发表于 2025-8-16 13:18 第二代的思路应该是类似电磁波,神奇宝贝百科有写 大部分的变化招式不受属性相性中的没有效果影响,例如终焉之歌作为一般属性的变化招式,却对幽灵属性口袋怪兽有效。 我猜想第二代钢系本身不免毒,所以才会被虫招式搞中毒,第三代应该加了类似属性相克表的异常状态表,可惜不知道在哪里。 话说有没有哪个第三代改版同步第六代的“电属性不会麻痹”效果?若有这种改版说不定可以找到代码所在位置。另外大佬有没有第二代水晶的存档?我想修改测试一下钢系是否像我猜想的那样。 |
wyghthy 发表于 2025-8-15 22:38 应该是对造成中毒状态有专门判断的代码,虽然没挖过具体在哪个函数… 我跟你说的例子就是这个问题,二代的逻辑是“钢属性宝可梦不会因毒属性招式而陷入中毒状态”,只去判断属性相克,结果呢?漏掉了虫系技能双针的附加效果也是中毒。三代就修过了,那你说是不是只看属性相克表呢? |
海のLUGIA 发表于 2025-8-15 22:03 看不懂……也就是说必须得针对特定招式、特性等进行修改,没有像属性相克表那样的集中代码? |
具体问题具体分析,经典例子就是二代的双针可以使得钢系中毒,说明每个版本写法上可能略有区别。 可以多看看反编译工程:https://github.com/pret |
Powered by Discuz! X3.4
© 2001-2023 Discuz! Team.