Merge remote-tracking branch 'upstream/master' into ed-23-07-2024-upstream

# Conflicts:
#	.github/PULL_REQUEST_TEMPLATE.md
#	Content.Client/Clothing/ClientClothingSystem.cs
#	Content.Client/Hands/Systems/HandsSystem.cs
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Shared/Hands/Components/HandsComponent.cs
#	Content.Shared/Inventory/InventoryComponent.cs
#	Content.Shared/Storage/StorageComponent.cs
#	Resources/Prototypes/Accents/word_replacements.yml
#	Resources/Prototypes/Entities/Mobs/Player/human.yml
#	Resources/Prototypes/Maps/Pools/default.yml
#	Resources/Prototypes/Maps/fland.yml
#	Resources/Prototypes/Maps/oasis.yml
#	Resources/Prototypes/Maps/packed.yml
#	Resources/Prototypes/Maps/saltern.yml
This commit is contained in:
Ed
2024-07-23 12:24:42 +03:00
494 changed files with 41440 additions and 41010 deletions

View File

@@ -430,6 +430,9 @@
chatsan-word-47: chatsan-replacement-47
chatsan-word-48: chatsan-replacement-48
chatsan-word-49: chatsan-replacement-49
chatsan-word-50: chatsan-replacement-50
chatsan-word-51: chatsan-replacement-51
chatsan-word-52: chatsan-replacement-52
#CP14-RU-ChatSanitize-Start
cp14-chatsan-word-1: cp14-chatsan-replacement-1
cp14-chatsan-word-2: cp14-chatsan-replacement-2

View File

@@ -1,6 +1,6 @@
- type: body
id: Aghost
name: "aGhost"
name: "aghost"
root: torso
slots:
torso:

View File

@@ -1,6 +1,6 @@
- type: body
id: Arachnid
name: "Arachnid"
name: "arachnid"
root: torso
slots:
head:

View File

@@ -1,6 +1,6 @@
- type: body
id: Moth
name: "Moth"
name: "moth"
root: torso
slots:
head:

View File

@@ -247,6 +247,19 @@
- id: DoubleEmergencyOxygenTankFilled
- id: DoubleEmergencyNitrogenTankFilled
- type: entity
parent: ClothingBackpackDuffelSyndicateBundle
id: ClothingBackpackDuffelSyndicateRaidBundle
name: syndicate raid suit bundle
description: "Contains the Syndicate's durable raid armor suit."
components:
- type: StorageFill
contents:
- id: ClothingOuterArmorRaid
- id: ClothingHeadHelmetRaid
- id: ClothingMaskGasSyndicate
- id: ClothingHandsGlovesCombat
- type: entity
parent: ClothingBackpackDuffelSyndicateBundle
id: ClothingBackpackDuffelSyndicateHardsuitBundle

View File

@@ -902,7 +902,7 @@
- type: listing
id: UplinkReinforcementRadioSyndicate
name: uplink-reinforcement-radio-name
description: uplink-reinforcement-radio-desc
description: uplink-reinforcement-radio-traitor-desc
productEntity: ReinforcementRadioSyndicate
icon: { sprite: Objects/Devices/communication.rsi, state: old-radio-urist }
cost:
@@ -918,7 +918,7 @@
- type: listing
id: UplinkReinforcementRadioSyndicateNukeops # Version for Nukeops that spawns an agent with the NukeOperative component.
name: uplink-reinforcement-radio-name
description: uplink-reinforcement-radio-desc
description: uplink-reinforcement-radio-nukeops-desc
productEntity: ReinforcementRadioSyndicateNukeops
icon: { sprite: Objects/Devices/communication.rsi, state: old-radio-urist }
cost:
@@ -1298,6 +1298,22 @@
categories:
- UplinkWearables
- type: listing
id: UplinkClothingOuterArmorRaid
name: uplink-syndie-raid-name
description: uplink-syndie-raid-desc
icon: { sprite: /Textures/Clothing/OuterClothing/Armor/syndie-raid.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateRaidBundle
cost:
Telecrystal: 8
categories:
- UplinkWearables
conditions:
- !type:StoreWhitelistCondition
whitelist:
tags:
- NukeOpsUplink
- type: listing
id: UplinkHardsuitSyndieElite
name: uplink-hardsuit-syndieelite-name

View File

@@ -111,6 +111,8 @@
- state: equipped-head
- state: equipped-head-unshaded
shader: unshaded
- type: PointLight
radius: 6
- type: PressureProtection
highPressureMultiplier: 0.72
lowPressureMultiplier: 1000

View File

@@ -28,7 +28,7 @@
- type: entity
parent: ClothingHeadBase
id: ClothingHeadHatBeretFrench
name: French beret
name: french beret
description: A French beret, "vive la France".
components:
- type: Sprite

View File

@@ -357,6 +357,24 @@
- type: Clothing
sprite: Clothing/Head/Helmets/ert_janitor.rsi
- type: entity
parent: ClothingHeadHelmetBasic
id: ClothingHeadHelmetRaid
name: syndicate raid helmet
description: An armored helmet for use with the syndicate raid suit. Very stylish.
components:
- type: Sprite
sprite: Clothing/Head/Helmets/syndie-raid.rsi
- type: Clothing
sprite: Clothing/Head/Helmets/syndie-raid.rsi
- type: Armor
modifiers: #There's gotta be SOME reason to use this over other helmets.
coefficients:
Blunt: 0.85
Slash: 0.85
Piercing: 0.85
Heat: 0.85
#Bone Helmet
- type: entity
parent: ClothingHeadHelmetBasic

View File

@@ -39,3 +39,4 @@
tags:
- Scarf
- ClothMade
- WhitelistChameleon

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
parent: ClothingNeckBase
id: ClothingNeckChameleon
name: striped red scarf
@@ -12,7 +12,7 @@
- type: Clothing
sprite: Clothing/Neck/Scarfs/red.rsi
- type: ChameleonClothing
slot: [neck]
slot: [NECK]
default: ClothingNeckScarfStripedRed
- type: UserInterface
interfaces:

View File

@@ -99,6 +99,78 @@
reflects:
- Energy
- type: entity
parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
id: ClothingOuterArmorRaid
name: syndicate raid suit
description: A somewhat flexible and well-armored suit with a powerful shoulder mounted flashlight manufactured in the Gorlex Marauder's iconic blood-red color scheme, it does not protect it's wearer from space.
components:
- type: Sprite
sprite: Clothing/OuterClothing/Armor/syndie-raid.rsi
layers:
- state: icon
- state: light-overlay
visible: false
shader: unshaded
- type: Clothing
sprite: Clothing/OuterClothing/Armor/syndie-raid.rsi
- type: Armor
modifiers:
coefficients:
Blunt: 0.35
Slash: 0.35
Piercing: 0.35
Heat: 0.35
Caustic: 0.5
- type: ExplosionResistance
damageCoefficient: 0.35
- type: ClothingSpeedModifier
walkModifier: 0.9
sprintModifier: 0.9
#Shoulder mounted flashlight
- type: ToggleableLightVisuals
spriteLayer: light
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-light
shader: unshaded
- type: Appearance
- type: HandheldLight
addPrefix: false
blinkingBehaviourId: blinking
radiatingBehaviourId: radiating
- type: PointLight
enabled: false
color: "#80ff80"
radius: 5
energy: 2
mask: /Textures/Effects/LightMasks/cone.png
autoRot: true
netsync: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
id: radiating
interpolate: Linear
maxDuration: 2.0
startValue: 3.0
endValue: 2.0
isLooped: true
reverseWhenFinished: true
- !type:PulseBehaviour
id: blinking
interpolate: Nearest
maxDuration: 1.0
minValue: 0.1
maxValue: 2.0
isLooped: true
- type: Battery
maxCharge: 600
startingCharge: 600
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 2
- type: entity
parent: ClothingOuterBaseLarge
id: ClothingOuterArmorCult

View File

@@ -83,7 +83,7 @@
parent: [ClothingShoesBootsMag, BaseJetpack]
id: ClothingShoesBootsMagSyndie
name: blood-red magboots
description: Reverse-engineered magnetic boots that have a heavy magnetic pull and integrated thrusters.
description: Reverse-engineered magnetic boots that have a heavy magnetic pull and integrated thrusters. It can hold 0.75 L of gas.
components:
- type: Sprite
sprite: Clothing/Shoes/Boots/magboots-syndicate.rsi

View File

@@ -210,7 +210,6 @@
sprite: Clothing/Uniforms/Jumpsuit/clown.rsi
- type: Clothing
sprite: Clothing/Uniforms/Jumpsuit/clown.rsi
femaleMask: UniformTop
- type: Tag
tags:
- ClownSuit
@@ -224,7 +223,6 @@
sprite: Clothing/Uniforms/Jumpsuit/clown_banana.rsi
- type: Clothing
sprite: Clothing/Uniforms/Jumpsuit/clown_banana.rsi
femaleMask: UniformTop
- type: Construction
graph: BananaClownJumpsuit
node: jumpsuit

View File

@@ -19,8 +19,6 @@
- state: mask_null
map: [ "overlay" ]
- type: Clothing
femaleMask: UniformTop
maleMask: UniformTop
sprite: Clothing/Uniforms/procedural.rsi
clothingVisuals:
jumpsuit:

View File

@@ -70,7 +70,6 @@
state: foam-west
- type: SmoothEdge
- type: IconSmooth
key: walls
mode: NoSprite
- type: FoamVisuals
animationTime: 0.6

View File

@@ -223,7 +223,7 @@
acts: [ "Destruction" ]
- type: entity
name: Reagent slime
name: reagent slime
id: ReagentSlime
suffix: Water
parent: [ MobAdultSlimes, MobCombat ]

View File

@@ -1,5 +1,5 @@
- type: entity
name: Mimic
name: mimic
id: MobMimic
parent: [ SimpleMobBase, MobCombat ]
description: Surprise. # When this gets a proper write this should use the object's actual description >:)

View File

@@ -1,5 +1,5 @@
- type: entity
name: Rat King
name: rat king
id: MobRatKing
parent: [ SimpleMobBase, MobCombat ]
description: He's da rat. He make da roolz.
@@ -158,7 +158,7 @@
- MinorAntagonists
- type: entity
name: Rat Servant
name: rat servant
id: MobRatServant
parent: [ SimpleMobBase, MobCombat ]
description: He's da mini rat. He don't make da roolz.

View File

@@ -1,6 +1,6 @@
# Hacky for the stress test so don't even consider adding to this
- type: entity
name: Burrower
name: burrower
id: MobXeno
parent: SimpleSpaceMobBase
description: They mostly come at night. Mostly.
@@ -121,7 +121,7 @@
speechVerb: LargeMob
- type: entity
name: Praetorian
name: praetorian
parent: MobXeno
id: MobXenoPraetorian
components:
@@ -154,7 +154,7 @@
- MobLayer
- type: entity
name: Drone
name: drone
parent: MobXeno
id: MobXenoDrone
components:
@@ -191,7 +191,7 @@
- MobLayer
- type: entity
name: Queen
name: queen
parent: MobXeno
id: MobXenoQueen
components:
@@ -230,7 +230,7 @@
- CannotSuicide
- type: entity
name: Ravager
name: ravager
parent: MobXeno
id: MobXenoRavager
components:
@@ -267,7 +267,7 @@
- MobLayer
- type: entity
name: Runner
name: runner
parent: MobXeno
id: MobXenoRunner
components:
@@ -297,7 +297,7 @@
- MobLayer
- type: entity
name: Rouny
name: rouny
parent: MobXenoRunner
id: MobXenoRouny
components:
@@ -312,7 +312,7 @@
amount: 3
- type: entity
name: Spitter
name: spitter
parent: MobXeno
id: MobXenoSpitter
components:

View File

@@ -1,13 +1,11 @@
- type: entity
save: false
noSpawn: true
name: Urist McHands
parent: BaseMobHuman
id: MobHuman
#Syndie
- type: entity
noSpawn: true
parent: MobHuman
id: MobHumanSyndicateAgentBase
name: syndicate agent
@@ -25,7 +23,6 @@
- Syndicate
- type: entity
noSpawn: true
parent: MobHumanSyndicateAgentBase
id: MobHumanSyndicateAgent
name: syndicate agent
@@ -37,11 +34,36 @@
giveObjectives: false
- type: entity
noSpawn: true
parent: MobHumanSyndicateAgent
id: MobHumanSyndicateAgentMedic
name: syndicate medic
components:
- type: Loadout
prototypes: [SyndicateReinforcementMedic]
- type: entity
parent: MobHumanSyndicateAgent
id: MobHumanSyndicateAgentSpy
name: syndicate spy
components:
- type: Loadout
prototypes: [SyndicateReinforcementSpy]
- type: entity
parent: MobHumanSyndicateAgent
id: MobHumanSyndicateAgentThief
name: syndicate thief
components:
- type: Loadout
prototypes: [SyndicateReinforcementThief]
- type: entity
parent: MobHumanSyndicateAgentBase
id: MobHumanSyndicateAgentNukeops # Reinforcement exclusive to nukeops uplink
suffix: Human, NukeOps
components:
- type: Loadout
prototypes: [SyndicateOperativeGearReinforcementNukeOps]
- type: NukeOperative
# Nuclear Operative

View File

@@ -28,8 +28,6 @@
spawned:
- id: FoodMeatSpider
amount: 5
- type: Inventory
templateId: arachnid
- type: Reactive
reactions:
- reagents: [Water]
@@ -80,16 +78,6 @@
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- shader: StencilClear
sprite: Mobs/Species/Human/parts.rsi #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
# its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
# sprite refactor when
state: l_leg
- shader: StencilMask
map: ["enum.HumanoidVisualLayers.StencilMask"]
sprite: Mobs/Customization/masking_helpers.rsi
state: unisex_full
visible: false
- map: ["jumpsuit"]
- map: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]
@@ -122,6 +110,9 @@
sprite: "Effects/creampie.rsi"
state: "creampie_arachnid"
visible: false
- type: Inventory
templateId: arachnid
- type: entity
parent: BaseSpeciesDummy
@@ -131,4 +122,5 @@
- type: HumanoidAppearance
species: Arachnid
#88w88
#>88w88<

View File

@@ -18,16 +18,6 @@
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- shader: StencilClear
sprite: Mobs/Species/Human/parts.rsi #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
# its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
# sprite refactor when
state: l_leg
- shader: StencilMask
map: ["enum.HumanoidVisualLayers.StencilMask"]
sprite: Mobs/Customization/masking_helpers.rsi
state: unisex_full
visible: false
- map: ["jumpsuit"]
- map: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]
@@ -307,14 +297,6 @@
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- shader: StencilClear
sprite: Mobs/Species/Human/parts.rsi
state: l_leg
- shader: StencilMask
map: ["enum.HumanoidVisualLayers.StencilMask"]
sprite: Mobs/Customization/masking_helpers.rsi
state: unisex_full
visible: false
- map: ["jumpsuit"]
- map: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]

View File

@@ -82,8 +82,6 @@
- MobMask
layer:
- MobLayer
- type: Inventory
templateId: diona
- type: Speech
speechVerb: Plant
- type: Vocal
@@ -101,13 +99,27 @@
actionPrototype: DionaGibAction
allowedStates:
- Dead
- type: Inventory
templateId: diona
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female
- type: entity
parent: BaseSpeciesDummy
id: MobDionaDummy
noSpawn: true
components:
- type: Inventory
templateId: diona
- type: HumanoidAppearance
species: Diona
- type: Inventory
templateId: diona
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female

View File

@@ -56,6 +56,13 @@
hideLayersOnEquip:
- Hair
- Snout
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female
- type: entity
parent: BaseSpeciesDummy
@@ -64,3 +71,10 @@
components:
- type: Sprite
scale: 1, 0.8
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female

View File

@@ -40,6 +40,14 @@
- MobMask
layer:
- MobLayer
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female
- type: entity
parent: BaseSpeciesDummy
@@ -48,3 +56,10 @@
components:
- type: HumanoidAppearance
species: Gingerbread
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female

View File

@@ -20,8 +20,25 @@
hideLayersOnEquip:
- Hair
- Snout
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female
- type: entity
parent: BaseSpeciesDummy
id: MobHumanDummy
noSpawn: true
components:
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female

View File

@@ -76,16 +76,6 @@
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- shader: StencilClear
sprite: Mobs/Species/Human/parts.rsi #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
# its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
# sprite refactor when
state: l_leg
- shader: StencilMask
map: [ "enum.HumanoidVisualLayers.StencilMask" ]
sprite: Mobs/Customization/masking_helpers.rsi
state: unisex_full
visible: false
- map: [ "jumpsuit" ]
- map: [ "enum.HumanoidVisualLayers.LHand" ]
- map: [ "enum.HumanoidVisualLayers.RHand" ]
@@ -118,6 +108,14 @@
sprite: "Effects/creampie.rsi"
state: "creampie_moth"
visible: false
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female
- type: entity
parent: BaseSpeciesDummy
@@ -126,3 +124,11 @@
components:
- type: HumanoidAppearance
species: Moth
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female

View File

@@ -26,8 +26,6 @@
spawned:
- id: FoodMeatLizard
amount: 5
- type: Inventory
speciesId: reptilian
- type: LizardAccent
- type: Speech
speechSounds: Lizard
@@ -62,6 +60,15 @@
types:
Heat : 1.5 #per second, scales with temperature & other constants
- type: Wagging
- type: Inventory
speciesId: reptilian
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female
- type: entity
parent: BaseSpeciesDummy
@@ -77,5 +84,11 @@
- HeadSide
- type: Inventory
speciesId: reptilian
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female
#Weh

View File

@@ -102,11 +102,25 @@
- type: FireVisuals
alternateState: Standing
- type: FlashImmunity
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female
- type: entity
parent: BaseSpeciesDummy
id: MobSkeletonPersonDummy
noSpawn: true
components:
- type: HumanoidAppearance
species: Skeleton
- type: HumanoidAppearance
species: Skeleton
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female

View File

@@ -109,11 +109,25 @@
types:
Asphyxiation: -1.0
maxSaturation: 15
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female
- type: entity
parent: MobHumanDummy
id: MobSlimePersonDummy
noSpawn: true
components:
- type: HumanoidAppearance
species: SlimePerson
- type: HumanoidAppearance
species: SlimePerson
- type: Inventory
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Human/displacement.rsi
state: jumpsuit-female

View File

@@ -14,42 +14,6 @@
- type: HumanoidAppearance
species: Vox
#- type: VoxAccent # Not yet coded
- type: Inventory
speciesId: vox
displacements:
jumpsuit:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: jumpsuit
copyToShaderParameters:
# Value required, provide a dummy. Gets overridden when applied.
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
eyes:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: eyes
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
gloves:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: hand
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
back:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: back
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
- type: Speech
speechVerb: Vox
speechSounds: Vox
@@ -126,6 +90,39 @@
sprite: "Effects/creampie.rsi"
state: "creampie_vox" # Not default
visible: false
- type: Inventory
speciesId: vox
displacements:
jumpsuit:
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: jumpsuit
eyes:
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: eyes
gloves:
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: hand
back:
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: back
ears:
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: ears
shoes:
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: shoes
- type: entity
parent: BaseSpeciesDummy
@@ -140,36 +137,32 @@
speciesId: vox
displacements:
jumpsuit:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: jumpsuit
copyToShaderParameters:
# Value required, provide a dummy. Gets overridden when applied.
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: jumpsuit
eyes:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: eyes
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: eyes
gloves:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: hand
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: hand
back:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: back
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: back
ears:
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: ears
shoes:
sizeMaps:
32:
sprite: Mobs/Species/Vox/displacement.rsi
state: shoes

View File

@@ -78,6 +78,9 @@
solution: drink
- type: FitsInDispenser
solution: drink
- type: Tag
tags:
- DrinkGlass
# Transformable container - normal glass
- type: entity

View File

@@ -729,7 +729,7 @@
- type: entity
parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull]
id: DrinkCreamCartonXL
name: Milk Cream XL
name: milk cream XL
description: It's cream. Made from milk. What else did you think you'd find in there?
components:
- type: SolutionContainerManager

View File

@@ -432,6 +432,7 @@
whitelist:
tags:
- Cola
hideStackVisualsWhenClosed: false
- type: StorageFill
contents:
- id: DrinkColaCan

View File

@@ -314,7 +314,7 @@
- type: entity
parent: DrinkBaseCup
id: DrinkLean
name: grape Juice
name: grape juice
description: Damn, no fun allowed.
components:
- type: SolutionContainerManager

View File

@@ -148,6 +148,8 @@
- state: tin
- state: plain
- type: CreamPie
- type: ThrowingAngle
angle: 180
- type: LandAtCursor
- type: ContainerContainer
containers:

View File

@@ -34,6 +34,9 @@
solution: food
- type: TrashOnSolutionEmpty
solution: food
- type: Tag
tags:
- Ingredient
- type: entity
abstract: true
@@ -272,6 +275,9 @@
reagents:
- ReagentId: Nutriment
Quantity: 15
- type: Tag
tags:
- Ingredient
- type: entity
name: dough
@@ -684,3 +690,6 @@
reagents:
- ReagentId: CocoaPowder
Quantity: 2
- type: Tag
tags:
- Ingredient

View File

@@ -425,7 +425,7 @@
id: PresentTrash
noSpawn: true
parent: BaseItem
name: Wrapping Paper
name: wrapping paper
description: Carefully folded, taped, and tied with a bow. Then ceremoniously ripped apart and tossed on the floor.
components:
- type: Sprite

View File

@@ -1,6 +1,7 @@
- type: entity
parent: BaseItem
id: ReinforcementRadioSyndicate
abstract: true
id: ReinforcementRadio
name: syndicate reinforcement radio
description: Call in a syndicate agent of questionable quality, instantly! Only basic equipment provided.
components:
@@ -8,29 +9,43 @@
sprite: Objects/Devices/communication.rsi
layers:
- state: old-radio
- type: UserInterface
interfaces:
enum.GhostRoleRadioUiKey.Key:
type: GhostRoleRadioBoundUserInterface
- type: ActivatableUI
key: enum.GhostRoleRadioUiKey.Key
- type: entity
parent: ReinforcementRadio
id: ReinforcementRadioSyndicate
name: syndicate reinforcement radio
description: Call in a syndicate agent of questionable quality, instantly!
components:
- type: GhostRole
name: ghost-role-information-syndicate-reinforcement-name
name: ghost-role-information-syndicate-reinforcement-spy-name
description: ghost-role-information-syndicate-reinforcement-description
rules: ghost-role-information-syndicate-reinforcement-rules
raffle:
settings: default
- type: GhostRoleMobSpawner
prototype: MobHumanSyndicateAgent
- type: EmitSoundOnUse
sound: /Audio/Effects/Emotes/parp1.ogg
- type: UseDelay
delay: 300
prototype: MobHumanSyndicateAgentSpy
selectablePrototypes: ["SyndicateAgentMedic", "SyndicateAgentSpy", "SyndicateAgentThief"]
- type: entity
parent: ReinforcementRadioSyndicate
parent: ReinforcementRadio
id: ReinforcementRadioSyndicateNukeops # Reinforcement radio exclusive to nukeops uplink
suffix: NukeOps
components:
- type: GhostRole
name: ghost-role-information-syndicate-reinforcement-name
description: ghost-role-information-syndicate-reinforcement-description
rules: ghost-role-information-syndicate-reinforcement-rules
- type: GhostRoleMobSpawner
prototype: MobHumanSyndicateAgentNukeops
- type: entity
parent: ReinforcementRadioSyndicate
parent: ReinforcementRadio
id: ReinforcementRadioSyndicateAncestor
name: syndicate genetic ancestor reinforcement radio
description: Calls in a specially trained ancestor of your choosing to assist you.
@@ -55,7 +70,7 @@
selectablePrototypes: ["SyndicateMonkeyNukeops", "SyndicateKoboldNukeops"]
- type: entity
parent: ReinforcementRadioSyndicate
parent: ReinforcementRadio
id: ReinforcementRadioSyndicateSyndiCat
name: syndicat reinforcement radio
description: Calls in a faithfully trained cat with a microbomb to assist you.
@@ -72,7 +87,7 @@
sound: /Audio/Animals/cat_meow.ogg
- type: entity
parent: ReinforcementRadioSyndicate
parent: ReinforcementRadio
id: ReinforcementRadioSyndicateCyborgAssault # Reinforcement radio exclusive to nukeops uplink
name: syndicate assault cyborg reinforcement radio
description: Call in a well armed assault cyborg, instantly!

View File

@@ -84,6 +84,7 @@
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: BalloonPopper
- type: entity
parent: Dart

View File

@@ -0,0 +1,139 @@
- type: entity
name: lamp
parent: BaseItem
id: ArabianLamp
description: Why the heck won't this piece of junk open!?
components:
- type: Appearance
- type: AccessReader
access: [ [ "CentralCommand" ] ]
breakOnEmag: false
- type: Lock
lockOnClick: false
breakOnEmag: false
- type: EntityStorage
capacity: 1 # Its smol.
itemCanStoreMobs: false # just leaving this here explicitly since I know at some point someone will want to use this to hold a mob. This also prevents it from becoming His Grace.
# - type: StorageFill
# contents:
# - id: PuddleSparkle # Ha! Cute. Unfortunately it despawns before the container is likely to open.
- type: ContainerContainer
containers:
entity_storage: !type:Container
- type: Item
size: Normal
heldPrefix: lamp
sprite: Objects/Misc/arabianlamp.rsi
inhandVisuals:
left:
- state: inhand-left
right:
- state: inhand-right
- type: MeleeWeapon
wideAnimationRotation: 180
damage:
types:
Blunt: 6
- type: ItemToggleMeleeWeapon
activatedDamage:
types:
Blunt: 6
Heat: 3
activatedSoundOnHit:
path: /Audio/Weapons/Guns/Hits/energy_meat1.ogg
params:
variation: 0.250
volume: -10
activatedSoundOnHitNoDamage:
path: /Audio/Weapons/Guns/Hits/energy_meat1.ogg
params:
variation: 0.250
volume: -12
deactivatedSoundOnHitNoDamage:
collection: MetalThud
- type: ItemToggle
predictable: false
soundActivate:
collection: lighterOnSounds
soundDeactivate:
path: /Audio/Items/candle_blowing.ogg
params:
variation: 0.05
volume: 10
- type: ItemToggleHot
- type: Sprite
sprite: Objects/Misc/arabianlamp.rsi
layers:
- state: lamp
map: [ "enum.StorageVisualLayers.Base" ]
- state: lamptop
map: ["enum.StorageVisualLayers.Door"]
- state: flame
visible: false
shader: unshaded
map: ["enum.ToggleVisuals.Layer"]
- type: GenericVisualizer
visuals:
enum.ToggleVisuals.Toggled:
enum.ToggleVisuals.Layer:
True: { visible: true }
False: { visible: false }
- type: EntityStorageVisuals
stateBaseClosed: lamp
stateDoorOpen: lamp
stateDoorClosed: lamptop
- type: ToggleableLightVisuals
spriteLayer: flame
inhandVisuals:
left:
- state: inhand-left-flame
shader: unshaded
right:
- state: inhand-right-flame
shader: unshaded
- type: SolutionContainerManager
solutions:
Welder:
reagents:
- ReagentId: WeldingFuel
Quantity: 25
maxVol: 25
- type: SolutionTransfer
transferAmount: 5
canChangeTransferAmount: false
- type: Spillable
solution: Welder
- type: DrawableSolution
solution: Welder
- type: RefillableSolution
solution: Welder
- type: DrainableSolution
solution: Welder
- type: ExaminableSolution
solution: Welder
- type: SolutionRegeneration
solution: Welder
generated:
reagents:
- ReagentId: WeldingFuel
Quantity: 0.1
duration: 5
- type: EmitSoundOnLand
sound:
path: /Audio/Items/welder_drop.ogg
- type: Welder
fuelConsumption: 0.05
fuelLitCost: 0.05
tankSafe: true
- type: PointLight
enabled: false
netsync: false
radius: 5
color: orange
- type: StaticPrice
price: 1500
- type: Prayable
sentMessage: prayer-popup-notify-lamp-sent
notificationPrefix: prayer-chat-notify-lamp
verb: prayer-verbs-rub
verbImage: null

View File

@@ -318,7 +318,7 @@
- type: entity
parent: BookBase
id: BookIanMountain
name: the adventures of ian and renault - A mountain expedition
name: the adventures of ian and renault - a mountain expedition
description: The book is in new condition. The cover is a stunning mountain landscape with Ian and Renault in the foreground, looking out over the vista of the surrounding peaks and valleys. The title is written in bold, block letters at the top, with the subtitle, "A Mountain Expedition," written underneath.
components:
- type: Sprite

View File

@@ -298,7 +298,7 @@
data: { state: spookysmoke_static }
- type: entity
name: Haze
name: haze
id: ShadowKudzuWeak
parent: ShadowKudzu
components:

View File

@@ -1,5 +1,5 @@
- type: entity
name: Food Cart
name: food cart
id: FoodCartBase
abstract: true
parent: BaseStructureDynamic

View File

@@ -505,8 +505,8 @@
- state: icon-syndicate
- type: ItemBorgModule
items:
- WeaponAdvancedLaser
- Machete
- WeaponPistolEchis
- EnergyDaggerLoud
- type: entity
id: BorgModuleOperative
@@ -536,7 +536,7 @@
- state: icon-syndicate
- type: ItemBorgModule
items:
- EnergySwordDouble
- CyborgEnergySwordDouble
- PinpointerSyndicateNuclear
- type: entity

View File

@@ -60,7 +60,7 @@
parent: GasTankRoundBase
id: OxygenTank
name: oxygen tank
description: A standard cylindrical gas tank for oxygen.
description: A standard cylindrical gas tank for oxygen. It can hold 5 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/oxygen.rsi
@@ -73,7 +73,7 @@
parent: GasTankRoundBase
id: NitrogenTank
name: nitrogen tank
description: A standard cylindrical gas tank for nitrogen.
description: A standard cylindrical gas tank for nitrogen. It can hold 5 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/red.rsi
@@ -86,7 +86,7 @@
parent: GasTankRoundBase
id: EmergencyOxygenTank
name: emergency oxygen tank
description: An easily portable tank for emergencies. Contains very little oxygen, rated for survival use only.
description: An easily portable tank for emergencies. Contains very little oxygen, rated for survival use only. It can hold 0.66 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/emergency.rsi
@@ -115,7 +115,7 @@
parent: EmergencyOxygenTank
id: EmergencyNitrogenTank
name: emergency nitrogen tank
description: An easily portable tank for emergencies. Contains very little nitrogen, rated for survival use only.
description: An easily portable tank for emergencies. Contains very little nitrogen, rated for survival use only. It can hold 0.66 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/emergency_red.rsi
@@ -128,7 +128,7 @@
parent: EmergencyOxygenTank
id: ExtendedEmergencyOxygenTank
name: extended-capacity emergency oxygen tank
description: An emergency tank with extended capacity. Technically rated for prolonged use.
description: An emergency tank with extended capacity. Technically rated for prolonged use. It can hold 1.5 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/emergency_extended.rsi
@@ -145,7 +145,7 @@
parent: ExtendedEmergencyOxygenTank
id: ExtendedEmergencyNitrogenTank
name: extended-capacity emergency nitrogen tank
description: An emergency tank with extended capacity. Technically rated for prolonged use.
description: An emergency tank with extended capacity. Technically rated for prolonged use. It can hold 1.5 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/emergency_extended_red.rsi
@@ -158,7 +158,7 @@
parent: ExtendedEmergencyOxygenTank
id: DoubleEmergencyOxygenTank
name: double emergency oxygen tank
description: A high-grade dual-tank emergency life support container. It holds a decent amount of oxygen for it's small size.
description: A high-grade dual-tank emergency life support container. It holds a decent amount of oxygen for it's small size. It can hold 2.5 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/emergency_double.rsi
@@ -180,7 +180,7 @@
parent: DoubleEmergencyOxygenTank
id: DoubleEmergencyNitrogenTank
name: double emergency nitrogen tank
description: A high-grade dual-tank emergency life support container. It holds a decent amount of nitrogen for its small size.
description: A high-grade dual-tank emergency life support container. It holds a decent amount of nitrogen for its small size. It can hold 2.5 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/emergency_double_red.rsi
@@ -193,7 +193,7 @@
parent: EmergencyOxygenTank
id: EmergencyFunnyOxygenTank
name: funny emergency oxygen tank
description: An easily portable tank for emergencies. Contains very little oxygen with an extra of funny gas, rated for survival use only.
description: An easily portable tank for emergencies. Contains very little oxygen with an extra of funny gas, rated for survival use only. It can hold 0.66 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/emergency_clown.rsi
@@ -206,7 +206,7 @@
parent: GasTankRoundBase
id: AirTank
name: air tank
description: Mixed anyone?
description: Mixed anyone? It can hold 5 L of gas.
components:
- type: GasTank
outputPressure: 101.3
@@ -215,7 +215,7 @@
parent: GasTankRoundBase
id: NitrousOxideTank
name: nitrous oxide tank
description: Contains a mixture of air and nitrous oxide. Make sure you don't refill it with pure N2O.
description: Contains a mixture of air and nitrous oxide. Make sure you don't refill it with pure N2O. It can hold 5 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/anesthetic.rsi
@@ -231,7 +231,7 @@
parent: GasTankBase
id: PlasmaTank
name: plasma tank
description: Contains dangerous plasma. Do not inhale. Extremely flammable.
description: Contains dangerous plasma. Do not inhale. Extremely flammable. It can hold 5 L of gas.
components:
- type: Sprite
sprite: Objects/Tanks/plasma.rsi

View File

@@ -22,8 +22,8 @@
parent: GasTankBase
abstract: true
id: BaseJetpack
name: Jetpack
description: It's a jetpack.
name: jetpack
description: It's a jetpack. It can hold 5 L of gas.
components:
- type: InputMover
toParent: true
@@ -182,6 +182,7 @@
id: JetpackMini
parent: BaseJetpack
name: mini jetpack
description: It's a jetpack. It can hold 1.5 L of gas.
suffix: Empty
components:
- type: Item

View File

@@ -401,20 +401,6 @@
components:
- type: LimitedCharges
charges: 0
- type: RCD
availablePrototypes:
- WallSolid
- FloorSteel
- Plating
- Catwalk
- Grille
- Window
- WindowDirectional
- WindowReinforcedDirectional
- ReinforcedWindow
- Airlock
- AirlockGlass
- Firelock
- type: entity
id: RCDRecharging

View File

@@ -1,6 +1,6 @@
- type: entity
id: PelletClusterRubber
name: pellet (ball, Rubber)
name: pellet (ball, rubber)
noSpawn: true
parent: BaseBullet
components:
@@ -19,7 +19,7 @@
- type: entity
id: PelletClusterLethal
name: pellet (ball, Lethal)
name: pellet (ball, lethal)
noSpawn: true
parent: BaseBullet
components:

View File

@@ -47,6 +47,7 @@
whitelist:
tags:
- MagazinePistol
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgePistol
@@ -90,6 +91,7 @@
tags:
- MagazinePistol
- MagazinePistolHighCapacity
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgePistol
@@ -102,6 +104,41 @@
gun_magazine: !type:ContainerSlot
gun_chamber: !type:ContainerSlot
- type: entity
name: echis
parent: BaseItem
id: WeaponPistolEchis
description: A viper for use by cyborgs. Creates .35 ammo on the fly from an internal ammo fabricator, which slowly self-charges.
components:
- type: Gun
fireRate: 5
selectedMode: SemiAuto
availableModes:
- SemiAuto
- FullAuto
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/pistol.ogg
- type: Sprite
sprite: Objects/Weapons/Guns/Pistols/viper.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-0
map: ["enum.GunVisualLayers.Mag"]
- type: ContainerContainer
containers:
ballistic-ammo: !type:Container
- type: ProjectileBatteryAmmoProvider
proto: BulletPistol
fireCost: 100
- type: Battery
maxCharge: 1000
startingCharge: 1000
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 25
- type: AmmoCounter
- type: entity
name: cobra
parent: BaseWeaponPistol
@@ -138,6 +175,7 @@
whitelist:
tags:
- MagazinePistolCaselessRifle
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgeCaselessRifle
@@ -208,6 +246,7 @@
whitelist:
tags:
- MagazineMagnum
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgeMagnum

View File

@@ -191,7 +191,7 @@
- type: entity
id: ProjectileIcicle
parent: BaseBullet
name: Icicle
name: icicle
description: Brrrrr.
noSpawn: true
components:

View File

@@ -129,11 +129,9 @@
volume: 2.25
- type: entity
name: Python
parent: WeaponRevolverPython
id: WeaponRevolverPythonAP # For the uplink.
suffix: armor-piercing
description: A robust revolver favoured by Syndicate agents. Uses .45 magnum ammo.
components:
- type: RevolverAmmoProvider
whitelist:

View File

@@ -36,6 +36,7 @@
whitelist:
tags:
- MagazineLightRifle
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgeLightRifle
@@ -81,6 +82,7 @@
whitelist:
tags:
- MagazineLightRifle
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgeLightRifle
@@ -124,6 +126,7 @@
whitelist:
tags:
- MagazineRifle
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgeRifle
@@ -170,6 +173,7 @@
whitelist:
tags:
- MagazineRifle
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgeRifle

View File

@@ -41,6 +41,7 @@
whitelist:
tags:
- MagazinePistolSubMachineGun
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgePistol
@@ -100,7 +101,7 @@
maxAngle: -16
- type: Gun
minAngle: 21
maxAngle: 32
maxAngle: 32
shotsPerBurst: 5
availableModes:
- SemiAuto
@@ -156,6 +157,7 @@
whitelist:
tags:
- MagazinePistolSubMachineGun
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgePistol
@@ -210,6 +212,7 @@
whitelist:
tags:
- CartridgeMagnum
whitelistFailPopup: gun-magazine-whitelist-fail
- type: MagazineVisuals
magState: mag
steps: 1
@@ -262,6 +265,7 @@
whitelist:
tags:
- MagazinePistolSubMachineGunTopMounted
whitelistFailPopup: gun-magazine-whitelist-fail
gun_chamber:
name: Chamber
startingItem: CartridgePistol

View File

@@ -85,6 +85,7 @@
whitelist:
tags:
- MagazineShotgun
whitelistFailPopup: gun-magazine-whitelist-fail
insertSound: /Audio/Weapons/Guns/MagIn/smg_magin.ogg
ejectSound: /Audio/Weapons/Guns/MagOut/smg_magout.ogg
- type: ContainerContainer

View File

@@ -81,26 +81,25 @@
temperature: 700
- type: entity
name: pen
name: energy dagger
parent: EnergySword
id: EnergyDagger
suffix: E-Dagger
description: 'A dark ink pen.'
id: EnergyDaggerLoud
description: A not as loud and dangerous dagger with a beam made of pure, concentrated plasma. This one is completely undisguised.
components:
- type: ItemToggle
soundActivate:
path: /Audio/Weapons/ebladeon.ogg
params:
volume: -6
volume: -3
soundDeactivate:
path: /Audio/Weapons/ebladeoff.ogg
params:
volume: -6
volume: -3
- type: ItemToggleMeleeWeapon
activatedSoundOnSwing:
path: /Audio/Weapons/eblademiss.ogg
params:
volume: -6
volume: -3
variation: 0.250
activatedDamage:
types:
@@ -111,14 +110,14 @@
activeSound:
path: /Audio/Weapons/ebladehum.ogg
params:
volume: -6
volume: -3
- type: ComponentToggler
components:
- type: Sharp
- type: DisarmMalus
malus: 0.4
- type: Sprite
sprite: Objects/Weapons/Melee/e_dagger.rsi
sprite: Objects/Weapons/Melee/e_dagger_loud.rsi
layers:
- state: e_sword
- state: e_sword_blade
@@ -135,7 +134,7 @@
Blunt: 1
- type: Item
size: Tiny
sprite: Objects/Weapons/Melee/e_dagger.rsi
sprite: Objects/Weapons/Melee/e_dagger_loud.rsi
- type: UseDelay
delay: 1.0
- type: PointLight
@@ -154,11 +153,45 @@
right:
- state: inhand-right-blade
shader: unshaded
- type: DisarmMalus
malus: 0
- type: entity
name: pen
parent: EnergyDaggerLoud
id: EnergyDagger
suffix: E-Dagger
description: 'A dark ink pen.'
components:
- type: ItemToggle
soundActivate:
path: /Audio/Weapons/ebladeon.ogg
params:
volume: -6
soundDeactivate:
path: /Audio/Weapons/ebladeoff.ogg
params:
volume: -6
- type: ItemToggleActiveSound
activeSound:
path: /Audio/Weapons/ebladehum.ogg
params:
volume: -6
- type: Sprite
sprite: Objects/Weapons/Melee/e_dagger.rsi
layers:
- state: e_sword
- state: e_sword_blade
color: "#FFFFFF"
visible: false
shader: unshaded
map: [ "blade" ]
- type: Item
size: Tiny
sprite: Objects/Weapons/Melee/e_dagger.rsi
- type: Tag
tags:
- Write
- type: DisarmMalus
malus: 0
- type: entity
parent: BaseItem
@@ -284,3 +317,12 @@
right:
- state: inhand-right-blade
shader: unshaded
- type: entity
suffix: One-Handed, For Borgs
parent: EnergySwordDouble
id: CyborgEnergySwordDouble # why is this invalid if ID is BorgEnergySwordDouble
description: Syndicate Command Interns thought that having one blade on the energy sword was not enough. Specially designed for syndicate cyborgs.
components: # could add energy-draining like the L6C
- type: Wieldable
freeHandsRequired: 0 # because borg has no off-hand to wield with. Without this, it will be unable to activate the esword

View File

@@ -12,6 +12,13 @@
damage:
types:
Piercing: 1
- type: DamageOtherOnHit
damage:
types:
Piercing: 1
- type: Item
size: Tiny
- type: BalloonPopper
- type: ThrowingAngle
angle: -135
- type: LandAtCursor

View File

@@ -5,7 +5,7 @@
description: Definition of a Classic. Keeping murder affordable since 200,000 BCE.
components:
- type: EmbeddableProjectile
offset: 0.15,0.15
offset: -0.15,0.0
- type: ThrowingAngle
angle: 225
- type: LandAtCursor

View File

@@ -20,7 +20,7 @@
- type: entity
parent: GrenadeBase
id: ClusterBangFull
name: ClusterBang
name: clusterbang
description: Launches three flashbangs after the timer runs out.
suffix: Full
components:

View File

@@ -121,7 +121,7 @@
volume: 12
- type: entity
name: Self Destruct
name: self destruct
description: Go out on your own terms!
parent: GrenadeBase
id: SelfDestructSeq

View File

@@ -1160,6 +1160,10 @@
suffix: External, Escape 3x4, Glass, Docking
components:
- type: GridFill
addComponents:
- type: IFF
flags:
- HideLabel
#HighSecDoors
- type: entity

View File

@@ -107,7 +107,7 @@
#plasma windoor assemblies
- type: entity
id: WindoorAssemblyPlasma
name: Plasma windoor assembly
name: plasma windoor assembly
description: It opens, it closes, and you can see through it! This one looks purp-, no, pink. Wait...
parent: WindoorAssembly
components:
@@ -137,7 +137,7 @@
- type: entity
id: WindoorAssemblySecurePlasma
name: Secure Plasma windoor assembly
name: secure plasma windoor assembly
description: It opens, it closes, and you can see through it! This one looks strong and pin-, no, purple. Hold on...
parent: WindoorAssembly
components:
@@ -169,7 +169,7 @@
#uranium windoor assemblies
- type: entity
id: WindoorAssemblyUranium
name: Uranium windoor assembly
name: uranium windoor assembly
description: It opens, it closes, and you can see through it! This one looks sickly green...
parent: WindoorAssembly
components:
@@ -199,7 +199,7 @@
- type: entity
id: WindoorAssemblySecureUranium
name: Secure Uranium windoor assembly
name: secure uranium windoor assembly
description: It opens, it closes, and you can see through it! This one looks strong and radioactive-lime-green!
parent: WindoorAssembly
components:

View File

@@ -1,13 +1,13 @@
- type: entity
id: Windoor
parent: BaseWindoor
name: Windoor
name: windoor
description: It's a window and a sliding door. Wow!
- type: entity
id: WindoorSecure
parent: BaseSecureWindoor
name: Secure Windoor
name: secure windoor
description: It's a sturdy window and a sliding door. Wow!
- type: entity
@@ -19,25 +19,25 @@
- type: entity
id: WindoorPlasma
parent: BasePlasmaWindoor
name: Plasma Windoor
name: plasma windoor
description: It's a pink window *and* a sliding door. Amazing!
- type: entity
id: WindoorSecurePlasma
parent: BaseSecurePlasmaWindoor
name: Secure Plasma Windoor
name: secure plasma windoor
description: It's a sturdy purple window *and* a sliding door. Spectacular!
- type: entity
id: WindoorUranium
parent: BaseUraniumWindoor
name: Uranium Windoor
name: uranium windoor
description: It's a window and a sliding door. Huh? Oh, and it's green!
- type: entity
id: WindoorSecureUranium
parent: BaseSecureUraniumWindoor
name: Secure Uranium Windoor
name: secure uranium windoor
description: It's a sturdy window and a sliding door. It's so neon green, it might even taste like limes!
# TODO remove these with parameterized prototypes/whatever we end up doing

View File

@@ -32,7 +32,7 @@
- type: entity
id: SS13Memorial
parent: BaseStructure
name: Tomb of the Unknown Employee
name: tomb of the unknown employee
description: |
Here rests an unknown employee
Unknown by name or rank

View File

@@ -56,6 +56,7 @@
SheetSteel1:
min: 1
max: 2
- type: AmbientOnPowered
- type: AmbientSound
volume: -9
range: 5

View File

@@ -48,6 +48,7 @@
min: 1
max: 2
- type: Appearance
- type: AmbientOnPowered
- type: AmbientSound
volume: -9
range: 5

View File

@@ -22,6 +22,12 @@
snapCardinals: true
layers:
- state: server
- type: AmbientOnPowered
- type: AmbientSound
volume: -9
range: 5
sound:
path: /Audio/Ambience/Objects/server_fans.ogg
- type: entity
parent: SurveillanceCameraRouterBase
@@ -104,6 +110,7 @@
subnetFrequency: SurveillanceCameraGeneral
- type: entity
abstract: true
parent: [ BaseMachinePowered, ConstructibleMachine ]
id: SurveillanceCameraWirelessRouterBase
name: wireless camera router
@@ -126,6 +133,12 @@
sprite: Structures/Machines/server.rsi
layers:
- state: server
- type: AmbientOnPowered
- type: AmbientSound
volume: -9
range: 5
sound:
path: /Audio/Ambience/Objects/server_fans.ogg
- type: entity
parent: SurveillanceCameraWirelessRouterBase

View File

@@ -21,6 +21,12 @@
True: { visible: true }
False: { visible: false }
- type: Appearance
- type: AmbientOnPowered
- type: AmbientSound
volume: -9
range: 5
sound:
path: /Audio/Ambience/Objects/server_fans.ogg
- type: WiresVisuals
- type: Physics
bodyType: Static

View File

@@ -25,3 +25,32 @@
- type: Tag
tags:
- SpreaderIgnore
- type: entity
id: AtmosDeviceFanDirectional
name: directional fan
description: A thin fan, stopping the movement of gases across it.
placement:
mode: SnapgridCenter
components:
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Sprite
sprite: Structures/Piping/Atmospherics/directionalfan.rsi
state: icon
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.48,-0.48,0.48,-0.40"
- type: Airtight
noAirWhenFullyAirBlocked: false
airBlockedDirection:
- South
- type: Clickable
- type: Tag
tags:
- SpreaderIgnore

View File

@@ -1,6 +1,6 @@
- type: entity
id: XenoWardingTower
name: Xeno warding tower
name: xeno warding tower
placement:
mode: SnapgridCenter
snap:

View File

@@ -1,9 +1,9 @@
- type: entity
parent: PosterBase
id: PosterMapMetaRight
name: "Meta Station Map"
name: "Meta Station map"
description: "A map of Meta Station. This looks really old."
components:
- type: Sprite
state: metamap64x
sprite: Structures/Wallmounts/metamap.rsi
sprite: Structures/Wallmounts/metamap.rsi

View File

@@ -108,6 +108,7 @@
- type: ActivatableUI
key: enum.SurveillanceCameraMonitorUiKey.Key
- type: ActivatableUIRequiresPower
- type: ActivatableUIRequiresVision
- type: UserInterface
interfaces:
enum.SurveillanceCameraMonitorUiKey.Key:
@@ -167,6 +168,7 @@
- type: ActivatableUI
key: enum.SurveillanceCameraMonitorUiKey.Key
- type: ActivatableUIRequiresPower
- type: ActivatableUIRequiresVision
- type: UserInterface
interfaces:
enum.SurveillanceCameraMonitorUiKey.Key:

View File

@@ -0,0 +1,475 @@
# Parents
- type: entity
abstract: true
id: ShelfBase
parent: BaseStructure
name: shelf
description: a strange place to place, well, anything really. You feel like you shouldn't be seeing this.'
components:
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Storage/Shelfs/wood.rsi
state: base
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.35,-0.35,0.35,0.35"
density: 35
layer:
- BulletImpassable
- type: Transform
- type: Damageable
damageModifierSet: Wood
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 60
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroyHeavy
- !type:DoActsBehavior
acts: ["Destruction"]
- type: WallMount
arc: 175
- type: Storage
grid:
- 0,0,3,1
- 0,3,3,4
maxItemSize: Normal
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: InteractionOutline
- type: ContainerContainer
containers:
storagebase: !type:Container
- type: Tag
tags:
- Structure
- type: entity
abstract: true
id: ShelfBaseReinforced
parent: ShelfBase
name: reinforced shelf
description: It looks as strong as reality itself.
components:
- type: Lock
- type: LockVisuals
- type: Sprite
sprite: Structures/Storage/Shelfs/wood.rsi
state: base
layers:
- state: rbase
map: ["enum.StorageVisualLayers.Base"]
- state: unlocked
shader: unshaded
# used to keep the unlocked light visible while open.
- state: closed
map: ["enum.StorageVisualLayers.Door"]
- state: locked
map: ["enum.LockVisualLayers.Lock"]
shader: unshaded
- type: Appearance
- type: EntityStorageVisuals
stateDoorOpen: open
stateDoorClosed: closed
- type: AccessReader
# Normal
- type: entity
id: ShelfWood
parent: ShelfBase
name: wooden shelf
description: A convenient place to place, well, anything really.
components:
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 60
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroyHeavy
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank1:
min: 1
max: 3
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Tag
tags:
- Structure
- Wooden
- type: Construction
graph: Shelf
node: ShelfWood
- type: entity
id: ShelfMetal
parent: ShelfBase
name: metal shelf
description: A sturdy place to place, well, anything really.
components:
- type: Sprite
sprite: Structures/Storage/Shelfs/metal.rsi
state: base
- type: Damageable
damageModifierSet: Metallic
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 120
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 2
max: 4
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Tag
tags:
- Structure
- type: Construction
graph: Shelf
node: ShelfMetal
- type: entity
id: ShelfGlass
parent: ShelfBase
name: glass shelf
description: A fragile place to place, well, anything really.
components:
- type: Sprite
sprite: Structures/Storage/Shelfs/glass.rsi
state: base
- type: Damageable
damageModifierSet: Glass
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WindowShatter
- !type:SpawnEntitiesBehavior
spawn:
ShardGlass:
min: 0
max: 2
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Tag
tags:
- Structure
- type: Construction
graph: Shelf
node: ShelfGlass
# Reinforced
- type: entity
id: ShelfRWood
parent: ShelfBaseReinforced
name: sturdy wood shelf
description: A safe place to put your favorite bottle of whiskey
components:
- type: Sprite
sprite: Structures/Storage/Shelfs/wood.rsi
state: base
layers:
- state: rbase
map: ["enum.StorageVisualLayers.Base"]
- state: closed
map: ["enum.StorageVisualLayers.Door"]
- state: locked
map: ["enum.LockVisualLayers.Lock"]
shader: unshaded
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 215
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroyHeavy
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank:
min: 2
max: 5
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Construction
graph: Shelf
node: ShelfRWood
- type: entity
id: ShelfRMetal
parent: ShelfBaseReinforced
name: sturdy metal shelf
description: A strong & shiny place to keep all your vials safe
components:
- type: Sprite
sprite: Structures/Storage/Shelfs/metal.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 450
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetPlasteel1:
min: 2
max: 3
ShardGlass:
min: 1
max: 2
PartRodMetal1:
min: 1
max: 2
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Construction
graph: Shelf
node: ShelfRMetal
- type: entity
id: ShelfRGlass
parent: ShelfBaseReinforced
name: sturdy glass shelf
description: Crystal clear reinforced glass doors to show off all your fancy bottles you definitely didn't sell a co-worker's favorite mothroach for.
components:
- type: Sprite
sprite: Structures/Storage/Shelfs/glass.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 250
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WindowShatter
- !type:SpawnEntitiesBehavior
spawn:
SheetPlastic1:
min: 1
max: 3
ShardGlass:
min: 1
max: 2
PartRodMetal1:
min: 0
max: 1
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Construction
graph: Shelf
node: ShelfRGlass
# Departmental
- type: entity
id: ShelfBar
parent: ShelfBase
name: bar shelf
description: Made out of the finest synthetic wood for all alcohol holding needs.
components:
- type: Sprite
sprite: Structures/Storage/Shelfs/Departments/Service/bar.rsi
state: base
layers:
- state: base
- state: bar-0
- map: ["enum.StorageFillLayers.Fill"]
- type: Appearance
- type: StorageFillVisualizer
maxFillLevels: 13
fillBaseName: bar
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroyHeavy
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank1:
min: 1
max: 4
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Storage
grid:
- 0,0,5,1
- 0,3,5,4
maxItemSize: Normal
whitelist:
tags:
- DrinkGlass
- DrinkBottle
- DrinkCan
- Beer
- type: Construction
graph: Shelf
node: ShelfBar
- type: entity
id: ShelfKitchen
parent: ShelfBase
name: cooking shelf
description: Holds knifes, spice, and everything nice!
components:
- type: Sprite
sprite: Structures/Storage/Shelfs/Departments/Service/kitchen.rsi
state: base
layers:
- state: base
- state: kitchen-0
- map: ["enum.StorageFillLayers.Fill"]
- type: Appearance
- type: StorageFillVisualizer
maxFillLevels: 13
fillBaseName: kitchen
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 4
MaterialWoodPlank1:
min: 0
max: 1
PartRodMetal1:
min: 0
max: 2
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Storage
grid:
- 0,0,5,1
- 0,3,5,4
maxItemSize: Normal
whitelist:
tags:
- DrinkGlass
- BoxCardboard
- MonkeyCube
- Enzyme
- Mayo
- Packet
- Cleaver
- Knife
- KitchenKnife
- RollingPin
- Ingredient
- Trash
- type: Construction
graph: Shelf
node: ShelfKitchen
- type: entity
id: ShelfChemistry
parent: ShelfBaseReinforced
name: chemical shelf
description: Keeps all your chemicals safe and out of the clow- er, public hands!
components:
- type: Sprite
sprite: Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi
layers:
- state: base
map: ["enum.StorageVisualLayers.Base"]
- state: unlocked
shader: unshaded
- state: chem-0
- map: ["enum.StorageFillLayers.Fill"]
- state: closed
map: ["enum.StorageVisualLayers.Door"]
- state: locked
map: ["enum.LockVisualLayers.Lock"]
shader: unshaded
- type: StorageFillVisualizer
maxFillLevels: 7
fillBaseName: chem
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 330
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetPlasteel1:
min: 1
max: 2
SheetPlastic1:
min: 1
max: 2
ShardGlass:
min: 1
max: 1
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Storage
grid:
- 0,0,5,1
- 0,3,5,4
maxItemSize: Normal
whitelist:
tags:
- ChemDispensable
- GlassBeaker
- Bottle
- type: Construction
graph: Shelf
node: ShelfChemistry
# Access presets
# Try to keep alphabetical sorting if adding more
- type: entity
parent: ShelfChemistry
id: ShelfChemistryChemistrySecure
suffix: Chemistry, Secure
components:
- type: AccessReader
access: [["Chemistry"]]

View File

@@ -1189,7 +1189,7 @@
- type: entity
id: WallInvisible
name: Invisible Wall
name: invisible wall
components:
- type: TimedDespawn
lifetime: 15

View File

@@ -54,3 +54,12 @@
collection: FootstepWater
params:
volume: 8
- type: StepTrigger
requiredTriggeredSpeed: 0
intersectRatio: 0.1
blacklist:
tags:
- Catwalk
- type: TileEntityEffect
effects:
- !type:ExtinguishReaction

View File

@@ -3,7 +3,7 @@
- type: entity
id: StrippingHiddenEntity
name: Hidden Entity
name: hidden entity
description: There is something in this pocket. #Or maybe they ar... nah... too obvious a joke.
noSpawn: true
components:

View File

@@ -1,7 +1,7 @@
- type: entity
id: BaseAsteroidDebris
parent: BaseDebris
name: Asteroid Debris
name: asteroid debris
abstract: true
components:
- type: MapGrid
@@ -57,7 +57,7 @@
- type: entity
id: AsteroidDebrisSmall
parent: BaseAsteroidDebris
name: Asteroid Debris Small
name: asteroid debris small
noSpawn: true
components:
- type: MapGrid
@@ -67,7 +67,7 @@
- type: entity
id: AsteroidDebrisMedium
parent: BaseAsteroidDebris
name: Asteroid Debris Medium
name: asteroid debris medium
noSpawn: true
components:
- type: MapGrid
@@ -77,7 +77,7 @@
- type: entity
id: AsteroidDebrisLarge
parent: BaseAsteroidDebris
name: Asteroid Debris Large
name: asteroid debris large
noSpawn: true
components:
- type: MapGrid
@@ -87,7 +87,7 @@
- type: entity
id: AsteroidDebrisLarger
parent: BaseAsteroidDebris
name: Asteroid Debris Larger
name: asteroid debris larger
noSpawn: true
components:
- type: MapGrid
@@ -98,7 +98,7 @@
- type: entity
id: AsteroidSalvageSmall
parent: BaseAsteroidDebris
name: Salvage Asteroid Small
name: salvage asteroid small
noSpawn: true
components:
- type: MapGrid
@@ -110,7 +110,7 @@
- type: entity
id: AsteroidSalvageMedium
parent: BaseAsteroidDebris
name: Salvage Asteroid Medium
name: salvage asteroid medium
noSpawn: true
components:
- type: MapGrid
@@ -122,7 +122,7 @@
- type: entity
id: AsteroidSalvageLarge
parent: BaseAsteroidDebris
name: Salvage Asteroid Large
name: salvage asteroid large
noSpawn: true
components:
- type: MapGrid
@@ -134,7 +134,7 @@
- type: entity
id: AsteroidSalvageHuge
parent: BaseAsteroidDebris
name: Salvage Asteroid Huge
name: salvage asteroid huge
noSpawn: true
components:
- type: MapGrid

View File

@@ -1,7 +1,7 @@
- type: entity
id: BaseScrapDebris
parent: BaseDebris
name: Scrap Debris
name: scrap debris
abstract: true
components:
- type: MapGrid
@@ -52,7 +52,7 @@
- type: entity
id: ScrapDebrisSmall
parent: BaseScrapDebris
name: Scrap Debris Small
name: scrap debris small
noSpawn: true
components:
- type: MapGrid
@@ -62,7 +62,7 @@
- type: entity
id: ScrapDebrisMedium
parent: BaseScrapDebris
name: Scrap Debris Medium
name: scrap debris medium
noSpawn: true
components:
- type: MapGrid
@@ -72,7 +72,7 @@
- type: entity
id: ScrapDebrisLarge
parent: BaseScrapDebris
name: Scrap Debris Large
name: scrap debris large
noSpawn: true
components:
- type: MapGrid

View File

@@ -1,7 +1,7 @@
- type: entity
id: WorldChunk
parent: MarkerBase
name: World Chunk
name: world chunk
description: |
It's rude to stare.
It's also a bit odd you're looking at the abstract representation of the grid of reality.

View File

@@ -73,7 +73,7 @@
parent: BaseGameRule
id: BaseNukeopsRule
components:
- type: RandomMetadata #this generates the random operation name cuz it's cool.
- type: RandomMetadata #this generates the random operation name cuz it's cool.
nameSegments:
- operationPrefix
- operationSuffix
@@ -95,7 +95,7 @@
- type: GameRule
minPlayers: 20
- type: LoadMapRule
gameMap: NukieOutpost
mapPath: /Maps/Nonstations/nukieplanet.yml
- type: AntagSelection
selectionTime: PrePlayerSpawn
definitions:

View File

@@ -1,6 +1,6 @@
- type: entity
- type: entity
id: ActionForceWall
name: Forcewall
name: forcewall
description: Creates a magical barrier.
components:
- type: InstantAction

View File

@@ -1,4 +1,4 @@
- type: gameMapPool
id: DefaultMapPool
maps:
- Dev
- Dev

View File

@@ -1 +1,62 @@
# Not used in CP14
- type: gameMap
id: Fland
mapName: 'Fland Installation'
mapPath: /Maps/fland.yml
minPlayers: 70
stations:
Fland:
stationProto: StandardNanotrasenStation
components:
- type: StationNameSetup
mapNameTemplate: '{0} Fland Installation {1}'
nameGenerator:
!type:NanotrasenNameGenerator
prefixCreator: 'B'
- type: StationEmergencyShuttle
emergencyShuttlePath: /Maps/Shuttles/emergency_delta.yml
- type: StationCargoShuttle
path: /Maps/Shuttles/cargo_fland.yml
- type: StationJobs
availableJobs:
#service
Captain: [ 1, 1 ]
HeadOfPersonnel: [ 1, 1 ]
Bartender: [ 2, 2 ]
Botanist: [ 3, 3 ]
Chef: [ 2, 2 ]
Janitor: [ 3, 3 ]
Chaplain: [ 1, 1 ]
Librarian: [ 1, 1 ]
ServiceWorker: [ 2, 2 ]
#engineering
ChiefEngineer: [ 1, 1 ]
AtmosphericTechnician: [ 3, 3 ]
StationEngineer: [ 5, 5 ]
TechnicalAssistant: [ 4, 4 ]
#medical
ChiefMedicalOfficer: [ 1, 1 ]
Chemist: [ 3, 3 ]
MedicalDoctor: [ 6, 6 ]
Paramedic: [ 2, 2 ]
MedicalIntern: [ 4, 4 ]
#science
ResearchDirector: [ 1, 1 ]
Scientist: [ 5, 5 ]
ResearchAssistant: [ 6, 6 ]
Borg: [ 2, 2 ]
#security
HeadOfSecurity: [ 1, 1 ]
Warden: [ 1, 1 ]
SecurityOfficer: [ 8, 8 ]
Detective: [ 1, 1 ]
SecurityCadet: [ 4, 4 ]
Lawyer: [ 2, 2 ]
#supply
Quartermaster: [ 1, 1 ]
SalvageSpecialist: [ 3, 3 ]
CargoTechnician: [ 4, 4 ]
#civilian
Passenger: [ -1, -1 ]
Clown: [ 1, 1 ]
Mime: [ 1, 1 ]
Musician: [ 1, 1 ]

View File

@@ -1 +1,63 @@
# Not used in CP14
- type: gameMap
id: Oasis
mapName: 'Oasis'
mapPath: /Maps/oasis.yml
minPlayers: 70
stations:
Oasis:
stationProto: StandardNanotrasenStation
components:
- type: StationNameSetup
mapNameTemplate: '{0} Oasis {1}'
nameGenerator:
!type:NanotrasenNameGenerator
prefixCreator: 'B'
- type: StationEmergencyShuttle
emergencyShuttlePath: /Maps/Shuttles/emergency_accordia.yml
- type: StationJobs
availableJobs:
#service
Captain: [ 1, 1 ]
HeadOfPersonnel: [ 1, 1 ]
Bartender: [ 2, 2 ]
Botanist: [ 2, 3 ]
Chef: [ 2, 2 ]
Janitor: [ 3, 3 ]
Chaplain: [ 1, 1 ]
Librarian: [ 1, 1 ]
ServiceWorker: [ 2, 2 ]
Zookeeper: [ 1, 1 ]
Reporter: [ 1, 1 ]
#engineering
ChiefEngineer: [ 1, 1 ]
AtmosphericTechnician: [ 3, 3 ]
StationEngineer: [ 5, 5 ]
TechnicalAssistant: [ 4, 4 ]
#medical
ChiefMedicalOfficer: [ 1, 1 ]
Chemist: [ 2, 2 ]
MedicalDoctor: [ 6, 6 ]
Paramedic: [ 2, 2 ]
MedicalIntern: [ 4, 4 ]
Psychologist: [ 1, 1 ]
#science
ResearchDirector: [ 1, 1 ]
Scientist: [ 5, 5 ]
ResearchAssistant: [ 6, 6 ]
Borg: [ 2, 2 ]
#security
HeadOfSecurity: [ 1, 1 ]
Warden: [ 1, 1 ]
SecurityOfficer: [ 8, 8 ]
Detective: [ 1, 1 ]
SecurityCadet: [ 4, 4 ]
Lawyer: [ 3, 3 ]
#supply
Quartermaster: [ 1, 1 ]
SalvageSpecialist: [ 3, 3 ]
CargoTechnician: [ 4, 4 ]
#civilian
Passenger: [ -1, -1 ]
Clown: [ 1, 1 ]
Mime: [ 1, 1 ]
Musician: [ 1, 1 ]

View File

@@ -1 +1,59 @@
# Not used in CP14
- type: gameMap
id: Packed
mapName: 'Packed'
mapPath: /Maps/packed.yml
minPlayers: 5
maxPlayers: 40
stations:
Packed:
stationProto: StandardNanotrasenStation
components:
- type: StationNameSetup
mapNameTemplate: '{0} Packed {1}'
nameGenerator:
!type:NanotrasenNameGenerator
prefixCreator: 'VG'
- type: StationJobs
availableJobs:
#service
Captain: [ 1, 1 ]
HeadOfPersonnel: [ 1, 1 ]
Bartender: [ 1, 1 ]
Botanist: [ 1, 2 ]
Chef: [ 1, 1 ]
Janitor: [ 1, 2 ]
Chaplain: [ 1, 1 ]
Librarian: [ 1, 1 ]
ServiceWorker: [ 2, 2 ]
#engineering
ChiefEngineer: [ 1, 1 ]
AtmosphericTechnician: [ 2, 2 ]
StationEngineer: [ 4, 4 ]
TechnicalAssistant: [ 3, 3 ]
#medical
ChiefMedicalOfficer: [ 1, 1 ]
Chemist: [ 2, 2 ]
MedicalDoctor: [ 3, 3 ]
MedicalIntern: [ 2, 2 ]
Paramedic: [ 1, 1 ]
#science
ResearchDirector: [ 1, 1 ]
Scientist: [ 4, 4 ]
ResearchAssistant: [ 2, 2 ]
#security
HeadOfSecurity: [ 1, 1 ]
Warden: [ 1, 1 ]
SecurityOfficer: [ 4, 4 ]
Detective: [ 1, 1 ]
SecurityCadet: [ 2, 2 ]
Lawyer: [ 1, 1 ]
#supply
Quartermaster: [ 1, 1 ]
SalvageSpecialist: [ 2, 2 ]
CargoTechnician: [ 2, 2 ]
#civilian
Passenger: [ -1, -1 ]
Clown: [ 1, 1 ]
Mime: [ 1, 1 ]
Musician: [ 1, 1 ]
Borg: [ 1 , 1 ]

View File

@@ -1 +1,60 @@
# Not used in CP14
- type: gameMap
id: Saltern
mapName: 'Saltern'
mapPath: /Maps/saltern.yml
minPlayers: 0
maxPlayers: 35
fallback: true
stations:
Saltern:
stationProto: StandardNanotrasenStation
components:
- type: StationNameSetup
mapNameTemplate: '{0} Saltern {1}'
nameGenerator:
!type:NanotrasenNameGenerator
prefixCreator: '14'
- type: StationJobs
availableJobs:
#service
Captain: [ 1, 1 ]
HeadOfPersonnel: [ 1, 1 ]
Bartender: [ 1, 1 ]
Botanist: [ 1, 2 ]
Chef: [ 1, 1 ]
Janitor: [ 1, 1 ]
Chaplain: [ 1, 1 ]
Librarian: [ 1, 1 ]
ServiceWorker: [ 2, 2 ]
#engineering
ChiefEngineer: [ 1, 1 ]
AtmosphericTechnician: [ 2, 2 ]
StationEngineer: [ 4, 4 ]
TechnicalAssistant: [ 4, 4 ]
#medical
ChiefMedicalOfficer: [ 1, 1 ]
Chemist: [ 2, 2 ]
MedicalDoctor: [ 3, 3 ]
MedicalIntern: [ 4, 4 ]
Paramedic: [ 1, 1 ]
#science
ResearchDirector: [ 1, 1 ]
Scientist: [ 4, 4 ]
ResearchAssistant: [ 2, 2 ]
Borg: [ 2, 2 ]
#security
HeadOfSecurity: [ 1, 1 ]
Warden: [ 1, 1 ]
Detective: [ 1, 1 ]
SecurityOfficer: [ 4, 4 ]
SecurityCadet: [ 4, 4 ]
#supply
Quartermaster: [ 1, 1 ]
SalvageSpecialist: [ 1, 3 ]
CargoTechnician: [ 2, 2 ]
#civillian
Passenger: [ -1, -1 ]
Clown: [ 1, 1 ]
Mime: [ 1, 1 ]
Musician: [ 1, 1 ]

View File

@@ -1,11 +0,0 @@
- type: gameMap
id: NukieOutpost
mapName: Nukie Outpost
mapPath: /Maps/Nonstations/nukieplanet.yml
minPlayers: 0
stations:
SyndicateOutpost:
stationProto: StandardNukieOutpost
components:
- type: StationNameSetup
mapNameTemplate: "Nukie Outpost"

View File

@@ -131,6 +131,7 @@
types:
Blunt: 0
- type: Item
- !type:RemoveAnchoredFilter
considerations:
- !type:TargetMeleeCon
curve: !type:QuadraticCurve

View File

@@ -1,7 +1,7 @@
# Markers
- type: entity
id: SalvageShuttleMarker
name: Salvage shuttle marker
name: salvage shuttle marker
parent: FTLPoint
# Biome mods -> at least 1 required

View File

@@ -7,19 +7,19 @@
- to: jumpsuit
steps:
- tag: BananaPeel
name: A Banana Peel
name: a banana peel
icon:
sprite: Objects/Specific/Hydroponics/banana.rsi
state: peel
doAfter: 1
- tag: BananaPeel
name: A Banana Peel
name: a banana peel
icon:
sprite: Objects/Specific/Hydroponics/banana.rsi
state: peel
doAfter: 1
- tag: BananaPeel
name: A Banana Peel
name: a banana peel
icon:
sprite: Objects/Specific/Hydroponics/banana.rsi
state: peel
@@ -28,7 +28,7 @@
amount: 1
doAfter: 1
- tag: ClownSuit
name: A Clown Suit
name: a clown suit
icon:
sprite: Clothing/Uniforms/Jumpsuit/clown.rsi
state: icon
@@ -45,19 +45,19 @@
- to: shoes
steps:
- tag: BananaPeel
name: A Banana Peel
name: a banana peel
icon:
sprite: Objects/Specific/Hydroponics/banana.rsi
state: peel
doAfter: 1
- tag: BananaPeel
name: A Banana Peel
name: a banana peel
icon:
sprite: Objects/Specific/Hydroponics/banana.rsi
state: peel
doAfter: 1
- tag: BananaPeel
name: A Banana Peel
name: a banana peel
icon:
sprite: Objects/Specific/Hydroponics/banana.rsi
state: peel
@@ -66,7 +66,7 @@
amount: 1
doAfter: 1
- tag: ClownShoes
name: Clown Shoes
name: clown shoes
icon:
sprite: Clothing/Shoes/Specific/clown.rsi
state: icon
@@ -83,19 +83,19 @@
- to: mask
steps:
- tag: BananaPeel
name: A Banana Peel
name: a banana peel
icon:
sprite: Objects/Specific/Hydroponics/banana.rsi
state: peel
doAfter: 1
- tag: BananaPeel
name: A Banana Peel
name: a banana peel
icon:
sprite: Objects/Specific/Hydroponics/banana.rsi
state: peel
doAfter: 1
- tag: BananaPeel
name: A Banana Peel
name: a banana peel
icon:
sprite: Objects/Specific/Hydroponics/banana.rsi
state: peel
@@ -104,7 +104,7 @@
amount: 1
doAfter: 1
- tag: ClownMask
name: A Clown Mask
name: a clown mask
icon:
sprite: Clothing/Mask/clown.rsi
state: icon

View File

@@ -1,4 +1,4 @@
- type: constructionGraph
- type: constructionGraph
id: ClownHardsuit
start: start
graph:
@@ -10,13 +10,13 @@
amount: 5
doAfter: 1
- tag: SuitEVA
name: An EVA suit
name: an EVA suit
icon:
sprite: Clothing/OuterClothing/Suits/eva.rsi
state: icon
doAfter: 1
- tag: HelmetEVA
name: An EVA helmet
name: an EVA helmet
icon:
sprite: Clothing/Head/Helmets/eva.rsi
state: icon

View File

@@ -10,13 +10,13 @@
amount: 5
doAfter: 1
- tag: SuitEVA
name: An EVA suit
name: an EVA suit
icon:
sprite: Clothing/OuterClothing/Suits/eva.rsi
state: icon
doAfter: 1
- tag: HelmetEVA
name: An EVA helmet
name: an EVA helmet
icon:
sprite: Clothing/Head/Helmets/eva.rsi
state: icon

View File

@@ -7,7 +7,7 @@
- to: bananiumHorn
steps:
- tag: Pipe
name: Pipe
name: pipe
icon:
sprite: Structures/Piping/Atmospherics/pipe.rsi
state: pipeStraight
@@ -16,7 +16,7 @@
amount: 4
doAfter: 1
- tag: BikeHorn
name: Bike Horn
name: bike horn
icon:
sprite: Objects/Fun/bikehorn.rsi
state: icon

View File

@@ -0,0 +1,268 @@
- type: constructionGraph
id: Shelf
start: start
graph:
- node: start
actions:
- !type:DeleteEntity {}
edges:
# Normal
- to: ShelfWood
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: WoodPlank
amount: 4
doAfter: 2
- to: ShelfMetal
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: Steel
amount: 5
doAfter: 3
- to: ShelfGlass
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: Glass
amount: 4
doAfter: 2
# Reinforced
- to: ShelfRWood
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: WoodPlank
amount: 8
doAfter: 3
- material: Cable
amount: 2
doAfter: 1
- to: ShelfRMetal
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: Plasteel
amount: 5
doAfter: 3
- material: ReinforcedGlass
amount: 5
doAfter: 2
- material: Cable
amount: 3
doAfter: 1
- to: ShelfRGlass
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: Plastic
amount: 5
doAfter: 2
- material: ReinforcedGlass
amount: 5
doAfter: 3
- material: Cable
amount: 2
doAfter: 1
# Departmental
- to: ShelfBar
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: WoodPlank
amount: 6
doAfter: 2
- to: ShelfKitchen
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: MetalRod
amount: 2
doAfter: 1
- material: Steel
amount: 5
- material: WoodPlank
amount: 3
doAfter: 2
- to: ShelfChemistry
completed:
- !type:SnapToGrid
southRotation: true
steps:
- material: Plasteel
amount: 2
doAfter: 2
- material: ReinforcedGlass
amount: 5
doAfter: 2
- material: Plastic
amount: 5
doAfter: 2
- material: Cable
amount: 2
doAfter: 1
# Normal deconstructs
- node: ShelfWood
entity: ShelfWood
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
amount: 4
steps:
- tool: Prying
doAfter: 2
- node: ShelfMetal
entity: ShelfMetal
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 5
steps:
- tool: Screwing
doAfter: 5
- node: ShelfGlass
entity: ShelfGlass
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetGlass1
amount: 4
steps:
- tool: Screwing
doAfter: 2
# Reinforced deconstructs
- node: ShelfRWood
entity: ShelfRWood
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
amount: 8
- !type:SpawnPrototype
prototype: CableApcStack1
amount: 2
steps:
- tool: Screwing
doAfter: 5
- tool: Prying
doAfter: 2
- node: ShelfRMetal
entity: ShelfRMetal
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetPlasteel1
amount: 5
- !type:SpawnPrototype
prototype: SheetRGlass1
amount: 5
- !type:SpawnPrototype
prototype: CableApcStack1
amount: 3
steps:
- tool: Screwing
doAfter: 2
- tool: Welding
doAfter: 5
- node: ShelfRGlass
entity: ShelfRGlass
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetPlastic1
amount: 5
- !type:SpawnPrototype
prototype: SheetRGlass1
amount: 5
- !type:SpawnPrototype
prototype: CableApcStack1
amount: 2
steps:
- tool: Welding
doAfter: 2
- tool: Screwing
doAfter: 4
# Departmental deconstructs
- node: ShelfBar
entity: ShelfBar
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
amount: 6
steps:
- tool: Prying
doAfter: 3
- node: ShelfKitchen
entity: ShelfKitchen
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: PartRodMetal
amount: 2
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 5
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
amount: 3
steps:
- tool: Screwing
doAfter: 2
- tool: Welding
doAfter: 2
- tool: Prying
doAfter: 1
- node: ShelfChemistry
entity: ShelfChemistry
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetPlasteel1
amount: 2
- !type:SpawnPrototype
prototype: SheetPlastic1
amount: 5
- !type:SpawnPrototype
prototype: SheetRGlass1
amount: 5
- !type:SpawnPrototype
prototype: CableApcStack1
amount: 2
steps:
- tool: Welding
doAfter: 2
- tool: Screwing
doAfter: 1
- tool: Anchoring
doAfter: 2
- tool: Prying
doAfter: 4

View File

@@ -1,4 +1,4 @@
- type: constructionGraph
- type: constructionGraph
id: BlastDoor
start: start
graph:
@@ -47,7 +47,7 @@
steps:
- tag: DoorElectronics
store: board
name: Door Electronics
name: door electronics
icon:
sprite: "Objects/Misc/module.rsi"
state: "door_electronics"

View File

@@ -1,4 +1,4 @@
- type: constructionGraph
- type: constructionGraph
id: Firelock
start: start
graph:
@@ -50,7 +50,7 @@
steps:
- tag: FirelockElectronics
store: board
name: Firelock Electronics
name: firelock electronics
icon:
sprite: "Objects/Misc/module.rsi"
state: "mainboard"

View File

@@ -1,4 +1,4 @@
- type: constructionGraph
- type: constructionGraph
id: GlassBox
start: start
graph:
@@ -42,7 +42,7 @@
- !type:EntityAnchored
steps:
- tag: SignalTrigger
name: a Signal Trigger
name: a signal trigger
icon:
sprite: Objects/Devices/signaltrigger.rsi
state: signaltrigger

View File

@@ -1,4 +1,4 @@
- type: constructionGraph
- type: constructionGraph
id: Shutters
start: start
graph:
@@ -45,7 +45,7 @@
anchored: true
steps:
- component: DoorElectronics
name: Door Electronics
name: door electronics
icon:
sprite: "Objects/Misc/module.rsi"
state: "door_electronics"

View File

@@ -1,4 +1,4 @@
- type: constructionGraph
- type: constructionGraph
id: DisposalMachine
start: start
graph:
@@ -64,7 +64,7 @@
- to: frame_mailing
steps:
- tag: MailingUnitElectronics
name: Mailing Unit Electronics
name: mailing unit electronics
icon:
sprite: "Objects/Misc/module.rsi"
state: "net_wired"

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