Added Greater Antidote.
Fixed typos.
@ -96,8 +96,8 @@ namespace Decimation.Content
|
|||||||
{
|
{
|
||||||
bossChecklist.Call("AddBossWithInfo", "The Bloodshot Eye", 2.5f,
|
bossChecklist.Call("AddBossWithInfo", "The Bloodshot Eye", 2.5f,
|
||||||
(Func<bool>) (() => DecimationWorld.downedBloodshotEye), "INSERT LATER");
|
(Func<bool>) (() => DecimationWorld.downedBloodshotEye), "INSERT LATER");
|
||||||
bossChecklist.Call("AddBossWithInfo", "The Ancient Dune Worm", 5.7f,
|
bossChecklist.Call("AddBossWithInfo", "The Dune Wyrm", 5.7f,
|
||||||
(Func<bool>) (() => DecimationWorld.downedDuneWorm), "INSERT LATER");
|
(Func<bool>) (() => DecimationWorld.downedDuneWyrm), "INSERT LATER");
|
||||||
bossChecklist.Call("AddBossWithInfo", "Arachnus", 20f,
|
bossChecklist.Call("AddBossWithInfo", "Arachnus", 20f,
|
||||||
(Func<bool>) (() => DecimationWorld.downedArachnus), "INSERT LATER");
|
(Func<bool>) (() => DecimationWorld.downedArachnus), "INSERT LATER");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,14 +15,14 @@ namespace Decimation.Content
|
|||||||
public class DecimationWorld : ModWorld
|
public class DecimationWorld : ModWorld
|
||||||
{
|
{
|
||||||
public static bool downedBloodshotEye;
|
public static bool downedBloodshotEye;
|
||||||
public static bool downedDuneWorm;
|
public static bool downedDuneWyrm;
|
||||||
public static bool downedArachnus;
|
public static bool downedArachnus;
|
||||||
public static bool downedWyvern;
|
public static bool downedWyvern;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
downedBloodshotEye = false;
|
downedBloodshotEye = false;
|
||||||
downedDuneWorm = false;
|
downedDuneWyrm = false;
|
||||||
downedArachnus = false;
|
downedArachnus = false;
|
||||||
downedWyvern = false;
|
downedWyvern = false;
|
||||||
}
|
}
|
||||||
@ -31,7 +31,7 @@ namespace Decimation.Content
|
|||||||
{
|
{
|
||||||
var downed = new List<string>();
|
var downed = new List<string>();
|
||||||
if (downedBloodshotEye) downed.Add("downedBloodshotEye");
|
if (downedBloodshotEye) downed.Add("downedBloodshotEye");
|
||||||
if (downedDuneWorm) downed.Add("downedDuneWorm");
|
if (downedDuneWyrm) downed.Add("downedDuneWyrm");
|
||||||
if (downedArachnus) downed.Add("downedArachnus");
|
if (downedArachnus) downed.Add("downedArachnus");
|
||||||
if (downedWyvern) downed.Add("downedWyvern");
|
if (downedWyvern) downed.Add("downedWyvern");
|
||||||
return new TagCompound {
|
return new TagCompound {
|
||||||
@ -42,7 +42,7 @@ namespace Decimation.Content
|
|||||||
{
|
{
|
||||||
var downed = tag.GetList<string>("downed");
|
var downed = tag.GetList<string>("downed");
|
||||||
downedBloodshotEye = downed.Contains("downedBloodshotEye");
|
downedBloodshotEye = downed.Contains("downedBloodshotEye");
|
||||||
downedDuneWorm = downed.Contains("downedDuneWorm");
|
downedDuneWyrm = downed.Contains("downedDuneWyrm");
|
||||||
downedArachnus = downed.Contains("downedArachnus");
|
downedArachnus = downed.Contains("downedArachnus");
|
||||||
downedWyvern = downed.Contains("downedWyvern");
|
downedWyvern = downed.Contains("downedWyvern");
|
||||||
}
|
}
|
||||||
@ -50,7 +50,7 @@ namespace Decimation.Content
|
|||||||
{
|
{
|
||||||
BitsByte flags = new BitsByte();
|
BitsByte flags = new BitsByte();
|
||||||
flags[0] = downedBloodshotEye; //+1 flag number for each new boss
|
flags[0] = downedBloodshotEye; //+1 flag number for each new boss
|
||||||
flags[1] = downedDuneWorm;
|
flags[1] = downedDuneWyrm;
|
||||||
flags[2] = downedArachnus;
|
flags[2] = downedArachnus;
|
||||||
flags[3] = downedWyvern;
|
flags[3] = downedWyvern;
|
||||||
writer.Write(flags);
|
writer.Write(flags);
|
||||||
@ -59,7 +59,7 @@ namespace Decimation.Content
|
|||||||
{
|
{
|
||||||
BitsByte flags = reader.ReadByte();
|
BitsByte flags = reader.ReadByte();
|
||||||
downedBloodshotEye = flags[0];
|
downedBloodshotEye = flags[0];
|
||||||
downedDuneWorm = flags[1];
|
downedDuneWyrm = flags[1];
|
||||||
downedArachnus = flags[2];
|
downedArachnus = flags[2];
|
||||||
downedWyvern = flags[3];
|
downedWyvern = flags[3];
|
||||||
}
|
}
|
||||||
@ -70,7 +70,7 @@ namespace Decimation.Content
|
|||||||
{
|
{
|
||||||
byte flags = reader.ReadByte();
|
byte flags = reader.ReadByte();
|
||||||
DecimationWorld.downedBloodshotEye = ((flags & 1) != 0);
|
DecimationWorld.downedBloodshotEye = ((flags & 1) != 0);
|
||||||
DecimationWorld.downedDuneWorm = ((flags & 2) != 0); //double flag numbers with each new boss
|
DecimationWorld.downedDuneWyrm = ((flags & 2) != 0); //double flag numbers with each new boss
|
||||||
DecimationWorld.downedArachnus = ((flags & 4) != 0);
|
DecimationWorld.downedArachnus = ((flags & 4) != 0);
|
||||||
DecimationWorld.downedWyvern = ((flags & 8) != 0);
|
DecimationWorld.downedWyvern = ((flags & 8) != 0);
|
||||||
}
|
}
|
||||||
@ -79,7 +79,7 @@ namespace Decimation.Content
|
|||||||
byte flags = reader.ReadByte();
|
byte flags = reader.ReadByte();
|
||||||
byte flags2 = reader.ReadByte();
|
byte flags2 = reader.ReadByte();
|
||||||
DecimationWorld.downedBloodshotEye = ((flags & 1) != 0);
|
DecimationWorld.downedBloodshotEye = ((flags & 1) != 0);
|
||||||
DecimationWorld.downedDuneWorm = ((flags & 2) != 0);
|
DecimationWorld.downedDuneWyrm = ((flags & 2) != 0);
|
||||||
DecimationWorld.downedArachnus = ((flags & 4) != 0);
|
DecimationWorld.downedArachnus = ((flags & 4) != 0);
|
||||||
DecimationWorld.downedWyvern = ((flags & 8) != 0);
|
DecimationWorld.downedWyvern = ((flags & 8) != 0);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,12 +5,12 @@ using Terraria;
|
|||||||
using Terraria.ID;
|
using Terraria.ID;
|
||||||
using Terraria.ModLoader;
|
using Terraria.ModLoader;
|
||||||
|
|
||||||
namespace Decimation.Content.Items.Boss.DuneWorm
|
namespace Decimation.Content.Items.Boss.DuneWyrm
|
||||||
{
|
{
|
||||||
internal class DesertDessert : DecimationItem
|
internal class DesertDessert : DecimationItem
|
||||||
{
|
{
|
||||||
protected override string ItemName => "Desert Dessert";
|
protected override string ItemName => "Desert Dessert";
|
||||||
protected override string ItemTooltip => "Summons the Ancient Dune Worm";
|
protected override string ItemTooltip => "Summons the Dune Wyrm";
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
|
Before Width: | Height: | Size: 394 B After Width: | Height: | Size: 394 B |
@ -1,7 +1,7 @@
|
|||||||
using Decimation.Content.Items.Misc.Souls;
|
using Decimation.Content.Items.Misc.Souls;
|
||||||
using Decimation.Content.Items.Placeable.DuneWorm;
|
using Decimation.Content.Items.Placeable.DuneWyrm;
|
||||||
using Decimation.Content.Items.Tools;
|
using Decimation.Content.Items.Tools;
|
||||||
using Decimation.Content.Items.Vanity.DuneWorm;
|
using Decimation.Content.Items.Vanity.DuneWyrm;
|
||||||
using Decimation.Content.NPCs.DuneWyrm;
|
using Decimation.Content.NPCs.DuneWyrm;
|
||||||
using Decimation.Lib.Items;
|
using Decimation.Lib.Items;
|
||||||
using Decimation.Lib.Util;
|
using Decimation.Lib.Util;
|
||||||
@ -9,7 +9,7 @@ using Terraria;
|
|||||||
using Terraria.ID;
|
using Terraria.ID;
|
||||||
using Terraria.ModLoader;
|
using Terraria.ModLoader;
|
||||||
|
|
||||||
namespace Decimation.Content.Items.Boss.DuneWorm
|
namespace Decimation.Content.Items.Boss.DuneWyrm
|
||||||
{
|
{
|
||||||
internal class DuneWyrmTreasureBag : DecimationItem
|
internal class DuneWyrmTreasureBag : DecimationItem
|
||||||
{
|
{
|
||||||
@ -37,9 +37,9 @@ namespace Decimation.Content.Items.Boss.DuneWorm
|
|||||||
player.QuickSpawnItem(ItemID.FossilOre, Main.rand.Next(10, 15));
|
player.QuickSpawnItem(ItemID.FossilOre, Main.rand.Next(10, 15));
|
||||||
player.QuickSpawnItem(ModContent.ItemType<TheHourGlass>());
|
player.QuickSpawnItem(ModContent.ItemType<TheHourGlass>());
|
||||||
if (Main.rand.Next(7) == 0)
|
if (Main.rand.Next(7) == 0)
|
||||||
player.QuickSpawnItem(ModContent.ItemType<DuneWormMask>());
|
player.QuickSpawnItem(ModContent.ItemType<DuneWyrmMask>());
|
||||||
if (Main.rand.NextBool(13))
|
if (Main.rand.NextBool(13))
|
||||||
player.QuickSpawnItem(ModContent.ItemType<DuneWormTrophy>());
|
player.QuickSpawnItem(ModContent.ItemType<DuneWyrmTrophy>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 585 B After Width: | Height: | Size: 585 B |
@ -2,20 +2,20 @@ using Decimation.Lib.Items;
|
|||||||
using Terraria;
|
using Terraria;
|
||||||
using Terraria.ModLoader;
|
using Terraria.ModLoader;
|
||||||
|
|
||||||
namespace Decimation.Content.Items.Placeable.DuneWorm
|
namespace Decimation.Content.Items.Placeable.DuneWyrm
|
||||||
{
|
{
|
||||||
internal class DuneWormTrophy : DecimationPlaceableItem
|
internal class DuneWyrmTrophy : DecimationPlaceableItem
|
||||||
{
|
{
|
||||||
protected override string ItemName => "Ancient Dune Worm Trophy";
|
protected override string ItemName => "Dune Wyrm Trophy";
|
||||||
protected override string ItemTooltip => "Achievement get!";
|
protected override string ItemTooltip => "Achievement get!";
|
||||||
protected override int Tile => ModContent.TileType<Tiles.DuneWormTrophy>();
|
protected override int Tile => ModContent.TileType<Tiles.DuneWyrmTrophy>();
|
||||||
|
|
||||||
protected override void InitPlaceable()
|
protected override void InitPlaceable()
|
||||||
{
|
{
|
||||||
item.width = 32;
|
item.width = 32;
|
||||||
item.height = 32;
|
item.height = 32;
|
||||||
this.item.maxStack = 99;
|
item.maxStack = 99;
|
||||||
this.item.value = Item.buyPrice(0, 5);
|
item.value = Item.buyPrice(0, 5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
@ -1,4 +1,5 @@
|
|||||||
using Decimation.Lib.Items;
|
using Decimation.Lib.Items;
|
||||||
|
using Decimation.Lib.Util.Builder;
|
||||||
using Terraria;
|
using Terraria;
|
||||||
using Terraria.ID;
|
using Terraria.ID;
|
||||||
using Terraria.ModLoader;
|
using Terraria.ModLoader;
|
||||||
@ -9,7 +10,7 @@ namespace Decimation.Content.Items.Potions
|
|||||||
internal class Antidote : DecimationItem
|
internal class Antidote : DecimationItem
|
||||||
{
|
{
|
||||||
protected override string ItemName => "Antidote";
|
protected override string ItemName => "Antidote";
|
||||||
protected override string ItemTooltip => "Cure poison and venom.";
|
protected override string ItemTooltip => "Cures poison and venom.";
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
@ -32,13 +33,12 @@ namespace Decimation.Content.Items.Potions
|
|||||||
|
|
||||||
protected override ModRecipe GetRecipe()
|
protected override ModRecipe GetRecipe()
|
||||||
{
|
{
|
||||||
ModRecipe recipe = GetNewModRecipe(this, 1, TileID.AlchemyTable);
|
return new RecipeBuilder(this)
|
||||||
|
.WithIngredient(ItemID.Waterleaf)
|
||||||
recipe.AddIngredient(ItemID.Waterleaf);
|
.WithIngredient(ItemID.Moonglow)
|
||||||
recipe.AddIngredient(ItemID.Moonglow);
|
.WithIngredient(ItemID.BottledHoney)
|
||||||
recipe.AddIngredient(ItemID.BottledHoney);
|
.WithStation(TileID.AlchemyTable)
|
||||||
|
.Build();
|
||||||
return recipe;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
44
Content/Items/Potions/GreaterAntidote.cs
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
using Decimation.Content.Buffs.Debuffs;
|
||||||
|
using Decimation.Lib.Items;
|
||||||
|
using Decimation.Lib.Util.Builder;
|
||||||
|
using Terraria;
|
||||||
|
using Terraria.ID;
|
||||||
|
using Terraria.ModLoader;
|
||||||
|
|
||||||
|
namespace Decimation.Content.Items.Potions
|
||||||
|
{
|
||||||
|
public class GreaterAntidote : DecimationItem
|
||||||
|
{
|
||||||
|
protected override string ItemName => "Greater Antidote";
|
||||||
|
protected override string ItemTooltip => "Cures poison, venom, confusion and avian flu";
|
||||||
|
|
||||||
|
protected override void Init()
|
||||||
|
{
|
||||||
|
item.CloneDefaults(ModContent.ItemType<Antidote>());
|
||||||
|
|
||||||
|
item.width = 24;
|
||||||
|
item.height = 26;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool UseItem(Player player)
|
||||||
|
{
|
||||||
|
player.ClearBuff(BuffID.Poisoned);
|
||||||
|
player.ClearBuff(BuffID.Venom);
|
||||||
|
player.ClearBuff(BuffID.Confused);
|
||||||
|
player.ClearBuff(ModContent.BuffType<AvianFlu>());
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ModRecipe GetRecipe()
|
||||||
|
{
|
||||||
|
return new RecipeBuilder(this, 5)
|
||||||
|
.WithIngredient(ModContent.ItemType<Antidote>())
|
||||||
|
.WithIngredient(ItemID.ManaPotion)
|
||||||
|
.WithIngredient(ItemID.GreaterHealingPotion)
|
||||||
|
.WithIngredient(ModContent.ItemType<EnchantedMushroom>(), 5)
|
||||||
|
.WithStation(TileID.AlchemyTable)
|
||||||
|
.Build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
Content/Items/Potions/GreaterAntidote.png
Normal file
|
After Width: | Height: | Size: 367 B |
@ -2,12 +2,12 @@ using Decimation.Lib.Items;
|
|||||||
using Decimation.Lib.Util;
|
using Decimation.Lib.Util;
|
||||||
using Terraria.ModLoader;
|
using Terraria.ModLoader;
|
||||||
|
|
||||||
namespace Decimation.Content.Items.Vanity.DuneWorm
|
namespace Decimation.Content.Items.Vanity.DuneWyrm
|
||||||
{
|
{
|
||||||
[AutoloadEquip(EquipType.Head)]
|
[AutoloadEquip(EquipType.Head)]
|
||||||
internal class DuneWormMask : DecimationItem
|
internal class DuneWyrmMask : DecimationItem
|
||||||
{
|
{
|
||||||
protected override string ItemName => "Ancient Dune Worm Mask";
|
protected override string ItemName => "Ancient Dune Wyrm Mask";
|
||||||
protected override string ItemTooltip => "A bit dusty";
|
protected override string ItemTooltip => "A bit dusty";
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
@ -16,6 +16,7 @@ namespace Decimation.Content.Items.Vanity.DuneWorm
|
|||||||
item.height = 34;
|
item.height = 34;
|
||||||
item.rare = Rarity.Orange.GetRarityValue();
|
item.rare = Rarity.Orange.GetRarityValue();
|
||||||
item.vanity = true;
|
item.vanity = true;
|
||||||
|
item.maxStack = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool DrawHead()
|
public override bool DrawHead()
|
||||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
@ -56,7 +56,7 @@ namespace Decimation.Content.NPCs.DuneWyrm
|
|||||||
public override void BossLoot(ref string name, ref int potionType)
|
public override void BossLoot(ref string name, ref int potionType)
|
||||||
{
|
{
|
||||||
name = "The Dune Wyrm";
|
name = "The Dune Wyrm";
|
||||||
DecimationWorld.downedDuneWorm = true;
|
DecimationWorld.downedDuneWyrm = true;
|
||||||
|
|
||||||
potionType = ItemID.HealingPotion;
|
potionType = ItemID.HealingPotion;
|
||||||
base.BossLoot(ref name, ref potionType);
|
base.BossLoot(ref name, ref potionType);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Decimation.Content.Items.Boss.DuneWorm;
|
using Decimation.Content.Items.Boss.DuneWyrm;
|
||||||
using Decimation.Content.Items.Misc;
|
using Decimation.Content.Items.Misc;
|
||||||
using Decimation.Content.Items.Misc.Souls;
|
using Decimation.Content.Items.Misc.Souls;
|
||||||
using Decimation.Content.Projectiles;
|
using Decimation.Content.Projectiles;
|
||||||
@ -159,7 +159,7 @@ namespace Decimation.Content.NPCs.TownNPCs
|
|||||||
nextSlot++;
|
nextSlot++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DecimationWorld.downedDuneWorm)
|
if (DecimationWorld.downedDuneWyrm)
|
||||||
{
|
{
|
||||||
shop.item[nextSlot].SetDefaults(ModContent.ItemType<SoulofTime>());
|
shop.item[nextSlot].SetDefaults(ModContent.ItemType<SoulofTime>());
|
||||||
nextSlot++;
|
nextSlot++;
|
||||||
|
|||||||
@ -1,31 +1,29 @@
|
|||||||
using Microsoft.Xna.Framework;
|
using Microsoft.Xna.Framework;
|
||||||
using System;
|
|
||||||
using Terraria;
|
using Terraria;
|
||||||
using Terraria.ID;
|
|
||||||
using Terraria.ModLoader;
|
using Terraria.ModLoader;
|
||||||
using Terraria.ObjectData;
|
using Terraria.ObjectData;
|
||||||
|
|
||||||
namespace Decimation.Content.Tiles
|
namespace Decimation.Content.Tiles
|
||||||
{
|
{
|
||||||
class DuneWormTrophy : ModTile
|
class DuneWyrmTrophy : ModTile
|
||||||
{
|
{
|
||||||
public override void SetDefaults()
|
public override void SetDefaults()
|
||||||
{
|
{
|
||||||
Main.tileFrameImportant[Type] = true;
|
Main.tileFrameImportant[Type] = true;
|
||||||
Main.tileLavaDeath[Type] = true;
|
Main.tileLavaDeath[Type] = true;
|
||||||
TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3Wall);
|
TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3Wall);
|
||||||
TileObjectData.newTile.CoordinateHeights = new int[] { 16, 16, 16 };
|
TileObjectData.newTile.CoordinateHeights = new[] {16, 16, 16};
|
||||||
TileObjectData.addTile(Type);
|
TileObjectData.addTile(Type);
|
||||||
dustType = 7;
|
dustType = 7;
|
||||||
disableSmartCursor = true;
|
disableSmartCursor = true;
|
||||||
ModTranslation name = CreateMapEntryName();
|
ModTranslation name = CreateMapEntryName();
|
||||||
name.SetDefault("Dune Worm Trophy");
|
name.SetDefault("Dune Wyrm Trophy");
|
||||||
AddMapEntry(new Color(120, 85, 60), name);
|
AddMapEntry(new Color(120, 85, 60), name);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void KillMultiTile(int i, int j, int frameX, int frameY)
|
public override void KillMultiTile(int i, int j, int frameX, int frameY)
|
||||||
{
|
{
|
||||||
Item.NewItem(i * 16, j * 16, 48, 48, ModContent.ItemType<Items.Placeable.DuneWorm.DuneWormTrophy>());
|
Item.NewItem(i * 16, j * 16, 48, 48, ModContent.ItemType<Items.Placeable.DuneWyrm.DuneWyrmTrophy>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@ -14,11 +14,15 @@ namespace Decimation.Lib.Util.Builder
|
|||||||
|
|
||||||
public RecipeBuilder(Mod mod, ModItem result, int resultQuantity = 1)
|
public RecipeBuilder(Mod mod, ModItem result, int resultQuantity = 1)
|
||||||
{
|
{
|
||||||
_mod = mod;
|
|
||||||
_result = result.item.type;
|
_result = result.item.type;
|
||||||
_resultQuantity = resultQuantity;
|
_resultQuantity = resultQuantity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RecipeBuilder(ModItem result, int resultQuantity = 1) : this(Content.Decimation.Instance, result,
|
||||||
|
resultQuantity)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public RecipeBuilder WithIngredient(int item, int quantity = 1)
|
public RecipeBuilder WithIngredient(int item, int quantity = 1)
|
||||||
{
|
{
|
||||||
_ingredients.Add(item, quantity);
|
_ingredients.Add(item, quantity);
|
||||||
|
|||||||