Merge remote-tracking branch 'upstream/master' into ed-03-10-2024-upstream

# Conflicts:
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
This commit is contained in:
Ed
2024-10-03 17:34:08 +03:00
284 changed files with 3117 additions and 1387 deletions

View File

@@ -249,6 +249,7 @@
- type: Tag
tags:
- WhitelistChameleon
- FireHelmet
- type: HideLayerClothing
slots:
- Hair
@@ -281,6 +282,7 @@
- type: Tag
tags:
- WhitelistChameleon
- FireHelmet
- type: HideLayerClothing
slots:
- Hair

View File

@@ -35,6 +35,8 @@
- Snout
- type: UserInterface
interfaces:
enum.ChameleonUiKey.Key:
type: ChameleonBoundUserInterface
enum.VoiceMaskUIKey.Key:
type: VoiceMaskBoundUserInterface

View File

@@ -78,3 +78,19 @@
event: !type:StethoscopeActionEvent
checkCanInteract: false
priority: -1
- type: entity
parent: ClothingNeckBase
id: Dinkystar
name: star sticker
description: A dinky lil star for only the hardest working security officers! It's not even sticky anymore.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/dinkystar.rsi
state: icon
- type: Item
size: Tiny
- type: Tag
tags:
- Trash
- WhitelistChameleon

View File

@@ -7,6 +7,10 @@
components:
- type: Item
size: Tiny
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
- type: entity
parent: ClothingNeckPinBase
@@ -15,14 +19,9 @@
description: Be gay do crime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
layers:
- state: lgbt
state: lgbt
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
clothingVisuals:
neck:
- state: lgbt-equipped
equippedPrefix: lgbt
- type: entity
parent: ClothingNeckPinBase
@@ -31,14 +30,9 @@
description: Be aro do crime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
layers:
- state: aro
state: aro
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
clothingVisuals:
neck:
- state: aro-equipped
equippedPrefix: aro
- type: entity
parent: ClothingNeckPinBase
@@ -47,14 +41,9 @@
description: Be ace do crime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
layers:
- state: asex
state: asex
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
clothingVisuals:
neck:
- state: asex-equipped
equippedPrefix: asex
- type: entity
parent: ClothingNeckPinBase
@@ -63,14 +52,20 @@
description: Be bi do crime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
layers:
- state: bi
state: bi
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
clothingVisuals:
neck:
- state: bi-equipped
equippedPrefix: bi
- type: entity
parent: ClothingNeckPinBase
id: ClothingNeckGayPin
name: gay pin
description: Be gay~ do crime.
components:
- type: Sprite
state: gay
- type: Clothing
equippedPrefix: gay
- type: entity
parent: ClothingNeckPinBase
@@ -79,14 +74,9 @@
description: Be intersex do crime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
layers:
- state: inter
state: inter
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
clothingVisuals:
neck:
- state: inter-equipped
equippedPrefix: inter
- type: entity
parent: ClothingNeckPinBase
@@ -95,14 +85,9 @@
description: Be lesbian do crime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
layers:
- state: les
state: les
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
clothingVisuals:
neck:
- state: les-equipped
equippedPrefix: les
- type: entity
parent: ClothingNeckPinBase
@@ -111,14 +96,9 @@
description: "01100010 01100101 00100000 01100101 01101110 01100010 01111001 00100000 01100100 01101111 00100000 01100011 01110010 01101001 01101101 01100101"
components:
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
layers:
- state: non
state: non
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
clothingVisuals:
neck:
- state: non-equipped
equippedPrefix: non
- type: entity
parent: ClothingNeckPinBase
@@ -127,14 +107,9 @@
description: Be pan do crime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
layers:
- state: pan
state: pan
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
clothingVisuals:
neck:
- state: pan-equipped
equippedPrefix: pan
- type: entity
parent: ClothingNeckPinBase
@@ -143,14 +118,9 @@
description: Be trans do crime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/pins.rsi
layers:
- state: trans
state: trans
- type: Clothing
sprite: Clothing/Neck/Misc/pins.rsi
clothingVisuals:
neck:
- state: trans-equipped
equippedPrefix: trans
- type: entity
parent: ClothingNeckPinBase
@@ -159,14 +129,9 @@
description: Be autism do crime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/autismpin.rsi
layers:
- state: autism
state: autism
- type: Clothing
sprite: Clothing/Neck/Misc/autismpin.rsi
clothingVisuals:
neck:
- state: autism-equipped
equippedPrefix: autism
- type: entity
parent: ClothingNeckPinBase
@@ -175,11 +140,6 @@
description: Be autism do warcrime.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/goldautismpin.rsi
layers:
- state: goldautism
state: goldautism
- type: Clothing
sprite: Clothing/Neck/Misc/goldautismpin.rsi
clothingVisuals:
neck:
- state: goldautism-equipped
equippedPrefix: goldautism

View File

@@ -90,7 +90,7 @@
damageCoefficient: 0.9
- type: entity
parent: [ClothingOuterArmorHoS, ClothingOuterStorageBase]
parent: [ClothingOuterArmorHoS, ClothingOuterStorageBase, BaseSecurityCommandContraband]
id: ClothingOuterCoatHoSTrench
name: head of security's armored trenchcoat
description: A greatcoat enhanced with a special alloy for some extra protection and style for those with a commanding presence.
@@ -376,7 +376,7 @@
sprite: Clothing/OuterClothing/Coats/windbreaker_paramedic.rsi
- type: entity
parent: ClothingOuterStorageBase
parent: [ClothingOuterStorageBase, BaseSyndicateContraband]
id: ClothingOuterCoatSyndieCap
name: syndicate's coat
description: The syndicate's coat is made of durable fabric, with gilded patterns.
@@ -387,7 +387,7 @@
sprite: Clothing/OuterClothing/Coats/syndicate/coatsyndiecap.rsi
- type: entity
parent: ClothingOuterCoatHoSTrench
parent: [BaseSyndicateContraband, ClothingOuterCoatHoSTrench] # BaseSyndicateContraband as first parent so contraband system takes that as priority, yeah I know
id: ClothingOuterCoatSyndieCapArmored
name: syndicate's armored coat
description: The syndicate's armored coat is made of durable fabric, with gilded patterns.

View File

@@ -359,7 +359,7 @@
##########################################################
- type: entity
parent: [ClothingOuterArmorHoS, ClothingOuterWinterCoatToggleable, BaseCommandContraband]
parent: [ClothingOuterArmorHoS, ClothingOuterWinterCoatToggleable, BaseSecurityCommandContraband]
id: ClothingOuterWinterHoS
name: head of security's armored winter coat
description: A sturdy, utilitarian winter coat designed to protect a head of security from any brig-bound threats and hypothermic events.
@@ -373,7 +373,7 @@
##########################################################
- type: entity
parent: [ClothingOuterWinterCoatToggleable, BaseCommandContraband]
parent: [ClothingOuterWinterCoatToggleable, BaseSecurityCommandContraband]
id: ClothingOuterWinterHoSUnarmored
name: head of security's winter coat
description: A sturdy coat, a warm coat, but not an armored coat.

View File

@@ -144,6 +144,7 @@
- id: ClothingNeckAromanticPin
- id: ClothingNeckAsexualPin
- id: ClothingNeckBisexualPin
- id: ClothingNeckGayPin
- id: ClothingNeckIntersexPin
- id: ClothingNeckLesbianPin
- id: ClothingNeckNonBinaryPin

View File

@@ -85,6 +85,7 @@
- type: Hands
showInHands: false
disableExplosionRecursion: true
canBeStripped: false
- type: ComplexInteraction
- type: IntrinsicRadioReceiver
- type: IntrinsicRadioTransmitter
@@ -121,6 +122,7 @@
cellSlotId: cell_slot
fitsInCharger: true
- type: ItemToggle
onActivate: false # You should not be able to turn off a borg temporarily.
activated: false # gets activated when a mind is added
onUse: false # no item-borg toggling sorry
- type: ItemTogglePointLight

View File

@@ -108,6 +108,53 @@
- type: NoSlip
- type: Insulated
- type: entity
parent: MobSiliconBase
id: MobFireBot
name: firebot
description: A little fire extinguishing bot. He looks rather anxious.
components:
- type: Sprite
sprite: Mobs/Silicon/Bots/firebot.rsi
state: firebot
- type: Construction
graph: FireBot
node: bot
- type: SentienceTarget
flavorKind: station-event-random-sentience-flavor-mechanical
- type: HTN
rootTask:
task: FirebotCompound
- type: SolutionContainerManager
solutions:
spray:
maxVol: 10
reagents:
- ReagentId: Water
Quantity: 10
- type: SolutionRegeneration
solution: spray
generated:
reagents:
- ReagentId: Water
Quantity: 10
- type: Spray
transferAmount: 10
pushbackAmount: 60
spraySound:
path: /Audio/Effects/extinguish.ogg
sprayedPrototype: ExtinguisherSpray
vaporAmount: 1
vaporSpread: 90
sprayVelocity: 3.0
- type: UseDelay
delay: 4
- type: InteractionPopup
interactSuccessString: petting-success-firebot
interactFailureString: petting-failure-firebot
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: entity
parent: MobSiliconBase
id: MobHonkBot
@@ -211,8 +258,6 @@
- type: Construction
graph: CleanBot
node: bot
- type: SentienceTarget
flavorKind: station-event-random-sentience-flavor-mechanical
- type: Absorbent
pickupAmount: 10
- type: UseDelay
@@ -284,8 +329,6 @@
- type: Construction
graph: MediBot
node: bot
- type: SentienceTarget
flavorKind: station-event-random-sentience-flavor-mechanical
- type: Anchorable
- type: InteractionPopup
interactSuccessString: petting-success-medibot

View File

@@ -0,0 +1,25 @@
- type: entity
id: CameraBug
parent: [ BaseItem, BaseSyndicateContraband ]
name: camera bug
description: An illegal syndicate device that allows you to hack into the station's camera network.
components:
- type: Sprite
sprite: Objects/Devices/camera_bug.rsi
layers:
- state: camera_bug
- type: Item
- type: ActivatableUI
requireActiveHand: false
inHandsOnly: true
key: enum.SurveillanceCameraMonitorUiKey.Key
- type: UserInterface
interfaces:
enum.SurveillanceCameraMonitorUiKey.Key:
type: SurveillanceCameraMonitorBoundUserInterface
- type: DeviceNetwork
deviceNetId: Wired
receiveFrequencyId: SurveillanceCamera
transmitFrequencyId: SurveillanceCamera
- type: WiredNetworkConnection
- type: SurveillanceCameraMonitor

View File

@@ -117,6 +117,25 @@
- type: StealTarget
stealGroup: WantedListCartridge
- type: entity
parent: BaseItem
id: MedTekCartridge
name: MedTek cartridge
description: A program that provides medical diagnostic tools.
components:
- type: Sprite
sprite: Objects/Devices/cartridge.rsi
state: cart-med
- type: Icon
sprite: Objects/Devices/cartridge.rsi
state: cart-med
- type: Cartridge
programName: med-tek-program-name
icon:
sprite: Objects/Specific/Medical/healthanalyzer.rsi
state: icon
- type: MedTekCartridge
- type: entity
parent: BaseItem
id: AstroNavCartridge

View File

@@ -227,7 +227,7 @@
- type: Sprite
layers:
- state: crypt_silver
- state: borg_label
- state: ai_label
- type: entity
parent: [ EncryptionKey, BaseSyndicateContraband ]
@@ -242,7 +242,7 @@
- type: Sprite
layers:
- state: crypt_red
- state: borg_label
- state: ai_label
- type: entity
parent: EncryptionKey

View File

@@ -131,12 +131,13 @@
id: BaseMedicalPDA
abstract: true
components:
- type: ItemToggle
onUse: false
- type: HealthAnalyzer
scanDelay: 1
scanningEndSound:
path: "/Audio/Items/Medical/healthscanner.ogg"
- type: CartridgeLoader
uiKey: enum.PdaUiKey.Key
preinstalled:
- CrewManifestCartridge
- NotekeeperCartridge
- NewsReaderCartridge
- MedTekCartridge
- type: entity
parent: BasePDA
@@ -169,7 +170,7 @@
parent: BaseMedicalPDA
id: MedicalInternPDA
name: medical intern PDA
description: Why isn't it white? Has a built-in health analyzer.
description: Why isn't it white?
components:
- type: Pda
id: MedicalInternIDCard
@@ -569,7 +570,7 @@
parent: BaseMedicalPDA
id: CMOPDA
name: chief medical officer PDA
description: Extraordinarily shiny and sterile. Has a built-in health analyzer.
description: Extraordinarily shiny and sterile.
components:
- type: Pda
id: CMOIDCard
@@ -585,7 +586,7 @@
parent: BaseMedicalPDA
id: MedicalPDA
name: medical PDA
description: Shiny and sterile. Has a built-in health analyzer.
description: Shiny and sterile.
components:
- type: Pda
id: MedicalIDCard
@@ -612,7 +613,7 @@
parent: BaseMedicalPDA
id: ParamedicPDA
name: paramedic PDA
description: Shiny and sterile. Has a built-in rapid health analyzer.
description: Shiny and sterile.
components:
- type: Pda
id: ParamedicIDCard
@@ -905,14 +906,18 @@
id: ERTMedicPDA
name: ERT Medic PDA
suffix: Medic
description: Red for firepower, it's shiny and sterile. Has a built-in rapid health analyzer.
description: Red for firepower, it's shiny and sterile.
components:
- type: Pda
id: ERTMedicIDCard
- type: HealthAnalyzer
scanDelay: 1
scanningEndSound:
path: "/Audio/Items/Medical/healthscanner.ogg"
- type: CartridgeLoader
uiKey: enum.PdaUiKey.Key
preinstalled:
- CrewManifestCartridge
- NotekeeperCartridge
- NewsReaderCartridge
- MedTekCartridge
- WantedListCartridge
- type: entity
parent: ERTLeaderPDA
@@ -1019,7 +1024,7 @@
parent: BaseMedicalPDA
id: BrigmedicPDA
name: brigmedic PDA
description: I wonder whose pulse is on the screen? I hope he doesnt stop... PDA has a built-in health analyzer.
description: I wonder whose pulse is on the screen? I hope it doesn't stop...
components:
- type: Pda
id: BrigmedicIDCard
@@ -1089,7 +1094,7 @@
parent: BaseMedicalPDA
id: SeniorPhysicianPDA
name: senior physician PDA
description: Smells faintly like iron and chemicals. Has a built-in health analyzer.
description: Smells faintly like iron and chemicals.
components:
- type: Pda
id: SeniorPhysicianIDCard
@@ -1145,6 +1150,7 @@
uiKey: enum.PdaUiKey.Key
preinstalled:
- NotekeeperCartridge
- MedTekCartridge
cartridgeSlot:
priority: -1
name: Cartridge

View File

@@ -17,8 +17,6 @@
- type: Tag
tags:
- Figurine
- type: StealTarget
stealGroup: Figurines
- type: UseDelay
delay: 10
- type: Speech

View File

@@ -0,0 +1,26 @@
- type: entity
id: SyndicateBusinessCard
name: syndicate business card
parent: Paper
description: A black card with the syndicate's logo. There's something written on the back.
components:
- type: Sprite
sprite: Objects/Misc/bureaucracy.rsi
layers:
- state: syndicate_card
- state: syndicate_card
map: ["enum.PaperVisualLayers.Writing"]
visible: false
- state: paper_stamp-generic
map: ["enum.PaperVisualLayers.Stamp"]
visible: false
- type: Paper
content: syndicate-business-card-base
- type: PaperVisuals
headerImagePath: "/Textures/Interface/Paper/paper_heading_syndicate_logo.svg.96dpi.png"
headerMargin: 0.0, 0.0, 0.0, 2.0
backgroundImagePath: "/Textures/Interface/Paper/paper_background_black.svg.96dpi.png"
backgroundPatchMargin: 16.0, 16.0, 16.0, 16.0
contentMargin: 4.0, 4.0, 4.0, 4.0
maxWritableArea: 400.0, 256.0

View File

@@ -1,19 +0,0 @@
- type: entity
parent: ClothingNeckBase
id: Dinkystar
name: star sticker
description: A dinky lil star for only the hardest working security officers! It's not even sticky anymore.
components:
- type: Sprite
sprite: Clothing/Neck/Misc/dinkystar.rsi
state: icon
- type: Clothing
sprite: Clothing/Neck/Misc/dinkystar.rsi
clothingVisuals:
neck:
- state: star-equipped
- type: Item
size: Tiny
- type: Tag
tags:
- Trash

View File

@@ -62,6 +62,9 @@
- Rolling
speedModifier: 0.5 # its very big, awkward to use
- type: Appearance
- type: Tag
tags:
- FireExtinguisher
- type: GenericVisualizer
visuals:
enum.ToggleVisuals.Toggled:

View File

@@ -1286,6 +1286,22 @@
- type: Stack
stackType: FloorTileBCircuit
- type: entity
name: red circuit floor
parent: FloorTileItemBase
id: FloorTileItemRCircuit
components:
- type: Sprite
state: rcircuit
- type: Item
heldPrefix: rcircuit
- type: FloorTile
outputs:
- Plating
- FloorRedCircuit
- type: Stack
stackType: FloorTileRCircuit
# Circuits stacks
- type: entity
@@ -1304,6 +1320,14 @@
- type: Stack
count: 4
- type: entity
parent: FloorTileItemRCircuit
id: FloorTileItemRCircuit4
suffix: 4
components:
- type: Stack
count: 4
# Terrain
- type: entity
name: grass tile

View File

@@ -237,9 +237,10 @@
- state: icon-tools-adv
- type: ItemBorgModule
items:
- Omnitool
- JawsOfLife
- PowerDrill
- Multitool
- WelderExperimental
- NetworkConfigurator
- RemoteSignaller
- GasAnalyzer
- GeigerCounter

View File

@@ -380,7 +380,7 @@
- type: entity
name: x-ray cannon
parent: [BaseWeaponBattery, BaseGunWieldable]
parent: [BaseWeaponBattery, BaseGunWieldable, BaseSecurityContraband]
id: WeaponXrayCannon
description: An experimental weapon that uses concentrated x-ray energy against its target.
components:
@@ -720,7 +720,7 @@
- type: entity
name: energy shotgun
parent: [BaseWeaponBattery, BaseGunWieldable]
parent: [BaseWeaponBattery, BaseGunWieldable, BaseGrandTheftContraband]
id: WeaponEnergyShotgun
description: A one-of-a-kind prototype energy weapon that uses various shotgun configurations. It offers the possibility of both lethal and non-lethal shots, making it a versatile weapon.
components:

View File

@@ -116,7 +116,7 @@
cluster-payload: !type:Container
- type: entity
parent: [GrenadeBase, BaseSyndicateContraband]
parent: [GrenadeBase, BaseSecurityContraband]
id: GrenadeStinger
name: stinger grenade
description: Nothing to see here, please disperse.

View File

@@ -65,7 +65,7 @@
board: [ DoorElectronicsBar ]
- type: entity
parent: AirlockServiceLocked
parent: AirlockHydroponics
id: AirlockHydroponicsLocked
suffix: Hydroponics, Locked
components:
@@ -531,7 +531,7 @@
board: [ DoorElectronicsJanitor ]
- type: entity
parent: AirlockServiceGlassLocked
parent: AirlockHydroponicsGlass
id: AirlockHydroGlassLocked
suffix: Hydroponics, Locked
components:

View File

@@ -40,6 +40,16 @@
- type: Wires
layoutId: AirlockCargo
- type: entity
parent: Airlock
id: AirlockHydroponics
suffix: Hydroponics
components:
- type: Sprite
sprite: Structures/Doors/Airlocks/Standard/hydroponics.rsi
- type: Wires
layoutId: AirlockService
- type: entity
parent: Airlock
id: AirlockMedical
@@ -197,6 +207,16 @@
- type: Wires
layoutId: AirlockCargo
- type: entity
parent: AirlockGlass
id: AirlockHydroponicsGlass
suffix: Hydroponics
components:
- type: Sprite
sprite: Structures/Doors/Airlocks/Glass/hydroponics.rsi
- type: Wires
layoutId: AirlockService
- type: entity
parent: AirlockGlass
id: AirlockMedicalGlass

View File

@@ -138,6 +138,25 @@
sprite: Structures/Doors/Airlocks/Standard/freezer.rsi
state: "assembly"
#Hydroponics
- type: entity
parent: AirlockAssembly
id: AirlockAssemblyHydroponics
suffix: Hydroponics
components:
- type: Sprite
sprite: Structures/Doors/Airlocks/Standard/hydroponics.rsi
state: "assembly"
- type: entity
parent: AirlockAssembly
id: AirlockAssemblyHydroponicsGlass
suffix: Hydroponics, Glass
components:
- type: Sprite
sprite: Structures/Doors/Airlocks/Glass/hydroponics.rsi
state: "assembly"
#Maintenance
- type: entity
parent: AirlockAssembly

View File

@@ -9,6 +9,7 @@
command: Structures/Doors/Airlocks/Standard/command.rsi
engineering: Structures/Doors/Airlocks/Standard/engineering.rsi
freezer: Structures/Doors/Airlocks/Standard/freezer.rsi
hydroponics: Structures/Doors/Airlocks/Standard/hydroponics.rsi
maintenance: Structures/Doors/Airlocks/Standard/maint.rsi
medical: Structures/Doors/Airlocks/Standard/medical.rsi
science: Structures/Doors/Airlocks/Standard/science.rsi
@@ -27,6 +28,7 @@
science: Structures/Doors/Airlocks/Glass/science.rsi
engineering: Structures/Doors/Airlocks/Glass/engineering.rsi
glass: Structures/Doors/Airlocks/Glass/glass.rsi
hydroponics: Structures/Doors/Airlocks/Glass/hydroponics.rsi
maintenance: Structures/Doors/Airlocks/Glass/maint.rsi
medical: Structures/Doors/Airlocks/Glass/medical.rsi
security: Structures/Doors/Airlocks/Glass/security.rsi
@@ -74,6 +76,7 @@
engineering: Engineering
freezer: Civilian
glass: Civilian
hydroponics: Civilian
maintenance: Civilian
medical: Medical
science: Science

View File

@@ -442,6 +442,7 @@
- UniformPrinterMachineCircuitboard
- FloorGreenCircuit
- FloorBlueCircuit
- FloorRedCircuit
- MicrowaveMachineCircuitboard
- ReagentGrinderMachineCircuitboard
- ElectricGrillMachineCircuitboard

View File

@@ -104,6 +104,7 @@
collection: MetalGlassBreak
params:
volume: -4
- type: StationAiWhitelist
placement:
mode: SnapgridCenter
snap: