Decimation_Mod/Content/NPCs/CursedNPC.cs
FyloZ ec4585bed5 - Changed Bloodshot Eye's music to Boss 1 Orchestra ( https://www.youtube.com/watch?time_continue=120&v=r-9nKGc85FQ )
- Added support for animated projectiles
- Refactoring
- Removed useless fields
- Fixed swords not dealing damages
- Added Hour Hand (from Evie's PR)
2020-03-21 00:11:07 -04:00

56 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Terraria;
using Terraria.ModLoader;
namespace Decimation.Content.NPCs
{
internal class CursedNPC : GlobalNPC
{
// Life bonus in percents
public static int LifeBonus { get; set; }
// Damage bonus in percents
public static int DamageBonus { get; set; }
// Mana leech in percents
public static int ManaLeech { get; set; }
public override void SetDefaults(NPC npc)
{
if (!npc.friendly)
npc.lifeMax = (int)(npc.lifeMax * (1 + LifeBonus / 100f));
base.SetDefaults(npc);
}
public override void AI(NPC npc)
{
// Should be moved in future
if (!Main.LocalPlayer.GetModPlayer<DecimationPlayer>().hasCursedAccessory)
{
LifeBonus = 0;
DamageBonus = 0;
ManaLeech = 0;
}
base.AI(npc);
}
public override void ModifyHitPlayer(NPC npc, Player target, ref int damage, ref bool crit)
{
if (!npc.friendly && target.GetModPlayer<DecimationPlayer>().hasCursedAccessory)
damage *= (int)(1 + DamageBonus / 100f);
}
public override void OnHitPlayer(NPC npc, Player target, int damage, bool crit)
{
if (!npc.friendly && target.GetModPlayer<DecimationPlayer>().hasCursedAccessory)
target.statMana *= (int)(1 - ManaLeech / 100f);
}
}
}