Files

97 lines
3.3 KiB
C#

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<TranscendentPlayer>().EnableTranscendentSet();
player.GetModPlayer<ProtogenSentinelPlayer>().EnableSentinelCore();
player.GetModPlayer<SingularityPlayer>().EnableSingularityOrb();
}
}
}