if (!_mind.TryGetMind(chassis.Owner, out _, out _))
return false;
- if (!_mobState.IsAlive(chassis.Owner))
+ if (_mobState.IsIncapacitated(chassis.Owner))
return false;
return true;
if (chassis.Comp.Active)
return false; // Already active.
- if (CanActivate(chassis))
- {
- SetActive(chassis, true, user);
- return true;
- }
+ if (!CanActivate(chassis))
+ return false;
+
+ SetActive(chassis, true, user);
+ return true;
- return false;
}
/// <summary>
// Unpredicted because the event is raised on the server.
_popup.PopupEntity(Loc.GetString("borg-mind-added", ("name", Identity.Name(chassis.Owner, EntityManager))), chassis.Owner);
- if (CanActivate(chassis))
- SetActive(chassis, true);
+ TryActivate(chassis);
+
_appearance.SetData(chassis.Owner, BorgVisuals.HasPlayer, true);
}
private void OnMobStateChanged(Entity<BorgChassisComponent> chassis, ref MobStateChangedEvent args)
{
if (args.NewMobState == MobState.Alive)
- {
- if (CanActivate(chassis))
- SetActive(chassis, true, user: args.Origin);
- }
+ TryActivate(chassis, args.Origin);
else
- {
SetActive(chassis, false, user: args.Origin);
- }
}
private void OnBeingGibbed(Entity<BorgChassisComponent> chassis, ref BeingGibbedEvent args)
// Raised when a power cell is inserted.
private void OnPowerCellChanged(Entity<BorgChassisComponent> chassis, ref PowerCellChangedEvent args)
{
- if (CanActivate(chassis))
- SetActive(chassis, true);
+ TryActivate(chassis);
}
public override void Update(float frameTime)
Dirty(uid, borgChassis);
// If we aren't drawing and suddenly get enough power to draw again, reenable.
- if (CanActivate((uid, borgChassis)))
- SetActive((uid, borgChassis), true);
+ TryActivate((uid, borgChassis));
}
}
}