Thief stuff (#480)
* - add: Thief stuff. * - fix: Implants. * - add: Jammer.
This commit is contained in:
@@ -37,7 +37,8 @@ public sealed class MindslaveSystem : SharedMindslaveSystem
|
||||
masterComponent.Slaves.Add(GetNetEntity(args.Target));
|
||||
masterComponent.Master = GetNetEntity(args.User);
|
||||
|
||||
Dirty(args.Target, masterComponent);
|
||||
Dirty(args.User, masterComponent);
|
||||
Dirty(args.Target, slaveComponent);
|
||||
|
||||
if (!Mind.TryGetMind(args.Target, out var targetMindId, out var targetMind) || targetMind.Session is null)
|
||||
{
|
||||
@@ -73,7 +74,7 @@ public sealed class MindslaveSystem : SharedMindslaveSystem
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!TryComp(args.Target, out MindSlaveComponent? mindslave))
|
||||
{
|
||||
return;
|
||||
@@ -85,6 +86,14 @@ public sealed class MindslaveSystem : SharedMindslaveSystem
|
||||
Popup.PopupEntity(Loc.GetString("mindslave-freed", ("player", mindslave.Master)), args.Target, args.Target);
|
||||
}
|
||||
|
||||
var master = GetEntity(mindslave.Master);
|
||||
if (TryComp(master, out MindSlaveComponent? masterMindslave))
|
||||
{
|
||||
masterMindslave.Slaves.Remove(GetNetEntity(args.Target));
|
||||
if (masterMindslave.Slaves.Count == 0)
|
||||
RemComp<MindSlaveComponent>(master);
|
||||
}
|
||||
|
||||
RemComp<MindSlaveComponent>(args.Target);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user