feat: vanilla rework to Plantera weapon drops

This commit is contained in:
Muhammad Nauman Raza 2024-11-08 23:29:12 +00:00
parent 9c26c8eef7
commit 3f05870f05
Signed by: devraza
GPG key ID: 91EAD6081011574B
7 changed files with 128 additions and 25 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
# Auto-generated directories
bin/
obj/

View file

@ -1,10 +1,12 @@
using System;
using System.Linq;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using Terraria.GameContent.ItemDropRules;
using Continuity.Content.Items;
namespace Continuity.Content.NPCs
namespace Continuity.Content
{
public class PlanteraDrops : GlobalNPC
{
@ -12,7 +14,35 @@ namespace Continuity.Content.NPCs
{
if (npc.type == NPCID.Plantera)
{
npcLoot.Add(ItemDropRule.Common(ModContent.ItemType<PalishadeTissue>(), 1, 15, 25));
npcLoot.Add(ItemDropRule.Common(ModContent.ItemType<PalishadeTissue>(), 1, 25, 35));
}
}
}
public class PlanteraBossBag : GlobalItem
{
public override void ModifyItemLoot(Item item, ItemLoot itemLoot)
{
if (item.type == ItemID.PlanteraBossBag)
{
short[] toRemove = {
ItemID.TheAxe,
ItemID.PygmyStaff,
ItemID.Seedling,
ItemID.ThornHook,
};
foreach (var i in toRemove)
{
itemLoot.RemoveWhere(rule => rule is CommonDropNotScalingWithLuck drop
&& drop.itemId == i);
}
itemLoot.RemoveWhere(rule => rule is CommonDrop drop
&& drop.itemId == ItemID.TempleKey);
foreach (var rule in itemLoot.Get())
{
itemLoot.RemoveWhere(rule => rule is OneFromRulesRule);
}
}
}
}

View file

@ -1,19 +0,0 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using Continuity.Content.Items;
namespace Continuity.Content.Palishade
{
public class PlanteraRecipes : ModSystem
{
public override void AddRecipes() {
// Seedler
Recipe recipe = Recipe.Create(ItemID.Seedler);
recipe.AddIngredient(ItemID.ChlorophyteBar, 12);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 9);
recipe.AddIngredient(331, 6);
recipe.Register();
}
}
}

88
Content/Recipes.cs Normal file
View file

@ -0,0 +1,88 @@
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using Continuity.Content.Items;
namespace Continuity.Content
{
public class PlanteraRecipes : ModSystem
{
public override void AddRecipes() {
// Seedler
Recipe recipe = Recipe.Create(ItemID.Seedler);
recipe.AddIngredient(ItemID.ChlorophyteBar, 12);
recipe.AddIngredient(ItemID.Stinger, 3);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 9);
recipe.AddIngredient(331, 6);
recipe.Register();
// The Axe
recipe = Recipe.Create(ItemID.TheAxe);
recipe.AddIngredient(ItemID.ChlorophyteBar, 15);
recipe.AddIngredient(ItemID.Stinger, 2);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 10);
recipe.AddIngredient(331, 3);
recipe.Register();
// Temple Key
recipe = Recipe.Create(ItemID.TempleKey);
recipe.AddIngredient(ItemID.ChlorophyteBar, 2);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 3);
recipe.Register();
// Nettle Burst
recipe = Recipe.Create(ItemID.NettleBurst);
recipe.AddIngredient(ItemID.ChlorophyteBar, 10);
recipe.AddIngredient(ItemID.Stinger, 4);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 6);
recipe.AddIngredient(ItemID.Vine, 3);
recipe.Register();
// Pygmy Staff
recipe = Recipe.Create(ItemID.PygmyStaff);
recipe.AddIngredient(ItemID.ChlorophyteBar, 12);
recipe.AddIngredient(ItemID.Stinger, 4);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 9);
recipe.AddIngredient(ItemID.Vine, 2);
recipe.Register();
// Flower Pow
recipe = Recipe.Create(ItemID.FlowerPow);
recipe.AddIngredient(ItemID.ChlorophyteBar, 11);
recipe.AddIngredient(ItemID.JungleRose, 1);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 10);
recipe.AddIngredient(ItemID.Vine, 3);
recipe.Register();
// Leaf Blower
recipe = Recipe.Create(ItemID.LeafBlower);
recipe.AddIngredient(ItemID.ChlorophyteBar, 10);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 8);
recipe.AddIngredient(ItemID.Vine, 1);
recipe.AddIngredient(331, 8);
recipe.Register();
// Venus Magnum
recipe = Recipe.Create(ItemID.VenusMagnum);
recipe.AddIngredient(ItemID.ChlorophyteBar, 12);
recipe.AddIngredient(ItemID.Handgun, 1);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 6);
recipe.AddIngredient(ItemID.Vine, 2);
recipe.Register();
// Grenade Launcher
recipe = Recipe.Create(ItemID.GrenadeLauncher);
recipe.AddIngredient(ItemID.ChlorophyteBar, 10);
recipe.AddRecipeGroup(RecipeGroupID.IronBar, 8);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 10);
recipe.Register();
// Thorn Hook
recipe = Recipe.Create(ItemID.ThornHook);
recipe.AddIngredient(ItemID.Stinger, 3);
recipe.AddIngredient(ModContent.ItemType<PalishadeTissue>(), 2);
recipe.AddIngredient(ItemID.Vine, 5);
recipe.Register();
}
}
}

View file

@ -3,7 +3,7 @@ Items: {
Tooltip:
'''
A clump of dark red cells from Plantera.
Hardens when exposed to bright light.
[c/B4202A:Hardens when exposed to bright light.]
'''
DisplayName: Palishade Tissue
}

View file

@ -2,13 +2,13 @@
"profiles": {
"Terraria": {
"commandName": "Executable",
"executablePath": "$(DotNetName)",
"executablePath": "/etc/profiles/per-user/devraza/bin/dotnet",
"commandLineArgs": "$(tMLPath)",
"workingDirectory": "$(tMLSteamPath)"
},
"TerrariaServer": {
"commandName": "Executable",
"executablePath": "$(DotNetName)",
"executablePath": "/etc/profiles/per-user/devraza/bin/dotnet",
"commandLineArgs": "$(tMLServerPath)",
"workingDirectory": "$(tMLSteamPath)"
}

View file

@ -1,3 +1,4 @@
displayName = Continuity
author = The Continuity Team
version = 0.1
sortAfter = CalamityMod
version = 0.1