using System; using Terraria; using Terraria.ID; using Terraria.ModLoader; using ForgottenWawiTech.Content.Players; namespace ForgottenWawiTech.Content.Items.Armor.TranscendentSet { internal static class TranscendentSetEffects { private const string SetBonusDescription = "Summons the Ascendant Swarm, sentinel core, and singularity star to fight alongside you\n" + "+35% damage, +25% critical strike chance, +20% damage reduction, +6 max minions, +3 max turrets\n" + "Grants limitless mobility, nearly absolute elemental immunity, and causes attacks to shed seeking nanite shards"; internal static void ApplySetBonus(Player player) { player.setBonus = SetBonusDescription; player.GetDamage(DamageClass.Generic) += 0.35f; player.GetCritChance(DamageClass.Generic) += 25; player.endurance += 0.20f; player.statLifeMax2 += 200; player.statManaMax2 += 150; player.lifeRegen += 10; player.moveSpeed += 0.40f; player.accRunSpeed += 3f; player.maxRunSpeed += 3f; player.jumpBoost = true; player.jumpSpeedBoost += 4f; player.hasMagiluminescence = true; player.rocketBoots = Math.Max(player.rocketBoots, 3); player.noFallDmg = true; player.autoJump = true; player.maxMinions += 6; player.maxTurrets += 3; player.GetDamage(DamageClass.Summon) += 0.25f; player.GetAttackSpeed(DamageClass.Melee) += 0.20f; player.GetAttackSpeed(DamageClass.Summon) += 0.20f; player.waterWalk = true; player.ignoreWater = true; player.fireWalk = true; player.lavaImmune = true; player.iceSkate = true; player.blackBelt = true; player.sporeSac = true; player.wingTimeMax = Math.Max(player.wingTimeMax, 900); int[] immunities = { BuffID.OnFire, BuffID.OnFire3, BuffID.Burning, BuffID.Frostburn, BuffID.Frostburn2, BuffID.CursedInferno, BuffID.Ichor, BuffID.ShadowFlame, BuffID.Venom, BuffID.Poisoned, BuffID.Confused, BuffID.Slow, BuffID.Weak, BuffID.Silenced, BuffID.Cursed, BuffID.Darkness, BuffID.Blackout, BuffID.Chilled, BuffID.Frozen, BuffID.Webbed, BuffID.Stoned, BuffID.Electrified, BuffID.Obstructed, BuffID.OgreSpit, BuffID.Suffocation, BuffID.VortexDebuff, BuffID.PotionSickness, BuffID.ManaSickness }; foreach (int buffId in immunities) { player.buffImmune[buffId] = true; } player.GetModPlayer().EnableTranscendentSet(); player.GetModPlayer().EnableSentinelCore(); player.GetModPlayer().EnableSingularityOrb(); } } }