falldamage and invslotype
This commit is contained in:
@@ -149,6 +149,9 @@ namespace Barotrauma
|
||||
UserData.RegisterType<CharacterInventory>();
|
||||
UserData.RegisterType<Hull>();
|
||||
UserData.RegisterType<Gap>();
|
||||
UserData.RegisterType<PhysicsBody>();
|
||||
UserData.RegisterType<SubmarineBody>();
|
||||
UserData.RegisterType<InvSlotType>();
|
||||
|
||||
lua = new Script(CoreModules.Preset_SoftSandbox | CoreModules.LoadMethods);
|
||||
|
||||
@@ -187,6 +190,8 @@ namespace Barotrauma
|
||||
lua.Globals["CreateVector3"] = (Func<float, float, float, Vector3>)CreateVector3;
|
||||
lua.Globals["CreateVector4"] = (Func<float, float, float, float, Vector4>)CreateVector4;
|
||||
lua.Globals["ChatMessage"] = UserData.CreateStatic<ChatMessage>();
|
||||
lua.Globals["Hull"] = UserData.CreateStatic<Hull>();
|
||||
lua.Globals["InvSlotType"] = UserData.CreateStatic<InvSlotType>();
|
||||
|
||||
foreach (string d in Directory.GetDirectories("Mods"))
|
||||
{
|
||||
|
||||
@@ -11,6 +11,7 @@ using System.Xml.Linq;
|
||||
using Barotrauma.Extensions;
|
||||
using LimbParams = Barotrauma.RagdollParams.LimbParams;
|
||||
using JointParams = Barotrauma.RagdollParams.JointParams;
|
||||
using MoonSharp.Interpreter;
|
||||
|
||||
namespace Barotrauma
|
||||
{
|
||||
@@ -711,6 +712,16 @@ namespace Barotrauma
|
||||
|
||||
float impactDamage = Math.Min((impact - ImpactTolerance) * ImpactDamageMultiplayer, character.MaxVitality * MaxImpactDamage);
|
||||
|
||||
#if SERVER
|
||||
|
||||
var should = GameMain.Lua.hook.Call("changeFallDamage", new DynValue[] { DynValue.NewNumber(impactDamage), LuaSetup.CreateUserDataSafe(character), LuaSetup.CreateUserDataSafe(impactPos), LuaSetup.CreateUserDataSafe(velocity) });
|
||||
|
||||
if (should != null)
|
||||
{
|
||||
impactDamage = (float)should.CastToNumber();
|
||||
}
|
||||
#endif
|
||||
|
||||
character.LastDamageSource = null;
|
||||
character.AddDamage(impactPos, AfflictionPrefab.ImpactDamage.Instantiate(impactDamage).ToEnumerable(), 0.0f, true);
|
||||
strongestImpact = Math.Max(strongestImpact, impact - ImpactTolerance);
|
||||
|
||||
Reference in New Issue
Block a user