public override bool UseItem(Player player) { item.damage = Math.Max(1, player.statDefense / 10) * initialDamage; DarkPlayer Dplayer = player.GetModPlayer <DarkPlayer>(); if (Dplayer.doubleDarkDamage) { item.damage *= 2; } Dplayer.shadowGuardianDamage = item.damage; if (player.altFunctionUse == 2) { if (Dplayer.CostDarkness(4, true)) { Dplayer.shadowGuardianDamage *= Dplayer.darkDash.GetLevel(); Dplayer.ShadowGuardianAttack = 2; } } else { if (Dplayer.CostDarkness(1, false)) { Dplayer.shadowGuardianDamage = Dplayer.shadowGuardianDamage * (int)(0.75f + (Dplayer.shadowPunch.GetLevel() * 0.25f)); Dplayer.ShadowGuardianAttack = 1; } } return(base.UseItem(player)); }
public override bool UseItem(Player player) { DarkPlayer dplayer = player.GetModPlayer <DarkPlayer>(); if (player.altFunctionUse == 2) { if (dplayer.CostDarkness(5, false)) { dplayer.ShadowGuardianAttack = 4; dplayer.shadowGuardianDamage = Math.Max(1, player.statDefense / 10) * (item.damage / 10); item.reuseDelay = 25 + Math.Min(40, (2000 / Math.Max(1, player.statDefense))); item.autoReuse = false; } } else { if (dplayer.CostDarkness(4, false)) { dplayer.ShadowGuardianAttack = 3; dplayer.shadowGuardianDamage = item.damage; item.reuseDelay = 15; item.autoReuse = true; } } return(base.UseItem(player)); }