原创
10/1 20:15更新
是我 我又来了,dll脚本击杀经验加成不稳定,排查了一下午 排除tag影响
最终发现根本原因在这里
var targetField = AccessTools.Field(typeof(AutoTurretFireController), “currentEntityTarget”);
EntityAlive target = targetField?.GetValue(__instance) as EntityAlive;
if (target != null)
{
DamageSource source = new DamageSource(EnumDamageSource.Internal, EnumDamageTypes.Piercing);
target.DamageEntity(source, Mathf.RoundToInt(newDamage), false, 1f);
}
如果是150伤害击杀,那么可以正常吃到经验,如果是叠加后的805这个伤害击杀就不会。
其根本原因是二次伤害,第二次的805是程序内部代码附加上去的,没有走AutoTurretFireController内部逻辑,导致这个伤害没有归属,所以也就不会增加经验
现改用
// 临时加成
int tempDamage = __state + (int)ammoDmg;
entityDamageField.SetValue(__instance, tempDamage);
这个逻辑可以每次加成
最终伤害
内部还有别的 伤害乘算 或 被动加成 生效:
-
炮塔可能会有 技能加成/天赋加成。
-
弹药的加成是 叠加到基础伤害上,然后游戏其他系统再乘以百分比。
-
可能还有 难度系数、距离衰减、敌人抗性 等因素。
另外还有一个BUG版本,每开一枪叠加一次伤害。我都放下面了,各位自行体验
——————————————————————————————————————————-
10/1 15:14更新
更新说明:昨天改写了脚本的判断逻辑使用DecrementAmmo来进行是否还有弹药的判断,走内部逻辑导致二次开火,OwnerId 断了,经验就会丢失。现更换使用itemSlots作为弹药库存检测方式,击杀经验正常生效。
10/1 2:30紧急更新
-
修复炮塔修空伤害的问题
-
修复电力陷阱技能书被误删的问题
修复后测试:
-
修复mod包中炮塔击杀不受高级工程师经验加成的问题,现在可以跟SMG等原版炮塔一样,技能点满享受75%的炮塔击杀经验
另外一个在修复过程中引用了一个错误变量,导致产生一个很有趣的BUG版本,使用M2炮塔+.50炮弹会造成巨额伤害,九位数的伤害,放在这里
有兴趣的朋友可以自己把DLL拖出来覆盖到SCG Defense Solutions v1.3根目录,覆盖前记得备份哦
—————————————————————————————————————————————————-
哈喽哈喽,大家好,好久没上了,这两天忙着写一个炮塔伤害修正的C#脚本,功夫不负有心人,道爷我成了
首先感谢由N网大佬DiggiDiggslay研发的SCG Defense Solutions v2.1 Exp SCG防御解决方案,增加了多种原版所没有的防御炮塔,电力陷阱。
我在此之上,重写了炮塔伤害的构成(炮塔自身+所使用的弹药)
这几天头发一大把一大把的掉,effect_group的数据常规方式读取不到,只能退而求其次,给弹药物品新加一个属性,让程序去识别读取,好了哔哔完毕。重头戏开始
更改常规M2炮塔与
带灯M2炮塔的伤害散热冷却射速等逻辑,使其更贴合现实的M2勃朗宁重机枪,上调修改配方所需材料,上调运行所需电力
提升价值的原因是因为它的单发伤害足足高达812,是812哦 朋友,爆头三倍的话就是2436一发
其他炮塔未改动,保持原版本
解锁方式本来是另一个技能书,我把它与原版电力陷阱技能树合并,75级即可解锁所有陷阱
理论上来讲兼容所有block的炮塔,只需要在xml里面加上M2即可
弹药上害修改,新增弹药类型都在这里
视频演示地址七日杀2.3mod点五零口径M2勃朗宁机枪炮塔伤害演示_游戏热门视频
祝大家玩的开心
隐藏内容需要付费才可以看见
他做的MOD最烦人的地方就是普通玩家没法修改伤害等属性 他自己做的属性又不高
感谢大佬的付出,赞一个!
伤害不高不行啊,旧日打不动重甲
这个逼装的我给82分,剩下的用666的方式打给你!
漏写了一个逻辑,现在有惊喜,即使没弹药,有电的情况下炮塔也会造成100的基础自身伤害
作者你好,我这边使用这个MOD的时候出现了下面的问题:原版的电力陷阱技能书被删除,假如使用的存档我的对应技能已经到达75级,仍旧无法解锁这个MOD的配方