This commit is contained in:
2026-01-24 16:34:15 -05:00
commit c23bf51490
3996 changed files with 657568 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
- type: entity
id: ActionLightEater
name: Light Eater
description: Ash or disable every light that you hit with your arm blade.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 2
itemIconStyle: NoItem
icon:
sprite: _EinsteinEngines/Nightmare/nightmare_abilities.rsi
state: light_eater
- type: InstantAction
event: !type:ToggleLightEaterEvent {}

View File

@@ -0,0 +1,13 @@
- type: entity
id: ActionSelfExtinguish
name: Self-Extinguish
description: Extinguishes you if you are on fire and insulated against self-ignition.
categories: [ HideSpawnMenu ]
components:
- type: Action
itemIconStyle: BigItem
icon:
sprite: Objects/Misc/fire_extinguisher.rsi
state: fire_extinguisher_open
- type: InstantAction
event: !type:SelfExtinguishEvent

View File

@@ -0,0 +1,17 @@
- type: alert
id: LowPlasma
category: Breathing
icons:
- sprite: /Textures/Interface/Alerts/breathing.rsi
state: not_enough_tox
name: alerts-low-plasma-name
description: alerts-low-plasma-desc
- type: alert
id: HighOxygen
category: Breathing
icons:
- sprite: /Textures/Interface/Alerts/breathing.rsi
state: too_much_oxy
name: alerts-high-oxygen-name
description: alerts-high-oxygen-desc

View File

@@ -0,0 +1,95 @@
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: BaseIPCOrgan
parent: BaseItem
abstract: true
components:
- type: Sprite
netsync: false
sprite: _EinsteinEngines/Mobs/Species/IPC/organs.rsi
- type: Organ
# - type: Food
# - type: Extractable
# grindableSolutionName: organ
- type: SolutionContainerManager
solutions:
organ:
reagents:
- ReagentId: Oil
Quantity: 10
- type: entity
id: OrganIPCEyes
parent: BaseIPCOrgan
name: robotic eyes
description: "01001001 00100000 01110011 01100101 01100101 00100000 01111001 01101111 01110101 00100001"
components:
- type: Sprite
layers:
- state: eyeball-l
- state: eyeball-r
- type: Organ
slotId: eyes
- type: Eyes
- type: Tag
tags:
- Organ
- Eyes
- type: entity
id: OrganIPCTongue
parent: BaseIPCOrgan
name: vocal modulator
description: "A vocal modulator, used to produce speech."
components:
- type: Sprite
state: tongue
- type: Organ
- type: Tag
tags:
- Organ
- Tongue
- type: entity
id: OrganIPCEars
parent: BaseIPCOrgan
name: "sonic receptors"
description:
components:
- type: Sprite
state: ears
- type: Organ
- type: entity
id: OrganIPCPump
parent: BaseIPCOrgan
name: micro pump
description: "A micro pump, used to circulate coolant."
components:
- type: Sprite
state: heart-on
- type: Organ
slotId: pump
- type: Heart
- type: Tag
tags:
- Organ
- Heart
# The heart 'metabolizes' medicines and poisons that aren't filtered out by other organs.
# This is done because these chemicals need to have some effect even if they aren't being filtered out of your body.
# You're technically 'immune to poison' without a heart, but.. uhh, you'll have bigger problems on your hands.
# This is fine?
# - type: Metabolizer
# maxPoisonsProcessable: 2
# metabolizerTypes: [Human]
# groups:
# - id: Medicine
# - id: Poison
# - id: Narcotic

View File

@@ -0,0 +1,150 @@
- type: entity
id: BasePlasmamanOrgan
abstract: true
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Plasmaman/organs.rsi
- type: SolutionContainerManager
solutions:
organ:
reagents:
- ReagentId: Nutriment
Quantity: 5 # Not very nutritious
- ReagentId: Plasma
Quantity: 2.5
food:
maxVol: 5
reagents:
- ReagentId: Plasma
Quantity: 5
- type: Extractable
grindableSolutionName: food
juiceSolution:
reagents:
- ReagentId: Plasma
Quantity: 5
- type: FlavorProfile
flavors:
- plasma
- type: entity
id: OrganPlasmamanLungs
parent: [ BasePlasmamanOrgan, OrganHumanLungs ]
name: plasmaman lungs
description: The lungs yearn for the plasma. Only plasma gas can satiate these lungs, and oxygen is lethally toxic.
components:
- type: Sprite
layers:
- state: lungs
- type: Metabolizer
metabolizerTypes: [ Plasmaman ]
- type: Lung
alert: LowPlasma
- type: SolutionContainerManager
solutions:
organ:
reagents:
- ReagentId: Nutriment
Quantity: 5
- ReagentId: Plasma
Quantity: 2.5
Lung:
maxVol: 100.0
canReact: false
food:
maxVol: 5
reagents:
- ReagentId: Plasma
Quantity: 5
- type: entity
id: OrganPlasmamanStomach
parent: [ BasePlasmamanOrgan, OrganHumanStomach ]
name: plasmaman stomach
description: Why do plasmamen have stomachs if they don't need to eat?
components:
- type: Metabolizer
metabolizerTypes: [ Plasmaman ]
- type: SolutionContainerManager
solutions:
organ:
reagents:
- ReagentId: Nutriment
Quantity: 8
- ReagentId: Plasma
Quantity: 4
stomach:
maxVol: 50
food:
maxVol: 8
reagents:
- ReagentId: Plasma
Quantity: 8
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Plasma
Quantity: 8
- type: entity
id: OrganPlasmamanEyes
parent: [ BasePlasmamanOrgan, OrganHumanEyes ]
name: plasmaman eyes
components:
- type: Sprite
layers:
- state: eyes
- type: entity
id: OrganPlasmamanLiver
parent: [ BasePlasmamanOrgan, OrganHumanLiver ]
name: plasmaman liver
components:
- type: Metabolizer
metabolizerTypes: [ Plasmaman ]
- type: entity
id: OrganPlasmamanTongue
parent: [ BasePlasmamanOrgan, OrganHumanTongue ]
name: plasmaman tongue
- type: entity
id: OrganPlasmamanKidneys
parent: [ BasePlasmamanOrgan, OrganHumanKidneys ]
name: plasmaman kidneys
components:
- type: Sprite
layers:
- state: kidneys
- type: Metabolizer
metabolizerTypes: [ Plasmaman ]
- type: entity
id: OrganPlasmamanHeart
parent: [ BasePlasmamanOrgan, OrganHumanHeart ]
name: plasmaman heart
description: It pulses with plasma even outside the body.
components:
- type: Metabolizer
metabolizerTypes: [ Plasmaman ]
- type: entity
id: OrganPlasmamanBrain
parent: [ BasePlasmamanOrgan, OrganHumanBrain ]
name: plasmaman brain
components:
- type: SolutionContainerManager
solutions:
organ:
reagents:
- ReagentId: Nutriment
Quantity: 5
- ReagentId: Plasma
Quantity: 2.5
food:
maxVol: 10
reagents:
- ReagentId: GreyMatter
Quantity: 5
- ReagentId: Plasma
Quantity: 5

View File

@@ -0,0 +1,175 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Roudenn <romabond091@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: OrganShadowkinBrain
parent: OrganHumanBrain
description: "Oops, I should put this back where I found it."
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
state: brain
- type: entity
id: OrganShadowkinEyes
parent: OrganHumanEyes
description: "I see beyond anything you ever will!"
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
layers:
- state: eyes
- type: Organ
onAdd:
- type: NightVision # Goobstation - Nightvision
color: Gray
activateSound: null
deactivateSound: null
- type: FlashVulnerable # There are downsides.
- type: entity
id: OrganShadowkinEars
parent: OrganHumanEars
description: "Hey, listen!"
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
state: ears
- type: entity
id: OrganShadowkinCore
parent: OrganHumanLungs
description: "What is this thing?"
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
layers:
- state: core
- type: entity
id: OrganShadowkinTongue
parent: OrganHumanTongue
description: "What does this do again?"
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
state: tongue
- type: entity
id: OrganShadowkinAppendix
parent: OrganHumanAppendix
description: "I think it does nothing..."
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
layers:
- state: appendix
- type: entity
id: OrganShadowkinHeart
parent: OrganHumanHeart
description: "Oops, I think this belongs to someone!"
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
state: heart
- type: Metabolizer
metabolizerTypes: [Shadowkin]
groups:
- id: Medicine
- id: Poison
- id: Narcotic
- type: Tag # goob edit
tags:
- Meat
- Organ
- Heart
- type: entity
id: OrganShadowkinStomach
parent: OrganHumanStomach
description: '"Yummy!", says the stomach, although you are unable to hear it.'
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
state: stomach
- type: SolutionContainerManager
solutions:
stomach:
maxVol: 40
food:
maxVol: 5
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 5
- type: Metabolizer
metabolizerTypes: [Shadowkin]
groups:
- id: Food
- id: Drink
- type: FoodSequenceElement
sprite:
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
state: stomach
entries:
burger:
name: food-sequence-content-stomach
taco:
name: food-sequence-content-stomach
- type: Tag # goob edit
tags:
- Meat
- Organ
- Stomach
- type: entity
id: OrganShadowkinLiver
parent: OrganHumanLiver
description: "Live 'er? I hardly know 'er!"
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
state: liver
- type: Metabolizer
metabolizerTypes: [Shadowkin]
groups:
- id: Alcohol
rateModifier: 0.1
- type: FoodSequenceElement
sprite:
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
state: liver
entries:
burger:
name: food-sequence-content-liver
taco:
name: food-sequence-content-liver
- type: Tag # goob edit
tags:
- Meat
- Organ
- Liver
- type: entity
id: OrganShadowkinKidneys
parent: OrganHumanKidneys
description: "Give the kid their knees back, please, this is the third time this week."
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/organs.rsi
layers:
- state: kidneys
- type: Metabolizer
metabolizerTypes: [Shadowkin]
removeEmpty: true
- type: Tag # goob edit
tags:
- Meat
- Organ
- Kidneys

View File

@@ -0,0 +1,109 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 portfiend <109661617+portfiend@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
abstract: true
parent: BasePartInorganic
id: PartIPCBase
name: "ipc body part"
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/IPC/parts.rsi
- type: Icon
sprite: _EinsteinEngines/Mobs/Species/IPC/parts.rsi
- type: Damageable
damageContainer: SiliconRadiation
damageModifierSet: IPC
- type: WoundableVisuals
thresholds: [ 10, 20, 30, 50, 70, 100 ]
damageOverlayGroups:
Brute:
sprite: _Shitmed/Mobs/Effects/brute_damage.rsi
color: "#DD8822"
Burn:
sprite: _Shitmed/Mobs/Effects/burn_damage.rsi
bleedingOverlay: null
- type: Nerve
- type: Boneless # Goob Edit
bonePenalty: 1
- type: entity
parent: [ PartIPCBase, BaseChestInorganic ]
id: ChestIPC
name: "ipc chest"
components:
- type: BodyPart
organs:
posbrain:
id: "posbrain"
pump:
id: "pump"
- type: entity
parent: [ PartIPCBase, BaseGroinInorganic ]
id: GroinIPC
name: "ipc groin"
- type: entity
parent: [ PartIPCBase, BaseHead ]
id: HeadIPC
name: "ipc head"
components:
- type: BodyPart
organs: # posibrain is stored in the torso
eyes:
id: "eyes"
- type: entity
parent: [ PartIPCBase, BaseLeftArm ]
id: LeftArmIPC
name: "left ipc arm"
- type: entity
parent: [ PartIPCBase, BaseRightArm ]
id: RightArmIPC
name: "right ipc arm"
- type: entity
parent: [ PartIPCBase, BaseLeftHand ]
id: LeftHandIPC
name: "left ipc hand"
- type: entity
parent: [ PartIPCBase, BaseRightHand ]
id: RightHandIPC
name: "right ipc hand"
- type: entity
parent: [ PartIPCBase, BaseLeftLeg ]
id: LeftLegIPC
name: "left ipc leg"
- type: entity
parent: [ PartIPCBase, BaseRightLeg ]
id: RightLegIPC
name: "right ipc leg"
- type: entity
parent: [ PartIPCBase, BaseLeftFoot ]
id: LeftFootIPC
name: "left ipc foot"
- type: entity
parent: [ PartIPCBase, BaseRightFoot ]
id: RightFootIPC
name: "right ipc foot"

View File

@@ -0,0 +1,158 @@
# TODO: Add descriptions (many)
# TODO BODY: Part damage
- type: entity
id: PartPlasmaman
parent: [BaseItem, BasePart]
name: plasmaman body part
abstract: true
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Plasmaman/parts.rsi
- type: Butcherable
butcheringType: Knife
butcherDelay: 4.0
spawned:
- id: SheetPlasma1
amount: 1
- type: IgniteFromGasPart
gas: Oxygen
- type: WoundableVisuals
thresholds: [ 10, 20, 30, 50, 70, 100 ]
damageOverlayGroups:
Brute:
sprite: _Shitmed/Mobs/Effects/brute_damage.rsi
color: "#743474"
Burn:
sprite: _Shitmed/Mobs/Effects/burn_damage.rsi
- type: Damageable # Shitmed
damageModifierSet: Plasmaman
- type: entity
id: ChestPlasmaman
name: plasmaman chest
parent: [PartPlasmaman, BaseChest]
components:
- type: Sprite
state: chest_m
- type: Butcherable
butcherDelay: 6.0
spawned:
- id: SheetPlasma1
amount: 3
- type: IgniteFromGasPart
fireStacks: 0.06
- type: entity
id: GroinPlasmaman
name: plasmaman groin
parent: [PartPlasmaman, BaseGroin]
components:
- type: Sprite
state: groin_m
- type: Butcherable
butcherDelay: 6.0
spawned:
- id: SheetPlasma1
amount: 3
- type: IgniteFromGasPart
fireStacks: 0.06
- type: entity
id: HeadPlasmaman
name: plasmaman head
parent: [PartPlasmaman, BaseHead]
components:
- type: Sprite
state: head_m
- type: Butcherable
butcherDelay: 5.0
- type: IgniteFromGasPart
fireStacks: 0.02
- type: entity
id: LeftArmPlasmaman
name: left plasmaman arm
parent: [PartPlasmaman, BaseLeftArm]
components:
- type: Sprite
state: l_arm
- type: IgniteFromGasPart
fireStacks: 0.02
- type: entity
id: RightArmPlasmaman
name: right plasmaman arm
parent: [PartPlasmaman, BaseRightArm]
components:
- type: Sprite
state: r_arm
- type: IgniteFromGasPart
fireStacks: 0.02
- type: entity
id: LeftHandPlasmaman
name: left plasmaman hand
parent: [PartPlasmaman, BaseLeftHand]
components:
- type: Sprite
state: l_hand
- type: Butcherable
butcherDelay: 3.0
- type: IgniteFromGasPart
fireStacks: 0.01
- type: entity
id: RightHandPlasmaman
name: right plasmaman hand
parent: [PartPlasmaman, BaseRightHand]
components:
- type: Sprite
state: r_hand
- type: Butcherable
butcherDelay: 3.0
- type: IgniteFromGasPart
fireStacks: 0.01
- type: entity
id: LeftLegPlasmaman
name: left plasmaman leg
parent: [PartPlasmaman, BaseLeftLeg]
components:
- type: Sprite
state: l_leg
- type: IgniteFromGasPart
fireStacks: 0.02
- type: entity
id: RightLegPlasmaman
name: right plasmaman leg
parent: [PartPlasmaman, BaseRightLeg]
components:
- type: Sprite
state: r_leg
- type: IgniteFromGasPart
fireStacks: 0.02
- type: entity
id: LeftFootPlasmaman
name: left plasmaman foot
parent: [PartPlasmaman, BaseLeftFoot]
components:
- type: Sprite
state: l_foot
- type: Butcherable
butcherDelay: 3.0
- type: IgniteFromGasPart
fireStacks: 0.01
- type: entity
id: RightFootPlasmaman
name: right plasmaman foot
parent: [PartPlasmaman, BaseRightFoot]
components:
- type: Sprite
state: r_foot
- type: Butcherable
butcherDelay: 3.0
- type: IgniteFromGasPart
fireStacks: 0.01

View File

@@ -0,0 +1,117 @@
- type: entity
id: PartShadow
parent: PartHuman
abstract: true
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadow/parts.rsi
state: "chest_m"
- type: BodyPart
species: Shadow
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Nutriment
Quantity: 5
- ReagentId: FluorosulfuricAcid
Quantity: 10
- type: entity
id: ChestShadow
name: "Shadow chest"
parent: [BaseChest, PartShadow]
components:
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Nutriment
Quantity: 10
- ReagentId: FluorosulfuricAcid
Quantity: 20
- type: entity
id: GroinShadow
name: "Shadow groin"
parent: [BaseGroin, PartShadow]
components:
- type: Sprite
state: "groin_m"
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Nutriment
Quantity: 10
- ReagentId: FluorosulfuricAcid
Quantity: 20
- type: entity
id: HeadShadow
name: "Shadow head"
parent: [BaseHead, PartShadow]
components:
- type: Sprite
state: "head_m"
- type: entity
id: LeftArmShadow
name: "left Shadow arm"
parent: [BaseLeftArm, PartShadow]
components:
- type: Sprite
state: "l_arm"
- type: entity
id: RightArmShadow
name: "right Shadow arm"
parent: [BaseRightArm, PartShadow]
components:
- type: Sprite
state: "r_arm"
- type: entity
id: LeftHandShadow
name: "left Shadow hand"
parent: [BaseLeftHand, PartShadow]
components:
- type: Sprite
state: "l_hand"
- type: entity
id: RightHandShadow
name: "right Shadow hand"
parent: [BaseRightHand, PartShadow]
components:
- type: Sprite
state: "r_hand"
- type: entity
id: LeftLegShadow
name: "left Shadow leg"
parent: [BaseLeftLeg, PartShadow]
components:
- type: Sprite
state: "l_leg"
- type: entity
id: RightLegShadow
name: "right Shadow leg"
parent: [BaseRightLeg, PartShadow]
components:
- type: Sprite
state: "r_leg"
- type: entity
id: LeftFootShadow
name: "left Shadow foot"
parent: [BaseLeftFoot, PartShadow]
components:
- type: Sprite
state: "l_foot"
- type: entity
id: RightFootShadow
name: "right Shadow foot"
parent: [BaseRightFoot, PartShadow]
components:
- type: Sprite
state: "r_foot"

View File

@@ -0,0 +1,160 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Roudenn <romabond091@gmail.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: PartShadowkin
parent: [BaseItem, BasePart]
name: "Shadowkin body part"
abstract: true
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/parts.rsi
state: "chest_m"
- type: Icon
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/parts.rsi
state: "chest_m"
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 3
- ReagentId: BlackBlood # Goob Edit
Quantity: 10
- type: Damageable
damageContainer: Biological # Shadowkin
damageModifierSet: Shadowkin
- type: entity
id: ChestShadowkin
name: "Shadowkin chest"
parent: [PartShadowkin, BaseChest]
components:
- type: Sprite
state: "chest_m"
- type: Icon
state: "chest_m"
- type: Extractable # Goob edit start
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 10
- ReagentId: BlackBlood
Quantity: 20 # Goob edit end
- type: entity
id: GroinShadowkin
name: "Shadowkin groin"
parent: [PartShadowkin, BaseGroin]
components:
- type: Sprite
state: "groin_m"
- type: Icon
state: "groin_m"
- type: Extractable # Goob edit start
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 10
- ReagentId: BlackBlood
Quantity: 20 # Goob edit end
- type: entity
id: HeadShadowkin
name: "Shadowkin head"
parent: [PartShadowkin, BaseHead]
components:
- type: Sprite
state: "head_m"
- type: Icon
state: "head_m"
- type: Extractable # Goob edit start
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 5
- ReagentId: BlackBlood
Quantity: 20 # Goob edit end
- type: entity
id: LeftArmShadowkin
name: "left Shadowkin arm"
parent: [PartShadowkin, BaseLeftArm]
components:
- type: Sprite
state: "l_arm"
- type: Icon
state: "l_arm"
- type: entity
id: RightArmShadowkin
name: "right Shadowkin arm"
parent: [PartShadowkin, BaseRightArm]
components:
- type: Sprite
state: "r_arm"
- type: Icon
state: "r_arm"
- type: entity
id: LeftHandShadowkin
name: "left Shadowkin hand"
parent: [PartShadowkin, BaseLeftHand]
components:
- type: Sprite
state: "l_hand"
- type: Icon
state: "l_hand"
- type: entity
id: RightHandShadowkin
name: "right Shadowkin hand"
parent: [PartShadowkin, BaseRightHand]
components:
- type: Sprite
state: "r_hand"
- type: Icon
state: "r_hand"
- type: entity
id: LeftLegShadowkin
name: "left Shadowkin leg"
parent: [PartShadowkin, BaseLeftLeg]
components:
- type: Sprite
state: "l_leg"
- type: Icon
state: "l_leg"
- type: entity
id: RightLegShadowkin
name: "right Shadowkin leg"
parent: [PartShadowkin, BaseRightLeg]
components:
- type: Sprite
state: "r_leg"
- type: Icon
state: "r_leg"
- type: entity
id: LeftFootShadowkin
name: "left Shadowkin foot"
parent: [PartShadowkin, BaseLeftFoot]
components:
- type: Sprite
state: "l_foot"
- type: Icon
state: "l_foot"
- type: entity
id: RightFootShadowkin
name: "right Shadowkin foot"
parent: [PartShadowkin, BaseRightFoot]
components:
- type: Sprite
state: "r_foot"
- type: Icon
state: "r_foot"

View File

@@ -0,0 +1,110 @@
- type: entity
id: PartShadowling
parent: PartHuman
abstract: true
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Species/Shadowling/parts.rsi
state: "chest_m"
- type: BodyPart
species: Shadowling
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Nutriment
Quantity: 5
- ReagentId: FluorosulfuricAcid
Quantity: 10
- type: entity
id: ChestShadowling
name: "Shadowling chest"
parent: [BaseChest, PartShadowling]
components:
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Nutriment
Quantity: 10
- ReagentId: FluorosulfuricAcid
Quantity: 20
- type: entity
id: GroinShadowling
name: "Shadowling groin"
parent: [BaseGroin, PartShadowling]
components:
- type: Sprite
state: "groin_m"
- type: entity
id: HeadShadowling
name: "Shadowling head"
parent: [BaseHead, PartShadowling]
components:
- type: Sprite
state: "head_m"
- type: entity
id: LeftArmShadowling
name: "left Shadowling arm"
parent: [BaseLeftArm, PartShadowling]
components:
- type: Sprite
state: "l_arm"
- type: entity
id: RightArmShadowling
name: "right Shadowling arm"
parent: [BaseRightArm, PartShadowling]
components:
- type: Sprite
state: "r_arm"
- type: entity
id: LeftHandShadowling
name: "left Shadowling hand"
parent: [BaseLeftHand, PartShadowling]
components:
- type: Sprite
state: "l_hand"
- type: entity
id: RightHandShadowling
name: "right Shadowling hand"
parent: [BaseRightHand, PartShadowling]
components:
- type: Sprite
state: "r_hand"
- type: entity
id: LeftLegShadowling
name: "left Shadowling leg"
parent: [BaseLeftLeg, PartShadowling]
components:
- type: Sprite
state: "l_leg"
- type: entity
id: RightLegShadowling
name: "right Shadowling leg"
parent: [BaseRightLeg, PartShadowling]
components:
- type: Sprite
state: "r_leg"
- type: entity
id: LeftFootShadowling
name: "left Shadowling foot"
parent: [BaseLeftFoot, PartShadowling]
components:
- type: Sprite
state: "l_foot"
- type: entity
id: RightFootShadowling
name: "right Shadowling foot"
parent: [BaseRightFoot, PartShadowling]
components:
- type: Sprite
state: "r_foot"

View File

@@ -0,0 +1,19 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Tim <timfalken@hotmail.com>
# SPDX-FileCopyrightText: 2025 dootythefrooty <137359445+dootythefrooty@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: body
id: Squackroach
name: "squackroach"
root: torso
slots:
torso:
part: ChestAnimal
organs:
lungs: OrganHarpyLungs
stomach: OrganAnimalStomach
liver: OrganAnimalLiver
heart: OrganAnimalHeart
kidneys: OrganAnimalKidneys

View File

@@ -0,0 +1,62 @@
# SPDX-FileCopyrightText: 2022 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <Jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2023 Jezithyr <jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2023 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 BeeRobynn <166929042+BeeRobynn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: body
id: IPC
name: "ipc"
root: chest
slots:
head:
part: HeadIPC
connections:
- chest
organs:
eyes: OrganIPCEyes
chest:
part: ChestIPC
connections:
- right arm
- left arm
- groin
organs:
posbrain: PositronicBrain
pump: OrganIPCPump
groin:
part: GroinIPC
connections:
- right leg
- left leg
right arm:
part: RightArmIPC
connections:
- right hand
left arm:
part: LeftArmIPC
connections:
- left hand
right hand:
part: RightHandIPC
left hand:
part: LeftHandIPC
right leg:
part: RightLegIPC
connections:
- right foot
left leg:
part: LeftLegIPC
connections:
- left foot
right foot:
part: RightFootIPC
left foot:
part: LeftFootIPC

View File

@@ -0,0 +1,55 @@
- type: body
id: Plasmaman
name: "plasmaman"
root: chest
slots:
head:
part: HeadPlasmaman
connections:
- chest
organs:
brain: OrganPlasmamanBrain
eyes: OrganPlasmamanEyes
chest:
part: ChestPlasmaman
connections:
- right arm
- left arm
- groin
- head
organs:
heart: OrganPlasmamanHeart
lungs: OrganPlasmamanLungs
groin:
part: GroinPlasmaman
connections:
- right leg
- left leg
organs:
stomach: OrganPlasmamanStomach
liver: OrganPlasmamanLiver
kidneys: OrganPlasmamanKidneys
right arm:
part: RightArmPlasmaman
connections:
- right hand
left arm:
part: LeftArmPlasmaman
connections:
- left hand
right hand:
part: RightHandPlasmaman
left hand:
part: LeftHandPlasmaman
right leg:
part: RightLegPlasmaman
connections:
- right foot
left leg:
part: LeftLegPlasmaman
connections:
- left foot
right foot:
part: RightFootPlasmaman
left foot:
part: LeftFootPlasmaman

View File

@@ -0,0 +1,55 @@
- type: body
id: Shadow
name: Shadow
root: chest
slots:
head:
part: HeadShadow
connections:
- chest
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
chest:
part: ChestShadow
connections:
- groin
- right arm
- left arm
- head
organs:
heart: OrganHumanHeart
lungs: OrganHumanLungs
groin:
part: GroinShadow
connections:
- right leg
- left leg
organs:
stomach: OrganHumanStomach
liver: OrganHumanLiver
kidneys: OrganHumanKidneys
right arm:
part: RightArmShadow
connections:
- right hand
left arm:
part: LeftArmShadow
connections:
- left hand
right hand:
part: RightHandShadow
left hand:
part: LeftHandShadow
right leg:
part: RightLegShadow
connections:
- right foot
left leg:
part: LeftLegShadow
connections:
- left foot
right foot:
part: RightFootShadow
left foot:
part: LeftFootShadow

View File

@@ -0,0 +1,55 @@
- type: body
id: Shadowkin
name: "Shadowkin"
root: chest
slots:
head:
part: HeadShadowkin
connections:
- chest
organs:
brain: OrganShadowkinBrain
eyes: OrganShadowkinEyes
chest:
part: ChestShadowkin
connections:
- groin
- right arm
- left arm
- head # Shitmed
organs:
heart: OrganShadowkinHeart
lungs: OrganShadowkinCore
groin:
part: GroinShadowkin
connections:
- right leg
- left leg
organs:
stomach: OrganShadowkinStomach
liver: OrganShadowkinLiver
kidneys: OrganShadowkinKidneys
right arm:
part: RightArmShadowkin
connections:
- right hand
left arm:
part: LeftArmShadowkin
connections:
- left hand
right hand:
part: RightHandShadowkin
left hand:
part: LeftHandShadowkin
right leg:
part: RightLegShadowkin
connections:
- right foot
left leg:
part: LeftLegShadowkin
connections:
- left foot
right foot:
part: RightFootShadowkin
left foot:
part: LeftFootShadowkin

View File

@@ -0,0 +1,55 @@
- type: body
id: Shadowling
name: Shadowling
root: chest
slots:
head:
part: HeadShadowling
connections:
- chest
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
chest:
part: ChestShadowling
connections:
- groin
- right arm
- left arm
- head
organs:
heart: OrganHumanHeart
lungs: OrganHumanLungs
groin:
part: GroinShadowling
connections:
- right leg
- left leg
organs:
stomach: OrganHumanStomach
liver: OrganHumanLiver
kidneys: OrganHumanKidneys
right arm:
part: RightArmShadowling
connections:
- right hand
left arm:
part: LeftArmShadowling
connections:
- left hand
right hand:
part: RightHandShadowling
left hand:
part: LeftHandShadowling
right leg:
part: RightLegShadowling
connections:
- right foot
left leg:
part: LeftLegShadowling
connections:
- left foot
right foot:
part: RightFootShadowling
left foot:
part: LeftFootShadowling

View File

@@ -0,0 +1,19 @@
- type: cargoProduct
id: EmergencyPlasmaInternals
icon:
sprite: _EinsteinEngines/Objects/Tanks/plasmaman.rsi
state: icon
product: CratePlasmaInternals
cost: 750 # Plasma is expensive!
category: cargoproduct-category-name-emergency
group: market
- type: cargoProduct
id: EmergencyPlasmamanEnvirosuit
icon:
sprite: _EinsteinEngines/Clothing/Uniforms/Envirosuits/plain.rsi
state: icon
product: CratePlasmamanEnvirosuit
cost: 600
category: cargoproduct-category-name-emergency
group: market

View File

@@ -0,0 +1,33 @@
- type: entity
id: CratePlasmaInternals
parent: CrateInternals
name: internals crate (plasma)
description: Contains four breath masks and four plasma internals tanks. Intended for Plasmamen.
components:
- type: StorageFill
contents:
- id: ClothingMaskGas
amount: 2
- id: ClothingMaskBreath
amount: 2
- id: ExtendedEmergencyPlasmaTankFilled # goob smaller tank
amount: 4
- type: entity
id: CratePlasmamanEnvirosuit
parent: CrateInternals
name: plasma envirosuit crate
description: Contains two full sets of envirosuits, two breath masks, and two plasma internals tanks. Intended for Plasmamen.
components:
- type: StorageFill
contents:
- id: ClothingUniformEnvirosuit
amount: 2
- id: ClothingHeadEnvirohelmEmpty
amount: 2
- id: ClothingHandsGlovesEnvirogloves
amount: 2
- id: ClothingMaskBreath
amount: 2
- id: ExtendedEmergencyPlasmaTankFilled # goob smaller tank
amount: 2

View File

@@ -0,0 +1,42 @@
- type: entity
id: BriefcaseSyndieLobbyingBundlePlasmamanFilled
parent: BriefcaseSyndie
suffix: Syndicate, Spesos, Plasmaman
components:
- type: StorageFill
contents:
- id: ClothingEyesGlassesSunglasses
- id: SpaceCash30000
amount: 1
- id: EncryptionKeySyndie
- id: RubberStampTrader
- id: PhoneInstrumentSyndicate
- id: ClothingUniformEnvirosuitTacticool
- id: ClothingHeadEnvirohelmTacticool
- id: ClothingOuterCoatJensenFilled
- id: ClothingHandsGlovesCombat
- type: entity # No more space in briefcase due to envirohelm so put the syndicate flag in the jensen coat
id: ClothingOuterCoatJensenFilled
parent: ClothingOuterCoatJensen
suffix: Syndicate Flag Inside
components:
- type: StorageFill
contents:
- id: SyndieHandyFlag
- type: entity
id: BriefcaseThiefBribingBundlePlasmamanFilled
parent: BriefcaseSyndie
suffix: Thief, Spesos, Plasmaman
components:
- type: StorageFill
contents:
- id: ClothingEyesGlassesSunglasses
- id: SpaceCash20000
amount: 1
- id: ClothingUniformEnvirosuitTacticool
- id: ClothingHeadEnvirohelmTacticool
- id: ClothingOuterCoatJensen
- id: ClothingHandsGlovesCombat
- id: ToyFigurineThief

View File

@@ -0,0 +1,120 @@
- type: entity
parent: EmergencyOxygenTank
id: EmergencyPlasmaTank
name: emergency plasma tank
description: An easily portable tank for emergencies. Contains very little plasma, rated for survival use only.
components:
- type: Sprite
sprite: _EinsteinEngines/Objects/Tanks/emergency.rsi
- type: Item
sprite: _EinsteinEngines/Objects/Tanks/emergency.rsi
- type: Clothing
sprite: _EinsteinEngines/Objects/Tanks/emergency.rsi
- type: Tag
tags:
- GasTank
- EmergencyOxygenTank
- type: entity
id: EmergencyPlasmaTankFilled
parent: EmergencyPlasmaTank
suffix: Filled
components:
- type: GasTank
outputPressure: 5.325
air:
# 16 minutes with Plasmaman lungs
volume: 0.66
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 0.270782035 # nitrogen
temperature: 293.15
- type: entity
parent: ExtendedEmergencyOxygenTank
id: ExtendedEmergencyPlasmaTank
name: extended capacity emergency plasma tank
description: An emergency tank with extended capacity. Technically rated for prolonged use.
components:
- type: Sprite
sprite: _EinsteinEngines/Objects/Tanks/regular.rsi
- type: Item
sprite: _EinsteinEngines/Objects/Tanks/regular.rsi
- type: Clothing
sprite: _EinsteinEngines/Objects/Tanks/regular.rsi
- type: Tag
tags:
- GasTank
- EmergencyOxygenTank
- type: entity
id: ExtendedEmergencyPlasmaTankFilled
parent: ExtendedEmergencyPlasmaTank
suffix: Filled
components:
- type: GasTank
outputPressure: 5.325
air:
# 36 minutes with Plasmaman lungs
volume: 1.5
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 0.615413715 # plasma
temperature: 293.15
- type: entity
parent: DoubleEmergencyOxygenTank
id: DoubleEmergencyPlasmaTank
name: plasma internals tank
description: A tank of plasma designed to be internals for Plasmamen.
components:
- type: Sprite
sprite: _EinsteinEngines/Objects/Tanks/double-emergency.rsi
- type: Item
sprite: _EinsteinEngines/Objects/Tanks/double-emergency.rsi
- type: Clothing
sprite: _EinsteinEngines/Objects/Tanks/double-emergency.rsi
- type: Tag
tags:
- GasTank
- EmergencyOxygenTank
- type: entity
id: DoubleEmergencyPlasmaTankFilled
parent: DoubleEmergencyPlasmaTank
suffix: Filled
components:
- type: GasTank
outputPressure: 5.325
air:
# 60 minutes with Plasmaman lungs
volume: 1.5
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 1.025689525 # plasma
temperature: 293.15
- type: entity
id: PlasmaTankFilledInternals
parent: PlasmaTankFilled
name: plasma tank
suffix: Filled, Plasmaman Internals
components:
- type: GasTank
# 120 minutes with Plasmaman lungs
outputPressure: 5.325
air:
# 125.2 minutes with plasmaman lungs
volume: 5
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 2.051379050 # plasma
temperature: 293.15

View File

@@ -0,0 +1,16 @@
- type: listing
id: UplinkBribePlasmaman
name: uplink-bribe-plasmaman-name
description: uplink-bribe-plasmaman-desc
productEntity: BriefcaseSyndieLobbyingBundlePlasmamanFilled
#discountCategory: usualDiscounts
#discountDownTo:
# Telecrystal: 2
cost:
Telecrystal: 4
categories:
- UplinkDeception
conditions:
- !type:BuyerSpeciesCondition
whitelist:
- Plasmaman

View File

@@ -0,0 +1,7 @@
- type: metabolizerType
id: Shadowkin
name: metabolizer-type-shadowkin
- type: metabolizerType
id: Plasmaman
name: metabolizer-type-plasmaman

View File

@@ -0,0 +1,47 @@
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: damageModifierSet
id: IPC
coefficients:
Blunt: 0.8
Slash: 0.8
Piercing: 0.8
Heat: 1.7
Shock: 2
# Goobstation
Radiation: 0.4
Ion: 0.8
ignoreArmorPierceFlags: All
- type: damageModifierSet
id: Shadowkin
coefficients:
Blunt: 1.25
Slash: 1.25
Piercing: 1.25
Asphyxiation: 0.50
Heat: 1.4
ignoreArmorPierceFlags: All # Goobstation
- type: damageModifierSet
id: Plasmaman
coefficients:
Blunt: 1.5
Slash: 0.8
Piercing: 0.6
Cold: 0
Heat: 1.5
Poison: 0.8
Radiation: 0
Bloodloss: 0.0 # Immune to weapons that directly deal bloodloss damage

View File

@@ -0,0 +1,11 @@
- type: localizedDataset
id: IpcFirst
values:
prefix: names-ipc-first-dataset-
count: 100
- type: localizedDataset
id: IpcLast
values:
prefix: names-ipc-last-dataset-
count: 1000

View File

@@ -0,0 +1,5 @@
- type: localizedDataset
id: NamesPlasmaman
values:
prefix: names-plasmaman-dataset-
count: 311

View File

@@ -0,0 +1,5 @@
- type: localizedDataset
id: RevolutionaryConverterSpeech
values:
prefix: revolutionary-converter-speech-
count: 118

View File

@@ -0,0 +1,11 @@
# Names for the shadowkin,
# Shadowkin names are descriptive of
# The two schools of thought,
# A job designated for them,
# Or something symbolic.
- type: localizedDataset
id: NamesShadowkin
values:
prefix: names-shadowkin-dataset-
count: 81

View File

@@ -0,0 +1,4 @@
- type: sinkPort
id: FillbotAnyItem # used by Fillbot
name: signal-port-name-fill-any-item
description: signal-port-description-fill-any-item

View File

@@ -0,0 +1,5 @@
- type: sourcePort
id: FillItems # Used by Fillbot
name: signal-port-name-fillitems
description: signal-port-description-fillitems
defaultLinks: [ FillbotAnyItem ]

View File

@@ -0,0 +1,19 @@
- type: entity
abstract: true
parent: ClothingHandsButcherable
id: ClothingHandsGlovesEnviroglovesBase
components:
- type: Armor
modifiers:
coefficients:
Caustic: 0.95
- type: IgniteFromGasImmunity
parts:
- LeftHand
- RightHand
- type: Tag
tags:
- ClothMade
- Recyclable
- WhitelistChameleon
- PlasmamanSafe

View File

@@ -0,0 +1,693 @@
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnvirogloves
name: plasma envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#913b00"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#913b00"
right:
- state: inhand-right
color: "#913b00"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#913b00"
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesBlack
name: black envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#2f2e31"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#2f2e31"
right:
- state: inhand-right
color: "#2f2e31"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#2f2e31"
- type: Fiber
fiberColor: fibers-black
- type: entity
parent: ClothingHandsGlovesEnviroglovesBlack
id: ClothingHandsGlovesEnviroglovesCombat
name: combat envirogloves
description: Specially designed envirogloves for combat and shock-protection.
components:
- type: Insulated
- type: Fiber
fiberMaterial: fibers-insulative
- type: Armor
modifiers:
coefficients:
Blunt: 0.9
Slash: 0.9
Piercing: 0.9
Shock: 0.75
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesNitrile
name: nitrile envirogloves
description: Pricy nitrile gloves made for Plasmamen.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#234f60"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#234f60"
right:
- state: inhand-right
color: "#234f60"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#234f60"
- type: Fiber
fiberMaterial: fibers-nitrile
- type: FingerprintMask
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesWhite
name: white envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#ffffff"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#ffffff"
right:
- state: inhand-right
color: "#ffffff"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#ffffff"
- type: Fiber
fiberColor: fibers-white
- type: entity
parent: ClothingHandsGlovesEnviroglovesWhite
id: ClothingHandsGlovesEnviroglovesColor
name: envirogloves
description: Covers up those scandalous boney hands.
suffix: Loadouts, Colorable
- type: entity
parent: [ClothingHandsGlovesEnviroglovesBase, BaseSecurityContraband]
id: ClothingHandsGlovesEnviroglovesDetective
name: forensic envirogloves
description: Covers up those scandalous boney fingerprints.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/forensic.rsi
- type: Clothing
sprite: Clothing/Hands/Gloves/forensic.rsi
- type: FingerprintMask
- type: GuideHelp
guides:
- Forensics
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesRoboticist
name: roboticist envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#932500"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#932500"
right:
- state: inhand-right
color: "#932500"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#932500"
- type: Fiber
fiberColor: fibers-orange
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesJanitor
name: janitor envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#883391"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#883391"
right:
- state: inhand-right
color: "#883391"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#883391"
- type: Fiber
fiberColor: fibers-purple
- type: Insulated # Same deal as the engi ones.
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesCargo
name: logistics envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#bb9042"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#bb9042"
right:
- state: inhand-right
color: "#bb9042"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#bb9042"
- type: Fiber
fiberColor: fibers-orange
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesEngineering
name: engineering envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#d75600"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#d75600"
right:
- state: inhand-right
color: "#d75600"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#d75600"
- type: Fiber
fiberColor: fibers-orange
- type: Insulated # We dont have as granular of a system as EE so we just make em straight up insuls.
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesAtmos
name: atmos envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#00a5ff"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#00a5ff"
right:
- state: inhand-right
color: "#00a5ff"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#00a5ff"
- type: Fiber
fiberColor: fibers-blue
- type: Insulated # We dont have as granular of a system as EE so we just make em straight up insuls.
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesSalvage
name: salvage envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#47453d"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#47453d"
right:
- state: inhand-right
color: "#47453d"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#47453d"
- type: Fiber
fiberColor: fibers-olive
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesLeather
name: hydroponics envirogloves
description: These leather gloves protect your boney hands against thorns, barbs, prickles, and spikes.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#3164ff"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#3164ff"
right:
- state: inhand-right
color: "#3164ff"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#3164ff"
- type: Fiber
fiberMaterial: fibers-leather
fiberColor: fibers-blue
- type: DamageOnInteractProtection # Botanist death nettle moment
damageProtection:
flatReductions:
Heat: 10
Caustic: 5
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesPrototype
name: prototype envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#911801"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#911801"
right:
- state: inhand-right
color: "#911801"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#911801"
- type: Fiber
fiberColor: fibers-red
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesClown
name: clown envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#ff0000"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#ff0000"
right:
- state: inhand-right
color: "#ff0000"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#ff0000"
- type: Fiber
fiberColor: fibers-red
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesHoP
name: head of personnel's envirogloves
description: Covers up those scandalous, bony hands. Appears to be an attempt at making a replica of the captain's gloves.
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/Hands/Gloves/Envirogloves/hop.rsi
layers:
- state: icon
- type: Item
sprite: _EinsteinEngines/Clothing/Hands/Gloves/Envirogloves/hop.rsi
inhandVisuals:
left:
- state: inhand-left
right:
- state: inhand-right
- type: Clothing
sprite: _EinsteinEngines/Clothing/Hands/Gloves/Envirogloves/hop.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
- type: Fiber
fiberColor: fibers-blue
- type: entity
parent: ClothingHandsGlovesEnviroglovesHoP
id: ClothingHandsGlovesEnviroglovesCaptain
name: captain's envirogloves
description: Covers up those scandalous, bony hands in a fancy way.
components:
- type: FingerprintMask
- type: Insulated
- type: Fiber
fiberMaterial: fibers-durathread
fiberColor: fibers-regal-blue #Goobstation - Captain enviroglove parity
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesChiefEngineer
name: chief engineer's envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#45ff00"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#45ff00"
right:
- state: inhand-right
color: "#45ff00"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#45ff00"
- type: Fiber
fiberColor: fibers-green
- type: Insulated
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesResearchDirector
name: research director's envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#64008a"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#64008a"
right:
- state: inhand-right
color: "#64008a"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#64008a"
- type: Fiber
fiberColor: fibers-purple
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesPurple
name: purple envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#a349a4"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#a349a4"
right:
- state: inhand-right
color: "#a349a4"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#a349a4"
- type: Fiber
fiberColor: fibers-purple
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesAdminAssistant
name: administrative assistant's envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#315266"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#315266"
right:
- state: inhand-right
color: "#315266"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#315266"
- type: Fiber
fiberColor: fibers-blue
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesColorDarkGreen
name: dark green envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#79CC26"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#79CC26"
right:
- state: inhand-right
color: "#79CC26"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#79CC26"
- type: Fiber
fiberColor: fibers-green
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesColorDarkGrey
name: dark grey envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#616161"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#616161"
right:
- state: inhand-right
color: "#616161"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#616161"
- type: Fiber
fiberColor: fibers-grey
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesGladiator
name: gladiator envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#dab13b"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#dab13b"
right:
- state: inhand-right
color: "#dab13b"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#dab13b"
- type: Fiber
fiberColor: fibers-yellow
- type: entity
parent: ClothingHandsGlovesEnviroglovesBase
id: ClothingHandsGlovesEnviroglovesReporter
name: reporter envirogloves
description: Covers up those scandalous boney hands.
components:
- type: Sprite
sprite: Clothing/Hands/Gloves/Color/color.rsi
layers:
- state: icon
color: "#79121b"
- type: Item
sprite: Clothing/Hands/Gloves/Color/color.rsi
inhandVisuals:
left:
- state: inhand-left
color: "#79121b"
right:
- state: inhand-right
color: "#79121b"
- type: Clothing
sprite: Clothing/Hands/Gloves/Color/color.rsi
clothingVisuals:
gloves:
- state: equipped-HAND
color: "#79121b"
- type: Fiber
fiberColor: fibers-red

View File

@@ -0,0 +1,164 @@
- type: entity
abstract: true
parent: ClothingHeadBase
id: ClothingHeadEnvirohelmBase
name: base envirosuit helmet
components:
- type: Sprite
layers:
- state: icon
- state: icon-flash
visible: false
shader: unshaded
map: [ "light" ]
- type: Item
size: Normal
heldPrefix: off
- type: Clothing
equipDelay: 0.4
unequipDelay: 0.6 # Slightly higher delay to protect against accidental unequips
equippedPrefix: off
clothingVisuals:
head:
- state: equipped-HELMET
- type: IgniteFromGasImmunity
parts:
- Head
- type: Armor
modifiers:
coefficients:
Caustic: 0.90
- type: EyeProtection
- type: BreathMask
- type: PressureProtection # Same as EVA helmet
highPressureMultiplier: 0.6
lowPressureMultiplier: 1000
- type: TemperatureProtection
heatingCoefficient: 0.2
coolingCoefficient: 0.2
- type: IngestionBlocker
- type: Tag
tags:
- WhitelistChameleon
- Envirohelm
- PlasmamanSafe
- type: HideLayerClothing
slots:
- Hair
- Snout
clothingSlots:
- mask
- type: ToggleableVisuals
spriteLayer: light
clothingVisuals:
head:
- state: on-equipped-HELMET
shader: unshaded
- type: ItemTogglePointLight
- type: PointLight
enabled: false
color: "#ffa1ff"
radius: 4
energy: 3
mask: /Textures/Effects/LightMasks/cone.png
autoRot: true
netsync: false
- type: Appearance
- type: HandheldLight
addPrefix: true
blinkingBehaviourId: blinking
radiatingBehaviourId: radiating
- 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
startValue: 0.1
endValue: 2.0
isLooped: true
- type: PowerCellSlot
cellSlotId: cell_slot
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellMedium
- type: ContainerContainer
containers:
cell_slot: !type:ContainerSlot {}
- type: GuideHelp # While the playerbase is getting introduced to Plasmamen, add their guidebook here
guides: [ Plasmaman ]
# When making new custom envirohelms, inherit from this entity and
# replace the color fields on the layers
- type: entity
abstract: true
parent: ClothingHeadEnvirohelmBase
id: ClothingHeadEnvirohelmCustomBase
name: base custom envirosuit helmet
components:
- type: ToggleableVisuals
spriteLayer: light
inhandVisuals:
left:
- state: on-inhand-left
shader: unshaded
right:
- state: on-inhand-right
shader: unshaded
clothingVisuals:
head:
- state: on-equipped-HELMET
shader: unshaded
- type: Sprite
sprite: _EinsteinEngines/Clothing/Head/Envirohelms/custom.rsi
layers:
- state: icon
color: "#FFFFFF"
- state: accent-icon
color: "#FF0000"
# - state: midaccent-icon
# color: "#0000FF"
- state: visor-icon
- state: icon-flash
visible: false
shader: unshaded
map: [ "light" ]
- type: Item
inhandVisuals:
left:
- state: inhand-left
color: "#FFFFFF"
- state: accent-inhand-left
color: "#FF0000"
# - state: midaccent-inhand-left
# color: "#0000FF"
- state: visor-inhand-left
right:
- state: inhand-right
color: "#FFFFFF"
- state: accent-inhand-right
color: "#FF0000"
# - state: midaccent-inhand-right
# color: "#0000FF"
- state: visor-inhand-right
- type: Clothing
sprite: _EinsteinEngines/Clothing/Head/Envirohelms/custom.rsi
clothingVisuals:
head:
- state: equipped-HELMET
color: "#FFFFFF"
- state: accent-equipped-HELMET
color: "#FF0000"
# - state: midaccent-equipped-HELMET
# color: "#0000FF"
- state: visor-equipped-HELMET

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,106 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Standard Combat Hardsuits
- type: entity
parent: ClothingHeadHardsuitWithLightBase
id: ClothingHeadHelmetHardsuitCombatStandard
name: combat hardsuit helmet
description: An armoured helmet with a yellow visor and dual head-mounted lights.
components:
- type: Sprite
sprite: _DV/Clothing/Head/Hardsuits/Combat/standard.rsi
- type: Clothing
sprite: _DV/Clothing/Head/Hardsuits/Combat/standard.rsi
- type: PointLight
color: "#ffeead"
- type: PressureProtection
highPressureMultiplier: 0.50
lowPressureMultiplier: 1000
- type: Armor
coverage:
- Chest
- Groin
- Arm
- Hand
- Leg
- Foot
modifiers:
coefficients:
Blunt: 0.70
Slash: 0.70
Piercing: 0.70
Heat: 0.70
- type: entity
parent: ClothingHeadHardsuitWithLightBase
id: ClothingHeadHelmetHardsuitCombatOfficer
name: security combat hardsuit helmet
components:
- type: Sprite
sprite: _DV/Clothing/Head/Hardsuits/Combat/officer.rsi
- type: Clothing
sprite: _DV/Clothing/Head/Hardsuits/Combat/officer.rsi
# Medical Combat Hardsuits
- type: entity
parent: ClothingHeadHardsuitWithLightBase
id: ClothingHeadHelmetHardsuitCombatMedical
name: medical combat hardsuit helmet
description: A lightweight armoured helmet with full-face blue visor and head-mounted light.
components:
- type: Sprite
sprite: _DV/Clothing/Head/Hardsuits/Combat/medical.rsi
- type: Clothing
sprite: _DV/Clothing/Head/Hardsuits/Combat/medical.rsi
- type: PointLight
color: "#00FFFF"
- type: PressureProtection
highPressureMultiplier: 0.60
lowPressureMultiplier: 1000
- type: Armor
coverage:
- Chest
- Groin
- Arm
- Hand
- Leg
- Foot
modifiers:
coefficients:
Blunt: 0.85
Slash: 0.85
Piercing: 0.85
Heat: 0.85
# Riot Combat Hardsuits
- type: entity
parent: ClothingHeadHardsuitWithLightBase
id: ClothingHeadHelmetHardsuitCombatRiot
name: riot combat hardsuit helmet
description: A heavy armoured helmet with a sealed visor with yellow slits and dual head-mounted lights.
components:
- type: Sprite
sprite: _DV/Clothing/Head/Hardsuits/Combat/riot.rsi
- type: Clothing
sprite: _DV/Clothing/Head/Hardsuits/Combat/riot.rsi
- type: PointLight
color: "#ffeead"
- type: PressureProtection
highPressureMultiplier: 0.45
lowPressureMultiplier: 1000
- type: Armor
coverage:
- Chest
- Groin
- Arm
- Hand
- Leg
- Foot
modifiers:
coefficients:
Blunt: 0.65
Slash: 0.65
Piercing: 0.65
Heat: 0.65

View File

@@ -0,0 +1,16 @@
# SPDX-FileCopyrightText: 2025 BloodfiendishOperator <141253729+Diggy0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: ClothingNeckBase
id: ClothingNeckOldClothWrap
name: old cloth wrap
description: A tattered fabric wrap, faded over the years. Smells faintly of cigars.
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/Neck/Mantles/oldmantle.rsi
- type: Clothing
sprite: _EinsteinEngines/Clothing/Neck/Mantles/oldmantle.rsi

View File

@@ -0,0 +1,156 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Standard Combat Hardsuits
- type: entity
parent: ClothingOuterHardsuitBase
id: ClothingOuterHardsuitCombatStandard
name: combat hardsuit
description: A purpose-built combat hardsuit designed to protect its user against all manner of enemy combatants in low pressure environments.
components:
- type: Sprite
sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/standard.rsi
- type: Clothing
sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/standard.rsi
- type: PressureProtection
highPressureMultiplier: 0.50
lowPressureMultiplier: 1000
- type: ExplosionResistance
damageCoefficient: 0.50
- type: Armor # Good armour resistance across the board, comparable to the standard security hardsuit.
coverage:
- Chest
- Groin
- Arm
- Hand
- Leg
- Foot
modifiers:
coefficients:
Blunt: 0.60
Slash: 0.60
Piercing: 0.60
Radiation: 0.75
Caustic: 0.75
Heat: 0.75
- type: ClothingSpeedModifier
walkModifier: 0.75
sprintModifier: 0.75
- type: ToggleableClothing
clothingPrototypes: #goobstation change
head: ClothingHeadHelmetHardsuitCombatStandard
- type: AllowSuitStorage
- type: StaminaResistance # Goobstation
damageCoefficient: 0.6
- type: ModifyDelayedKnockdown # Goobstation
delayDelta: 3
knockdownTimeDelta: -3
- type: entity
parent: [ClothingOuterHardsuitCombatStandard,BaseSecurityContraband]
id: ClothingOuterHardsuitCombatOfficer
name: security combat hardsuit
description: A purpose-built combat hardsuit designed to protect its user against all manner of enemy combatants in low pressure environments. This one has station security markings.
components:
- type: Sprite
sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/officer.rsi
- type: Clothing
sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/officer.rsi
- type: ToggleableClothing
clothingPrototypes:
head: ClothingHeadHelmetHardsuitCombatOfficer #goobstation change
# Medical Combat Hardsuits
- type: entity
parent: [ClothingOuterHardsuitBase,BaseSecurityContraband]
id: ClothingOuterHardsuitCombatMedical
name: medical combat hardsuit
description: A purpose-built combat hardsuit designed to allow its user greater mobility for superior support of friendly units in active combat zones.
components:
- type: Sprite
sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/medical.rsi
- type: Clothing
sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/medical.rsi
- type: PressureProtection # Less protective from high pressure than a standard hardsuit due to less plating.
highPressureMultiplier: 0.60
lowPressureMultiplier: 1000
- type: ExplosionResistance
damageCoefficient: 0.60
- type: Armor # Slightly less armour than the standard hardsuit, but far higher mobility.
coverage:
- Chest
- Groin
- Arm
- Hand
- Leg
- Foot
modifiers:
coefficients:
Blunt: 0.65
Slash: 0.65
Piercing: 0.65
Radiation: 0.80
Caustic: 0.80
Heat: 0.80
- type: ClothingSpeedModifier
walkModifier: 0.85
sprintModifier: 0.85
- type: ToggleableClothing
clothingPrototypes: #goobstation change
head: ClothingHeadHelmetHardsuitCombatMedical
- type: AllowSuitStorage
- type: StaminaResistance # Goobstation
damageCoefficient: 0.6
- type: ModifyDelayedKnockdown # Goobstation
delayDelta: 3
knockdownTimeDelta: -3
# Riot Combat Hardsuits
- type: entity
parent: [ClothingOuterHardsuitBase,BaseSecurityContraband]
id: ClothingOuterHardsuitCombatRiot
name: riot combat hardsuit
description: A purpose-built combat hardsuit designed for crowd control against armed combatants in low pressure environments.
components:
- type: Sprite
sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/riot.rsi
- type: Clothing
sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/riot.rsi
- type: PressureProtection
highPressureMultiplier: 0.45
lowPressureMultiplier: 1000
- type: ExplosionResistance
damageCoefficient: 0.40
- type: Armor # More protective than a standard security hardsuit, but far slower.
coverage:
- Chest
- Groin
- Arm
- Hand
- Leg
- Foot
modifiers:
coefficients:
Blunt: 0.50
Slash: 0.50
Piercing: 0.40
Radiation: 0.70
Caustic: 0.70
Heat: 0.40
- type: ClothingSpeedModifier
walkModifier: 0.60
sprintModifier: 0.60
- type: ToggleableClothing
clothingPrototypes: #goobstation change
head: ClothingHeadHelmetHardsuitCombatRiot
- type: AllowSuitStorage
- type: StaminaResistance # Goobstation
damageCoefficient: 0.5
- type: ModifyDelayedKnockdown # Goobstation
cancel: true

View File

@@ -0,0 +1,183 @@
- type: entity # For clothes that need suit sensors.
parent: [UnsensoredClothingUniformBase, BaseFoldable]
id: ClothingUniformBaseUnsensoredFlippable
abstract: true
components:
- type: Appearance
- type: Foldable
canFoldInsideContainer: true
unfoldVerbText: fold-unrollsleeves-verb
foldVerbText: fold-rollsleeves-verb
- type: FoldableClothing
foldedEquippedPrefix: flipped
foldedHeldPrefix: flipped
- type: Sprite
layers:
- state: icon
map: [ "unfoldedLayer" ]
- state: icon_flipped
map: ["foldedLayer"]
visible: false
- type: entity # For clothes that need suit sensors.
parent: ClothingHeadHeadHatBaseFlippable
id: ClothingUniformBaseUnsensoredFlipped
suffix: flipped
abstract: true
components:
- type: Foldable
folded: true
- type: Clothing
equippedPrefix: flipped
- type: Item
heldPrefix: flipped
- type: Sprite
layers:
- state: icon
map: [ "unfoldedLayer" ]
visible: false
- state: icon_flipped
map: ["foldedLayer"]
visible: true
- type: entity # For clothes that don't need suit sensors.
parent: ClothingUniformBaseUnsensoredFlippable
id: ClothingUniformBaseFlippable
abstract: true
components:
- type: SuitSensor
- type: DeviceNetwork
deviceNetId: Wireless
transmitFrequencyId: SuitSensor
- type: WirelessNetworkConnection
range: 1200
- type: StationLimitedNetwork
- type: entity # For clothes that don't need suit sensors.
parent: ClothingUniformBaseFlippable
id: ClothingUniformBaseFlipped
suffix: flipped
abstract: true
components: # I *think* I can just disregard the components;
# and inherit from ClothingUniformBaseFlippable
# and ClothingUniformBaseUnsensoredFlipped but I don't want to
# test that right now.
- type: Foldable
folded: true
- type: Clothing
equippedPrefix: flipped
- type: Item
heldPrefix: flipped
- type: Sprite
layers:
- state: icon
map: [ "unfoldedLayer" ]
visible: false
- state: icon_flipped
map: ["foldedLayer"]
visible: true
- type: entity
abstract: true
parent: UnsensoredClothingUniformBase
id: UnsensoredClothingUniformEnvirosuitBase
components:
- type: IgniteFromGasImmunity
parts:
- Chest
- Groin
- LeftArm
- RightArm
- LeftLeg
- RightLeg
- LeftFoot
- RightFoot
- type: Clothing
equipDelay: 0.4
unequipDelay: 0.6 # Slightly higher delay to protect against accidental unequips
femaleMask: NoMask
- type: SelfExtinguisher
cooldown: 100
requiresIgniteFromGasImmune: true
sound:
path: /Audio/Effects/extinguish.ogg
- type: LimitedCharges
maxCharges: 4
- type: Armor
modifiers:
coefficients:
Caustic: 0.85
- type: Tag
tags:
- WhitelistChameleon
- PlasmamanSafe
- type: GuideHelp # While the playerbase is getting introduced to Plasmamen, add their guidebook here
guides: [ Plasmaman ]
- type: AllowSuitStorage # Goobstation - plasmamen can use the envirosuit as gasholder
whitelist:
tags:
- GasTank
- type: entity
abstract: true
parent: UnsensoredClothingUniformEnvirosuitBase
id: ClothingUniformEnvirosuitBase
components:
- type: SuitSensor
- type: DeviceNetwork
deviceNetId: Wireless
transmitFrequencyId: SuitSensor
- type: WirelessNetworkConnection
range: 1200
- type: StationLimitedNetwork
- type: entity
abstract: true
parent: UnsensoredClothingUniformEnvirosuitBase
id: UnsensoredClothingUniformEnvirosuitCustomBase
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/Uniforms/Envirosuits/custom.rsi
layers:
- state: icon
color: "#FFFFFF"
- state: accent-icon
color: "#FF0000"
- type: Item
inhandVisuals:
left:
- state: inhand-left
color: "#FFFFFF"
- state: accent-inhand-left
color: "#FF0000"
right:
- state: inhand-right
color: "#FFFFFF"
- state: accent-inhand-right
color: "#FF0000"
- type: Clothing
sprite: _EinsteinEngines/Clothing/Uniforms/Envirosuits/custom.rsi
clothingVisuals:
jumpsuit:
- state: equipped-INNERCLOTHING
color: "#FFFFFF"
- state: accent-equipped-INNERCLOTHING
color: "#FF0000"
- state: loweraccent-equipped-INNERCLOTHING
color: "#FF0000"
- state: soles-equipped-INNERCLOTHING
color: "#bababa" # Recommended default soles color
- type: entity
abstract: true
parent: UnsensoredClothingUniformEnvirosuitCustomBase
id: ClothingUniformEnvirosuitCustomBase
components:
- type: SuitSensor
- type: DeviceNetwork
deviceNetId: Wireless
transmitFrequencyId: SuitSensor
- type: WirelessNetworkConnection
range: 1200
- type: StationLimitedNetwork

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,19 @@
- type: entity
id: EffectEmpPulseNoSound
categories: [ HideSpawnMenu ]
components:
- type: TimedDespawn
lifetime: 0.8
- type: Sprite
drawdepth: Effects
noRot: true
layers:
- shader: unshaded
map: [ "enum.EffectLayers.Unshaded" ]
sprite: Effects/emp.rsi
state: emp_pulse
- type: EffectVisuals
- type: Tag
tags:
- HideContextMenu
- type: AnimationPlayer

View File

@@ -0,0 +1,13 @@
- type: entity
id: EffectFlashShadowkinShadeskip
categories: [ HideSpawnMenu ]
components:
- type: PointLight
radius: 5
energy: 3.5
color: "#7100bd"
- type: TimedDespawn
lifetime: 3
- type: EmitSoundOnSpawn
sound:
path: /Audio/_EinsteinEngines/Effects/Shadowkin/shadeskip.ogg

View File

@@ -0,0 +1,51 @@
- type: entity
id: WeaponArcPurplePunch # Not inheriting so we don't have EffectVisuals to delete the entity
categories: [ HideSpawnMenu ] # on LightFade animation complete, which causes a
components: # "Predicting the queued deletion of a networked entity" error on tests.
- type: Sprite
sprite: Effects/arcs.rsi
layers:
- state: punch
color: "#ff80f4"
drawdepth: Effects
- type: WeaponArcVisuals
fadeOut: false
- type: TimedDespawn
lifetime: 0.549
- type: PointLight
radius: 1.13
energy: 50
color: "#ff11d5"
netsync: false
- type: LightFade
rampUpDuration: 0.1
duration: 0.449
- type: Tag
tags:
- HideContextMenu
- type: entity
id: WeaponArcShadowClaw
categories: [ HideSpawnMenu ]
components:
- type: Sprite
sprite: _EinsteinEngines/Shadowling/Effects/arcs.rsi
layers:
- state: shadow_claw
color: "#000000"
drawdepth: Effects
- type: WeaponArcVisuals
fadeOut: false
- type: TimedDespawn
lifetime: 0.4
- type: PointLight
radius: 1.13
energy: 50
color: "#880808"
netsync: false
- type: LightFade
rampUpDuration: 0.1
duration: 0.449
- type: Tag
tags:
- HideContextMenu

View File

@@ -0,0 +1,13 @@
- type: entity
name: plantbot spawner
id: SpawnMobPlantbot
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- sprite: _EinsteinEngines/Mobs/Silicon/Bots/plantbot.rsi
state: plantbot
- type: ConditionalSpawner
prototypes:
- MobPlantbot

View File

@@ -0,0 +1,328 @@
# SPDX-FileCopyrightText: 2024 Adeinitas <147965189+adeinitas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 VMSolidus <evilexecutive@gmail.com>
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# All the Harpy customization
# Ears Markings
- type: marking
id: HarpyWingDefaultHuescale
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: huescale_harpy
- type: marking
id: HarpyWingDefaultWhitescale
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: whitescale_harpy
- type: marking
id: HarpyWingClassic
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: classic_harpy
- type: marking
id: HarpyWingFoldedHuescale
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: huescale_harpy_folded
- type: marking
id: HarpyWingFoldedWhitescale
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: whitescale_harpy_folded
- type: marking
id: HarpyWingOwlHuescale
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: huescale_harpy_wing_owl
- type: marking
id: HarpyWingOwlWhitescale
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: whitescale_harpy_wing_owl
- type: marking
id: HarpyEarsLarge
bodyPart: Head
markingCategory: HeadTop
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_ears.rsi
state: harpy_ears_large
- type: marking
id: HarpyTailForkedWhitescale
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_tails.rsi
state: whitescale_forked_tailfin
- type: marking
id: HarpyTailForkedHuescale
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_tails.rsi
state: huescale_forked_tailfin
- type: marking
id: HarpyTailPeacock
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_tails48x48.rsi
state: peacock_tail_feathers
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_tails48x48.rsi
state: peacock_tail_eyes
- type: marking
id: HarpyTailHaven
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_tails.rsi
state: haven_tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_tails.rsi
state: haven_tone_2
- type: marking
id: HarpyTailForkedLong
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_tails.rsi
state: forked_long
- type: marking
id: HarpyTailSwallow
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Harpy]
coloring:
default:
type:
!type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_tails.rsi
state: swallow_tail
- type: marking
id: HarpyWing2ToneClassic
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_2tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_2tone_2
- type: marking
id: HarpyWing3ToneClassic
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_3tone_3
- type: marking
id: HarpyWingSpeckledClassic
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_speckled_1
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_speckled_2
- type: marking
id: HarpyWingUndertoneClassic
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_undertone_1
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_undertone_2
- type: marking
id: HarpyWingTipsClassic
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_wingtip_1
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: harpy_wingtip_2
- type: marking
id: HarpyWingBat
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: bat_wings_tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: bat_wings_tone_2
- type: marking
id: HarpyWingBionic
bodyPart: RArm
markingCategory: Wings # Goob - Wings category
speciesRestriction: [Harpy]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: bionic_wings_tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi
state: bionic_wings_tone_2
shader: unshaded

View File

@@ -0,0 +1,18 @@
# SPDX-FileCopyrightText: 2024 ScyronX <166930367+ScyronX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: OniTwoToedFeet
bodyPart: RFoot # Can't be LFoot to avoid visual glitches
markingCategory: Overlay # Goob - Moved to 'Overlay'
speciesRestriction: [Oni]
coloring:
default:
type:
!type:SimpleColoring
color: "#454545"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/oni_feet.rsi
state: two_toes

View File

@@ -0,0 +1,530 @@
# SPDX-FileCopyrightText: 2024 ScyronX <166930367+ScyronX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: OniHornTallCurved
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: tall_curved
- type: marking
id: OniHornTallCurved3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: tall_curved_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: tall_curved_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: tall_curved_3tone_3
- type: marking
id: OniHornTallBull
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: tall_bull
- type: marking
id: OniHornTallBull3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: tall_bull_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: tall_bull_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: tall_bull_3tone_3
- type: marking
id: OniHornCrowned
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: crowned
- type: marking
id: OniHornSerket
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: serket
- type: marking
id: OniHornSerket3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: serket_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: serket_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: serket_3tone_3
- type: marking
id: OniHornPisces
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: pisces
- type: marking
id: OniHornPisces2Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: pisces_2tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: pisces_2tone_2
- type: marking
id: OniHornPisces3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: pisces_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: pisces_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: pisces_3tone_3
- type: marking
id: OniHornVirgo
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: virgo
- type: marking
id: OniHornVirgo3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: virgo_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: virgo_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: virgo_3tone_3
- type: marking
id: OniHornSagittarius
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: sagittarius
- type: marking
id: OniHornSagittarius3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: sagittarius_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: sagittarius_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: sagittarius_3tone_3
- type: marking
id: OniHornVantas
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: vantas
- type: marking
id: OniHornVantas3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: vantas_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: vantas_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: vantas_3tone_3
- type: marking
id: OniHornMakara
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: makara
- type: marking
id: OniHornMakara2Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: makara_2tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: makara_2tone_2
- type: marking
id: OniHornMakara3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: makara_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: makara_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns48x48.rsi
state: makara_3tone_3
- type: marking
id: OniHornNepeta
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: nepeta
- type: marking
id: OniHornNepeta3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: nepeta_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: nepeta_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: nepeta_3tone_3
- type: marking
id: OniHornTaurus
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: taurus
- type: marking
id: OniHornTaurus2Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: taurus_2tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: taurus_2tone_2
- type: marking
id: OniHornTaurus3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: taurus_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: taurus_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: taurus_3tone_3
- type: marking
id: OniHornAries
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: aries
- type: marking
id: OniHornAries3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: aries_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: aries_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: aries_3tone_3
- type: marking
id: OniHornTavris
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: tavris
- type: marking
id: OniHornTavris3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: tavris_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: tavris_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: tavris_3tone_3
- type: marking
id: OniHornInclined
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: inclined
- type: marking
id: OniHornInclined3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: inclined_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: inclined_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: inclined_3tone_3
- type: marking
id: OniHornWavy
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: wavy
- type: marking
id: OniHornWavy2Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: wavy_2tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: wavy_2tone_2
- type: marking
id: OniHornWavy3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: wavy_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: wavy_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: wavy_3tone_3
- type: marking
id: OniHornAntlers
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: antlers_2tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: antlers_2tone_2
- type: marking
id: OniHornAntlers3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: antlers_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: antlers_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: antlers_3tone_3
- type: marking
id: OniHornUnicorn
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: unicorn
- type: marking
id: OniHornErebia
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: erebia
- type: marking
id: OniHornErebia3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: erebia_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: erebia_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: erebia_3tone_3
- type: marking
id: OniHornErebiaRings
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: erebia
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: erebia_rings
- type: marking
id: OniHornDoubleThick
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_thick
- type: marking
id: OniHornDoubleThick2Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_thick_2tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_thick_2tone_2
- type: marking
id: OniHornDoubleThick3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_thick_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_thick_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_thick_3tone_3
- type: marking
id: OniHornDoubleCurved3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_curved_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_curved_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_curved_3tone_3
- type: marking
id: OniHornDoubleCurvedOutwards3Tone
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_curved_outwards_3tone_1
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_curved_outwards_3tone_2
- sprite: _EinsteinEngines/Mobs/Customization/Oni/oni_horns.rsi
state: double_curved_outwards_3tone_3

View File

@@ -0,0 +1,94 @@
# SPDX-FileCopyrightText: 2024 ScyronX <166930367+ScyronX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: PointyEarsStandard
bodyPart: HeadSide
markingCategory: HeadSide
forcedColoring: true
speciesRestriction: [Oni, Harpy, Arachne, Lamia, Human]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/pointy_ears.rsi
state: pointy_ears_standard
- type: marking
id: PointyEarsWide
bodyPart: HeadSide
markingCategory: HeadSide
forcedColoring: true
speciesRestriction: [Oni, Harpy, Arachne, Lamia, Human]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/pointy_ears.rsi
state: pointy_ears_wide
- type: marking
id: PointyEarsSmall
bodyPart: HeadSide
markingCategory: HeadSide
forcedColoring: true
speciesRestriction: [Oni, Harpy, Arachne, Lamia, Human]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/pointy_ears.rsi
state: pointy_ears_small
- type: marking
id: PointyEarsUpwards
bodyPart: HeadSide
markingCategory: HeadSide
forcedColoring: true
speciesRestriction: [Oni, Harpy, Arachne, Lamia, Human]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/pointy_ears.rsi
state: pointy_ears_upwards
- type: marking
id: PointyEarsTall
bodyPart: HeadSide
markingCategory: HeadSide
forcedColoring: true
speciesRestriction: [Oni, Harpy, Arachne, Lamia, Human]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/pointy_ears.rsi
state: pointy_ears_tall
- type: marking
id: PointyEarsSlanted
bodyPart: HeadSide
markingCategory: HeadSide
forcedColoring: true
speciesRestriction: [Oni, Harpy, Arachne, Lamia, Human]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/pointy_ears.rsi
state: pointy_ears_slanted
- type: marking
id: PointyEarsThin
bodyPart: HeadSide
markingCategory: HeadSide
forcedColoring: true
speciesRestriction: [Oni, Harpy, Arachne, Lamia, Human]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/pointy_ears.rsi
state: pointy_ears_thin
- type: marking
id: PointyEarsLarge
bodyPart: HeadSide
markingCategory: HeadSide
forcedColoring: true
speciesRestriction: [Oni, Harpy, Arachne, Lamia, Human]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/pointy_ears.rsi
state: pointy_ears_large
- type: marking
id: PointyEarsNone
bodyPart: HeadSide
markingCategory: HeadSide
forcedColoring: true
speciesRestriction: [Oni]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/pointy_ears.rsi
state: pointy_ears_none

View File

@@ -0,0 +1,715 @@
# Ears
- type: marking
id: EarsShadowkin
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
forcedColoring: true
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- type: marking
id: EarsShadowkinStriped
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
coloring:
default:
type:
!type:SkinColoring
layers:
shadowkin_stripes:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin_stripes
# Tails
- type: marking
id: TailShadowkin
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Shadowkin]
forcedColoring: true
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/tails64x32.rsi
state: shadowkin
- type: marking
id: TailShadowkinBig
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Shadowkin]
forcedColoring: true
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/tails64x32.rsi
state: shadowkin_big
- type: marking
id: TailShadowkinBigFluff
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Shadowkin]
forcedColoring: true
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/tails64x32.rsi
state: shadowkin_big_fluff
- type: marking
id: TailShadowkinShorter
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Shadowkin]
forcedColoring: true
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/tails32x32.rsi
state: shadowkin_shorter
- type: marking
id: TailShadowkinMedium
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Shadowkin]
forcedColoring: true
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/tails32x32.rsi
state: shadowkin_medium
- type: marking
id: EarsShadekinMotley
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
coloring:
default:
type:
!type:SkinColoring
layers:
motley_secondary:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: motley_secondary
- type: marking
id: EarsShadekinShady
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: shady
- type: marking
id: EarsShadekinPiercingAll
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
coloring:
default:
type:
!type:SkinColoring
layers:
piercing_all:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: piercing_all
- type: marking
id: EarsShadekinPiercingLeft
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
coloring:
default:
type:
!type:SkinColoring
layers:
piercing_left:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: piercing_left
- type: marking
id: EarsShadekinPiercingRight
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
coloring:
default:
type:
!type:SkinColoring
layers:
piercing_right:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: piercing_right
- type: marking
id: EarsShadekinRingedAll
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
coloring:
default:
type:
!type:SkinColoring
layers:
ringed_all_secondary:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: ringed_all_secondary
- type: marking
id: EarsShadekinRingedLeft
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
coloring:
default:
type:
!type:SkinColoring
layers:
ringed_left_secondary:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: ringed_left_secondary
- type: marking
id: EarsShadekinRingedRight
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
coloring:
default:
type:
!type:SkinColoring
layers:
ringed_right_secondary:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: ringed_right_secondary
- type: marking
id: EarsShadekinGauzedAll
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: gauze_ear_all_default
- type: marking
id: EarsShadekinGauzedLeft
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: gauze_ear_l_default
- type: marking
id: EarsShadekinGauzedRight
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadowkin/ears.rsi
state: shadowkin
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: gauze_ear_r_default
- type: marking
id: EarsShadekinFluffy
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_default
- type: marking
id: EarsShadekinFluffyButterfly
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_butterfly
- type: marking
id: EarsShadekinFluffyCowling
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_cowling
- type: marking
id: EarsShadekinFluffyCrow
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_crow
- type: marking
id: EarsShadekinFluffyMotley
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_motley
- type: marking
id: EarsShadekinFluffySpidy
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_spidy
- type: marking
id: EarsShadekinFluffyRingedAll
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_ringed_all
- type: marking
id: EarsShadekinFluffyRingedLeft
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_ringed_left
- type: marking
id: EarsShadekinFluffyRingedRight
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: fluffy_ringed_right
- type: marking
id: EarsShadekinSaggy
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_default
- type: marking
id: EarsShadekinSaggyBrawly
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_brawly
- type: marking
id: EarsShadekinSaggyZebra
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_zebra
- type: marking
id: EarsShadekinSaggyGradient
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_gradient
- type: marking
id: EarsShadekinSaggyGauzedAll
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_gauze_all
- type: marking
id: EarsShadekinSaggyGauzedLeft
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_gauze_l
- type: marking
id: EarsShadekinSaggyGauzedRight
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: saggy_gauze_r
- type: marking
id: EarsShadekinShort
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: short_default
- type: marking
id: EarsShadekinShortButterfly
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: short_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: short_butterfly
- type: marking
id: EarsShadekinShortRingedAll
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: short_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: short_ringed_all
- type: marking
id: EarsShadekinShortRingedLeft
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: short_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: short_ringed_left
- type: marking
id: EarsShadekinShortRingedRight
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: short_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: short_ringed_right
- type: marking
id: EarsShadekinBull
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: bull_default
- type: marking
id: EarsShadekinBullSmooth
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: bull_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: bull_smooth
- type: marking
id: EarsShadekinAqua
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: aqua_default
- type: marking
id: EarsShadekinAquaIncolor
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: aqua_default
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_ears_32x32.rsi
state: aqua_incolor
- type: marking
id: BodyShadekinArrow
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_arrow
- type: marking
id: BodyShadekinBlackHole
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_blackhole
- type: marking
id: BodyShadekinBrace
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_brace
- type: marking
id: BodyShadekinBrawly
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_brawly
- type: marking
id: BodyShadekinHeart
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_heart
- type: marking
id: BodyShadekinInk
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_ink
- type: marking
id: BodyShadekinInk2
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_ink2
- type: marking
id: BodyShadekinInk3
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_ink3
- type: marking
id: BodyShadekinInk4
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_ink4
- type: marking
id: BodyShadekinInk5
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_ink5
- type: marking
id: BodyShadekinInk6
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_ink6
- type: marking
id: BodyShadekinInkAnim
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_ink_anim
- type: marking
id: BodyShadekinLines
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_lines
- type: marking
id: BodyShadekinNeck
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_neck
- type: marking
id: BodyShadekinShield
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_shield
- type: marking
id: BodyShadekinVacuum
bodyPart: LLeg
markingCategory: Overlay
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_overlay.rsi
state: body_vacuum
- type: marking
id: TailShadekinShorter
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_tails_32x32.rsi
state: shadekin_shorter
- type: marking
id: TailShadekinShorterBrush
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_tails_32x32.rsi
state: shadekin_shorter
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_tails_32x32.rsi
state: shorter_brush
- type: marking
id: TailShadekinMedium
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_tails_32x32.rsi
state: shadekin_medium
- type: marking
id: TailShadekinMediumTwoColored
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Shadowkin]
sprites:
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_tails_32x32.rsi
state: shadekin_medium
- sprite: _ADT/Mobs/Customization/Shadekin/shadekin_tails_32x32.rsi
state: medium_twocolored

View File

@@ -0,0 +1,27 @@
- type: marking
id: LesserShadowlingEyes
bodyPart: Eyes
markingCategory: Head
speciesRestriction: [Shadow]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadow/lesser_eyes.rsi
state: lesser_eyes
- type: marking
id: AbominationHorns
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Shadowling]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadow/abomination_horns.rsi
state: abomination_horns
- type: marking
id: AbominationTorso
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Shadowling]
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/Shadow/abomination_torso.rsi
state: abomination_torso

View File

@@ -0,0 +1,32 @@
# SPDX-FileCopyrightText: 2024 ScyronX <166930367+ScyronX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: GoblinTusksSmall
bodyPart: Face
markingCategory: Face
speciesRestriction: [Oni]
coloring:
default:
type:
!type:SimpleColoring
color: "#d9d9d9"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/goblin_tusks.rsi
state: goblin_tusks_small
- type: marking
id: GoblinTusksBig
bodyPart: Face
markingCategory: Face
speciesRestriction: [Oni]
coloring:
default:
type:
!type:SimpleColoring
color: "#d9d9d9"
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/goblin_tusks.rsi
state: goblin_tusks_big

View File

@@ -0,0 +1,94 @@
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
speciesRestriction: [IPC]
id: RobotAntennaTv
bodyPart: HeadTop
markingCategory: HeadTop
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
state: ipc_antenna_tv
- type: marking
speciesRestriction: [IPC]
id: RobotAntennaTesla
bodyPart: HeadTop
markingCategory: HeadTop
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
state: ipc_antenna_tesla
# - type: marking
# speciesRestriction: [IPC]
# id: RobotAntennaLightb
# bodyPart: HeadTop
# markingCategory: HeadTop
# sprites:
# - sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
# state: ipc_antenna_lightb
# - type: marking
# speciesRestriction: [IPC]
# id: RobotAntennaLight
# bodyPart: HeadTop
# markingCategory: HeadTop
# sprites:
# - sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
# state: ipc_antenna_light
- type: marking
speciesRestriction: [IPC]
id: RobotAntennaCyberhead
bodyPart: HeadTop
markingCategory: HeadTop
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
state: ipc_antenna_cyberhead
# - type: marking
# speciesRestriction: [IPC]
# id: RobotAntennaSidelights
# bodyPart: HeadTop
# markingCategory: HeadTop
# sprites:
# - sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
# state: ipc_antenna_sidelights
- type: marking
speciesRestriction: [IPC]
id: RobotAntennaAntlers
bodyPart: HeadTop
markingCategory: HeadTop
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
state: ipc_antenna_antlers
- type: marking
speciesRestriction: [IPC]
id: RobotAntennaDroneeyes
bodyPart: HeadTop
markingCategory: HeadTop
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
state: ipc_antenna_droneeyes
- type: marking
speciesRestriction: [IPC]
id: RobotAntennaCrowned
bodyPart: HeadTop
markingCategory: HeadTop
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
state: ipc_antenna_crowned
- type: marking
speciesRestriction: [IPC]
id: RobotAntennaTowers
bodyPart: HeadTop
markingCategory: HeadTop
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_antenna.rsi
state: ipc_antenna_towers

View File

@@ -0,0 +1,136 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: CyberLimbsMarkingBishopHead
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_monitor.rsi
state: head
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_monitor.rsi
state: head-2
- type: marking
id: CyberLimbsMarkingBishopHeadAlt
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: head
- type: marking
id: CyberLimbsMarkingBishopHeadAlt1
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_alt1.rsi
state: head
- type: marking
id: CyberLimbsMarkingBishopChest
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: torso-primary
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: torso-secondary
- type: marking
id: CyberLimbsMarkingBishopLArm
bodyPart: LArm
markingCategory: LeftArm
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: l_arm-primary
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: l_arm-secondary
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: l_arm-tertiary
- type: marking
id: CyberLimbsMarkingBishopLHand
bodyPart: LHand
markingCategory: LeftHand
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: l_hand
- type: marking
id: CyberLimbsMarkingBishopLLeg
bodyPart: LLeg
markingCategory: LeftLeg
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: l_leg-primary
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: l_leg-secondary
- type: marking
id: CyberLimbsMarkingBishopLFoot
bodyPart: LFoot
markingCategory: LeftFoot
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: l_foot
- type: marking
id: CyberLimbsMarkingBishopRArm
bodyPart: RArm
markingCategory: RightArm
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: r_arm-primary
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: r_arm-secondary
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: r_arm-tertiary
- type: marking
id: CyberLimbsMarkingBishopRHand
bodyPart: RHand
markingCategory: RightHand
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: r_hand
- type: marking
id: CyberLimbsMarkingBishopRLeg
bodyPart: RLeg
markingCategory: RightLeg
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: r_leg-primary
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: r_leg-secondary
- type: marking
id: CyberLimbsMarkingBishopRFoot
bodyPart: RFoot
markingCategory: RightFoot
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/bishop/bishop_main.rsi
state: r_foot

View File

@@ -0,0 +1,136 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: CyberLimbsMarkingHesphiastosHead
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_monitor.rsi
state: head-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_monitor.rsi
state: head-2
- type: marking
id: CyberLimbsMarkingHesphiastosHeadAlt
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_alt1.rsi
state: head-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_alt1.rsi
state: head-2
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_alt1.rsi
state: head-3
- type: marking
id: CyberLimbsMarkingHesphiastosChest
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: torso-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: torso-2
- type: marking
id: CyberLimbsMarkingHesphiastosLArm
bodyPart: LArm
markingCategory: LeftArm
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: l_arm-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: l_arm-2
- type: marking
id: CyberLimbsMarkingHesphiastosLHand
bodyPart: LHand
markingCategory: LeftHand
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: l_hand-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: l_hand-2
- type: marking
id: CyberLimbsMarkingHesphiastosLLeg
bodyPart: LLeg
markingCategory: LeftLeg
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: l_leg-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: l_leg-2
- type: marking
id: CyberLimbsMarkingHesphiastosLFoot
bodyPart: LFoot
markingCategory: LeftFoot
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: l_foot-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: l_foot-2
- type: marking
id: CyberLimbsMarkingHesphiastosRArm
bodyPart: RArm
markingCategory: RightArm
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: r_arm-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: r_arm-2
- type: marking
id: CyberLimbsMarkingHesphiastosRHand
bodyPart: RHand
markingCategory: RightHand
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: r_hand-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: r_hand-2
- type: marking
id: CyberLimbsMarkingHesphiastosRLeg
bodyPart: RLeg
markingCategory: RightLeg
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: r_leg-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: r_leg-2
- type: marking
id: CyberLimbsMarkingHesphiastosRFoot
bodyPart: RFoot
markingCategory: RightFoot
speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: r_foot-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/hesphiastos/hesphiastos_main.rsi
state: r_foot-2

View File

@@ -0,0 +1,166 @@
# SPDX-FileCopyrightText: 2024 VMSolidus <evilexecutive@gmail.com>
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: CyberLimbsMarkingMorpheusHead
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: head
- type: marking
id: CyberLimbsMarkingMorpheusHeadAlt
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_alt1.rsi
state: head
- type: marking
id: CyberLimbsMarkingMorpheusChest
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: torso
- type: marking
id: CyberLimbsMarkingMorpheusLArm
bodyPart: LArm
markingCategory: LeftArm
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: l_arm
- type: marking
id: CyberLimbsMarkingMorpheusLHand
bodyPart: LHand
markingCategory: LeftHand
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: l_hand
- type: marking
id: CyberLimbsMarkingMorpheusLLeg
bodyPart: LLeg
markingCategory: LeftLeg
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: l_leg
- type: marking
id: CyberLimbsMarkingMorpheusLFoot
bodyPart: LFoot
markingCategory: LeftFoot
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: l_foot
- type: marking
id: CyberLimbsMarkingMorpheusRArm
bodyPart: RArm
markingCategory: RightArm
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: r_arm
- type: marking
id: CyberLimbsMarkingMorpheusRHand
bodyPart: RHand
markingCategory: RightHand
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: r_hand
- type: marking
id: CyberLimbsMarkingMorpheusRLeg
bodyPart: RLeg
markingCategory: RightLeg
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: r_leg
- type: marking
id: CyberLimbsMarkingMorpheusRFoot
bodyPart: RFoot
markingCategory: RightFoot
speciesRestriction: [IPC]
coloring:
default:
type:
!type:SimpleColoring
color: "#FFFFFF"
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/morpheus/morpheus_main.rsi
state: r_foot

View File

@@ -0,0 +1,394 @@
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
## CANT SET THESE SCREENS TO "shader: unshaded"
## RobustToolbox/Robust.Shared/Utility/SpriteSpecifier.cs
- type: marking
speciesRestriction: [ IPC ]
id: ScreenStatic
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_static
- type: marking
speciesRestriction: [ IPC ]
id: ScreenBlue
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_blue
- type: marking
speciesRestriction: [ IPC ]
id: ScreenBreakout
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_breakout
- type: marking
speciesRestriction: [ IPC ]
id: ScreenEight
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_eight
- type: marking
speciesRestriction: [ IPC ]
id: ScreenGoggles
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_goggles
- type: marking
speciesRestriction: [ IPC ]
id: ScreenExclaim
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_exclaim
- type: marking
speciesRestriction: [ IPC ]
id: ScreenHeart
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_heart
- type: marking
speciesRestriction: [ IPC ]
id: ScreenMonoeye
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_monoeye
- type: marking
speciesRestriction: [ IPC ]
id: ScreenNature
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_nature
- type: marking
speciesRestriction: [ IPC ]
id: ScreenOrange
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_orange
- type: marking
speciesRestriction: [ IPC ]
id: ScreenPink
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_pink
- type: marking
speciesRestriction: [ IPC ]
id: ScreenQuestion
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_question
- type: marking
speciesRestriction: [ IPC ]
id: ScreenShower
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_shower
- type: marking
speciesRestriction: [ IPC ]
id: ScreenYellow
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_yellow
- type: marking
speciesRestriction: [ IPC ]
id: ScreenScroll
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_scroll
- type: marking
speciesRestriction: [ IPC ]
id: ScreenConsole
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_console
- type: marking
speciesRestriction: [ IPC ]
id: ScreenRgb
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_rgb
- type: marking
speciesRestriction: [ IPC ]
id: ScreenGlider
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_glider
- type: marking
speciesRestriction: [ IPC ]
id: ScreenRainbowhoriz
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_rainbowhoriz
- type: marking
speciesRestriction: [ IPC ]
id: ScreenBsod
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_bsod
- type: marking
speciesRestriction: [ IPC ]
id: ScreenRedtext
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_redtext
- type: marking
speciesRestriction: [ IPC ]
id: ScreenSinewave
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_sinewave
- type: marking
speciesRestriction: [ IPC ]
id: ScreenSquarewave
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_squarewave
- type: marking
speciesRestriction: [ IPC ]
id: ScreenEcgwave
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_ecgwave
- type: marking
speciesRestriction: [ IPC ]
id: ScreenEyes
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_eyes
- type: marking
speciesRestriction: [ IPC ]
id: ScreenEyestall
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_eyestall
- type: marking
speciesRestriction: [ IPC ]
id: ScreenEyesangry
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_eyesangry
- type: marking
speciesRestriction: [ IPC ]
id: ScreenLoading
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_loading
- type: marking
speciesRestriction: [ IPC ]
id: ScreenWindowsxp
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_windowsxp
- type: marking
speciesRestriction: [ IPC ]
id: ScreenTetris
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_tetris
- type: marking
speciesRestriction: [ IPC ]
id: ScreenTv
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_tv
- type: marking
speciesRestriction: [ IPC ]
id: ScreenTextdrop
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_textdrop
- type: marking
speciesRestriction: [ IPC ]
id: ScreenStars
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_stars
- type: marking
speciesRestriction: [ IPC ]
id: ScreenRainbowdiag
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_rainbowdiag
- type: marking
speciesRestriction: [ IPC ]
id: ScreenBlank
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_blank
- type: marking
speciesRestriction: [ IPC ]
id: ScreenSmile
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_smile
- type: marking
speciesRestriction: [ IPC ]
id: ScreenFrown
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_frown
- type: marking
speciesRestriction: [ IPC ]
id: ScreenRing
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_ring
- type: marking
speciesRestriction: [ IPC ]
id: ScreenL
bodyPart: Face
markingCategory: Face
sprites:
- sprite: _EinsteinEngines/Mobs/Customization/ipc_screens.rsi
state: ipc_screen_l

View File

@@ -0,0 +1,130 @@
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: CyberLimbsMarkingShellguardHead
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_monitor.rsi
state: head-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_monitor.rsi
state: head-2
- type: marking
id: CyberLimbsMarkingShellguardHeadAlt
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_alt1.rsi
state: head-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_alt1.rsi
state: head-2
- type: marking
id: CyberLimbsMarkingShellguardChest
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: torso-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: torso-2
- type: marking
id: CyberLimbsMarkingShellguardLArm
bodyPart: LArm
markingCategory: LeftArm
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: l_arm-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: l_arm-2
- type: marking
id: CyberLimbsMarkingShellguardLHand
bodyPart: LHand
markingCategory: LeftHand
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: l_hand-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: l_hand-2
- type: marking
id: CyberLimbsMarkingShellguardLLeg
bodyPart: LLeg
markingCategory: LeftLeg
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: l_leg-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: l_leg-2
- type: marking
id: CyberLimbsMarkingShellguardLFoot
bodyPart: LFoot
markingCategory: LeftFoot
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: l_foot-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: l_foot-2
- type: marking
id: CyberLimbsMarkingShellguardRArm
bodyPart: RArm
markingCategory: RightArm
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: r_arm-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: r_arm-2
- type: marking
id: CyberLimbsMarkingShellguardRHand
bodyPart: RHand
markingCategory: RightHand
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: r_hand-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: r_hand-2
- type: marking
id: CyberLimbsMarkingShellguardRLeg
bodyPart: RLeg
markingCategory: RightLeg
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: r_leg-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: r_leg-2
- type: marking
id: CyberLimbsMarkingShellguardRFoot
bodyPart: RFoot
markingCategory: RightFoot
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: r_foot-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/shellguard/shellguard_main.rsi
state: r_foot-2

View File

@@ -0,0 +1,117 @@
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: CyberLimbsMarkingWardtakahashiHead
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_monitor.rsi
state: head
- type: marking
id: CyberLimbsMarkingWardtakahashiHeadAlt
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: head
- type: marking
id: CyberLimbsMarkingWardtakahashiHeadAlt1
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_alt1.rsi
state: head
- type: marking
id: CyberLimbsMarkingWardtakahashiChest
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: torso
- type: marking
id: CyberLimbsMarkingWardtakahashiLArm
bodyPart: LArm
markingCategory: LeftArm
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: l_arm
- type: marking
id: CyberLimbsMarkingWardtakahashiLHand
bodyPart: LHand
markingCategory: LeftHand
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: l_hand
- type: marking
id: CyberLimbsMarkingWardtakahashiLLeg
bodyPart: LLeg
markingCategory: LeftLeg
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: l_leg
- type: marking
id: CyberLimbsMarkingWardtakahashiLFoot
bodyPart: LFoot
markingCategory: LeftFoot
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: l_foot
- type: marking
id: CyberLimbsMarkingWardtakahashiRArm
bodyPart: RArm
markingCategory: RightArm
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: r_arm
- type: marking
id: CyberLimbsMarkingWardtakahashiRHand
bodyPart: RHand
markingCategory: RightHand
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: r_hand
- type: marking
id: CyberLimbsMarkingWardtakahashiRLeg
bodyPart: RLeg
markingCategory: RightLeg
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: r_leg
- type: marking
id: CyberLimbsMarkingWardtakahashiRFoot
bodyPart: RFoot
markingCategory: RightFoot
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/wardtakahashi/wardtakahashi_main.rsi
state: r_foot

View File

@@ -0,0 +1,131 @@
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: CyberLimbsMarkingXionHead
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_monitor.rsi
state: head-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_monitor.rsi
state: head-2
- type: marking
id: CyberLimbsMarkingXionHeadAlt
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_alt1.rsi
state: head-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_alt1.rsi
state: head-2
- type: marking
id: CyberLimbsMarkingXionChest
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: torso-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: torso-2
- type: marking
id: CyberLimbsMarkingXionLArm
bodyPart: LArm
markingCategory: LeftArm
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: l_arm-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: l_arm-2
- type: marking
id: CyberLimbsMarkingXionLHand
bodyPart: LHand
markingCategory: LeftHand
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: l_hand-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: l_hand-2
- type: marking
id: CyberLimbsMarkingXionLLeg
bodyPart: LLeg
markingCategory: LeftLeg
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: l_leg-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: l_leg-2
- type: marking
id: CyberLimbsMarkingXionLFoot
bodyPart: LFoot
markingCategory: LeftFoot
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: l_foot-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: l_foot-2
- type: marking
id: CyberLimbsMarkingXionRArm
bodyPart: RArm
markingCategory: RightArm
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: r_arm-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: r_arm-2
- type: marking
id: CyberLimbsMarkingXionRHand
bodyPart: RHand
markingCategory: RightHand
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: r_hand-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: r_hand-2
- type: marking
id: CyberLimbsMarkingXionRLeg
bodyPart: RLeg
markingCategory: RightLeg
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: r_leg-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: r_leg-2
- type: marking
id: CyberLimbsMarkingXionRFoot
bodyPart: RFoot
markingCategory: RightFoot
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: r_foot-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/xion/xion_main.rsi
state: r_foot-2

View File

@@ -0,0 +1,120 @@
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: CyberLimbsMarkingZenghuHead
bodyPart: Head
markingCategory: Head
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: head-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: head-2
- type: marking
id: CyberLimbsMarkingZenghuChest
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: torso-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: torso-2
- type: marking
id: CyberLimbsMarkingZenghuLArm
bodyPart: LArm
markingCategory: LeftArm
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: l_arm-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: l_arm-2
- type: marking
id: CyberLimbsMarkingZenghuLHand
bodyPart: LHand
markingCategory: LeftArm
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: l_hand-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: l_hand-2
- type: marking
id: CyberLimbsMarkingZenghuLLeg
bodyPart: LLeg
markingCategory: LeftLeg
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: l_leg-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: l_leg-2
- type: marking
id: CyberLimbsMarkingZenghuLFoot
bodyPart: LFoot
markingCategory: LeftFoot
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: l_foot-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: l_foot-2
- type: marking
id: CyberLimbsMarkingZenghuRArm
bodyPart: RArm
markingCategory: RightArm
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: r_arm-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: r_arm-2
- type: marking
id: CyberLimbsMarkingZenghuRHand
bodyPart: RHand
markingCategory: RightHand
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: r_hand-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: r_hand-2
- type: marking
id: CyberLimbsMarkingZenghuRLeg
bodyPart: RLeg
markingCategory: RightLeg
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: r_leg-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: r_leg-2
- type: marking
id: CyberLimbsMarkingZenghuRFoot
bodyPart: RFoot
markingCategory: RightFoot
speciesRestriction: [IPC]
sprites:
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: r_foot-1
- sprite: _EinsteinEngines/Mobs/Species/Cybernetics/zenghu/zenghu_main.rsi
state: r_foot-2

View File

@@ -0,0 +1,168 @@
# SPDX-FileCopyrightText: 2025 CerberusWolfie <wb.johnb.willis@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Tim <timfalken@hotmail.com>
# SPDX-FileCopyrightText: 2025 Timfa <timfalken@hotmail.com>
# SPDX-FileCopyrightText: 2025 grub <unalterableness@gmail.com>
# SPDX-FileCopyrightText: 2025 shityaml <unalterableness@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
name: squackroach
parent: MobCockroach
id: MobSquackroach
description: This is just a horrific genetic stew of a specimen.
components:
- type: HarpySinger
ShutUpDamageThreshold: 5 # Punch does 5 damage
- type: Instrument
allowPercussion: false
program: 52
- type: SwappableInstrument
instrumentList:
"Voice": {52: 0}
"Trumpet": {56: 0}
"Electric": {27: 0}
"Bass": {33: 0}
"Rock": {29: 0}
"Acoustic": {24: 0}
"Flute": {73: 0}
"Sax": {66: 0}
"Piano": {1: 0}
"Church Organ": {19: 0}
"Violin": {41: 0}
- type: GhostRole
makeSentient: true
allowSpeech: true
allowMovement: true
name: ghost-role-information-squackroach-name
description: ghost-role-information-squackroach-description
rules: ghost-role-information-freeagent-rules
mindRoles:
- MindRoleGhostRoleFreeAgent
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.2
density: 0.007
mask:
- SmallMobMask
layer:
- SmallMobLayer
- type: GhostTakeoverAvailable
- type: Speech
speechVerb: Harpy
speechSounds: Harpy
- type: FaxableObject
insertingState: inserting_squackroach
- type: Sprite
sprite: _EinsteinEngines/Mobs/Animals/squackroach.rsi
layers:
- map: ["enum.DamageStateVisualLayers.Base", "movement"]
state: squackroach
- map: [ "singingLayer" ]
sprite: _DV/Effects/harpysinger.rsi
state: singing_music_notes
visible: false
- type: SpriteMovement
movementLayers:
movement:
state: squackroach-moving
noMovementLayers:
movement:
state: squackroach
- type: Item
size: Normal
- type: Clothing
quickEquip: false
sprite: _EinsteinEngines/Mobs/Animals/squackroach.rsi
equippedPrefix: sq
slots:
- HEAD
- NECK
- type: Appearance
- type: DamageStateVisuals
states:
Alive:
Base: squackroach
Critical:
Base: squackroach_dead
Dead:
Base: squackroach_dead
- type: MobThresholds
thresholds:
0: Alive
40: Critical
60: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseSprintSpeed : 4
weightlessAcceleration: 1.5
weightlessFriction: 1
weightlessModifier: 1.12
- type: Damageable
damageContainer: Biological
damageModifierSet: Moth
- type: Bloodstream
bloodReagent: InsectBlood # it's still somewhat an insect... somehow
- type: Respirator
- type: CombatMode
- type: Butcherable
spawned:
- id: FoodMeatRat
amount: 2
- type: Extractable
grindableSolutionName: food
- type: LanguageKnowledge
speaks:
- ValyrianStandard
understands:
- TauCetiBasic # Goob Edit
- ValyrianStandard
- type: Vocal
sounds:
Male: SoundsHarpyMale
Female: SoundsHarpyFemale
Unsexed: SoundsHarpyFemale
wilhelmProbability: 0.001
- type: GenericVisualizer
visuals:
enum.HarpyVisualLayers.Singing:
singingLayer:
False: {visible: false}
True: {visible: true}
- type: MobPrice
price: 150
- type: Tag
tags:
- Trash
- CannotSuicide
- HarpyEmotes
- VimPilot
- type: CanEscapeInventory
- type: NpcFactionMember
factions:
- Mouse
- type: Body
prototype: Squackroach
- type: Destructible
thresholds:
- trigger:
!type:DamageTypeTrigger
damageType: Blunt
damage: 60
behaviors:
- !type:GibBehavior { }
- type: FireVisuals
sprite: Mobs/Effects/onfire.rsi
normalState: Mouse_burning
- type: SurgeryTarget
- type: UserInterface
interfaces:
enum.SurgeryUIKey.Key:
type: SurgeryBui
enum.InstrumentUiKey.Key:
type: InstrumentBoundUserInterface
requireInputValidation: false

View File

@@ -0,0 +1,66 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Tim <timfalken@hotmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: MobSiliconBase
id: MobFillBot
name: fillbot
description: It picks up things and puts them somewhere else.
components:
- type: Fillbot
- type: Sprite
sprite: _EinsteinEngines/Mobs/Silicon/Bots/fillbot.rsi
state: fillbot
- type: Construction
graph: FillBot
node: bot
- type: SentienceTarget
flavorKind: station-event-random-sentience-flavor-mechanical
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 3
- type: NoSlip
- type: UserInterface
interfaces:
enum.StrippingUiKey.Key:
type: StrippableBoundUserInterface
- type: Hands
showInHands: false
- type: ComplexInteraction
- type: Body
prototype: SiliconHand
requiredLegs: 0
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.2
density: 100
mask:
- SmallMobMask
layer:
- SmallMobLayer
- type: HTN
rootTask:
task: FillbotCompound
- type: DeviceLinkSource
ports:
- FillItems
- type: InteractionPopup
interactSuccessString: petting-success-fillbot
interactFailureString: petting-failure-fillbot
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: GhostRole # Goob
prob: 0.05
makeSentient: true
allowSpeech: true
allowMovement: true
name: ghost-role-information-fillbot-name
description: ghost-role-information-fillbot-description
rules: ghost-role-information-familiar-rules
- type: GhostTakeoverAvailable

View File

@@ -0,0 +1,99 @@
- type: entity
parent: MobSiliconBase
id: MobMineBot
name: minebot
description: A miner's best friend!
components:
- type: Sprite
sprite: _EinsteinEngines/Mobs/Silicon/Bots/minebot.rsi
state: minebot
- type: Construction
graph: MineBot
node: bot
- type: GhostRole
makeSentient: true
name: ghost-role-information-minebot-name
description: ghost-role-information-minebot-description
raffle:
settings: default
- type: GhostTakeoverAvailable
- type: Tag
tags:
- Pickaxe
- type: Access
tags:
- Cargo
- Maintenance
- Salvage
- type: UnpoweredFlashlight
- type: PointLight
enabled: false
radius: 3.5
softness: 2
mask: /Textures/Effects/LightMasks/cone.png
autoRot: true
- type: UseDelay
delay: 0.65
- type: NpcFactionMember
factions:
- NanoTrasen
- type: CombatMode
- type: MeleeWeapon
attackRate: 0.65
range: 1.5
wideAnimationRotation: -135
soundHit:
path: "/Audio/Weapons/smash.ogg"
params:
volume: -3
damage:
types:
Blunt: 6
Piercing: 3
Structural: 20
bluntStaminaDamageFactor: 2.0
angle: 80
- type: DamageOtherOnHit
damage:
types:
Piercing: 5
- type: MobThresholds
thresholds:
0: Alive
120: Dead
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 110
behaviors:
- !type:TriggerBehavior
- trigger:
!type:DamageTrigger
damage: 120
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
ProximitySensor:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 3
- type: ActiveRadio
channels:
# - Binary # Goobstation - replaced with collective mind
- Common
- Supply
# Goobstation
- type: CollectiveMind
defaultChannel: Binary
channels:
- Binary
- type: InteractionPopup
interactSuccessString: petting-success-minebot
interactFailureString: petting-failure-minebot
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg

View File

@@ -0,0 +1,54 @@
- type: entity
parent: MobSiliconBase
id: MobPlantbot
name: plantbot
description: A botanist's best friend!
components:
- type: Plantbot
- type: Sprite
sprite: _EinsteinEngines/Mobs/Silicon/Bots/plantbot.rsi
state: plantbot
- type: HTN
rootTask:
task: PlantbotCompound
- type: Construction
graph: PlantBot
node: bot
- type: NoSlip
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 110
behaviors:
- !type:TriggerBehavior
- trigger:
!type:DamageTrigger
damage: 120
behaviors:
- !type:SpillBehavior
solution: tank
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: SolutionContainerManager
solutions:
tank:
reagents:
- ReagentId: Water
Quantity: 100
- type: SentienceTarget
flavorKind: station-event-random-sentience-flavor-mechanical
- type: Anchorable
- type: InteractionPopup
interactSuccessString: petting-success-plantbot
interactFailureString: petting-failure-plantbot
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: ShowHealthBars
damageContainers:
- Inorganic
- Silicon
- type: ShowHealthIcons
damageContainers:
- Inorganic
- Silicon

View File

@@ -0,0 +1,209 @@
# SPDX-FileCopyrightText: 2024 Fishbait <Fishbait@git.ml>
# SPDX-FileCopyrightText: 2024 HawkeyeBlade <hawkeyewarframexd@gmail.com>
# SPDX-FileCopyrightText: 2024 fishbait <gnesse@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aineias1 <142914808+Aineias1@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <deniskaporoshok@gmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ilya246 <ilyukarno@gmail.com>
# SPDX-FileCopyrightText: 2025 John Willis <143434770+CerberusWolfie@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 JohnOakman <sremy2012@hotmail.fr>
# SPDX-FileCopyrightText: 2025 LuciferMkshelter <154002422+LuciferEOS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 PJB3005 <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Rouge2t7 <81053047+Sarahon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: MobIPC
parent: PlayerSiliconHumanoidBase
name: Urist McPositronic
description: A positronic brain in a metal body.
components:
- type: LanguageKnowledge # Einstein Engines - Languages
speaks:
- TauCetiBasic
- RobotTalk
understands:
- TauCetiBasic
- RobotTalk
- type: HarpySinger
ShutUpDamageThreshold: 5 # Punch does 5 damage
- type: Instrument
allowPercussion: true
allowProgramChange: true
program: 52
- type: SwappableInstrument
instrumentList:
"Daw": { 0: 0 }
- type: UserInterface
interfaces:
enum.InstrumentUiKey.Key:
type: InstrumentBoundUserInterface
requireInputValidation: false
enum.VoiceMaskUIKey.Key:
type: VoiceMaskBoundUserInterface
enum.HumanoidMarkingModifierKey.Key:
type: HumanoidMarkingModifierBoundUserInterface
enum.StrippingUiKey.Key:
type: StrippableBoundUserInterface
# Goobstation - changelings (technically, IPCs cant be a ling, but whatever)
enum.StoreUiKey.Key:
type: StoreBoundUserInterface
enum.HereticLivingHeartKey.Key: # goob edit - heretics
type: LivingHeartMenuBoundUserInterface
enum.WizardTeleportUiKey.Key: # Goobstation - wizard
type: WizardTeleportBoundUserInterface
requireInputValidation: false
enum.SurgeryUIKey.Key: # Shitmed
type: SurgeryBui
# Goobstation Start - Energycrit
# - type: PowerCellSlot
# cellSlotId: cell_slot
# fitsInCharger: true
# - type: ItemSlots
# slots:
# cell_slot:
# locked: true
# name: power-cell-slot-component-slot-name-default
# startingItem: PowerCellMedium
# - type: BatterySlotRequiresLock
# itemSlot: cell_slot
- type: Battery # Power cell slot replaced with high capacity battery
maxCharge: 1080
startingCharge: 1080
# Goobstation End - Energycrit
- type: EncryptionHolderRequiresLock
#- Goobstation - Energycrit
#- type: SiliconEmitSoundOnDrained
# sound: "/Audio/_Goobstation/Voice/IPC/energy_low.ogg" # Goobstation - ipc audio
# minInterval: 8
# maxInterval: 12
# popUp: "silicon-power-low"
- type: Lock
locked: true
lockOnClick: false
unlockOnClick: false
lockTime: 5
unlockTime: 5
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: NpcFactionMember
factions:
- NanoTrasen
- type: StandingState
- type: Damageable
damageContainer: SiliconRadiation
damageModifierSet: IPC
- type: MobState
allowedStates:
- Alive
- Dead
- type: MobThresholds
thresholds:
0: Alive
100: Dead
stateAlertDict:
Alive: BorgHealth
Dead: BorgDead
- type: TypingIndicator
proto: robot
- type: Destructible
thresholds:
- trigger:
!type:DamageTypeTrigger
damageType: Blunt
damage: 400
behaviors:
- !type:GibBehavior { }
- type: SlowOnDamage
speedModifierThresholds:
60: 0.7
80: 0.5
- type: SiliconDownOnDead
- type: Inventory
templateId: ipc
- type: GuideHelp
guides:
- IPC
- type: Silicon
entityType: enum.SiliconType.Player
batteryPowered: true
drainPerSecond: 1.5
chargeThresholdMid: 0.80
chargeThresholdLow: 0.35
chargeThresholdCritical: 0.10
speedModifierThresholds:
4: 1
3: 1
2: 0.80
1: 0.45
0: 0.10 # Goobstation - Energycrit
- type: BatteryDrinker
blacklist: # Goobstation - Energycrit
tags:
- IPCDrinkBlacklist
- type: EncryptionKeyHolder
keySlots: 4
examineWhileLocked: false
keysExtractionMethod: Cutting
keysUnlocked: false
- type: ActiveRadio
- type: IntrinsicRadioReceiver
- type: IntrinsicRadioTransmitter
- type: DeadStartupButton
sound:
path: /Audio/_EinsteinEngines/Effects/Silicon/startup.ogg
# Erro de linter
# - type: Wires
# layoutId: IPC
- type: EmitBuzzWhileDamaged
- type: CanHostGuardian
- type: Repairable #Goob edit
fuelCost: 5
doAfterDelay: 3
selfRepairPenalty: 2.0
damage:
types:
Blunt: -15
Piercing: -15
Slash: -15
- type: DamagedSiliconAccent
- type: Uncloneable
- type: OwnInteractionVerbs
allowedVerbs: []
- type: Sprinter # Goob Change: slight nerf to speed because heavy robot, mass contest when
sprintSpeedMultiplier: 1.2
- type: Tag
tags:
- SiliconMob
- SiliconEmotes
- CanPilot
- FootstepSound
- DoorBumpOpener
- AnomalyHost
- IPCDrinkBlacklist # Goobstation - Energycrit: Don't let self antagging IPCs steal power from other ipcs.
- type: entity
save: false
name: Urist McPositronic
parent: MobHumanDummy
id: MobIPCDummy
categories: [ HideSpawnMenu ] # Goobstation
description: A dummy IPC meant to be used in character setup.
components:
- type: HumanoidAppearance
species: IPC
- type: Inventory
templateId: ipc

View File

@@ -0,0 +1,5 @@
- type: entity
save: false
name: Urist McPlasma
parent: BaseMobPlasmaman
id: MobPlasmaman

View File

@@ -0,0 +1,5 @@
- type: entity
save: false
name: Urist McShadow
parent: MobShadowkinBase
id: MobShadowkin

View File

@@ -0,0 +1,353 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <deniskaporoshok@gmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
# SPDX-FileCopyrightText: 2025 vanx <61917534+Vaaankas@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
id: PlayerSiliconHumanoidBase
parent: [BaseMob, MobDamageable, MobCombat, MobAtmosExposed, MobFlammable]
abstract: true
components:
- type: ContentEye
- type: CameraRecoil
- type: Reactive
groups:
Flammable: [Touch]
Extinguish: [Touch]
Acidic: [Touch]
reactions:
- reagents: [Water, SpaceCleaner]
methods: [Touch]
effects:
- !type:WashCreamPieReaction
- type: DamageOnHighSpeedImpact
damage:
types:
Blunt: 10
soundHit:
path: /Audio/Effects/hit_kick.ogg
- type: Damageable
damageContainer: SiliconRadiation # Goobstation - Make IPCs take radiation
damageModifierSet: IPC
- type: InteractionOutline
- type: MovementSpeedModifier
baseWalkSpeed: 4
baseSprintSpeed: 3
- type: ZombieImmune
- type: DoAfter
- type: RotationVisuals
defaultRotation: 90
horizontalRotation: 90
- type: Examiner
# - type: Recyclable
# safe: false
# - type: EyeProtection # You'll want this if your robot can't wear glasses, like an IPC.
# protectionTime: 12
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 185
restitution: 0.0
mask:
- MobMask
layer:
- MobLayer
- type: Silicon
entityType: enum.SiliconType.Player
batteryPowered: false # Needs to also have a battery!
chargeThresholdMid: 0.60
chargeThresholdLow: 0.30
chargeThresholdCritical: 0
speedModifierThresholds:
4: 1
3: 1
2: 0.80
1: 0.45
0: 0.00
- type: Temperature
heatDamageThreshold: 450 # Another goob edit: Wanted to do 363.15 for le realism, but reptiles have 400K limit which is ????
coldDamageThreshold: 260
currentTemperature: 310.15 # Goob note: 310K is the standard operating temperature of a home circuit breaker
specificHeat: 42
coldDamage:
types:
Cold: 0.1 #per second, scales with temperature & other constants
heatDamage:
types:
Heat: 2 #per second, scales with temperature & other constants
atmosTemperatureTransferEfficiency: 0.05
- type: KillOnOverheat # Goob edit
- type: Deathgasp
prototype: SiliconDeathgasp
needsCritical: false
- type: MobState
allowedStates:
- Alive
- Dead
- type: MobThresholds
thresholds:
0: Alive
165: Dead
- type: Destructible
thresholds:
- trigger: !type:DamageTrigger
damage: 500
behaviors:
- !type:GibBehavior {}
- type: Icon
sprite: _EinsteinEngines/Mobs/Species/IPC/parts.rsi
state: full
- type: Sprite
noRot: true
drawdepth: Mobs
layers:
- map: ["enum.HumanoidVisualLayers.Chest"]
- map: ["enum.HumanoidVisualLayers.Groin"]
- map: ["enum.HumanoidVisualLayers.Head"]
- map: ["enum.HumanoidVisualLayers.Snout"]
- map: ["enum.HumanoidVisualLayers.Eyes"]
- map: ["enum.HumanoidVisualLayers.RArm"]
- 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: female_full
visible: false
- map: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]
- map: ["socks"]
- map: ["underpants"]
- map: ["undershirt"]
- map: ["jumpsuit"]
- map: ["enum.HumanoidVisualLayers.LHand"]
- map: ["enum.HumanoidVisualLayers.RHand"]
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: ["id"]
- map: ["gloves"]
- map: ["shoes"]
- map: ["ears"]
- map: ["outerClothing"]
- map: ["eyes"]
- map: ["belt"]
- map: ["neck"]
- map: ["back"]
- map: [ "enum.HumanoidVisualLayers.Face" ]
- map: ["enum.HumanoidVisualLayers.FacialHair"]
- map: ["enum.HumanoidVisualLayers.HeadSide"]
- map: [ "maskalt" ]
- map: ["enum.HumanoidVisualLayers.Hair"]
- map: ["mask"]
- map: ["enum.HumanoidVisualLayers.HeadTop"]
- map: ["head"]
- map: ["pocket1"]
- map: ["pocket2"]
- map: ["enum.HumanoidVisualLayers.Tail"]
- map: ["clownedon"] # Dynamically generated
sprite: "Effects/creampie.rsi"
state: "creampie_human"
visible: false
- type: CanEnterCryostorage # Goobstation
- type: StatusIcon # Goobstation
bounds: -0.5,-0.5,0.5,0.5
- type: HasJobIcons # Goobstation
#- type: Bloodstream This is left commented out because it's not necessary for a robot, but you may want it.
# damageBleedModifiers: BloodlossIPC
# bloodReagent: Oil
# bleedReductionAmount: 0
# bloodMaxVolume: 500
# chemicalMaxVolume: 0
# bleedPuddleThreshold: 3
# bleedRefreshAmount: 0
# bloodLossThreshold: 0
# maxBleedAmount: 14
# bloodlossDamage:
# types:
# Burn: 1.5
# bloodlossHealDamage:
# types:
# Burn: 0
- type: Flammable
fireSpread: true
canResistFire: true
damage:
types:
Heat: 0 # GoobStation: Replaced fire damage with overheating shutdown
# - type: Barotrauma # Not particularly modifiable. In the future, some response to pressure changes would be nice.
# damage:
# types:
# Blunt: 0.28 #per second, scales with pressure and other constants.
- type: Identity
# soundHit:
# path: /Audio/Effects/metalbreak.ogg
- type: RangedDamageSound
soundGroups:
Brute:
collection: MetalBulletImpact
soundTypes:
Heat:
collection: MetalLaserImpact
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- IPCDrinkBlacklist # Goobstation - Energycrit: Don't let self antagging IPCs steal power from other battery powered species.
- type: Hands
- type: Inventory
templateId: human
- type: InventorySlots
- type: Appearance
- type: GenericVisualizer
visuals:
enum.CreamPiedVisuals.Creamed:
clownedon: # Not 'creampied' bc I can already see Skyrat complaining about conflicts.
True: { visible: true }
False: { visible: false }
- type: Cuffable
- type: AnimationPlayer
- type: Buckle
- type: CreamPied
- type: Stripping
- type: Strippable
- type: UserInterface
interfaces:
enum.VoiceMaskUIKey.Key:
type: VoiceMaskBoundUserInterface
enum.HumanoidMarkingModifierKey.Key:
type: HumanoidMarkingModifierBoundUserInterface
enum.StrippingUiKey.Key:
type: StrippableBoundUserInterface
enum.StoreUiKey.Key: # Goobstation - changelings
type: StoreBoundUserInterface
enum.HereticLivingHeartKey.Key: # goob edit - heretics
type: LivingHeartMenuBoundUserInterface
enum.WizardTeleportUiKey.Key: # Goobstation - wizard
type: WizardTeleportBoundUserInterface
requireInputValidation: false
- type: Emoting
- type: Grammar
attributes:
proper: true
- type: Climbing
- type: StandingState
- type: MindContainer
showExamineInfo: true
- type: SSDIndicator
- type: CanEscapeInventory
- type: HumanoidAppearance
species: IPC
- type: Body
prototype: IPC
requiredLegs: 2
- type: Ensnareable
sprite: Objects/Misc/ensnare.rsi
- type: Speech
speechSounds: Pai
- type: Vocal
wilhelm: "/Audio/_EinsteinEngines/Voice/IPC/wilhelm.ogg"
sounds:
Male: UnisexIPC
Female: UnisexIPC
Unsexed: UnisexIPC
- type: MeleeWeapon
hidden: true
soundHit:
collection: Punch
angle: 30
animation: WeaponArcFist
attackRate: 1
damage:
types:
Blunt: 6 # It's tough.
- type: MobPrice
price: 1500 # Kidnapping a living person and selling them for cred is a good move.
deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less.
- type: Pullable
- type: Puller
- type: BodyEmotes
soundsId: GeneralBodyEmotes
# - type: DamageVisuals
# thresholds: [ 10, 20, 30, 50, 70, 100 ]
# targetLayers:
# - "enum.HumanoidVisualLayers.Chest"
# - "enum.HumanoidVisualLayers.Head"
# - "enum.HumanoidVisualLayers.LArm"
# - "enum.HumanoidVisualLayers.LLeg"
# - "enum.HumanoidVisualLayers.RArm"
# - "enum.HumanoidVisualLayers.RLeg"
# damageOverlayGroups:
# Brute:
# sprite: _Shitmed/Mobs/Effects/brute_damage.rsi
# color: "#DD8822"
# Organs
- type: IdExaminable
- type: HealthExaminable
examinableTypes:
- Blunt
- Slash
- Piercing
- Heat
- Shock
- type: StatusEffects
allowed:
- Stun
- KnockedDown
- SlowedDown
- Stutter
- SeeingRainbows
- Electrocution
# - Drunk
- SlurredSpeech
- PressureImmunity
- Muted
# - ForcedSleep
- TemporaryBlindness
- Pacified
# - PsionicsDisabled
# - PsionicallyInsulated
- Flashed # Goobstation
- type: Blindable
- type: FireVisuals
alternateState: Standing
- type: LightningTarget
priority: 2 # Goobstation
lightningExplode: false
- type: ComplexInteraction
- type: Carriable
- type: Targeting
- type: LayingDown
- type: Consciousness
cap: 190
threshold: 95
- type: Penetratable # Goobstation - Better snipers
penetrateDamage: 50
damagePenalty: 0.2
- type: CombatMode
canDisarm: true
- type: ExaminableCharacter # WWDP

View File

@@ -0,0 +1,193 @@
- type: entity
parent: BaseMobSpeciesOrganic
id: BaseMobPlasmaman
name: Urist McPlasma
abstract: true
components:
- type: ZombieImmune
- type: Icon
sprite: _EinsteinEngines/Mobs/Species/Plasmaman/parts.rsi
state: full
- type: Sprite
layers:
- map: [ "enum.HumanoidVisualLayers.Groin" ]
- map: [ "enum.HumanoidVisualLayers.Chest" ]
- map: [ "enum.HumanoidVisualLayers.Head" ]
- map: [ "enum.HumanoidVisualLayers.Snout" ]
- map: [ "enum.HumanoidVisualLayers.Eyes" ]
- map: [ "enum.HumanoidVisualLayers.Face" ]
- map: [ "enum.HumanoidVisualLayers.RArm" ]
- 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: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]
- map: ["jumpsuit"] # jumpsuit after foot to show envirosuit shoes
- map: ["enum.HumanoidVisualLayers.LHand"]
- map: ["enum.HumanoidVisualLayers.RHand"]
- map: [ "gloves" ]
- map: [ "shoes" ]
- map: [ "ears" ]
- map: [ "innerBelt" ]
- map: [ "innerNeck" ]
- map: [ "outerClothing" ]
- map: [ "eyes" ]
- map: [ "belt" ]
- map: [ "id" ]
- map: [ "neck" ]
- map: [ "back" ]
- map: [ "enum.HumanoidVisualLayers.FacialHair" ]
- map: [ "enum.HumanoidVisualLayers.Hair" ]
- map: [ "enum.HumanoidVisualLayers.HeadSide" ]
- map: [ "enum.HumanoidVisualLayers.HeadTop" ]
- map: [ "enum.HumanoidVisualLayers.Tail" ]
- map: [ "mask" ]
- map: [ "head" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: [ "clownedon" ] # Dynamically generated
sprite: "Effects/creampie.rsi"
state: "creampie_human"
visible: false
- type: Carriable
- type: Body
prototype: Plasmaman
requiredLegs: 2
gibSound: /Audio/Effects/bone_rattle.ogg
- type: Bloodstream
bloodlossThreshold: 0
bleedReductionAmount: 0
maxBleedAmount: 0
bloodlossDamage:
types:
Blunt: 0
bloodlossHealDamage:
types:
Blunt: 0
bloodRefreshAmount: 0
bloodMaxVolume: 0
- type: Damageable
damageModifierSet: Plasmaman
- type: MeleeWeapon
soundHit:
collection: FirePunch
animation: WeaponArcPurplePunch
damage:
types: # oooh scarier extra damage~
Heat: 5
Blunt: 2.25
- type: DamageOnHit
damage:
types:
Heat: 2
targetParts: Hands
- type: Speech
speechVerb: Skeleton
- type: Vocal
wilhelm: "/Audio/_Goobstation/Voice/badtothebone.ogg" # Goobstation
wilhelmProbability: 0.1 # Goobstation
sounds:
Male: UnisexPlasmaman
Female: UnisexPlasmaman
Unsexed: UnisexPlasmaman
- type: Butcherable
butcheringType: Spike
spawned:
- id: SheetPlasma1
amount: 8
- type: Inventory
templateId: plasmaman
- type: Temperature
heatDamageThreshold: 308 # 35 celsius, -17 from base heat damage threshold
currentTemperature: 270.15 # -3 celsius
specificHeat: 46
coldDamage:
types:
Cold: 0
heatDamage:
types:
Heat: 3
- type: ThermalRegulator
normalBodyTemperature: 270.15
- type: Flammable
firestackFade: -0.05
- type: HumanoidAppearance
species: Plasmaman
hideLayersOnEquip:
- Hair
- Snout
- type: TypingIndicator
proto: plasmaman
- type: LanguageKnowledge
speaks:
- TauCetiBasic
- Calcic
understands:
- TauCetiBasic
- Calcic
- type: SpawnGasOnGib
gasMixture:
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 100 # plasma
- type: Destructible
thresholds:
- trigger:
!type:DamageTypeTrigger
damageType: Blunt
damage: 400
behaviors:
- !type:GibBehavior { }
- trigger:
!type:DamageTypeTrigger
damageType: Heat
damage: 1500
behaviors:
- !type:SpawnEntitiesBehavior
spawnInContainer: true
spawn:
Ash:
min: 1
max: 1
- !type:BurnBodyBehavior { }
- !type:PlaySoundBehavior
sound:
collection: MeatLaserImpact
- !type:SpawnGasBehavior
gasMixture:
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 80 # plasma, lower than gas on gibbing
- type: TemperatureSpeed
thresholds:
243: 0.8
- type: Fart
gasToFart: Plasma
- type: entity
parent: BaseSpeciesDummy
id: MobPlasmamanDummy
categories: [ HideSpawnMenu ]
components:
- type: HumanoidAppearance
species: Plasmaman
- type: Inventory
templateId: plasmaman

View File

@@ -0,0 +1,70 @@
# used for nightmares and lesser shadowlings
- type: entity
save: false
name: Urist McShadow
parent: BaseMobSpeciesOrganic
id: BaseMobShadow
abstract: true
components:
- type: Absorbable # idk why
- type: HumanoidAppearance
species: Shadow
- type: Fingerprint
- type: Blindable
- type: FireVisuals
alternateState: Standing
- type: Damageable
damageContainer: Biological
- type: Inventory
speciesId: shadowling
- type: Body
prototype: Shadow
requiredLegs: 2
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- type: MeleeWeapon
soundHit:
collection: FirePunch
animation: WeaponArcShadowClaw
damage:
types:
Heat: 10
- type: PassiveDamage
allowedStates:
- Alive
damageCap: 40
damage:
types:
Heat: -0.14
groups:
Brute: -0.14
- type: Targeting
- type: SurgeryTarget
- type: Bloodstream
bloodReagent: FluorosulfuricAcid
- type: PressureImmunity
- type: NightVision
color: "#BF40BF"
activateSound: null
deactivateSound: null
- type: ThermalVision
thermalShader: null
color: "#BF40BF"
activateSound: null
deactivateSound: null
- type: ZombieImmune # Goobstation
- type: entity
parent: BaseSpeciesDummy
id: MobShadowDummy
categories: [ HideSpawnMenu ]
components:
- type: HumanoidAppearance
species: Shadow
- type: entity
parent: BaseMobShadow
id: MobShadow

View File

@@ -0,0 +1,298 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 IrisTheAmped <iristheamped@gmail.com>
# SPDX-FileCopyrightText: 2025 John Willis <143434770+CerberusWolfie@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Roudenn <romabond091@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
# SPDX-FileCopyrightText: 2025 vorpuscl <198003781+vorpuscl@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ThanosDeGraf <richardgirgindontstop@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
parent:
- BaseMobSpeciesOrganic
id: MobShadowkinBase
name: Urist McShadow
abstract: true
components:
- type: LanguageKnowledge # Einstein Engines - Language
speaks:
- TauCetiBasic
- Marish
understands:
- TauCetiBasic
- Marish
- type: Destructible
thresholds:
- trigger:
!type:DamageTypeTrigger
damageType: Blunt
damage: 300
behaviors:
- !type:GibBehavior {}
- !type:SpawnEntitiesBehavior
spawn:
ShadowkinShadow:
min: 1
max: 1
EffectFlashShadowkinShadeskip:
min: 1
max: 1
- trigger:
!type:DamageTypeTrigger
damageType: Heat
damage: 1500
behaviors:
- !type:SpawnEntitiesBehavior
spawnInContainer: true
spawn:
Ash:
min: 1
max: 1
- !type:BurnBodyBehavior {}
- !type:PlaySoundBehavior
sound:
collection: MeatLaserImpact
- type: PassiveDamage # Slight passive regen. Assuming one damage type, comes out to about 4 damage a minute.
allowedStates:
- Alive
damageCap: 20
damage:
types:
Heat: -0.07
groups:
Brute: -0.07
- type: Blindable
- type: ThermalRegulator
metabolismHeat: 800
radiatedHeat: 100
implicitHeatRegulation: 500
sweatHeatRegulation: 2000
shiveringHeatRegulation: 2000
normalBodyTemperature: 310.15
thermalRegulationTemperatureThreshold: 2
- type: Perishable
- type: FireVisuals
alternateState: Standing
- type: LayingDown
- type: Hunger
- type: Thirst
- type: Carriable
- type: HumanoidAppearance
species: Shadowkin
- type: Icon
sprite: _EinsteinEngines/Mobs/Species/Shadowkin/parts.rsi
state: full
- type: Body
prototype: Shadowkin
- type: Flammable
damage:
types:
Heat: 1.5 # burn more
- type: Damageable
damageContainer: Biological # Shadowkin
damageModifierSet: Shadowkin
# - type: DamageVisuals
# damageOverlayGroups:
# Brute:
# sprite: Mobs/Effects/brute_damage.rsi
# color: "#1c1624"
- type: Barotrauma
damage:
types:
Blunt: 0.35 # per second, scales with pressure and other constants.
- type: Bloodstream
bloodlossDamage:
types:
Bloodloss: 1
bloodlossHealDamage:
types:
Bloodloss: -0.25
bloodReagent: BlackBlood
- type: Temperature
heatDamageThreshold: 330
coldDamageThreshold: 195
currentTemperature: 310.15
specificHeat: 46
coldDamage:
types:
Cold: 0.05 #per second, scales with temperature & other constants
heatDamage:
types:
Heat: 0.25 #per second, scales with temperature & other constants
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.35
density: 130 #lower density
restitution: 0.0
mask:
- MobMask
layer:
- MobLayer
- type: Sprite
netsync: false
noRot: true
drawdepth: Mobs
# scale: 0.85, 0.85 # Goobstation: port EE height/width sliders
layers:
- map: ["enum.HumanoidVisualLayers.Groin"]
- map: ["enum.HumanoidVisualLayers.Chest"]
- map: ["enum.HumanoidVisualLayers.Head"]
- map: ["enum.HumanoidVisualLayers.Snout"]
- map: ["enum.HumanoidVisualLayers.Eyes"]
shader: unshaded
- map: ["enum.HumanoidVisualLayers.RArm"]
- 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: full
visible: false
- map: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]
- map: ["socks"]
- map: ["underpants"]
- map: ["undershirt"]
- map: ["jumpsuit"]
- map: ["enum.HumanoidVisualLayers.LHand"]
- map: ["enum.HumanoidVisualLayers.RHand"]
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: ["id"]
- map: ["gloves"]
- map: ["shoes"]
- map: ["ears"]
- map: ["innerBelt"]
- map: ["innerNeck"]
- map: ["outerClothing"]
- map: ["eyes"]
- map: ["belt"]
- map: ["neck"]
- map: ["back"]
- map: [ "enum.HumanoidVisualLayers.Face" ]
- map: ["enum.HumanoidVisualLayers.FacialHair"]
- map: ["enum.HumanoidVisualLayers.Hair"]
- map: ["enum.HumanoidVisualLayers.HeadSide"]
- map: ["enum.HumanoidVisualLayers.HeadTop"]
- map: ["mask"]
- map: ["head"]
- map: ["pocket1"]
- map: ["pocket2"]
- map: ["enum.HumanoidVisualLayers.Tail"]
- type: MeleeWeapon
soundHit:
collection: AlienClaw
angle: 30
animation: WeaponArcClaw
damage:
types:
Slash: 5
- type: Vocal
sounds:
Male: MaleShadowkin
Female: FemaleShadowkin
Unsexed: MaleShadowkin
- type: TypingIndicator
proto: alien
- type: MovementSpeedModifier
baseWalkSpeed: 2.7
baseSprintSpeed: 4.5
- type: Speech
allowedEmotes: ['Mars', 'Wurble']
- type: CollectiveMind
defaultChannel: Empathy
channels:
- Empathy
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- AnomalyHost
- ShadowkinEmotes
- type: Respirator #Goob edit start - Lore Accurate Shadowkin superdense iron blood.
updateInterval: 6
saturationLoss: 0.2
maxSaturation: 30
saturation: 30 #Goob Edit end
- type: entity
save: false
parent: MobHumanDummy
id: MobShadowkinDummy
categories: [ HideSpawnMenu ]
description: A dummy shadowkin meant to be used in character setup.
components:
- type: HumanoidAppearance
species: Shadowkin
- type: Sprite
netsync: false
noRot: true
drawdepth: Mobs
# scale: 0.85, 0.85 # Small # Goobstation: port EE height/width sliders
layers:
- map: ["enum.HumanoidVisualLayers.Chest"]
- map: ["enum.HumanoidVisualLayers.Groin"]
- map: ["enum.HumanoidVisualLayers.Head"]
- map: ["enum.HumanoidVisualLayers.Snout"]
- map: ["enum.HumanoidVisualLayers.Eyes"]
shader: unshaded
- map: ["enum.HumanoidVisualLayers.RArm"]
- 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: full
visible: false
- map: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]
- map: ["socks"]
- map: ["underpants"]
- map: ["undershirt"]
- map: ["jumpsuit"]
- map: ["enum.HumanoidVisualLayers.LHand"]
- map: ["enum.HumanoidVisualLayers.RHand"]
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: ["id"]
- map: ["gloves"]
- map: ["shoes"]
- map: ["ears"]
- map: ["innerBelt"]
- map: ["innerNeck"]
- map: ["outerClothing"]
- map: ["eyes"]
- map: ["belt"]
- map: ["neck"]
- map: ["back"]
- map: [ "enum.HumanoidVisualLayers.Face" ]
- map: ["enum.HumanoidVisualLayers.FacialHair"]
- map: ["enum.HumanoidVisualLayers.Hair"]
- map: ["enum.HumanoidVisualLayers.HeadSide"]
- map: ["enum.HumanoidVisualLayers.HeadTop"]
- map: ["mask"]
- map: ["head"]
- map: ["pocket1"]
- map: ["pocket2"]
- map: ["enum.HumanoidVisualLayers.Tail"]

View File

@@ -0,0 +1,84 @@
- type: entity
save: false
name: Urist McSling
parent: BaseMobSpeciesOrganic
id: BaseMobShadowling
categories: [HideSpawnMenu]
abstract: true
components:
- type: Absorbable # idk why
- type: HumanoidAppearance
species: Shadowling
- type: Fingerprint
- type: Blindable
- type: TypingIndicator
proto: alien
- type: FireVisuals
alternateState: Standing
- type: Damageable
damageContainer: Biological
damageModifierSet: Shadowling
- type: Inventory
speciesId: shadowling
templateId: shadowling
- type: Insulated
- type: ProtectedFromStepTriggers
- type: Body
prototype: Shadowling
requiredLegs: 2
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- type: FlashVulnerable
- type: MeleeWeapon
soundHit:
collection: FirePunch
animation: WeaponArcShadowClaw
damage:
types:
Heat: 10
- type: PassiveDamage
allowedStates:
- Alive
damageCap: 40
damage:
types:
Heat: -0.14
groups:
Brute: -0.14
- type: Targeting
- type: SurgeryTarget
- type: Bloodstream
bloodReagent: FluorosulfuricAcid
- type: NightVision
color: "#BF40BF"
activateSound: null
deactivateSound: null
- type: ThermalVision
thermalShader: null
color: "#BF40BF"
activateSound: null
deactivateSound: null
- type: LightDetection
onLightLevel: 0.25
- type: LightDetectionDamage
- type: CollectiveMind # goob edit
defaultChannel: Shadowmind
channels:
- Shadowmind
- type: ZombieImmune # Goobstation
- type: entity
parent: BaseSpeciesDummy
id: MobShadowlingDummy
categories: [ HideSpawnMenu ]
components:
- type: HumanoidAppearance
species: Shadowling
# for yaml linter
- type: entity
parent: BaseMobShadowling
id: MobShadowling

View File

@@ -0,0 +1,193 @@
# SPDX-FileCopyrightText: 2025 CliveOcelot <165305605+Orion-416@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# The Modsuit Itself, This is just a Deathsquad modsuit
- type: entity
parent: [ ClothingModsuitStandard, BaseCentcommContraband ]
id: ClothingModsuitApocryphal
name: Apocryphal modsuit control unit
description: The main controller for a Apocryphal modsuit.
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/apocryphal.rsi
- type: ToggleableClothing
clothingPrototypes:
head: ClothingModsuitHelmetApocryphal
gloves: ClothingModsuitGauntletsApocryphal
outerClothing: ClothingModsuitChestplateApocryphal
shoes: ClothingModsuitBootsApocryphal
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellAntiqueProto
whitelist:
components:
- PowerCell
- type: Storage
grid:
- 0,0,7,6
- type: ExplosionResistance
damageCoefficient: 0.1
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
back:
- state: equipped-BACKPACK-sealed
- type: entity
parent: ClothingModsuitGauntletsStandard
id: ClothingModsuitGauntletsApocryphal
name: Apocryphal modsuit gauntlets
description: A pair of gauntlets made for the Apocryphal modsuit.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/apocryphal.rsi
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
gloves:
- state: equipped-HAND-sealed
- state: equipped-HAND-sealed-unshaded
shader: unshaded
- type: entity
parent: [ClothingModsuitHelmetStandard, ShowSecurityIcons]
id: ClothingModsuitHelmetApocryphal
name: Apocryphal modsuit helmet # Goob edit
description: A state-of-the-art helmet designed by NanoTrasen for the Apocryphal modsuit. It includes a built-in HUD.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/apocryphal.rsi
- type: PressureProtection
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: Armor
traumaDeductions: # prevents traumas at all (kinda)
Dismemberment: 1
OrganDamage: 1
BoneDamage: 1
VeinsDamage: 1
NerveDamage: 1
modifiers:
coefficients:
Blunt: 0.1 # Best armor in the game - Yeah no shit.
Slash: 0.1
Piercing: 0.1
Heat: 0.1
Cold: 0.1
Cellular: 0.1
Radiation: 0.1
Caustic: 0.1
- type: ThermalVision
isEquipment: true
color: "#98EEFB"
lightRadius: 15
- type: FlashImmunity # Goobstation
- type: FlashSoundSuppression # Goobstation
protectionRange: 0
- type: ShowHealthBars
damageContainers:
- Biological
- type: PointLight
color: "#FFDF00"
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
head:
- state: equipped-HEAD-sealed
- state: equipped-HEAD-sealed-unshaded
shader: unshaded
- type: entity
parent: ClothingModsuitChestplateStandard
id: ClothingModsuitChestplateApocryphal
name: Apocryphal modsuit chestplate
description: A state of the art chestplate designed by NanoTrasen for the Apocryphal Modsuit. It incorporates powered servos to reduce the equipment load.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/apocryphal.rsi
- type: ClothingSpeedModifier
walkModifier: 1
sprintModifier: 1
- type: Armor
traumaDeductions: # prevents traumas at all (kinda)
Dismemberment: 1
OrganDamage: 1
BoneDamage: 1
VeinsDamage: 1
NerveDamage: 1
modifiers:
coefficients:
Blunt: 0.1 # Best armor in the game - Yeah no shit.
Slash: 0.1
Piercing: 0.1
Heat: 0.1
Cold: 0.1
Cellular: 0.1
Radiation: 0.1
Caustic: 0.1
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-sealed
- type: StaminaResistance
damageCoefficient: 0 # 100%
- type: PressureProtection
highPressureMultiplier: 0.02
lowPressureMultiplier: 1000
- type: ExplosionResistance
damageCoefficient: 0.1
- type: FireProtection
reduction: 1
- type: entity
parent: ClothingModsuitBootsStandard
id: ClothingModsuitBootsApocryphal
name: Apocryphal modsuit boots
description: A state-of-the-art pair of magboots for the Apocryphal modsuit. So long as the suit is powered, these will not slow the wearer down.
categories: [HideSpawnMenu]
components:
- type: Appearance
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/apocryphal.rsi
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
shoes:
- state: equipped-FEET-sealed
- type: ItemToggle
- type: ToggleClothing
action: ActionToggleMagboots
- type: ComponentToggler
components:
- type: NoSlip
- type: Magboots
enabledPrefix: null
- type: ClothingSpeedModifier
walkModifier: 1.1
sprintModifier: 1.1
- type: entity
id: SuitStorageApocryphal
parent: SuitStorageBase
suffix: Apocryphal Modsuit
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingModsuitApocryphal
- id: ClothingMaskBreath

View File

@@ -0,0 +1,183 @@
# SPDX-FileCopyrightText: 2025 CliveOcelot <165305605+Orion-416@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# The Modsuit Itself, This is just a ERT modsuit
- type: entity
parent: [ ClothingModsuitStandard, BaseCentcommContraband ]
id: ClothingModsuitResponsoryEngineering
name: Engineering Responsory modsuit control unit
description: The main controller for a Engineering Responsory modsuit.
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
- type: ToggleableClothing
clothingPrototypes:
head: ClothingModsuitHelmetResponsoryEngineering
gloves: ClothingModsuitGauntletsResponsoryEngineering
outerClothing: ClothingModsuitChestplateResponsoryEngineering
shoes: ClothingModsuitBootsResponsoryEngineering
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellMicroreactor # Since this is used by ERT they shouldnt need to stop to recharge.
whitelist:
components:
- PowerCell
- type: Storage
maxItemSize: Huge
grid:
- 0,0,10,3
- type: ClothingSpeedModifier
walkModifier: 1
sprintModifier: 1
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
back:
- state: equipped-BACKPACK-sealed
- type: entity
parent: ClothingModsuitGauntletsStandard
id: ClothingModsuitGauntletsResponsoryEngineering
name: Engineering Responsory modsuit gauntlets
description: A pair of gauntlets made for the Engineering Responsory modsuit.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
gloves:
- state: equipped-HAND-sealed
- state: equipped-HAND-sealed-unshaded
shader: unshaded
- type: entity
parent: [ClothingModsuitHelmetStandard, ShowSecurityIcons]
id: ClothingModsuitHelmetResponsoryEngineering
name: Engineering Responsory modsuit helmet
description: A state-of-the-art helmet designed by NanoTrasen for the Engineering Responsory modsuit. It includes a built-in HUD.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
- type: PressureProtection
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: Armor
modifiers:
coefficients:
Blunt: 0.75
Slash: 0.4 # Goobstation - Solstice: CBURN should protect against zombie attacks # pheenty: why tf is ert engineer inherited from cburn
Piercing: 0.65
Heat: 0.15
Cold: 0.10
Shock: 0.15
Radiation: 0.1
Caustic: 0.1
- type: FlashImmunity # Goobstation
- type: FlashSoundSuppression # Goobstation
protectionRange: 0
- type: EyeProtection
- type: ShowHealthBars
damageContainers:
- Biological
- Inorganic
- Silicon
- type: PointLight
color: "#FFDF00"
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
head:
- state: equipped-HEAD-sealed
- state: equipped-HEAD-sealed-unshaded
shader: unshaded
- type: entity
parent: ClothingModsuitChestplateStandard
id: ClothingModsuitChestplateResponsoryEngineering
name: Engineering Responsory modsuit chestplate
description: A state of the art chestplate designed by NanoTrasen for the Engineering Responsory modsuit. It incorporates powered servos to reduce the equipment load.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
- type: ClothingSpeedModifier
walkModifier: 1
sprintModifier: 1
- type: Armor
modifiers:
coefficients:
Blunt: 0.7
Slash: 0.3 # Goobstation - CBURN should protect against zombie attacks
Piercing: 0.6
Heat: 0.10
Cold: 0.10
Shock: 0.15
Radiation: 0.1
Caustic: 0.1
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-sealed
- type: StaminaResistance
damageCoefficient: 0.5 # 50%
- type: FireProtection
reduction: 1
- type: ClothingGrantComponent
component:
- type: SupermatterImmune
- type: entity
parent: ClothingModsuitBootsStandard
id: ClothingModsuitBootsResponsoryEngineering
name: Engineering Responsory modsuit boots
description: A state-of-the-art pair of magboots for the Engineering Responsory modsuit. So long as the suit is powered, these will not slow the wearer down.
categories: [HideSpawnMenu]
components:
- type: Appearance
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
- type: Tag
tags:
- WhitelistChameleon
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
shoes:
- state: equipped-FEET-sealed
- type: ItemToggle
- type: ToggleClothing
action: ActionToggleMagboots
- type: ComponentToggler
components:
- type: NoSlip
- type: Magboots
enabledPrefix: null
- type: ClothingSpeedModifier
walkModifier: 1
sprintModifier: 1
- type: entity
id: SuitStorageResponsoryEngineering
parent: SuitStorageBase
suffix: Engineering Responsory Modsuit
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingModsuitResponsoryEngineering
- id: ClothingMaskBreath

View File

@@ -0,0 +1,179 @@
# SPDX-FileCopyrightText: 2025 CliveOcelot <165305605+Orion-416@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# The Modsuit Itself, This is just a ERT chaplain modsuit
- type: entity
parent: [ ClothingModsuitStandard, BaseCentcommContraband ]
id: ClothingModsuitInquisitory
name: Inquisitory modsuit control unit
description: The main controller for a Inquisitory modsuit.
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/inquisitory.rsi
- type: ToggleableClothing
clothingPrototypes:
head: ClothingModsuitHelmetInquisitory
gloves: ClothingModsuitGauntletsInquisitory
outerClothing: ClothingModsuitChestplateInquisitory
shoes: ClothingModsuitBootsInquisitory
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellMicroreactor # Since this is used by ERT they shouldnt need to stop to recharge.
whitelist:
components:
- PowerCell
- type: Storage
grid:
- 0,0,10,3
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
back:
- state: equipped-BACKPACK-sealed
- type: entity
parent: ClothingModsuitGauntletsStandard
id: ClothingModsuitGauntletsInquisitory
name: Inquisitory modsuit gauntlets
description: A pair of gauntlets made for the Inquisitory modsuit.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/inquisitory.rsi
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
gloves:
- state: equipped-HAND-sealed
- type: entity
parent: [ClothingModsuitHelmetStandard, ShowSecurityIcons]
id: ClothingModsuitHelmetInquisitory
name: Inquisitory modsuit helmet
description: A state-of-the-art helmet designed by NanoTrasen for the Inquisitory modsuit. It includes a built-in HUD.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/inquisitory.rsi
- type: PressureProtection
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: Armor
traumaDeductions: # prevents traumas at all (kinda)
Dismemberment: 1
OrganDamage: 1
BoneDamage: 1
VeinsDamage: 1
NerveDamage: 1
modifiers:
coefficients:
Blunt: 0.2
Slash: 0.2
Piercing: 0.2
Heat: 0.2
Radiation: 0.2
Caustic: 0.2
- type: FlashImmunity # Goobstation
- type: FlashSoundSuppression # Goobstation
protectionRange: 0
- type: ShowHealthBars
damageContainers:
- Biological
- type: PointLight
color: "#FFDF00"
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
head:
- state: equipped-HEAD-sealed
- state: equipped-HEAD-sealed-unshaded
shader: unshaded
- type: entity
parent: ClothingModsuitChestplateStandard
id: ClothingModsuitChestplateInquisitory
name: Inquisitory modsuit chestplate
description: A state of the art chestplate designed by NanoTrasen for the Inquisitory modsuit. It incorporates powered servos to reduce the equipment load.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/inquisitory.rsi
- type: Armor
traumaDeductions: # prevents traumas at all (kinda)
Dismemberment: 1
OrganDamage: 1
BoneDamage: 1
VeinsDamage: 1
NerveDamage: 1
modifiers:
coefficients:
Blunt: 0.2
Slash: 0.2
Piercing: 0.2
Heat: 0.2
Radiation: 0.2
Caustic: 0.2
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.75
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-sealed
- type: StaminaResistance
damageCoefficient: 0.5 # 50%
- type: FireProtection
reduction: 0.9
- type: entity
parent: ClothingModsuitBootsStandard
id: ClothingModsuitBootsInquisitory
name: Inquisitory modsuit boots
description: A state-of-the-art pair of magboots for the Inquisitory modsuit.
categories: [HideSpawnMenu]
components:
- type: Appearance
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/inquisitory.rsi
- type: Tag
tags:
- WhitelistChameleon
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
shoes:
- state: equipped-FEET-sealed
- type: ItemToggle
- type: ToggleClothing
action: ActionToggleMagboots
- type: ComponentToggler
components:
- type: NoSlip
- type: Magboots
enabledPrefix: null
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.95
- type: entity
id: SuitStorageInquisitory
parent: SuitStorageBase
suffix: Inquisitory Modsuit
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingModsuitInquisitory
- id: ClothingMaskBreath

View File

@@ -0,0 +1,187 @@
# SPDX-FileCopyrightText: 2025 CliveOcelot <165305605+Orion-416@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# The Modsuit Itself, This is just a ERT modsuit
- type: entity
parent: [ ClothingModsuitStandard, BaseCentcommContraband ]
id: ClothingModsuitResponsoryJanitorial
name: Janitorial Responsory modsuit control unit
description: The main controller for a Janitorial Responsory modsuit.
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/janitorial-responsory.rsi
- type: ToggleableClothing
clothingPrototypes:
head: ClothingModsuitHelmetResponsoryJanitorial
gloves: ClothingModsuitGauntletsResponsoryJanitorial
outerClothing: ClothingModsuitChestplateResponsoryJanitorial
shoes: ClothingModsuitBootsResponsoryJanitorial
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellMicroreactor # Since this is used by ERT they shouldnt need to stop to recharge.
whitelist:
components:
- PowerCell
- type: Storage
maxItemSize: Huge
grid:
- 0,0,10,3
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
back:
- state: equipped-BACKPACK-sealed
- type: entity
parent: ClothingModsuitGauntletsStandard
id: ClothingModsuitGauntletsResponsoryJanitorial
name: Janitorial Responsory modsuit gauntlets
description: A pair of gauntlets made for the Janitorial Responsory modsuit.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/janitorial-responsory.rsi
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
gloves:
- state: equipped-HAND-sealed
- state: equipped-HAND-sealed-unshaded
shader: unshaded
- type: entity
parent: [ClothingModsuitHelmetStandard, ShowSecurityIcons]
id: ClothingModsuitHelmetResponsoryJanitorial
name: Janitorial Responsory modsuit helmet
description: A state-of-the-art helmet designed by NanoTrasen for the Janitorial Responsory modsuit. It includes a built-in HUD.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/janitorial-responsory.rsi
- type: PressureProtection
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: Armor
traumaDeductions:
Dismemberment: 0.5
OrganDamage: 0.5
BoneDamage: 0.5
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.5
Slash: 0.5
Piercing: 0.5
Heat: 0.5
Radiation: 0.45
Caustic: 0.45
- type: FlashImmunity # Goobstation
- type: FlashSoundSuppression # Goobstation
protectionRange: 0
- type: EyeProtection
- type: ShowHealthBars
damageContainers:
- Biological
- Inorganic
- Silicon
- type: PointLight
color: "#FFDF00"
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
head:
- state: equipped-HEAD-sealed
- state: equipped-HEAD-sealed-unshaded
shader: unshaded
- type: entity
parent: ClothingModsuitChestplateStandard
id: ClothingModsuitChestplateResponsoryJanitorial
name: Janitorial Responsory modsuit chestplate
description: A state of the art chestplate designed by NanoTrasen for the Janitorial Responsory modsuit. It incorporates powered servos to reduce the equipment load.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/janitorial-responsory.rsi
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.95
- type: Armor
traumaDeductions:
Dismemberment: 0.5
OrganDamage: 0.5
BoneDamage: 0.5
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.45
Slash: 0.45
Piercing: 0.45
Heat: 0.45
Radiation: 0.45
Caustic: 0.45
- type: ExplosionResistance
damageCoefficient: 0.45
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-sealed
- state: equipped-OUTERCLOTHING-sealed-unshaded
shader: unshaded
- type: StaminaResistance
damageCoefficient: 0.45 # 50%
- type: entity
parent: ClothingModsuitBootsStandard
id: ClothingModsuitBootsResponsoryJanitorial
name: Janitorial Responsory modsuit boots
description: A state-of-the-art pair of magboots for the Janitorial Responsory modsuit. So long as the suit is powered, these will not slow the wearer down.
categories: [HideSpawnMenu]
components:
- type: Appearance
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/janitorial-responsory.rsi
- type: Tag
tags:
- WhitelistChameleon
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
shoes:
- state: equipped-FEET-sealed
- type: ItemToggle
- type: ToggleClothing
action: ActionToggleMagboots
- type: ComponentToggler
components:
- type: NoSlip
- type: Magboots
enabledPrefix: null
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.95
- type: entity
id: SuitStorageResponsoryJanitorial
parent: SuitStorageBase
suffix: Janitorial Responsory Modsuit
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingModsuitResponsoryJanitorial
- id: ClothingMaskBreath

View File

@@ -0,0 +1,192 @@
# SPDX-FileCopyrightText: 2025 CliveOcelot <165305605+Orion-416@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# The Modsuit Itself, This is just a ERT modsuit
- type: entity
parent: [ ClothingModsuitStandard, BaseCentcommContraband ]
id: ClothingModsuitResponsoryLeader
name: Leader Responsory modsuit control unit
description: The main controller for a Leader Responsory modsuit.
components:
- type: ClothingSpeedModifier
walkModifier: 1
sprintModifier: 1
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/leader-responsory.rsi
- type: ToggleableClothing
clothingPrototypes:
head: ClothingModsuitHelmetResponsoryLeader
gloves: ClothingModsuitGauntletsResponsoryLeader
outerClothing: ClothingModsuitChestplateResponsoryLeader
shoes: ClothingModsuitBootsResponsoryLeader
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellMicroreactor # Since this is used by ERT they shouldnt need to stop to recharge.
whitelist:
components:
- PowerCell
- type: Storage
grid:
- 0,0,10,3
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
back:
- state: equipped-BACKPACK-sealed
- type: entity
parent: ClothingModsuitGauntletsStandard
id: ClothingModsuitGauntletsResponsoryLeader
name: Leader Responsory modsuit gauntlets
description: A pair of gauntlets made for the Leader Responsory modsuit.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/leader-responsory.rsi
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
gloves:
- state: equipped-HAND-sealed
- state: equipped-HAND-sealed-unshaded
shader: unshaded
- type: entity
parent: [ClothingModsuitHelmetStandard, ShowSecurityIcons]
id: ClothingModsuitHelmetResponsoryLeader
name: Leader Responsory modsuit helmet
description: A state-of-the-art helmet designed by NanoTrasen for the Leader Responsory modsuit. It includes a built-in HUD.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/leader-responsory.rsi
- type: PressureProtection
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: Armor
traumaDeductions:
Dismemberment: 0.6
OrganDamage: 0.6
BoneDamage: 0.6
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.4
Slash: 0.4
Piercing: 0.35
Heat: 0.5
Radiation: 0.2
Caustic: 0.4
- type: FlashImmunity # Goobstation
- type: FlashSoundSuppression # Goobstation
protectionRange: 0
- type: EyeProtection
- type: ShowHealthBars
damageContainers:
- Biological
- Inorganic
- Silicon
- type: PointLight
color: "#FFDF00"
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
head:
- state: equipped-HEAD-sealed
- state: equipped-HEAD-sealed-unshaded
shader: unshaded
- type: entity
parent: ClothingModsuitChestplateStandard
id: ClothingModsuitChestplateResponsoryLeader
name: Leader Responsory modsuit chestplate
description: A state of the art chestplate designed by NanoTrasen for the Leader Responsory modsuit. It incorporates powered servos to reduce the equipment load.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/leader-responsory.rsi
- type: ClothingSpeedModifier
walkModifier: 1
sprintModifier: 1
- type: Armor
traumaDeductions:
Dismemberment: 0.6
OrganDamage: 0.6
BoneDamage: 0.6
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.35
Slash: 0.35
Piercing: 0.3
Heat: 0.45
Radiation: 0.2
Caustic: 0.4
- type: ExplosionResistance
damageCoefficient: 0.4
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-sealed
- type: StaminaResistance
damageCoefficient: 0.35
- type: FireProtection
reduction: 1
- type: ClothingGrantComponent
component:
- type: SupermatterImmune
- type: entity
parent: ClothingModsuitBootsStandard
id: ClothingModsuitBootsResponsoryLeader
name: Leader Responsory modsuit boots
description: A state-of-the-art pair of magboots for the Leader Responsory modsuit. So long as the suit is powered, these will not slow the wearer down.
categories: [HideSpawnMenu]
components:
- type: Appearance
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/leader-responsory.rsi
- type: Tag
tags:
- WhitelistChameleon
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
shoes:
- state: equipped-FEET-sealed
- type: ItemToggle
- type: ToggleClothing
action: ActionToggleMagboots
- type: ComponentToggler
components:
- type: NoSlip
- type: Magboots
enabledPrefix: null
- type: ClothingSpeedModifier
walkModifier: 1
sprintModifier: 1
- type: entity
id: SuitStorageResponsoryLeader
parent: SuitStorageBase
suffix: Leader Responsory Modsuit
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingModsuitResponsoryLeader
- id: ClothingMaskBreath

View File

@@ -0,0 +1,185 @@
# SPDX-FileCopyrightText: 2025 CliveOcelot <165305605+Orion-416@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# The Modsuit Itself, This is just a ERT modsuit
- type: entity
parent: [ ClothingModsuitStandard, BaseCentcommContraband ]
id: ClothingModsuitResponsoryMedical
name: Medical Responsory modsuit control unit
description: The main controller for a Medical Responsory modsuit.
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/medical-responsory.rsi
- type: ToggleableClothing
clothingPrototypes:
head: ClothingModsuitHelmetResponsoryMedical
gloves: ClothingModsuitGauntletsResponsoryMedical
outerClothing: ClothingModsuitChestplateResponsoryMedical
shoes: ClothingModsuitBootsResponsoryMedical
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellMicroreactor # Since this is used by ERT they shouldnt need to stop to recharge.
whitelist:
components:
- PowerCell
- type: Storage
grid:
- 0,0,10,3
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
back:
- state: equipped-BACKPACK-sealed
- type: entity
parent: ClothingModsuitGauntletsStandard
id: ClothingModsuitGauntletsResponsoryMedical
name: Medical Responsory modsuit gauntlets
description: A pair of gauntlets made for the Medical Responsory hardsuit.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/medical-responsory.rsi
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
gloves:
- state: equipped-HAND-sealed
- state: equipped-HAND-sealed-unshaded
shader: unshaded
- type: entity
parent: [ClothingModsuitHelmetStandard, ShowSecurityIcons]
id: ClothingModsuitHelmetResponsoryMedical
name: Medical Responsory modsuit helmet
description: A state-of-the-art helmet designed by NanoTrasen for the Medical Responsory modsuit. It includes a built-in HUD.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/medical-responsory.rsi
- type: PressureProtection
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: Armor
traumaDeductions:
Dismemberment: 0.5
OrganDamage: 0.5
BoneDamage: 0.5
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.5
Slash: 0.5
Piercing: 0.5
Heat: 0.5
Radiation: 0.45
Caustic: 0.45
- type: FlashImmunity # Goobstation
- type: FlashSoundSuppression # Goobstation
protectionRange: 0
- type: EyeProtection
- type: ShowHealthBars
damageContainers:
- Biological
- Inorganic
- Silicon
- type: PointLight
color: "#FFDF00"
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
head:
- state: equipped-HEAD-sealed
- state: equipped-HEAD-sealed-unshaded
shader: unshaded
- type: entity
parent: ClothingModsuitChestplateStandard
id: ClothingModsuitChestplateResponsoryMedical
name: Medical Responsory modsuit chestplate
description: A state of the art chestplate designed by NanoTrasen for the Medical Responsory modsuit. It incorporates powered servos to reduce the equipment load.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/medical-responsory.rsi
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.95
- type: Armor
traumaDeductions:
Dismemberment: 0.5
OrganDamage: 0.5
BoneDamage: 0.5
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.45
Slash: 0.45
Piercing: 0.45
Heat: 0.45
Radiation: 0.45
Caustic: 0.45
- type: ExplosionResistance
damageCoefficient: 0.45
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-sealed
- type: StaminaResistance
damageCoefficient: 0.45
- type: entity
parent: ClothingModsuitBootsStandard
id: ClothingModsuitBootsResponsoryMedical
name: Medical Responsory modsuit boots
description: A state-of-the-art pair of magboots for the Medical Responsory modsuit.
categories: [HideSpawnMenu]
components:
- type: Appearance
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/medical-responsory.rsi
- type: Tag
tags:
- WhitelistChameleon
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
shoes:
- state: equipped-FEET-sealed
- type: ItemToggle
- type: ToggleClothing
action: ActionToggleMagboots
- type: ComponentToggler
components:
- type: NoSlip
- type: Magboots
enabledPrefix: null
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.95
- type: entity
id: SuitStorageResponsoryMedical
parent: SuitStorageBase
suffix: Medical Responsory Modsuit
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingModsuitResponsoryMedical
- id: ClothingMaskBreath

View File

@@ -0,0 +1,220 @@
# SPDX-FileCopyrightText: 2025 CerberusWolfie <wb.johnb.willis@gmail.com>
# SPDX-FileCopyrightText: 2025 CliveOcelot <165305605+Orion-416@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 Shy Bandit <92641277+rotundfan@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# The Modsuit Itself, This is just a bso modsuit
- type: entity
parent: [ ClothingModsuitStandard, BaseCentcommContraband ]
id: ClothingModsuitPraetorian
name: Praetorian modsuit control unit
description: The main controller for a Praetorian modsuit.
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/praetorian.rsi
- type: Clothing
clothingVisuals:
back:
- state: equipped-BACKPACK
back-resomi:
- state: equipped-BACKPACK-resomi
- type: ToggleableClothing
clothingPrototypes:
head: ClothingModsuitHelmetPraetorian
gloves: ClothingModsuitGauntletsPraetorian
outerClothing: ClothingModsuitChestplatePraetorian
shoes: ClothingModsuitBootsPraetorian
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellHyper
whitelist:
components:
- PowerCell
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
back:
- state: equipped-BACKPACK-sealed
back-resomi:
- state: equipped-BACKPACK-sealed-resomi
- type: Storage
grid:
- 0,0,1,3
- 3,0,6,3
- 8,0,9,3
- type: entity
parent: ClothingModsuitGauntletsStandard
id: ClothingModsuitGauntletsPraetorian
name: Praetorian modsuit gauntlets
description: A pair of gauntlets made for the Praetorian modsuit.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/praetorian.rsi
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
gloves:
- state: equipped-HAND-sealed
- state: equipped-HAND-sealed-unshaded
shader: unshaded
gloves-vox:
- state: equipped-HAND-sealed-vox
- type: Insulated # Goob Edit (WHY IS IT NOT INSULATED??)
- type: entity
parent: ClothingModsuitHelmetStandard
id: ClothingModsuitHelmetPraetorian
name: Praetorian modsuit helmet
description: A state-of-the-art helmet designed by NanoTrasen for the Praetorian modsuit.
categories: [HideSpawnMenu]
components:
- type: Clothing
clothingVisuals:
head:
- state: equipped-HEAD
head-resomi:
- state: equipped-HEAD-resomi
head-vox:
- state: equipped-HEAD-vox
head-vulpkanin:
- state: equipped-HEAD-vulpkanin
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/praetorian.rsi
- type: PressureProtection
highPressureMultiplier: 0.05
lowPressureMultiplier: 1000
- type: Armor
traumaDeductions:
Dismemberment: 0.3
OrganDamage: 0.3
BoneDamage: 0.3
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.55
Slash: 0.55
Piercing: 0.5
Radiation: 0.5
Heat: 0.5
Caustic: 0.5
- type: FlashImmunity # Goobstation
- type: FlashSoundSuppression # Goobstation
- type: PointLight
color: "#4d7ae3"
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
head:
- state: equipped-HEAD-sealed
- state: equipped-HEAD-sealed-unshaded
shader: unshaded
head-resomi:
- state: equipped-HEAD-sealed-resomi
head-vox:
- state: equipped-HEAD-sealed-vox
- state: equipped-HEAD-sealed-unshaded-vox
shader: unshaded
head-vulpkanin:
- state: equipped-HEAD-sealed-vulpkanin
- state: equipped-HEAD-sealed-unshaded-vulpkanin
shader: unshaded
- type: entity
parent: ClothingModsuitChestplateStandard
id: ClothingModsuitChestplatePraetorian
name: Praetorian modsuit chestplate
description: A state of the art chestplate designed by NanoTrasen for the Praetorian modsuit. It incorporates powered servos to reduce the equipment load.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/praetorian.rsi
- type: ClothingSpeedModifier
walkModifier: 0.75
sprintModifier: 0.75
- type: Armor
traumaDeductions:
Dismemberment: 0.3
OrganDamage: 0.3
BoneDamage: 0.3
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.5
Slash: 0.5
Piercing: 0.45
Radiation: 0.5
Heat: 0.45
Caustic: 0.5
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-sealed
outerClothing-resomi:
- state: equipped-OUTERCLOTHING-sealed-resomi
outerClothing-vox:
- state: equipped-OUTERCLOTHING-sealed-vox
- type: ModifyDelayedKnockdown
delayDelta: 2
knockdownTimeDelta: -2
- type: PressureProtection
highPressureMultiplier: 0.05
lowPressureMultiplier: 1000
- type: ExplosionResistance
damageCoefficient: 0.45
- type: entity
parent: ClothingModsuitBootsStandard
id: ClothingModsuitBootsPraetorian
name: Praetorian modsuit boots
description: A state-of-the-art pair of magboots for the Praetorian modsuit.
categories: [HideSpawnMenu]
components:
- type: Appearance
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/praetorian.rsi
- type: Tag
tags:
- WhitelistChameleon
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
shoes:
- state: equipped-FEET-sealed
shoes-vox:
- state: equipped-FEET-sealed-vox
- type: ItemToggle
- type: ToggleClothing
action: ActionToggleMagboots
- type: ComponentToggler
components:
- type: NoSlip
- type: Magboots
enabledPrefix: null
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.9
- type: entity
id: SuitStoragePraetorian
parent: SuitStorageBase
suffix: Praetorian Modsuit
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingModsuitPraetorian
- id: ClothingMaskBreath

View File

@@ -0,0 +1,179 @@
# SPDX-FileCopyrightText: 2025 CliveOcelot <165305605+Orion-416@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# The Modsuit Itself, This is just a ERT modsuit
- type: entity
parent: [ ClothingModsuitStandard, BaseCentcommContraband ]
id: ClothingModsuitResponsorySecurity
name: Security Responsory modsuit control unit
description: The main controller for a Security Responsory modsuit.
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/security-responsory.rsi
- type: ToggleableClothing
clothingPrototypes:
head: ClothingModsuitHelmetResponsorySecurity
gloves: ClothingModsuitGauntletsResponsorySecurity
outerClothing: ClothingModsuitChestplateResponsorySecurity
shoes: ClothingModsuitBootsResponsorySecurity
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellMicroreactor # Since this is used by ERT they shouldnt need to stop to recharge.
whitelist:
components:
- PowerCell
- type: Storage
grid:
- 0,0,10,3
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
back:
- state: equipped-BACKPACK-sealed
- type: entity
parent: ClothingModsuitGauntletsStandard
id: ClothingModsuitGauntletsResponsorySecurity
name: Security Responsory modsuit gauntlets
description: A pair of gauntlets made for the Security Responsory modsuit.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/security-responsory.rsi
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
gloves:
- state: equipped-HAND-sealed
- state: equipped-HAND-sealed-unshaded
shader: unshaded
- type: entity
parent: [ClothingModsuitHelmetStandard, ShowSecurityIcons]
id: ClothingModsuitHelmetResponsorySecurity
name: Security Responsory modsuit helmet
description: A state-of-the-art helmet designed by NanoTrasen for the Security Responsory modsuit. It includes a built-in HUD.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/security-responsory.rsi
- type: PressureProtection
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: Armor
traumaDeductions:
Dismemberment: 0.5
OrganDamage: 0.5
BoneDamage: 0.5
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.5
Slash: 0.5
Piercing: 0.5
Heat: 0.5
Radiation: 0.45
Caustic: 0.45
- type: FlashImmunity # Goobstation
- type: FlashSoundSuppression # Goobstation
protectionRange: 0
- type: EyeProtection
- type: ShowHealthBars
damageContainers:
- Biological
- Inorganic
- Silicon
- type: PointLight
color: "#FFDF00"
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
head:
- state: equipped-HEAD-sealed
- state: equipped-HEAD-sealed-unshaded
shader: unshaded
- type: entity
parent: ClothingModsuitChestplateStandard
id: ClothingModsuitChestplateResponsorySecurity
name: Security Responsory modsuit chestplate
description: A state of the art chestplate designed by NanoTrasen for the Security Responsory modsuit. It incorporates powered servos to reduce the equipment load.
categories: [HideSpawnMenu]
components:
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/security-responsory.rsi
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.95
- type: Armor
traumaDeductions:
Dismemberment: 0.5
OrganDamage: 0.5
BoneDamage: 0.5
VeinsDamage: 0
NerveDamage: 0
modifiers:
coefficients:
Blunt: 0.45
Slash: 0.45
Piercing: 0.45
Heat: 0.45
Radiation: 0.45
Caustic: 0.45
- type: ExplosionResistance
damageCoefficient: 0.45
- type: SealableClothingVisuals
spriteLayer: sealed
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-sealed
- type: StaminaResistance
damageCoefficient: 0.45
- type: entity
parent: ClothingModsuitBootsStandard
id: ClothingModsuitBootsResponsorySecurity
name: Security Responsory modsuit boots
description: A state-of-the-art pair of magboots for the Security Responsory modsuit.
categories: [HideSpawnMenu]
components:
- type: Appearance
- type: Sprite
sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/security-responsory.rsi
- type: Tag
tags:
- WhitelistChameleon
- type: ItemToggle
- type: ToggleClothing
action: ActionToggleMagboots
- type: ComponentToggler
components:
- type: NoSlip
- type: Magboots
enabledPrefix: null
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.95
- type: entity
id: SuitStorageResponsorySecurity
parent: SuitStorageBase
suffix: Security Responsory Modsuit
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingModsuitResponsorySecurity
- id: ClothingMaskBreath

View File

@@ -0,0 +1,32 @@
- type: entity
parent: BaseItem
id: EnvirosuitExtinguisherRefill
name: envirosuit extinguisher refill
description: A cartridge loaded with a compressed extinguisher mix, used to refill the self-extinguisher on plasma envirosuits.
components:
- type: Sprite
sprite: _EinsteinEngines/Objects/Misc/extinguisher_refill.rsi
layers:
- state: icon
- type: Item
sprite: _EinsteinEngines/Objects/Misc/extinguisher_refill.rsi
size: Small
- type: SelfExtinguisherRefill
refillAmount: 10
- type: GuideHelp
guides: [ Plasmaman ]
- type: MeleeWeapon # Same values as double emergency tank
attackRate: 0.9
wideAnimationRotation: 45
range: 1.75
damage:
types:
Blunt: 7.5
bluntStaminaDamageFactor: 2.5
angle: 100
soundHit:
path: /Audio/Weapons/smash.ogg
- type: DamageOtherOnHit
damage:
types:
Blunt: 1

View File

@@ -0,0 +1,14 @@
- type: entity
name: Shadowkin Haze
id: ShadowkinShadow
parent: ShadowKudzuWeak
components:
- type: RandomSpawner
deleteSpawnerAfterSpawn: false
rareChance: 0
offset: 0.2
chance: 0.45
prototypes:
- ShadowBasaltRandom
- type: TimedDespawn
lifetime: 30

View File

@@ -0,0 +1,70 @@
# SPDX-FileCopyrightText: 2025 CometVoid <cometsstrile@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: SyringeCase
parent: [ BaseStorageItem, BaseBagOpenClose ]
name: syringe case
description: A robust carrying case that helps keep travel supplies of medicine organized.
components:
- type: Sprite
sprite: _EinsteinEngines/Objects/Misc/syringecase.rsi
layers:
- state: closed
- state: open
map: ["openLayer"]
visible: false
- state: syr1
map: ["syr1"]
visible: false
- state: syr2
map: ["syr2"]
visible: false
- state: bot1
map: ["bot1"]
visible: false
- state: bot2
map: ["bot2"]
visible: false
- state: pen1
map: ["pen1"]
visible: false
- state: pen2
map: ["pen2"]
visible: false
- type: PhysicalComposition
materialComposition:
Plastic: 62
- type: Item
size: Tiny
shape:
- 0,0,0,1
- type: Storage
grid:
- 0,0,2,1
whitelist:
tags:
- Bottle
- CentrifugeCompatible
- Dropper
- Syringe
- Medipen
- AutoinjectorCartridge
- type: ItemCounter # i do not have the spoons to make itemmapper work with opening/closing so you get this
count:
components: [Item]
composite: true
layerStates:
- syr1
- bot1
- pen1
- syr2
- pen2
- bot2
- type: Appearance
- type: Tag # Goobstation
tags:
- SyringeCase

View File

@@ -0,0 +1,103 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: GrenadeBeanbagShotgun
name: "40mm beanbag shot"
parent: BaseGrenade
components:
- type: CartridgeAmmo
proto: BulletGrenadeSpreadBeanbag
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi
layers:
- state: beanbag
map: ["enum.AmmoVisualLayers.Base"]
- type: Appearance
- type: Tag
tags:
- Grenade # Goobstation
- NonLethalGrenade # Goobstation
- type: SpentAmmoVisuals
state: frag
# suffix: false - Goobstation
- type: entity
id: GrenadeBirdshot
name: "40mm birdshot"
description: "For hunting alien birds of unusual size."
parent: BaseGrenade
components:
- type: CartridgeAmmo
proto: BulletGrenadeSpreadBirdshot
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi
layers:
- state: frag
map: ["enum.AmmoVisualLayers.Base"]
- type: Appearance
- type: SpentAmmoVisuals
state: frag
# suffix: false - Goobstation
- type: entity
id: GrenadeSlug
name: "40mm slug"
description: "For hunting alien game the size of a mountain."
parent: BaseGrenade
components:
- type: CartridgeAmmo
proto: BulletGrenadeSlug
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi
layers:
- state: slug
map: ["enum.AmmoVisualLayers.Base"]
- type: Appearance
- type: Tag
tags:
- Grenade # Goobstation
- NonLethalGrenade # Goobstation, This very much is lethal, but the bounty wanted this to also fire out of the riot launcher.
- type: SpentAmmoVisuals
state: frag
# suffix: false - Goobstation
- type: entity
id: Grenade00Buckshot
name: "40mm 00-Buckshot"
description: "For when you're hunting alien game animals the size of a house."
parent: BaseGrenade
components:
- type: CartridgeAmmo
proto: BulletGrenadeSpread00Buckshot
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi
layers:
- state: frag
map: ["enum.AmmoVisualLayers.Base"]
- type: Appearance
- type: SpentAmmoVisuals
state: frag
# suffix: false - Goobstation
- type: entity
id: Grenade0000Buckshot
name: "40mm 0000-Buckshot"
parent: BaseGrenade
description: "For when you're hunting alien game animals the size of a dropship."
components:
- type: CartridgeAmmo
proto: BulletGrenadeSpread0000Buckshot
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi
layers:
- state: frag
map: ["enum.AmmoVisualLayers.Base"]
- type: Appearance
- type: SpentAmmoVisuals
state: frag
# suffix: false - Goobstation

View File

@@ -0,0 +1,76 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: BulletGrenadeSpreadBeanbag
categories: [ HideSpawnMenu ]
parent: PelletShotgun
components:
- type: ProjectileSpread
proto: PelletShotgunBeanbag
count: 8
spread: 25
- type: entity
id: BulletGrenadeSpreadBirdshot
categories: [ HideSpawnMenu ]
parent: PelletShotgun
components:
- type: ProjectileSpread
proto: BulletGrenadeBirdshot
count: 50
spread: 25
- type: entity
id: BulletGrenadeBirdshot
categories: [ HideSpawnMenu ]
parent: PelletShotgun
components:
- type: Sprite
scale: 0.5, 0.5
sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi
state: buckshot
- type: Projectile
damage:
types:
Piercing: 10
- type: entity
id: BulletGrenadeSpread00Buckshot
categories: [ HideSpawnMenu ]
parent: PelletShotgun
components:
- type: ProjectileSpread
proto: PelletShotgun00Buckshot
count: 32
spread: 25
- type: entity
id: BulletGrenadeSpread0000Buckshot
categories: [ HideSpawnMenu ]
parent: PelletShotgun
components:
- type: ProjectileSpread
proto: PelletShotgun0000Buckshot
count: 24
spread: 25
- type: entity
id: BulletGrenadeSlug
name: slug grenade
parent: BaseBullet
categories: [ HideSpawnMenu ]
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi
layers:
- state: grenade
- type: Projectile
damage:
types:
Blunt: 250 # At this point you're firing a cannon shell at someone.
Structural: 800 # Will instantly destroy pretty much any structure it hits.
- type: StaminaDamageOnCollide
damage: 150 # JUST IN CASE THEY SOMEHOW SURVIVE IT.

View File

@@ -0,0 +1,79 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: PelletShotgunBirdshot
name: pellet (.50 birdshot)
categories: [ HideSpawnMenu ]
parent: BaseBullet
components:
- type: Sprite
scale: 0.5, 0.5
sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi
state: buckshot
- type: Projectile
damage:
types:
Piercing: 3.333
- type: entity
id: PelletShotgunSpreadBirdshot
categories: [ HideSpawnMenu ]
parent: PelletShotgun
components:
- type: ProjectileSpread
proto: PelletShotgunBirdshot
count: 18
spread: 15
- type: entity
id: PelletShotgun00Buckshot
name: pellet (.50 00-Buckshot)
categories: [ HideSpawnMenu ]
parent: BaseBullet
components:
- type: Sprite
scale: 1.1, 1.1
sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi
state: buckshot
- type: Projectile
damage:
types:
Piercing: 15
- type: entity
id: PelletShotgunSpread00Buckshot
categories: [ HideSpawnMenu ]
parent: PelletShotgun
components:
- type: ProjectileSpread
proto: PelletShotgun00Buckshot
count: 4
spread: 15
- type: entity
id: PelletShotgun0000Buckshot
name: pellet (.50 0000-Buckshot)
categories: [ HideSpawnMenu ]
parent: BaseBullet
components:
- type: Sprite
scale: 1.25, 1.25
sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi
state: buckshot
- type: Projectile
damage:
types:
Piercing: 20
- type: entity
id: PelletShotgunSpread0000Buckshot
categories: [ HideSpawnMenu ]
parent: PelletShotgun
components:
- type: ProjectileSpread
proto: PelletShotgun0000Buckshot
count: 3
spread: 15

View File

@@ -0,0 +1,86 @@
# SPDX-FileCopyrightText: 2024 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Remuchi <72476615+Remuchi@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 VMSolidus <evilexecutive@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: TelescopicBaton
parent: [BaseItem, BaseCommandContraband] # Goob edit
name: telescopic baton
description: A compact and harmless personal defense weapon. Sturdy enough to knock the feet out from under attackers. If you hit a person immediately after extending the baton, it will force them drop held items as well. # Goob edit
components:
- type: Sprite
sprite: _Goobstation/Objects/Weapons/Melee/telebaton.rsi # Goob edit
layers:
- state: icon-off
map: [ "enum.ItemToggleVisuals.Layer" ]
- type: Item
sprite: _Goobstation/Objects/Weapons/Melee/telebaton.rsi # Goob edit
size: Small
storedRotation: -45 # Goobstation
- type: ItemToggle
soundActivate:
path: /Audio/Weapons/telescopicon.ogg
params:
volume: -2
soundDeactivate:
path: /Audio/Weapons/telescopicoff.ogg
params:
volume: -2
- type: ComponentToggler # Goobstation
components:
- type: DisarmMalus
malus: 0.6
- type: ItemToggleMeleeWeapon
activatedSoundOnHit:
path: /Audio/_Goobstation/Weapons/Baton/woodhit.ogg
params:
variation: 0.250
activatedDamage:
types:
Blunt: 12
woundSeverityMultipliers: #Goob
Blunt: 0.5 # Im tired of this shit breaking bones, its meant to be nonlethal
- type: ItemToggleSize
activatedSize: Normal
activatedShape: # Goobstation
- 0,0,0,3
- type: UseDelay
# Goob edit start
delays:
default:
length: 1
telebaton:
length: 4
# Goob edit end
- type: TelescopicBaton
- type: KnockdownOnHit
duration: 1.5
dropHeldItemsBehavior: DropIfStanding # Goob edit
- type: MeleeWeapon
wideAnimationRotation: -135
bluntStaminaDamageFactor: 1.5
angle: 0 # Goob edit
damage:
types:
Blunt: 1
- type: Appearance
- type: ItemToggleVisuals # Goobstation
- type: GenericVisualizer
visuals:
enum.ItemToggleVisuals.State:
enum.ItemToggleVisuals.Layer:
True: { state: icon }
False: { state: icon-off }
- type: Clothing # Goobstation
sprite: _Goobstation/Objects/Weapons/Melee/telebaton.rsi
slots:
- Belt
- type: UseDelayBlockMelee # Goobstation
delays:
- default
- telebaton

View File

@@ -0,0 +1,68 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
name: DT-8 "Terminus"
parent: [BaseItem, BaseSecurityContraband]
id: Terminus
description: An advanced melee weapon crafted specifically for an oni. It is also capable of firing a spread of disabler shots from its tip.
components:
- type: RestrictedMelee # Omu port
whitelist:
tags:
- Oni
- type: Sprite
sprite: _EinsteinEngines/Objects/Weapons/Melee/terminus.rsi
state: icon
- type: Clothing
sprite: _EinsteinEngines/Objects/Weapons/Melee/terminus.rsi
slots:
- Back
- suitStorage
- type: AmmoCounter
- type: Gun
soundGunshot: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
fireRate: 1.5
useKey: false
- type: Battery
maxCharge: 1500
startingCharge: 1500
- type: ProjectileBatteryAmmoProvider
proto: BulletDisablerSmgSpread
fireCost: 100
- type: MeleeWeapon
attackRate: 0.8
damage:
types:
Blunt: 12
Slash: 12
soundHit:
collection: MetalThud
- type: StaminaDamageOnHit
damage: 30
- type: Wieldable
- type: GunRequiresWield
- type: MeleeRequiresWield
fumbleOnAttempt: true
- type: Item
size: Huge
shape:
- 0,0,4,2
- type: DisarmMalus
malus: 0.75
- type: Tool # Omu
qualities:
- Prying
useSound:
path: /Audio/Items/crowbar.ogg
- type: Prying
- type: UseDelay # Omu
delay: 0.9

View File

@@ -0,0 +1,4 @@
- type: flavor
id: plasma
flavorType: Complex
description: flavor-complex-plasma

View File

@@ -0,0 +1,24 @@
- type: entity
parent: BaseGameRule
id: Shadowling
components:
- type: ShadowlingRule
- type: GameRule
minPlayers: 30
- type: AntagSelection
definitions:
- prefRoles: [ Shadowling ]
playerRatio: 30
chaosScore: 500
jobBlacklist: [ Chaplain ] # GOOBSTATION
blacklist:
components:
- CommandStaff
mindRoles:
- MindRoleShadowling
- type: AntagObjectives
objectives:
- ShadowlingAscendObjective
- type: Tag
tags:
- RoundstartAntag

View File

@@ -0,0 +1,63 @@
# Small, invisible to others
- type: InteractionPopup
id: Subtle
popupType: Small
logChannel: Emotes
others: null
# Small, visible to others
- type: InteractionPopup
id: Visible
popupType: Small
logChannel: Emotes
# Small, visible to others but not logged into chat
- type: InteractionPopup
id: VisibleNoChat
popupType: Small
logPopup: false
# Medium, visible to others
- type: InteractionPopup
id: Obvious
popupType: Medium
logChannel: Emotes
# MediumCaution, visible to others
- type: InteractionPopup
id: Dangerous
popupType: MediumCaution
logChannel: Emotes
# Delayed popups - not logged into chat
- type: InteractionPopup
id: SubtleDelayed
popupType: Small
logPopup: false
logChannel: Emotes
others: null
- type: InteractionPopup
id: ObviousDelayed
popupType: Small
logPopup: false
logChannel: Emotes
- type: InteractionPopup
id: DangerousDelayed
popupType: SmallCaution
logPopup: false
logChannel: Emotes
# Visible only to self
- type: InteractionPopup
id: SubtleFail
popupType: SmallCaution
target: null
others: null
# Visible to self and target, but not others
- type: InteractionPopup
id: Fail
popupType: SmallCaution
others: null

View File

@@ -0,0 +1,42 @@
- type: Interaction
id: Base
abstract: true
effectSuccess:
popup: Small
effectFailure:
popup: SubtleFail
# Base global interaction
- type: Interaction
id: BaseGlobal
abstract: true
global: true
# Base interaction that involves hands
- type: Interaction
id: BaseHands
abstract: true
requiresHands: true
requiresCanInteract: true
contactInteraction: true
range:
max: 1.2
effectSuccess:
popup: Obvious
sound: {path: /Audio/Effects/thudswoosh.ogg}
effectFailure:
popup: Fail
sound: {path: /Audio/Effects/thudswoosh.ogg}
# Base interaction using dangerous popups
- type: Interaction
id: BaseDangerous
abstract: true
effectSuccess:
popup: Dangerous
sound: {path: /Audio/Effects/thudswoosh.ogg}
effectFailure:
popup: Fail
sound: {path: /Audio/Effects/thudswoosh.ogg}
effectDelayed:
popup: DangerousDelayed

View File

@@ -0,0 +1,116 @@
- type: Interaction
id: BaseHelp
parent: [BaseDangerous, BaseHands]
abstract: true
priority: -5
cooldown: 4
range: {max: 1.2}
allowedContests: [Mass]
contestAdvantageRange:
min: 0.4 # Only lower bound; you can be as much stronger than your target as you like
contestAdvantageLimit:
min: 0.5
max: 2
contestDelay: true
# Combines waking up, helping from stun, and forcing to stand.
- type: Interaction
id: HelpUp
parent: [BaseHelp, BaseGlobal]
delay: 1.5
cooldown: 0.5
hideByRequirement: true
requirement:
# Goob edit - No sleeping borgs and stuff
!type:ComplexRequirement
requirements:
- !type:StandingStateRequirement
allowLaying: true
allowKnockedDown: true
allowSleep: false
- !type:EntityWhitelistRequirement
whitelist:
components:
- LayingDown
# Goob end
action:
!type:ComplexAction
requireAll: false
actions:
- !type:ChangeStandingStateAction
makeStanding: true
- !type:ModifyStatusEffectAction
effect: KnockedDown
timeAdded: -2.5 # TODO: probably unnecessary but some systems like slippery sometimes mention it in TODO manner
- !type:ModifyStatusEffectAction
effect: Stun
timeAdded: -2.5 # 2 seconds delay to remove 2.5 seconds of stun - should be good enough.
- type: Interaction
id: ForceDown
parent: [BaseHelp, BaseGlobal]
delay: 4.5
hideByRequirement: true
requirement:
# Goob edit - No sleeping borgs and stuff
!type:ComplexRequirement
requirements:
- !type:StandingStateRequirement
allowStanding: true
- !type:EntityWhitelistRequirement
whitelist:
components:
- LayingDown
# Goob end
action:
!type:ChangeStandingStateAction
makeLaying: true
- type: Interaction
id: MakeSleepOther
parent: [BaseHelp, BaseGlobal]
priority: -6
delay: 10 # Should be long enough to be non-abusable, right?
hideByRequirement: true
requirement:
!type:ComplexRequirement
requirements:
- !type:StandingStateRequirement
allowLaying: true
allowKnockedDown: true
allowSleep: false
- !type:MobStateRequirement
allowedStates: [Alive, Critical]
action:
!type:ToggleSleepingAction
sleep: true
# Shake the target to wake them up and sober them up a little bit
- type: Interaction
id: ShakeOther
parent: [BaseHelp, BaseGlobal]
priority: -5
delay: 0.8
cooldown: 10 # Slightly abusable
effectDelayed: null
hideByRequirement: true
requirement:
!type:ComplexRequirement
requirements:
- !type:MobStateRequirement
allowedStates: [Alive, Critical]
- !type:StandingStateRequirement
allowStanding: true
allowLaying: true
allowKnockedDown: true
allowSleep: false
action:
!type:ComplexAction
actions:
- !type:ModifyStatusEffectAction
effect: Drunk
timeAdded: -20 # Only removes 20s of visual effects, not affecting the amount of ethanol in the target's blood
- !type:JitterAction
time: 0.8
- !type:ToggleSleepingAction
wakeUp: true

View File

@@ -0,0 +1,60 @@
- type: Interaction
id: LookAt
parent: BaseGlobal
priority: 4
requiresHands: false
requiresCanInteract: false
contactInteraction: false
allowSelfInteract: true
icon: /Textures/Interface/Actions/eyeopen.png
range: {max: 20}
effectSuccess:
popup: Obvious
sound: {path: /Audio/Effects/ominous.ogg}
soundPerceivedByOthers: false # Can be used to attract attention, but not to spam sounds or chat
action:
!type:NoOpAction
- type: Interaction
id: WaveAt
parent: [BaseHands, BaseGlobal]
priority: 3
requiresCanInteract: false
contactInteraction: false
range: {max: 20}
effectSuccess:
popup: Obvious
sound: {path: /Audio/Effects/ominous.ogg}
soundPerceivedByOthers: false
hideByRequirement: true
requirement:
!type:MobStateRequirement # Don't wave your hands at inanimate objects smh
inverted: true
action:
!type:NoOpAction
- type: Interaction
id: Hug
parent: [BaseGlobal, BaseHands]
priority: 2
#icon: /Textures/Interface/Actions/hug.png
delay: 0.7
range: {max: 1}
hideByRequirement: true
requirement:
!type:MobStateRequirement
inverted: true
action:
# TODO: this should pull the target closer or sumth, but I need to code that action first
!type:NoOpAction
# Knocking on the target - doors, etc.
- type: Interaction
id: KnockOn
parent: BaseHands
priority: 20
effectSuccess:
popup: Visible
sound: {path: /Audio/Effects/glass_knock.ogg}
action:
!type:NoOpAction

View File

@@ -0,0 +1,46 @@
- type: Interaction
id: SelfInteractionBase
parent: [BaseHands, BaseGlobal]
abstract: true
allowSelfInteract: true
hideByRequirement: true
effectFailure:
popup: SubtleFail
effectDelayed:
popup: Subtle
requirement:
!type:SelfTargetRequirement
failPopup:
others: null
- type: Interaction
id: PinchSelf
parent: SelfInteractionBase
delay: 1
action:
!type:ComplexAction
actions:
- !type:ModifyHealthAction
damage:
types: {Blunt: 5}
# 45% chance to cause yelp
- !type:ConditionalAction
condition:
!type:ChanceRequirement
chance: 0.45
true:
!type:ChatMessageAction
numMessages: 3
# Sleeping on the floor is real
- type: Interaction
id: MakeSleepSelf
parent: [SelfInteractionBase, MakeSleepOther]
delay: 4.5
requirement:
!type:ComplexRequirement
requirements:
- !type:SelfTargetRequirement
- !type:StandingStateRequirement
allowLaying: true
allowKnockedDown: true

View File

@@ -0,0 +1,166 @@
# SPDX-FileCopyrightText: 2021 Paul Ritter <ritter.paul1@gmail.com>
# SPDX-FileCopyrightText: 2021 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2022 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <Jezithyr.@gmail.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <Jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <jmaster9999@gmail.com>
# SPDX-FileCopyrightText: 2022 Justin Trotter <trotter.justin@gmail.com>
# SPDX-FileCopyrightText: 2022 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2022 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Visne <39844191+Visne@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 ZeroDayDaemon <60460608+ZeroDayDaemon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 wrexbe <81056464+wrexbe@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 wrexbe <wrexbe@protonmail.com>
# SPDX-FileCopyrightText: 2024 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Джексон Миссиссиппи <tripwiregamer@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: inventoryTemplate
id: ipc
slots:
- name: shoes
slotTexture: shoes
slotFlags: FEET
stripTime: 3
uiWindowPos: 1,0
strippingWindowPos: 1,3
displayName: Shoes
- name: jumpsuit
slotTexture: uniform
slotFlags: INNERCLOTHING
stripTime: 6
uiWindowPos: 0,1
strippingWindowPos: 0,2
displayName: Jumpsuit
- name: outerClothing
slotTexture: suit
slotFlags: OUTERCLOTHING
stripTime: 6
uiWindowPos: 1,1
strippingWindowPos: 1,2
displayName: Suit
# Underwear
# - name: undershirt
# slotTexture: undershirt
# slotFlags: UNDERSHIRT
# stripTime: 8
# uiWindowPos: 4,1
# strippingWindowPos: 3,1
# displayName: Undershirt
# - name: underpants
# slotTexture: underpants
# slotFlags: UNDERPANTS
# stripTime: 12
# uiWindowPos: 4,0
# strippingWindowPos: 3,2
# displayName: Underpants
# - name: socks
# slotTexture: socks
# slotFlags: SOCKS
# stripTime: 8
# uiWindowPos: 4,2
# strippingWindowPos: 3,3
# displayName: Socks
- name: gloves
slotTexture: gloves
slotFlags: GLOVES
uiWindowPos: 2,1
strippingWindowPos: 2,0
displayName: Gloves
- name: neck
slotTexture: neck
slotFlags: NECK
uiWindowPos: 0,2
strippingWindowPos: 0,1
displayName: Neck
- name: mask
uiWindowPos: 1,2
slotTexture: mask
slotFlags: MASK
strippingWindowPos: 1,1
displayName: Mask
whitelist:
components:
- IdentityBlocker
tags:
- IPCMaskWearable
- name: eyes
slotTexture: glasses
slotFlags: EYES
stripTime: 3
uiWindowPos: 0,3 # Goobstation - Fix the glasses slot being overlapped with the inventory button; consistent with other inventory templates.
strippingWindowPos: 0,0
displayName: Eyes
# - name: ears
# slotTexture: ears
# slotFlags: EARS
# stripTime: 3
# uiWindowPos: 2,0
# strippingWindowPos: 2,0
# displayName: Ears
- name: head
slotTexture: head
slotFlags: HEAD
uiWindowPos: 1,3
strippingWindowPos: 1,0
displayName: Head
- name: pocket1
slotTexture: pocket
slotFlags: POCKET
slotGroup: MainHotbar
stripTime: 3
uiWindowPos: 0,3
strippingWindowPos: 0,4
dependsOn: jumpsuit
displayName: Pocket 1
stripHidden: true
- name: pocket2
slotTexture: pocket
slotFlags: POCKET
slotGroup: MainHotbar
stripTime: 3
uiWindowPos: 2,3
strippingWindowPos: 1,4
dependsOn: jumpsuit
displayName: Pocket 2
stripHidden: true
- name: suitstorage
slotTexture: suit_storage
slotFlags: SUITSTORAGE
slotGroup: MainHotbar
stripTime: 3
uiWindowPos: 2,0
strippingWindowPos: 2,5
dependsOn: outerClothing
displayName: Suit Storage
- name: id
slotTexture: id
slotFlags: IDCARD
slotGroup: SecondHotbar
stripTime: 6
uiWindowPos: 2,1
strippingWindowPos: 2,4
dependsOn: jumpsuit
displayName: ID
- name: belt
slotTexture: belt
slotFlags: BELT
slotGroup: SecondHotbar
stripTime: 6
uiWindowPos: 3,1
strippingWindowPos: 1,5
displayName: Belt
- name: back
slotTexture: back
slotFlags: BACK
slotGroup: SecondHotbar
stripTime: 6
uiWindowPos: 3,0
strippingWindowPos: 0,5
displayName: Back

View File

@@ -0,0 +1,132 @@
- type: inventoryTemplate
id: plasmaman
slots:
- name: shoes
slotTexture: shoes
slotFlags: FEET
stripTime: 3
uiWindowPos: 1,0
strippingWindowPos: 1,3
displayName: Shoes
- name: jumpsuit
slotTexture: uniform
slotFlags: INNERCLOTHING
stripTime: 6
uiWindowPos: 0,1
strippingWindowPos: 0,2
displayName: Jumpsuit
whitelist:
tags:
- PlasmamanSafe
- name: outerClothing
slotTexture: suit
slotFlags: OUTERCLOTHING
stripTime: 6
uiWindowPos: 1,1
strippingWindowPos: 1,2
displayName: Suit
- name: gloves
slotTexture: gloves
slotFlags: GLOVES
uiWindowPos: 2,1
strippingWindowPos: 2,2
displayName: Gloves
whitelist:
tags:
- PlasmamanSafe
- name: neck
slotTexture: neck
slotFlags: NECK
uiWindowPos: 0,2
strippingWindowPos: 0,1
displayName: Neck
- name: mask
slotTexture: mask
slotFlags: MASK
uiWindowPos: 1,2
strippingWindowPos: 1,1
displayName: Mask
- name: eyes
slotTexture: glasses
slotFlags: EYES
stripTime: 3
uiWindowPos: 0,3
strippingWindowPos: 0,0
displayName: Eyes
- name: ears
slotTexture: ears
slotFlags: EARS
stripTime: 3
uiWindowPos: 2,2
strippingWindowPos: 2,0
displayName: Ears
- name: head
slotTexture: head
slotFlags: HEAD
uiWindowPos: 1,3
strippingWindowPos: 1,0
displayName: Head
whitelist:
tags:
- PlasmamanSafe
- name: pocket1
slotTexture: pocket
fullTextureName: template_small
slotFlags: POCKET
slotGroup: MainHotbar
stripTime: 3
uiWindowPos: 0,3
strippingWindowPos: 0,4
dependsOn: jumpsuit
displayName: Pocket 1
stripHidden: true
- name: pocket2
slotTexture: pocket
fullTextureName: template_small
slotFlags: POCKET
slotGroup: MainHotbar
stripTime: 3
uiWindowPos: 2,3
strippingWindowPos: 1,4
dependsOn: jumpsuit
displayName: Pocket 2
stripHidden: true
- name: suitstorage
slotTexture: suit_storage
slotFlags: SUITSTORAGE
slotGroup: MainHotbar
stripTime: 3
uiWindowPos: 2,0
strippingWindowPos: 2,5
dependsOn: jumpsuit # Goobstation - plasmamen can use the envirosuit as gasholder
dependsOnComponents:
- type: AllowSuitStorage
displayName: Suit Storage
- name: id
slotTexture: id
fullTextureName: template_small
slotFlags: IDCARD
slotGroup: SecondHotbar
stripTime: 6
uiWindowPos: 2,1
strippingWindowPos: 2,4
dependsOn: jumpsuit
displayName: ID
- name: belt
slotTexture: belt
fullTextureName: template_small
slotFlags: BELT
slotGroup: SecondHotbar
stripTime: 6
uiWindowPos: 3,1
strippingWindowPos: 1,5
displayName: Belt
- name: back
slotTexture: back
fullTextureName: template_small
slotFlags: BACK
slotGroup: SecondHotbar
stripTime: 6
uiWindowPos: 3,0
strippingWindowPos: 0,5
displayName: Back

View File

@@ -0,0 +1,27 @@
- type: inventoryTemplate
id: shadowling
slots:
- name: ears
slotTexture: ears
slotFlags: EARS
stripTime: 3
uiWindowPos: 2,2
strippingWindowPos: 2,0
displayName: Ears
- name: back
slotTexture: back
slotFlags: BACK
slotGroup: SecondHotbar
stripTime: 6
uiWindowPos: 3,0
strippingWindowPos: 0,5
displayName: Back
- name: id
slotTexture: id
fullTextureName: template_small
slotFlags: IDCARD
slotGroup: SecondHotbar
stripTime: 6
uiWindowPos: 2,1
strippingWindowPos: 2,4
displayName: ID

View File

@@ -0,0 +1,28 @@
# Used by Blob.
- type: language
id: Blob
speech:
fontId: Monospace # TODO - Make a better font selection instead of copying Silicon.
boldFontId: MonospaceBold
color: "#800080"
obfuscation:
!type:SyllableObfuscation
minSyllables: 1
maxSyllables: 3
replacement:
- bab
- bob
- beb
- bub
- gab
- gob
- geb
- gub
- blab
- blob
- bleb
- blub
- glab
- glob
- gleb
- glub

View File

@@ -0,0 +1,159 @@
# Used by followers of Nar'Sie
- type: language
id: Eldritch
speech:
color: "#dc143c"
obfuscation:
!type:SyllableObfuscation
minSyllables: 2 # Replacements are really short
maxSyllables: 7
replacement:
- "'ra"
- so
- at
- il
- "'ta"
- gh
- sh
- ya
- "'te"
- sh
- ol
- ma
- om
- ig
- ni
- in
- sha
- mir
- sas
- mah
- zar
- tok
- lyr
- nqa
- nap
- olt
- val
- qha
- fwe
- ath
- yro
- eth
- gal
- gib
- bar
- jin
- kla
- atu
- kal
- lig
- yoka
- drak
- loso
- arta
- weyh
- ines
- toth
- fara
- amar
- nyag
- eske
- reth
- dedo
- btoh
- nikt
- neth
- kanas
- garis
- uloft
- tarat
- khari
- thnor
- rekka
- ragga
- rfikk
- harfr
- andid
- ethra
- dedol
- totum
- ntrath
- keriam
- sha
- mir
- sas
- mah
- hra
- zar
- "'tok"
- lyr
- nqa
- nap
- olt
- val
- yam
- qha
- fel
- det
- fwe
- mah
- erl
- ath
- yro
- eth
- gal
- mud
- gib
- bar
- tea
- fuu
- jin
- kla
- atu
- kal
- lig
- yoka
- drak
- loso
- arta
- weyh
- ines
- toth
- fara
- amar
- nyag
- eske
- reth
- dedo
- btoh
- nikt
- neth
- abis
- kanas
- garis
- uloft
- tarat
- khari
- thnor
- rekka
- ragga
- rfikk
- harfr
- andid
- ethra
- dedol
- totum
- verbot
- pleggh
- ntrath
- barhah
- pasnar
- keriam
- usinar
- savrae
- amutan
- tannin
- remium
- barada
- forbici

View File

@@ -0,0 +1,16 @@
# Spoken by Chitinids.
- type: language
id: Chittin
isVisibleLanguage: true
speech:
color: "#7d7d7d"
# fontId: Only_You # TODO: If we use fonts, this needs to be changed because this underscore breaks parser and throws error.
obfuscation:
!type:SyllableObfuscation
minSyllables: 1 # Replacements are really short
maxSyllables: 2
replacement:
- click
- clack
- buzz
- bizz

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