Add Avali and Protogen progression sets

This commit is contained in:
2025-11-19 12:30:39 +00:00
parent 21f3736395
commit d5f99e4b66
38 changed files with 1819 additions and 0 deletions
@@ -0,0 +1,37 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet
{
[AutoloadEquip(EquipType.Body)]
public class AvaliScoutChestplate : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 80);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 5;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.05f;
player.GetCritChance(DamageClass.Generic) += 3;
player.statLifeMax2 += 20;
player.moveSpeed += 0.08f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 12)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,50 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliScoutCowl : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 50);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 3;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Summon) += 0.10f;
player.maxMinions += 1;
player.statLifeMax2 += 15;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliScoutChestplate>() && legs.type == ModContent.ItemType<AvaliScoutLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Increases jump height and grants a double jump\n+1 max minion and +15% summon damage";
player.jumpBoost = true;
player.jumpSpeedBoost += 1.5f;
player.maxMinions += 1;
player.GetDamage(DamageClass.Summon) += 0.15f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 8)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,50 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliScoutHelmet : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 50);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 4;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Melee) += 0.08f;
player.GetCritChance(DamageClass.Melee) += 5;
player.statLifeMax2 += 20;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliScoutChestplate>() && legs.type == ModContent.ItemType<AvaliScoutLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Increases jump height and grants a double jump\n+10% melee damage and speed";
player.jumpBoost = true;
player.jumpSpeedBoost += 1.5f;
player.GetDamage(DamageClass.Melee) += 0.10f;
player.GetAttackSpeed(DamageClass.Melee) += 0.10f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 8)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,50 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliScoutHood : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 50);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 2;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Magic) += 0.12f;
player.statManaMax2 += 40;
player.manaCost -= 0.08f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliScoutChestplate>() && legs.type == ModContent.ItemType<AvaliScoutLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Increases jump height and grants a double jump\n+15% magic damage and -10% mana cost";
player.jumpBoost = true;
player.jumpSpeedBoost += 1.5f;
player.GetDamage(DamageClass.Magic) += 0.15f;
player.manaCost -= 0.10f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 8)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,37 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet
{
[AutoloadEquip(EquipType.Legs)]
public class AvaliScoutLeggings : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 60);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 3;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.03f;
player.GetCritChance(DamageClass.Generic) += 2;
player.statLifeMax2 += 10;
player.moveSpeed += 0.12f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 10)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,50 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliScoutMask : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 50);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 3;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Ranged) += 0.10f;
player.GetCritChance(DamageClass.Ranged) += 7;
player.statLifeMax2 += 15;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliScoutChestplate>() && legs.type == ModContent.ItemType<AvaliScoutLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Increases jump height and grants a double jump\n+12% ranged damage and critical strike chance";
player.jumpBoost = true;
player.jumpSpeedBoost += 1.5f;
player.GetDamage(DamageClass.Ranged) += 0.12f;
player.GetCritChance(DamageClass.Ranged) += 12;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 8)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,40 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Items.Armor.AvaliScoutSet;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
{
[AutoloadEquip(EquipType.Body)]
public class AvaliSkirmisherChestplate : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 7);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 18;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.10f;
player.GetCritChance(DamageClass.Generic) += 6;
player.statLifeMax2 += 50;
player.moveSpeed += 0.15f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 16)
.AddIngredient(ModContent.ItemType<AvaliScoutChestplate>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 12)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,51 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliSkirmisherCowl : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 5);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 14;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Summon) += 0.18f;
player.maxMinions += 2;
player.statLifeMax2 += 40;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliSkirmisherChestplate>() && legs.type == ModContent.ItemType<AvaliSkirmisherLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons thermal vision drones that mark enemies\nMarked enemies take 12% more damage\n+2 max minions and +20% summon damage";
player.maxMinions += 2;
player.GetDamage(DamageClass.Summon) += 0.20f;
// TODO: Implement thermal vision drone marking system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 10)
.AddIngredient(ModContent.ItemType<AvaliScoutCowl>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 8)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,52 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliSkirmisherHelmet : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 5);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 18;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Melee) += 0.15f;
player.GetCritChance(DamageClass.Melee) += 10;
player.statLifeMax2 += 50;
player.GetAttackSpeed(DamageClass.Melee) += 0.10f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliSkirmisherChestplate>() && legs.type == ModContent.ItemType<AvaliSkirmisherLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons thermal vision drones that mark enemies\nMarked enemies take 12% more damage\n+15% melee damage and speed";
player.GetDamage(DamageClass.Melee) += 0.15f;
player.GetAttackSpeed(DamageClass.Melee) += 0.15f;
// TODO: Implement thermal vision drone marking system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 10)
.AddIngredient(ModContent.ItemType<AvaliScoutHelmet>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 8)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,52 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliSkirmisherHood : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 5);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 12;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Magic) += 0.20f;
player.statManaMax2 += 80;
player.manaCost -= 0.12f;
player.GetCritChance(DamageClass.Magic) += 8;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliSkirmisherChestplate>() && legs.type == ModContent.ItemType<AvaliSkirmisherLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons thermal vision drones that mark enemies\nMarked enemies take 12% more damage\n+20% magic damage and -15% mana cost";
player.GetDamage(DamageClass.Magic) += 0.20f;
player.manaCost -= 0.15f;
// TODO: Implement thermal vision drone marking system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 10)
.AddIngredient(ModContent.ItemType<AvaliScoutHood>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 8)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,39 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
{
[AutoloadEquip(EquipType.Legs)]
public class AvaliSkirmisherLeggings : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 6);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 14;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.08f;
player.GetCritChance(DamageClass.Generic) += 6;
player.statLifeMax2 += 20;
player.moveSpeed += 0.20f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 14)
.AddIngredient(ModContent.ItemType<AvaliScoutLeggings>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 10)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,51 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliSkirmisherSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliSkirmisherMask : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 5);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 15;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Ranged) += 0.18f;
player.GetCritChance(DamageClass.Ranged) += 14;
player.statLifeMax2 += 45;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliSkirmisherChestplate>() && legs.type == ModContent.ItemType<AvaliSkirmisherLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons thermal vision drones that mark enemies\nMarked enemies take 12% more damage\n+18% ranged damage and critical strike chance";
player.GetDamage(DamageClass.Ranged) += 0.18f;
player.GetCritChance(DamageClass.Ranged) += 18;
// TODO: Implement thermal vision drone marking system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 10)
.AddIngredient(ModContent.ItemType<AvaliScoutMask>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 8)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,41 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
{
[AutoloadEquip(EquipType.Body)]
public class AvaliVanguardChestplate : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 70);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 34;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.15f;
player.GetCritChance(DamageClass.Generic) += 10;
player.statLifeMax2 += 80;
player.moveSpeed += 0.20f;
player.endurance += 0.05f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 18)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 12)
.AddIngredient(ModContent.ItemType<AvaliScoutChestplate>(), 1)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,59 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliVanguardCowl : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 50);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 26;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Summon) += 0.28f;
player.maxMinions += 3;
player.statLifeMax2 += 70;
player.endurance += 0.05f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliVanguardChestplate>() && legs.type == ModContent.ItemType<AvaliVanguardLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons a pack of hunting drones that rapidly fire at nearby enemies\n+3 max minions and +25% summon damage when above 75% health\n+10% damage reduction";
if ((float)player.statLife / player.statLifeMax2 >= 0.75f)
{
player.maxMinions += 3;
player.GetDamage(DamageClass.Summon) += 0.25f;
}
player.endurance += 0.10f;
// TODO: Implement hunting drone projectile system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 12)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
.AddIngredient(ModContent.ItemType<AvaliScoutCowl>(), 1)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,60 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliVanguardHelmet : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 50);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 32;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Melee) += 0.25f;
player.GetCritChance(DamageClass.Melee) += 15;
player.statLifeMax2 += 80;
player.GetAttackSpeed(DamageClass.Melee) += 0.15f;
player.endurance += 0.05f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliVanguardChestplate>() && legs.type == ModContent.ItemType<AvaliVanguardLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons a pack of hunting drones that rapidly fire at nearby enemies\n+20% melee damage and speed when above 75% health\n+10% damage reduction";
if ((float)player.statLife / player.statLifeMax2 >= 0.75f)
{
player.GetDamage(DamageClass.Melee) += 0.20f;
player.GetAttackSpeed(DamageClass.Melee) += 0.20f;
}
player.endurance += 0.10f;
// TODO: Implement hunting drone projectile system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 12)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
.AddIngredient(ModContent.ItemType<AvaliScoutHelmet>(), 1)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,60 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliVanguardHood : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 50);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 24;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Magic) += 0.30f;
player.statManaMax2 += 120;
player.manaCost -= 0.18f;
player.GetCritChance(DamageClass.Magic) += 12;
player.endurance += 0.05f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliVanguardChestplate>() && legs.type == ModContent.ItemType<AvaliVanguardLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons a pack of hunting drones that rapidly fire at nearby enemies\n+25% magic damage and -20% mana cost when above 75% health\n+10% damage reduction";
if ((float)player.statLife / player.statLifeMax2 >= 0.75f)
{
player.GetDamage(DamageClass.Magic) += 0.25f;
player.manaCost -= 0.20f;
}
player.endurance += 0.10f;
// TODO: Implement hunting drone projectile system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 12)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
.AddIngredient(ModContent.ItemType<AvaliScoutHood>(), 1)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,41 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
{
[AutoloadEquip(EquipType.Legs)]
public class AvaliVanguardLeggings : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 60);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 26;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.13f;
player.GetCritChance(DamageClass.Generic) += 8;
player.statLifeMax2 += 40;
player.moveSpeed += 0.30f;
player.endurance += 0.05f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 15)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 10)
.AddIngredient(ModContent.ItemType<AvaliScoutLeggings>(), 1)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,59 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.AvaliVanguardSet
{
[AutoloadEquip(EquipType.Head)]
public class AvaliVanguardMask : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 50);
Item.rare = ModContent.RarityType<AvalianItem>();
Item.defense = 28;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Ranged) += 0.28f;
player.GetCritChance(DamageClass.Ranged) += 18;
player.statLifeMax2 += 75;
player.endurance += 0.05f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<AvaliVanguardChestplate>() && legs.type == ModContent.ItemType<AvaliVanguardLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons a pack of hunting drones that rapidly fire at nearby enemies\n+22% ranged damage and critical strike chance when above 75% health\n+10% damage reduction";
if ((float)player.statLife / player.statLifeMax2 >= 0.75f)
{
player.GetDamage(DamageClass.Ranged) += 0.22f;
player.GetCritChance(DamageClass.Ranged) += 22;
}
player.endurance += 0.10f;
// TODO: Implement hunting drone projectile system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<AvaliFeather>(), 12)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
.AddIngredient(ModContent.ItemType<AvaliScoutMask>(), 1)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,38 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet
{
[AutoloadEquip(EquipType.Body)]
public class ProtogenInitiateChestplate : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 90);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 4;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.06f;
player.GetCritChance(DamageClass.Generic) += 3;
player.statLifeMax2 += 20;
player.statManaMax2 += 30;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 15)
.AddIngredient(ItemID.Wire, 8)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,52 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenInitiateCowl : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 60);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 2;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Summon) += 0.11f;
player.maxMinions += 1;
player.statLifeMax2 += 12;
player.statManaMax2 += 20;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenInitiateChestplate>() && legs.type == ModContent.ItemType<ProtogenInitiateLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Regenerate mana 25% faster and emit light\n+1 max minion and +12% summon damage";
player.manaRegenBonus += 5;
player.maxMinions += 1;
player.GetDamage(DamageClass.Summon) += 0.12f;
Lighting.AddLight(player.Center, 0.3f, 0.5f, 0.7f);
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 10)
.AddIngredient(ItemID.Wire, 5)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,51 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenInitiateHelmet : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 60);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 3;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Melee) += 0.09f;
player.GetCritChance(DamageClass.Melee) += 4;
player.statLifeMax2 += 15;
player.statManaMax2 += 20;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenInitiateChestplate>() && legs.type == ModContent.ItemType<ProtogenInitiateLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Regenerate mana 25% faster and emit light\n+8% melee damage";
player.manaRegenBonus += 5;
player.GetDamage(DamageClass.Melee) += 0.08f;
Lighting.AddLight(player.Center, 0.3f, 0.5f, 0.7f);
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 10)
.AddIngredient(ItemID.Wire, 5)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,51 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenInitiateHood : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 60);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 2;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Magic) += 0.13f;
player.statManaMax2 += 50;
player.manaCost -= 0.10f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenInitiateChestplate>() && legs.type == ModContent.ItemType<ProtogenInitiateLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Regenerate mana 35% faster and emit light\n+12% magic damage and -12% mana cost";
player.manaRegenBonus += 7;
player.GetDamage(DamageClass.Magic) += 0.12f;
player.manaCost -= 0.12f;
Lighting.AddLight(player.Center, 0.3f, 0.5f, 0.7f);
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 10)
.AddIngredient(ItemID.Wire, 5)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,39 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet
{
[AutoloadEquip(EquipType.Legs)]
public class ProtogenInitiateLeggings : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 70);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 3;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.04f;
player.GetCritChance(DamageClass.Generic) += 2;
player.statLifeMax2 += 10;
player.statManaMax2 += 20;
player.moveSpeed += 0.08f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 12)
.AddIngredient(ItemID.Wire, 6)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,52 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenInitiateMask : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(silver: 60);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 2;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Ranged) += 0.11f;
player.GetCritChance(DamageClass.Ranged) += 6;
player.statLifeMax2 += 12;
player.statManaMax2 += 20;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenInitiateChestplate>() && legs.type == ModContent.ItemType<ProtogenInitiateLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Regenerate mana 25% faster and emit light\n+10% ranged damage and critical strike chance";
player.manaRegenBonus += 5;
player.GetDamage(DamageClass.Ranged) += 0.10f;
player.GetCritChance(DamageClass.Ranged) += 10;
Lighting.AddLight(player.Center, 0.3f, 0.5f, 0.7f);
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 10)
.AddIngredient(ItemID.Wire, 5)
.AddTile(TileID.Anvils)
.Register();
}
}
}
@@ -0,0 +1,42 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Items.Armor.ProtogenInitiateSet;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
{
[AutoloadEquip(EquipType.Body)]
public class ProtogenOperativeChestplate : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 8);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 20;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.12f;
player.GetCritChance(DamageClass.Generic) += 6;
player.statLifeMax2 += 40;
player.statManaMax2 += 50;
player.endurance += 0.05f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 18)
.AddIngredient(ModContent.ItemType<ProtogenInitiateChestplate>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 12)
.AddIngredient(ItemID.Wire, 15)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,53 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenOperativeCowl : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 6);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 16;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Summon) += 0.20f;
player.maxMinions += 2;
player.statLifeMax2 += 38;
player.statManaMax2 += 40;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenOperativeChestplate>() && legs.type == ModContent.ItemType<ProtogenOperativeLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Taking damage releases seeking nanites\nNanites heal you for 50% of damage dealt\n+2 max minions and +18% summon damage";
player.maxMinions += 2;
player.GetDamage(DamageClass.Summon) += 0.18f;
// TODO: Implement nanite swarm healing system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 12)
.AddIngredient(ModContent.ItemType<ProtogenInitiateCowl>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 8)
.AddIngredient(ItemID.Wire, 10)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,54 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenOperativeHelmet : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 6);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 20;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Melee) += 0.17f;
player.GetCritChance(DamageClass.Melee) += 9;
player.statLifeMax2 += 45;
player.statManaMax2 += 40;
player.GetAttackSpeed(DamageClass.Melee) += 0.08f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenOperativeChestplate>() && legs.type == ModContent.ItemType<ProtogenOperativeLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Taking damage releases seeking nanites\nNanites heal you for 50% of damage dealt\n+12% melee damage and speed";
player.GetDamage(DamageClass.Melee) += 0.12f;
player.GetAttackSpeed(DamageClass.Melee) += 0.12f;
// TODO: Implement nanite swarm healing system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 12)
.AddIngredient(ModContent.ItemType<ProtogenInitiateHelmet>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 8)
.AddIngredient(ItemID.Wire, 10)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,53 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenOperativeHood : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 6);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 14;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Magic) += 0.22f;
player.statManaMax2 += 100;
player.manaCost -= 0.15f;
player.GetCritChance(DamageClass.Magic) += 8;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenOperativeChestplate>() && legs.type == ModContent.ItemType<ProtogenOperativeLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Taking damage releases seeking nanites\nNanites heal you for 50% of damage dealt\n+18% magic damage and -18% mana cost";
player.GetDamage(DamageClass.Magic) += 0.18f;
player.manaCost -= 0.18f;
// TODO: Implement nanite swarm healing system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 12)
.AddIngredient(ModContent.ItemType<ProtogenInitiateHood>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 8)
.AddIngredient(ItemID.Wire, 10)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,41 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
{
[AutoloadEquip(EquipType.Legs)]
public class ProtogenOperativeLeggings : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 7);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 14;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.08f;
player.GetCritChance(DamageClass.Generic) += 4;
player.statLifeMax2 += 20;
player.statManaMax2 += 30;
player.moveSpeed += 0.12f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 15)
.AddIngredient(ModContent.ItemType<ProtogenInitiateLeggings>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 10)
.AddIngredient(ItemID.Wire, 12)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,53 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenOperativeSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenOperativeMask : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 6);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 17;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Ranged) += 0.20f;
player.GetCritChance(DamageClass.Ranged) += 12;
player.statLifeMax2 += 40;
player.statManaMax2 += 40;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenOperativeChestplate>() && legs.type == ModContent.ItemType<ProtogenOperativeLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Taking damage releases seeking nanites\nNanites heal you for 50% of damage dealt\n+15% ranged damage and critical strike chance";
player.GetDamage(DamageClass.Ranged) += 0.15f;
player.GetCritChance(DamageClass.Ranged) += 15;
// TODO: Implement nanite swarm healing system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 12)
.AddIngredient(ModContent.ItemType<ProtogenInitiateMask>(), 1)
.AddIngredient(ItemID.ChlorophyteBar, 8)
.AddIngredient(ItemID.Wire, 10)
.AddTile(TileID.MythrilAnvil)
.Register();
}
}
}
@@ -0,0 +1,42 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
{
[AutoloadEquip(EquipType.Body)]
public class ProtogenSentinelChestplate : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 80);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 36;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.18f;
player.GetCritChance(DamageClass.Generic) += 9;
player.statLifeMax2 += 75;
player.statManaMax2 += 70;
player.endurance += 0.08f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 20)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 12)
.AddIngredient(ModContent.ItemType<ProtogenInitiateChestplate>(), 1)
.AddIngredient(ItemID.Wire, 30)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,63 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenSentinelCowl : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 60);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 28;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Summon) += 0.30f;
player.maxMinions += 4;
player.statLifeMax2 += 65;
player.statManaMax2 += 60;
player.endurance += 0.06f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenSentinelChestplate>() && legs.type == ModContent.ItemType<ProtogenSentinelLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons an AI core that fires adaptive energy beams\nProjectiles have a 20% chance to split into seeking fragments\n+4 max minions and +25% summon damage\nGrants immunity to most debuffs";
player.maxMinions += 4;
player.GetDamage(DamageClass.Summon) += 0.25f;
player.buffImmune[BuffID.Poisoned] = true;
player.buffImmune[BuffID.OnFire] = true;
player.buffImmune[BuffID.Bleeding] = true;
player.buffImmune[BuffID.Confused] = true;
player.buffImmune[BuffID.Slow] = true;
player.buffImmune[BuffID.Weak] = true;
player.buffImmune[BuffID.Silenced] = true;
player.buffImmune[BuffID.Cursed] = true;
// TODO: Implement AI core projectile and splitting projectile system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 14)
.AddIngredient(ModContent.ItemType<ProtogenInitiateCowl>(), 1)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
.AddIngredient(ItemID.Wire, 20)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,64 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenSentinelHelmet : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 60);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 34;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Melee) += 0.27f;
player.GetCritChance(DamageClass.Melee) += 13;
player.statLifeMax2 += 75;
player.statManaMax2 += 60;
player.GetAttackSpeed(DamageClass.Melee) += 0.12f;
player.endurance += 0.06f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenSentinelChestplate>() && legs.type == ModContent.ItemType<ProtogenSentinelLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons an AI core that fires adaptive energy beams\nProjectiles have a 20% chance to split into seeking fragments\n+18% melee damage and speed\nGrants immunity to most debuffs";
player.GetDamage(DamageClass.Melee) += 0.18f;
player.GetAttackSpeed(DamageClass.Melee) += 0.18f;
player.buffImmune[BuffID.Poisoned] = true;
player.buffImmune[BuffID.OnFire] = true;
player.buffImmune[BuffID.Bleeding] = true;
player.buffImmune[BuffID.Confused] = true;
player.buffImmune[BuffID.Slow] = true;
player.buffImmune[BuffID.Weak] = true;
player.buffImmune[BuffID.Silenced] = true;
player.buffImmune[BuffID.Cursed] = true;
// TODO: Implement AI core projectile and splitting projectile system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 14)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
.AddIngredient(ModContent.ItemType<ProtogenInitiateHelmet>(), 1)
.AddIngredient(ItemID.Wire, 20)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,63 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenSentinelHood : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 60);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 26;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Magic) += 0.32f;
player.statManaMax2 += 150;
player.manaCost -= 0.20f;
player.GetCritChance(DamageClass.Magic) += 12;
player.endurance += 0.06f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenSentinelChestplate>() && legs.type == ModContent.ItemType<ProtogenSentinelLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons an AI core that fires adaptive energy beams\nProjectiles have a 20% chance to split into seeking fragments\n+25% magic damage and -22% mana cost\nGrants immunity to most debuffs";
player.GetDamage(DamageClass.Magic) += 0.25f;
player.manaCost -= 0.22f;
player.buffImmune[BuffID.Poisoned] = true;
player.buffImmune[BuffID.OnFire] = true;
player.buffImmune[BuffID.Bleeding] = true;
player.buffImmune[BuffID.Confused] = true;
player.buffImmune[BuffID.Slow] = true;
player.buffImmune[BuffID.Weak] = true;
player.buffImmune[BuffID.Silenced] = true;
player.buffImmune[BuffID.Cursed] = true;
// TODO: Implement AI core projectile and splitting projectile system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 14)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
.AddIngredient(ModContent.ItemType<ProtogenInitiateHood>(), 1)
.AddIngredient(ItemID.Wire, 20)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,43 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
{
[AutoloadEquip(EquipType.Legs)]
public class ProtogenSentinelLeggings : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 70);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 28;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Generic) += 0.12f;
player.GetCritChance(DamageClass.Generic) += 6;
player.statLifeMax2 += 35;
player.statManaMax2 += 50;
player.moveSpeed += 0.15f;
player.endurance += 0.06f;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 17)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 10)
.AddIngredient(ModContent.ItemType<ProtogenInitiateLeggings>(), 1)
.AddIngredient(ItemID.Wire, 25)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,63 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Items.Materials;
using ForgottenWawiTech.Content.Rarities;
using ForgottenWawiTech.Content.Tiles.CraftingStations;
namespace ForgottenWawiTech.Content.Items.Armor.ProtogenSentinelSet
{
[AutoloadEquip(EquipType.Head)]
public class ProtogenSentinelMask : ModItem
{
public override void SetDefaults()
{
Item.width = 18;
Item.height = 18;
Item.value = Item.sellPrice(gold: 60);
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.defense = 30;
}
public override void UpdateEquip(Player player)
{
player.GetDamage(DamageClass.Ranged) += 0.30f;
player.GetCritChance(DamageClass.Ranged) += 16;
player.statLifeMax2 += 70;
player.statManaMax2 += 60;
player.endurance += 0.06f;
}
public override bool IsArmorSet(Item head, Item body, Item legs)
{
return body.type == ModContent.ItemType<ProtogenSentinelChestplate>() && legs.type == ModContent.ItemType<ProtogenSentinelLeggings>();
}
public override void UpdateArmorSet(Player player)
{
player.setBonus = "Summons an AI core that fires adaptive energy beams\nProjectiles have a 20% chance to split into seeking fragments\n+22% ranged damage and critical strike chance\nGrants immunity to most debuffs";
player.GetDamage(DamageClass.Ranged) += 0.22f;
player.GetCritChance(DamageClass.Ranged) += 22;
player.buffImmune[BuffID.Poisoned] = true;
player.buffImmune[BuffID.OnFire] = true;
player.buffImmune[BuffID.Bleeding] = true;
player.buffImmune[BuffID.Confused] = true;
player.buffImmune[BuffID.Slow] = true;
player.buffImmune[BuffID.Weak] = true;
player.buffImmune[BuffID.Silenced] = true;
player.buffImmune[BuffID.Cursed] = true;
// TODO: Implement AI core projectile and splitting projectile system
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ModContent.ItemType<MalfunctioningNanites>(), 14)
.AddIngredient(ModContent.ItemType<EnergyCore>(), 8)
.AddIngredient(ModContent.ItemType<ProtogenInitiateMask>(), 1)
.AddIngredient(ItemID.Wire, 20)
.AddTile(ModContent.TileType<HighTechMarvel>())
.Register();
}
}
}
@@ -0,0 +1,21 @@
using Terraria.ID;
using Terraria;
using Terraria.ModLoader;
using ForgottenWawiTech.Content.Rarities;
namespace ForgottenWawiTech.Content.Items.Materials
{
public class MalfunctioningNanites : ModItem
{
public override void SetDefaults()
{
Item.width = 20;
Item.height = 20;
Item.maxStack = 9999;
Item.rare = ModContent.RarityType<ProtogenItem>();
Item.value = Item.buyPrice(silver: 1);
}
}
}
+2
View File
@@ -10,6 +10,8 @@ using System;
using Terraria.GameContent;
using ForgottenWawiTech.Content.Rarities;
// NOTE: Will be a drop from Lexy the Protogen boss in the future - meant for post-SCal.
namespace ForgottenWawiTech.Content.Items.Materials
{
public class VisorShard : ModItem