【暗黑3导航插件】TurboHUD中文交流社区

标题: [探讨]“骷髅法师”雷电宏的思路探讨 [打印本页]

作者: michael_han1986    时间: 2019-5-22 10:39
标题: [探讨]“骷髅法师”雷电宏的思路探讨
本帖最后由 michael_han1986 于 2019-5-23 10:09 编辑

“骷髅法师”技能的适用性:



骷髅法师-精魂灌注——拉斯玛魂法、散件魂法等围绕惊魂灌注符文为主要输出手段的魂法BD

骷髅法师-骷髅弓手——S17散件冰枪、散件冰枪响骨等以骷髅弓手提供攻速BUFF


雷电宏思路构建:
当60码内存在敌人(因为是BUFF,所以无需鼠标指向敌人)
当符文“骷髅弓手”时;
当“骷髅弓手”BUFF不存在时;
当精魂≥40时,施放“骷髅法师-骷髅弓手”;
否则,当“骷髅弓手”BUFF存在且小于1秒时,施放“骷髅法师-骷髅弓手”;

当符文“精魂灌注”时;
当鼠标指向为敌人时;
当“骷髅法师”不存在时;
当精魂≥40时,施放“骷髅法师-精魂灌注”;
否则,当“骷髅法师”存在且小于1秒时,施放“骷髅法师-精魂灌注”;

否则,当精魂值=MAX时,施放“骷髅法师-精魂灌注”;

注释:
“骷髅弓手”符文属于BUFF类,尽可能保持BUFF即可,所以不必无脑释放

“精魂灌注”符文整体思路有点像蛮子5+3雷电宏(满怒施放技能,而此处最后一条则是满精魂施放技能)
不过由于不同BD不同配装,导致“骷髅法师”的存在时间有浮动(如装备“奈鲁维的轮回”,被动“求死不能”等等),精魂上限有浮动(如“血魂双分”等)所以才用
当“骷髅法师”存在且小于1秒时,施放“骷髅法师-精魂灌注”
当精魂值=MAX时,施放“骷髅法师-精魂灌注”

这样的判断做法。

请其他玩家提供更完善的思路,若无,请管理大大有空时,可否帮忙构建一下此雷电宏,不胜感谢

附:一些可能用到骷髅法师的BD
拉斯玛魂法https://www.d3planner.com/415610153
散件魂法https://www.d3planner.com/939632684
散件魂法2https://www.d3planner.com/404959758
散件魂法-小米https://www.d3planner.com/304475591
散件魂法-悬赏https://www.d3planner.com/528547322
S17散冰https://www.d3planner.com/783710359
散冰响骨https://www.d3planner.com/914090282
散冰荆棘响骨https://www.d3planner.com/294880374
作者: TurboHUD    时间: 2019-5-22 18:20
为什么一定要指向敌人时?这有什么特别讲究?
另外,是不是应该优先保持拉斯玛4件特效?带血魂双分的话是只在血魂双分期间才招骷髅?其他时候不招?

作者: TurboHUD    时间: 2019-5-22 18:23
我大概写了个试了下,怎么感觉能量很不够呢,当然我装备词条是极烂的,我也不知道怎么输出手法,会的可以自己试试 NecSkeletalMagePlugin.cs (3.19 KB, 下载次数: 3911)

作者: michael_han1986    时间: 2019-5-23 10:02
本帖最后由 michael_han1986 于 2019-5-23 10:11 编辑

更新:楼主层

附:一些可能用到骷髅法师的BD
拉斯玛魂法https://www.d3planner.com/415610153
散件魂法https://www.d3planner.com/939632684
散件魂法2https://www.d3planner.com/404959758
散件魂法-小米https://www.d3planner.com/304475591
散件魂法-悬赏https://www.d3planner.com/528547322
S17散冰https://www.d3planner.com/783710359
散冰响骨https://www.d3planner.com/914090282
散冰荆棘响骨https://www.d3planner.com/294880374

为什么一定要指向敌人时?这有什么特别讲究?
另外,是不是应该优先保持拉斯玛4件特效?带血魂双分的话是只在血魂双分期间才招骷髅?其他时候不招?




当然,能做到鼠标存在目标才施放最好,因为这样集火输出更高
若不然,直接写成判断周围有怪就施放,也是可行的

不考虑拉斯玛特效,毕竟考虑到魂法除了拉斯玛魂法还有散件魂法,如果把套装定死,那会导致散件魂法无法使用该雷电宏
关于血魂双分,我个人认为是增伤手段,应由人为控制,例如卡元素,等精英,等BOSS才施放,骷髅法师的施放判断(精魂)读取当前精魂MAX或最小值即可
接上句,平推小怪的时候(单人为例)那就不必非要开血魂双分,甚至,拉斯玛魂法的有些速刷BD内,都不带血魂双分,所以只根据精魂值来判断,我认为是这样的

我大概写了个试了下,怎么感觉能量很不够呢,当然我装备词条是极烂的,我也不知道怎么输出手法,会的可以自己试试

谢谢,昨晚都没来得及上来看,现在赛季初,我也只是构建了思路,我自己装备也还没齐,可能周末有空能测试一下,这两天玩游戏时间不够
再次感谢,百忙之中还如此效率的写出了雷电宏,我原计划下周再“出货”的,没想到变成了“当日件”,当天就到货了,再次感谢
作者: TurboHUD    时间: 2019-5-23 15:12
michael_han1986 发表于 2019-5-23 10:02
更新:楼主层

因为正好有个比较紧急的BUG要修复就一起更了,也方便更多的人测试一下,回头可以再慢慢改
作者: TurboHUD    时间: 2019-5-23 15:16
那我看来看去好像只需要判断周围有怪并满能量自动放就完事了啊?我试了下,指向敌人也不是把骷髅放在敌人身上啊,还是放在自己面前左右。而且也不一定就会打那个指向的敌人啊

作者: michael_han1986    时间: 2019-5-23 17:51
TurboHUD 发表于 2019-5-23 15:16
那我看来看去好像只需要判断周围有怪并满能量自动放就完事了啊?我试了下,指向敌人也不是把骷髅放在敌人身 ...

有目标时,召唤出的骷髅法师直接攻击目标
没有目标时,召唤出的骷髅法师随机攻击周围的目标,一般是最近的或者是半径X码内血量最少的,这个我不确定
召唤出的骷髅法师总是在身边的,如果它的目标过远,会自动移动一些距离去攻击目标,但是当骷髅法师离开死灵X码之后,可能是50码,可能是60码,它就会回到死灵身边

作者: 53523333    时间: 2019-5-23 18:07
这个骷髅法师不要锁定拉斯吗套装套装啊,毕竟感觉这赛季散件魂法才是主流,刚才试了一下,拉斯吗魂法真的不如散件好用。。
作者: michael_han1986    时间: 2019-5-23 19:12
本帖最后由 michael_han1986 于 2019-5-23 19:15 编辑
不考虑拉斯玛特效,毕竟考虑到魂法除了拉斯玛魂法还有散件魂法,如果把套装定死,那会导致散件魂法无法使用该雷电宏

8#说的没错,我之前已经提到过了,而且涉及的相关BD我也已经贴出来了,请管理大大下次更新的时候删除该条件,谢谢了
当符文“精魂灌注”时;
当鼠标指向为敌人时;
当“骷髅法师”不存在时;
当精魂≥40时,施放“骷髅法师-精魂灌注”;
否则,当“骷髅法师”存在且小于1秒时,施放“骷髅法师-精魂灌注”;
否则,当精魂值=MAX时,施放“骷髅法师-精魂灌注”;


反而,我觉得标红的这条,我当初是不是考虑的有点多余了,毕竟再过1秒,就符合第二行当“骷髅法师”不存在时;这句条件了,或许这句可以删除,不知其他玩家如何看待?
作者: TurboHUD    时间: 2019-5-23 21:53
michael_han1986 发表于 2019-5-23 19:12
8#说的没错,我之前已经提到过了,而且涉及的相关BD我也已经贴出来了,请管理大大下次更新的时候删除该条 ...

一个是保持10个骷髅,1个是保持8个骷髅,最后两个会在消失后再召唤,这个区别吧
攻击目标这个我感觉不出有什么区别,而且你实战的时候你也不一定在满能量的时候正好就指着你要打的怪
作者: TurboHUD    时间: 2019-5-23 21:59
用到的条件我都备注在已经更新的插件里,你可以看一下适当修改,给我一个合适的方案我更新上去。那么多build我也没办法一个个测试,我死灵装备几乎都是现成做的,都没打过也不知道怎么打
作者: michael_han1986    时间: 2019-5-23 23:31
TurboHUD 发表于 2019-5-23 21:59
用到的条件我都备注在已经更新的插件里,你可以看一下适当修改,给我一个合适的方案我更新上去。那么多buil ...

谢谢管理大大的及时处理,不过十分抱歉的是,我要是还没凑齐散件魂法的装备,无法进行完美测试。待我装备提升后,再来测试,在此期间,也请其他玩家建言献策,谢谢了。
作者: TurboHUD    时间: 2019-5-24 01:27
michael_han1986 发表于 2019-5-23 23:31
谢谢管理大大的及时处理,不过十分抱歉的是,我要是还没凑齐散件魂法的装备,无法进行完美测试。待我装备 ...

暂时先更新删除了骷髅法师拉斯玛套条件
作者: michael_han1986    时间: 2019-5-30 10:51
过了那么多天,终于把散件魂法凑出来了,因为节奏太快,经常来不及观察魂法释放的情况,毕竟魂法也是魂斗罗职业
暂时发现了一个疑问,就是如果当前并未召唤过任何骷髅法师,则不会主动召唤,所有后续的召唤都是以进门后首次手动召唤之后,才继续下去的,这个跟雷电宏的脚本有关吗?

精魂灌注符文部分
想法,
1,当“骷髅法师”不存在时,施放“骷髅法师-精魂灌注”;
2,当骷髅法师数量小于10,且精魂≥40时,施放“骷髅法师-精魂灌注”;(目的:尽快堆积起数量,尽早滚起雪球,初期由于骷髅法师少,档子弹、吸引仇恨的太少,导致本体猝死率太高,一般出现在清场、进门、换层等情况)
否则,当“骷髅法师”存在且小于1秒时,施放“骷髅法师-精魂灌注”;(由于“2”保证了骷髅法师始终在8个以上,所以此条用不上了)
3,否则,当精魂值=MAX时,施放“骷髅法师-精魂灌注”;(无视当前骷髅法师数量,用满精魂召唤的高伤害骷髅法师顶掉先前不满精魂所召唤的骷髅法师,此时雪球已经滚起来了,有尸体,回精魂)


关于上述2,还请各位玩家建言献策,是否有必要先凑10个帮忙阻挡伤害,滚起雪球,防止大概率猝死?(我是在做悬赏的是否发现这个问题的,当时频繁换图,然后带着2个法师躲啊躲啊,伤害起不来,精魂跟不上,只能手动先召唤了)




欢迎探讨,谢谢

作者: TurboHUD    时间: 2019-5-30 16:20
michael_han1986 发表于 2019-5-30 10:51
过了那么多天,终于把散件魂法凑出来了,因为节奏太快,经常来不及观察魂法释放的情况,毕竟魂法也是魂斗罗 ...

要改成你这样都只需要改慢能量条件后执行ThenCastElseContinue()即可,表示满能量就放,否则往下判断是否满10个骷髅,不满则继续放,最后一条可留可不留,留的话继续往下判断,即使满10个,但有一个快消失了,也放。
另外,整个代码里没有“当前没有骷髅法师,则召唤骷髅法师”的代码,这个可以直接用不满10个代替,因为没有骷髅法师也算低于10个(0个)
作者: TurboHUD    时间: 2019-5-30 16:24
但我认为可能会出现恶性循环,一有能量就招了骷髅,然后骷髅太弱打不死怪,导致接下来不断的消耗能量召唤垃圾骷髅难以积攒能量
我没有测试过
作者: michael_han1986    时间: 2019-5-30 16:39
本帖最后由 michael_han1986 于 2019-5-30 16:42 编辑
TurboHUD 发表于 2019-5-30 16:20
要改成你这样都只需要改慢能量条件后执行ThenCastElseContinue()即可,表示满能量就放,否则往下判断是否 ...

好的,这周末我先测试一下,如果会造成滚雪球或者恶性循环,我晚些时候再来汇报
反正两种思路都有了,现在只是打三五分钟的速刷层,节奏非常快,两种都需要多次测试,对比。
不过幸运的是,伤害暂时没有遇到瓶颈,所以即使40能量的魂法也能弄死T16和90大米的小怪。后期再做更细化的测试了

作者: TurboHUD    时间: 2019-5-30 16:48
michael_han1986 发表于 2019-5-30 16:39
好的,这周末我先测试一下,如果会造成滚雪球或者恶性循环,我晚些时候再来汇报
反正两种思路都有了,现 ...

好的。我没装备,并没测试过实战
作者: michael_han1986    时间: 2019-6-1 07:22
part.1
1,因为考虑天鹰的保持需要90%的能量,所以提高了骷髅弓手的施放条件,有精英和BOSS才自动施放,也避免在过图时,满足了怪物数量条件就施放,降低了天鹰的覆盖率
2,为了提高单位精魂量内骷髅弓手的覆盖率,将消失前1.5秒改为了0.5秒
3,我还没转散件尸矛,所以这个思路仍然仅供参考

                .IfTrue(ctx => ctx.Skill.Rune == 4).ThenContinueElseNoCast()//弓箭手符文
                .IfCanCastSkill(100, 150, 1000).ThenContinueElseNoCast()
                .IfInTown().ThenNoCastElseContinue()
                .IfCastingIdentify().ThenNoCastElseContinue()
                .IfCastingPortal().ThenNoCastElseContinue()
                .IfOnCooldown().ThenNoCastElseContinue()
                .IfPrimaryResourceAmountIsAbove(ctx => (int)(40 - 40 * Hud.Game.Me.Stats.ResourceCostReduction) + 1).ThenContinueElseNoCast()//确保有保底能量
                .IfEliteOrBossIsNearby(ctx => 60).ThenContinueElseNoCast()//附近60码内有精英和BOSS
                .IfSpecificBuffIsActive(Hud.Sno.SnoPowers.AquilaCuirass, 1).ThenContinueElseNoCast()//天鹰激活
                .IfSpecificBuffIsActive(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 6).ThenNoCastElseContinue()//骷髅法师激活
                .IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 3, 1000, 500).ThenCastElseContinue()//弓箭手BUFF即将过期(0.5秒以内)
                ;

part.2
注:确实在实战中碰到了“为了保持10个骷髅法师”而能量跟不上,又或者即使召唤出了10个骷髅法师,始终在能量低位召唤导致伤害不足的问题,因此做出了如下调整及想法,至于把侦测范围从60码调低至55码也是为了提高骷髅法师在生存时间内产生更多一点的输出,毕竟一次召唤,满打满算也只有10秒,戒指特效低的话,只有8~9秒。

1,夺魂者裹腕特效一个生命球提供30%的能量,外加吞噬存储的能量,那么只要吃上3个生命球就能立刻在能量高位释放出骷髅法师了,也不必刻意等到99%或者100%了
2,分三种情况,第一种,有精英,保持最少2个骷髅,精魂可以在较高位释放骷髅法师;第二种,没有精英,刚接触一个小怪,保持最少2个骷髅法师(来个挡子弹的小弟);第三种,没有精英,周围十五个以上小怪,保持8个骷髅法师(召唤更多吸引仇恨的小弟)
因此会用到.IfEliteOrBossIsNearby(ctx => 55)和.IfEnoughMonstersNearby(ctx => 55, ctx => 1)以及.IfEnoughMonstersNearby(ctx => 55, ctx => 10)


                .IfTrue(ctx => ctx.Skill.Rune == 1).ThenContinueElseNoCast()//精魂灌注符文
                .IfCanCastSkill(100, 150, 1000).ThenContinueElseNoCast()
                .IfInTown().ThenNoCastElseContinue()
                .IfCastingIdentify().ThenNoCastElseContinue()
                .IfCastingPortal().ThenNoCastElseContinue()
                .IfOnCooldown().ThenNoCastElseContinue()
                .IfPrimaryResourceAmountIsAbove(ctx => (int)(40 - 40 * Hud.Game.Me.Stats.ResourceCostReduction) + 1).ThenContinueElseNoCast()//确保有保底能量
                .IfEliteOrBossIsNearby(ctx =>,55, ctx => 1).ThenContinueElseNoCast()//附近55码内存在精英或BOSS
                .IfPrimaryResourcePercentageIsAbove(90).ThenCastElseContinue()//90%能量时
                .IfTrue(ctx =>
                {
                    var buff = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.Necromancer_SkeletalMage.Sno);
                    return (buff.IconCounts[6] < 3);//小于3个骷髅且满能量施放
                }).ThenCastElseContinue()

3,根据上述2,是否在后面加入如下2段
                .IfnoEliteOrBossIsNearby(ctx => 55).ThenCastElseContinue()//附近55码没有精英或BOSS
                .IfEnoughMonstersNearby(ctx => 55, ctx => 1).ThenContinueElseNoCast()//附近60码内至少1个
                .IfPrimaryResourcePercentageIsAbove(90).ThenContinueElseNoCast()//90%能量时
                .IfTrue(ctx =>
                {
                    var buff = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.Necromancer_SkeletalMage.Sno);
                    return (buff.IconCounts[6] < 3);//小于3个骷髅且90%能量施放
                }).ThenCastElseContinue()


                .IfnoEliteOrBossIsNearby(ctx => 55).ThenCastElseContinue()//附近55码没有精英或BOSS
                .IfEnoughMonstersNearby(ctx => 55, ctx => 15).ThenContinueElseNoCast()//附近60码内至少15个
                .IfPrimaryResourcePercentageIsAbove(90).ThenContinueElseNoCast()//90%能量时
                .IfTrue(ctx =>
                {
                    var buff = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.Necromancer_SkeletalMage.Sno);
                    return (buff.IconCounts[6] < 8);//小于8个骷髅且90%量施放
                }).ThenCastElseContinue()
至于这三段中如何使用.ThenCastElseContinue()和).ThenContinueElseNoCast()以及.ThenNoCastElseContinue()来分开判断和段落分割,我就用不来了。
不过至少,通过提高释放条件,降低释放次数,可以保证更高质量的骷髅法师被召唤出来,略微提高了每次召唤骷髅法师的质量,适当避免了恶性循环的发生。
以上,还请管理大大给出准确的语句构造,我这个懒人是在玩不溜。


作者: TurboHUD    时间: 2019-6-1 16:13
michael_han1986 发表于 2019-6-1 07:22
part.1
1,因为考虑天鹰的保持需要90%的能量,所以提高了骷髅弓手的施放条件,有精英和BOSS才自动施放,也 ...

如果高于90%能量的话,它总是招的骷髅都会是90%的,那么就白白少了10%的总伤害

附件按照你说的规则设了下,但我并没测试,你可以试一下
NecSkeletalMagePlugin.cs (3.22 KB, 下载次数: 1825)

作者: michael_han1986    时间: 2019-6-2 10:55
本帖最后由 michael_han1986 于 2019-6-2 13:51 编辑
TurboHUD 发表于 2019-6-1 16:13
如果高于90%能量的话,它总是招的骷髅都会是90%的,那么就白白少了10%的总伤害

附件按照你说的规则设 ...

确实,不过除了血球回复的能量之外,还有吞噬回复的能量,所以这方面并未做过于苛刻的限制,只是我自己把原先的90改为了91
后续还会详细测试第一段,关于骷髅弓手的召唤设置,现在暂时有如下想法:
1,死地期间(10秒),保持骷髅弓手存在(>0)即可,存在之后就不要再召唤了(即>1之后,只需判断BUFF时间,无需判断能量状态),直到消失前0.5秒,不考虑能量状态,为的是能在死地期间多打尸矛(召唤骷髅弓手有抬手动作,影响尸矛数量),所以在一轮死地期间一般召唤2次,最少召唤1次(如果手动在死地前正好刚召唤过一次,可以正好覆盖一半死地时间)。
死地判断(抄自血魂双分雷电宏)
                .IfTrue(ctx =>
                {
                    var buff = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.Necromancer_LandOfTheDead.Sno);
                    return buff?.TimeElapsedSeconds[0] < 1 && buff?.TimeElapsedSeconds[0] != 0;

我看到并发现了管理大大在20#上传的附件有过修改,我先前还一直在用第一版,尤其判断精英/BOSS,小怪的情况,简化了语句,谢谢
但是貌似有一个地方写错了,导致不召唤骷髅
红框部分如果改为.ThenContinueElseNoCast()貌似就正常了,不知道是不是呢?

现在基本都在用散魂farm,都说散魂是断手的操作,魂斗罗的命,火多重的层数,现在有了这个雷电宏,手不断了,真是痛快啊,再次谢谢





作者: TurboHUD    时间: 2019-6-2 17:01
michael_han1986 发表于 2019-6-2 10:55
确实,不过除了血球回复的能量之外,还有吞噬回复的能量,所以这方面并未做过于苛刻的限制,只是我自己把 ...

判断周围怪物那个确实是写反了,已经纠正并没测试所以没发现
骷髅弓手的问题我,我如果没理解错的话骷髅弓箭手存在6秒,BUFF持续5秒,那么BUFF覆盖时间应该是11秒。亡者领域是10秒,那么理想状态下应该可以全程覆盖亡者领域状态而不需要召唤骷髅,但必须是在亡者领域施放前1秒召唤骷髅才行,这就有点难判断了
作者: TurboHUD    时间: 2019-6-2 17:02
TurboHUD 发表于 2019-6-2 17:01
判断周围怪物那个确实是写反了,已经纠正并没测试所以没发现
骷髅弓手的问题我,我如果没理解 ...

折中的方法就是亡者领域施放后1秒内马上招1次骷髅,不管骷髅是否存在,那么就可以保证整个亡者领域期间骷髅覆盖了
作者: TurboHUD    时间: 2019-6-2 19:12
NecSkeletalMagePlugin.cs (5 KB, 下载次数: 1865)
优化了一下高能判定,亡者领域期间 或者 (屏幕内血球*夺魂者特效+地面尸体*10+当前能量 >= 总能量)时为100%能量算高能,否则为90%,当然在不带夺魂者是血球不计算,不带吞噬时尸体不计算。
弓箭手的也按照你要求改了在亡者领域开启的0.5秒内少于2个骷髅时施放1次,因为通常会已经有1个骷髅,这样可以保持亡者领域期间骷髅存在6秒及骷髅消失后5秒Buff完整覆盖整个亡者领域期间(0.5秒这个时间一般也就是刚按下亡者领域后瞬间就会召唤骷髅弓箭手的)

作者: michael_han1986    时间: 2019-6-3 09:51
TurboHUD 发表于 2019-6-2 19:12
优化了一下高能判定,亡者领域期间 或者 (屏幕内血球*夺魂者特效+地面尸体*10+当前能量 >= 总能量)时为10 ...

初步看了一下,已经基本上没什么问题了,感觉可以开始上线公测该雷电宏了,后续等广大用户实测后再做微调

另外,血魂双分的持续时间比死地更久,所以正确的操作应该是先开双分后开死地
所以,可以在双分开启后的1秒内激活一次弓手,然后双分宏本来就会激活死地,于是就能保证死地开启前有过一次骷髅弓手的召唤
当然,仍然要保留死地期间的监测,也就是说,通过上述双分后召唤的弓手,在死地一半时间的时候,会再召唤一次弓手
如此一来,就能保证死地期间只召唤一次弓手,也能保证死地前会召唤一次弓手

当然,也要考虑到有玩家会先开死地后开双分,虽然这样并不明智……

你们看呢?

作者: TurboHUD    时间: 2019-6-3 16:18
michael_han1986 发表于 2019-6-3 09:51
初步看了一下,已经基本上没什么问题了,感觉可以开始上线公测该雷电宏了,后续等广大用户实测后再做微调 ...

如果是同时带亡者领域和血魂双分的话确实可以把强制召唤1次骷髅加在血魂双分里面,但是为什么会还在亡者领域期间再召唤一次呢?亡者领域不是10秒吗?弓箭手攻速BUFF有11秒,我的理解是如果加在血魂双分之后,那么亡者领域期间就不会再放召唤弓箭手了
作者: michael_han1986    时间: 2019-6-3 19:44
我还没有转冰尸矛,这个buff的实测还没有进行过,也不是太了解这个机制,所做的思路均是来自文字描述和网上攻略,总之,后续的测试工作可以交由其他广大用户了
作者: TurboHUD    时间: 2019-6-3 20:19
michael_han1986 发表于 2019-6-3 19:44
我还没有转冰尸矛,这个buff的实测还没有进行过,也不是太了解这个机制,所做的思路均是来自文字描述和网上 ...

骷髅弓箭手的BUFF会在骷髅消失后依然会维持5秒,所以骷髅本身存在6秒那么就是11秒了,覆盖了整个亡者领域效果
作者: michael_han1986    时间: 2019-6-10 11:04
更新后,现在骷髅法师雷电宏分为了2段
第一段骷髅弓手
第二段骷髅法师
根据关于魂法骷髅法师自动召唤的问题所提出的问题,
需要将此雷电宏分为3段
第一段不变
第二段增加条件,不携带死地,其他不变(依然适用于产尸魂法BD)
第三段增加条件,携带死地(适用于死地魂法BD,大招流,打的就是死地爆发10秒,需要大量CDR词缀配合减CD诅咒,建议面板CDR至少55%以上,62.35%是极限了,需要李头+钻石+6条8%CDR词缀+武器10CDR)

第三段思路(个人见解)

注:戒指+1=一次召唤2个,双分*2=一次召唤4个,项链使双分时间翻倍=15*2=30秒,亡者领域(死地)10秒。
1:非双分期间,尽可能保持2个(仅召唤一次)骷髅法师
2:双分期间,尽快召唤10个双分后满魂能骷髅法师(若在双分之前召唤过2个,需要覆盖非双分阶段的那次召唤,也就是说至少要召唤3次)
3:双分期间,召唤出10个双分满魂混骷髅法师后,不再立刻召唤满魂骷髅法师,而是待第十个骷髅法师消失前0.5秒再次召唤

个人认为:第三段不好写,怎么判断召唤出来的骷髅法师是双分期间召唤的还是非双分期间召唤的?
死地的10秒肯定在双分的30秒内被覆盖(雷电宏自带的死地是开启双分后施放),所以才以双分来判断


请其他用户建言献策,提供该BD思路


作者: TurboHUD    时间: 2019-6-10 14:55
michael_han1986 发表于 2019-6-10 11:04
更新后,现在骷髅法师雷电宏分为了2段
第一段骷髅弓手
第二段骷髅法师

让我抽空再想想其他思路
多加参数的判断终究也不是我喜欢的风格现在强行为不同build建立不同的规则的方法终究不是通用的方法
作者: michael_han1986    时间: 2019-6-10 15:24
TurboHUD 发表于 2019-6-10 14:55
让我抽空再想想其他思路
多加参数的判断终究也不是我喜欢的风格现在强行为不同build建立不同的 ...

辛苦了,我也看到了希望给魂法增加一个20层诅咒就释放双分的脚本里面所说的关于CD的问题
魂法可以有多种打法,一种是平推(低层魂法队),无视小怪精英,经常需要保持10个满能魂法进行最大化输出
一种是死地双分大招流,跳怪点精英,感觉偏向于单人和非魂法队(和一些公共路人)
涉及的技能又有很多种,带诅咒的、带产尸的、带死地的、速刷带寅剑的、甚至不带双分不带死地的,需要考虑的问题太多了。
我的本意是减轻魂法玩家的“断手”压力,只是没想到还有全力吐槽和抱怨的,我也只能呵呵了
作者: TurboHUD    时间: 2019-6-10 15:45
michael_han1986 发表于 2019-6-10 15:24
辛苦了,我也看到了希望给魂法增加一个20层诅咒就释放双分的脚本里面所说的关于CD的问题
魂法可以有多种 ...

研究了一下,或许可以思路简单些,有办法知道每个骷髅召唤时的能量,前期优先考虑数量,满足数量后判断满足当前最大能量召唤的骷髅数量,低于10个最大能量召唤的骷髅时就继续召唤最大能量骷髅,如果满足10个最大能量的骷髅就在骷髅即将消失时召唤
作者: michael_han1986    时间: 2019-6-10 15:49
TurboHUD 发表于 2019-6-10 15:45
研究了一下,或许可以思路简单些,有办法知道每个骷髅召唤时的能量,前期优先考虑数量,满足数量后判断满 ...

这确实是一个很好的办法,精魂上限随着不同BD有随动,像你所说,好似是能解决很多问题
作者: TurboHUD    时间: 2019-6-10 16:27
michael_han1986 发表于 2019-6-10 15:49
这确实是一个很好的办法,精魂上限随着不同BD有随动,像你所说,好似是能解决很多问题

晚点抽时间改下,可能还需要实际测试一下可行性
作者: TurboHUD    时间: 2019-6-10 18:16
TurboHUD 发表于 2019-6-10 16:27
晚点抽时间改下,可能还需要实际测试一下可行性

NecSkeletalMagePlugin.cs (5.83 KB, 下载次数: 1872)
现在理想的规则是:优先按照你前面说的召唤骷髅数量挡伤害
然后判断高能状态,在高能的前提下判断高能骷髅的数量
高能骷髅指召唤时超过当前最大精魂90%为高能骷髅计算,如果在普通状态满精魂100%召唤的骷髅在开了双分之后会变成非高能骷髅
当高能骷髅低于10个时,高能时直接召唤
等于10个高能骷髅时,当骷髅即将消失时召唤(因为前面判断了高能状态,那么此时补的骷髅必定高能)

这样的规则应该是比较理想的状态,应该可以满足大部分情况,希望有人可以仔细测试一下,我不方便测试,我装备太差,招不齐骷髅我就被打死了,没法实战测试,请尽快测试。没问题的话安排今晚更新

作者: 封圣    时间: 2019-6-10 20:01
现在在精英时开启死地召唤满数量的高能骷髅是优先项,,按照楼主回复我帖子的思路是使用死地BD后停止召唤骷髅,之后右键手动召唤骷髅攻击精英后恢复优先召唤数量来挡伤害和输出,是这个意思吗?   哪怕只能点一次四只高能骷髅伤害也很可观啊!!
作者: TurboHUD    时间: 2019-6-10 20:09
封圣 发表于 2019-6-10 20:01
现在在精英时开启死地召唤满数量的高能骷髅是优先项,,按照楼主回复我帖子的思路是使用死地BD后停止召唤骷 ...

现在的规则你可以看上面的具体召唤触发顺序,不需要手动招,你要高能骷髅只需要开启双分就可以自动重新召唤双分的骷髅来替掉前面的垃圾骷髅,直到双分的高能骷髅满10个才会停止继续招
作者: 封圣    时间: 2019-6-10 20:25
对怪物使用召唤骷髅法师后,骷髅法师会优先攻击该目标,现在的规则是会优先召唤高能的骷髅,在召唤完之前是没有足够精魂去点杀精英的,而且随机打怪 ,我的想法是把单杀精英放在前面,快速杀死精英,避免脱控后被金怪技能秒掉的尴尬。
作者: TurboHUD    时间: 2019-6-10 20:27
封圣 发表于 2019-6-10 20:25
对怪物使用召唤骷髅法师后,骷髅法师会优先攻击该目标,现在的规则是会优先召唤高能的骷髅,在召唤完之前是 ...

那你开死地后你一直点着精英不就好了吗?
插件不会帮你选择怪的
作者: 封圣    时间: 2019-6-10 20:54
好的,现在就已经非常好,之前没有开死地后一直点精英等召唤是因为怕损失杨裤特效。  我现在就去试试看
作者: michael_han1986    时间: 2019-6-10 21:11
加班中,期待其他人进行测试
作者: TurboHUD    时间: 2019-6-10 21:17
michael_han1986 发表于 2019-6-10 21:11
加班中,期待其他人进行测试

已经更新出去了,有问题再慢慢改
作者: q779810876    时间: 2019-6-14 11:09
你好 请问可以把弓手符文改成见到BOSS再开启吗  进度期间看见精英就自动开启没什么受益 还卡不了无敌~
作者: michael_han1986    时间: 2019-6-14 12:34
q779810876 发表于 2019-6-14 11:09
你好 请问可以把弓手符文改成见到BOSS再开启吗  进度期间看见精英就自动开启没什么受益 还卡不了无敌~



作者: TurboHUD    时间: 2019-6-14 14:08
q779810876 发表于 2019-6-14 11:09
你好 请问可以把弓手符文改成见到BOSS再开启吗  进度期间看见精英就自动开启没什么受益 还卡不了无敌~

那你不如直接关了手动用
作者: michael_han1986    时间: 2019-6-17 11:48
本帖最后由 michael_han1986 于 2019-6-17 11:53 编辑

咨询一下关于骷髅弓手部分的一段问题,先上图


如图可见,召唤骷髅弓手后,会出现两个图标,一个是骷髅法师的图标,一个是骷髅弓手BUFF的图标
那么:
[AppleScript] 纯文本查看 复制代码

                .IfSpecificBuffIsActive(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 6).ThenNoCastElseContinue()//骷髅法师激活
                .IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 3, 100, 500).ThenCastElseContinue()//弓箭手BUFF即将过期(0.5秒以内)
                ;

中弓箭手BUFF即将过期(0.5秒以内)是指的上图中右边那个图标,而不是左边“骷髅法师数量”的图标
实战中遇到的问题就是,骷髅弓手BUFF即将消失,召唤了骷髅弓手,但是BUFF续不上了,又从0层开始叠
那我是不是可以将上述2行简化为一行?
[AppleScript] 纯文本查看 复制代码

                .IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 6, 100, 500).ThenCastElseContinue()//骷髅法师激活即将过期(0.5秒以内)
这个6,应该指的是骷髅法师的图标吧?而上面的3,指的是骷髅弓手的BUFF图标?

又或者,删除前一行骷髅法师激活条件,无视骷髅法师是否激活,只判断天鹰即可
[AppleScript] 纯文本查看 复制代码
.IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 3, 100, 1000).ThenCastElseContinue()//弓箭手BUFF即将过期(1秒以内)
                ;

直接把弓箭手BUFF过期阈值从500调高到1000甚至1500以上,就可以保证BUFF不断

因为这周末测试骷髅弓手这段的时候,经常发现断BUFF,然后一直手动在补骷髅弓手,所以想来此问问管理大大这个问题,感谢解答





作者: TurboHUD    时间: 2019-6-17 13:47
michael_han1986 发表于 2019-6-17 11:48
咨询一下关于骷髅弓手部分的一段问题,先上图

指的肯定是弓箭手的buff,如果即将消失的时间太短,你可以适当自己调高些,这个时间要确保召唤了骷髅,并且让它有时间攻击一次
作者: michael_han1986    时间: 2019-6-17 13:59
所以说,这两种改法都可以吗?
.IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 6, 100, 500)

.IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 3, 100, 1500)
还是说,只能用后面那种?
作者: TurboHUD    时间: 2019-6-17 14:43
michael_han1986 发表于 2019-6-17 13:59
所以说,这两种改法都可以吗?
.IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalM ...

6是骷髅存在的图标,3是攻速buff图标,即使骷髅消失,攻速buff也会持续存在5秒的,如果你在骷髅消失就选择重新召唤,那么肯定会大幅度增加召唤骷髅的频率,那么肯定就减少了天鹰的覆盖




欢迎光临 【暗黑3导航插件】TurboHUD中文交流社区 (https://d3fz.com/) Powered by Discuz! X3.2