Merge pull request #27 from zhu-rengong/enable_control_husk

allow client to force control husk and add a hook
This commit is contained in:
Evil Factory
2021-11-18 17:32:21 -03:00
committed by GitHub
2 changed files with 9 additions and 1 deletions

View File

@@ -235,13 +235,14 @@ namespace Barotrauma
if (Prefab is AfflictionPrefabHusk huskPrefab)
{
if (huskPrefab.ControlHusk)
if (huskPrefab.ControlHusk || GameMain.Lua.game.enableControlHusk)
{
#if SERVER
var client = GameMain.Server?.ConnectedClients.FirstOrDefault(c => c.CharacterInfo.Character == character);
if (client != null)
{
GameMain.Server.SetClientCharacter(client, husk);
GameMain.Lua.hook.Call("husk.clientControlHusk", new object[] { client, husk });
}
#else
if (!character.IsRemotelyControlled && character == Character.Controlled)

View File

@@ -112,6 +112,7 @@ namespace Barotrauma
public bool overrideSignalRadio = false;
public bool disableSpamFilter = false;
public bool disableDisconnectCharacter = false;
public bool enableControlHusk = false;
public bool RoundStarted
{
@@ -188,6 +189,12 @@ namespace Barotrauma
disableDisconnectCharacter = o;
}
public void EnableControlHusk(bool o)
{
enableControlHusk = o;
}
public static void Explode(Vector2 pos, float range = 100, float force = 30, float damage = 30, float structureDamage = 30, float itemDamage = 30, float empStrength = 0, float ballastFloraStrength = 0)
{
new Explosion(range, force, damage, structureDamage, itemDamage, empStrength, ballastFloraStrength).Explode(pos, null);