ECS and cleanup body system, merge body templates and presets into body prototypes (#11991)

Co-authored-by: Jezithyr <Jezithyr@gmail.com>
This commit is contained in:
DrSmugleaf
2022-10-23 00:46:28 +02:00
committed by GitHub
parent 9a38736c3c
commit f323fb7644
140 changed files with 2478 additions and 2571 deletions

View File

@@ -55,7 +55,7 @@ namespace Content.Server.Nutrition.EntitySystems
SubscribeLocalEvent<DrinkComponent, GetVerbsEvent<AlternativeVerb>>(AddDrinkVerb);
SubscribeLocalEvent<DrinkComponent, ExaminedEvent>(OnExamined);
SubscribeLocalEvent<DrinkComponent, SolutionTransferAttemptEvent>(OnTransferAttempt);
SubscribeLocalEvent<SharedBodyComponent, DrinkEvent>(OnDrink);
SubscribeLocalEvent<BodyComponent, DrinkEvent>(OnDrink);
SubscribeLocalEvent<DrinkCancelledEvent>(OnDrinkCancelled);
}
@@ -225,7 +225,7 @@ namespace Content.Server.Nutrition.EntitySystems
return true;
}
if (!EntityManager.HasComponent<SharedBodyComponent>(target))
if (!EntityManager.HasComponent<BodyComponent>(target))
return false;
if (!drink.Opened)
@@ -286,7 +286,7 @@ namespace Content.Server.Nutrition.EntitySystems
/// <summary>
/// Raised directed at a victim when someone has force fed them a drink.
/// </summary>
private void OnDrink(EntityUid uid, SharedBodyComponent body, DrinkEvent args)
private void OnDrink(EntityUid uid, BodyComponent body, DrinkEvent args)
{
if (args.Drink.Deleted)
return;
@@ -297,7 +297,7 @@ namespace Content.Server.Nutrition.EntitySystems
var forceDrink = uid != args.User;
if (!_bodySystem.TryGetComponentsOnMechanisms<StomachComponent>(uid, out var stomachs, body))
if (!_bodySystem.TryGetBodyOrganComponents<StomachComponent>(uid, out var stomachs, body))
{
_popupSystem.PopupEntity(
forceDrink ?
@@ -380,8 +380,8 @@ namespace Content.Server.Nutrition.EntitySystems
if (uid == ev.User ||
!ev.CanInteract ||
!ev.CanAccess ||
!EntityManager.TryGetComponent(ev.User, out SharedBodyComponent? body) ||
!_bodySystem.TryGetComponentsOnMechanisms<StomachComponent>(ev.User, out var stomachs, body))
!EntityManager.TryGetComponent(ev.User, out BodyComponent? body) ||
!_bodySystem.TryGetBodyOrganComponents<StomachComponent>(ev.User, out var stomachs, body))
return;
if (EntityManager.TryGetComponent<MobStateComponent>(uid, out var mobState) && mobState.IsAlive())