XEricSin 发表于 2016-1-21 23:07:38

【ERM】施法前,追加伤害致死怪物,会有崩溃风险

本帖最后由 XEricSin 于 2016-1-22 15:25 编辑

经测试这个问题不属于封神独有,而是所有的用erm追加伤害都会有。
(待版主转一下版)
本帖讨论英雄施法时用BG0触发,然后追加伤害致死怪物的情况。以用BH:C追加施法为例。


这里首先有个顺序问题:BG0触发时,BH:C会先于真正的英雄施法。如果用BG1,会有其他参数混乱问题,不建议用。


如果BH:C打死了怪物,那么真正施法时:
   a。如果是单体目标魔法,那么如果目标无效,则崩溃。比如你放闪电,结果目标是个尸体格子,则崩溃。如果是聚灵奇术,请举一反三。
   b。如果是群体魔法,那没问题,因为群魔不需要有效目标存在。
这时候你需要检查,之前的追加是否把怪物弄死了。如果弄死了,你就必须停止真正施法,或者改成无效魔法(如招船)或群魔(这个还没试)。
ERM貌似没有直接停止施法的,但是可以用BG:S把即将释放的魔法改招船。招船是要耗魔的,你或许想要返还招船的蓝?

再如果你有多次追加,那么你需要类似的,每次追加前检查目标有效不。

这施法前目标已死的问题基本这么就可以解决了。

然而新问题又来了。
如果这个敌方怪物身上有魔法神镜呢?(本方怪未测试,猜测没问题)。
还是看你发的是单魔还是群魔。如果时群魔,没问题。
如果是单魔,而且施法前对方已经嗝屁了,那么即使你用上述的BG:S把即将释放的魔法变成招船等无效魔法,也是会崩溃的。变成陷阱之类的也不行。变成群魔呢?没试,即使这样可以,那也是很奇怪的,我放个闪电,最后变成火球?
这里有几种解决方案:
a。施单体魔法时检测目标有没有神镜,有神镜则不要追加任何会弄死怪物伤害。(我比较倾向,神镜始终是种威慑)
b。施放单魔时,先驱散目标的神镜。(那神镜就这样成白纸了?)
c。保证真正施法时,目标一定是活的。这个要算伤害和生命。(太麻烦了)

以下是个例子。用的是封神版的神祗山洞。


我的脚本为施法前增加施法。比如放连锁闪电时,前面追加一个连锁闪电。

打神祗山洞时,我往灰狼身上放连锁闪电,提前追加的闪电把灰狼电死了,正式闪电被替换为招船,然后招船。
正在施法动画时,崩溃。

我试了试,同样的方式搞梦魇,完全没有问题。

我怀疑跟灰狼身上的魔镜有关。


我又试了试用龙蝇驱散掉魔镜,再闪电,没问题。

我想问,这个魔镜到底是怎么工作的?

我的脚本节选如下,测试了很多次,应该没有bug:

!?FU29999&599;x1=y4 side, x2=y2 sp num, x3=y3 target grid, x4=y24 magic level
......
!!BHx1:Cx2/x3/x4/0; //casting spell here


!?BG0&599;//before spell casting trigger
......
!!DO29999/1/y22/1:Py4/y2/y3/y24; //这里是施法前追加施法

**check is target dead after additional casts.
!!if&y2>=15/y2<=19:;//single target damage spell
    !!BU:Ey3/?y30; //y30=live monster stack num
!!en:;

**check mana left after additional casts.
!!SSy2:Cy24/?y31; //mana cost
!!HEy5:I?y32;//mana

**replace spell to boat
!!if|y30=-1/y32<y31:; //if no target or no mana
    !!BG:S0;
    !!SS0:Cy16/?v2; //amt of mana to refund
    !!HEy5:Idv2; //refund mana in advance
!!en:;



XEricSin 发表于 2016-1-22 04:06:34

试了半天,除了真正施法前驱散魔镜,真还没什么好办法。
话说用BH释放的单体魔法会无视魔镜反弹。
只好妥协在有魔镜的情况下不追加单体施法了。

sandrop 发表于 2016-1-22 09:18:42

这个生物画面是怎么打开的?

XEricSin 发表于 2016-1-22 14:18:52

sandrop 发表于 2016-1-22 09:18
这个生物画面是怎么打开的?

加载了界面增强,然后战场shift+鼠标左键点生物
页: [1]
查看完整版本: 【ERM】施法前,追加伤害致死怪物,会有崩溃风险

捐赠