太阳神三国杀吧 关注:38,725贴子:471,723
  • 4回复贴,共1
求助

寻求帮助,关于辰龙版中刺杀和贯石斧同时生效造成两点伤害的问题

只看楼主收藏回复

【刺杀】是被杀的时候出了闪还要丢一牌,否则依旧造成伤害。【贯石斧】是杀被闪了可以丢两张牌依旧造成伤害。这两时机在辰龙版及之前都是SlashMissed。
两个加起来就会变成打两点血,但是这个结算是有错的。
在辰龙版的神杀中,不管是江山如故部分的刺杀,还是我借@专业学生 大佬的老代码刻出来的用间篇的实体刺杀,都有这个问题。(区别是用间的刺杀代码有高优先级,会先于贯石斧发动)。
看了看芒种版已经没有这个bug了,不管用间还是江山如故,不管先后顺序,都只会询问1次了。芒种版的时机有很多变化比如SlashMissed被并入Cardoffset,不过不是大问题,看了看源码的贯石斧也都改了,变成了return true。然后我在辰龙版lua里尝试直接return true,直接没伤害了,想必slashResult被拆到其他地方去了。
于是我自己尝试按江山如故的代码变成这样(优先级设了999,一定在贯石斧前面):
if (effect.to:getState() ~= "online") and (effect.to:getHandcardNum()>1) then
if room:askForDiscard(effect.to,"ketx_stabs_slash",1,1,false,false,"ketx_stabs_slash0:")
then else room:slashResult(effect,nil)
return true
end
else
if room:askForDiscard(effect.to,"ketx_stabs_slash",1,1,true,false,"ketx_stabs_slash0:")
then else room:slashResult(effect,nil)
return true
end
end
在room:slashResult之后再return true,这样的话,如果是被刺杀了,打出了闪,之后不丢牌,吃一点伤害之后,贯石斧就不会再询问;丢了牌则再询问贯石斧。
但是我不知道在辰龙版的这个地方return true之后,会不会影响相关时机的其他技能无法发动——在room:slashResult之后会有什么,我并不清楚。
所以想问问目前这种尝试修复bug的方法对吗?如果不对有隐患的话,这里又应该怎么做呢?比如直接在
room:slashResult之后暂时禁用一下贯石斧的axe技能?自己实在是水平低下,还请各位指点迷津。


IP属地:江西来自Android客户端1楼2025-07-24 16:18回复

    看起来感觉没有用


    IP属地:中国香港3楼2025-07-24 18:57
    收起回复