95 lines
2.7 KiB
C#

using Microsoft.Xna.Framework;
using Terraria.Localization;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
namespace Emiliasmod.Content.Items.Accessories
{
[Autoload(false)]
public class Spacesuit : ModItem
{
public override string Texture => $"Emiliasmod/Assets/Textures/{Name}";
public override void SetStaticDefaults() {
//Item.ResearchUnlockCount = 400;
Item.defense = 8;
}
public override void SetDefaults() {
Item.width = 40;
Item.height = 40;
Item.accessory = true;
Item.rare = ItemRarityID.Red;
Item.value = Item.sellPrice(platinum: 1, gold: 35);
}
public override void AddRecipes() {
Recipe recipe = CreateRecipe();
recipe.AddTile(TileID.LunarMonolith);
recipe.AddIngredient(ItemID.TerrasparkBoots, 1);
recipe.AddIngredient(ItemID.CelestialShell, 1);
recipe.AddIngredient(ItemID.ArcticDivingGear, 1);
recipe.AddIngredient(ItemID.CharmofMyths, 1);
recipe.AddIngredient(ItemID.AnkhShield, 1);
recipe.AddCondition(Condition.DownedMoonLord);
recipe.Register();
}
public override void UpdateAccessory(Player player, bool hideVisual) {
player.rocketBoots = 4;
player.waterWalk2 = true;
player.waterWalk = true;
player.iceSkate = true;
player.desertBoots = true;
player.fireWalk = true;
player.noFallDmg = true;
player.lavaRose = true;
player.lavaImmune = true;
player.statDefense += Item.defense;
player.buffImmune[BuffID.BrokenArmor] = true;
player.buffImmune[BuffID.Bleeding] = true;
player.buffImmune[BuffID.Burning] = true;
player.buffImmune[BuffID.Chilled] = true;
player.buffImmune[BuffID.Confused] = true;
player.buffImmune[BuffID.Cursed] = true;
player.buffImmune[BuffID.Darkness] = true;
player.buffImmune[BuffID.Poisoned] = true;
player.buffImmune[BuffID.Silenced] = true;
player.buffImmune[BuffID.Slow] = true;
player.buffImmune[BuffID.Stoned] = true;
player.buffImmune[BuffID.Weak] = true;
player.noKnockback = true;
player.lifeRegen += 4;
player.PotionDelayModifier -= 0.25f;
player.GetDamage(DamageClass.Generic) += 0.10f;
player.GetAttackSpeed(DamageClass.Generic) += 0.10f;
player.GetCritChance(DamageClass.Generic) += 4f;
player.GetKnockback(DamageClass.Summon) += 0.5f;
player.blockRange += 1;
player.pickSpeed -= 0.15f;
player.moveSpeed += 0.08f;
player.accRunSpeed *= 3.75f;
player.runSlowdown *= 1.75f;
player.arcticDivingGear = true;//may it do something ?
player.accMerman = true;
player.wolfAcc = true;
if (!hideVisual) {
player.vanityRocketBoots = 4;
player.CancelAllBootRunVisualEffects();
} else {
player.hideWolf = true;
player.hideMerman = true;
}
}
}
}