58 lines
2.0 KiB
C#
58 lines
2.0 KiB
C#
using Terraria;
|
|
using Terraria.DataStructures;
|
|
using Terraria.GameContent.Creative;
|
|
using Terraria.ID;
|
|
using Terraria.ModLoader;
|
|
|
|
namespace Emiliasmod.Content.Items.Accessories
|
|
{
|
|
[Autoload(false)]
|
|
public class Spacesurf : ModItem {
|
|
public override string Texture => $"Emiliasmod/Assets/Texture/{Name}";
|
|
//public abstract int FlyTime { get; }
|
|
//public abstract float FlySpeed { get; }
|
|
//public abstract float Acceleration { get; }
|
|
//public abstract bool CanHover { get; }
|
|
public int FlyTime = 180;
|
|
public float FlySpeed = 9.0f;
|
|
public float Acceleration = 4.5f;
|
|
public bool CanHover = true;
|
|
|
|
public override void SetStaticDefaults() {
|
|
ArmorIDs.Wing.Sets.Stats[Item.wingSlot] = new WingStats(FlyTime, FlySpeed, Acceleration, CanHover);
|
|
}
|
|
public override void SetDefaults() {
|
|
Item.width = 22;
|
|
Item.height = 20;
|
|
Item.value = Item.sellPrice(platinum: 1, gold: 35);
|
|
Item.rare = ItemRarityID.Red;
|
|
Item.accessory = true;
|
|
Item.master = true;
|
|
Item.wingSlot = Item.type;
|
|
}
|
|
|
|
public override void UpdateAccessory(Player player, bool hideVisual) {
|
|
player.empressBrooch = true;
|
|
player.moonLordLegs = true;
|
|
player.moveSpeed += 0.15f;
|
|
player.wingsLogic = 45;
|
|
}
|
|
|
|
public override void AddRecipes() {
|
|
Recipe recipe = CreateRecipe();
|
|
recipe.AddCondition(Condition.DownedMoonLord);
|
|
recipe.AddIngredient(ItemID.EmpressFlightBooster, 1);
|
|
recipe.AddIngredient(ItemID.MoonLordLegs, 1);
|
|
recipe.AddIngredient(ItemID.LongRainbowTrailWings, 1);
|
|
recipe.Register();
|
|
}
|
|
public override void VerticalWingSpeeds(Player player, ref float ascentWhenFalling, ref float ascentWhenRising, ref float maxCanAscendMultiplier, ref float maxAscentSpeed, ref float ascentRunSpeed) {
|
|
ascentWhenFalling = 0.85f;
|
|
ascentWhenRising = 0.15f;
|
|
maxCanAscendMultiplier = 1f;
|
|
maxAscentSpeed = 3f;
|
|
ascentRunSpeed = 2.5f;
|
|
}
|
|
}
|
|
}
|