Trigger Refactor (#39034)

This commit is contained in:
slarticodefast
2025-08-03 21:20:37 +02:00
committed by GitHub
parent 777e89ab3e
commit 2c40a950f7
256 changed files with 3987 additions and 2892 deletions

View File

@@ -45,8 +45,8 @@
- type: sinkPort
id: Trigger
name: signal-port-name-trigger
description: signal-port-description-trigger
name: signal-port-name-trigger-receiver
description: signal-port-description-trigger-receiver
- type: sinkPort
id: Timer

View File

@@ -157,6 +157,12 @@
name: signal-port-name-power-discharging
description: signal-port-description-power-discharging
- type: sourcePort
id: Trigger
name: signal-port-name-trigger-sender
description: signal-port-description-trigger-sender
defaultLinks: [ AutoClose, On, Open, Forward, Trigger, Timer ]
- type: sourcePort
id: ItemDetected
name: signal-port-name-item-detected

View File

@@ -339,9 +339,9 @@
equipDelay: 5 # to avoid accidentally falling into the trap associated with SelfUnremovableClothing
- type: SelfUnremovableClothing
- type: ShockOnTrigger
targetContainer: true
damage: 5
duration: 3
cooldown: 4
- type: TriggerOnSignal
- type: DeviceLinkSink
ports:

View File

@@ -7,7 +7,7 @@
sprite: /Textures/Objects/Fun/goldbikehorn.rsi
visible: false
state: icon
- type: TriggerOnSpawn
- type: TriggerOnSpawn
- type: TimedDespawn
lifetime: 5
@@ -25,7 +25,7 @@
suffix: BluespaceFlash
parent: AdminInstantEffectBase
components:
- type: SpawnOnTrigger
- type: SpawnOnTrigger
proto: EffectFlashBluespace
- type: entity
@@ -35,9 +35,9 @@
components:
- type: FlashOnTrigger
range: 7
- type: SpawnOnTrigger
- type: SpawnOnTrigger
proto: GrenadeFlashEffect
- type: entity
id: AdminInstantEffectSmoke3
suffix: Smoke (03 sec)
@@ -46,12 +46,12 @@
- type: SmokeOnTrigger
duration: 3
spreadAmount: 1
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
sound: /Audio/Effects/smoke.ogg
- type: TimerTriggerVisuals
primingSound:
path: /Audio/Effects/Smoke-grenade.ogg
- type: entity
id: AdminInstantEffectSmoke10
suffix: Smoke (10 sec)
@@ -60,12 +60,12 @@
- type: SmokeOnTrigger
duration: 10
spreadAmount: 30
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
sound: /Audio/Effects/smoke.ogg
- type: TimerTriggerVisuals
primingSound:
path: /Audio/Effects/Smoke-grenade.ogg
- type: entity
id: AdminInstantEffectSmoke30
suffix: Smoke (30 sec)
@@ -74,7 +74,7 @@
- type: SmokeOnTrigger
duration: 30
spreadAmount: 50
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
sound: /Audio/Effects/smoke.ogg
- type: TimerTriggerVisuals
primingSound:
@@ -97,12 +97,12 @@
id: AdminInstantEffectGravityWell
suffix: Gravity Well
parent: AdminInstantEffectBase
components:
- type: SoundOnTrigger
removeOnTrigger: true
components:
- type: EmitSoundOnTrigger
sound:
path: /Audio/Effects/Grenades/Supermatter/supermatter_start.ogg
volume: 5
params:
volume: 5
- type: AmbientSound
enabled: true
volume: -5
@@ -117,4 +117,4 @@
- type: SingularityDistortion
intensity: 10
falloffPower: 1.5

View File

@@ -264,7 +264,7 @@
receiveFrequencyId: CyborgControl
transmitFrequencyId: RoboticsConsole
savableAddress: false
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 10
examinable: false
beepSound:
@@ -272,8 +272,9 @@
params:
volume: -4
# prevent any funnies if someone makes a cyborg item...
- type: AutomatedTimer
- type: ExplodeOnTrigger
keysIn:
- timer
# explosion does most of its damage in the center and less at the edges
- type: Explosive
explosionType: Minibomb

View File

@@ -2370,7 +2370,8 @@
- type: Item
size: Normal
sprite: Mobs/Animals/grenadepenguin.rsi
- type: OnUseTimerTrigger
- type: TriggerOnUse
- type: TimerTrigger
delay: 10
beepSound:
path: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg #funny sfx use
@@ -2383,6 +2384,8 @@
intensitySlope: 20
totalIntensity: 225
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Destructible
thresholds:
- trigger:

View File

@@ -53,11 +53,6 @@
critThreshold: 120
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:TriggerBehavior
- trigger:
!type:DamageTrigger
damage: 120

View File

@@ -164,7 +164,7 @@
payloadSlot:
whitelist:
components:
- OnUseTimerTrigger
- TimerTrigger
insertSound:
path: /Audio/Weapons/Guns/Empty/empty.ogg
ejectSound:

View File

@@ -10,6 +10,11 @@
- type: IgnitionSource
temperature: 800
- type: IgniteOnTrigger
- type: EmitSoundOnTrigger
sound:
collection: WelderOn
- type: UseDelayOnTrigger
- type: UseDelayTriggerCondition
- type: TriggerOnSignal
- type: DeviceNetwork
deviceNetId: Wireless

View File

@@ -10,6 +10,10 @@
sprite: Objects/Devices/signaller.rsi
state: signaller
- type: Signaller
- type: SignalOnTrigger
port: Pressed
- type: UseDelayOnTrigger
- type: UseDelayTriggerCondition
- type: UseDelay
- type: StaticPrice
price: 40
@@ -43,4 +47,4 @@
- type: WirelessNetworkConnection
range: 50
- type: StaticPrice
price: 30
price: 30

View File

@@ -22,7 +22,13 @@
price: 40
- type: PayloadTrigger
components:
- type: OnUseTimerTrigger
- type: TriggerOnUse
keyOut: startTimer
- type: TimerTrigger
keysIn:
- startTimer
# use the default trigger key so it can activate any inserted payload
keyOut: trigger
delay: 5
delayOptions: [3, 5, 10, 15, 30]
initialBeepDelay: 0
@@ -47,14 +53,19 @@
- SignalTrigger
- type: PayloadTrigger
components:
- type: TimerStartOnSignal
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: BasicDevice
- type: WirelessNetworkConnection
range: 200
- type: DeviceLinkSink
- type: OnUseTimerTrigger
- type: TriggerOnSignal
keyOut: startTimer
- type: TimerTrigger
keysIn:
- startTimer
# use the default trigger key so it can activate any inserted payload
keyOut: trigger
delay: 3
initialBeepDelay: 0
beepSound:

View File

@@ -9,6 +9,7 @@
state: icon
- type: TriggerOnUse
- type: PolymorphOnTrigger
targetUser: true
polymorph: VoidPocket
- type: UseDelay
delay: 220 # long delay to ensure it can't be spammed, use it wisely

View File

@@ -8,32 +8,37 @@
sprite: Objects/Devices/mousetrap.rsi
drawdepth: SmallMobs # if mice can hide under tables, so can mousetraps
layers:
- state: mousetrap
map: ["base"]
- state: mousetrap
map: ["enum.ToggleableVisuals.Layer"]
- type: StepTrigger
intersectRatio: 0.2
requiredTriggeredSpeed: 2
- type: Mousetrap
- type: ItemToggle
soundActivate: "/Audio/Items/Handcuffs/cuff_end.ogg"
soundDeactivate: "/Audio/Items/snap.ogg"
popupActivate: mousetrap-on-activate
popupDeactivate: mousetrap-on-deactivate
- type: UseDelay
- type: ItemToggleOnTrigger
canActivate: false
showPopup: false # only show the popup when arming/disarming the trap in your hand
- type: TriggerOnStepTrigger
- type: PreventableStepTrigger
- type: DamageUserOnTrigger
- type: DamageOnTrigger
targetUser: true
damage:
types:
Blunt: 2 # base damage, scales based on mass
- type: EmitSoundOnUse
sound: "/Audio/Items/Handcuffs/cuff_end.ogg"
handle: false
- type: EmitSoundOnTrigger
sound: "/Audio/Items/snap.ogg"
- type: Item
sprite: Objects/Devices/mousetrap.rsi
- type: Appearance
- type: GenericVisualizer
visuals:
enum.MousetrapVisuals.Visual:
base:
Armed: { state: mousetraparmed }
Unarmed: { state: mousetrap }
enum.ToggleableVisuals.Enabled:
enum.ToggleableVisuals.Layer:
True: {state: mousetraparmed}
False: {state: mousetrap}
- type: Physics
bodyType: Dynamic
- type: CollisionWake
@@ -66,6 +71,6 @@
- type: Sprite
layers:
- state: mousetraparmed
map: ["base"]
- type: Mousetrap
isActive: true
map: ["enum.ToggleableVisuals.Layer"]
- type: ItemToggle
activated: true

View File

@@ -94,3 +94,4 @@
- type: EmitSoundOnTrigger
sound:
path: "/Audio/Effects/flash_bang.ogg"
positional: true

View File

@@ -229,3 +229,4 @@
- MobMover
- type: SpawnOnTrigger
proto: EffectGravityPulse
predicted: true

View File

@@ -127,7 +127,8 @@
path: /Audio/Effects/glass_step.ogg
slipData:
launchForwardsMultiplier: 0
- type: DamageUserOnTrigger
- type: DamageOnTrigger
targetUser: true
damage:
types:
Piercing: 5

View File

@@ -19,6 +19,8 @@
- Figurine
- type: UseDelay
delay: 5
- type: UseDelayOnTrigger
- type: UseDelayTriggerCondition # prevent spam
- type: TriggerOnActivate
- type: TriggerOnSignal
- type: Speech

View File

@@ -892,7 +892,7 @@
- type: StepTrigger
intersectRatio: 0.2
requiredTriggeredSpeed: 2
- type: TriggerOnStepTrigger
- type: TriggerOnStepTrigger # for payloads
- type: Appearance
- type: CollisionWake
enabled: false

View File

@@ -72,7 +72,8 @@
slipData:
launchForwardsMultiplier: 0
- type: TriggerOnStepTrigger
- type: DamageUserOnTrigger
- type: DamageOnTrigger
targetUser: true
damage:
types:
Piercing: 5
@@ -91,7 +92,7 @@
- type: ToolRefinable
refineResult:
- id: SheetGlass1
- type: DamageUserOnTrigger
- type: DamageOnTrigger
damage:
types:
Piercing: 4.5
@@ -127,7 +128,7 @@
refineResult:
- id: SheetGlass1
- id: PartRodMetal1
- type: DamageUserOnTrigger
- type: DamageOnTrigger
damage:
types:
Piercing: 5.5
@@ -163,7 +164,7 @@
refineResult:
- id: SheetGlass1
- id: SheetPlasma1
- type: DamageUserOnTrigger
- type: DamageOnTrigger
damage:
types:
Piercing: 6.5
@@ -202,7 +203,7 @@
refineResult:
- id: SheetGlass1
- id: SheetUranium1
- type: DamageUserOnTrigger
- type: DamageOnTrigger
damage:
types:
Piercing: 5
@@ -237,7 +238,7 @@
refineResult:
- id: SheetGlass1
- id: SheetBrass1
- type: DamageUserOnTrigger
- type: DamageOnTrigger
damage:
types:
Piercing: 5

View File

@@ -64,7 +64,8 @@
name: kick mine
parent: BaseLandMine
components:
- type: GhostKickUserOnTrigger
- type: GhostKickOnTrigger
targetUser: true
- type: DeleteOnTrigger
- type: entity

View File

@@ -61,17 +61,18 @@
description: This implant lets the user honk anywhere at any time.
categories: [ HideSpawnMenu ]
components:
- type: SubdermalImplant
implantAction: ActionActivateHonkImplant
- type: TriggerImplantAction
- type: EmitSoundOnTrigger
sound:
collection: BikeHorn
params:
variation: 0.125
- type: Tag
tags:
- BikeHorn
- type: SubdermalImplant
implantAction: ActionActivateHonkImplant
- type: TriggerOnActivateImplant
- type: EmitSoundOnTrigger
predicted: true
sound:
collection: BikeHorn
params:
variation: 0.125
- type: Tag
tags:
- BikeHorn
#Security implants
@@ -179,13 +180,13 @@
description: This implant creates an electromagnetic pulse when activated.
categories: [ HideSpawnMenu ]
components:
- type: SubdermalImplant
implantAction: ActionActivateEmpImplant
- type: TriggerImplantAction
- type: EmpOnTrigger
range: 2.75
energyConsumption: 50000
disableDuration: 10
- type: SubdermalImplant
implantAction: ActionActivateEmpImplant
- type: TriggerOnActivateImplant
- type: EmpOnTrigger
range: 2.75
energyConsumption: 50000
disableDuration: 10
- type: entity
parent: BaseSubdermalImplant
@@ -194,10 +195,10 @@
description: This implant randomly teleports the user within a large radius when activated.
categories: [ HideSpawnMenu ]
components:
- type: SubdermalImplant
implantAction: ActionActivateScramImplant
- type: TriggerImplantAction
- type: ScramImplant
- type: SubdermalImplant
implantAction: ActionActivateScramImplant
- type: TriggerOnActivateImplant
- type: ScramImplant
- type: entity
parent: BaseSubdermalImplant
@@ -238,27 +239,28 @@
description: This implant detonates the user upon activation or upon death.
categories: [ HideSpawnMenu ]
components:
- type: SubdermalImplant
permanent: true
implantAction: ActionActivateMicroBomb
- type: TriggerOnMobstateChange
mobState:
- Dead
- type: TriggerImplantAction
- type: ExplodeOnTrigger
- type: GibOnTrigger
deleteItems: true
- type: Explosive
explosionType: MicroBomb
totalIntensity: 120
intensitySlope: 5
maxIntensity: 30
canCreateVacuum: false
- type: Tag
tags:
- SubdermalImplant
- HideContextMenu
- MicroBomb
- type: SubdermalImplant
permanent: true
implantAction: ActionActivateMicroBomb
- type: TriggerOnMobstateChange
mobState:
- Dead
- type: TriggerOnActivateImplant
- type: ExplodeOnTrigger
- type: GibOnTrigger
targetUser: true
deleteItems: true
- type: Explosive
explosionType: MicroBomb
totalIntensity: 120
intensitySlope: 5
maxIntensity: 30
canCreateVacuum: false
- type: Tag
tags:
- SubdermalImplant
- HideContextMenu
- MicroBomb
- type: entity
@@ -270,20 +272,24 @@
components:
- type: SubdermalImplant
permanent: true
- type: TriggerOnMobstateChange #Chains with OnUseTimerTrigger
- type: TriggerOnMobstateChange #activates the timer
mobState:
- Dead
preventSuicide: true
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 7
initialBeepDelay: 0
beepSound:
path: /Audio/Machines/Nuke/general_beep.ogg
params:
volume: -2
- type: ExplodeOnTrigger
keysIn:
- timer
- type: GibOnTrigger
targetUser: true
deleteItems: true
keysIn:
- timer
- type: Explosive
explosionType: Default
totalIntensity: 3500
@@ -309,11 +315,13 @@
- type: TriggerOnMobstateChange
mobState:
- Dead
- type: TriggerImplantAction
- type: TriggerOnActivateImplant
- type: GibOnTrigger
targetUser: true
deleteItems: true
- type: SpawnOnTrigger
proto: Acidifier
predicted: true
- type: Tag
tags:
- SubdermalImplant
@@ -336,7 +344,8 @@
mobState:
- Critical
- Dead
- type: Rattle
- type: RattleOnTrigger
targetUser: true
- type: entity
parent: BaseSubdermalImplant
@@ -382,5 +391,5 @@
description: This implant will inform the Centcomm radio channel should the user fall into critical condition or die.
categories: [ HideSpawnMenu ]
components:
- type: Rattle
- type: RattleOnTrigger
radioChannel: CentCom

View File

@@ -181,24 +181,31 @@
path: /Audio/Effects/beep_landmine.ogg
params:
maxDistance: 10
- type: ExplodeOnTrigger
- type: Explosive
explosionType: HardBomb # normally Default and max 5 total 60
maxIntensity: 10 # about a ~67.5 total damage
totalIntensity: 30 # about a ~3 tile radius
canCreateVacuum: false
- type: ExplodeOnTrigger
keysIn:
- timer
- trigger # directly explode from the landmine
- type: DeleteOnTrigger
- type: OnUseTimerTrigger
useVerbInstead: true
keysIn:
- timer
- trigger
- type: TimerTrigger
beepInterval: .25
beepSound:
path: /Audio/Items/Janitor/floor_sign_beep.ogg
params:
volume: 1
examinable: false
- type: TriggerOnVerb
text: trigger-on-verb-detonation
- type: Tag
tags: # ignore "WhitelistChameleon" tag
- WetFloorSign
- WetFloorSign
- type: entity
name: plunger

View File

@@ -158,6 +158,7 @@
- type: Slippery
- type: StepTrigger
intersectRatio: 0.04
- type: TriggerOnStepTrigger
- type: Item
heldPrefix: syndie
- type: Fixtures
@@ -178,10 +179,12 @@
- ItemMask
- type: DeleteOnTrigger
- type: EmitSoundOnTrigger
predicted: true
positional: true
sound:
path: "/Audio/Effects/Fluids/splat.ogg"
params:
volume: -20
volume: -8
- type: entity
name: soap

View File

@@ -16,7 +16,8 @@
- state: wires
- type: Item
sprite: Objects/Weapons/Bombs/ied.rsi
- type: OnUseTimerTrigger
- type: TriggerOnUse
- type: TimerTrigger
delay: 5
examinable: false
initialBeepDelay: 0
@@ -34,6 +35,8 @@
maxIntensity: 3
canCreateVacuum: false
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Appearance
- type: AnimationPlayer
- type: TimerTriggerVisuals

View File

@@ -23,13 +23,16 @@
damage:
types:
Blunt: 5
- type: OnUseTimerTrigger
- type: TriggerOnUse
- type: TimerTrigger
delay: 120
beepSound:
path: /Audio/Machines/Nuke/general_beep.ogg
params:
volume: -2
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Explosive
explosionType: Default
maxIntensity: 50
@@ -37,6 +40,8 @@
totalIntensity: 100
canCreateVacuum: false
- type: DeleteOnTrigger
keysIn:
- timer
- type: HotPotato
- type: DamageOnHolding
enabled: false
@@ -49,7 +54,7 @@
enum.Trigger.TriggerVisuals.VisualState:
base:
Primed: { state: activated }
Unprimed: { state: complete }
Unprimed: { state: icon }
- type: entity
id: HotPotatoEffect

View File

@@ -5,7 +5,7 @@
description: A dark ink pen.
id: PenExploding
components:
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 4
examinable: false
- type: Explosive
@@ -16,8 +16,11 @@
canCreateVacuum: false
- type: ActivateOnPaperOpened
- type: ExplodeOnTrigger
keysIn:
- timer
- type: TriggerOnUse
- type: TriggerOnSignal
- type: DeviceLinkSink # This should be changed into separate behavior where triggering via signal makes beep, while triggering manually is quiet, when that functionality is supported.
- type: DeviceLinkSink # This should be changed into separate behavior where triggering via signal makes beep, while triggering manually is quiet.
ports:
- Trigger
- type: EmitSoundOnUse

View File

@@ -10,7 +10,8 @@
- state: base
map: ["enum.TriggerVisualLayers.Base"]
- state: wires
- type: OnUseTimerTrigger # todo: make it activate through welder/lighter/fire instead
- type: TriggerOnActivate # todo: make it activate through welder/lighter/fire instead
- type: TimerTrigger
delay: 5
examinable: false
initialBeepDelay: 0
@@ -19,6 +20,8 @@
min: 1
max: 10
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Explosive # Weak explosion in a very small radius. Doesn't break underplating.
explosionType: Default
totalIntensity: 50

View File

@@ -33,7 +33,7 @@
enum.Trigger.TriggerVisuals.VisualState:
base:
Primed: { state: primed }
Unprimed: { state: complete }
Unprimed: { state: icon }
- type: entity
name: composition C-4
@@ -54,17 +54,27 @@
quickEquip: false
equipDelay: 3
unequipDelay: 6
- type: OnUseTimerTrigger
- type: TriggerOnActivate
- type: TriggerOnSignal
- type: TriggerOnStuck
keyOut: stuck
- type: ToggleTriggerCondition # for toggling the start on stuck ability
keys:
- stuck
toggleVerb: toggle-trigger-condition-stick-verb
toggleOn: toggle-trigger-condition-stick-on
toggleOff: toggle-trigger-condition-stick-off
- type: TimerTrigger
keysIn:
- trigger
- stuck
delay: 10
delayOptions: [10, 30, 60, 120, 300]
initialBeepDelay: 0
beepSound: /Audio/Machines/Nuke/general_beep.ogg
startOnStick: true
canToggleStartOnStick: true
- type: TimerStartOnSignal
- type: DeviceLinkSink
ports:
- Timer
- Trigger
- type: Explosive # Powerful explosion in a very small radius. Doesn't break underplating.
explosionType: DemolitionCharge
totalIntensity: 60
@@ -72,6 +82,8 @@
maxIntensity: 30
canCreateVacuum: false
- type: ExplodeOnTrigger
keysIn:
- timer
- type: HolidayVisuals
holidays:
festive:
@@ -94,7 +106,20 @@
layers:
- state: icon
map: ["base"]
- type: OnUseTimerTrigger
- type: TriggerOnActivate
- type: TriggerOnSignal
- type: TriggerOnStuck
keyOut: stuck
- type: ToggleTriggerCondition # for toggling the start on stuck ability
keys:
- stuck
toggleVerb: toggle-trigger-condition-stick-verb
toggleOn: toggle-trigger-condition-stick-on
toggleOff: toggle-trigger-condition-stick-off
- type: TimerTrigger
keysIn:
- trigger
- stuck
delay: 5
delayOptions: [5, 10, 15, 20]
initialBeepDelay: 0
@@ -102,12 +127,9 @@
path: /Audio/Effects/Cargo/buzz_two.ogg
params:
volume: -6
startOnStick: false
canToggleStartOnStick: true
- type: TimerStartOnSignal
- type: DeviceLinkSink
ports:
- Timer
- Trigger
- type: Explosive
explosionType: Cryo
totalIntensity: 120
@@ -115,3 +137,5 @@
maxIntensity: 30
canCreateVacuum: false
- type: ExplodeOnTrigger
keysIn:
- timer

View File

@@ -12,13 +12,12 @@
sprite: Objects/Weapons/Bombs/spidercharge.rsi
size: Small
- type: SpiderCharge
- type: OnUseTimerTrigger
- type: TriggerOnStuck
- type: TimerTrigger
delay: 10
delayOptions: [5, 10, 30, 60]
initialBeepDelay: 0
beepSound: /Audio/Machines/Nuke/general_beep.ogg
startOnStick: true
- type: AutomatedTimer
- type: Sticky
stickDelay: 5
stickPopupStart: comp-sticky-start-stick-bomb
@@ -37,6 +36,8 @@
maxIntensity: 120
canCreateVacuum: true
- type: ExplodeOnTrigger
keysIn:
- timer
- type: StickyVisualizer
- type: Appearance
- type: GenericVisualizer
@@ -44,4 +45,4 @@
enum.Trigger.TriggerVisuals.VisualState:
base:
Primed: { state: primed }
Unprimed: { state: complete }
Unprimed: { state: icon }

View File

@@ -161,6 +161,7 @@
- type: entity
id: ProjectilePolyboltBase
abstract: true
parent: BaseBullet
categories: [ HideSpawnMenu ]
components:
@@ -175,6 +176,8 @@
Poison: 5
- type: TriggerOnCollide
fixtureID: projectile
- type: PolymorphOnTrigger
targetUser: true
- type: entity
id: ProjectilePolyboltCarp
@@ -185,8 +188,8 @@
components:
- type: PolymorphOnTrigger
polymorph: WizardForcedCarp
- type: TriggerWhitelist
whitelist:
- type: WhitelistTriggerCondition
userWhitelist:
components:
- Body
@@ -199,8 +202,8 @@
components:
- type: PolymorphOnTrigger
polymorph: WizardForcedMonkey
- type: TriggerWhitelist
whitelist:
- type: WhitelistTriggerCondition
userWhitelist:
components:
- Body
@@ -218,8 +221,8 @@
color: brown
- type: PolymorphOnTrigger
polymorph: WizardWallDoor
- type: TriggerWhitelist
whitelist:
- type: WhitelistTriggerCondition
userWhitelist:
components:
- Airlock
- Firelock
@@ -269,8 +272,8 @@
components:
- type: PolymorphOnTrigger
polymorph: WizardForcedCluwne
- type: TriggerWhitelist
whitelist:
- type: WhitelistTriggerCondition
userWhitelist:
components:
- Body
@@ -299,7 +302,7 @@
components:
- type: PolymorphOnTrigger
polymorph: BreadMorph
- type: TriggerWhitelist
whitelist:
- type: WhitelistTriggerCondition
userWhitelist:
components:
- Body

View File

@@ -879,8 +879,6 @@
range: 7
- type: SpawnOnTrigger
proto: GrenadeFlashEffect
- type: ActiveTimerTrigger
timeRemaining: 0.3
- type: DeleteOnTrigger
- type: entity
@@ -917,8 +915,6 @@
sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi
layers:
- state: cleanade
- type: ActiveTimerTrigger
timeRemaining: 0.3
- type: SmokeOnTrigger
duration: 3.5
spreadAmount: 30
@@ -927,7 +923,7 @@
reagents:
- ReagentId: SpaceCleaner
Quantity: 30
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
sound: /Audio/Items/smoke_grenade_smoke.ogg
- type: ExplodeOnTrigger
- type: Explosive

View File

@@ -47,7 +47,7 @@
- type: Repairable
qualityNeeded: "Anchoring"
doAfterDelay: 3
- type: TriggerWhenEmpty
- type: TriggerOnEmptyGunshot
- type: ExplodeOnTrigger
- type: Explosive
explosionType: Default
@@ -135,4 +135,4 @@
interactSuccessString: petting-success-generic
interactFailureString: petting-failure-generic
interactSuccessSound:
path: /Audio/Animals/snake_hiss.ogg
path: /Audio/Animals/snake_hiss.ogg

View File

@@ -14,7 +14,8 @@
quickEquip: false
slots:
- Belt
- type: OnUseTimerTrigger
- type: TriggerOnUse
- type: TimerTrigger
delay: 3
- type: Damageable
damageContainer: Inorganic
@@ -25,6 +26,7 @@
damage: 10
behaviors:
- !type:TriggerBehavior
keyOut: timer # explode immediately
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Appearance
@@ -56,13 +58,15 @@
id: ExGrenade
components:
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Explosive
explosionType: Default
maxIntensity: 10
intensitySlope: 3
totalIntensity: 120 # about a ~4 tile radius
canCreateVacuum: false
- type: OnUseTimerTrigger
- type: TimerTrigger
beepSound:
path: "/Audio/Effects/beep1.ogg"
params:
@@ -79,13 +83,22 @@
- type: Sprite
sprite: Objects/Weapons/Grenades/flashbang.rsi
- type: FlashOnTrigger
keysIn:
- timer
range: 7
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: "/Audio/Effects/flash_bang.ogg"
- type: DeleteOnTrigger
keysIn:
- timer
- type: SpawnOnTrigger
keysIn:
- timer
proto: GrenadeFlashEffect
predicted: true
- type: Appearance
- type: TimerTriggerVisuals
primingSound:
@@ -137,11 +150,14 @@
damage: 45
behaviors:
- !type:TriggerBehavior
keyOut: timer # immediately explode
- !type:DoActsBehavior
acts: ["Destruction"]
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 5
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Explosive
explosionType: Minibomb
totalIntensity: 200
@@ -164,13 +180,15 @@
categories: [ HideSpawnMenu ]
components:
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Explosive
explosionType: Minibomb
totalIntensity: 400
intensitySlope: 30
maxIntensity: 125
canCreateVacuum: true
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 4.5
beepSound:
path: /Audio/Effects/Grenades/SelfDestruct/SDS_Charge2.ogg
@@ -188,7 +206,7 @@
components:
- type: Sprite
sprite: Objects/Weapons/Grenades/singularitygrenade.rsi
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 3
beepInterval: 0.46
beepSound:
@@ -200,14 +218,20 @@
path: /Audio/Effects/Grenades/Supermatter/smbeep.ogg
params:
volume: -5
- type: SoundOnTrigger
removeOnTrigger: true
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: /Audio/Effects/Grenades/Supermatter/supermatter_start.ogg
volume: 5
params:
volume: 5
- type: AnchorOnTrigger
keysIn:
- timer
removeOnTrigger: true
- type: TwoStageTrigger
keysIn:
- timer
triggerDelay: 10.45
components:
- type: AmbientSound
@@ -231,12 +255,16 @@
radius: 6
softness: 1
offset: "0, 0"
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
sound:
path: /Audio/Effects/Grenades/Supermatter/supermatter_end.ogg
params:
volume: 5
keysIn:
- stageTwo
- type: DeleteOnTrigger
keysIn:
- stageTwo
- type: StaticPrice
price: 1000
@@ -248,14 +276,20 @@
components:
- type: Sprite
sprite: Objects/Weapons/Grenades/whiteholegrenade.rsi
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 3
beepInterval: 0.69
- type: SoundOnTrigger
removeOnTrigger: true
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: /Audio/Effects/Grenades/Supermatter/whitehole_start.ogg
volume: 5
params:
volume: 5
- type: AnchorOnTrigger
keysIn:
- timer
removeOnTrigger: true
- type: TwoStageTrigger
triggerDelay: 11.14
components:
@@ -280,12 +314,17 @@
radius: 6
softness: 1
offset: "0, 0"
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
keysIn:
- stageTwo
sound:
path: /Audio/Effects/Grenades/Supermatter/supermatter_end.ogg
params:
volume: 15
positional: true
- type: DeleteOnTrigger
keysIn:
- stageTwo
- type: StaticPrice
price: 1000
@@ -297,9 +336,11 @@
components:
- type: Sprite
sprite: Objects/Weapons/Grenades/nukenade.rsi
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 5
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Explosive
explosionType: Default
totalIntensity: 20000 # ~15 tile radius.
@@ -312,6 +353,7 @@
damage: 50
behaviors:
- !type:TriggerBehavior
keyOut: timer # immediately explode
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Appearance
@@ -376,9 +418,13 @@
- type: Sprite
sprite: Objects/Weapons/Grenades/empgrenade.rsi
- type: EmpOnTrigger
keysIn:
- timer
range: 5.5
energyConsumption: 50000
- type: DeleteOnTrigger
keysIn:
- timer
- type: Appearance
- type: TimerTriggerVisuals
primingSound:
@@ -395,13 +441,15 @@
- type: Sprite
sprite: Objects/Weapons/Grenades/holyhandgrenade.rsi
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Explosive
explosionType: Default # same as macrobomb
totalIntensity: 3500
intensitySlope: 15
maxIntensity: 70
canCreateVacuum: true
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 3 # by canon
- type: PointLight
radius: 7
@@ -422,11 +470,17 @@
- type: Sprite
sprite: Objects/Weapons/Grenades/smoke.rsi
- type: SmokeOnTrigger
keysIn:
- timer
duration: 30
spreadAmount: 50
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
keysIn:
- timer
sound: /Audio/Items/smoke_grenade_smoke.ogg
- type: DeleteOnTrigger
keysIn:
- timer
- type: TimerTriggerVisuals
primingSound:
path: /Audio/Items/smoke_grenade_prime.ogg
@@ -440,6 +494,8 @@
- type: Sprite
sprite: Objects/Weapons/Grenades/janitor.rsi
- type: SmokeOnTrigger
keysIn:
- timer
duration: 15
spreadAmount: 50
smokePrototype: Foam
@@ -457,6 +513,8 @@
- type: Sprite
sprite: Objects/Weapons/Grenades/tear_gas.rsi
- type: SmokeOnTrigger
keysIn:
- timer
duration: 10
spreadAmount: 30
smokePrototype: TearGasSmokeWhite
@@ -473,9 +531,11 @@
components:
- type: Sprite
sprite: Objects/Weapons/Grenades/metalfoam.rsi
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 5
- type: SmokeOnTrigger
keysIn:
- timer
duration: 10
spreadAmount: 20
smokePrototype: AluminiumMetalFoam
@@ -490,14 +550,18 @@
components:
- type: Sprite
sprite: Objects/Weapons/Grenades/airboom.rsi
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
keysIn:
- timer
sound: /Audio/Items/smoke_grenade_smoke.ogg
- type: TimerTriggerVisuals
primingSound:
path: /Audio/Items/smoke_grenade_prime.ogg
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 3
- type: ReleaseGasOnTrigger
keysIn:
- timer
removeFraction: 0.25
air:
volume: 1000
@@ -525,9 +589,16 @@
- type: Sprite
sprite: Objects/Weapons/Grenades/grenade.rsi
- type: DeleteOnTrigger
keysIn:
- timer
- type: SpawnOnTrigger
keysIn:
- timer
proto: GrenadeFlashEffect
- type: SoundOnTrigger
predicted: true
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: /Audio/Effects/Emotes/parp1.ogg
- type: Appearance
@@ -543,9 +614,11 @@
components:
- type: Sprite
sprite: Objects/Weapons/Grenades/syndgrenade.rsi
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 5
- type: SoundOnTrigger
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: /Audio/Effects/Emotes/parp1.ogg
- type: Appearance

View File

@@ -7,6 +7,8 @@
- type: Damageable
damageContainer: Inorganic
- type: DeleteOnTrigger
keysIn:
- timer
- type: Destructible
thresholds:
- trigger:
@@ -14,6 +16,7 @@
damage: 10
behaviors:
- !type:TriggerBehavior
keyOut: timer # explode immediately
- type: ContainerContainer
containers:
cluster-payload: !type:Container
@@ -54,11 +57,17 @@
fillPrototype: PelletClusterRubber
capacity: 30
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: "/Audio/Effects/flash_bang.ogg"
- type: SpawnOnTrigger
keysIn:
- timer
proto: GrenadeFlashEffect
- type: OnUseTimerTrigger
predicted: true
- type: TriggerOnUse
- type: TimerTrigger
initialBeepDelay: 0
beepInterval: 2
delay: 3.5
@@ -80,7 +89,8 @@
- type: ProjectileGrenade
fillPrototype: PelletClusterIncendiary
capacity: 30
- type: OnUseTimerTrigger
- type: TriggerOnUse
- type: TimerTrigger
beepSound:
path: "/Audio/Effects/beep1.ogg"
params:
@@ -89,6 +99,8 @@
beepInterval: 2
delay: 3.5
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: "/Audio/Weapons/Guns/Gunshots/batrifle.ogg"
- type: StaticPrice
@@ -108,7 +120,8 @@
- type: ProjectileGrenade
fillPrototype: PelletClusterLethal
capacity: 30
- type: OnUseTimerTrigger
- type: TriggerOnUse
- type: TimerTrigger
beepSound:
path: "/Audio/Effects/beep1.ogg"
params:
@@ -117,6 +130,8 @@
beepInterval: 2
delay: 3.5
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: "/Audio/Weapons/Guns/Gunshots/batrifle.ogg"
- type: StaticPrice

View File

@@ -17,8 +17,10 @@
damage: 10
behaviors:
- !type:TriggerBehavior
keyOut: timer # explode immediately
- type: ScatteringGrenade
- type: OnUseTimerTrigger
- type: TriggerOnUse
- type: TimerTrigger
delay: 3
- type: Tag
tags:
@@ -81,6 +83,8 @@
Primed: { state: primed }
Unprimed: { state: icon }
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: "/Audio/Machines/door_lock_off.ogg"
@@ -98,7 +102,7 @@
- type: ScatteringGrenade
fillPrototype: ExGrenade
distance: 4
- type: OnUseTimerTrigger
- type: TimerTrigger
beepSound:
path: "/Audio/Effects/beep1.ogg"
params:
@@ -106,6 +110,8 @@
initialBeepDelay: 0
beepInterval: 0.5
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: "/Audio/Machines/door_lock_off.ogg"
- type: StaticPrice
@@ -130,6 +136,8 @@
types:
Blunt: 10
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: "/Audio/Items/bikehorn.ogg"
@@ -155,6 +163,8 @@
types:
Blunt: 10
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: "/Audio/Effects/flash_bang.ogg"
- type: StaticPrice
@@ -177,7 +187,7 @@
fillPrototype: BulletFoam
capacity: 30
velocity: 30
- type: OnUseTimerTrigger
- type: TimerTrigger
beepSound:
path: "/Audio/Effects/beep1.ogg"
params:
@@ -185,5 +195,7 @@
initialBeepDelay: 0
beepInterval: 2
- type: EmitSoundOnTrigger
keysIn:
- timer
sound:
path: "/Audio/Weapons/Guns/Gunshots/batrifle.ogg"

View File

@@ -192,6 +192,7 @@
description: An ultrabright flashbulb with a proximity trigger, useful for making an area security-only.
components:
- type: EmitSoundOnTrigger
predicted: true
sound:
path: /Audio/Weapons/flash.ogg
- type: FlashOnTrigger

View File

@@ -23,9 +23,11 @@
intensitySlope: 5
maxIntensity: 4
- type: ExplodeOnTrigger
keysIn:
- timer
# If you nerf the syndicate bomb in any major way, this should probably drop down to at least 100s (not 90s to compensate for slower movement speed & less lag in SS14)
# Unless, of course, you want the 90 seconds regardless. I can't stop you.
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 180
delayOptions: [180, 240, 300, 600, 900]
initialBeepDelay: 0
@@ -150,6 +152,6 @@
components:
- type: Defusable
disposable: true
- type: OnUseTimerTrigger
- type: TimerTrigger
delay: 10
delayOptions: [10, 20, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300]

View File

@@ -77,7 +77,7 @@
Unprimed:
state: gibtonite_inactive
visible: false
- type: OnUseTimerTrigger
- type: TimerTrigger
examinable: false
beepInterval: 0.4
beepSound:
@@ -86,6 +86,8 @@
min: 8
max: 10
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Explosive
explosionType: DemolitionCharge
totalIntensity: 450
@@ -109,6 +111,7 @@
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:TriggerBehavior
keyOut: timer # explode immediately
# Ore veins
- type: entity