[Tmodloader]泰拉瑞亚弹幕MOD重写问题

我想让发射出来的弹幕攻击时,除Boss外,附带敌人1%的最大生命值伤害,用OnhitNPC或者Shoot重写都失败了,请问应该如何重写呢?

回答不易,求求您采纳点赞哦

  • 在泰拉瑞亚的Tmodloader中,也许可以使用 OnHitNPC 或 Shoot 来重写弹幕的攻击效果。

  • 如果使用 OnHitNPC 重写失败了,可能是因为没有正确地获取到敌人的生命值。你可以尝试使用 NPCLoader.GetNPC(npcId).lifeMax 来获取敌人的最大生命值,然后再进行计算。

  • 如果使用 Shoot 重写失败了,可能是因为没有正确地设置伤害值。你可以尝试使用 projectile.damage = (int)(NPCLoader.GetNPC(npcId).lifeMax * 0.01f) 来设置攻击伤害值。

  • 另外请注意,在重写的代码中加入一个判断语句,来判断当前打中的NPC是不是BOSS,如果是BOSS,就不进行附加伤害的计算。

示例代码如下:

if (Main.npc[npcId].boss) return;
int damage = (int)(NPCLoader.GetNPC(npcId).lifeMax * 0.01f);
projectile.damage += damage;

请注意这只是示例代码,因为我不知道你的弹幕MOD具体代码实现。请结合你自己的代码来理解这段示例代码。