BlackICE Scripting

class

SecuritySystemControllerPS

  • 29 properties
  • 179 functions

Extends DeviceSystemBaseControllerPS MasterControllerPS ScriptableDeviceComponentPS SharedGameplayPS game.DeviceComponentPS game.ComponentPS game.PersistentState IScriptable ISerializable

Properties

PropertyTypeOffset
level_0SecurityAccessLevelEntry[]0x2A0 scripted
level_1SecurityAccessLevelEntry[]0x2B0 scripted
level_2SecurityAccessLevelEntry[]0x2C0 scripted
level_3SecurityAccessLevelEntry[]0x2D0 scripted
level_4SecurityAccessLevelEntry[]0x2E0 scripted
allowSecuritySystemToDisableItselfbool0x2F0 scripted
attitudeGroupTDBID0x2F4 scripted
suppressAbilityToModifyAttitudebool0x2FC scripted
attitudeChangeModeEShouldChangeAttitude0x2FD scripted
performAutomaticResetAfterTime0x304 scripted
hideAreasOnMinimapbool0x310 scripted
isUnderStrictQuestControlbool0x311 scripted
securitySystemStateESecuritySystemState0x312 scripted
agentsRegistryAgentRegistry?0x318 scripted
securitySystemSecuritySystemControllerPS?0x328 scripted
latestOutputEngineTimefloat0x338 scripted
updateIntervalfloat0x33C scripted
restartDurationint0x340 scripted
protectedEntityIDsent.EntityID[]0x348 scripted
entitiesRemainingAtGateent.EntityID[]0x358 scripted
blacklistBlacklistEntry?[]0x368 scripted
currentReprimandIDint0x378 scripted
blacklistDelayValidbool0x37C scripted
blacklistDelayIDgame.DelayID0x380 scripted
maxGlobalWarningsCountint0x388 scripted
delayIDValidbool0x38C scripted
deescalationEventIDgame.DelayID0x390 scripted
outputsSendint0x398 scripted
inputsReceivedint0x39C scripted

Functions

  • void HandleSecuritySystemInputByTask(SecuritySystemInput inputEvent) RTTI
  • void HandleSecuritySystemInputTask(game.ScriptTaskData data) RTTI
  • void Initialize() overrideRTTI
  • EntityNotificationType OnPSInitializeEvent(PSInitializeEvent evt) RTTI
  • bool OnInstantiated() overrideRTTI
  • EntityNotificationType OnPSInstantiateEvent(PSInstantiateEvent evt) RTTI
  • bool IsRegistryReady() RTTI
  • void InitiateAgentRegistry() RTTI
  • void CreateRegistry() RTTI
  • void CompileSecurityAgentRegistry() RTTI
  • void AddAgentRecord(DeviceLink agent, SecurityAreaControllerPS[] connectedAreas, bool requestLatestOutput) RTTI
  • SensorDeviceControllerPS?[] GetSensors() RTTI
  • bool IsSystemSafe() RTTI
  • bool IsSystemAlerted() RTTI
  • bool IsSystemInCombat() RTTI
  • bool IsSystemSafeOrUninitialized() RTTI
  • bool IsHidden() RTTI
  • AgentRegistry? GetAgentRegistry() RTTI
  • ESecuritySystemState GetSecurityState() RTTI
  • SecuritySystemStatus? GetDeviceStatusAction() overrideRTTI
  • CName GetSecuritySystemAttitudeGroupName() RTTI
  • bool IsPoliceSecuritySystem() RTTI
  • ent.EntityID GetReprimandReceiver(game.PersistentID agentID) RTTI
  • ESecurityAreaType DetermineSecurityAreaTypeForEntityID(ent.EntityID entityID) RTTI
  • SecurityAreaControllerPS? GetMostDangerousSecurityAreaForEntityID(ent.EntityID entityID) RTTI
  • SecurityAreaControllerPS? GetMostDangerousSecurityAreaForEntityID(game.Object go) RTTI
  • bool ShouldReactToTarget(ent.EntityID suspect, ent.EntityID reporter) RTTI
  • void TryReleaseFromReprimand(ent.EntityID entityID) RTTI
  • SecurityAreaControllerPS?[] GetAgentAreas(game.PersistentID agentID) RTTI
  • BlacklistEntry?[] GetSecurityBlacklist() RTTI
  • bool IsTargetTresspassingMyZone(ent.EntityID suspect, ent.EntityID reporter) RTTI
  • bool IsUserInsideSystem(ent.EntityID userToBeChecked) RTTI
  • bool IsUserInsideSystem(ent.EntityID userToBeChecked, out ESecurityAccessLevel highestSecurityAccessLevel) RTTI
  • bool IsUserInsideSystem(ent.EntityID userToBeChecked, out ESecurityAccessLevel highestSecurityAccessLevel, out ESecurityAreaType highestThreat) RTTI
  • bool IsEntityBlacklisted(ent.EntityID entityID) RTTI
  • bool IsEntityBlacklisted(game.Object gameObject) RTTI
  • bool IsEntityBlacklistedForAtLeast(ent.EntityID entityID, BlacklistReason reason) RTTI
  • bool IsEntityBlacklistedForSpecificReason(ent.EntityID entityID, BlacklistReason reason) RTTI
  • bool IsEntityBlacklistedForAtLeast(game.Object go, BlacklistReason reason) RTTI
  • bool HasEntityBeenSpottedTooManyTimes(game.PersistentID reporter, ent.EntityID target) RTTI
  • bool HasEntityBeenSpottedTooManyTimes(game.PersistentID reporter, game.Object target, ESecurityNotificationType notificationType) RTTI
  • bool HasSurpassedGlobalWarningsCount(ent.EntityID target) RTTI
  • bool IsReprimandOngoing() RTTI
  • bool IsReprimandOngoingAgainst(ent.EntityID suspect) RTTI
  • game.Object? GetReprimandPerformer(ent.EntityID? target) RTTI
  • SecurityAreaControllerPS?[] GetSecurityAreas(bool? includeInactive, bool? acquireOnlyDirectlyConnected) overrideRTTI
  • void SetSecuritySystemAttitudeGroup(TDBID newAttitude) RTTI
  • void RemoveIndexFromBlacklist(int index) RTTI
  • void TryUpdateBlackboardAreaDataFor(ent.EntityID entityId) RTTI
  • void UpdateBlackboardAreaDataForPlayer() RTTI
  • bool IsEntityInsideAnyArea(ent.EntityID entityId) RTTI
  • void UpdateSecurityZoneDataBlackboard(SecurityAreaData securityAreaData) RTTI
  • SecurityAreaData GetSecurityDataForArea(SecurityAreaControllerPS area) RTTI
  • void NotifyAboutAttitudeChange() RTTI
  • void SetSecuritySystemAttitude(EAIAttitude desiredAttitude, SecuritySystemInput input, bool? isComingFromQuest) RTTI
  • void SetSecurityState(ESecuritySystemState newState, SecuritySystemInput? input, bool? isComingFromQuest) RTTI
  • EntityNotificationType OnMadnessDebuff(MadnessDebuff evt) RTTI
  • EntityNotificationType OnSuppressSecuritySystemReaction(SuppressSecuritySystemReaction evt) RTTI
  • void RevokeProtection(ent.EntityID entityID) RTTI
  • EntityNotificationType OnSecurityAreaCrossingPerimeter(SecurityAreaCrossingPerimeter evt) overrideRTTI
  • EntityNotificationType OnAgentSpawned(SecurityAgentSpawnedEvent evt) RTTI
  • bool HasSupport(game.PersistentID agentID) RTTI
  • EntityNotificationType OnPlayerSpotted(PlayerSpotted evt) RTTI
  • void SendSupportEvents(Agent[]? modifiedAgents, bool forceRevokeSupport) RTTI
  • void RequestLatestOutput(game.PersistentID id) RTTI
  • bool GetTurrets(SecurityAreaControllerPS area, SecurityTurretControllerPS[] turrets) RTTI
  • EntityNotificationType OnSecurityAreaTypeChangedNotification(SecurityAreaTypeChangedNotification evt) RTTI
  • void HandleAreaBeingEnabled(SecurityAreaControllerPS area) RTTI
  • void HandleAreaBeingDisabled(SecurityAreaControllerPS area) RTTI
  • void DisableSecuritySystem(bool wasScheduled) RTTI
  • bool ShouldSecuritySystemDisableItself() RTTI
  • void ProcessBreachNotificationWithRecipientsList(ent.EntityID[] addresseeList, SecuritySystemInput securitySystemInput) RTTI
  • bool ReportPotentialSituation(SecuritySystemInput input) RTTI
  • bool ProcessInput(SecuritySystemInput input) RTTI
  • bool ProcessHostile() RTTI
  • bool ProcessNeutral(SecuritySystemInput input) RTTI
  • bool ProcessFriendly(SecuritySystemInput input) RTTI
  • bool IsRefreshRequired() RTTI
  • EntityNotificationType OnSecuritySystemInput(SecuritySystemInput evt) RTTI
  • void HandleSecuritySystemInput(SecuritySystemInput evt) RTTI
  • SecuritySystemOutputData[] GetValidRecipients(SecuritySystemInput input) RTTI
  • void ProduceOutput(SecuritySystemInput input, bool securityStateChanged) RTTI
  • void ResolveNotificationImmediately(SecuritySystemInput evt) RTTI
  • ESecuritySystemState DetermineSecuritySystemState(SecuritySystemInput evt, bool? isSimulation) RTTI
  • ESecuritySystemState ResolveTransitionFromSafe(SecuritySystemInput evt, bool? isSimulation) RTTI
  • ESecuritySystemState ResolveTransitionFromAlerted(SecuritySystemInput evt, bool? isSimulation) RTTI
  • ESecuritySystemState ResolveTransitionFromCombat(SecuritySystemInput evt, bool? isSimulation) RTTI
  • bool ResolveReprimand(SecuritySystemInput evt, ESecuritySystemState determinedState) RTTI
  • bool SetSecurityStateAndTriggerResponse(ESecuritySystemState newState, SecuritySystemInput evt, bool? isComingFromQuest) RTTI
  • void SendResponseToCustomRecipients(SecuritySystemOutput response) RTTI
  • void RequestTargetsAssessment(Agent[]? providedAgents, game.Object target) RTTI
  • void PropagateEventToAgents(red.Event evt) RTTI
  • bool IsNotificationValid(SecuritySystemInput evt) RTTI
  • SecurityAreaControllerPS?[] GetOverlappingAreas(SecuritySystemInput input) RTTI
  • SecurityAreaControllerPS?[] GetOverlappingAreas(SecurityAreaControllerPS[] bunch1, SecurityAreaControllerPS[] bunch2) RTTI
  • bool IsSystemClean() RTTI
  • void SetReprimandPerformer(SecuritySystemInput evt, EReprimandInstructions instructions) RTTI
  • void ReleaseAllReprimands() RTTI
  • void ReleaseCurrentPerformerFromReprimand(EReprimandInstructions instructions, ent.EntityID target) RTTI
  • void SendReprimandEvent(ReprimandUpdate evt) RTTI
  • bool ResolvePotentialDeescalation() RTTI
  • void InitiateAutomaticDeescalationEvent(SecuritySystemInput evt) RTTI
  • void CancelAutomaticDeescalationEvent() RTTI
  • EntityNotificationType OnAutomaticDeescalationEvent(AutomaticDeescalationEvent evt) RTTI
  • void Deescalate(SecuritySystemInput evt) RTTI
  • EntityNotificationType OnDeescalation(DeescalationEvent evt) RTTI
  • void BlacklistEntityID(ent.EntityID entityID, BlacklistReason reason) RTTI
  • void TriggerBlacklistWipeCountdown(ent.EntityID entityID) RTTI
  • void ResetBlacklistWipeCountdown(ent.EntityID entityID) RTTI
  • EntityNotificationType OnBlacklistPeriodEnded(BlacklistPeriodEnded evt) RTTI
  • void BlacklistEntityID(game.Object go, BlacklistReason reason) RTTI
  • int GetEntityBlacklistIndex(ent.EntityID entityID) RTTI
  • void RemoveFromBlacklist(ent.EntityID entityID) RTTI
  • void RemoveFromBlacklist(game.Object go) RTTI
  • EntityNotificationType OnRemoveFromBlacklist(RemoveFromBlacklistEvent evt) RTTI
  • bool IsPlayersEntityID(ent.EntityID entityID) RTTI
  • SecurityAccessLevelEntry[] GetSecurityAccessData(ESecurityAccessLevel level) RTTI
  • bool IsUserAuthorized(ent.EntityID user, ESecurityAccessLevel level) RTTI
  • bool IsUserAuthorized(game.Object user, ESecurityAccessLevel level) RTTI
  • ESecurityAccessLevel GetUserAuthorizationLevel(ent.EntityID user) overrideRTTI
  • void AddAccessLevelData(ESecurityAccessLevel entryLevel, CName? password, TDBID? keycard) RTTI
  • bool AuthorizeUser(ent.EntityID user, CName? password) RTTI
  • void AuthorizeUser(ent.EntityID user, ESecurityAccessLevel level) RTTI
  • EntityNotificationType OnAddUserEvent(AddUserEvent evt) overrideRTTI
  • EntityNotificationType OnRevokeAuthorization(RevokeAuthorization evt) RTTI
  • bool RemoveUser(ent.EntityID user) overrideRTTI
  • void AddAccessLevelEntry(SecurityAccessLevelEntry[] level, CName? password, TDBID? keycard) RTTI
  • SecurityAccessLevelEntry[] ProvideAccessDataLevel_0() RTTI
  • SecurityAccessLevelEntry[] ProvideAccessDataLevel_1() RTTI
  • SecurityAccessLevelEntry[] ProvideAccessDataLevel_2() RTTI
  • SecurityAccessLevelEntry[] ProvideAccessDataLevel_3() RTTI
  • SecurityAccessLevelEntry[] ProvideAccessDataLevel_4() RTTI
  • ESecurityAccessLevel PerformAuthorizationAttemptUsingKeycard(ent.EntityID user) RTTI
  • ESecurityAccessLevel PerformAuthorizationAttemptUsingPassword(ent.EntityID user, CName password) RTTI
  • bool IsUserAuthorizedViaCard(ent.EntityID user, ESecurityAccessLevel level) RTTI
  • bool IsUserAuthorizedViaPassword(CName password, ESecurityAccessLevel level) RTTI
  • bool GetActions(out game.device.Action[] actions, game.GetActionsContext context) overrideRTTI
  • SecuritySystemStatus? ActionSecuritySystemStatus() RTTI
  • SecuritySystemOutput? ActionSecuritySystemBreachResponse(SecuritySystemInput notificationEvent) RTTI
  • FullSystemRestart? ActionFullSystemRestart() RTTI
  • EntityNotificationType OnFullSystemRestart(FullSystemRestart evt) overrideRTTI
  • EntityNotificationType OnQuestForceON(QuestForceON evt) overrideRTTI
  • EntityNotificationType OnActionTakeOverSecuritySystem(TakeOverSecuritySystem evt) RTTI
  • EntityNotificationType OnActionForceResetDevice(ActionForceResetDevice evt) overrideRTTI
  • void CleanSecuritySystemMemory() RTTI
  • game.DeviceComponentPS? GetPS(Agent agent) RTTI
  • ESecurityAccessLevel ReduceLevelByOne(ESecurityAccessLevel level) RTTI
  • game.CAttitudeManager? GetAttitudeSystem() RTTI
  • EAIAttitude GetAttitudeTowards(ent.EntityID target) RTTI
  • EAIAttitude GetAttitudeTowards(game.Object target) RTTI
  • EAIAttitude GetAttitudeTowards(CName otherGroup) RTTI
  • EntityNotificationType OnQuestIllegalActionNotification(QuestIllegalActionNotification evt) RTTI
  • EntityNotificationType OnQuestCombatActionNotification(QuestCombatActionNotification evt) RTTI
  • EntityNotificationType OnSetSecuritySystemState(SetSecuritySystemState evt) RTTI
  • EntityNotificationType OnQuestAuthorizePlayer(AuthorizePlayerInSecuritySystem evt) RTTI
  • EntityNotificationType OnQuestBlackListPlayer(BlacklistPlayer evt) RTTI
  • EntityNotificationType OnQuestExclusiveQuestControl(SuppressSecuritySystemStateChange evt) RTTI
  • EntityNotificationType OnQuestChangeSecuritySystemAttitudeGroup(QuestChangeSecuritySystemAttitudeGroup evt) RTTI
  • void QuestChangeSecuritySystemAttitudeGroup(QuestChangeSecuritySystemAttitudeGroup evt) RTTI
  • ent.EntityID[] ExtractNPCIDsFromQuestNotification(QuestSecuritySystemInput evt) RTTI
  • void QuestIllegalActionNotification(QuestIllegalActionNotification evt) RTTI
  • void QuestCombatActionNotification(QuestCombatActionNotification evt) RTTI
  • void QuestChangeSecuritySystemState(SetSecuritySystemState evt) RTTI
  • void QuestSuppressSecuritySystem(SuppressSecuritySystemStateChange evt) RTTI
  • void QuestAuthorizePlayer(AuthorizePlayerInSecuritySystem evt) RTTI
  • void QuestBlacklistPlayer(BlacklistPlayer evt) RTTI
  • int DebugGetOutputsCount() RTTI
  • int DebugGetInputsCount() RTTI
  • void OnMaraudersMapDeviceDebug(world.MaraudersMapDevicesSink sink) overrideRTTI
  • int Debug_GetReprimandID() RTTI
  • BlacklistReason Debug_GetPlayerBlacklistReason() RTTI
  • int Debug_GetPlayerWarningCount() RTTI
  • string GetDebugTags() overrideRTTI
  • bool IsUnderStrictQuestControl() RTTI
  • void SecuritySystemLog(string message) RTTI
  • void SecuritySystemLog(ReprimandUpdate evt) RTTI
  • TDBID GetDeviceIconTweakDBID() overrideRTTI
  • TDBID GetBackgroundTextureTweakDBID() overrideRTTI
  • ThumbnailUI? ActionThumbnailUI() overrideRTTI