diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib.lua b/Barotrauma/BarotraumaShared/Lua/DefaultLib.lua index 4d0c8a08a..ae6615aa0 100644 --- a/Barotrauma/BarotraumaShared/Lua/DefaultLib.lua +++ b/Barotrauma/BarotraumaShared/Lua/DefaultLib.lua @@ -62,6 +62,7 @@ defaultLib["Entity"] = CreateStatic("Entity") defaultLib["Physics"] = CreateStatic("Physics") defaultLib["FireSource"] = CreateStatic("FireSource") defaultLib["TextManager"] = CreateStatic("TextManager") +defaultLib["NetEntityEvent"] = CreateStatic("Networking.NetEntityEvent") defaultLib["AIObjective"] = CreateStatic("AIObjective") defaultLib["AIObjectiveChargeBatteries"] = CreateStatic("AIObjectiveChargeBatteries") diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultRegister.lua b/Barotrauma/BarotraumaShared/Lua/DefaultRegister.lua index aa0be8b08..7a2e7f4ca 100644 --- a/Barotrauma/BarotraumaShared/Lua/DefaultRegister.lua +++ b/Barotrauma/BarotraumaShared/Lua/DefaultRegister.lua @@ -53,6 +53,7 @@ RegisterBarotrauma("PhysicsBody") RegisterBarotrauma("InvSlotType") RegisterBarotrauma("ItemPrefab") RegisterBarotrauma("SerializableProperty") + RegisterBarotrauma("StatusEffect") RegisterBarotrauma("FireSource") RegisterBarotrauma("ContentPackage") @@ -178,6 +179,10 @@ RegisterBarotrauma("Networking.IReadMessage") RegisterBarotrauma("Networking.ServerPacketHeader") RegisterBarotrauma("Networking.ClientPacketHeader") RegisterBarotrauma("Networking.DeliveryMethod") +RegisterBarotrauma("Networking.DeliveryMethod") +RegisterBarotrauma("Networking.NetEntityEvent") +RegisterBarotrauma("Networking.NetEntityEvent+Type") +RegisterBarotrauma("Networking.INetSerializable") RegisterBarotrauma("Rand+RandSync") RegisterBarotrauma("Skill") diff --git a/Barotrauma/BarotraumaShared/SharedSource/Items/Item.cs b/Barotrauma/BarotraumaShared/SharedSource/Items/Item.cs index 43cecd07b..c5ae52b79 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Items/Item.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Items/Item.cs @@ -2718,6 +2718,10 @@ namespace Barotrauma } } + var result = new LuaResult(GameMain.Lua.hook.Call("item.readPropertyChange", this, property, parentObject, allowEditing)); + if (result.Bool()) + return; + Type type = property.PropertyType; string logValue = ""; if (type == typeof(string)) diff --git a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs index 793738bba..8d838b7d4 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs @@ -746,6 +746,11 @@ namespace Barotrauma env.hook.EnqueueFunction(callback, e.ToString()); } } + + public void CreateEntityEvent(INetSerializable entity, object[] extraData) + { + GameMain.NetworkMember.CreateEntityEvent(entity, extraData); + } } public partial class LuaHook