Compare commits

..

1 Commits

Author SHA1 Message Date
Osiris
6f561ed512 Replace SiphonArrow.png 2020-06-29 23:13:04 -04:00
305 changed files with 993 additions and 3334 deletions

View File

@ -1,5 +1,4 @@
using Decimation.Content.Projectiles;
using Decimation.Content.Projectiles.Item.Weapon;
using Decimation.Lib.Buffs;
using Microsoft.Xna.Framework;
using Terraria;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 B

After

Width:  |  Height:  |  Size: 402 B

View File

@ -1,5 +1,7 @@
using Decimation.Lib.Buffs;
using System;
using Decimation.Lib.Buffs;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
namespace Decimation.Content.Buffs.Debuffs
@ -7,10 +9,7 @@ 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()
@ -22,13 +21,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;
}
}
@ -37,8 +36,7 @@ namespace Decimation.Content.Buffs.Debuffs
{
public override bool CanUseItem(Item item, Player player)
{
if (player.HasBuff(ModContent.BuffType<Hyperthermic>()) && item.healMana > 0) return false;
return base.CanUseItem(item, player);
return !(player.HasBuff(ModContent.BuffType<Hyperthermic>()) && item.healMana > 0);
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 485 B

After

Width:  |  Height:  |  Size: 396 B

View File

@ -41,7 +41,7 @@ namespace Decimation.Content.Buffs.Debuffs
{
return !(item.UseSound != null && item.useStyle == 2);
}
return base.CanUseItem(item, player);
return true;
}
}
}

View File

@ -42,7 +42,7 @@ namespace Decimation.Content.Buffs.Debuffs
{
return !(item.UseSound != null && item.useStyle == 2);
}
return base.CanUseItem(item, player);
return true;
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 577 B

After

Width:  |  Height:  |  Size: 352 B

View File

@ -1,7 +1,6 @@
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;
@ -10,7 +9,6 @@ using Decimation.Lib.Util;
using Microsoft.Xna.Framework;
using Terraria;
using Terraria.ID;
using Terraria.Localization;
using Terraria.ModLoader;
using Terraria.UI;
@ -107,32 +105,14 @@ namespace Decimation.Content
public override void AddRecipeGroups()
{
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 gems = new RecipeGroup(() => Lang.misc[37] + " Gem", ItemID.Amethyst, ItemID.Topaz,
ItemID.Emerald, ItemID.Sapphire, ItemID.Ruby, ItemID.Diamond);
RecipeGroup threads = new RecipeGroup(() => Language.GetTextValue("LegacyMisc.37") + " Thread",
ItemID.BlackThread,
ItemID.GreenThread,
ItemID.PinkThread);
RecipeGroup.RegisterGroup(DecimationRecipeGroupID.AnyThread, threads);
RecipeGroup threads = new RecipeGroup(() => Lang.misc[37] + " Thread", ItemID.BlackThread,
ItemID.GreenThread, ItemID.PinkThread);
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);
RecipeGroup.RegisterGroup("AnyGem", gems);
RecipeGroup.RegisterGroup("AnyThread", threads);
}
public override void HandlePacket(BinaryReader reader, int whoAmI)

View File

@ -69,7 +69,7 @@ namespace Decimation.Content
public bool wasJumping = false;
public ICollection<int> EquippedAccessories { get; } = new List<int>();
public bool NextHitCrit { get; set; }
public bool HasShield { get; set; }
public Item AmuletSlotItem
{
@ -100,6 +100,8 @@ namespace Decimation.Content
tideTurnerEquipped = false;
vampire = false;
HasShield = false;
hasCursedAccessory = false;
player.statManaMax2 += hyperStars * HyperStar.ManaHealAmount;
@ -401,60 +403,14 @@ 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()
@ -901,4 +857,14 @@ 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;
}
}
}

View File

@ -1,11 +0,0 @@
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";
}
}

View File

@ -1,12 +1,14 @@
using System.Collections.Generic;
using System.IO;
using Decimation.Content.Projectiles.Boss.DuneWyrm;
using Decimation.Content.Structures;
using System.Collections.Generic;
using Terraria;
using Terraria.GameContent.Generation;
using Terraria.ModLoader;
using Terraria.ModLoader.IO;
using Terraria.World.Generation;
using Terraria.GameContent.Generation;
using Terraria.ModLoader.IO;
using Decimation.Content.Structures;
using Microsoft.Xna.Framework;
using System;
using Terraria.ID;
namespace Decimation.Content
{
@ -43,8 +45,6 @@ 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();
downedBloodshotEye = ((flags & 1) != 0);
downedDuneWyrm = ((flags & 2) != 0); //double flag numbers with each new boss
downedArachnus = ((flags & 4) != 0);
downedWyvern = ((flags & 8) != 0);
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);
}
else if (loadVersion == 2)
{
byte flags = reader.ReadByte();
byte flags2 = reader.ReadByte();
downedBloodshotEye = ((flags & 1) != 0);
downedDuneWyrm = ((flags & 2) != 0);
downedArachnus = ((flags & 4) != 0);
downedWyvern = ((flags & 8) != 0);
DecimationWorld.downedBloodshotEye = ((flags & 1) != 0);
DecimationWorld.downedDuneWyrm = ((flags & 2) != 0);
DecimationWorld.downedArachnus = ((flags & 4) != 0);
DecimationWorld.downedWyvern = ((flags & 8) != 0);
}
}

View File

@ -23,7 +23,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 46;
item.height = 62;
item.rare = Rarity.LightPurple.GetRarityValue();
this.item.value = Item.sellPrice(0, 4);
this.item.value = Item.buyPrice(0, 4);
}
public override void UpdateAccessory(Player player, bool hideVisual)

View File

@ -26,7 +26,7 @@ namespace Decimation.Content.Items.Accessories
item.height = 62;
item.rare = Rarity.LightPurple.GetRarityValue();
this.item.value = Item.sellPrice(0, 4);
this.item.value = Item.buyPrice(0, 4);
}
public override void UpdateAccessory(Player player, bool hideVisual)

View File

@ -18,7 +18,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 35;
item.height = 22;
item.rare = Rarity.Green.GetRarityValue();
item.value = Item.sellPrice(0, 0, 0, 10);
item.value = Item.buyPrice(0, 0, 0, 10);
item.defense = 2;
}

View File

@ -22,7 +22,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 30;
item.height = 30;
item.rare = Rarity.Red.GetRarityValue();
this.item.value = Item.sellPrice(0, 15);
this.item.value = Item.buyPrice(0, 15);
}
protected override List<ModRecipe> GetRecipes()

View File

@ -21,7 +21,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 46;
item.height = 62;
item.rare = Rarity.LightPurple.GetRarityValue();
this.item.value = Item.sellPrice(0, 4);
this.item.value = Item.buyPrice(0, 4);
}
public override void UpdateAccessory(Player player, bool hideVisual)

View File

@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 62;
item.height = 46;
item.rare = Rarity.Green.GetRarityValue();
this.item.value = Item.sellPrice(0, 0, 0, 10);
this.item.value = Item.buyPrice(0, 0, 0, 10);
}
protected override List<ModRecipe> GetRecipes()

View File

@ -21,7 +21,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 24;
item.height = 32;
item.rare = Rarity.Lime.GetRarityValue();
this.item.value = Item.sellPrice(0, 50);
this.item.value = Item.buyPrice(0, 50);
}
public override void UpdateAccessory(Player player, bool hideVisual)

View File

@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 62;
item.height = 46;
item.rare = Rarity.Green.GetRarityValue();
this.item.value = Item.sellPrice(0, 0, 0, 10);
this.item.value = Item.buyPrice(0, 0, 0, 10);
}
protected override List<ModRecipe> GetRecipes()

View File

@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 54;
item.height = 46;
item.rare = Rarity.Green.GetRarityValue();
this.item.value = Item.sellPrice(0, 0, 0, 10);
this.item.value = Item.buyPrice(0, 0, 0, 10);
}
protected override List<ModRecipe> GetRecipes()

View File

@ -13,11 +13,11 @@ namespace Decimation.Content.Items.Accessories
protected override void InitAccessory()
{
item.width = 32;
item.height = 32;
item.width = 20;
item.height = 20;
item.rare = Rarity.Rainbow.GetRarityValue();
item.value = Item.sellPrice(gold: 5);
item.expert = true;
this.item.value = Item.buyPrice(0, 5);
this.item.expert = true;
}
public override void UpdateAccessory(Player player, bool hideVisual)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

After

Width:  |  Height:  |  Size: 407 B

View File

@ -19,7 +19,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 32;
item.height = 32;
item.rare = Rarity.Green.GetRarityValue();
this.item.value = Item.sellPrice(0, 0, 0, 10);
this.item.value = Item.buyPrice(0, 0, 0, 10);
}
protected override List<ModRecipe> GetRecipes()

View File

@ -18,7 +18,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 24;
item.height = 24;
item.rare = Rarity.Green.GetRarityValue();
item.value = Item.sellPrice(0, 0, 2);
item.value = Item.buyPrice(0, 0, 2);
item.defense = 1;
}

View File

@ -14,7 +14,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 30;
item.height = 28;
item.rare = Rarity.Rainbow.GetRarityValue();
this.item.value = Item.sellPrice(0, 45);
this.item.value = Item.buyPrice(0, 45);
this.item.expert = true;
}

View File

@ -18,7 +18,7 @@ namespace Decimation.Content.Items.Accessories
item.height = 24;
item.rare = Rarity.Green.GetRarityValue();
this.item.value = Item.sellPrice(0, 0, 0, 10);
this.item.value = Item.buyPrice(0, 0, 0, 10);
}
protected override List<ModRecipe> GetRecipes()

View File

@ -23,7 +23,7 @@ namespace Decimation.Content.Items.Accessories
item.width = 46;
item.height = 36;
item.rare = Rarity.Rainbow.GetRarityValue();
item.value = Item.sellPrice(0, 3);
item.value = Item.buyPrice(0, 3);
item.defense = 3;
item.shieldSlot = 5;
item.expert = true;

View File

@ -1,56 +0,0 @@
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();
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 589 B

View File

@ -1,75 +0,0 @@
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;
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

View File

@ -1,76 +0,0 @@
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;
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

View File

@ -1,108 +0,0 @@
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);
}
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 B

View File

@ -1,111 +0,0 @@
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);
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

View File

@ -1,115 +0,0 @@
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();
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 B

View File

@ -1,47 +0,0 @@
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;
}
}
}
}
}

View File

@ -20,7 +20,7 @@ namespace Decimation.Content.Items.Accessories
{
item.width = 26;
item.height = 32;
item.value = Item.sellPrice(gold: 19, silver: 70);
item.value = Item.buyPrice(gold: 19, silver: 70);
item.rare = Rarity.LightPurple.GetRarityValue();
}

View File

@ -16,9 +16,9 @@ namespace Decimation.Content.Items.Accessories
protected override void InitAccessory()
{
item.width = 32;
item.width = 30;
item.height = 32;
item.value = Item.sellPrice(gold: 1, silver: 70);
item.value = Item.buyPrice(gold: 1, silver: 70);
item.rare = Rarity.Green.GetRarityValue();
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

After

Width:  |  Height:  |  Size: 594 B

View File

@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Accessories
{
item.width = 32;
item.height = 30;
item.value = Item.sellPrice(silver: 10);
item.value = Item.buyPrice(silver: 10);
item.rare = Rarity.Blue.GetRarityValue();
}

View File

@ -1,7 +1,7 @@
using System.Collections.Generic;
using Decimation.Content.Items.Misc.ConcentratedSouls;
using Decimation.Content.Items.Misc.CondensedSouls;
using Decimation.Content.Items.Ores;
using Decimation.Content.Projectiles.Item.Accessory;
using Decimation.Content.Projectiles;
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.sellPrice(0, 5);
this.item.value = Item.buyPrice(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<ConcentratedSpite>(), 2);
recipe.AddIngredient(ModContent.ItemType<CondensedSpite>(), 2);
recipe.AddIngredient(ModContent.ItemType<DenziumBar>(), 5);
return new List<ModRecipe> {recipe};
return new List<ModRecipe> { recipe };
}
}
}

View File

@ -24,7 +24,7 @@ namespace Decimation.Content.Items.Ammo
item.height = 8;
item.knockBack = 1;
item.rare = Rarity.Orange.GetRarityValue();
item.value = Item.sellPrice(0, 0, 10);
item.value = Item.buyPrice(0, 0, 10);
item.consumable = true;
this.item.shootSpeed = 2f;

View File

@ -20,7 +20,7 @@ namespace Decimation.Content.Items.Ammo
item.knockBack = 2;
item.width = 14;
item.height = 32;
item.value = Item.sellPrice(0, 0, 0, 55);
item.value = Item.buyPrice(0, 0, 0, 55);
this.item.shootSpeed = 2.5f;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 375 B

View File

@ -11,9 +11,9 @@ using Terraria.ModLoader;
namespace Decimation.Content.Items.Ammo
{
internal class ScytheStyngerBolt : DecimationAmmo
internal class TitanicStyngerBolt : DecimationAmmo
{
protected override string ItemName => "The Scythe Stynger Bolt";
protected override string ItemName => "Titanic 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.sellPrice(0, 0, 10);
item.value = Item.buyPrice(0, 0, 10);
item.consumable = true;
this.item.shootSpeed = 2f;

View File

Before

Width:  |  Height:  |  Size: 318 B

After

Width:  |  Height:  |  Size: 318 B

View File

@ -17,7 +17,7 @@ namespace Decimation.Content.Items.Boss.Arachnus
{
item.width = 32;
item.height = 32;
item.value = Item.sellPrice(0, 45);
item.value = Item.buyPrice(0, 45);
item.rare = Rarity.Red.GetRarityValue();
item.consumable = true;
item.useStyle = 4;

View File

@ -14,11 +14,12 @@ namespace Decimation.Content.Items.Boss.Arachnus
protected override void Init()
{
item.width = 20;
item.height = 36;
item.height = 20;
item.consumable = true;
item.value = Item.sellPrice(0, 45);
item.value = Item.buyPrice(0, 45);
item.rare = Rarity.Red.GetRarityValue();
item.maxStack = 1;
this.item.maxStack = 1;
}
public class DropFromMoonLord : GlobalNPC

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 B

After

Width:  |  Height:  |  Size: 417 B

View File

@ -14,13 +14,14 @@ namespace Decimation.Content.Items.Boss.Bloodshot
protected override void Init()
{
item.width = 22;
item.height = 26;
item.width = 20;
item.height = 24;
item.consumable = true;
item.useStyle = 4;
item.useAnimation = 30;
item.useTime = 30;
item.maxStack = 1;
this.item.maxStack = 1;
}
public override bool CanUseItem(Player player)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 B

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 561 B

After

Width:  |  Height:  |  Size: 506 B

View File

@ -16,7 +16,7 @@ namespace Decimation.Content.Items.Boss.DuneWyrm
{
item.width = 32;
item.height = 32;
item.value = Item.sellPrice(0, 0, 13);
item.value = Item.buyPrice(0, 0, 13);
item.useStyle = 4;
item.useAnimation = 30;
item.useTime = 30;

View File

@ -2,7 +2,6 @@ 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;
@ -19,24 +18,10 @@ 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;
}
}
}
}

View File

@ -142,17 +142,14 @@ 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>();
if (!modPlayer.hasCursedAccessory ||
modPlayer.hasCursedAccessory && !item.GetGlobalItem<CursedItem>().Cursed) return true;
return base.CanEquipAccessory(item, player, slot);
return !modPlayer.hasCursedAccessory ||
modPlayer.hasCursedAccessory && !item.GetGlobalItem<CursedItem>().Cursed;
}
public override void NetSend(Item item, BinaryWriter writer)
@ -275,7 +272,12 @@ namespace Decimation.Content.Items
}
}
return base.UseItem(item, player);
return false;
}
public override bool ConsumeItem(Item item, Player player)
{
return true;
}
}
}

View File

@ -9,9 +9,11 @@ namespace Decimation.Content.Items.Misc
protected override void Init()
{
item.width = 20;
item.height = 20;
item.width = 16;
item.height = 16;
item.value = 100;
this.item.maxStack = 999;
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 257 B

View File

@ -14,7 +14,7 @@ namespace Decimation.Content.Items.Misc
item.width = 30;
item.height = 40;
item.rare = Rarity.Green.GetRarityValue();
item.value = Item.sellPrice(gold: 5);
item.value = Item.buyPrice(gold: 5);
item.useStyle = 1;
item.useTime = 20;
item.useAnimation = 20;

View File

@ -1,10 +0,0 @@
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;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 B

View File

@ -1,10 +0,0 @@
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;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 653 B

View File

@ -1,11 +0,0 @@
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>();
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 664 B

View File

@ -1,10 +0,0 @@
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;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 658 B

View File

@ -1,10 +0,0 @@
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;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 652 B

View File

@ -1,10 +0,0 @@
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;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 683 B

View File

@ -1,10 +0,0 @@
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;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 659 B

View File

@ -1,31 +0,0 @@
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();
}
}
}

View File

@ -1,12 +0,0 @@
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>();
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 725 B

View File

@ -1,11 +0,0 @@
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>();
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 709 B

View File

@ -0,0 +1,41 @@
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;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 B

View File

@ -14,7 +14,7 @@ namespace Decimation.Content.Items.Misc
item.width = 30;
item.height = 40;
item.consumable = true;
item.value = Item.sellPrice(gold: 2, silver: 50);
item.value = Item.buyPrice(gold: 2, silver: 50);
item.rare = Rarity.Green.GetRarityValue();
item.useStyle = 1;
item.useTime = 20;

View File

@ -16,7 +16,7 @@ namespace Decimation.Content.Items.Misc
item.width = 28;
item.height = 20;
item.rare = Rarity.Gray.GetRarityValue();
item.value = Item.sellPrice(0, 2);
item.value = Item.buyPrice(0, 2);
this.item.maxStack = 99;
}

View File

@ -1,5 +1,4 @@
using Decimation.Lib.Items;
using Decimation.Lib.Util;
using Terraria;
using Terraria.DataStructures;
using Terraria.ID;
@ -15,15 +14,19 @@ namespace Decimation.Content.Items.Misc.Souls
protected override void Init()
{
item.width = 22;
item.height = 22;
item.maxStack = 999;
item.value = Item.sellPrice(silver: 3);
item.rare = Rarity.Pink.GetRarityValue();
Item refItem = new Item();
refItem.SetDefaults(ItemID.SoulofSight);
ItemID.Sets.AnimatesAsSoul[item.type] = true;
ItemID.Sets.ItemIconPulse[item.type] = true;
ItemID.Sets.ItemNoGravity[item.type] = true;
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;
}
public class SoulGlobalNPC : GlobalNPC

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1008 B

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,9 +1,7 @@
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
{
@ -15,26 +13,29 @@ namespace Decimation.Content.Items.Misc.Souls
protected override void Init()
{
item.width = 22;
item.height = 22;
item.maxStack = 999;
item.value = Item.sellPrice(silver: 3);
item.rare = Rarity.Pink.GetRarityValue();
Item refItem = new Item();
refItem.SetDefaults(ItemID.SoulofSight);
ItemID.Sets.AnimatesAsSoul[item.type] = true;
ItemID.Sets.ItemIconPulse[item.type] = true;
ItemID.Sets.ItemNoGravity[item.type] = true;
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;
}
}
internal class SoulofSpiteNpcEffect : GlobalNPC
{
public override void NPCLoot(NPC npc)
// Uncomment when Slime Prince will be done
/**public class SoulGlobalNPC : GlobalNPC
{
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>());
}
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));
}
}
}**/
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 867 B

After

Width:  |  Height:  |  Size: 1020 B

View File

@ -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, 8);
protected override DrawAnimation Animation => new DrawAnimationVertical(5, 4);
protected override void Init()
{
item.width = 22;
item.height = 22;
item.maxStack = 999;
item.value = Item.sellPrice(silver: 3);
item.rare = Rarity.Pink.GetRarityValue();
item.height = 24;
item.value = Item.buyPrice(0, 0, 1);
item.rare = Rarity.Orange.GetRarityValue();
ItemID.Sets.ItemIconPulse[item.type] = true;
ItemID.Sets.ItemNoGravity[item.type] = true;
this.item.maxStack = 999;
ItemID.Sets.ItemNoGravity[this.item.type] = true;
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -14,7 +14,7 @@ namespace Decimation.Content.Items.Misc
{
item.width = 26;
item.height = 36;
item.value = Item.sellPrice(silver: 50);
item.value = Item.buyPrice(silver: 50);
item.rare = Rarity.Yellow.GetRarityValue();
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 384 B

After

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 361 B

View File

@ -13,9 +13,9 @@ namespace Decimation.Content.Items.Placeable
protected override void InitPlaceable()
{
item.width = 32;
item.height = 18;
item.maxStack = 1;
item.width = 20;
item.height = 20;
this.item.maxStack = 1;
}
protected override ModRecipe GetRecipe()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 381 B

After

Width:  |  Height:  |  Size: 336 B

Some files were not shown because too many files have changed in this diff Show More