97 lines
3.3 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|