From 15294a4a61e829aeb0d3eb443552fd9ee8c50cfc Mon Sep 17 00:00:00 2001 From: Evil Factory <36804725+evilfactory@users.noreply.github.com> Date: Wed, 2 Feb 2022 11:52:08 -0300 Subject: [PATCH] rename item hooks to use the new name scheme, register body, new meleeWeapon.handleImpact hook and statusEffect.apply.ItemIdentifier hook --- Barotrauma/BarotraumaShared/Lua/DefaultHook.lua | 12 ++++++------ Barotrauma/BarotraumaShared/Lua/DefaultRegister.lua | 1 + .../Items/Components/Holdable/MeleeWeapon.cs | 1 + .../SharedSource/StatusEffects/StatusEffect.cs | 7 +++++++ 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultHook.lua b/Barotrauma/BarotraumaShared/Lua/DefaultHook.lua index 15a3731d4..633909087 100644 --- a/Barotrauma/BarotraumaShared/Lua/DefaultHook.lua +++ b/Barotrauma/BarotraumaShared/Lua/DefaultHook.lua @@ -8,7 +8,7 @@ Hook.HookMethod( "System.Boolean" }, function (instance, p) - if Hook.Call("itemInteract", instance, p.picker, p.ignoreRequiredItems, p.forceSelectKey, p.forceActionKey) == true then + if Hook.Call("item.interact", instance, p.picker, p.ignoreRequiredItems, p.forceSelectKey, p.forceActionKey) == true then return false end end, @@ -23,7 +23,7 @@ Hook.HookMethod( "Barotrauma.Limb" }, function (instance, p) - if Hook.Call("itemApplyTreatment", instance, p.user, p.character, p.targetLimb) then + if Hook.Call("item.applyTreatment", instance, p.user, p.character, p.targetLimb) then return false end end, @@ -37,7 +37,7 @@ Hook.HookMethod( "Barotrauma.Character" }, function (instance, p) - if Hook.Call("itemCombine", instance, p.item, p.user) == true then + if Hook.Call("item.combine", instance, p.item, p.user) == true then return false end end, @@ -51,7 +51,7 @@ Hook.HookMethod( "System.Boolean" }, function (instance, p) - if Hook.Call("itemDrop", instance, p.dropper) == true then + if Hook.Call("item.drop", instance, p.dropper) == true then return false end end, @@ -64,7 +64,7 @@ Hook.HookMethod( "Barotrauma.Character" }, function (instance, p) - if Hook.Call("itemEquip", instance, p.character) == true then + if Hook.Call("item.equip", instance, p.character) == true then return false end end, @@ -77,7 +77,7 @@ Hook.HookMethod( "Barotrauma.Character" }, function (instance, p) - if Hook.Call("itemUnequip", instance, p.character) == true then + if Hook.Call("item.unequip", instance, p.character) == true then return false end end, diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultRegister.lua b/Barotrauma/BarotraumaShared/Lua/DefaultRegister.lua index 352f2c6c9..b56ed25b1 100644 --- a/Barotrauma/BarotraumaShared/Lua/DefaultRegister.lua +++ b/Barotrauma/BarotraumaShared/Lua/DefaultRegister.lua @@ -196,6 +196,7 @@ RegisterBarotrauma("SkillPrefab") RegisterBarotrauma("TraitorMissionPrefab") RegisterBarotrauma("TraitorMissionResult") +LuaUserData.RegisterType("FarseerPhysics.Dynamics.Body") LuaUserData.RegisterType("FarseerPhysics.Dynamics.World") LuaUserData.RegisterType("FarseerPhysics.Dynamics.Fixture") RegisterBarotrauma("Physics") diff --git a/Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/MeleeWeapon.cs b/Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/MeleeWeapon.cs index 2233fd79a..fcecfa35f 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/MeleeWeapon.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/MeleeWeapon.cs @@ -383,6 +383,7 @@ namespace Barotrauma.Items.Components Limb targetLimb = target.UserData as Limb; Character targetCharacter = targetLimb?.character ?? target.UserData as Character; + GameMain.Lua.hook.Call("meleeWeapon.handleImpact", this, target); if (Attack != null) { Attack.SetUser(User); diff --git a/Barotrauma/BarotraumaShared/SharedSource/StatusEffects/StatusEffect.cs b/Barotrauma/BarotraumaShared/SharedSource/StatusEffects/StatusEffect.cs index 43cd51e95..384d9661e 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/StatusEffects/StatusEffect.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/StatusEffects/StatusEffect.cs @@ -1135,6 +1135,13 @@ namespace Barotrauma if (lifeTimer <= 0) { return; } } + { + if (entity is Item item) + { + GameMain.Lua.hook.Call("statusEffect.apply." + item.Prefab.Identifier, this, deltaTime, entity, targets, worldPosition); + } + } + Hull hull = GetHull(entity); Vector2 position = GetPosition(entity, targets, worldPosition); foreach (ISerializableEntity serializableEntity in targets)