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:
+2
-1
@@ -235,13 +235,14 @@ namespace Barotrauma
|
|||||||
|
|
||||||
if (Prefab is AfflictionPrefabHusk huskPrefab)
|
if (Prefab is AfflictionPrefabHusk huskPrefab)
|
||||||
{
|
{
|
||||||
if (huskPrefab.ControlHusk)
|
if (huskPrefab.ControlHusk || GameMain.Lua.game.enableControlHusk)
|
||||||
{
|
{
|
||||||
#if SERVER
|
#if SERVER
|
||||||
var client = GameMain.Server?.ConnectedClients.FirstOrDefault(c => c.CharacterInfo.Character == character);
|
var client = GameMain.Server?.ConnectedClients.FirstOrDefault(c => c.CharacterInfo.Character == character);
|
||||||
if (client != null)
|
if (client != null)
|
||||||
{
|
{
|
||||||
GameMain.Server.SetClientCharacter(client, husk);
|
GameMain.Server.SetClientCharacter(client, husk);
|
||||||
|
GameMain.Lua.hook.Call("husk.clientControlHusk", new object[] { client, husk });
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (!character.IsRemotelyControlled && character == Character.Controlled)
|
if (!character.IsRemotelyControlled && character == Character.Controlled)
|
||||||
|
|||||||
@@ -112,6 +112,7 @@ namespace Barotrauma
|
|||||||
public bool overrideSignalRadio = false;
|
public bool overrideSignalRadio = false;
|
||||||
public bool disableSpamFilter = false;
|
public bool disableSpamFilter = false;
|
||||||
public bool disableDisconnectCharacter = false;
|
public bool disableDisconnectCharacter = false;
|
||||||
|
public bool enableControlHusk = false;
|
||||||
|
|
||||||
public bool RoundStarted
|
public bool RoundStarted
|
||||||
{
|
{
|
||||||
@@ -188,6 +189,12 @@ namespace Barotrauma
|
|||||||
disableDisconnectCharacter = o;
|
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)
|
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);
|
new Explosion(range, force, damage, structureDamage, itemDamage, empStrength, ballastFloraStrength).Explode(pos, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user