Table of Contents

Class Scp079Role

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

Defines a role that represents SCP-079.

public class Scp079Role : Role, IWrapper<PlayerRoleBase>, ISubroutinedScpRole, ISpawnableScp, IVoiceRole
Inheritance
Scp079Role
Implements
IWrapper<PlayerRoleBase>
ISpawnableScp
Inherited Members
Extension Methods

Properties

Abilities

Gets or sets SCP-079's abilities. Can be null.

public IScp079AuxRegenModifier[] Abilities { get; set; }

Property Value

IScp079AuxRegenModifier[]

AuxManager

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079AuxManager.

public Scp079AuxManager AuxManager { get; }

Property Value

Scp079AuxManager

Base

Gets the game PlayerRoles.PlayableScps.Scp079.Scp079Role.

public Scp079Role Base { get; }

Property Value

Scp079Role

BlackoutCapacity

Gets the maximum amount of rooms that SCP-079 can black out at its current Level.

public int BlackoutCapacity { get; }

Property Value

int

BlackoutCount

Gets the amount of rooms that SCP-079 has blacked out.

public int BlackoutCount { get; }

Property Value

int

BlackoutRoomAbility

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079BlackoutRoomAbility.

public Scp079BlackoutRoomAbility BlackoutRoomAbility { get; }

Property Value

Scp079BlackoutRoomAbility

BlackoutZoneAbility

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079BlackoutZoneAbility.

public Scp079BlackoutZoneAbility BlackoutZoneAbility { get; }

Property Value

Scp079BlackoutZoneAbility

BlackoutZoneCooldown

Gets or sets the amount of time until SCP-079 can use its blackout zone ability again.

public float BlackoutZoneCooldown { get; set; }

Property Value

float

Camera

Gets or sets the camera SCP-079 is currently controlling. This value will return the Hcz079ContChamber Camera if SCP-079's current camera cannot be detected.

public Camera Camera { get; set; }

Property Value

Camera

CameraPosition

Gets the Current Camera Position.

public Vector3 CameraPosition { get; }

Property Value

Vector3

CanTransmit

Gets a value indicating whether SCP-079 can transmit its voice to a speaker.

public bool CanTransmit { get; }

Property Value

bool

CurrentCameraSync

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Cameras.Scp079CurrentCameraSync.

public Scp079CurrentCameraSync CurrentCameraSync { get; }

Property Value

Scp079CurrentCameraSync

DoorLockChanger

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079DoorLockChanger.

public Scp079DoorLockChanger DoorLockChanger { get; }

Property Value

Scp079DoorLockChanger

DoorStateChanger

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079DoorAbility.

public Scp079DoorStateChanger DoorStateChanger { get; }

Property Value

Scp079DoorStateChanger

Energy

Gets or sets SCP-079's energy.

public float Energy { get; set; }

Property Value

float

EnergyRegenerationSpeed

Gets SCP-079's energy regeneration speed.

public float EnergyRegenerationSpeed { get; }

Property Value

float

Experience

Gets or sets the amount of experience SCP-079 has.

public int Experience { get; set; }

Property Value

int

IsLost

Gets a value indicating whether SCP-079's signal is lost due to SCP-2176.

public bool IsLost { get; }

Property Value

bool

Level

Gets or sets SCP-079's level.

public int Level { get; set; }

Property Value

int

LevelIndex

Gets or sets SCP-079's level index.

public int LevelIndex { get; set; }

Property Value

int

LockdownRoomAbility

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079LockdownRoomAbility.

public Scp079LockdownRoomAbility LockdownRoomAbility { get; }

Property Value

Scp079LockdownRoomAbility

LockedDoor

Gets the doors SCP-079 has locked. Can be null.

public Door LockedDoor { get; }

Property Value

Door

LostSignalHandler

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079LostSignalHandler.

public Scp079LostSignalHandler LostSignalHandler { get; }

Property Value

Scp079LostSignalHandler

LostTime

Gets a value indicating how much more time SCP-079 will be lost.

public float LostTime { get; }

Property Value

float

MarkedRooms

Gets a list of rooms that have been marked by SCP-079. Marked rooms grant SCP-079 experience if a kill occurs in them.

public IEnumerable<Room> MarkedRooms { get; }

Property Value

IEnumerable<Room>

MaxEnergy

Gets or sets SCP-079's max energy.

public float MaxEnergy { get; set; }

Property Value

float

NextLevelThreshold

Gets SCP-079's next level threshold.

public int NextLevelThreshold { get; }

Property Value

int

PingAbility

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Pinging.Scp079PingAbility.

public Scp079PingAbility PingAbility { get; }

Property Value

Scp079PingAbility

RelativeExperience

Gets the relative experience.

public float RelativeExperience { get; }

Property Value

float

RemainingLockdownDuration

Gets the Remaining Lockdown Duration.

public float RemainingLockdownDuration { get; }

Property Value

float

RewardManager

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Rewards.Scp079RewardManager.

public Scp079RewardManager RewardManager { get; }

Property Value

Scp079RewardManager

RollRotation

Gets the Roll Rotation of SCP-079.

public float RollRotation { get; }

Property Value

float

RoomLockdownCooldown

Gets or sets SCP-079's room lockdown cooldown.

public float RoomLockdownCooldown { get; set; }

Property Value

float

ScannerTracker

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079ScannerTracker.

public Scp079ScannerTracker ScannerTracker { get; }

Property Value

Scp079ScannerTracker

ScannerZoneSelector

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079ScannerZoneSelector.

public Scp079ScannerZoneSelector ScannerZoneSelector { get; }

Property Value

Scp079ScannerZoneSelector

Scp2176LostTime

Gets or sets the amount of time that SCP-2176 will disable SCP-079 for.

public float Scp2176LostTime { get; set; }

Property Value

float

Speaker

Gets the speaker SCP-079 is currently using. Can be null.

public Scp079Speaker Speaker { get; }

Property Value

Scp079Speaker

SpeakerAbility

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079SpeakerAbility.

public Scp079SpeakerAbility SpeakerAbility { get; }

Property Value

Scp079SpeakerAbility

SubroutineModule

Gets the SCP PlayerRoles.Subroutines.SubroutineManagerModule.

public SubroutineManagerModule SubroutineModule { get; }

Property Value

SubroutineManagerModule

TeslaAbility

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079TeslaAbility.

public Scp079TeslaAbility TeslaAbility { get; }

Property Value

Scp079TeslaAbility

TierManager

Gets SCP-079's PlayerRoles.PlayableScps.Scp079.Scp079TierManager.

public Scp079TierManager TierManager { get; }

Property Value

Scp079TierManager

TurnedPlayers

Gets a list of players who will be turned away from SCP-079's scan.

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

VoiceModule

Gets the PlayerRoles.Voice.VoiceModuleBase of the role.

public VoiceModuleBase VoiceModule { get; }

Property Value

VoiceModuleBase

Methods

ActivateTesla(bool)

Trigger the SCP-079's Tesla Gate Ability.

public void ActivateTesla(bool consumeEnergy = true)

Parameters

consumeEnergy bool

Indicates if the energy cost should be consume or not.

AddExperience(int, Scp079HudTranslation)

Grants SCP-079 experience.

public void AddExperience(int amount, Scp079HudTranslation reason = Scp079HudTranslation.ExpGainAdminCommand)

Parameters

amount int

The amount to grant.

reason Scp079HudTranslation

The reason to grant experience.

AddExperience(int, Scp079HudTranslation, RoleTypeId)

Grants SCP-079 experience.

public void AddExperience(int amount, Scp079HudTranslation reason, RoleTypeId subject)

Parameters

amount int

The amount to grant.

reason Scp079HudTranslation

The reason to grant experience.

subject RoleTypeId

The RoleType of the player that's causing it to happen.

BlackoutRoom(bool)

Blackout the current room.

public void BlackoutRoom(bool consumeEnergy = true)

Parameters

consumeEnergy bool

Indicates if the energy cost should be consumed or not.

BlackoutZone(bool)

Blackout the current zone.

public void BlackoutZone(bool consumeEnergy = true)

Parameters

consumeEnergy bool

Indicates if the energy cost should be consumed or not.

CancelLockdown()

Cancels the Actual Lockdown.

public void CancelLockdown()

ClearMarkedRooms()

Clears the list of marked SCP-079 rooms.

public void ClearMarkedRooms()

GetCost(Door, DoorAction)

Gets the cost to modify a door.

public int GetCost(Door door, DoorAction action)

Parameters

door Door

The door to get the cost to modify.

action DoorAction

The action.

Returns

int

The cost to modify the door.

GetSpawnChance(List<RoleTypeId>)

Gets the spawn chance of SCP-079.

public float GetSpawnChance(List<RoleTypeId> alreadySpawned)

Parameters

alreadySpawned List<RoleTypeId>

The List of Roles already spawned.

Returns

float

The Spawn Chance.

GetSwitchCost(Camera)

Gets the cost to switch from the current Camera to the provided camera.

public int GetSwitchCost(Camera camera)

Parameters

camera Camera

The camera to get the cost to switch to.

Returns

int

The cost to switch from the current camera to the new camera.

LockDoor(Door)

Locks the provided door.

public bool LockDoor(Door door)

Parameters

door Door

The door to lock.

Returns

bool

true if the door has been lock; otherwise, false.

LockDoor(Door, bool)

Locks the provided door.

public bool LockDoor(Door door, bool consumeEnergy = true)

Parameters

door Door

The door to lock.

consumeEnergy bool

Indicates if the energy cost should be consumed or not.

Returns

bool

true if the door has been lock; otherwise, false.

LockdownRoom()

Trigger the Lockdown Room Ability to lock the current room.

public void LockdownRoom()

LoseSignal(float)

Forces SCP-079's signal to be lost for the specified amount of time.

public void LoseSignal(float duration)

Parameters

duration float

Time to lose SCP-079's signal.

MarkRoom(Room)

Marks a room as being modified by SCP-079 (granting experience if a kill happens in the room).

public void MarkRoom(Room room)

Parameters

room Room

The room to mark.

MarkRooms(IEnumerable<Room>)

Marks a array of rooms as being modified by SCP-079 (granting experience if a kill happens in the room).

public void MarkRooms(IEnumerable<Room> rooms)

Parameters

rooms IEnumerable<Room>

The Array of Rooms to mark.

Ping(Vector3, PingType, bool)

Trigger the Ping Ability to ping a RelativePositioning.RelativePosition.

public void Ping(Vector3 position, PingType pingType = PingType.Default, bool consumeEnergy = true)

Parameters

position Vector3

The SyncNormal Position.

pingType PingType

The PingType to return.

consumeEnergy bool

Indicates if the energy cost should be consumed or not.

UnlockAllDoors()

Unlocks all doors that SCP-079 has locked.

public void UnlockAllDoors()

UnlockDoor()

Unlocks the LockedDoor.

public void UnlockDoor()

UnlockDoor(Door)

Unlocks the provided door.

public void UnlockDoor(Door door)

Parameters

door Door

The door to unlock.

UnmarkRoom(Room)

Removes a marked room.

public void UnmarkRoom(Room room)

Parameters

room Room

The room to remove.