Compare commits
88 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
66e8daedec | ||
|
|
a2935f61ce | ||
|
|
2fb91f2390 | ||
|
|
01a4ad3dea | ||
|
|
82f501db45 | ||
|
|
9a527a0973 | ||
|
|
923c05a70a | ||
|
|
f188eb2757 | ||
|
|
847841c181 | ||
|
|
a14c036ffb | ||
|
|
3eeb1c8ff2 | ||
|
|
8091c18e7d | ||
|
|
56de9e29e1 | ||
|
|
391f089c93 | ||
|
|
acc592b251 | ||
|
|
0cf76d5270 | ||
|
|
df5b7c2b43 | ||
|
|
e61040d1e5 | ||
|
|
8ea2e21eb6 | ||
|
|
4636e76d76 | ||
|
|
803bda060b | ||
|
|
3e441699c9 | ||
|
|
326f22714f | ||
|
|
b3585374fe | ||
|
|
ccf993c077 | ||
|
|
e4efb00c5c | ||
|
|
44e51d8629 | ||
|
|
a08caa0d16 | ||
|
|
e4ba4d4277 | ||
|
|
4c08d18a6f | ||
|
|
ff1ffcdfbe | ||
|
|
6dcf23b6c8 | ||
|
|
6db71f1c36 | ||
|
|
e14436efd7 | ||
|
|
70f3ccf445 | ||
|
|
e1ceffac89 | ||
|
|
3852419581 | ||
|
|
266a82b74a | ||
|
|
3626b5fa07 | ||
|
|
67b3937c75 | ||
|
|
eeabb41dd6 | ||
|
|
884e67c5e2 | ||
|
|
dd5726acf5 | ||
|
|
2033aa88a9 | ||
|
|
1879d58994 | ||
|
|
782e6a6582 | ||
|
|
e2f2c82ada | ||
|
|
57423952bf | ||
|
|
f106ab2738 | ||
|
|
71430b610f | ||
|
|
a66c4e48ac | ||
|
|
2f32c4d775 | ||
|
|
5b23355b93 | ||
|
|
c6ec7a0208 | ||
|
|
c8b07494c3 | ||
|
|
aa893193de | ||
|
|
ccf33456d9 | ||
|
|
3a9de1cc98 | ||
|
|
543a683b6c | ||
|
|
317b3759c8 | ||
|
|
4b1af70d9b | ||
|
|
27cc2cee02 | ||
|
|
33fe5a6189 | ||
|
|
2f91c6da96 | ||
|
|
fff5416b23 | ||
|
|
c622092092 | ||
|
|
60af568958 | ||
|
|
7c760fc0f5 | ||
|
|
aa77486a6a | ||
|
|
186e69d9a5 | ||
|
|
689c73d0bd | ||
|
|
448c5f5ca5 | ||
|
|
8bc27709da | ||
|
|
4f0ec9b01a | ||
|
|
dec2f677ef | ||
|
|
1341f6f2bd | ||
|
|
306ebea396 | ||
|
|
dc5a91f713 | ||
|
|
8724b50406 | ||
|
|
86d1d4d944 | ||
|
|
428d11a55d | ||
|
|
6d6c996162 | ||
|
|
9dd0986d18 | ||
|
|
430163f6a1 | ||
|
|
175b91bdbb | ||
|
|
4f10fb0226 | ||
|
|
e2e8537a01 | ||
|
|
340d245cbd |
@ -1,4 +1,5 @@
|
||||
using Decimation.Content.Projectiles;
|
||||
using Decimation.Content.Projectiles.Item.Weapon;
|
||||
using Decimation.Lib.Buffs;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Terraria;
|
||||
|
||||
|
Before Width: | Height: | Size: 495 B After Width: | Height: | Size: 537 B |
|
Before Width: | Height: | Size: 402 B After Width: | Height: | Size: 575 B |
@ -1,7 +1,5 @@
|
||||
using System;
|
||||
using Decimation.Lib.Buffs;
|
||||
using Decimation.Lib.Buffs;
|
||||
using Terraria;
|
||||
using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Buffs.Debuffs
|
||||
@ -9,7 +7,10 @@ namespace Decimation.Content.Buffs.Debuffs
|
||||
internal class Hyperthermic : DecimationBuff
|
||||
{
|
||||
protected override string DisplayName => "Hyperthermic!";
|
||||
protected override string Description => "Water, water everywhere but not a drop to drink... \nBlock mana potions use \nLowers defense by 10% \nLowers speed by 5%";
|
||||
|
||||
protected override string Description =>
|
||||
"Water, water everywhere but not a drop to drink... \nBlock mana potions use \nLowers defense by 10% \nLowers speed by 5%";
|
||||
|
||||
public override bool Debuff => true;
|
||||
|
||||
protected override void Init()
|
||||
@ -21,13 +22,13 @@ namespace Decimation.Content.Buffs.Debuffs
|
||||
|
||||
public override void Update(Player player, ref int buffIndex)
|
||||
{
|
||||
player.statDefense = (int)(player.statDefense * 0.90f);
|
||||
player.statDefense = (int) (player.statDefense * 0.90f);
|
||||
player.moveSpeed *= 0.95f;
|
||||
}
|
||||
|
||||
public override void Update(NPC npc, ref int buffIndex)
|
||||
{
|
||||
npc.defense = (int)(npc.defense * 0.90f);
|
||||
npc.defense = (int) (npc.defense * 0.90f);
|
||||
npc.velocity *= 0.95f;
|
||||
}
|
||||
}
|
||||
@ -36,7 +37,8 @@ namespace Decimation.Content.Buffs.Debuffs
|
||||
{
|
||||
public override bool CanUseItem(Item item, Player player)
|
||||
{
|
||||
return !(player.HasBuff(ModContent.BuffType<Hyperthermic>()) && item.healMana > 0);
|
||||
if (player.HasBuff(ModContent.BuffType<Hyperthermic>()) && item.healMana > 0) return false;
|
||||
return base.CanUseItem(item, player);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 424 B After Width: | Height: | Size: 471 B |
|
Before Width: | Height: | Size: 396 B After Width: | Height: | Size: 485 B |
@ -41,7 +41,7 @@ namespace Decimation.Content.Buffs.Debuffs
|
||||
{
|
||||
return !(item.UseSound != null && item.useStyle == 2);
|
||||
}
|
||||
return true;
|
||||
return base.CanUseItem(item, player);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -42,7 +42,7 @@ namespace Decimation.Content.Buffs.Debuffs
|
||||
{
|
||||
return !(item.UseSound != null && item.useStyle == 2);
|
||||
}
|
||||
return true;
|
||||
return base.CanUseItem(item, player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 352 B After Width: | Height: | Size: 577 B |
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Decimation.Content.Items.Tools.Axes;
|
||||
using Decimation.Content.NPCs.Arachnus;
|
||||
using Decimation.Content.NPCs.DuneWyrm;
|
||||
using Decimation.Content.NPCs.DuneWyrm.AncientTombCrawler;
|
||||
@ -9,6 +10,7 @@ using Decimation.Lib.Util;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Terraria;
|
||||
using Terraria.ID;
|
||||
using Terraria.Localization;
|
||||
using Terraria.ModLoader;
|
||||
using Terraria.UI;
|
||||
|
||||
@ -105,14 +107,32 @@ namespace Decimation.Content
|
||||
|
||||
public override void AddRecipeGroups()
|
||||
{
|
||||
RecipeGroup gems = new RecipeGroup(() => Lang.misc[37] + " Gem", ItemID.Amethyst, ItemID.Topaz,
|
||||
ItemID.Emerald, ItemID.Sapphire, ItemID.Ruby, ItemID.Diamond);
|
||||
RecipeGroup gems = new RecipeGroup(() => Language.GetTextValue("LegacyMisc.37") + " Gem",
|
||||
ItemID.Amethyst,
|
||||
ItemID.Topaz,
|
||||
ItemID.Emerald,
|
||||
ItemID.Sapphire,
|
||||
ItemID.Ruby,
|
||||
ItemID.Diamond);
|
||||
RecipeGroup.RegisterGroup(DecimationRecipeGroupID.AnyGem, gems);
|
||||
|
||||
RecipeGroup threads = new RecipeGroup(() => Lang.misc[37] + " Thread", ItemID.BlackThread,
|
||||
ItemID.GreenThread, ItemID.PinkThread);
|
||||
RecipeGroup threads = new RecipeGroup(() => Language.GetTextValue("LegacyMisc.37") + " Thread",
|
||||
ItemID.BlackThread,
|
||||
ItemID.GreenThread,
|
||||
ItemID.PinkThread);
|
||||
RecipeGroup.RegisterGroup(DecimationRecipeGroupID.AnyThread, threads);
|
||||
|
||||
RecipeGroup.RegisterGroup("AnyGem", gems);
|
||||
RecipeGroup.RegisterGroup("AnyThread", threads);
|
||||
RecipeGroup corruptedWoodAxes = new RecipeGroup(
|
||||
() => Language.GetTextValue("LegacyMisc.37") + " Corrupted Wood Axe",
|
||||
ModContent.ItemType<ShadewoodAxe>(),
|
||||
ModContent.ItemType<EbonwoodAxe>());
|
||||
RecipeGroup.RegisterGroup(DecimationRecipeGroupID.CorruptedWoodAxes, corruptedWoodAxes);
|
||||
|
||||
RecipeGroup corruptedWoodHammers = new RecipeGroup(
|
||||
() => Language.GetTextValue("LegacyMisc.37") + " Corrupted Wood Hammer",
|
||||
ItemID.ShadewoodHammer,
|
||||
ItemID.EbonwoodHammer);
|
||||
RecipeGroup.RegisterGroup(DecimationRecipeGroupID.CorruptedWoodHammers, corruptedWoodHammers);
|
||||
}
|
||||
|
||||
public override void HandlePacket(BinaryReader reader, int whoAmI)
|
||||
|
||||
@ -69,7 +69,7 @@ namespace Decimation.Content
|
||||
public bool wasJumping = false;
|
||||
|
||||
public ICollection<int> EquippedAccessories { get; } = new List<int>();
|
||||
public bool HasShield { get; set; }
|
||||
public bool NextHitCrit { get; set; }
|
||||
|
||||
public Item AmuletSlotItem
|
||||
{
|
||||
@ -100,8 +100,6 @@ namespace Decimation.Content
|
||||
tideTurnerEquipped = false;
|
||||
vampire = false;
|
||||
|
||||
HasShield = false;
|
||||
|
||||
hasCursedAccessory = false;
|
||||
|
||||
player.statManaMax2 += hyperStars * HyperStar.ManaHealAmount;
|
||||
@ -403,14 +401,60 @@ namespace Decimation.Content
|
||||
}
|
||||
}
|
||||
|
||||
public override void ModifyHitNPC(Item item, NPC target, ref int damage, ref float knockback, ref bool crit)
|
||||
{
|
||||
if (NextHitCrit)
|
||||
{
|
||||
crit = true;
|
||||
NextHitCrit = false;
|
||||
}
|
||||
}
|
||||
|
||||
public override void ModifyHitNPCWithProj(Projectile proj, NPC target, ref int damage, ref float knockback,
|
||||
ref bool crit,
|
||||
ref int hitDirection)
|
||||
{
|
||||
if (NextHitCrit)
|
||||
{
|
||||
crit = true;
|
||||
NextHitCrit = false;
|
||||
}
|
||||
}
|
||||
|
||||
public override void ModifyHitPvp(Item item, Player target, ref int damage, ref bool crit)
|
||||
{
|
||||
if (NextHitCrit)
|
||||
{
|
||||
crit = true;
|
||||
NextHitCrit = false;
|
||||
}
|
||||
|
||||
if (target.TeamHasEquippedAccessory(ModContent.ItemType<TitanShield>())) damage -= (int) (damage * 0.35f);
|
||||
}
|
||||
|
||||
public override void ModifyHitPvpWithProj(Projectile proj, Player target, ref int damage, ref bool crit)
|
||||
{
|
||||
if (NextHitCrit)
|
||||
{
|
||||
crit = true;
|
||||
NextHitCrit = false;
|
||||
}
|
||||
}
|
||||
|
||||
public override void ModifyHitByNPC(NPC npc, ref int damage, ref bool crit)
|
||||
{
|
||||
_amuletSlotAmulet?.Synergy.OnPlayerHit(this, ref damage);
|
||||
|
||||
if (this.TeamHasEquippedAccessory(ModContent.ItemType<TitanShield>())) damage -= (int) (damage * 0.35f);
|
||||
else if (this.TeamHasEquippedAccessory(ModContent.ItemType<TitanicPaladinShield>())) damage -= (int) (damage * 0.30f);
|
||||
}
|
||||
|
||||
public override void ModifyHitByProjectile(Projectile proj, ref int damage, ref bool crit)
|
||||
{
|
||||
_amuletSlotAmulet?.Synergy.OnPlayerHit(this, ref damage);
|
||||
|
||||
if (this.TeamHasEquippedAccessory(ModContent.ItemType<TitanShield>())) damage -= (int) (damage * 0.35f);
|
||||
else if (this.TeamHasEquippedAccessory(ModContent.ItemType<TitanicPaladinShield>())) damage -= (int) (damage * 0.30f);
|
||||
}
|
||||
|
||||
private void SpawnWaspNecklaceWasps()
|
||||
@ -857,14 +901,4 @@ namespace Decimation.Content
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class PlayerPropertiesUpdater : GlobalItem
|
||||
{
|
||||
public override void UpdateAccessory(Item item, Player player, bool hideVisual)
|
||||
{
|
||||
DecimationPlayer modPlayer = player.GetModPlayer<DecimationPlayer>();
|
||||
if (item.type == ItemID.CobaltShield || item.type == ItemID.AnkhShield ||
|
||||
item.type == ItemID.PaladinsShield || item.type == ItemID.ObsidianShield) modPlayer.HasShield = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Content/DecimationRecipeGroupID.cs
Normal file
@ -0,0 +1,11 @@
|
||||
namespace Decimation.Content
|
||||
{
|
||||
public class DecimationRecipeGroupID
|
||||
{
|
||||
public const string AnyGem = "AnyGem";
|
||||
public const string AnyThread = "AnyThread";
|
||||
public const string CorruptedWoodAxes = "CorruptedAxes";
|
||||
public const string CorruptedWoodHammers = "CorruptedHammers";
|
||||
public const string CorruptedWoodPickaxes = "CorruptedPickaxes";
|
||||
}
|
||||
}
|
||||
@ -1,14 +1,12 @@
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using Terraria;
|
||||
using Terraria.ModLoader;
|
||||
using Terraria.World.Generation;
|
||||
using Terraria.GameContent.Generation;
|
||||
using Terraria.ModLoader.IO;
|
||||
using System.IO;
|
||||
using Decimation.Content.Projectiles.Boss.DuneWyrm;
|
||||
using Decimation.Content.Structures;
|
||||
using Microsoft.Xna.Framework;
|
||||
using System;
|
||||
using Terraria.ID;
|
||||
using Terraria;
|
||||
using Terraria.GameContent.Generation;
|
||||
using Terraria.ModLoader;
|
||||
using Terraria.ModLoader.IO;
|
||||
using Terraria.World.Generation;
|
||||
|
||||
namespace Decimation.Content
|
||||
{
|
||||
@ -45,6 +43,8 @@ namespace Decimation.Content
|
||||
downedDuneWyrm = downed.Contains("downedDuneWyrm");
|
||||
downedArachnus = downed.Contains("downedArachnus");
|
||||
downedWyvern = downed.Contains("downedWyvern");
|
||||
|
||||
Sundial.Reset();
|
||||
}
|
||||
public override void NetSend(BinaryWriter writer)
|
||||
{
|
||||
@ -69,19 +69,19 @@ namespace Decimation.Content
|
||||
if (loadVersion == 1)
|
||||
{
|
||||
byte flags = reader.ReadByte();
|
||||
DecimationWorld.downedBloodshotEye = ((flags & 1) != 0);
|
||||
DecimationWorld.downedDuneWyrm = ((flags & 2) != 0); //double flag numbers with each new boss
|
||||
DecimationWorld.downedArachnus = ((flags & 4) != 0);
|
||||
DecimationWorld.downedWyvern = ((flags & 8) != 0);
|
||||
downedBloodshotEye = ((flags & 1) != 0);
|
||||
downedDuneWyrm = ((flags & 2) != 0); //double flag numbers with each new boss
|
||||
downedArachnus = ((flags & 4) != 0);
|
||||
downedWyvern = ((flags & 8) != 0);
|
||||
}
|
||||
else if (loadVersion == 2)
|
||||
{
|
||||
byte flags = reader.ReadByte();
|
||||
byte flags2 = reader.ReadByte();
|
||||
DecimationWorld.downedBloodshotEye = ((flags & 1) != 0);
|
||||
DecimationWorld.downedDuneWyrm = ((flags & 2) != 0);
|
||||
DecimationWorld.downedArachnus = ((flags & 4) != 0);
|
||||
DecimationWorld.downedWyvern = ((flags & 8) != 0);
|
||||
downedBloodshotEye = ((flags & 1) != 0);
|
||||
downedDuneWyrm = ((flags & 2) != 0);
|
||||
downedArachnus = ((flags & 4) != 0);
|
||||
downedWyvern = ((flags & 8) != 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 46;
|
||||
item.height = 62;
|
||||
item.rare = Rarity.LightPurple.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 4);
|
||||
this.item.value = Item.sellPrice(0, 4);
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
|
||||
@ -26,7 +26,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.height = 62;
|
||||
item.rare = Rarity.LightPurple.GetRarityValue();
|
||||
|
||||
this.item.value = Item.buyPrice(0, 4);
|
||||
this.item.value = Item.sellPrice(0, 4);
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
|
||||
@ -18,7 +18,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 35;
|
||||
item.height = 22;
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
item.value = Item.buyPrice(0, 0, 0, 10);
|
||||
item.value = Item.sellPrice(0, 0, 0, 10);
|
||||
item.defense = 2;
|
||||
}
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 30;
|
||||
item.height = 30;
|
||||
item.rare = Rarity.Red.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 15);
|
||||
this.item.value = Item.sellPrice(0, 15);
|
||||
}
|
||||
|
||||
protected override List<ModRecipe> GetRecipes()
|
||||
|
||||
@ -21,7 +21,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 46;
|
||||
item.height = 62;
|
||||
item.rare = Rarity.LightPurple.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 4);
|
||||
this.item.value = Item.sellPrice(0, 4);
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
|
||||
@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 62;
|
||||
item.height = 46;
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 0, 0, 10);
|
||||
this.item.value = Item.sellPrice(0, 0, 0, 10);
|
||||
}
|
||||
|
||||
protected override List<ModRecipe> GetRecipes()
|
||||
|
||||
@ -21,7 +21,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 24;
|
||||
item.height = 32;
|
||||
item.rare = Rarity.Lime.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 50);
|
||||
this.item.value = Item.sellPrice(0, 50);
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
|
||||
@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 62;
|
||||
item.height = 46;
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 0, 0, 10);
|
||||
this.item.value = Item.sellPrice(0, 0, 0, 10);
|
||||
}
|
||||
|
||||
protected override List<ModRecipe> GetRecipes()
|
||||
|
||||
@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 54;
|
||||
item.height = 46;
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 0, 0, 10);
|
||||
this.item.value = Item.sellPrice(0, 0, 0, 10);
|
||||
}
|
||||
|
||||
protected override List<ModRecipe> GetRecipes()
|
||||
|
||||
@ -13,11 +13,11 @@ namespace Decimation.Content.Items.Accessories
|
||||
|
||||
protected override void InitAccessory()
|
||||
{
|
||||
item.width = 20;
|
||||
item.height = 20;
|
||||
item.width = 32;
|
||||
item.height = 32;
|
||||
item.rare = Rarity.Rainbow.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 5);
|
||||
this.item.expert = true;
|
||||
item.value = Item.sellPrice(gold: 5);
|
||||
item.expert = true;
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
|
||||
|
Before Width: | Height: | Size: 407 B After Width: | Height: | Size: 471 B |
@ -19,7 +19,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 32;
|
||||
item.height = 32;
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 0, 0, 10);
|
||||
this.item.value = Item.sellPrice(0, 0, 0, 10);
|
||||
}
|
||||
|
||||
protected override List<ModRecipe> GetRecipes()
|
||||
|
||||
@ -18,7 +18,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 24;
|
||||
item.height = 24;
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
item.value = Item.buyPrice(0, 0, 2);
|
||||
item.value = Item.sellPrice(0, 0, 2);
|
||||
item.defense = 1;
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 30;
|
||||
item.height = 28;
|
||||
item.rare = Rarity.Rainbow.GetRarityValue();
|
||||
this.item.value = Item.buyPrice(0, 45);
|
||||
this.item.value = Item.sellPrice(0, 45);
|
||||
this.item.expert = true;
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.height = 24;
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
|
||||
this.item.value = Item.buyPrice(0, 0, 0, 10);
|
||||
this.item.value = Item.sellPrice(0, 0, 0, 10);
|
||||
}
|
||||
|
||||
protected override List<ModRecipe> GetRecipes()
|
||||
|
||||
@ -23,7 +23,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
item.width = 46;
|
||||
item.height = 36;
|
||||
item.rare = Rarity.Rainbow.GetRarityValue();
|
||||
item.value = Item.buyPrice(0, 3);
|
||||
item.value = Item.sellPrice(0, 3);
|
||||
item.defense = 3;
|
||||
item.shieldSlot = 5;
|
||||
item.expert = true;
|
||||
|
||||
56
Content/Items/Accessories/TitanShield.cs
Normal file
@ -0,0 +1,56 @@
|
||||
using Decimation.Content.Items.Misc.Souls;
|
||||
using Decimation.Content.Items.Ores;
|
||||
using Decimation.Content.Tiles;
|
||||
using Decimation.Lib.Items;
|
||||
using Decimation.Lib.Util;
|
||||
using Decimation.Lib.Util.Builder;
|
||||
using Terraria;
|
||||
using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Items.Accessories
|
||||
{
|
||||
public class TitanShield : DecimationAccessory
|
||||
{
|
||||
protected override string ItemName => "Titan Shield";
|
||||
|
||||
protected override string ItemTooltip => "This is ridiculously heavy\n" +
|
||||
"Increases defense by 10\n" +
|
||||
"Increases all damages by 8%\n" +
|
||||
"Increases knockback by 8%\n" +
|
||||
"Increases all critical hit chances by 8%\n" +
|
||||
"Absords 35% of damage taken by members of your team";
|
||||
|
||||
protected override void InitAccessory()
|
||||
{
|
||||
item.width = 34;
|
||||
item.height = 40;
|
||||
item.defense = 10;
|
||||
item.value = Item.sellPrice(gold: 87, silver: 66);
|
||||
item.rare = Rarity.Cyan.GetRarityValue();
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
{
|
||||
player.allDamage *= 1.08f;
|
||||
player.meleeCrit = (int) (player.meleeCrit * 1.08f);
|
||||
player.rangedCrit = (int) (player.rangedCrit * 1.08f);
|
||||
player.magicCrit = (int) (player.magicCrit * 1.08f);
|
||||
player.thrownCrit = (int) (player.thrownCrit * 1.08f);
|
||||
|
||||
player.EquipAccessory(ModContent.ItemType<TitanicPaladinShield>());
|
||||
}
|
||||
|
||||
protected override ModRecipe GetRecipe()
|
||||
{
|
||||
return new RecipeBuilder(this)
|
||||
.WithIngredient(ModContent.ItemType<TitanicPaladinShield>())
|
||||
.WithIngredient(ModContent.ItemType<TitaniteBar>(), 15)
|
||||
.WithIngredient(ItemID.Ectoplasm, 50)
|
||||
.WithIngredient(ModContent.ItemType<SoulofSpite>(), 20)
|
||||
.WithIngredient(ModContent.ItemType<DenziumBar>(), 15)
|
||||
.WithStation(ModContent.TileType<TitanForge>())
|
||||
.Build();
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Accessories/TitanShield.png
Normal file
|
After Width: | Height: | Size: 589 B |
75
Content/Items/Accessories/TitanicPaladinShield.cs
Normal file
@ -0,0 +1,75 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using Decimation.Content.Tiles;
|
||||
using Decimation.Lib.Items;
|
||||
using Decimation.Lib.Util;
|
||||
using Decimation.Lib.Util.Builder;
|
||||
using Terraria;
|
||||
using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Items.Accessories
|
||||
{
|
||||
public class TitanicPaladinShield : DecimationAccessory
|
||||
{
|
||||
protected override string ItemName => "Titanic Paladin Shield";
|
||||
|
||||
protected override string ItemTooltip => "Increases defense by 8\n" +
|
||||
"Increases all damage by 5%\n" +
|
||||
"Increases knockback by 50%\n" +
|
||||
"Enables auto-swing on all melee weapons\n" +
|
||||
"Absords 30% of damage taken by members of your team";
|
||||
|
||||
protected override void InitAccessory()
|
||||
{
|
||||
item.width = 34;
|
||||
item.height = 42;
|
||||
item.defense = 8;
|
||||
item.value = Item.sellPrice(gold: 20, silver: 60);
|
||||
item.rare = Rarity.Yellow.GetRarityValue();
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
{
|
||||
player.allDamage *= 1.05f;
|
||||
}
|
||||
|
||||
protected override ModRecipe GetRecipe()
|
||||
{
|
||||
return new RecipeBuilder(this)
|
||||
.WithIngredient(ItemID.PaladinsShield)
|
||||
.WithIngredient(ItemID.TitanGlove)
|
||||
.WithIngredient(ItemID.SoulofNight, 15)
|
||||
.WithIngredient(ItemID.SoulofLight, 15)
|
||||
.WithIngredient(ItemID.SoulofMight, 15)
|
||||
.WithStation(ModContent.TileType<ChlorophyteAnvil>())
|
||||
.Build();
|
||||
}
|
||||
}
|
||||
|
||||
class TitanicPaladinShieldItemEffect : GlobalItem
|
||||
{
|
||||
private static readonly Dictionary<int, bool> OriginalAutoswingState = new Dictionary<int, bool>();
|
||||
|
||||
public override void SetDefaults(Item item)
|
||||
{
|
||||
OriginalAutoswingState[item.type] = item.autoReuse;
|
||||
}
|
||||
|
||||
public override void GetWeaponKnockback(Item item, Player player, ref float knockback)
|
||||
{
|
||||
if (player.HasEquippedAccessory(ModContent.ItemType<TitanicPaladinShield>()))
|
||||
{
|
||||
knockback *= 1.5f;
|
||||
|
||||
if (item.melee && !OriginalAutoswingState[item.type])
|
||||
item.autoReuse = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (item.autoReuse && !OriginalAutoswingState[item.type])
|
||||
item.autoReuse = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Accessories/TitanicPaladinShield.png
Normal file
|
After Width: | Height: | Size: 822 B |
76
Content/Items/Accessories/Trinity/Body.cs
Normal file
@ -0,0 +1,76 @@
|
||||
using System.Collections.Generic;
|
||||
using Decimation.Lib.Util;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Terraria;
|
||||
using Terraria.ModLoader;
|
||||
using Terraria.UI.Chat;
|
||||
|
||||
namespace Decimation.Content.Items.Accessories.Trinity
|
||||
{
|
||||
public class Body : TrinityAccessory
|
||||
{
|
||||
protected override string ItemName => "The Body";
|
||||
|
||||
protected override string ItemTooltip => "I feel all...\n" +
|
||||
"Increases maximum life by 50\n" +
|
||||
"Increases melee damage by 10%\n" +
|
||||
"Increases melee critical hit chances by 10%\n" +
|
||||
"Hostile projectiles have 10% chance to ricochet off you\nand target your enemies with 50% increased damage";
|
||||
|
||||
protected override void InitAccessory()
|
||||
{
|
||||
item.width = 10;
|
||||
item.height = 16;
|
||||
item.expert = true;
|
||||
item.expertOnly = true;
|
||||
item.rare = Rarity.Rainbow.GetRarityValue();
|
||||
item.value = Item.sellPrice(gold: 5);
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
{
|
||||
player.statLifeMax2 += 50;
|
||||
player.meleeDamage *= 1.10f;
|
||||
player.meleeCrit = (int) (player.meleeCrit * 1.10f);
|
||||
|
||||
base.UpdateAccessory(player, hideVisual);
|
||||
}
|
||||
|
||||
public override void ModifyTooltips(List<TooltipLine> tooltips)
|
||||
{
|
||||
tooltips.Add(new TooltipLine(mod, "trinity", "Trinity")
|
||||
{
|
||||
overrideColor = ChatManager.WaveColor(Color.Red)
|
||||
});
|
||||
}
|
||||
|
||||
public static bool BodyEffect(Projectile projectile, Player player, bool fromPlayer, ref int damage)
|
||||
{
|
||||
if (Main.expertMode && Main.rand.NextBool(10) &&
|
||||
(player.GetModPlayer().HasEquippedAccessory(ModContent.ItemType<Body>()) ||
|
||||
player.GetModPlayer().HasEquippedAccessory(ModContent.ItemType<Trinity>())))
|
||||
{
|
||||
return projectile.Richochet(player, fromPlayer, ref damage);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
class BodyProjectileEffects : GlobalProjectile
|
||||
{
|
||||
public override void ModifyHitPvp(Projectile projectile, Player target, ref int damage, ref bool crit)
|
||||
{
|
||||
Body.BodyEffect(projectile, target, true, ref damage);
|
||||
}
|
||||
|
||||
public override void ModifyHitPlayer(Projectile projectile, Player target, ref int damage, ref bool crit)
|
||||
{
|
||||
if (Body.BodyEffect(projectile, target, false, ref damage))
|
||||
{
|
||||
projectile.hostile = false;
|
||||
projectile.friendly = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Accessories/Trinity/Body.png
Normal file
|
After Width: | Height: | Size: 201 B |
108
Content/Items/Accessories/Trinity/Mind.cs
Normal file
@ -0,0 +1,108 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Decimation.Content.Projectiles.Item.Accessory.Trinity;
|
||||
using Decimation.Lib.Util;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Terraria;
|
||||
using Terraria.ModLoader;
|
||||
using Terraria.UI.Chat;
|
||||
|
||||
namespace Decimation.Content.Items.Accessories.Trinity
|
||||
{
|
||||
public class Mind : TrinityAccessory
|
||||
{
|
||||
private static readonly float TrinityBeamSpeed = 8f;
|
||||
private static readonly int TrinityBeamDamage = 35;
|
||||
|
||||
protected override string ItemName => "The Mind";
|
||||
|
||||
protected override string ItemTooltip => "I know all...\n" +
|
||||
"Increases block placement and mining speed by 10%\n" +
|
||||
"Increases ranged and thrown damage by 10%\n" +
|
||||
"Increases ranged and thrown critical hit chances by 10%\n" +
|
||||
"Increases view range\n" +
|
||||
"Each second, there is 4% chance to fire a Trinity Beam toward a near enemy";
|
||||
|
||||
private int _trinityBeamCounter;
|
||||
|
||||
protected override void InitAccessory()
|
||||
{
|
||||
item.width = 10;
|
||||
item.height = 16;
|
||||
item.expert = true;
|
||||
item.rare = Rarity.Rainbow.GetRarityValue();
|
||||
item.value = Item.sellPrice(gold: 5);
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
{
|
||||
player.pickSpeed *= 1.10f;
|
||||
player.tileSpeed *= 1.10f;
|
||||
player.rangedDamage *= 1.10f;
|
||||
player.rangedCrit = (int) (player.rangedCrit * 1.10f);
|
||||
player.thrownDamage *= 1.10f;
|
||||
player.thrownCrit = (int) (player.thrownCrit * 1.10f);
|
||||
player.scope = true;
|
||||
|
||||
if (_trinityBeamCounter >= 60)
|
||||
{
|
||||
MindEffect(player);
|
||||
_trinityBeamCounter = 0;
|
||||
}
|
||||
_trinityBeamCounter++;
|
||||
|
||||
base.UpdateAccessory(player, hideVisual);
|
||||
}
|
||||
|
||||
public override void ModifyTooltips(List<TooltipLine> tooltips)
|
||||
{
|
||||
tooltips.Add(new TooltipLine(mod, "trinity", "Trinity")
|
||||
{
|
||||
overrideColor = ChatManager.WaveColor(Color.Yellow)
|
||||
});
|
||||
}
|
||||
|
||||
public override void NetSend(BinaryWriter writer)
|
||||
{
|
||||
writer.Write(_trinityBeamCounter);
|
||||
}
|
||||
|
||||
public override void NetRecieve(BinaryReader reader)
|
||||
{
|
||||
_trinityBeamCounter = reader.ReadInt32();
|
||||
}
|
||||
|
||||
public static void MindEffect(Player player)
|
||||
{
|
||||
if (Main.rand.NextBool(25))
|
||||
{
|
||||
NPC target = null;
|
||||
float lastDistance = float.MaxValue;
|
||||
for (int n = 0; n < Main.npc.Length; n++)
|
||||
{
|
||||
NPC npcTarget = Main.npc[n];
|
||||
if (npcTarget != null)
|
||||
{
|
||||
float distance = npcTarget.Distance(player.position);
|
||||
if (npcTarget.active && !npcTarget.friendly && distance < 1000f && distance < lastDistance)
|
||||
{
|
||||
target = npcTarget;
|
||||
lastDistance = distance;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (target != null)
|
||||
{
|
||||
Vector2 velocity = target.Center - player.Center;
|
||||
velocity.Normalize();
|
||||
velocity *= TrinityBeamSpeed;
|
||||
|
||||
Projectile.NewProjectile(player.Center, velocity, ModContent.ProjectileType<TrinityBeam>(),
|
||||
TrinityBeamDamage, 2f,
|
||||
player.whoAmI);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Accessories/Trinity/Mind.png
Normal file
|
After Width: | Height: | Size: 204 B |
111
Content/Items/Accessories/Trinity/Soul.cs
Normal file
@ -0,0 +1,111 @@
|
||||
using System.Collections.Generic;
|
||||
using Decimation.Lib.Util;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Terraria;
|
||||
using Terraria.ModLoader;
|
||||
using Terraria.UI.Chat;
|
||||
|
||||
namespace Decimation.Content.Items.Accessories.Trinity
|
||||
{
|
||||
public class Soul : TrinityAccessory
|
||||
{
|
||||
protected override string ItemName => "The Soul";
|
||||
protected override string ItemTooltip => "I am all...\n" +
|
||||
"Increases maximum mana by 50\n" +
|
||||
"Increases magic and minion damage by 10%\n" +
|
||||
"Increases magic critical hit chances by 10%\n" +
|
||||
"Increases minions knockback by 10%" +
|
||||
"Criticals hits leech mana\n" +
|
||||
"Hostile projectiles have 10% chance to phase through you,\nnegating all damage and causing your next attack to be a critical hit";
|
||||
|
||||
protected override void InitAccessory()
|
||||
{
|
||||
item.width = 10;
|
||||
item.height = 16;
|
||||
item.expert = true;
|
||||
item.rare = Rarity.Rainbow.GetRarityValue();
|
||||
item.value = Item.sellPrice(gold: 5);
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
{
|
||||
player.statManaMax2 += 50;
|
||||
player.magicDamage *= 1.10f;
|
||||
player.magicCrit *= (int) (player.magicCrit * 1.10f);
|
||||
player.minionDamage *= 1.10f;
|
||||
player.minionKB *= 1.10f;
|
||||
|
||||
base.UpdateAccessory(player, hideVisual);
|
||||
}
|
||||
|
||||
public override void ModifyTooltips(List<TooltipLine> tooltips)
|
||||
{
|
||||
tooltips.Add(new TooltipLine(mod, "trinity", "Trinity")
|
||||
{
|
||||
overrideColor = ChatManager.WaveColor(Color.Blue)
|
||||
});
|
||||
}
|
||||
|
||||
public static void SoulHitEffect(Player target, ref int damage)
|
||||
{
|
||||
DecimationPlayer targetModPlayer = target.GetModPlayer();
|
||||
if (Main.rand.NextBool(10) && (targetModPlayer.HasEquippedAccessory(ModContent.ItemType<Soul>()) || targetModPlayer.HasEquippedAccessory(ModContent.ItemType<Trinity>())))
|
||||
{
|
||||
damage = 0;
|
||||
targetModPlayer.NextHitCrit = true;
|
||||
}
|
||||
}
|
||||
|
||||
public static void SoulEffect(Player player, Entity target, bool crit)
|
||||
{
|
||||
if (crit && player.GetModPlayer().HasEquippedAccessory(ModContent.ItemType<Soul>()))
|
||||
{
|
||||
player.LeechMana(target);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SoulItemEffects : GlobalItem
|
||||
{
|
||||
public override void OnHitNPC(Item item, Player player, NPC target, int damage, float knockBack, bool crit)
|
||||
{
|
||||
Soul.SoulEffect(player, target, crit);
|
||||
}
|
||||
|
||||
public override void OnHitPvp(Item item, Player player, Player target, int damage, bool crit)
|
||||
{
|
||||
Soul.SoulEffect(player, target, crit);
|
||||
}
|
||||
}
|
||||
|
||||
class SoulProjectileEffects : GlobalProjectile
|
||||
{
|
||||
public override void OnHitNPC(Projectile projectile, NPC target, int damage, float knockback, bool crit)
|
||||
{
|
||||
Player owner = Main.player[projectile.owner];
|
||||
if (owner != null && owner.active && !owner.dead)
|
||||
{
|
||||
Soul.SoulEffect(owner, target, crit);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnHitPvp(Projectile projectile, Player target, int damage, bool crit)
|
||||
{
|
||||
Player owner = Main.player[projectile.owner];
|
||||
if (owner != null && owner.active && !owner.dead)
|
||||
{
|
||||
Soul.SoulEffect(owner, target, crit);
|
||||
}
|
||||
}
|
||||
|
||||
public override void ModifyHitPvp(Projectile projectile, Player target, ref int damage, ref bool crit)
|
||||
{
|
||||
Soul.SoulHitEffect(target, ref damage);
|
||||
}
|
||||
|
||||
public override void ModifyHitPlayer(Projectile projectile, Player target, ref int damage, ref bool crit)
|
||||
{
|
||||
Soul.SoulHitEffect(target, ref damage);
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Accessories/Trinity/Soul.png
Normal file
|
After Width: | Height: | Size: 201 B |
115
Content/Items/Accessories/Trinity/Trinity.cs
Normal file
@ -0,0 +1,115 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Decimation.Content.Items.Misc.ConcentratedSouls;
|
||||
using Decimation.Content.Tiles;
|
||||
using Decimation.Lib.Util;
|
||||
using Decimation.Lib.Util.Builder;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Terraria;
|
||||
using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using Terraria.UI.Chat;
|
||||
|
||||
namespace Decimation.Content.Items.Accessories.Trinity
|
||||
{
|
||||
public class Trinity : TrinityAccessory
|
||||
{
|
||||
protected override string ItemName => "The Trinity";
|
||||
|
||||
protected override string ItemTooltip => "True Equilibrium...\n" +
|
||||
"Increases maximum life by 50\n" +
|
||||
"Increases maximum mana by 50\n" +
|
||||
"Increases all damage by 10%\n" +
|
||||
"Increases all critical hit chances by 10%\n" +
|
||||
"Increases minions knockback by 10%\n" +
|
||||
"Increases view range\n" +
|
||||
"Each second, there is 4% chance to fire a Trinity Beam toward a near enemy\n" +
|
||||
"Criticals hits leech mana\n" +
|
||||
"Hostile projectiles have 10% chance to phase through you,\nnegating all damage and causing your next attack to be a critical hit\n" +
|
||||
"Hostile projectiles have 10% chance to ricochet off you\nand target your enemies with 50% increased damage";
|
||||
|
||||
private int _trinityBeamCounter;
|
||||
|
||||
protected override void InitAccessory()
|
||||
{
|
||||
item.width = 34;
|
||||
item.height = 28;
|
||||
item.expert = true;
|
||||
item.value = Item.sellPrice(gold: 15);
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
{
|
||||
// Soul
|
||||
player.statManaMax2 += 50;
|
||||
player.magicDamage *= 1.10f;
|
||||
player.magicCrit *= (int) (player.magicCrit * 1.10f);
|
||||
player.minionDamage *= 1.10f;
|
||||
player.minionKB *= 1.10f;
|
||||
|
||||
// Body
|
||||
player.statLifeMax2 += 50;
|
||||
player.meleeDamage *= 1.10f;
|
||||
player.meleeCrit = (int) (player.meleeCrit * 1.10f);
|
||||
|
||||
// Mind
|
||||
player.pickSpeed *= 1.10f;
|
||||
player.tileSpeed *= 1.10f;
|
||||
player.rangedDamage *= 1.10f;
|
||||
player.rangedCrit = (int) (player.rangedCrit * 1.10f);
|
||||
player.thrownDamage *= 1.10f;
|
||||
player.thrownCrit = (int) (player.thrownCrit * 1.10f);
|
||||
player.scope = true;
|
||||
|
||||
if (_trinityBeamCounter >= 60)
|
||||
{
|
||||
Mind.MindEffect(player);
|
||||
_trinityBeamCounter = 0;
|
||||
}
|
||||
_trinityBeamCounter++;
|
||||
|
||||
player.EquipAccessory(ModContent.ItemType<Body>());
|
||||
player.EquipAccessory(ModContent.ItemType<Soul>());
|
||||
player.EquipAccessory(ModContent.ItemType<Mind>());
|
||||
|
||||
base.UpdateAccessory(player, hideVisual);
|
||||
}
|
||||
|
||||
public override void ModifyTooltips(List<TooltipLine> tooltips)
|
||||
{
|
||||
tooltips.Add(new TooltipLine(mod, "trinity", "Trinity")
|
||||
{
|
||||
overrideColor = ChatManager.WaveColor(Color.Orange)
|
||||
});
|
||||
}
|
||||
|
||||
public override void NetSend(BinaryWriter writer)
|
||||
{
|
||||
writer.Write(_trinityBeamCounter);
|
||||
}
|
||||
|
||||
public override void NetRecieve(BinaryReader reader)
|
||||
{
|
||||
_trinityBeamCounter = reader.ReadInt32();
|
||||
}
|
||||
|
||||
protected override ModRecipe GetRecipe()
|
||||
{
|
||||
return new RecipeBuilder(this)
|
||||
.WithIngredient(ModContent.ItemType<Body>())
|
||||
.WithIngredient(ModContent.ItemType<Soul>())
|
||||
.WithIngredient(ModContent.ItemType<Mind>())
|
||||
.WithIngredient(ModContent.ItemType<ConcentratedFlight>())
|
||||
.WithIngredient(ModContent.ItemType<ConcentratedMight>())
|
||||
.WithIngredient(ModContent.ItemType<ConcentratedSight>())
|
||||
.WithIngredient(ModContent.ItemType<ConcentratedFright>())
|
||||
.WithIngredient(ModContent.ItemType<ConcentratedLife>())
|
||||
.WithIngredient(ModContent.ItemType<ConcentratedTime>())
|
||||
.WithIngredient(ModContent.ItemType<ConcentratedNight>())
|
||||
.WithIngredient(ModContent.ItemType<ConcentratedLight>())
|
||||
.WithIngredient(ItemID.HallowedBar, 10)
|
||||
.WithStation(ModContent.TileType<ChlorophyteAnvil>())
|
||||
.Build();
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Accessories/Trinity/Trinity.png
Normal file
|
After Width: | Height: | Size: 504 B |
47
Content/Items/Accessories/Trinity/TrinityAccessory.cs
Normal file
@ -0,0 +1,47 @@
|
||||
using Decimation.Lib.Items;
|
||||
using Decimation.Lib.Util;
|
||||
using Terraria;
|
||||
using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
using Terraria.Utilities;
|
||||
|
||||
namespace Decimation.Content.Items.Accessories.Trinity
|
||||
{
|
||||
public abstract class TrinityAccessory : DecimationAccessory
|
||||
{
|
||||
public override bool CanEquipAccessory(Player player, int slot)
|
||||
{
|
||||
return !player.HasEquippedAccessory(ModContent.ItemType<Body>()) &&
|
||||
!player.HasEquippedAccessory(ModContent.ItemType<Soul>()) &&
|
||||
!player.HasEquippedAccessory(ModContent.ItemType<Mind>()) &&
|
||||
!player.HasEquippedAccessory(ModContent.ItemType<Trinity>());
|
||||
}
|
||||
|
||||
public override bool? PrefixChance(int pre, UnifiedRandom rand)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
class TrinityBossBagEffects : GlobalItem
|
||||
{
|
||||
public override void OpenVanillaBag(string context, Player player, int arg)
|
||||
{
|
||||
if (context == "bossBag")
|
||||
{
|
||||
switch (arg)
|
||||
{
|
||||
case ItemID.TwinsBossBag:
|
||||
player.QuickSpawnItem(ModContent.ItemType<Mind>());
|
||||
break;
|
||||
case ItemID.DestroyerBossBag:
|
||||
player.QuickSpawnItem(ModContent.ItemType<Body>());
|
||||
break;
|
||||
case ItemID.SkeletronPrimeBossBag:
|
||||
player.QuickSpawnItem(ModContent.ItemType<Soul>());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -20,7 +20,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
{
|
||||
item.width = 26;
|
||||
item.height = 32;
|
||||
item.value = Item.buyPrice(gold: 19, silver: 70);
|
||||
item.value = Item.sellPrice(gold: 19, silver: 70);
|
||||
item.rare = Rarity.LightPurple.GetRarityValue();
|
||||
}
|
||||
|
||||
|
||||
@ -16,9 +16,9 @@ namespace Decimation.Content.Items.Accessories
|
||||
|
||||
protected override void InitAccessory()
|
||||
{
|
||||
item.width = 30;
|
||||
item.width = 32;
|
||||
item.height = 32;
|
||||
item.value = Item.buyPrice(gold: 1, silver: 70);
|
||||
item.value = Item.sellPrice(gold: 1, silver: 70);
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
}
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 594 B After Width: | Height: | Size: 471 B |
@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Accessories
|
||||
{
|
||||
item.width = 32;
|
||||
item.height = 30;
|
||||
item.value = Item.buyPrice(silver: 10);
|
||||
item.value = Item.sellPrice(silver: 10);
|
||||
item.rare = Rarity.Blue.GetRarityValue();
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Decimation.Content.Items.Misc.CondensedSouls;
|
||||
using Decimation.Content.Items.Misc.ConcentratedSouls;
|
||||
using Decimation.Content.Items.Ores;
|
||||
using Decimation.Content.Projectiles;
|
||||
using Decimation.Content.Projectiles.Item.Accessory;
|
||||
using Decimation.Content.Tiles;
|
||||
using Decimation.Lib.Items;
|
||||
using Decimation.Lib.Util;
|
||||
@ -24,16 +24,16 @@ namespace Decimation.Content.Items.Accessories.Wings
|
||||
item.height = 26;
|
||||
item.rare = Rarity.Red.GetRarityValue();
|
||||
|
||||
this.item.value = Item.buyPrice(0, 5);
|
||||
this.item.value = Item.sellPrice(0, 5);
|
||||
}
|
||||
|
||||
public override void UpdateAccessory(Player player, bool hideVisual)
|
||||
{
|
||||
player.wingTimeMax = 240;
|
||||
Lighting.AddLight((int)(player.position.X + player.width / 2f) / 16,
|
||||
(int)(player.position.Y + player.height / 2f) / 16, 1.05f, 0.95f, 0.55f);
|
||||
Lighting.AddLight((int) (player.position.X + player.width / 2f) / 16,
|
||||
(int) (player.position.Y + player.height / 2f) / 16, 1.05f, 0.95f, 0.55f);
|
||||
|
||||
if ((int)player.wingTime % 2 == 1)
|
||||
if ((int) player.wingTime % 2 == 1)
|
||||
Projectile.NewProjectile(player.Center, new Vector2(0, 0), ModContent.ProjectileType<Ember>(), 25, 5,
|
||||
player.whoAmI);
|
||||
}
|
||||
@ -56,14 +56,14 @@ namespace Decimation.Content.Items.Accessories.Wings
|
||||
|
||||
protected override List<ModRecipe> GetRecipes()
|
||||
{
|
||||
ModRecipe recipe = GetNewModRecipe(this, 1, new List<int> { ModContent.TileType<TitanForge>() });
|
||||
ModRecipe recipe = GetNewModRecipe(this, 1, new List<int> {ModContent.TileType<TitanForge>()});
|
||||
|
||||
recipe.AddIngredient(ItemID.BeetleWings);
|
||||
recipe.AddIngredient(ItemID.WingsSolar);
|
||||
recipe.AddIngredient(ModContent.ItemType<CondensedSpite>(), 2);
|
||||
recipe.AddIngredient(ModContent.ItemType<ConcentratedSpite>(), 2);
|
||||
recipe.AddIngredient(ModContent.ItemType<DenziumBar>(), 5);
|
||||
|
||||
return new List<ModRecipe> { recipe };
|
||||
return new List<ModRecipe> {recipe};
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -24,7 +24,7 @@ namespace Decimation.Content.Items.Ammo
|
||||
item.height = 8;
|
||||
item.knockBack = 1;
|
||||
item.rare = Rarity.Orange.GetRarityValue();
|
||||
item.value = Item.buyPrice(0, 0, 10);
|
||||
item.value = Item.sellPrice(0, 0, 10);
|
||||
item.consumable = true;
|
||||
|
||||
this.item.shootSpeed = 2f;
|
||||
|
||||
@ -11,9 +11,9 @@ using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Items.Ammo
|
||||
{
|
||||
internal class TitanicStyngerBolt : DecimationAmmo
|
||||
internal class ScytheStyngerBolt : DecimationAmmo
|
||||
{
|
||||
protected override string ItemName => "Titanic Stynger Bolt";
|
||||
protected override string ItemName => "The Scythe Stynger Bolt";
|
||||
protected override string ItemTooltip => "Explodes into deadly shrapnel.";
|
||||
protected override string Projectile => "TitanicStyngerBolt";
|
||||
protected override int Ammo => AmmoID.StyngerBolt;
|
||||
@ -25,7 +25,7 @@ namespace Decimation.Content.Items.Ammo
|
||||
item.rare = Rarity.Orange.GetRarityValue();
|
||||
item.width = 8;
|
||||
item.height = 8;
|
||||
item.value = Item.buyPrice(0, 0, 10);
|
||||
item.value = Item.sellPrice(0, 0, 10);
|
||||
item.consumable = true;
|
||||
|
||||
this.item.shootSpeed = 2f;
|
||||
|
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 318 B |
@ -20,7 +20,7 @@ namespace Decimation.Content.Items.Ammo
|
||||
item.knockBack = 2;
|
||||
item.width = 14;
|
||||
item.height = 32;
|
||||
item.value = Item.buyPrice(0, 0, 0, 55);
|
||||
item.value = Item.sellPrice(0, 0, 0, 55);
|
||||
|
||||
this.item.shootSpeed = 2.5f;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 375 B After Width: | Height: | Size: 343 B |
@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Boss.Arachnus
|
||||
{
|
||||
item.width = 32;
|
||||
item.height = 32;
|
||||
item.value = Item.buyPrice(0, 45);
|
||||
item.value = Item.sellPrice(0, 45);
|
||||
item.rare = Rarity.Red.GetRarityValue();
|
||||
item.consumable = true;
|
||||
item.useStyle = 4;
|
||||
|
||||
@ -14,12 +14,11 @@ namespace Decimation.Content.Items.Boss.Arachnus
|
||||
protected override void Init()
|
||||
{
|
||||
item.width = 20;
|
||||
item.height = 20;
|
||||
item.height = 36;
|
||||
item.consumable = true;
|
||||
item.value = Item.buyPrice(0, 45);
|
||||
item.value = Item.sellPrice(0, 45);
|
||||
item.rare = Rarity.Red.GetRarityValue();
|
||||
|
||||
this.item.maxStack = 1;
|
||||
item.maxStack = 1;
|
||||
}
|
||||
|
||||
public class DropFromMoonLord : GlobalNPC
|
||||
|
||||
|
Before Width: | Height: | Size: 417 B After Width: | Height: | Size: 469 B |
@ -14,14 +14,13 @@ namespace Decimation.Content.Items.Boss.Bloodshot
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
item.width = 20;
|
||||
item.height = 24;
|
||||
item.width = 22;
|
||||
item.height = 26;
|
||||
item.consumable = true;
|
||||
item.useStyle = 4;
|
||||
item.useAnimation = 30;
|
||||
item.useTime = 30;
|
||||
|
||||
this.item.maxStack = 1;
|
||||
item.maxStack = 1;
|
||||
}
|
||||
|
||||
public override bool CanUseItem(Player player)
|
||||
|
||||
|
Before Width: | Height: | Size: 434 B After Width: | Height: | Size: 459 B |
|
Before Width: | Height: | Size: 506 B After Width: | Height: | Size: 561 B |
@ -16,7 +16,7 @@ namespace Decimation.Content.Items.Boss.DuneWyrm
|
||||
{
|
||||
item.width = 32;
|
||||
item.height = 32;
|
||||
item.value = Item.buyPrice(0, 0, 13);
|
||||
item.value = Item.sellPrice(0, 0, 13);
|
||||
item.useStyle = 4;
|
||||
item.useAnimation = 30;
|
||||
item.useTime = 30;
|
||||
|
||||
@ -2,6 +2,7 @@ using Decimation.Content.Items.Misc.Souls;
|
||||
using Decimation.Content.Items.Placeable.DuneWyrm;
|
||||
using Decimation.Content.Items.Tools;
|
||||
using Decimation.Content.Items.Vanity.DuneWyrm;
|
||||
using Decimation.Content.Items.Weapons.DuneWyrm;
|
||||
using Decimation.Lib.Items;
|
||||
using Terraria;
|
||||
using Terraria.ID;
|
||||
@ -18,10 +19,24 @@ namespace Decimation.Content.Items.Boss.DuneWyrm
|
||||
player.QuickSpawnItem(ModContent.ItemType<SoulofTime>(), Main.rand.Next(20, 35));
|
||||
player.QuickSpawnItem(ItemID.FossilOre, Main.rand.Next(10, 15));
|
||||
player.QuickSpawnItem(ModContent.ItemType<TheHourGlass>());
|
||||
|
||||
if (Main.rand.NextBool(7))
|
||||
player.QuickSpawnItem(ModContent.ItemType<DuneWyrmMask>());
|
||||
if (Main.rand.NextBool(13))
|
||||
player.QuickSpawnItem(ModContent.ItemType<DuneWyrmTrophy>());
|
||||
|
||||
switch (Main.rand.Next(3))
|
||||
{
|
||||
case 0:
|
||||
player.QuickSpawnItem(ModContent.ItemType<Sundial>());
|
||||
break;
|
||||
case 1:
|
||||
player.QuickSpawnItem(ModContent.ItemType<StaffofShiftingSands>());
|
||||
break;
|
||||
case 2:
|
||||
player.QuickSpawnItem(ModContent.ItemType<Timekeeper>());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -142,14 +142,17 @@ namespace Decimation.Content.Items
|
||||
CursedNPC.DamageBonus = 7;
|
||||
}
|
||||
}
|
||||
|
||||
base.UpdateAccessory(item, player, hideVisual);
|
||||
}
|
||||
|
||||
public override bool CanEquipAccessory(Item item, Player player, int slot)
|
||||
{
|
||||
// Maximize to one cursed item at once
|
||||
DecimationPlayer modPlayer = player.GetModPlayer<DecimationPlayer>();
|
||||
return !modPlayer.hasCursedAccessory ||
|
||||
modPlayer.hasCursedAccessory && !item.GetGlobalItem<CursedItem>().Cursed;
|
||||
if (!modPlayer.hasCursedAccessory ||
|
||||
modPlayer.hasCursedAccessory && !item.GetGlobalItem<CursedItem>().Cursed) return true;
|
||||
return base.CanEquipAccessory(item, player, slot);
|
||||
}
|
||||
|
||||
public override void NetSend(Item item, BinaryWriter writer)
|
||||
@ -272,12 +275,7 @@ namespace Decimation.Content.Items
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool ConsumeItem(Item item, Player player)
|
||||
{
|
||||
return true;
|
||||
return base.UseItem(item, player);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,11 +9,9 @@ namespace Decimation.Content.Items.Misc
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
item.width = 16;
|
||||
item.height = 16;
|
||||
item.width = 20;
|
||||
item.height = 20;
|
||||
item.value = 100;
|
||||
|
||||
this.item.maxStack = 999;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 279 B |
@ -14,7 +14,7 @@ namespace Decimation.Content.Items.Misc
|
||||
item.width = 30;
|
||||
item.height = 40;
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
item.value = Item.buyPrice(gold: 5);
|
||||
item.value = Item.sellPrice(gold: 5);
|
||||
item.useStyle = 1;
|
||||
item.useTime = 20;
|
||||
item.useAnimation = 20;
|
||||
|
||||
10
Content/Items/Misc/ConcentratedSouls/ConcentratedFlight.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using Terraria.ID;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
public class ConcentratedFlight : ConcentratedSoul
|
||||
{
|
||||
protected override string ItemName => "Concentrated Flight";
|
||||
public override int Soul => ItemID.SoulofFlight;
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Misc/ConcentratedSouls/ConcentratedFlight.png
Normal file
|
After Width: | Height: | Size: 663 B |
10
Content/Items/Misc/ConcentratedSouls/ConcentratedFright.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using Terraria.ID;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
public class ConcentratedFright : ConcentratedSoul
|
||||
{
|
||||
protected override string ItemName => "Concentrated Fright";
|
||||
public override int Soul => ItemID.SoulofFright;
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Misc/ConcentratedSouls/ConcentratedFright.png
Normal file
|
After Width: | Height: | Size: 653 B |
11
Content/Items/Misc/ConcentratedSouls/ConcentratedLife.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using Decimation.Content.Items.Misc.Souls;
|
||||
using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
public class ConcentratedLife : ConcentratedSoul
|
||||
{
|
||||
protected override string ItemName => "Concentrated Life";
|
||||
public override int Soul => ModContent.ItemType<SoulofLife>();
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Misc/ConcentratedSouls/ConcentratedLife.png
Normal file
|
After Width: | Height: | Size: 664 B |
10
Content/Items/Misc/ConcentratedSouls/ConcentratedLight.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using Terraria.ID;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
public class ConcentratedLight : ConcentratedSoul
|
||||
{
|
||||
protected override string ItemName => "Concentrated Light";
|
||||
public override int Soul => ItemID.SoulofLight;
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Misc/ConcentratedSouls/ConcentratedLight.png
Normal file
|
After Width: | Height: | Size: 658 B |
10
Content/Items/Misc/ConcentratedSouls/ConcentratedMight.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using Terraria.ID;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
public class ConcentratedMight : ConcentratedSoul
|
||||
{
|
||||
protected override string ItemName => "Concentrated Might";
|
||||
public override int Soul => ItemID.SoulofMight;
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Misc/ConcentratedSouls/ConcentratedMight.png
Normal file
|
After Width: | Height: | Size: 652 B |
10
Content/Items/Misc/ConcentratedSouls/ConcentratedNight.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using Terraria.ID;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
public class ConcentratedNight : ConcentratedSoul
|
||||
{
|
||||
protected override string ItemName => "Concentrated Night";
|
||||
public override int Soul => ItemID.SoulofNight;
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Misc/ConcentratedSouls/ConcentratedNight.png
Normal file
|
After Width: | Height: | Size: 683 B |
10
Content/Items/Misc/ConcentratedSouls/ConcentratedSight.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using Terraria.ID;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
public class ConcentratedSight : ConcentratedSoul
|
||||
{
|
||||
protected override string ItemName => "Concentrated Sight";
|
||||
public override int Soul => ItemID.SoulofSight;
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Misc/ConcentratedSouls/ConcentratedSight.png
Normal file
|
After Width: | Height: | Size: 659 B |
31
Content/Items/Misc/ConcentratedSouls/ConcentratedSoul.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using Decimation.Lib.Items;
|
||||
using Decimation.Lib.Util;
|
||||
using Decimation.Lib.Util.Builder;
|
||||
using Terraria;
|
||||
using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
public abstract class ConcentratedSoul : DecimationItem
|
||||
{
|
||||
public abstract int Soul { get; }
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
item.width = 38;
|
||||
item.height = 50;
|
||||
item.value = Item.sellPrice(gold: 1, silver: 50);
|
||||
item.rare = Rarity.Pink.GetRarityValue();
|
||||
item.maxStack = 99;
|
||||
}
|
||||
|
||||
protected override ModRecipe GetRecipe()
|
||||
{
|
||||
return new RecipeBuilder(this)
|
||||
.WithIngredient(Soul, 50)
|
||||
.WithStation(TileID.AlchemyTable)
|
||||
.Build();
|
||||
}
|
||||
}
|
||||
}
|
||||
12
Content/Items/Misc/ConcentratedSouls/ConcentratedSpite.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using Decimation.Content.Items.Misc.Souls;
|
||||
using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
internal class ConcentratedSpite : ConcentratedSoul
|
||||
{
|
||||
protected override string ItemName => "Condensed Spite";
|
||||
protected override string ItemTooltip => "His soul emanates a primal sense of hatred";
|
||||
public override int Soul => ModContent.ItemType<SoulofSpite>();
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Misc/ConcentratedSouls/ConcentratedSpite.png
Normal file
|
After Width: | Height: | Size: 725 B |
11
Content/Items/Misc/ConcentratedSouls/ConcentratedTime.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using Decimation.Content.Items.Misc.Souls;
|
||||
using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.ConcentratedSouls
|
||||
{
|
||||
public class ConcentratedTime : ConcentratedSoul
|
||||
{
|
||||
protected override string ItemName => "Concentrated Time";
|
||||
public override int Soul => ModContent.ItemType<SoulofTime>();
|
||||
}
|
||||
}
|
||||
BIN
Content/Items/Misc/ConcentratedSouls/ConcentratedTime.png
Normal file
|
After Width: | Height: | Size: 709 B |
@ -1,41 +0,0 @@
|
||||
using Decimation.Content.Items.Misc.Souls;
|
||||
using Decimation.Content.Tiles;
|
||||
using Decimation.Lib.Items;
|
||||
using Decimation.Lib.Util;
|
||||
using Terraria;
|
||||
using Terraria.DataStructures;
|
||||
using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.CondensedSouls
|
||||
{
|
||||
internal class CondensedSpite : DecimationItem
|
||||
{
|
||||
protected override string ItemName => "Condensed Spite";
|
||||
protected override string ItemTooltip => "his soul emanates a primal sense of hatred";
|
||||
protected override DrawAnimation Animation => new DrawAnimationVertical(5, 4);
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
this.item.CloneDefaults(ItemID.SoulofSight);
|
||||
|
||||
item.width = 44;
|
||||
item.height = 44;
|
||||
item.value = Item.buyPrice(0, 50);
|
||||
item.rare = Rarity.Red.GetRarityValue();
|
||||
|
||||
ItemID.Sets.AnimatesAsSoul[this.item.type] = true;
|
||||
ItemID.Sets.ItemIconPulse[this.item.type] = true;
|
||||
ItemID.Sets.ItemNoGravity[this.item.type] = true;
|
||||
}
|
||||
|
||||
protected override ModRecipe GetRecipe()
|
||||
{
|
||||
ModRecipe recipe = GetNewModRecipe(this, 1, ModContent.TileType<ChlorophyteAnvil>());
|
||||
|
||||
recipe.AddIngredient(ModContent.ItemType<SoulofSpite>(), 50);
|
||||
|
||||
return recipe;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 789 B |
@ -14,7 +14,7 @@ namespace Decimation.Content.Items.Misc
|
||||
item.width = 30;
|
||||
item.height = 40;
|
||||
item.consumable = true;
|
||||
item.value = Item.buyPrice(gold: 2, silver: 50);
|
||||
item.value = Item.sellPrice(gold: 2, silver: 50);
|
||||
item.rare = Rarity.Green.GetRarityValue();
|
||||
item.useStyle = 1;
|
||||
item.useTime = 20;
|
||||
|
||||
@ -16,7 +16,7 @@ namespace Decimation.Content.Items.Misc
|
||||
item.width = 28;
|
||||
item.height = 20;
|
||||
item.rare = Rarity.Gray.GetRarityValue();
|
||||
item.value = Item.buyPrice(0, 2);
|
||||
item.value = Item.sellPrice(0, 2);
|
||||
|
||||
this.item.maxStack = 99;
|
||||
}
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using Decimation.Lib.Items;
|
||||
using Decimation.Lib.Util;
|
||||
using Terraria;
|
||||
using Terraria.DataStructures;
|
||||
using Terraria.ID;
|
||||
@ -14,19 +15,15 @@ namespace Decimation.Content.Items.Misc.Souls
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
Item refItem = new Item();
|
||||
refItem.SetDefaults(ItemID.SoulofSight);
|
||||
item.width = 22;
|
||||
item.height = 22;
|
||||
item.maxStack = 999;
|
||||
item.value = Item.sellPrice(silver: 3);
|
||||
item.rare = Rarity.Pink.GetRarityValue();
|
||||
|
||||
item.width = refItem.width;
|
||||
item.height = refItem.height;
|
||||
item.width = 20;
|
||||
item.height = 20;
|
||||
|
||||
this.item.maxStack = 999;
|
||||
|
||||
ItemID.Sets.AnimatesAsSoul[this.item.type] = true;
|
||||
ItemID.Sets.ItemIconPulse[this.item.type] = true;
|
||||
ItemID.Sets.ItemNoGravity[this.item.type] = true;
|
||||
ItemID.Sets.AnimatesAsSoul[item.type] = true;
|
||||
ItemID.Sets.ItemIconPulse[item.type] = true;
|
||||
ItemID.Sets.ItemNoGravity[item.type] = true;
|
||||
}
|
||||
|
||||
public class SoulGlobalNPC : GlobalNPC
|
||||
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1008 B |
@ -1,7 +1,9 @@
|
||||
using Decimation.Lib.Items;
|
||||
using Decimation.Lib.Util;
|
||||
using Terraria;
|
||||
using Terraria.DataStructures;
|
||||
using Terraria.ID;
|
||||
using Terraria.ModLoader;
|
||||
|
||||
namespace Decimation.Content.Items.Misc.Souls
|
||||
{
|
||||
@ -13,29 +15,26 @@ namespace Decimation.Content.Items.Misc.Souls
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
Item refItem = new Item();
|
||||
refItem.SetDefaults(ItemID.SoulofSight);
|
||||
item.width = 22;
|
||||
item.height = 22;
|
||||
item.maxStack = 999;
|
||||
item.value = Item.sellPrice(silver: 3);
|
||||
item.rare = Rarity.Pink.GetRarityValue();
|
||||
|
||||
item.width = refItem.width;
|
||||
item.height = refItem.height;
|
||||
this.item.maxStack = 999;
|
||||
item.value = 50000;
|
||||
|
||||
ItemID.Sets.AnimatesAsSoul[this.item.type] = true;
|
||||
ItemID.Sets.ItemIconPulse[this.item.type] = true;
|
||||
ItemID.Sets.ItemNoGravity[this.item.type] = true;
|
||||
ItemID.Sets.AnimatesAsSoul[item.type] = true;
|
||||
ItemID.Sets.ItemIconPulse[item.type] = true;
|
||||
ItemID.Sets.ItemNoGravity[item.type] = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Uncomment when Slime Prince will be done
|
||||
/**public class SoulGlobalNPC : GlobalNPC
|
||||
internal class SoulofSpiteNpcEffect : GlobalNPC
|
||||
{
|
||||
public override void NPCLoot(NPC npc)
|
||||
{
|
||||
public override void NPCLoot(NPC npc)
|
||||
{
|
||||
if (npc.type == mod.NPCType<SlimePrince>())
|
||||
{
|
||||
Item.NewItem((int)npc.position.X, (int)npc.position.Y, npc.width, npc.height, ModContent.ItemType<SoulofSpite>(), Main.rand.Next(12, 25));
|
||||
}
|
||||
}
|
||||
}**/
|
||||
if (NPC.downedPlantBoss && Main.LocalPlayer.ZoneUnderworldHeight &&
|
||||
(!Main.expertMode && Main.rand.NextBool(5) || Main.expertMode && Main.rand.NextBool(9, 26)))
|
||||
Item.NewItem((int) npc.position.X, (int) npc.position.Y, npc.width, npc.height,
|
||||
ModContent.ItemType<SoulofSpite>());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1020 B After Width: | Height: | Size: 867 B |
@ -10,18 +10,18 @@ namespace Decimation.Content.Items.Misc.Souls
|
||||
{
|
||||
protected override string ItemName => "Soul of Time";
|
||||
protected override string ItemTooltip => "The essence of fate.";
|
||||
protected override DrawAnimation Animation => new DrawAnimationVertical(5, 4);
|
||||
protected override DrawAnimation Animation => new DrawAnimationVertical(5, 8);
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
item.width = 22;
|
||||
item.height = 24;
|
||||
item.value = Item.buyPrice(0, 0, 1);
|
||||
item.rare = Rarity.Orange.GetRarityValue();
|
||||
item.height = 22;
|
||||
item.maxStack = 999;
|
||||
item.value = Item.sellPrice(silver: 3);
|
||||
item.rare = Rarity.Pink.GetRarityValue();
|
||||
|
||||
this.item.maxStack = 999;
|
||||
|
||||
ItemID.Sets.ItemNoGravity[this.item.type] = true;
|
||||
ItemID.Sets.ItemIconPulse[item.type] = true;
|
||||
ItemID.Sets.ItemNoGravity[item.type] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -14,7 +14,7 @@ namespace Decimation.Content.Items.Misc
|
||||
{
|
||||
item.width = 26;
|
||||
item.height = 36;
|
||||
item.value = Item.buyPrice(silver: 50);
|
||||
item.value = Item.sellPrice(silver: 50);
|
||||
item.rare = Rarity.Yellow.GetRarityValue();
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 662 B After Width: | Height: | Size: 384 B |
|
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 409 B |
@ -13,9 +13,9 @@ namespace Decimation.Content.Items.Placeable
|
||||
|
||||
protected override void InitPlaceable()
|
||||
{
|
||||
item.width = 20;
|
||||
item.height = 20;
|
||||
this.item.maxStack = 1;
|
||||
item.width = 32;
|
||||
item.height = 18;
|
||||
item.maxStack = 1;
|
||||
}
|
||||
|
||||
protected override ModRecipe GetRecipe()
|
||||
|
||||
|
Before Width: | Height: | Size: 336 B After Width: | Height: | Size: 381 B |