modified way to patch, can realize params map for compatibility, and try to hook Item in lua.

This commit is contained in:
zhurengong
2021-11-10 21:07:19 +08:00
parent 5c6450c6a2
commit 6b1aca8efa
5 changed files with 72 additions and 100 deletions
@@ -2166,11 +2166,6 @@ namespace Barotrauma
public bool TryInteract(Character picker, bool ignoreRequiredItems = false, bool forceSelectKey = false, bool forceActionKey = false)
{
var should = new LuaResult(GameMain.Lua.hook.Call("itemInteract", new object[] { this, picker, ignoreRequiredItems, forceSelectKey, forceActionKey }));
if (!should.IsNull())
return should.Bool();
if (CampaignInteractionType != CampaignMode.InteractionType.None) { return false; }
bool picked = false, selected = false;
@@ -2309,11 +2304,6 @@ namespace Barotrauma
if (condition == 0.0f) { return; }
var should = new LuaResult(GameMain.Lua.hook.Call("itemUse", new object[] { this, character, targetLimb }));
if (should.Bool())
return;
bool remove = false;
foreach (ItemComponent ic in components)
@@ -2347,12 +2337,6 @@ namespace Barotrauma
{
if (condition == 0.0f) { return; }
var should = new LuaResult(GameMain.Lua.hook.Call("itemSecondaryUse", new object[] { this, character}));
if (should.Bool())
return;
bool remove = false;
foreach (ItemComponent ic in components)
@@ -2384,11 +2368,6 @@ namespace Barotrauma
public void ApplyTreatment(Character user, Character character, Limb targetLimb)
{
var should = new LuaResult(GameMain.Lua.hook.Call("itemApplyTreatment", new object[] { this, user, character, targetLimb }));
if (should.Bool())
return;
//can't apply treatment to dead characters
if (character.IsDead) { return; }
if (!UseInHealthInterface) { return; }
@@ -2454,11 +2433,6 @@ namespace Barotrauma
public bool Combine(Item item, Character user)
{
var should = new LuaResult(GameMain.Lua.hook.Call("itemCombine", new object[] { this, item, user }));
if (!should.IsNull())
return should.Bool();
if (item == this) { return false; }
bool isCombined = false;
foreach (ItemComponent ic in components)
@@ -2473,11 +2447,6 @@ namespace Barotrauma
public void Drop(Character dropper, bool createNetworkEvent = true)
{
var should = new LuaResult(GameMain.Lua.hook.Call("itemDrop", new object[] { this, dropper}));
if (should.Bool())
return;
if (createNetworkEvent)
{
if (parentInventory != null && !parentInventory.Owner.Removed && !Removed &&
@@ -2530,11 +2499,6 @@ namespace Barotrauma
public void Equip(Character character)
{
var should = new LuaResult(GameMain.Lua.hook.Call("itemEquip", new object[] { this, character}));
if (should.Bool())
return;
if (Removed)
{
DebugConsole.ThrowError($"Tried to equip a removed item ({Name}).\n{Environment.StackTrace.CleanupStackTrace()}");
@@ -2546,11 +2510,6 @@ namespace Barotrauma
public void Unequip(Character character)
{
var should = new LuaResult(GameMain.Lua.hook.Call("itemUnequip", new object[] { this, character }));
if (should.Bool())
return;
foreach (ItemComponent ic in components) { ic.Unequip(character); }
}