Rat king tweaks (#9000)

This commit is contained in:
Kara
2022-06-21 07:00:11 -07:00
committed by GitHub
parent 849b794489
commit 8d18d733b8
5 changed files with 18 additions and 3 deletions

View File

@@ -42,6 +42,6 @@ namespace Content.Server.RatKing
/// How many moles of Miasma are released after one us of Domain /// How many moles of Miasma are released after one us of Domain
/// </summary> /// </summary>
[ViewVariables, DataField("molesMiasmaPerDomain")] [ViewVariables, DataField("molesMiasmaPerDomain")]
public float MolesMiasmaPerDomain = 75f; public float MolesMiasmaPerDomain = 100f;
} }
}; };

View File

@@ -12,6 +12,12 @@
[ViewVariables] [ViewVariables]
public EntityUid? Pulling { get; set; } public EntityUid? Pulling { get; set; }
/// <summary>
/// Does this entity need hands to be able to pull something?
/// </summary>
[DataField("needsHands")]
public bool NeedsHands = true;
protected override void Shutdown() protected override void Shutdown()
{ {
EntitySystem.Get<SharedPullingStateManagementSystem>().ForceDisconnectPuller(this); EntitySystem.Get<SharedPullingStateManagementSystem>().ForceDisconnectPuller(this);

View File

@@ -1,5 +1,6 @@
using Content.Shared.ActionBlocker; using Content.Shared.ActionBlocker;
using Content.Shared.Buckle.Components; using Content.Shared.Buckle.Components;
using Content.Shared.Hands.EntitySystems;
using Content.Shared.Physics.Pull; using Content.Shared.Physics.Pull;
using Content.Shared.Pulling.Components; using Content.Shared.Pulling.Components;
using Content.Shared.Pulling.Events; using Content.Shared.Pulling.Events;
@@ -13,10 +14,16 @@ namespace Content.Shared.Pulling
{ {
[Dependency] private readonly ActionBlockerSystem _blocker = default!; [Dependency] private readonly ActionBlockerSystem _blocker = default!;
[Dependency] private readonly SharedContainerSystem _containerSystem = default!; [Dependency] private readonly SharedContainerSystem _containerSystem = default!;
[Dependency] private readonly SharedHandsSystem _handsSystem = default!;
public bool CanPull(EntityUid puller, EntityUid pulled) public bool CanPull(EntityUid puller, EntityUid pulled)
{ {
if (!EntityManager.HasComponent<SharedPullerComponent>(puller)) if (!EntityManager.TryGetComponent<SharedPullerComponent>(puller, out var comp))
{
return false;
}
if (comp.NeedsHands && !_handsSystem.TryGetEmptyHand(puller, out _))
{ {
return false; return false;
} }

View File

@@ -54,7 +54,7 @@ namespace Content.Shared.Pulling
private void AddPullVerbs(EntityUid uid, SharedPullableComponent component, GetVerbsEvent<Verb> args) private void AddPullVerbs(EntityUid uid, SharedPullableComponent component, GetVerbsEvent<Verb> args)
{ {
if (args.Hands == null || !args.CanAccess || !args.CanInteract) if (!args.CanAccess || !args.CanInteract)
return; return;
// Are they trying to pull themselves up by their bootstraps? // Are they trying to pull themselves up by their bootstraps?

View File

@@ -64,6 +64,7 @@
Dead: Dead:
Base: dead Base: dead
- type: Puller - type: Puller
needsHands: false
- type: GhostTakeoverAvailable - type: GhostTakeoverAvailable
makeSentient: true makeSentient: true
name: Rat King name: Rat King
@@ -180,6 +181,7 @@
Dead: Dead:
Base: splat-3 Base: splat-3
- type: Puller - type: Puller
needsHands: false
- type: DiseaseCarrier - type: DiseaseCarrier
carrierDiseases: carrierDiseases:
- VentCough - VentCough