public override void UpdateLifeRegen(NPC npc, ref int damage) { ExampleNPCInfo info = (ExampleNPCInfo)npc.GetModInfo(mod, "ExampleNPCInfo"); if (info.eFlames) { if (npc.lifeRegen > 0) { npc.lifeRegen = 0; } npc.lifeRegen -= 16; if (damage < 2) { damage = 2; } } }
public override void DrawEffects(NPC npc, ref Color drawColor) { ExampleNPCInfo info = (ExampleNPCInfo)npc.GetModInfo(mod, "ExampleNPCInfo"); if (info.eFlames) { if (Main.rand.Next(4) < 3) { int dust = Dust.NewDust(npc.position - new Vector2(2f, 2f), npc.width + 4, npc.height + 4, mod.DustType("EtherealFlame"), npc.velocity.X * 0.4f, npc.velocity.Y * 0.4f, 100, default(Color), 3.5f); Main.dust[dust].noGravity = true; Main.dust[dust].velocity *= 1.8f; Main.dust[dust].velocity.Y -= 0.5f; if (Main.rand.Next(4) == 0) { Main.dust[dust].noGravity = false; Main.dust[dust].scale *= 0.5f; } } Lighting.AddLight(npc.position, 0.1f, 0.2f, 0.7f); } }
public override void ResetEffects(NPC npc) { ExampleNPCInfo info = (ExampleNPCInfo)npc.GetModInfo(mod, "ExampleNPCInfo"); info.eFlames = false; }