add many item and inventory related hooks
This commit is contained in:
@@ -523,6 +523,11 @@ namespace Barotrauma
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var should = new LuaResult(GameMain.Lua.hook.Call("inventoryPutItem", new object[] { this, item, user, i, removeItem }));
|
||||||
|
|
||||||
|
if (should.Bool())
|
||||||
|
return;
|
||||||
|
|
||||||
if (Owner == null) { return; }
|
if (Owner == null) { return; }
|
||||||
|
|
||||||
Inventory prevInventory = item.ParentInventory;
|
Inventory prevInventory = item.ParentInventory;
|
||||||
@@ -624,6 +629,11 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
if (item?.ParentInventory == null || !slots[index].Any()) { return false; }
|
if (item?.ParentInventory == null || !slots[index].Any()) { return false; }
|
||||||
|
|
||||||
|
var should = new LuaResult(GameMain.Lua.hook.Call("inventoryItemSwap", new object[] { this, item, user, index, swapWholeStack }));
|
||||||
|
|
||||||
|
if (!should.IsNull())
|
||||||
|
return should.Bool();
|
||||||
|
|
||||||
//swap to InvSlotType.Any if possible
|
//swap to InvSlotType.Any if possible
|
||||||
Inventory otherInventory = item.ParentInventory;
|
Inventory otherInventory = item.ParentInventory;
|
||||||
bool otherIsEquipped = false;
|
bool otherIsEquipped = false;
|
||||||
|
|||||||
@@ -2089,6 +2089,11 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public bool TryInteract(Character picker, bool ignoreRequiredItems = false, bool forceSelectKey = false, bool forceActionKey = false)
|
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; }
|
if (CampaignInteractionType != CampaignMode.InteractionType.None) { return false; }
|
||||||
|
|
||||||
bool picked = false, selected = false;
|
bool picked = false, selected = false;
|
||||||
@@ -2349,6 +2354,11 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public bool Combine(Item item, Character user)
|
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; }
|
if (item == this) { return false; }
|
||||||
bool isCombined = false;
|
bool isCombined = false;
|
||||||
foreach (ItemComponent ic in components)
|
foreach (ItemComponent ic in components)
|
||||||
|
|||||||
@@ -348,6 +348,7 @@ namespace Barotrauma
|
|||||||
UserData.RegisterType<Holdable>();
|
UserData.RegisterType<Holdable>();
|
||||||
UserData.RegisterType<CustomInterface>();
|
UserData.RegisterType<CustomInterface>();
|
||||||
UserData.RegisterType<Inventory>();
|
UserData.RegisterType<Inventory>();
|
||||||
|
UserData.RegisterType<ItemInventory>();
|
||||||
UserData.RegisterType<ItemContainer>();
|
UserData.RegisterType<ItemContainer>();
|
||||||
UserData.RegisterType<PowerContainer>();
|
UserData.RegisterType<PowerContainer>();
|
||||||
UserData.RegisterType<Pickable>();
|
UserData.RegisterType<Pickable>();
|
||||||
@@ -442,8 +443,6 @@ namespace Barotrauma
|
|||||||
AddCallMetaMember(UserData.RegisterType<GUIListBox>());
|
AddCallMetaMember(UserData.RegisterType<GUIListBox>());
|
||||||
AddCallMetaMember(UserData.RegisterType<GUIScrollBar>());
|
AddCallMetaMember(UserData.RegisterType<GUIScrollBar>());
|
||||||
AddCallMetaMember(UserData.RegisterType<GUIDropDown>());
|
AddCallMetaMember(UserData.RegisterType<GUIDropDown>());
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
lua = new Script(CoreModules.Preset_SoftSandbox);
|
lua = new Script(CoreModules.Preset_SoftSandbox);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user