Table of Contents

Class Scp096Role

Namespace
Exiled.API.Features.Roles
Assembly
Exiled.API.dll

Defines a role that represents SCP-096.

public class Scp096Role : FpcRole, IWrapper<PlayerRoleBase>, IVoiceRole, ISubroutinedScpRole, IHumeShieldRole, ISpawnableScp
Inheritance
Scp096Role
Implements
IWrapper<PlayerRoleBase>
ISpawnableScp
Inherited Members
Extension Methods

Properties

AbilityState

Gets a value indicating SCP-096's ability state.

public Scp096AbilityState AbilityState { get; }

Property Value

Scp096AbilityState

AttackAbility

Gets SCP-096's PlayerRoles.PlayableScps.Scp096.Scp096AttackAbility.

public Scp096AttackAbility AttackAbility { get; }

Property Value

Scp096AttackAbility

AttackPossible

Gets a value indicating whether SCP-096 can attack.

public bool AttackPossible { get; }

Property Value

bool

Base

Gets the PlayerRoles.PlayableScps.Scp096.Scp096Role.

public Scp096Role Base { get; }

Property Value

Scp096Role

CanReceiveTargets

Gets a value indicating whether SCP-096 can receive targets.

public bool CanReceiveTargets { get; }

Property Value

bool

ChargeAbility

Gets SCP-096's PlayerRoles.PlayableScps.Scp096.Scp096ChargeAbility.

public Scp096ChargeAbility ChargeAbility { get; }

Property Value

Scp096ChargeAbility

ChargeCooldown

Gets or sets the Charge Ability Cooldown.

public float ChargeCooldown { get; set; }

Property Value

float

EnrageCooldown

Gets or sets the amount of time before SCP-096 can be enraged again.

public float EnrageCooldown { get; set; }

Property Value

float

EnragedTimeLeft

Gets or sets enraged time left.

public float EnragedTimeLeft { get; set; }

Property Value

float

HumeShieldModule

Gets a reference to the role's PlayerRoles.PlayableScps.HumeShield.HumeShieldModuleBase.

public HumeShieldModuleBase HumeShieldModule { get; }

Property Value

HumeShieldModuleBase

RageCycleAbility

Gets SCP-096's PlayerRoles.PlayableScps.Scp096.Scp096RageCycleAbility.

public Scp096RageCycleAbility RageCycleAbility { get; }

Property Value

Scp096RageCycleAbility

RageManager

Gets SCP-096's PlayerRoles.PlayableScps.Scp096.Scp096RageManager.

public Scp096RageManager RageManager { get; }

Property Value

Scp096RageManager

RageState

Gets a value indicating SCP-096's rage state.

public Scp096RageState RageState { get; }

Property Value

Scp096RageState

RemainingChargeDuration

Gets or sets the Charge Ability duration.

public float RemainingChargeDuration { get; set; }

Property Value

float

SubroutineModule

Gets the SCP PlayerRoles.Subroutines.SubroutineManagerModule.

public SubroutineManagerModule SubroutineModule { get; }

Property Value

SubroutineManagerModule

Targets

Gets a IReadOnlyCollection<T> of Players that are currently targeted by SCP-096.

public IReadOnlyCollection<Player> Targets { get; }

Property Value

IReadOnlyCollection<Player>

TargetsTracker

Gets SCP-096's PlayerRoles.PlayableScps.Scp096.Scp096TargetsTracker.

public Scp096TargetsTracker TargetsTracker { get; }

Property Value

Scp096TargetsTracker

TotalEnrageTime

Gets or sets enraged time left.

public float TotalEnrageTime { get; set; }

Property Value

float

TryNotToCryAbility

Gets SCP-096's PlayerRoles.PlayableScps.Scp096.Scp096TryNotToCryAbility.

public Scp096TryNotToCryAbility TryNotToCryAbility { get; }

Property Value

Scp096TryNotToCryAbility

TryNotToCryActive

Gets or sets a value indicating whether the TryNotToCry ability is active.

public bool TryNotToCryActive { get; set; }

Property Value

bool

TurnedPlayers

Gets a list of players who will be turned away from SCP-096.

public static HashSet<Player> TurnedPlayers { get; }

Property Value

HashSet<Player>

Type

Gets the PlayerRoles.RoleTypeId of this Player.

public override RoleTypeId Type { get; }

Property Value

RoleTypeId

Methods

AddTarget(Player)

Adds the specified player as an SCP-096 target.

public bool AddTarget(Player player)

Parameters

player Player

The player to add as a target.

Returns

bool

true if target was successfully added. Otherwise, false.

AddTarget(Player, bool)

Adds the specified player as an SCP-096 target.

public bool AddTarget(Player player, bool isLooking)

Parameters

player Player

The player to add as a target.

isLooking bool

Is because player look SCP-096.

Returns

bool

true if target was successfully added. Otherwise, false.

Attack()

Trigger the attack ability.

public void Attack()

Calm(bool)

Ends SCP-096's enrage cycle.

public void Calm(bool clearTime = true)

Parameters

clearTime bool

Whether to clear the remaining enrage time.

Charge(float)

Trigger the charge ability.

public void Charge(float cooldown = 1)

Parameters

cooldown float

The cooldown time to set before the charge can be executed again.

ClearTargets()

Removes all targets from SCP-096's target list.

public void ClearTargets()

Enrage(float)

Enrages SCP-096 for the given amount of times.

public void Enrage(float time = 20)

Parameters

time float

The amount of time to enrage SCP-096.

GetSpawnChance(List<RoleTypeId>)

Gets the Spawn Chance of SCP-096.

public float GetSpawnChance(List<RoleTypeId> alreadySpawned)

Parameters

alreadySpawned List<RoleTypeId>

The List of Roles already spawned.

Returns

float

The Spawn Chance.

HasTarget(Player)

Returns whether the provided player is a target of SCP-096.

public bool HasTarget(Player player)

Parameters

player Player

The player to check.

Returns

bool

Whether the player is a target of SCP-096.

IsObserved(Player)

Returns whether the provided player is observed by SCP-096.

public bool IsObserved(Player player)

Parameters

player Player

The player to check.

Returns

bool

Whether the player is observed.

RemoveTarget(Player)

Removes the specified player from SCP-096's targets.

public bool RemoveTarget(Player player)

Parameters

player Player

The player to remove as a target.

Returns

bool

true if target was successfully removed. Otherwise, false.

ShowRageInput(float)

Shows the input prompt for the RageCycle ability.

public void ShowRageInput(float duration = 10)

Parameters

duration float

The input prompt duration.