Merge remote-tracking branch 'upstream/master' into up/drinks-yml

# Conflicts:
#	Resources/Locale/en-US/nutrition/components/drink-component.ftl
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml
This commit is contained in:
iaada
2025-08-06 11:17:41 -05:00
652 changed files with 35519 additions and 25337 deletions

View File

@@ -313,7 +313,9 @@
id: PilotingShuttle
category: Piloting
clickEvent: !type:StopPilotingAlertEvent
icons: [ /Textures/Interface/Alerts/piloting.png ]
icons:
- sprite: /Textures/Interface/Alerts/shuttle.rsi
state: piloting
name: alerts-piloting-name
description: alerts-piloting-desc

View File

@@ -0,0 +1,20 @@
- type: body
id: MothershipCoreBody
name: "core"
root: torso
slots:
torso:
part: TorsoBorg
connections:
- right2hand
- right1hand
- left1hand
- left2hand
left1hand:
part: LeftArmBorg
left2hand:
part: LeftArmBorg
right1hand:
part: RightArmBorg
right2hand:
part: RightArmBorg

View File

@@ -43,6 +43,7 @@
amount: 2
- id: RemoteSignaller
amount: 2
- id: NetworkConfigurator
- id: Binoculars
- type: entityTable

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

@@ -75,6 +75,7 @@
solution: tank
- type: ExaminableSolution
solution: tank
exactVolume: true
- type: entity
parent: ClothingBackpack

View File

@@ -234,6 +234,7 @@
- WetFloorSign
- HolosignProjector
- Plunger
- GoldenPlunger
- WireBrush
components:
- LightReplacer

View File

@@ -196,6 +196,7 @@
- CorgiWearable
- WhitelistChameleon
#Goliath Hardsuit
- type: entity
parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ]
id: ClothingHeadHelmetHardsuitGoliath
@@ -249,6 +250,7 @@
- CorgiWearable
- WhitelistChameleon
#Maxim Hardsuit
- type: entity
parent: ClothingHeadHardsuitBase
id: ClothingHeadHelmetHardsuitMaxim
@@ -884,6 +886,10 @@
- state: equipped-head
- state: equipped-head-unshaded
shader: unshaded
head-vox:
- state: equipped-head-vox
- state: equipped-head-unshaded-vox
shader: unshaded
- type: PointLight
color: orange
- type: PressureProtection

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

@@ -205,9 +205,9 @@
delay: 3
transferAmount: 1
solution: puddle
examinable: false
- type: ExaminableSolution
solution: puddle
locVolume: "examinable-solution-on-examine-volume-puddle"
- type: DrawableSolution
solution: puddle
- type: BadDrink

View File

@@ -42,6 +42,8 @@
- FoodCakeChristmasSlice
- FoodCakeVanillaSlice
- FoodCakeBirthdaySlice
- FoodCakeBerryDelightSlice
- FoodCakeCottonSlice
- FoodBakedMuffin
- FoodBakedMuffinBerry
- FoodBakedMuffinCherry

View File

@@ -37,6 +37,8 @@
- FoodCakeChristmas
- FoodCakeBirthday
- FoodCakeVanilla
- FoodCakeBerryDelight
- FoodCakeCotton
- FoodPieApple
- FoodPieBaklava
- FoodPieBananaCream

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
@@ -387,13 +388,15 @@
parent: BaseBorgChassisNotIonStormable
id: BaseXenoborgChassis
name: xenoborg
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army.
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army.
save: false
abstract: true
components:
- type: RandomMetadata
nameSegments:
- NamesXenoborg
- type: NameIdentifier
group: Xenoborg
- type: Sprite
sprite: Mobs/Silicon/chassis.rsi
- type: MobThresholds
@@ -434,7 +437,7 @@
- type: Vocal
sounds:
Unsexed: UnisexSiliconXenoborg
screamAction: null
wilhelmProbability: 0
- type: DamagedSiliconAccent
- type: UnblockableSpeech
- type: FootstepModifier
@@ -460,7 +463,7 @@
behaviors:
- !type:PlaySoundBehavior
sound:
path: /Audio/Machines/warning_buzzer.ogg
path: /Audio/Machines/warning_buzzer_xenoborg.ogg
params:
volume: 5
- trigger:

View File

@@ -3,7 +3,7 @@
id: XenoborgEngi
name: engi xenoborg
suffix: with brain
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army. This one seems to be an engineering type, as it has more tools for supporting the other xenoborgs.
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army. This one seems to be an engineering type, as it has more tools for supporting the other Xenoborgs.
components:
- type: BorgTransponder
name: engi xenoborg
@@ -30,6 +30,7 @@
- XenoborgModuleGeneric
- XenoborgModuleEngi
- BorgModuleEngineering
- BorgModuleGeneric
- type: ContainerFill
containers:
borg_brain:
@@ -57,7 +58,7 @@
id: XenoborgHeavy
name: heavy xenoborg
suffix: with brain
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army. This type is has heavy lasers and is covered in thick armor plates. It may be tougher, but its speed matches its brawn.
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army. This type is has heavy lasers and is covered in thick armor plates. It may be tougher, but its speed matches its brawn.
components:
- type: BorgTransponder
name: heavy xenoborg
@@ -106,7 +107,7 @@
behaviors:
- !type:PlaySoundBehavior
sound:
path: /Audio/Machines/warning_buzzer.ogg
path: /Audio/Machines/warning_buzzer_xenoborg.ogg
params:
volume: 5
- trigger:
@@ -144,7 +145,7 @@
id: XenoborgScout
name: scout xenoborg
suffix: with brain
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army. This is a scout type, its nimble thrusters allow it to move quickly through space.
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army. This is a scout type, its nimble thrusters allow it to move quickly through space.
components:
- type: BorgTransponder
name: scout xenoborg
@@ -197,7 +198,7 @@
id: XenoborgStealth
name: stealth xenoborg
suffix: with brain
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army. This one is a stealth type. Its armor shimmers in the light like no other material you've seen.
description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army. This one is a stealth type. Its armor shimmers in the light like no other material you've seen.
components:
- type: BorgTransponder
name: stealth xenoborg

View File

@@ -113,6 +113,7 @@
10: Dead
- type: Stamina
critThreshold: 10
animationThreshold: 1
- type: DamageStateVisuals
states:
Alive:
@@ -2369,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
@@ -2382,6 +2384,8 @@
intensitySlope: 20
totalIntensity: 225
- type: ExplodeOnTrigger
keysIn:
- timer
- type: Destructible
thresholds:
- trigger:
@@ -2855,6 +2859,7 @@
- type: HTN
rootTask:
task: RuminantHostileCompound
- type: MessyDrinker
- type: Tag
tags:
- VimPilot
@@ -2901,6 +2906,7 @@
gender: epicene
- type: MobPrice
price: 200
- type: MessyDrinker
- type: entity
parent: MobCorgiBase
@@ -3143,7 +3149,7 @@
factions:
- Syndicate
- type: Access
tags:
tags:
- NuclearOperative
- SyndicateAgent
- type: MeleeWeapon

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

@@ -42,6 +42,7 @@
75: Dead
- type: Stamina
critThreshold: 50
animationThreshold: 25
- type: Butcherable
spawned:
- id: FoodMeat
@@ -240,6 +241,7 @@
75: Dead
- type: Stamina
critThreshold: 50
animationThreshold: 25
- type: Butcherable
spawned:
- id: FoodMeat
@@ -359,4 +361,4 @@
30: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 2.5
baseSprintSpeed: 2.5

View File

@@ -370,6 +370,7 @@
- VimPilot
- type: StealTarget
stealGroup: AnimalMcGriff
- type: MessyDrinker
- type: entity
name: Paperwork
@@ -466,6 +467,7 @@
- type: Speech
speechVerb: Canine
speechSounds: Dog
- type: MessyDrinker
- type: entity
name: Morty

View File

@@ -53,6 +53,7 @@
recursive: false
- type: Stamina
critThreshold: 15
animationThreshold: 5
- type: MovementAlwaysTouching
- type: DamageStateVisuals
states:

View File

@@ -0,0 +1,192 @@
- type: startingGear
id: MothershipCoreGear
inhand:
- DoorRemoteXenoborg
- Omnitool
- type: entity
parent:
- BaseMachinePowered
- BaseMob
id: MothershipCore
name: mothership core
description: A sentient machine that can produce Xenoborgs. Without this the Xenoborgs are doomed.
components:
- type: Appearance
- type: WiresVisuals
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.4"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: Sprite
sprite: Mobs/Silicon/mothership_core.rsi
layers:
- state: core-idle
map: ["enum.LatheVisualLayers.IsRunning"]
- state: core-load
map: ["enum.MaterialStorageVisualLayers.Inserting"]
- state: core-o
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: Machine
board: null
- type: Lathe
idleState: core-idle
runningState: core-active
staticPacks:
- EmptyXenoborgs
- XenoborgUpgradeModules
- type: MaterialStorage
whitelist:
tags:
- Sheet
- RawMaterial
- Ingot
- type: PointLight
color: "#0033ff"
enabled: true
radius: 4
netsync: false
- type: Anchorable
flags:
- Anchorable
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- !type:ExplodeBehavior
- !type:SpawnEntitiesBehavior
spawn:
MachineFrameDestroyed:
min: 1
max: 1
- !type:SpawnGasBehavior
gasMixture:
volume: 1000
moles:
- 0 # oxygen
- 0 # nitrogen
- 340.5701689 # carbon dioxide
temperature: 373.15
- type: Repairable
doAfterDelay: 30 # you can heal the mothership core, but it takes a while
- type: DamagedSiliconAccent
enableChargeCorruption: false
- type: Explosive
explosionType: Default
maxIntensity: 100
intensitySlope: 2
totalIntensity: 200
- type: WiresPanel
- type: ActivatableUI
key: enum.LatheUiKey.Key
- type: ActivatableUIRequiresPower
- type: UserInterface
interfaces:
enum.SiliconLawsUiKey.Key:
type: SiliconLawBoundUserInterface
requireInputValidation: false
enum.RadarConsoleUiKey.Key:
type: RadarConsoleBoundUserInterface
enum.LatheUiKey.Key:
type: LatheBoundUserInterface
enum.ResearchClientUiKey.Key:
type: ResearchClientBoundUserInterface
- type: Transform
anchored: true
- type: Pullable
- type: StaticPrice
price: 800
- type: WarpPoint
location: Mothership Core
follow: true
- type: VoiceOverride
nameOverride: MOTHERSHIP CORE
- type: TypingIndicator
proto: xenoborg
- type: Speech
speechVerb: Robotic
speechSounds: Xenoborg
allowedEmotes:
- Laugh
- type: Vocal
sounds:
Unsexed: UnisexSiliconXenoborg
wilhelmProbability: 0
- type: IntrinsicRadioReceiver
- type: IntrinsicRadioTransmitter
channels:
- Mothership
- Xenoborg
- Binary
- type: ActiveRadio
channels:
- Mothership
- Xenoborg
- Binary
- type: XenoborgMothership
- type: Tag
tags:
- SiliconEmotes
- CanPilot
- Structure
- type: Inventory
templateId: borg
- type: Loadout
prototypes: [MothershipCoreGear]
- type: NpcFactionMember
factions:
- Xenoborg
- type: Body
prototype: MothershipCoreBody
- type: Hands
# - type: Puller # use the conveyor
- type: Eye
drawFov: false
# - type: StationAiOverlay # removed until is no longer buggy
- type: IgnoreUIRange
- type: ComplexInteraction
- type: MindContainer
- type: SiliconLawBound
- type: Actions
- type: ActionGrant
actions:
- ActionViewLaws
- type: SiliconLawProvider
laws: MothershipCoreLawset # custom laws here
subverted: true
- type: Stripping
- type: Access
enabled: true
tags:
- Xenoborg
- type: LockingWhitelist
blacklist:
components:
- RoboticsConsole
whitelist:
components:
- BorgChassis
- type: IntrinsicUI
uis:
enum.RadarConsoleUiKey.Key:
toggleAction: ActionAGhostShowRadar
- type: ShowElectrocutionHUD
- type: PowerMonitoringCableNetworks
- type: RadarConsole
# TODO: add xenoborg control interface action (part 5)
# TODO: add xenoborg camera monitor interface action (part 5)

View File

@@ -17,9 +17,7 @@
damageRecovery:
types:
Asphyxiation: -1.0
- type: Sprite
noRot: true
drawdepth: Mobs
- type: ScaleVisuals
scale: 1, 0.8
- type: Body
prototype: Dwarf
@@ -69,7 +67,7 @@
id: MobDwarfDummy
categories: [ HideSpawnMenu ]
components:
- type: Sprite
- type: ScaleVisuals
scale: 1, 0.8
- type: Inventory
femaleDisplacements:

View File

@@ -85,11 +85,11 @@
- map: [ "outerClothing" ]
- map: [ "back" ]
- map: [ "neck" ]
- map: [ "suitstorage" ] # This is not in the default order
- map: [ "enum.HumanoidVisualLayers.FacialHair" ]
- map: [ "enum.HumanoidVisualLayers.Hair" ]
- map: [ "enum.HumanoidVisualLayers.HeadSide" ]
- map: [ "enum.HumanoidVisualLayers.HeadTop" ]
- map: [ "suitstorage" ] # This is not in the default order
- map: [ "enum.HumanoidVisualLayers.Tail" ]
- map: [ "mask" ]
- map: [ "head" ]
@@ -137,6 +137,11 @@
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: head
neck:
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: neck
back:
sizeMaps:
32:

View File

@@ -1190,3 +1190,143 @@
Burger: SuppermatterBurger
- type: Item
heldPrefix: suppermatter-shard
- type: entity
name: cotton cake
parent: FoodCakeBase
id: FoodCakeCotton
description: A cake with a fiber frosting and a wad of cotton on top.
components:
- type: Sprite
state: cotton
- type: SliceableFood
slice: FoodCakeCottonSlice
- type: Tag
tags:
- Cake
- ClothMade
- type: SolutionContainerManager
solutions:
food:
maxVol: 55
reagents:
- ReagentId: Nutriment
Quantity: 30
- ReagentId: Vitamin
Quantity: 5
- ReagentId: Fiber
Quantity: 10
- type: Item
heldPrefix: cotton
- type: entity
name: slice of cotton cake
parent: FoodCakeSliceBase
id: FoodCakeCottonSlice
description: A slice of cotton cake. You can just lick the frosting, it's fine.
components:
- type: Sprite
state: cotton-slice
- type: Tag
tags:
- Cake
- ClothMade
- Slice
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
reagents:
- ReagentId: Nutriment
Quantity: 8
- ReagentId: Vitamin
Quantity: 1
- ReagentId: Fiber
Quantity: 2
- type: Item
heldPrefix: cotton-slice
# Motivating
- type: entity
name: berry delight
parent: FoodCakeBase
id: FoodCakeBerryDelight
description: This is a cake that is approaching.
components:
- type: Sprite
state: berry_delight
- type: FlavorProfile
flavors:
- sweet
- berry
- motivating
- type: SolutionContainerManager
solutions:
food:
maxVol: 55
reagents:
- ReagentId: Nutriment
Quantity: 40
- ReagentId: Vitamin
Quantity: 10
- ReagentId: Milk
Quantity: 10
- type: SliceableFood
slice: FoodCakeBerryDelightSlice
- type: Tag
tags:
- Cake
- Fruit
- type: Item
inhandVisuals:
left:
- state: plain-inhand-left
- state: alpha-filling-inhand-left
color: red
right:
- state: plain-inhand-right
- state: alpha-filling-inhand-right
color: red
- type: entity
name: berry delight slice
parent: FoodCakeSliceBase
id: FoodCakeBerryDelightSlice
description: Put a fork in, your hunger in isolation.
components:
- type: Sprite
state: berry_delight_slice
- type: FlavorProfile
flavors:
- sweet
- berry
- motivating
- type: SolutionContainerManager
solutions:
food:
maxVol: 12
reagents:
- ReagentId: Nutriment
Quantity: 8
- ReagentId: Vitamin
Quantity: 2
- ReagentId: Milk
Quantity: 2
- type: Tag
tags:
- Cake
- Fruit
- Slice
- type: Item
inhandVisuals:
left:
- state: alpha-slice-inhand-left
color: white
- state: alpha-slice-filling-inhand-left
color: red
right:
- state: alpha-slice-inhand-right
color: white
- state: alpha-slice-filling-inhand-right
color: red

View File

@@ -445,9 +445,9 @@
# Tastes like jelly-donut, fizzy tutti frutti.
- type: entity
name: slugcat jelly-donut
name: scurret jelly-donut
parent: FoodDonutBase
id: FoodDonutJellySlugcat
id: FoodDonutJellyScurret
description: No holes in this donut in case a suspicious looking pole shows up.
components:
- type: Sprite

View File

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

View File

@@ -9,6 +9,8 @@
solution: food
- type: DrainableSolution
solution: food
- type: ExaminableSolution
solution: food
- type: Sprite
sprite: Objects/Consumable/Food/condiments.rsi
- type: Icon
@@ -69,6 +71,8 @@
- type: Tag
tags:
- Packet
- type: ExaminableSolution
exactVolume: true
- type: entity
parent: BaseFoodCondimentPacket

View File

@@ -2694,6 +2694,7 @@
- type: Item
sprite: Objects/Specific/Hydroponics/cherry.rsi
heldPrefix: pit
size: Tiny
- type: Tag
tags:
- Recyclable

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

@@ -52,6 +52,27 @@
disableEject: true
swap: false
- type: entity
parent: Holoprojector
id: HoloprojectorClownBorg
name: holopeel projector
description: A holopeel projector that creates a slippery, hard light banana peel. It recharges, so that the fun never ends!
suffix: borg
components:
- type: HolosignProjector
signProto: HoloPeel
chargeUse: 240
- type: Sprite
sprite: Objects/Devices/Holoprojectors/peel.rsi
state: icon
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellMicroreactor
disableEject: true
swap: false
- type: entity
parent: Holoprojector
id: HolofanProjector
@@ -89,7 +110,7 @@
parent: HolofanProjector
id: HolofanProjectorBorg
name: integrated holofan
description: Stops idiots from causing more crew harm during atmospheric emergencies. Installed directly into an engineering cyborg, it recharges over time.
description: Stops idiots from causing more crew harm during atmospheric emergencies. Installed directly into an engineering cyborg, it recharges over time.
components:
- type: ItemSlots
slots:

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

@@ -169,7 +169,7 @@
id: PinpointerMothership
name: core pinpointer
suffix: Mothership
description: A handheld tracking device that leads to the direction of the mothership core.
description: A handheld tracking device that leads to the direction of the Mothership core.
components:
- type: Sprite
layers:
@@ -197,4 +197,4 @@
state: pinpointer-station
- type: Pinpointer
component: XenoborgMothership
targetName: the mothership
targetName: the Mothership

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

@@ -6,26 +6,24 @@
id: BasePlushie
components:
- type: EmitSoundOnUse
sound:
sound: &BasePlushieSound
collection: ToySqueak
params:
volume: -4
- type: EmitSoundOnActivate
sound:
collection: ToySqueak
sound: *BasePlushieSound
- type: EmitSoundOnCollide
sound:
collection: ToySqueak
sound: *BasePlushieSound
- type: EmitSoundOnLand
sound:
collection: ToyFall
sound: *BasePlushieSound
- type: EmitSoundOnTrigger
sound:
collection: ToySqueak
sound: *BasePlushieSound
- type: UseDelay
delay: 1.0
delay: 3.0
- type: MeleeWeapon
attackRate: 0.333
wideAnimationRotation: 180
soundHit:
collection: ToySqueak
soundHit: *BasePlushieSound
damage:
types:
Blunt: 0
@@ -37,8 +35,7 @@
price: 5
- type: Food
requiresSpecialDigestion: true
useSound:
collection: ToySqueak
useSound: *BasePlushieSound
delay: 2
- type: SolutionContainerManager
solutions:
@@ -356,28 +353,24 @@
- type: Item
sprite: Objects/Fun/Plushies/lizard.rsi
- type: EmitSoundOnUse
sound:
sound: &PlushieLizardSound
path: /Audio/Items/Toys/weh.ogg
params:
volume: -5
- type: EmitSoundOnLand
sound:
path: /Audio/Items/Toys/weh.ogg
sound: *PlushieLizardSound
- type: EmitSoundOnActivate
sound:
path: /Audio/Items/Toys/weh.ogg
sound: *PlushieLizardSound
- type: EmitSoundOnTrigger
sound:
path: /Audio/Items/Toys/weh.ogg
sound: *PlushieLizardSound
- type: EmitSoundOnCollide
sound:
path: /Audio/Items/Toys/weh.ogg
sound: *PlushieLizardSound
- type: Food
requiresSpecialDigestion: true
useSound:
path: /Audio/Items/Toys/weh.ogg
useSound: *PlushieLizardSound
- type: MeleeWeapon
wideAnimationRotation: 180
soundHit:
path: /Audio/Items/Toys/weh.ogg
soundHit: *PlushieLizardSound
- type: Extractable
juiceSolution:
reagents:
@@ -427,28 +420,24 @@
- state: inhand-right
shader: shaded
- type: EmitSoundOnUse
sound:
sound: &PlushieExperimentSound
path: /Audio/Items/Toys/arf.ogg
params:
volume: -5
- type: EmitSoundOnLand
sound:
path: /Audio/Items/Toys/arf.ogg
sound: *PlushieExperimentSound
- type: EmitSoundOnActivate
sound:
path: /Audio/Items/Toys/arf.ogg
sound: *PlushieExperimentSound
- type: EmitSoundOnTrigger
sound:
path: /Audio/Items/Toys/arf.ogg
sound: *PlushieExperimentSound
- type: EmitSoundOnCollide
sound:
path: /Audio/Items/Toys/arf.ogg
sound: *PlushieExperimentSound
- type: Food
requiresSpecialDigestion: true
useSound:
path: /Audio/Items/Toys/arf.ogg
useSound: *PlushieExperimentSound
- type: MeleeWeapon
wideAnimationRotation: 180
soundHit:
path: /Audio/Items/Toys/arf.ogg
soundHit: *PlushieExperimentSound
- type: Clothing
clothingVisuals:
head:
@@ -515,28 +504,24 @@
sprite: Objects/Fun/Plushies/lizard.rsi
heldPrefix: spacelizard
- type: EmitSoundOnUse
sound:
sound: &PlushieSpaceLizardSound
path: /Audio/Items/Toys/muffled_weh.ogg
params:
volume: -5
- type: EmitSoundOnLand
sound:
path: /Audio/Items/Toys/muffled_weh.ogg
sound: *PlushieSpaceLizardSound
- type: EmitSoundOnActivate
sound:
path: /Audio/Items/Toys/muffled_weh.ogg
sound: *PlushieSpaceLizardSound
- type: EmitSoundOnTrigger
sound:
path: /Audio/Items/Toys/muffled_weh.ogg
sound: *PlushieSpaceLizardSound
- type: EmitSoundOnCollide
sound:
path: /Audio/Items/Toys/muffled_weh.ogg
sound: *PlushieSpaceLizardSound
- type: Food
requiresSpecialDigestion: true
useSound:
path: /Audio/Items/Toys/muffled_weh.ogg
useSound: *PlushieSpaceLizardSound
- type: MeleeWeapon
wideAnimationRotation: 180
soundHit:
path: /Audio/Items/Toys/muffled_weh.ogg
soundHit: *PlushieSpaceLizardSound
- type: Clothing
sprite: Objects/Fun/Plushies/lizard.rsi
slots:
@@ -561,25 +546,22 @@
- type: Item
heldPrefix: plushielizardinversed
- type: EmitSoundOnUse
sound:
sound: &PlushieLizardInversedSound
path: /Audio/Items/Toys/hew.ogg
params:
volume: -5
- type: EmitSoundOnLand
sound:
path: /Audio/Items/Toys/hew.ogg
sound: *PlushieLizardInversedSound
- type: EmitSoundOnActivate
sound:
path: /Audio/Items/Toys/hew.ogg
sound: *PlushieLizardInversedSound
- type: EmitSoundOnTrigger
sound:
path: /Audio/Items/Toys/hew.ogg
sound: *PlushieLizardInversedSound
- type: Food
requiresSpecialDigestion: true
useSound:
path: /Audio/Items/Toys/hew.ogg
useSound: *PlushieLizardInversedSound
- type: MeleeWeapon
wideAnimationRotation: 180
soundHit:
path: /Audio/Items/Toys/hew.ogg
soundHit: *PlushieLizardInversedSound
- type: Extractable
juiceSolution:
reagents:
@@ -619,28 +601,24 @@
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- type: EmitSoundOnUse
sound:
sound: &PlushieDionaSound
path: /Audio/Items/Toys/toy_rustle.ogg
params:
volume: -5
- type: EmitSoundOnLand
sound:
path: /Audio/Items/Toys/toy_rustle.ogg
sound: *PlushieDionaSound
- type: EmitSoundOnActivate
sound:
path: /Audio/Items/Toys/toy_rustle.ogg
sound: *PlushieDionaSound
- type: EmitSoundOnTrigger
sound:
path: /Audio/Items/Toys/toy_rustle.ogg
sound: *PlushieDionaSound
- type: EmitSoundOnCollide
sound:
path: /Audio/Items/Toys/toy_rustle.ogg
sound: *PlushieDionaSound
- type: MeleeWeapon
wideAnimationRotation: 180
soundHit:
path: /Audio/Items/Toys/toy_rustle.ogg
soundHit: *PlushieDionaSound
- type: Food
requiresSpecialDigestion: true
useSound:
path: /Audio/Items/Toys/toy_rustle.ogg
useSound: *PlushieDionaSound
- type: SolutionContainerManager
solutions:
plushie:
@@ -1066,28 +1044,24 @@
sprite: Objects/Fun/Plushies/vox.rsi
state: icon
- type: EmitSoundOnUse
sound:
sound: &PlushieVoxSound
path: /Audio/Voice/Vox/shriek1.ogg
params:
volume: -5
- type: EmitSoundOnLand
sound:
path: /Audio/Voice/Vox/shriek1.ogg
sound: *PlushieVoxSound
- type: EmitSoundOnActivate
sound:
path: /Audio/Voice/Vox/shriek1.ogg
sound: *PlushieVoxSound
- type: EmitSoundOnTrigger
sound:
path: /Audio/Voice/Vox/shriek1.ogg
sound: *PlushieVoxSound
- type: EmitSoundOnCollide
sound:
path: /Audio/Voice/Vox/shriek1.ogg
sound: *PlushieVoxSound
- type: Food
requiresSpecialDigestion: true
useSound:
path: /Audio/Voice/Vox/shriek1.ogg
useSound: *PlushieVoxSound
- type: MeleeWeapon
wideAnimationRotation: 180
soundHit:
path: /Audio/Voice/Vox/shriek1.ogg
soundHit: *PlushieVoxSound
- type: Clothing
quickEquip: false
sprite: Objects/Fun/Plushies/vox.rsi
@@ -1135,28 +1109,24 @@
- type: Item
size: Normal
- type: EmitSoundOnUse
sound:
sound: &PlushieXenoSound
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
params:
volume: -8
- type: EmitSoundOnLand
sound:
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
sound: *PlushieXenoSound
- type: EmitSoundOnActivate
sound:
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
sound: *PlushieXenoSound
- type: EmitSoundOnTrigger
sound:
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
sound: *PlushieXenoSound
- type: EmitSoundOnCollide
sound:
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
sound: *PlushieXenoSound
- type: Food
requiresSpecialDigestion: true
useSound:
path: /Audio/Items/Toys/mousesqueek.ogg
useSound: *PlushieXenoSound
- type: MeleeWeapon
wideAnimationRotation: 180
soundHit:
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
soundHit: *PlushieXenoSound
- type: Clothing
quickEquip: false
sprite: Objects/Fun/Plushies/xeno.rsi
@@ -1198,27 +1168,41 @@
sprite: Objects/Fun/Plushies/human.rsi
state: icon
- type: EmitSoundOnUse
sound:
sound: &PlushieHuman
path: /Audio/Voice/Human/malescream_1.ogg
params:
volume: -8
- type: EmitSoundOnLand
sound:
path: /Audio/Voice/Human/malescream_2.ogg
params:
volume: -8
- type: EmitSoundOnActivate
sound:
path: /Audio/Voice/Human/malescream_3.ogg
params:
volume: -8
- type: EmitSoundOnCollide
sound:
path: /Audio/Voice/Human/malescream_4.ogg
params:
volume: -8
- type: Food
requiresSpecialDigestion: true
useSound:
path: /Audio/Voice/Human/malescream_1.ogg
params:
volume: -8
- type: MeleeWeapon
soundHit:
path: /Audio/Voice/Human/malescream_4.ogg
params:
volume: -8
- type: EmitSoundOnTrigger
sound:
path: /Audio/Voice/Human/malescream_5.ogg
params:
volume: -8
- type: Clothing
quickEquip: false
sprite: Objects/Fun/Plushies/human.rsi

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

@@ -110,6 +110,8 @@
solution: Welder
- type: ExaminableSolution
solution: Welder
heldOnly: true
exactVolume: true
- type: SolutionRegeneration
solution: Welder
generated:

View File

@@ -1,24 +0,0 @@
- type: entity
name: black tome
parent: BasePaper
id: KillTome
suffix: KillTome, Admeme # To stay true to the lore, please never make this accessible outside of divine intervention (admeme).
description: A worn black tome. It smells like old paper.
components:
- type: Sprite
sprite: Objects/Misc/killtome.rsi
state: icon
- type: KillTome
defaultKillDelay: 40
damage:
types:
Blunt: 200
- type: Paper
content: killtome-rules
- type: ActivatableUI
key: enum.PaperUiKey.Key
requiresComplex: false
- type: UserInterface
interfaces:
enum.PaperUiKey.Key:
type: PaperBoundUserInterface

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

@@ -42,6 +42,7 @@
solution: spray
- type: ExaminableSolution
solution: spray
exactVolume: true
- type: entity
name: mega spray bottle

View File

@@ -22,6 +22,7 @@
solution: hypospray
- type: ExaminableSolution
solution: hypospray
exactVolume: true
- type: Hypospray
onlyAffectsMobs: false
- type: UseDelay
@@ -63,6 +64,7 @@
solution: hypospray
- type: ExaminableSolution
solution: hypospray
exactVolume: true
- type: Hypospray
onlyAffectsMobs: false
- type: UseDelay
@@ -142,6 +144,7 @@
maxVol: 15
- type: ExaminableSolution
solution: pen
exactVolume: true
- type: Hypospray
solutionName: pen
transferAmount: 15
@@ -661,6 +664,7 @@
- type: ExaminableSolution
solution: hypospray
heldOnly: true # Allow examination only when held in hand.
exactVolume: true
- type: Hypospray
onlyAffectsMobs: false
- type: UseDelay

View File

@@ -899,6 +899,26 @@
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: clowning-module }
- type: entity
id: BorgModuleAdvancedClowning
parent: [ BaseBorgModuleService, BaseProviderBorgModule ]
name: advanced clowning cyborg module
description: Advanced service module for only the silliest cyborgs! Comes with a built-in oven that bakes pies automatically over time, a holopeel projector, and a push horn.
components:
- type: Sprite
layers:
- state: service
- state: icon-clown-adv
- type: ItemBorgModule
items:
- HoloprojectorClownBorg
- BorgLauncherCreamPie
- ClownRecorder
- PushHorn
- BikeHornInstrument
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: adv-clowning-module }
#syndicate modules
- type: entity
id: BorgModuleSyndicateWeapon
@@ -1030,7 +1050,7 @@
parent: [ BaseXenoborgModuleGeneric, BaseProviderBorgModule, BaseXenoborgContraband ]
id: XenoborgModuleBasic
name: basic xenoborg module
description: Essential items for any xenoborg.
description: Essential items for any Xenoborg.
components:
- type: Sprite
layers:
@@ -1048,7 +1068,7 @@
parent: [ BaseXenoborgModuleGeneric, BaseProviderBorgModule, BaseXenoborgContraband ]
id: XenoborgModuleTool
name: tool xenoborg module
description: Simple tools for most xenoborgs.
description: Simple tools for most Xenoborgs.
components:
- type: Sprite
layers:
@@ -1149,7 +1169,7 @@
parent: [ BaseXenoborgModuleScout, BaseProviderBorgModule, BaseXenoborgContraband ]
id: XenoborgModuleSpaceMovement
name: space movement xenoborg module
description: Module that helps a xenoborg move better in space.
description: Module that helps a Xenoborg move better in space.
components:
- type: Sprite
layers:
@@ -1246,3 +1266,19 @@
- CloakingDevice
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-eye-module }
- type: entity
parent: [ BaseXenoborgModuleStealth, BaseProviderBorgModule, BaseXenoborgContraband ]
id: XenoborgModuleSuperCloakDevice
name: cloaking device xenoborg module
description: Module with a device that allows xenoborgs to become truly invisible for less time.
components:
- type: Sprite
layers:
- state: xenoborg_stealth
- state: icon-xenoborg-cloak2
- type: ItemBorgModule
items:
- SuperCloakingDevice
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-eye2-module }

View File

@@ -2,7 +2,7 @@
parent: [ BaseItem, BaseXenoborgContraband ]
id: CloakingDevice
name: cloaking device
description: A device that allows xenoborgs to go invisible.
description: A device that allows Xenoborgs to go invisible.
components:
- type: Sprite
sprite: Objects/Specific/Research/anomalyscanner.rsi
@@ -29,3 +29,18 @@
startingItem: PowerCellSmallNuclear
disableEject: true
swap: false
- type: entity
parent: CloakingDevice
id: SuperCloakingDevice
name: super cloaking device
description: A device that allows Xenoborgs to go truly invisible.
components:
- type: ComponentToggler
parent: true
components:
- type: Stealth
minVisibility: -1
lastVisibility: -1
- type: PowerCellDraw
drawRate: 12 # 30 seconds

View File

@@ -2,7 +2,7 @@
parent: [ BaseStorageItem, BaseXenoborgContraband ]
id: MaterialBag
name: material bag
description: A robust bag for xenoborgs to carry large amounts of materials.
description: A robust bag for Xenoborgs to carry large amounts of materials.
components:
- type: MagnetPickup
- type: Sprite

View File

@@ -26,6 +26,7 @@
solution: beaker
- type: ExaminableSolution
solution: beaker
exactVolume: true
- type: DrawableSolution
solution: beaker
- type: InjectableSolution

View File

@@ -37,6 +37,7 @@
solution: drink
- type: ExaminableSolution
solution: drink
exactVolume: true
- type: DrawableSolution
solution: drink
- type: SolutionTransfer

View File

@@ -43,6 +43,7 @@
solution: beaker
- type: ExaminableSolution
solution: beaker
exactVolume: true
- type: DrawableSolution
solution: beaker
- type: SolutionTransfer
@@ -137,6 +138,7 @@
solution: beaker
- type: ExaminableSolution
solution: beaker
exactVolume: true
- type: DrawableSolution
solution: beaker
- type: SolutionTransfer

View File

@@ -35,6 +35,7 @@
solution: beaker
- type: ExaminableSolution
solution: beaker
exactVolume: true
- type: DrawableSolution
solution: beaker
- type: InjectableSolution
@@ -133,6 +134,7 @@
solution: beaker
- type: ExaminableSolution
solution: beaker
exactVolume: true
- type: DrawableSolution
solution: beaker
- type: InjectableSolution
@@ -189,6 +191,7 @@
solution: beaker
- type: ExaminableSolution
solution: beaker
exactVolume: true
- type: DrawableSolution
solution: beaker
- type: InjectableSolution
@@ -348,6 +351,7 @@
toggleState: 1 # draw
- type: ExaminableSolution
solution: dropper
exactVolume: true
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
@@ -420,6 +424,7 @@
injectOnly: false
- type: ExaminableSolution
solution: injector
exactVolume: true
- type: Spillable
solution: injector
- type: TrashOnSolutionEmpty

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

@@ -103,6 +103,40 @@
containers:
storagebase: !type:Container
ents: []
- type: entity
name: experimental pie cannon
parent: BaseWeaponBattery
id: BorgLauncherCreamPie
description: Deliver a generous portion of cream directly to the crew! Automatically bakes pies over time.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Cannons/pie_cannon.rsi
layers:
- state: piecannon
- type: Gun
fireRate: 2
selectedMode: SemiAuto
availableModes:
- SemiAuto
- FullAuto
soundGunshot:
path: /Audio/Effects/thunk.ogg
soundEmpty:
path: /Audio/Items/hiss.ogg
clumsyProof: true
- type: ProjectileBatteryAmmoProvider
proto: FoodPieBananaCream
fireCost: 30
- type: Battery
maxCharge: 90
startingCharge: 90
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 1
- type: AmmoCounter
- type: Item
size: Normal
- type: entity
name: syringe gun

View File

@@ -0,0 +1,85 @@
- type: entity
parent: BaseItem
id: OffsetCane
name: standard offset cane
description: A standard offset cane, essential for getting around when your legs aren't up to the task. May or may not grant you the wisdom of the elderly.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/offset_canes/standard.rsi
state: icon
- type: Item
size: Normal
sprite: Objects/Weapons/Melee/offset_canes/standard.rsi
# - type: RandomSprite # Ideally I'd rather these be their own selectable item instead of randomly picked.
# available:
# - color: "#91949C" # standard gray
# - color: "#000000" # black
# - color: "#406BDE" # blue
# - color: "#00FFFF" # cyan
# - color: "#00FF00" # green
# - color: "#FF69B4" # pink
# - color: "#800080" # purple
# - color: "#FF0000" # red
# - color: "#FFFF00" # yellow
- type: MeleeWeapon
wideAnimationRotation: 45
damage:
types:
Blunt: 5
- type: StaminaDamageOnHit
damage: 5
- type: Wieldable
- type: IncreaseDamageOnWield
damage:
types:
Blunt: 3
- type: UseDelay
delay: 1
- type: entity
parent: OffsetCane
id: OffsetCaneClown
name: rainbow offset cane
description: A rainbow offset cane, perfect for clowns and those who enjoy a splash of color in their lives.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/offset_canes/clown.rsi
state: icon
- type: Item
sprite: Objects/Weapons/Melee/offset_canes/clown.rsi
- type: entity
parent: OffsetCane
id: OffsetCaneMime
name: striped offset cane
description: A black and white striped cane, perfect for silent performances.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/offset_canes/mime.rsi
state: icon
- type: Item
sprite: Objects/Weapons/Melee/offset_canes/mime.rsi
- type: entity
parent: OffsetCane
id: OffsetCaneNT
name: nanotrasen offset cane
description: A nanotrasen standard issue offset cane with the NT logo, favored by those who prefer a more corporate look.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/offset_canes/nanotrasen.rsi
state: icon
- type: Item
sprite: Objects/Weapons/Melee/offset_canes/nanotrasen.rsi
- type: entity
parent: OffsetCane
id: OffsetCaneWood
name: wooden offset cane
description: A wooden offset cane, a classic choice for those who appreciate natural materials and a sturdy grip.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/offset_canes/wood.rsi
state: icon
- type: Item
sprite: Objects/Weapons/Melee/offset_canes/wood.rsi

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

@@ -1,7 +1,7 @@
- type: entity
id: BoozeDispenser
id: BoozeDispenserEmpty
name: booze dispenser
suffix: Filled
suffix: Empty
description: A booze dispenser with a single slot for a container to be filled.
parent: ReagentDispenserBase
components:
@@ -15,6 +15,22 @@
whitelist:
tags:
- DrinkBottle
- type: Transform
noRot: false
- type: Machine
board: BoozeDispenserMachineCircuitboard
- type: GuideHelp
guides:
- Bartender
- Drinks
- type: StealTarget
stealGroup: BoozeDispenser
- type: entity
id: BoozeDispenser
suffix: Filled
parent: BoozeDispenserEmpty
components:
- type: StorageFill
contents:
- id: DrinkAleBottleFullGrowler
@@ -29,23 +45,3 @@
- id: DrinkVodkaBottleFull
- id: DrinkWhiskeyBottleFull
- id: DrinkWineBottleFull
- type: Transform
noRot: false
- type: Machine
board: BoozeDispenserMachineCircuitboard
- type: GuideHelp
guides:
- Bartender
- Drinks
- type: StealTarget
stealGroup: BoozeDispenser
- type: entity
id: BoozeDispenserEmpty
suffix: Empty
parent: BoozeDispenser
components:
- type: Storage
whitelist:
tags:
- DrinkBottle

View File

@@ -1,9 +1,9 @@
- type: entity
parent: ReagentDispenserBase
id: SodaDispenser
id: SodaDispenserEmpty
name: soda dispenser
description: A beverage dispenser with a selection of soda and several other common beverages. Has a single fill slot for containers.
suffix: Filled
suffix: Empty
components:
- type: Rotatable
- type: Sprite
@@ -15,6 +15,20 @@
whitelist:
tags:
- DrinkBottle
- type: Transform
noRot: false
- type: Machine
board: SodaDispenserMachineCircuitboard
- type: GuideHelp
guides:
- Bartender
- Drinks
- type: entity
parent: SodaDispenserEmpty
id: SodaDispenser
suffix: Filled
components:
- type: StorageFill
contents:
- id: DrinkCoconutWaterJug
@@ -36,16 +50,3 @@
- id: DrinkTeaJug
- id: DrinkTonicWaterBottleFull
- id: DrinkWaterMelonJuiceJug
- type: Transform
noRot: false
- type: Machine
board: SodaDispenserMachineCircuitboard
- type: GuideHelp
guides:
- Bartender
- Drinks
- type: entity
parent: SodaDispenser
id: SodaDispenserEmpty
suffix: Empty

View File

@@ -75,6 +75,9 @@
autoDrain: false
- type: StaticPrice
price: 100
- type: ActivatableUI
key: enum.DisposalUnitUiKey.Key
verbOnly: true # Not strictly needed, but we want E to toggle lid
- type: UserInterface
interfaces:
enum.DisposalUnitUiKey.Key:

View File

@@ -46,6 +46,44 @@
- type: Airtight
noAirWhenFullyAirBlocked: false
- type: entity
id: HoloPeel
parent: HolosignWetFloor
name: holopeel
description: A banana peel made of slippery hard light, watch your step!
components:
- type: Sprite
sprite: Structures/Holo/peel.rsi
state: icon
- type: Physics
bodyType: Static
canCollide: true
- type: Slippery
- type: StepTrigger
intersectRatio: 0.2
- type: CollisionWake
enabled: false
- type: Fixtures
fixtures:
slips:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.2,0.2,0.2"
hard: false
layer:
- SlipLayer
- type: TimedDespawn
lifetime: 30
- type: Clickable
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
id: HolosignSecurity
parent: HolosignWetFloor

View File

@@ -665,6 +665,7 @@
- type: CommunicationsConsole
title: comms-console-announcement-title-station
- type: DeviceNetwork
deviceNetId: Wireless
transmitFrequencyId: ShuttleTimer
- type: ActivatableUI
key: enum.CommunicationsConsoleUiKey.Key

View File

@@ -0,0 +1,31 @@
- type: entity
parent: ComputerSurveillanceWirelessCameraMonitor
id: ComputerTelevision
name: wooden television
description: Finally, some decent reception around here...
components:
- type: Sprite
noRot: true
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
state: television
- map: ["computerLayerScreen"]
state: detective_television
- type: Computer
board: ComputerTelevisionCircuitboard
- type: PointLight
radius: 1.5
energy: 1.6
color: "#b89f25"
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.25,0.25,0.25"
density: 200
mask:
- TabletopMachineMask
layer:
- TabletopMachineLayer

View File

@@ -87,7 +87,6 @@
whitelist:
components:
- FitsInDispenser
- type: ItemToggle
- type: HealthAnalyzer
scanDelay: 0
- type: UserInterface
@@ -110,6 +109,8 @@
- scanner-body
- type: CryoPod
- type: CryoPodAir
- type: Climbable # so that ejected bodies don't get stuck
vaultable: false
- type: ContainerTemperatureDamageThresholds
coldDamageThreshold: 10
- type: GuideHelp

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

@@ -1,3 +1,5 @@
# base
- type: entity
id: VendingMachine
parent: BaseMachinePowered
@@ -105,6 +107,72 @@
- type: Appearance
- type: WiresVisuals
- type: entity
id: VendingMachineWallmount
parent: BaseWallmountMachine
name: vending machine
abstract: true
components:
- type: StationAiWhitelist
- type: AmbientOnPowered
- type: AmbientSound
volume: -9
range: 3
enabled: false
sound:
path: /Audio/Ambience/Objects/vending_machine_hum.ogg
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Breakage"]
- !type:EjectVendorItems
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- type: Repairable
doAfterDelay: 8
- type: ActivatableUI
key: enum.VendingMachineUiKey.Key
- type: ActivatableUIRequiresPower
- type: UserInterface
interfaces:
enum.VendingMachineUiKey.Key:
type: VendingMachineBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: WiresPanel
- type: Wires
boardName: wires-board-name-vendingmachine
layoutId: Vending
- type: PointLight
enabled: false
castShadows: false
radius: 1.5
- type: LitOnPowered
- type: Appearance
- type: WiresVisuals
- type: Electrified
enabled: false
usesApcPower: true
- type: Rotatable
# Vending machines
- type: entity
parent: VendingMachine
id: VendingMachineCondiments
@@ -1436,59 +1504,6 @@
energy: 1.6
color: "#d4ab33"
# wallmounted machines
- type: entity
id: VendingMachineWallmount
parent: VendingMachine
name: vending machine
abstract: true
placement:
mode: SnapgridCenter
snap:
- Wallmount
components:
- type: Sprite
drawdepth: WallMountedItems
snapCardinals: false
- type: Rotatable
- type: WallMount
arc: 175
- type: Transform
noRot: false
- type: entity
parent: VendingMachineWallmount
id: VendingMachineWallMedical
name: NanoMed
description: "It's a wall-mounted medical equipment dispenser. Natural chemicals only!"
components:
- type: VendingMachine
pack: NanoMedInventory
offState: off
brokenState: broken
normalState: normal-unshaded
denyState: deny-unshaded
- type: Sprite
sprite: Structures/Machines/VendingMachines/wallmed.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- texture: Structures/Machines/VendingMachines/maintenance_panel.png
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.3
energy: 1.6
color: "#43ccb5"
- type: AccessReader
access: [["Medical"]]
- type: GuideHelp
guides:
- Medical
# job clothing
- type: entity
@@ -2225,3 +2240,35 @@
- type: AccessReader
access: [["SyndicateAgent"]]
# wallmount
- type: entity
parent: VendingMachineWallmount
id: VendingMachineWallMedical
name: NanoMed
description: "It's a wall-mounted medical equipment dispenser. Natural chemicals only!"
components:
- type: VendingMachine
pack: NanoMedInventory
offState: off
brokenState: broken
normalState: normal-unshaded
denyState: deny-unshaded
- type: Sprite
sprite: Structures/Machines/VendingMachines/wallmed.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- texture: Structures/Machines/VendingMachines/maintenance_panel.png
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.3
energy: 1.6
color: "#43ccb5"
- type: AccessReader
access: [["Medical"]]
- type: GuideHelp
guides:
- Medical

View File

@@ -96,11 +96,9 @@
- type: entity
abstract: true
id: BaseGeneratorWallmount
parent: BaseGenerator
parent: [ BaseGenerator, BaseWallmount ]
name: wallmount generator
description: A high efficiency thermoelectric generator stuffed in a wall cabinet.
placement:
mode: SnapgridCenter
components:
- type: AmbientOnPowered
- type: AmbientSound
@@ -114,12 +112,6 @@
color: "#3db83b"
castShadows: false
netsync: false
- type: Fixtures
- type: Transform
anchored: true
- type: Physics
bodyType: Static
canCollide: false
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Power/Generation/wallmount_generator.rsi
@@ -142,7 +134,6 @@
supplyRate: 3000
supplyRampRate: 500
supplyRampTolerance: 500
- type: WallMount
- type: GuideHelp
guides:
- ShuttleCraft
@@ -150,20 +141,12 @@
# Construction Frames
- type: entity
parent: BaseWallmountMetallic
categories: [ HideSpawnMenu ]
id: BaseGeneratorWallmountFrame
name: wallmount generator frame
description: A construction frame for a wallmount generator.
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Physics
canCollide: false
- type: Fixtures
- type: Transform
anchored: true
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Power/Generation/wallmount_generator.rsi
@@ -172,7 +155,6 @@
- type: Construction
graph: WallmountGenerator
node: frame
- type: WallMount
# Generators in use

View File

@@ -1,4 +1,5 @@
- type: entity
parent: BaseWallmount
categories: [ HideSpawnMenu ]
id: BaseAPC
name: APC
@@ -19,12 +20,8 @@
color: "#3db83b"
castShadows: false
netsync: false
- type: Clickable
- type: AccessReader
access: [["Engineering"]]
- type: InteractionOutline
- type: Transform
anchored: true
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Power/apc.rsi
@@ -156,6 +153,7 @@
# APC under construction
- type: entity
parent: BaseWallmountMetallic
categories: [ HideSpawnMenu ]
id: APCFrame
name: APC frame
@@ -163,21 +161,12 @@
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Transform
anchored: true
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Power/apc.rsi
state: frame
- type: Construction
graph: APC
node: apcFrame
- type: WallMount
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: StructuralMetallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -193,7 +193,7 @@
- PotatoBattery
- type: entity
parent: BaseItemRecharger
parent: [ BaseItemRecharger, BaseWallmount ]
id: WallWeaponCapacitorRecharger
name: wall recharger
components:
@@ -205,7 +205,6 @@
- map: ["enum.PowerChargerVisualLayers.Light"]
state: "light-off"
shader: "unshaded"
- type: WallMount
- type: Charger
chargeRate: 25
- type: ItemSlots

View File

@@ -125,31 +125,88 @@
- type: Anchorable
- type: entity
id: DebugSMES
parent: BaseSMES
suffix: DEBUG
id: DebugSMES
suffix: DEBUG, Empty
components:
- type: Tag
tags:
- Debug
- Debug
- type: entity
parent: BaseSMES
id: DebugSMESRecharging
suffix: DEBUG, AutoRecharge
components:
- type: BatterySelfRecharger
autoRechargeRate: 50000
autoRecharge: True
- type: Tag
tags:
- Debug
- type: entity
id: DebugSubstation
parent: BaseSubstation
suffix: DEBUG
id: DebugSubstation
suffix: DEBUG, Empty
components:
- type: Tag
tags:
- Debug
- Debug
- type: entity
id: DebugAPC
parent: BaseAPC
suffix: DEBUG
parent: BaseSubstation
id: DebugSubstationRecharging
suffix: DEBUG, AutoRecharge
components:
- type: BatterySelfRecharger
autoRechargeRate: 50000
autoRecharge: True
- type: Tag
tags:
- Debug
- type: entity
parent: BaseSubstationWall
id: DebugSubstationWall
suffix: DEBUG, Empty
components:
- type: Tag
tags:
- Debug
- Debug
- type: entity
parent: BaseSubstationWall
id: DebugSubstationWallRecharging
suffix: DEBUG, AutoRecharge
components:
- type: BatterySelfRecharger
autoRechargeRate: 50000
autoRecharge: True
- type: Tag
tags:
- Debug
- type: entity
parent: BaseAPC
id: DebugAPC
suffix: DEBUG, Empty
components:
- type: Tag
tags:
- Debug
- type: entity
parent: BaseAPC
id: DebugAPCRecharging
suffix: DEBUG, AutoRecharge
components:
- type: BatterySelfRecharger
autoRechargeRate: 50000
autoRecharge: True
- type: Tag
tags:
- Debug
- type: entity
id: DebugPowerReceiver

View File

@@ -979,6 +979,8 @@
solution: anomaly
- type: ExaminableSolution
solution: anomaly
exactVolume: true
locVolume: "examinable-solution-on-examine-volume-no-max"
- type: RefillableSolution
solution: anomaly
- type: InjectableSolution

View File

@@ -129,23 +129,16 @@
#Wall Closet
- type: entity
parent: BaseWallmountMetallic
id: BaseWallCloset
placement:
mode: SnapgridCenter
abstract: true
name: wall closet
description: A standard-issue Nanotrasen storage unit, now on walls.
components:
- type: InteractionOutline
- type: Clickable
- type: ResistLocker
- type: Weldable
- type: WallMount
arc: 175
- type: StaticPrice
price: 75
- type: Transform
noRot: false
- type: Sprite
drawdepth: WallMountedItems
noRot: false
@@ -170,9 +163,6 @@
containers:
entity_storage: !type:Container
ents: []
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -1,15 +1,9 @@
- type: entity
parent: BaseWallmountMetallic
id: BoxingBell
name: boxing bell
description: Ding ding!
placement:
mode: SnapgridCenter
snap:
- Wallmount
components:
- type: Transform
anchored: true
- type: WallMount
- type: Sprite
sprite: Structures/Wallmounts/bell.rsi
layers:
@@ -18,22 +12,12 @@
successChance: 1
interactSuccessSound:
path: /Audio/Weapons/boxingbell.ogg
- type: Clickable
- type: MeleeSound
soundGroups:
Brute:
path:
"/Audio/Weapons/boxingbell.ogg"
- type: Appearance
- type: Rotatable
- type: CollisionWake
enabled: false
- type: Physics
canCollide: false
bodyType: Static
- type: Fixtures
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -1,18 +1,14 @@
- type: entity
parent: BaseWallmountGlass
id: Mirror
name: mirror
description: 'Mirror mirror on the wall , who''s the most robust of them all?'
placement:
mode: SnapgridCenter
components:
- type: WallMount
- type: Sprite
sprite: Structures/Wallmounts/mirror.rsi
state: mirror
- type: InteractionOutline
- type: Clickable
- type: Transform
anchored: true
- type: MagicMirror #instant and silent
changeHairSound: null
addSlotTime: 0
@@ -26,6 +22,17 @@
interfaces:
enum.MagicMirrorUiKey.Key:
type: MagicMirrorBoundUserInterface
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- type: entity
parent: Mirror

View File

@@ -1,11 +1,9 @@
- type: entity
parent: BaseWallmount
id: NoticeBoard
name: notice board
description: Is there a job for a witcher?
placement:
mode: SnapgridCenter
components:
- type: WallMount
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Wallmounts/noticeboard.rsi
@@ -17,10 +15,6 @@
maxFillLevels: 6
fillBaseName: notice
- type: Appearance
- type: InteractionOutline
- type: Clickable
- type: Transform
anchored: true
- type: Damageable
damageModifierSet: Wood
damageContainer: StructuralInorganic

View File

@@ -1,23 +1,15 @@
- type: entity
id: BaseBarSign
parent: BaseStructure
parent: [ BaseWallmountGlass, BaseWallmountMetallic ]
name: bar sign
abstract: true
components:
- type: MeleeSound
soundGroups:
Brute:
collection: GlassSmash
- type: WallMount
arc: 360
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Wallmounts/barsign.rsi
state: empty
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: BarSign
- type: InteractionOutline
- type: AccessReader
access: [["Bar"]]
- type: ActivatableUIRequiresPower
@@ -31,8 +23,6 @@
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Appearance
- type: Damageable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -1,26 +1,12 @@
- type: entity
parent: BaseWallmountMetallic
id: BaseSign
name: base sign
abstract: true
placement:
mode: SnapgridCenter
components:
- type: WallMount
arc: 360
- type: Clickable
- type: InteractionOutline
- type: Rotatable
- type: Physics
bodyType: Static
canCollide: false
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb {}
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
@@ -30,7 +16,6 @@
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Wallmounts/signs.rsi
snapCardinals: true
- type: StaticPrice

View File

@@ -3,10 +3,7 @@
id: BaseFlag
abstract: true
components:
- type: WallMount
arc: 360
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Wallmounts/flags.rsi
- type: entity
@@ -35,7 +32,7 @@
components:
- type: Sprite
state: syndie_flag
- type: entity
parent: BaseFlag
id: LGBTQFlag
@@ -44,7 +41,7 @@
components:
- type: Sprite
state: lgbtq_flag
- type: entity
parent: BaseFlag
id: PirateFlag
@@ -52,4 +49,4 @@
description: Raise the jolly roger, scallywags!
components:
- type: Sprite
state: pirate_flag
state: pirate_flag

View File

@@ -3,10 +3,7 @@
id: PaintingBase
abstract: true
components:
- type: WallMount
arc: 360
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Wallmounts/paintings.rsi
- type: entity
@@ -187,4 +184,4 @@
description: This painting is a sad clown! It sparks joy.
components:
- type: Sprite
state: painting19
state: painting19

View File

@@ -3,12 +3,8 @@
id: PosterBase
abstract: true
components:
- type: WallMount
arc: 360
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Wallmounts/posters.rsi
snapCardinals: true
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities

View File

@@ -0,0 +1,9 @@
- type: entity
parent: [BaseWallmountMetallic, BaseItemCabinet]
id: BaseWallmountCabinet
abstract: true
- type: entity
parent: [BaseWallmountGlass, BaseItemCabinetGlass]
id: BaseWallmountCabinetGlass
abstract: true

View File

@@ -1,18 +1,12 @@
# TODO: same as other wallmount cabinets they should use a base structure prototype
- type: entity
parent: BaseItemCabinet
parent: BaseWallmountCabinet
id: DefibrillatorCabinet
name: defibrillator cabinet
description: A small wall mounted cabinet designed to hold a defibrillator.
placement:
mode: SnapgridCenter
components:
- type: WallMount
arc: 175
- type: Transform
anchored: true
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Structures/Wallmounts/defib_cabinet.rsi
noRot: false
@@ -30,9 +24,6 @@
whitelist:
components:
- Defibrillator
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger: !type:DamageTrigger

View File

@@ -1,19 +1,9 @@
# TODO: this could probably use some kind of base structure prototype
# every wallmount cabinet copypastes placement and like 8 components
- type: entity
parent: BaseItemCabinet
parent: BaseWallmountCabinet
id: ExtinguisherCabinet
name: extinguisher cabinet
description: A small wall mounted cabinet designed to hold a fire extinguisher.
placement:
mode: SnapgridCenter
components:
- type: WallMount
arc: 360
- type: Transform
anchored: true
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Structures/Wallmounts/extinguisher_cabinet.rsi
snapCardinals: true
@@ -31,9 +21,6 @@
whitelist:
components:
- SpraySafety
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -1,15 +1,11 @@
# TODO: same as fire extinguisher make it use a base structure theres lots of copy paste
- type: entity
parent: BaseItemCabinetGlass
parent: BaseWallmountCabinetGlass
id: FireAxeCabinet
name: fire axe cabinet
description: There is a small label that reads "For Emergency use only" along with details for safe use of the axe. As if.
placement:
mode: SnapgridCenter
components:
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Glass
- type: Destructible
thresholds:
- trigger:
@@ -28,13 +24,6 @@
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- type: MeleeSound
soundGroups:
Brute:
collection: GlassSmash
- type: WallMount
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Structures/Wallmounts/fireaxe_cabinet.rsi
layers:

Some files were not shown because too many files have changed in this diff Show More