Colossus Effigy Blacklist (#5160)
* Added colossus effigy blacklist. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
c0821274f3
commit
46acbaaf26
|
|
@ -1,3 +1,5 @@
|
|||
using Content.Shared.Whitelist;
|
||||
|
||||
namespace Content.Server.Objectives.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
|
|
@ -5,4 +7,11 @@ public sealed partial class CosmicEffigyConditionComponent : Component
|
|||
{
|
||||
[DataField]
|
||||
public EntityUid? EffigyTarget;
|
||||
|
||||
/// <summary>
|
||||
/// Tags that should be used to exclude Warp Points
|
||||
/// from the list of valid effigy targets
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public EntityWhitelist? Blacklist;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ using Content.Shared.Ninja.Components;
|
|||
using Content.Shared.Objectives.Components;
|
||||
using Content.Shared.Roles;
|
||||
using Content.Shared.Warps;
|
||||
using Content.Shared.Whitelist;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server.Objectives.Systems;
|
||||
|
|
@ -14,6 +15,7 @@ public sealed class CosmicCultObjectiveSystem : EntitySystem
|
|||
[Dependency] private readonly NumberObjectiveSystem _number = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
[Dependency] private readonly SharedRoleSystem _roles = default!;
|
||||
[Dependency] private readonly EntityWhitelistSystem _whitelist = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
|
|
@ -35,10 +37,13 @@ public sealed class CosmicCultObjectiveSystem : EntitySystem
|
|||
|
||||
var warps = new List<EntityUid>();
|
||||
var query = EntityQueryEnumerator<WarpPointComponent>();
|
||||
var effigyBlacklist = comp.Blacklist;
|
||||
|
||||
// TODO: Add a blacklist comp to this like ninja now has from upstream #40726
|
||||
while (query.MoveNext(out var warpUid, out var warp))
|
||||
{
|
||||
if (warp.Location != null)
|
||||
if (_whitelist.IsBlacklistFail(effigyBlacklist, warpUid)
|
||||
&& !string.IsNullOrWhiteSpace(warp?.Location))
|
||||
{
|
||||
warps.Add(warpUid);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,6 +39,9 @@
|
|||
blacklist:
|
||||
tags:
|
||||
- GhostOnlyWarp
|
||||
- type: Tag # DeltaV - Prevent the warp point from being chosen for bombing/effigy targets
|
||||
tags:
|
||||
- GhostOnlyWarp
|
||||
|
||||
- type: entity
|
||||
id: ImmovableRodDespawn
|
||||
|
|
|
|||
|
|
@ -85,6 +85,9 @@
|
|||
- FlyingMobLayer
|
||||
- type: WarpPoint
|
||||
follow: true
|
||||
blacklist:
|
||||
tags:
|
||||
- GhostOnlyWarp
|
||||
- type: Body
|
||||
requiredLegs: 0
|
||||
- type: Emoting
|
||||
|
|
@ -118,6 +121,7 @@
|
|||
- CannotSuicide
|
||||
- DoorBumpOpener
|
||||
- Unimplantable
|
||||
- GhostOnlyWarp # Prevents it from being warped to or being a warp location bombing target
|
||||
- type: Damageable
|
||||
damageContainer: InorganicMetaphysical
|
||||
damageModifierSet: EntropicColossus
|
||||
|
|
|
|||
|
|
@ -92,6 +92,9 @@
|
|||
- type: CanMoveInAir
|
||||
- type: WarpPoint
|
||||
follow: true
|
||||
blacklist:
|
||||
tags:
|
||||
- GhostOnlyWarp
|
||||
location: The Unknown
|
||||
- type: CosmicGod
|
||||
- type: CosmicCultExamine
|
||||
|
|
@ -122,3 +125,6 @@
|
|||
raffle:
|
||||
settings: short
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Tag
|
||||
tags:
|
||||
- GhostOnlyWarp
|
||||
|
|
|
|||
|
|
@ -112,3 +112,9 @@
|
|||
- MobCosmicLodestarHostile
|
||||
- type: WarpPoint
|
||||
follow: true
|
||||
blacklist:
|
||||
tags:
|
||||
- GhostOnlyWarp
|
||||
- type: Tag
|
||||
tags:
|
||||
- GhostOnlyWarp
|
||||
|
|
|
|||
|
|
@ -99,12 +99,19 @@
|
|||
- CosmicCult
|
||||
- type: WarpPoint
|
||||
location: The Monument
|
||||
blacklist:
|
||||
tags:
|
||||
- GhostOnlyWarp
|
||||
- type: CosmicCultExamine
|
||||
cultistText: cosmic-examine-text-forthecult
|
||||
- type: CosmicCorrupting
|
||||
corruptionReduction: 0.01
|
||||
enabled: false
|
||||
floodFillStarting: true
|
||||
- type: Tag
|
||||
tags:
|
||||
- Structure # Parent has this tag
|
||||
- GhostOnlyWarp
|
||||
|
||||
########### SPAWN-IN ANIMATION #############
|
||||
|
||||
|
|
|
|||
|
|
@ -108,3 +108,7 @@
|
|||
sprite: _DV/CosmicCult/Icons/objectives.rsi
|
||||
state: effigy
|
||||
- type: CosmicEffigyCondition
|
||||
blacklist:
|
||||
tags:
|
||||
- GhostOnlyWarp
|
||||
- NinjaBombingTargetBlocker # Use the same blacklist as ninja
|
||||
|
|
|
|||
Loading…
Reference in New Issue