From 18e0bd6a13611cd0bd248afdfa1b25bfb0bd1b99 Mon Sep 17 00:00:00 2001 From: YouHaveTrouble Date: Sat, 3 Dec 2022 09:56:51 +0100 Subject: [PATCH] I have no idea why this doesn't work --- Changes/TheKeyBehavior.cs | 47 ++++++++++++++++++++++++++++++++++++++ Items/TheKey.cs | 14 ++++++++++++ Items/TheKey.png | Bin 0 -> 1254 bytes 3 files changed, 61 insertions(+) create mode 100644 Changes/TheKeyBehavior.cs create mode 100644 Items/TheKey.cs create mode 100644 Items/TheKey.png diff --git a/Changes/TheKeyBehavior.cs b/Changes/TheKeyBehavior.cs new file mode 100644 index 0000000..b7b9e23 --- /dev/null +++ b/Changes/TheKeyBehavior.cs @@ -0,0 +1,47 @@ + +using Microsoft.Xna.Framework; +using Terraria; +using Terraria.Chat; +using Terraria.ID; +using Terraria.Localization; +using Terraria.ModLoader; +using YHTMod.Items; + +namespace YHTMod.Changes; + +public class TheKeyBehavior : GlobalTile { + + public override void RightClick(int i, int j, int type) { + + if (type != TileID.Containers) { + base.RightClick(i, j, type); + return; + } + + bool foundKey = false; + foreach (Item item in Main.LocalPlayer.inventory) { + if (item.type.Equals(ModContent.ItemType())) { + foundKey = true; + break; + } + } + ChatHelper.BroadcastChatMessage(NetworkText.FromLiteral(foundKey.ToString()), Color.White); + + if (!foundKey) { + return; + } + ChatHelper.BroadcastChatMessage(NetworkText.FromLiteral("Found key!"), Color.White); + + if (!Chest.IsLocked(i, j)) { + base.RightClick(i, j, type); + return; + } + + Chest.Unlock(i, j); + if (Main.netMode == NetmodeID.MultiplayerClient) + NetMessage.SendData(MessageID.Unlock, number: 1, number2: 1f, number3: i, number4: j); + + + } + +} \ No newline at end of file diff --git a/Items/TheKey.cs b/Items/TheKey.cs new file mode 100644 index 0000000..b3ccd68 --- /dev/null +++ b/Items/TheKey.cs @@ -0,0 +1,14 @@ +using Terraria.GameContent.Creative; +using Terraria.ModLoader; + +namespace YHTMod.Items; + +public class TheKey : ModItem { + + public override void SetStaticDefaults() { + DisplayName.SetDefault("The Key"); + Tooltip.SetDefault("Opens all locks."); + CreativeItemSacrificesCatalog.Instance.SacrificeCountNeededByItemId[Type] = 1; + } + +} \ No newline at end of file diff --git a/Items/TheKey.png b/Items/TheKey.png new file mode 100644 index 0000000000000000000000000000000000000000..357e8c8d5f47bb81cde48a7ef751d276c41fd160 GIT binary patch literal 1254 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU|Hko;uum9_jZnAzNn)}>unas zMRLLH96IYX{xPw|sPZ{BIW6`Out-d-mOG zdzsqu^yhPapS^ka=Jj{)Kk9E`{=M+3aveWIlQYmJfjf;4K6x@QaJ+LU_^AT4vs__E zjSvGvleIvM9VY|BL0JyH`78_#5BON7`!g{(6tFj)R%c{T*ui}8>0}yeH`w@RvitRa z5py2>_}cF&_FAPmisPFR8$-p*B`cIo|GhXS`tiiWPn*~8XSaXh%O-SSiS2ZD#)i(G z*wY*0<79Hy{cSIopY8MW&*9Yv3xkZds4;RTT$*>fnc;xTF}>OwB7gb&=ASXTI)%r4 zew>N!vt`X`f!i)kW;oy_oo@Q}+Kc^FUup^r|JhWVWyvorsqq!(3@G;aBg5cwc+XV- zy-D7W_ghx(+!$0VrNG$3$-z5^#vkMF-+Rk5MUQjs{VONauU4i@mB2QM83Ce%0I*cq}i z#O=OMV(^UPb9x)6zJI#cefAx771_rPOP|hu%RJ?m7ZZ=Quw28IMa2$T_W3*$Zt}0T zUG~&-!oT=m+zLPAB~FI_yTLnulHlaG%va`pXH59bDzu&9%)T#TWrsF;26(l6`FyGC z{8PPmatVolXVh9T80>y}+G-(}!|ONE;s2iaGp=pgBg4)RXLWPsVXl^YQ|*2SJ1o!7 z<6~zqU;9NfWm7G~{IZ|HtPKCEv^1F*PU_VkWq7cD`6MNV32#1y^9(QHKjPijSmu`( T3p)Y}6$VdNKbLh*2~7+DELS8e literal 0 HcmV?d00001