启用单位技能

启用单位技能

(已在1.4.3版本修复)目前由于一个错误,大多数技能对单位完全没有效果,它们完全依赖于装备。这个模组为它们启用了技能的个人效果。

游戏玩法

已在 1.4.3 版本中修复

目前大多数技能对普通单位完全没有效果,就像对英雄一样(由于一个 bug)。因此它们完全依赖于装备。

该模组为它们启用了技能的个人效果。

通过使用荒谬的数字(例如拥有 5000 属性的掠夺者)可以轻松测试这一点,并且不会对伤害数值产生任何影响。技能效果确实会改变它们的 AI,但骑乘、伤害和武器速度不受影响。

为了进一步验证,请使用 dnSpy 并在战斗开始前在下面描述的方法中的 return null; 处设置断点。然后您可以看到单位无法从他们的个人技能中获得任何好处。

这个 bug 自 1.0.10 版本起就存在。该模组在所有版本中都修复了它。

对于其他模组制作者

本模组修补了 SkillHelper 中的 AddSkillBonusForCharacter(位于 CampaignSystem.dllHelpers 命名空间)。我使用了一个后缀,在其中简单地检查角色是否不为空且 heroObject 为空。

这是在 Sandbox.dll 中的 SandboxAgentStatCalculateModel 里调用的,在 GetSkillEffectsOnAgent 方法中为英雄和单位添加技能效果。

当生成单位时,会调用此函数的默认版本。问题在于它会检查单位的 heroObject 属性,而普通单位的该属性始终为 null。因此函数总是过早退出,导致无法为这些单位赋予任何效果。

此模组改为在通常返回的地方添加个人物品。这样英雄们应该不会受到影响。

其他

请随意使用这个模组做任何你想做的事。

请考虑查看我的其他模组。