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,21 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseAction
id: ActionCancelEscape
name: Stop escaping
description: Calm down and sit peacefuly in your carrier's inventory
categories: [ HideSpawnMenu ]
components:
- type: Action
icon: _DV/Actions/escapeinventory.rsi/cancel-escape.png
useDelay: 2
- type: InstantAction
event: !type:EscapeInventoryCancelActionEvent

View File

@@ -0,0 +1,297 @@
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 SaffronFennec <firefoxwolf2020@protonmail.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseAction
id: ActionCosmicSiphon
name: Siphon Entropy
description: Silently siphon entropy from your target, dealing some damage in the process.
components:
- type: Action
useDelay: 15
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: siphon
- type: TargetAction
deselectOnMiss: true
- type: EntityTargetAction
whitelist:
components:
- HumanoidAppearance
blacklist:
components:
- CosmicCult
event: !type:EventCosmicSiphon {}
- type: entity
parent: BaseAction
id: ActionCosmicBlank
name: Shunt Subjectivity
description: Shunt your target's mind out of their body and unto the cosmic dark, temporarily rendering their body mindless.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 120
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: blank
- type: TargetAction
deselectOnMiss: true
- type: EntityTargetAction
canTargetSelf: true
whitelist:
components:
- HumanoidAppearance
blacklist:
components:
- CosmicCult
event: !type:EventCosmicBlank {}
- type: entity
parent: BaseAction
id: ActionCosmicPlaceMonument
name: Beckon The Monument
description: Call forth The Monument into realspace. Keep it hidden and safe from non-cultists!
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 999
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: monument
- type: ConfirmableAction
popup: cosmicability-monument-spawn-confirm
primeTime: 10 #increased to give you more time to figure out where you want to put it
- type: InstantAction
event: !type:EventCosmicPlaceMonument {}
- type: MonumentPlacementPreview
tier: 1
- type: entity
parent: BaseAction
id: ActionCosmicMoveMonument
name: Relocate The Monument
description: Your work is imperative, and the end is inevitable. Ensure that it is completed under your watch.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 600
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: monument-relocate
- type: ConfirmableAction
popup: cosmicability-monument-move-confirm
primeTime: 10 #increased to give you more time to figure out where you want to put it
- type: InstantAction
event: !type:EventCosmicMoveMonument
- type: MonumentPlacementPreview
tier: 1
- type: entity
parent: BaseAction
id: ActionCosmicReturn
name: Return
description: Dissipate your astral projection and return to your body.
categories: [ HideSpawnMenu ]
components:
- type: Action
itemIconStyle: NoItem
useDelay: 0
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: return
- type: InstantAction
event: !type:EventCosmicReturn {}
- type: entity
parent: BaseAction
id: ActionCosmicLapse
name: Abberant Lapse
description: Lapse your target's corporeal form, temporarily rendering it immutable, impassible, and frozen in place.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 24
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: lapse
- type: TargetAction
deselectOnMiss: true
- type: EntityTargetAction
canTargetSelf: true
whitelist:
components:
- HumanoidAppearance
event: !type:EventCosmicLapse {}
- type: entity
parent: BaseAction
id: ActionCosmicGlare
name: Null Glare
description: Emit a horrific pulse of cosmic light, slowing and disorienting everyone around you.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 30
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: glare
- type: InstantAction
event: !type:EventCosmicGlare {}
- type: entity
parent: BaseAction
id: ActionCosmicIngress
name: Force Ingress
description: Use a concentrated blast of power to force a secure doorway open.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 5
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: ingress
- type: TargetAction
deselectOnMiss: true
- type: EntityTargetAction
whitelist:
components:
- Door
event: !type:EventCosmicIngress {}
- type: entity
parent: BaseAction
id: ActionCosmicImposition
name: Vacuous Imposition
description: You negate any incoming damage for a short time.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 60
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: entropic
- type: InstantAction
event: !type:EventCosmicImposition {}
- type: entity
parent: BaseAction
id: ActionCosmicNova
name: Astral Nova
description: Hurl a large and disruptive blast of astral energy.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 30
raiseOnUser: true
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: nova
- type: TargetAction
range: 60
- type: WorldTargetAction
event: !type:EventCosmicNova {}
#################################### ROGUE ASCENDANT ACTIONS ######################################
- type: entity
parent: BaseAction
id: ActionRogueCosmicNova
name: Usurped Astral Nova
description: Hurl a large and disruptive blast of astral energy.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 10
raiseOnUser: true
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: roguenova
- type: TargetAction
range: 60
- type: WorldTargetAction
event: !type:EventRogueCosmicNova {}
- type: entity
parent: BaseAction
id: ActionRogueInfection
name: Malign Corruption
description: Instill the essence of endings into a subdued target.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 5
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: rogueinfect
- type: TargetAction
deselectOnMiss: true
- type: EntityTargetAction
whitelist:
components:
- HumanoidAppearance
blacklist:
components:
- RogueAscendedInfection
- CosmicCult
- BibleUser
event: !type:EventRogueInfection {}
- type: entity
parent: BaseAction
id: ActionRogueSlumber
name: Slumber Shell
description: Instantly slumber a target's mortal shell, rendering them asleep and ready for Malign Corruption.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 55
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: rogueshatter
- type: TargetAction
deselectOnMiss: true
- type: EntityTargetAction
whitelist:
components:
- HumanoidAppearance
blacklist:
components:
- RogueAscendedInfection
- CosmicCult
- BibleUser
event: !type:EventRogueSlumber {}
- type: entity
parent: BaseAction
id: ActionRogueGrandShunt
name: Malign Mindspike
description: Shunt the minds of all nearby out of their body and unto the cosmic dark, temporarily rendering their body mindless.
categories: [ HideSpawnMenu ]
components:
- type: Action
useDelay: 100
itemIconStyle: NoItem
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: rogueshunt
- type: InstantAction
event: !type:EventRogueGrandShunt {}

View File

@@ -0,0 +1,39 @@
- type: entity
parent: BaseAction
id: ActionHarpyPlayMidi
name: Play MIDI
description: Sing your heart out! Right click yourself to set an instrument.
categories: [ HideSpawnMenu ]
components:
- type: Action
checkCanInteract: false
icon: _DV/Interface/Actions/harpy_sing.png
- type: InstantAction
event: !type:OpenUiActionEvent
key: enum.InstrumentUiKey.Key
- type: entity
parent: BaseAction
id: ActionSyrinxChangeVoiceMask
name: Set name
description: Change the name others hear to something else.
categories: [ HideSpawnMenu ]
components:
- type: Action
icon: _DV/Interface/Actions/harpy_syrinx.png
itemIconStyle: BigAction
- type: InstantAction
event: !type:VoiceMaskSetNameEvent
- type: entity
parent: BaseAction
id: ActionToggleFlight
name: Fly
description: Make use of your wings to fly. Beat the flightless bird allegations.
components:
- type: Action
checkCanInteract: false
icon: { sprite: _EinsteinEngines/Interface/Actions/flight.rsi, state: flight_off }
iconOn: { sprite : _EinsteinEngines/Interface/Actions/flight.rsi, state: flight_on }
- type: InstantAction
event: !type:ToggleFlightEvent

View File

@@ -0,0 +1,70 @@
# SPDX-FileCopyrightText: 2024 DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# 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 Aidenkrz <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ark <189933909+ark1368@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseAction
id: ActionOpenRadioImplant
name: Open Radio Implant
description: Opens the bluespace key compartment of the radio implant embedded in your skull.
components:
- type: Action
itemIconStyle: BigAction
priority: -20
icon:
sprite: Clothing/Ears/Headsets/base.rsi
state: icon
- type: InstantAction
event: !type:OpenStorageImplantEvent
- type: entity
parent: BaseAction
id: ActionOpenMouthStorage
name: Open cheek storage
description: Allows you to store items in your cheeks.
components:
- type: Action
itemIconStyle: BigAction
priority: -10
icon: _DV/Interface/Actions/mouthStorageOpen.png
- type: InstantAction
event: !type:OpenStorageImplantEvent
- type: entity
parent: BaseAction
id: ActionToggleSneakMode
name: Toggle sneak mode
description: Sneak underneath tables.
components:
- type: Action
itemIconStyle: BigAction
useDelay: 3
icon:
sprite: Structures/Furniture/Tables/generic.rsi
state: full
- type: InstantAction
event: !type:ToggleCrawlingStateEvent
- type: entity
id: ActionChitzite
name: Cough Up Chitzite
description: Purge the excess radiation build-up from your body, and gain a cool danger rock.
components:
- type: Action
enabled: false
icon:
sprite: _DV/Objects/Specific/Species/chitinid.rsi
state: chitzite
useDelay: 120
- type: InstantAction
event: !type:CoughItemActionEvent

View File

@@ -0,0 +1,59 @@
# SPDX-FileCopyrightText: 2025 Aidenkrz <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ark <189933909+ark1368@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: OrganChitinidStomach
parent: OrganAnimalStomach
name: stomach
description: "Gross. This is hard to stomach."
components:
- type: Organ # Shitmed Change
slotId: stomach # Shitmed Change
- type: Sprite
state: stomach
- type: Item
size: Small
heldPrefix: stomach
- type: SolutionContainerManager
solutions:
stomach:
maxVol: 50
food:
maxVol: 5
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 5
- type: Stomach
- type: Metabolizer
metabolizerTypes: [Animal]
groups:
- id: Food
- id: Drink
- type: entity
id: OrganChitinidLiver
parent: BaseAnimalOrgan
name: liver
categories: [ HideSpawnMenu ]
components:
- type: Organ
slotId: liver # Shitmed
- type: Sprite
state: liver
- type: Metabolizer
metabolizerTypes: [ Animal ]
groups:
- id: Alcohol
rateModifier: 0.1
- type: Liver # Shitmed
- type: Tag # goob edit
tags:
- Meat
- Organ
- Liver
- type: Item
size: Small
heldPrefix: liver

View File

@@ -0,0 +1,84 @@
# SPDX-FileCopyrightText: 2025 Aidenkrz <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: OrganAnimalStomach
id: OrganFeroxiStomach
name: feroxian stomach
categories: [ HideSpawnMenu ]
components:
- type: Stomach
specialDigestible:
tags:
- ReptilianFood
- Meat
- Pill
- Crayon
- Paper
- type: Metabolizer
metabolizerTypes: [ Feroxi, Animal ]
- type: SolutionContainerManager
solutions:
stomach:
maxVol: 50
food:
maxVol: 5
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 5
- type: entity
parent: BaseHumanOrgan
id: OrganFeroxiLungs
name: feroxian lungs and gills
description: "A pair of amphibious lungs along with gills, filtering oxygen out of the air continuously."
components:
- type: Sprite
sprite: Mobs/Species/Human/organs.rsi
layers:
- state: lung-l
- state: lung-r
- type: Organ
intCap: 17 # Goob start
integrity: 17
integrityThresholds:
Normal: 17
Damaged: 9
Destroyed: 0
slotId: lungs
removable: False # Goob end, make them actualy unremovable
- type: Lung
- type: Item # Goob
size: Small
heldPrefix: lungs
- type: Metabolizer
removeEmpty: true
solutionOnBody: false
solution: "Lung"
metabolizerTypes: [ Feroxi ]
groups:
- id: Gas
rateModifier: 100.0
- type: SolutionContainerManager
solutions:
organ:
maxVol: 10
reagents:
- ReagentId: Nutriment
Quantity: 10
Lung:
maxVol: 100
canReact: False
food:
maxVol: 5
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 5
- type: Tag # Goob
tags:
- Meat
- Organ
- Lungs

View File

@@ -0,0 +1,51 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# 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 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: OrganHarpyLungs
parent: BaseHumanOrgan
name: lungs
description: "An advanced pair of avian lungs. Filters oxygen by way of moving air constantly through air sacs."
components:
- type: Sprite
layers:
- state: lung-l
- state: lung-r
- type: Lung
- type: Organ
slotId: lungs
- type: Metabolizer
updateInterval: 2.0
removeEmpty: true
solutionOnBody: false
solution: "Lung"
metabolizerTypes: [ Human ]
groups:
- id: Gas
rateModifier: 200.0
- type: SolutionContainerManager
solutions:
organ:
reagents:
- ReagentId: Nutriment
Quantity: 10
Lung:
maxVol: 100.0
canReact: false
food:
maxVol: 5
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 5
- type: Tag # goob edit
tags:
- Meat
- Organ
- Lungs

View File

@@ -0,0 +1,34 @@
- type: entity
parent: OrganHumanStomach
id: OrganOniStomach
name: oni stomach
description: Ew, this is hard to stomach. Larger than normal
components:
- type: Stomach
specialDigestible:
tags:
- ReptilianFood
- Meat
- Pill
- Crayon
- Paper
isSpecialDigestibleExclusive: false # goob edit
- type: SolutionContainerManager
solutions:
stomach:
maxVol: 80 # Bigger Body = Bigger Stomach
food:
maxVol: 5
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 5
- type: Metabolizer
metabolizerTypes: [Oni, Animal]
- type: entity
parent: OrganHumanLiver
id: OrganOniLiver
name: oni liver
components:
- type: Metabolizer
metabolizerTypes: [Oni]

View File

@@ -0,0 +1,34 @@
# SPDX-FileCopyrightText: 2022 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <Jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2023 FluidRock <130304205+FluidRock@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Henry <sigma1198@gmail.com>
# SPDX-FileCopyrightText: 2023 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 LankLTE <135308300+LankLTE@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Myakot <30875116+Myakot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aexxie <codyfox.077@gmail.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: OrganVulpkaninStomach
parent: OrganAnimalStomach
categories: [ HideSpawnMenu ]
components:
- type: Stomach
- type: SolutionContainerManager
solutions:
stomach:
maxVol: 50
food:
maxVol: 5
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 5

View File

@@ -0,0 +1,139 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ark <189933909+ark1368@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# TODO: Add descriptions (many)
# TODO BODY: Part damage
- type: entity
id: PartChitinidBase
parent: [BaseItem, BasePart]
name: "Chitinid body part"
abstract: true
components:
- type: Sprite
sprite: _DV/Mobs/Species/Chitinid/parts.rsi
- type: WoundableVisuals
damageOverlayGroups:
Brute:
sprite: _Shitmed/Mobs/Effects/brute_damage.rsi
color: "#507846"
Burn:
sprite: _Shitmed/Mobs/Effects/burn_damage.rsi
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 3
- ReagentId: Blood
Quantity: 10
- type: Damageable # Shitmed
damageModifierSet: Chitinid
- type: entity
id: ChestChitinid
name: "chitinid chest"
parent: [PartChitinidBase, BaseChest]
components:
- type: Sprite
state: "chest_m"
- type: Icon
state: "chest_m"
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 10
- ReagentId: Blood
Quantity: 20
- type: entity
parent: [ PartChitinidBase, BaseGroin ]
id: GroinChitinid
name: "chitinid groin"
components:
- type: Sprite
state: "groin_m"
- type: Icon
state: "groin_m"
- type: entity
id: HeadChitinid
name: "chitinid head"
parent: [PartChitinidBase, BaseHead]
components:
- type: Sprite
state: "head_m"
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 5
- ReagentId: Blood
Quantity: 10
- type: entity
id: LeftArmChitinid
name: "left chitinid arm"
parent: [PartChitinidBase, BaseLeftArm]
components:
- type: Sprite
state: "l_arm"
- type: entity
id: RightArmChitinid
name: "right chitinid arm"
parent: [PartChitinidBase, BaseRightArm]
components:
- type: Sprite
state: "r_arm"
- type: entity
id: LeftHandChitinid
name: "left chitinid hand"
parent: [PartChitinidBase, BaseLeftHand]
components:
- type: Sprite
state: "l_hand"
- type: entity
id: RightHandChitinid
name: "right chitinid hand"
parent: [PartChitinidBase, BaseRightHand]
components:
- type: Sprite
state: "r_hand"
- type: entity
id: LeftLegChitinid
name: "left chitinid leg"
parent: [PartChitinidBase, BaseLeftLeg]
components:
- type: Sprite
state: "l_leg"
- type: entity
id: RightLegChitinid
name: "right chitinid leg"
parent: [PartChitinidBase, BaseRightLeg]
components:
- type: Sprite
state: "r_leg"
- type: entity
id: LeftFootChitinid
name: "left chitinid foot"
parent: [PartChitinidBase, BaseLeftFoot]
components:
- type: Sprite
state: "l_foot"
- type: entity
id: RightFootChitinid
name: "right chitinid foot"
parent: [PartChitinidBase, BaseRightFoot]
components:
- type: Sprite
state: "r_foot"

View File

@@ -0,0 +1,83 @@
# SPDX-FileCopyrightText: 2025 Aidenkrz <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: [ BasePart ]
abstract: true
id: PartFeroxiBase
name: feroxi body part
components:
- type: Sprite
sprite: _DV/Mobs/Species/Feroxi/parts.rsi
- type: Damageable # Shitmed
damageModifierSet: Feroxi
- type: WoundableVisuals
damageOverlayGroups:
Brute:
sprite: _Shitmed/Mobs/Effects/brute_damage.rsi
color: "#3d909c"
Burn:
sprite: _Shitmed/Mobs/Effects/burn_damage.rsi
- type: entity
parent: [ PartFeroxiBase, BaseChest ]
id: ChestFeroxi
name: feroxi chest
- type: entity
parent: [ PartFeroxiBase, BaseGroin ]
id: GroinFeroxi
name: "feroxi groin"
components:
- type: Sprite
state: "groin_m"
- type: Icon
state: "groin_m"
- type: entity
parent: [ PartFeroxiBase, BaseHead ]
id: HeadFeroxi
name: feroxi head
- type: entity
parent: [ PartFeroxiBase, BaseLeftArm ]
id: LeftArmFeroxi
name: left feroxi arm
- type: entity
parent: [ PartFeroxiBase, BaseRightArm ]
id: RightArmFeroxi
name: right feroxi arm
- type: entity
parent: [ PartFeroxiBase, BaseLeftHand ]
id: LeftHandFeroxi
name: left feroxi hand
- type: entity
parent: [ PartFeroxiBase, BaseRightHand ]
id: RightHandFeroxi
name: right feroxi hand
- type: entity
parent: [ PartFeroxiBase, BaseLeftLeg ]
id: LeftLegFeroxi
name: left feroxi leg
- type: entity
parent: [ PartFeroxiBase, BaseRightLeg ]
id: RightLegFeroxi
name: right feroxi leg
- type: entity
parent: [ PartFeroxiBase, BaseLeftFoot ]
id: LeftFootFeroxi
name: left feroxi foot
- type: entity
parent: [ PartFeroxiBase, BaseRightFoot ]
id: RightFootFeroxi
name: right feroxi foot

View File

@@ -0,0 +1,122 @@
# SPDX-FileCopyrightText: 2024 Adeinitas <147965189+adeinitas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 VMSolidus <evilexecutive@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 GNUtopia <93669372+GNUtopia@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@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: BasePart
id: PartHarpyBase
components:
- type: Sprite
sprite: _DV/Mobs/Species/Harpy/parts.rsi
- type: Icon
sprite: _DV/Mobs/Species/Harpy/parts.rsi
- type: BodyPart
species: Harpy
- type: Woundable # Goobstation
boneEntity: BoneWeak
- type: Damageable # Shitmed
damageModifierSet: Harpy
- type: entity
parent: [ PartHarpyBase, BaseChest ]
id: ChestHarpy
name: "harpy chest"
components:
- type: Sprite
sprite: _DV/Mobs/Species/Harpy/parts.rsi
state: "chest_m"
- type: Icon
sprite: _DV/Mobs/Species/Harpy/parts.rsi
state: "chest_m"
- type: entity
parent: [ PartHarpyBase, BaseGroin ]
id: GroinHarpy
name: "harpy groin"
components:
- type: Sprite
sprite: _DV/Mobs/Species/Harpy/parts.rsi
state: "groin_m"
- type: Icon
sprite: _DV/Mobs/Species/Harpy/parts.rsi
state: "groin_m"
- type: entity
parent: [ PartHarpyBase, BaseHead ]
id: HeadHarpy
name: "harpy head"
components:
- type: Woundable # Goobstation
boneEntity: BoneNeckWeak
- type: entity
parent: [ PartHarpyBase, BaseLeftArm ]
id: LeftArmHarpy
name: "left harpy arm"
- type: entity
parent: [ PartHarpyBase, BaseRightArm ]
id: RightArmHarpy
name: "right harpy arm"
components:
- type: BodyPart
onAdd: # Shitmed Change
- type: Flight
isLayerAnimated: true
layer: "/Textures/_EinsteinEngines/Mobs/Customization/Harpy/harpy_wings.rsi"
animationKey: "Flap"
# Buffed to account for sprinting. Gets to about the same distance as everyone else's sprint, but with faster acceleration.
speedModifier: 2.6
- type: entity
parent: [ PartHarpyBase, BaseLeftHand ]
id: LeftHandHarpy
name: "left harpy hand"
- type: entity
parent: [ PartHarpyBase, BaseRightHand ]
id: RightHandHarpy
name: "right harpy hand"
- type: entity
parent: [ PartHarpyBase, BaseLeftLeg ]
id: LeftLegHarpy
name: "left harpy leg"
components:
- type: MovementBodyPart # Goobstation
sprintSpeed: 5
- type: entity
parent: [ PartHarpyBase, BaseRightLeg ]
id: RightLegHarpy
name: "right harpy leg"
components:
- type: MovementBodyPart # Goobstation
sprintSpeed: 5
- type: entity
parent: [ PartHarpyBase, BaseLeftFoot ]
id: LeftFootHarpy
name: "left harpy foot"
- type: entity
parent: [ PartHarpyBase, BaseRightFoot ]
id: RightFootHarpy
name: "right harpy foot"

View File

@@ -0,0 +1,97 @@
# 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 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 Piras314 <p1r4s@proton.me>
# 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 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
abstract: true
parent: BasePart
id: PartRodentiaBase
components:
- type: Sprite
sprite: _DV/Mobs/Species/Rodentia/parts.rsi
- type: Icon
sprite: _DV/Mobs/Species/Rodentia/parts.rsi
- type: BodyPart
species: Rodentia
- type: Damageable # Shitmed
damageModifierSet: Rodentia
- type: entity
parent: [ PartRodentiaBase, BaseChest ]
id: ChestRodentia
name: "rodentia chest"
components:
- type: Sprite
sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: "chest_m"
- type: Icon
sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: "chest_m"
- type: entity
parent: [ PartRodentiaBase, BaseGroin ]
id: GroinRodentia
name: "rodentia groin"
components:
- type: Sprite
sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: "groin_m"
- type: Icon
sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: "groin_m"
- type: entity
parent: [ PartRodentiaBase, BaseHead ]
id: HeadRodentia
name: "rodentia head"
- type: entity
parent: [ PartRodentiaBase, BaseLeftArm ]
id: LeftArmRodentia
name: "left rodentia arm"
- type: entity
parent: [ PartRodentiaBase, BaseRightArm ]
id: RightArmRodentia
name: "right rodentia arm"
- type: entity
parent: [ PartRodentiaBase, BaseLeftHand ]
id: LeftHandRodentia
name: "left rodentia hand"
- type: entity
parent: [ PartRodentiaBase, BaseRightHand ]
id: RightHandRodentia
name: "right rodentia hand"
- type: entity
parent: [ PartRodentiaBase, BaseLeftLeg ]
id: LeftLegRodentia
name: "left rodentia leg"
- type: entity
parent: [ PartRodentiaBase, BaseRightLeg ]
id: RightLegRodentia
name: "right rodentia leg"
- type: entity
parent: [ PartRodentiaBase, BaseLeftFoot ]
id: LeftFootRodentia
name: "left rodentia foot"
- type: entity
parent: [ PartRodentiaBase, BaseRightFoot ]
id: RightFootRodentia
name: "right rodentia foot"

View File

@@ -0,0 +1,95 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@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 Piras314 <p1r4s@proton.me>
# 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 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
abstract: true
parent: BasePart
id: PartVulpkaninBase
components:
- type: Sprite
sprite: _DV/Mobs/Species/Vulpkanin/parts.rsi
- type: Icon
sprite: _DV/Mobs/Species/Vulpkanin/parts.rsi
- type: BodyPart
species: Vulpkanin
- type: Damageable # Shitmed
damageModifierSet: Vulpkanin
- type: entity
parent: [ PartVulpkaninBase, BaseChest ]
id: ChestVulpkanin
name: "vulpkanin chest"
components:
- type: Sprite
sprite: _DV/Mobs/Species/Vulpkanin/parts.rsi
state: "chest_m"
- type: Icon
sprite: _DV/Mobs/Species/Vulpkanin/parts.rsi
state: "chest_m"
- type: entity
parent: [ PartVulpkaninBase, BaseGroin ]
id: GroinVulpkanin
name: "vulpkanin groin"
components:
- type: Sprite
sprite: _DV/Mobs/Species/Vulpkanin/parts.rsi
state: "groin_m"
- type: Icon
sprite: _DV/Mobs/Species/Vulpkanin/parts.rsi
state: "groin_m"
- type: entity
parent: [ PartVulpkaninBase, BaseHead ]
id: HeadVulpkanin
name: "vulpkanin head"
- type: entity
parent: [ PartVulpkaninBase, BaseLeftArm ]
id: LeftArmVulpkanin
name: "left vulpkanin arm"
- type: entity
parent: [ PartVulpkaninBase, BaseRightArm ]
id: RightArmVulpkanin
name: "right vulpkanin arm"
- type: entity
parent: [ PartVulpkaninBase, BaseLeftHand ]
id: LeftHandVulpkanin
name: "left vulpkanin hand"
- type: entity
parent: [ PartVulpkaninBase, BaseRightHand ]
id: RightHandVulpkanin
name: "right vulpkanin hand"
- type: entity
parent: [ PartVulpkaninBase, BaseLeftLeg ]
id: LeftLegVulpkanin
name: "left vulpkanin leg"
- type: entity
parent: [ PartVulpkaninBase, BaseRightLeg ]
id: RightLegVulpkanin
name: "right vulpkanin leg"
- type: entity
parent: [ PartVulpkaninBase, BaseLeftFoot ]
id: LeftFootVulpkanin
name: "left vulpkanin foot"
- type: entity
parent: [ PartVulpkaninBase, BaseRightFoot ]
id: RightFootVulpkanin
name: "right vulpkanin foot"

View File

@@ -0,0 +1,61 @@
# SPDX-FileCopyrightText: 2025 Aidenkrz <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ark <189933909+ark1368@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: body
id: Chitinid
name: "chitinid"
root: chest
slots:
head:
part: HeadChitinid
connections:
- chest
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
chest:
part: ChestChitinid
connections: # Goobstation - fix some species having their hands the wrong way around
- groin
- right arm
- left arm
- head # Shitmed Change
organs:
heart: OrganHumanHeart
lungs: OrganHumanLungs
groin:
part: GroinChitinid
connections:
- right leg
- left leg
organs:
stomach: OrganChitinidStomach
liver: OrganChitinidLiver
kidneys: OrganHumanKidneys
right arm:
part: RightArmChitinid
connections:
- right hand
left arm:
part: LeftArmChitinid
connections:
- left hand
right hand:
part: RightHandChitinid
left hand:
part: LeftHandChitinid
right leg:
part: RightLegChitinid
connections:
- right foot
left leg:
part: LeftLegChitinid
connections:
- left foot
right foot:
part: RightFootChitinid
left foot:
part: LeftFootChitinid

View File

@@ -0,0 +1,61 @@
# SPDX-FileCopyrightText: 2025 Aidenkrz <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: body
name: species-name-feroxi
id: Feroxi
root: chest
slots:
head:
part: HeadFeroxi
connections:
- chest
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
chest:
part: ChestFeroxi
connections:
- groin
- right arm
- left arm
- head # Shitmed Change
organs:
heart: OrganAnimalHeart
lungs: OrganFeroxiLungs
groin:
part: GroinFeroxi
connections:
- right leg
- left leg
organs:
stomach: OrganFeroxiStomach
liver: OrganAnimalLiver
kidneys: OrganHumanKidneys
right arm:
part: RightArmFeroxi
connections:
- right hand
left arm:
part: LeftArmFeroxi
connections:
- left hand
right hand:
part: RightHandFeroxi
left hand:
part: LeftHandFeroxi
right leg:
part: RightLegFeroxi
connections:
- right foot
left leg:
part: LeftLegFeroxi
connections:
- left foot
right foot:
part: RightFootFeroxi
left foot:
part: LeftFootFeroxi

View File

@@ -0,0 +1,68 @@
# SPDX-FileCopyrightText: 2022 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <Jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2023 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# 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 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: body
id: Harpy
name: "harpy"
root: chest
slots:
head:
part: HeadHarpy
connections:
- chest
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
chest:
part: ChestHarpy
connections: # Goobstation - fix some species having their hands the wrong way around
- groin
- right arm
- left arm
- head # Shitmed Change
organs:
heart: OrganHumanHeart
lungs: OrganHarpyLungs
groin:
part: GroinHarpy
connections:
- right leg
- left leg
organs:
stomach: OrganAnimalStomach
liver: OrganAnimalLiver
kidneys: OrganAnimalKidneys
right arm:
part: RightArmHarpy
connections:
- right hand
left arm:
part: LeftArmHarpy
connections:
- left hand
right hand:
part: RightHandHarpy
left hand:
part: LeftHandHarpy
right leg:
part: RightLegHarpy
connections:
- right foot
left leg:
part: LeftLegHarpy
connections:
- left foot
right foot:
part: RightFootHarpy
left foot:
part: LeftFootHarpy

View File

@@ -0,0 +1,55 @@
- type: body
id: Oni
name: "oni"
root: chest
slots:
head:
part: HeadOni
connections:
- chest
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
chest:
part: ChestOni
connections:
- groin
- right arm
- left arm
- head # Shitmed
organs:
heart: OrganHumanHeart
lungs: OrganHumanLungs
groin:
part: GroinOni
connections:
- right leg
- left leg
organs:
stomach: OrganOniStomach
liver: OrganOniLiver
kidneys: OrganHumanKidneys
right arm:
part: RightArmOni
connections:
- right hand
left arm:
part: LeftArmOni
connections:
- left hand
right hand:
part: RightHandOni
left hand:
part: LeftHandOni
right leg:
part: RightLegOni
connections:
- right foot
left leg:
part: LeftLegOni
connections:
- left foot
right foot:
part: RightFootOni
left foot:
part: LeftFootOni

View File

@@ -0,0 +1,71 @@
# SPDX-FileCopyrightText: 2022 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <Jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2023 LankLTE <135308300+LankLTE@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# 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 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: body
name: species-name-rodentia
id: Rodentia
root: chest
slots:
head:
part: HeadRodentia
connections:
- chest
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
chest:
part: ChestRodentia
organs:
heart: OrganAnimalHeart
lungs: OrganHumanLungs
connections:
- groin
- right arm
- left arm
- head # Shitmed Change
groin:
part: GroinRodentia
connections:
- right leg
- left leg
organs:
stomach: OrganAnimalStomach
liver: OrganAnimalLiver
kidneys: OrganHumanKidneys
right arm:
part: RightArmRodentia
connections:
- right hand
left arm:
part: LeftArmRodentia
connections:
- left hand
right hand:
part: RightHandRodentia
left hand:
part: LeftHandRodentia
right leg:
part: RightLegRodentia
connections:
- right foot
left leg:
part: LeftLegRodentia
connections:
- left foot
right foot:
part: RightFootRodentia
left foot:
part: LeftFootRodentia

View File

@@ -0,0 +1,68 @@
# SPDX-FileCopyrightText: 2022 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <Jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2023 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# 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 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: body
name: "vulpkanin"
id: Vulpkanin
root: chest
slots:
head:
part: HeadVulpkanin
connections:
- chest
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
chest:
part: ChestVulpkanin
connections: # Goobstation - fix some species having their hands the wrong way around
- groin
- right arm
- left arm
- head # Shitmed Change
organs:
heart: OrganAnimalHeart
lungs: OrganHumanLungs
groin:
part: GroinVulpkanin
connections:
- right leg
- left leg
organs:
stomach: OrganVulpkaninStomach
liver: OrganAnimalLiver
kidneys: OrganHumanKidneys
right arm:
part: RightArmVulpkanin
connections:
- right hand
left arm:
part: LeftArmVulpkanin
connections:
- left hand
right hand:
part: RightHandVulpkanin
left hand:
part: LeftHandVulpkanin
right leg:
part: RightLegVulpkanin
connections:
- right foot
left leg:
part: LeftLegVulpkanin
connections:
- left foot
right foot:
part: RightFootVulpkanin
left foot:
part: LeftFootVulpkanin

View File

@@ -0,0 +1,139 @@
# SPDX-FileCopyrightText: 2025 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BoxSurvival
id: BoxSurvivalWaterVapor
suffix: Standard H2O
components:
- type: StorageFill
contents:
- id: ClothingMaskBreath
- id: EmergencyWaterVaporTankFilled
- id: EmergencyMedipen
- id: Flare
- id: FoodSnackNutribrick
- id: DrinkWaterBottleFull
- type: Sprite
layers:
- state: internals
- state: watertank
- type: Label
currentLabel: reagent-name-water
- type: entity
parent: BoxSurvivalEngineering
id: BoxSurvivalEngineeringWaterVapor
suffix: Extended H2O
components:
- type: StorageFill
contents:
- id: ClothingMaskBreath
- id: ExtendedEmergencyWaterVaporTankFilled
- id: EmergencyMedipen
- id: Flare
- id: FoodSnackNutribrick
- id: DrinkWaterBottleFull
- type: Sprite
layers:
- state: internals
- state: watertank
- type: Label
currentLabel: reagent-name-water
- type: entity
parent: BoxSurvivalSecurity
id: BoxSurvivalSecurityWaterVapor
suffix: Security H2O
components:
- type: StorageFill
contents:
- id: ClothingMaskGasSecurity
- id: EmergencyWaterVaporTankFilled
- id: EmergencyMedipen
- id: Flare
- id: FoodSnackNutribrick
- id: DrinkWaterBottleFull
- type: Sprite
layers:
- state: internals
- state: watertank
- type: Label
currentLabel: reagent-name-water
- type: entity
parent: BoxSurvivalMedical
id: BoxSurvivalMedicalWaterVapor
suffix: Medical H2O
components:
- type: StorageFill
contents:
- id: ClothingMaskBreathMedical
- id: EmergencyWaterVaporTankFilled
- id: EmergencyMedipen
- id: Flare
- id: FoodSnackNutribrick
- id: DrinkWaterBottleFull
- type: Sprite
layers:
- state: internals
- state: watertank
- type: Label
currentLabel: reagent-name-water
- type: entity
parent: BoxHug
id: BoxHugWaterVapor
suffix: Emergency H2O
components:
- type: StorageFill
contents:
- id: ClothingMaskBreath
- id: EmergencyWaterVaporTankFilled
- id: EmergencyMedipen
- id: Flare
- id: FoodSnackNutribrick
- id: DrinkWaterBottleFull
- type: Label
currentLabel: reagent-name-water
- type: entity
parent: BoxSurvivalNitrogen
id: BoxMimeWaterVapor
suffix: Mime, Emergency H2O
components:
- type: StorageFill
contents:
- id: ClothingMaskBreath
- id: EmergencyWaterVaporTankFilled
- id: EmergencyMedipen
- id: Flare
- id: FoodSnackNutribrick
- id: DrinkWaterBottleFull
- type: Sprite
layers:
- state: internals
- state: watertank
- type: Label
currentLabel: reagent-name-water
- type: entity
parent: BoxSurvivalSyndicate
id: BoxSurvivalSyndicateWaterVapor
suffix: Syndicate H2O
components:
- type: StorageFill
contents:
- id: ClothingMaskGasSyndicate
- id: ExtendedEmergencyWaterVaporTankFilled
- id: EmergencyMedipen
- id: Flare
- id: FoodSnackNutribrick
- type: Sprite
layers:
- state: internals
- state: watertank
- type: Label
currentLabel: reagent-name-water

View File

@@ -0,0 +1,180 @@
# SPDX-FileCopyrightText: 2025 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BoxSurvivalSlots
id: BoxSurvivalSlotsWaterVapor
suffix: Standard H2O
components:
- type: ContainerFill
containers:
water:
- DrinkWaterBottleFull
nutriblock:
- FoodTinMRE
flare:
- Flare
tank:
- EmergencyWaterVaporTankFilled
mask:
- ClothingMaskBreath
emergencypen:
- EmergencyMedipen
spacepen:
- SpaceMedipen
- type: Label
currentLabel: reagent-name-water
- type: entity
parent: BoxSurvivalSlotsEngineering
id: BoxSurvivalSlotsEngineeringWaterVapor
suffix: Extended H2O
components:
- type: ContainerFill
containers:
water:
- DrinkWaterBottleFull
nutriblock:
- FoodTinMRE
flare:
- Flare
tank:
- ExtendedEmergencyWaterVaporTankFilled
mask:
- ClothingMaskBreath
emergencypen:
- EmergencyMedipen
spacepen:
- SpaceMedipen
- type: Label
currentLabel: reagent-name-water
- type: Sprite
state: box_extend
- type: entity
parent: BoxSurvivalSlotsSecurity
id: BoxSurvivalSlotsSecurityWaterVapor
suffix: Security H2O
components:
- type: ContainerFill
containers:
water:
- DrinkWaterBottleFull
nutriblock:
- FoodTinMRE
flare:
- Flare
tank:
- ExtendedEmergencyWaterVaporTankFilled
mask:
- ClothingMaskBreath
emergencypen:
- EmergencyMedipen
spacepen:
- SpaceMedipen
- type: Label
currentLabel: reagent-name-water
- type: Sprite
state: box_sec
- type: entity
parent: BoxSurvivalSlotsMedical
id: BoxSurvivalSlotsMedicalWaterVapor
suffix: Medical H2O
components:
- type: ContainerFill
containers:
water:
- DrinkWaterBottleFull
nutriblock:
- FoodTinMRE
flare:
- Flare
tank:
- EmergencyWaterVaporTankFilled
mask:
- ClothingMaskBreathMedical
emergencypen:
- EmergencyMedipen
spacepen:
- SpaceMedipen
- type: Label
currentLabel: reagent-name-water
- type: Sprite
state: box_med
- type: entity
parent: BoxHugSlots
id: BoxHugSlotsWaterVapor
suffix: Emergency H2O
components:
- type: ContainerFill
containers:
water:
- DrinkWaterBottleFull
nutriblock:
- FoodTinMRE
flare:
- Flare
tank:
- EmergencyWaterVaporTankFilled
mask:
- ClothingMaskBreath
emergencypen:
- EmergencyMedipen
spacepen:
- SpaceMedipen
- type: Label
currentLabel: reagent-name-water
- type: entity
parent: BoxSurvivalSlotsSyndicate
id: BoxSurvivalSlotsSyndicateWaterVapor
suffix: Syndicate H2O
components:
- type: ContainerFill
containers:
water:
- DrinkWaterBottleFull
nutriblock:
- FoodTinMRE
flare:
- Flare
tank:
- ExtendedEmergencyWaterVaporTankFilled
mask:
- ClothingMaskGasSyndicate
emergencypen:
- EmergencyMedipen
spacepen:
- SpaceMedipen
- type: Label
currentLabel: reagent-name-water
- type: Sprite
state: box_syndie
- type: entity
parent: BoxSurvivalSlots
id: BoxMimeSlotsWaterVapor
suffix: Mime, Emergency H2O
components:
- type: ContainerFill
containers:
water:
- DrinkWaterBottleFull
nutriblock:
- FoodTinMRE
flare:
- Flare
tank:
- EmergencyWaterVaporTankFilled
mask:
- ClothingMaskBreath
emergencypen:
- EmergencyMedipen
spacepen:
- SpaceMedipen
- type: Label
currentLabel: reagent-name-water

View File

@@ -0,0 +1,21 @@
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BoxCardboard
id: BoxTapeRecorder
name: tape recorder box
description: A box with colorful cassette tapes and a tape recorder.
components:
- type: Sprite
layers:
- state: box_security
- sprite: _DV/Objects/Storage/boxes.rsi
state: recorder
- type: StorageFill
contents:
- id: CassetteTape
amount: 4
- id: TapeRecorder

View File

@@ -0,0 +1,39 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aineias1 <dmitri.s.kiselev@gmail.com>
# SPDX-FileCopyrightText: 2025 FaDeOkno <143940725+FaDeOkno@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 McBosserson <148172569+McBosserson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Milon <plmilonpl@gmail.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Unlumination <144041835+Unlumy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@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 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 whateverusername0 <whateveremail>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: ClothingBackpackDuffelSalvage
id: ClothingBackpackDuffelSalvageConscription
name: mining conscription kit
description: A duffel bag containing everything a crewmember needs to support a shaft miner in the field.
components:
- type: StorageFill
contents:
- id: ClothingEyesGlassesMeson
- id: MineralScanner
- id: OreBag
- id: ClothingUniformJumpsuitSalvageSpecialist
- id: EncryptionKeyCargo
- id: ClothingMaskGasExplorer
- id: WeaponProtoKineticAccelerator
- id: SurvivalKnife
- id: FlashlightSeclite
- id: LavalandJaunter # Lavaland Change

View File

@@ -0,0 +1,89 @@
# SPDX-FileCopyrightText: 2025 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: WaterVaporTankFilled
parent: WaterVaporTank
suffix: Filled
components:
- type: GasTank
outputPressure: 21.3
air:
# 31 minutes
volume: 5
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 0 # plasma
- 0 # tritium
- 2.051379050 # water vapor
temperature: 293.15
- type: entity
id: EmergencyWaterVaporTankFilled
parent: EmergencyWaterVaporTank
suffix: Filled
components:
- type: GasTank
outputPressure: 21.3
air:
# 4 minutes
volume: 0.66
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 0 # plasma
- 0 # tritium
- 0.270782035 # water vapor
temperature: 293.15
- type: Tag # Goobstation - For survival boxes
tags:
- EmergencyWaterVaporTank
- type: entity
id: ExtendedEmergencyWaterVaporTankFilled
parent: ExtendedEmergencyWaterVaporTank
suffix: Filled
components:
- type: GasTank
outputPressure: 21.3
air:
# 9 minutes
volume: 1.5
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 0 # plasma
- 0 # tritium
- 0.615413715 # water vapor
temperature: 293.15
- type: Tag # Goobstation - For survival boxes
tags:
- EmergencyWaterVaporTank
- type: entity
id: DoubleEmergencyWaterVaporTankFilled
parent: DoubleEmergencyWaterVaporTank
suffix: Filled
components:
- type: GasTank
outputPressure: 21.3
air:
# 15 minutes
volume: 2.5
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # CO2
- 0 # plasma
- 0 # tritium
- 1.025689525 # water vapor
temperature: 293.15
- type: Tag # Goobstation - For survival boxes
tags:
- EmergencyWaterVaporTank

View File

@@ -0,0 +1,13 @@
- type: listing
id: UplinkBeastBlood
name: uplink-beast-gourd-name
description: uplink-beast-gourd-desc
productEntity: BeastBloodGourd
cost:
Telecrystal: 15
categories:
- UplinkChemicals
conditions:
- !type:BuyerSpeciesCondition
whitelist:
- Oni

View File

@@ -0,0 +1,146 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aineias1 <dmitri.s.kiselev@gmail.com>
# SPDX-FileCopyrightText: 2025 FaDeOkno <143940725+FaDeOkno@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 McBosserson <148172569+McBosserson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Milon <plmilonpl@gmail.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Roudenn <romabond091@gmail.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 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Unlumination <144041835+Unlumy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Vlax2nd <vlaxreborn@gmail.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@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 thebiggestbruh <marcus2008stoke@gmail.com>
# SPDX-FileCopyrightText: 2025 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 whateverusername0 <whateveremail>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: shopInventory
id: SalvageVendorInventory
listings:
# TODO: marker beacons 1/10/30 for 10 each
- id: DrinkWhiskeyBottleFull
cost: 100
- id: DrinkAbsintheBottleFull
cost: 100
- id: Flare
cost: 100
- id: CigarGold
cost: 150
- id: Soap
cost: 200
- id: SeismicCharge
cost: 250
# TODO: laser pointer 300, toy facehugger 300
# TODO: stabilizing serum for 400
- id: BoxMarkerBeacons
cost: 300
- id: Fulton
cost: 400
- id: FultonBeacon
cost: 500
- id: PowerCellHigh
cost: 500
- id: ClothingEyesGlassesGarMeson
cost: 500
- id: ClothingBeltSalvageWebbing
cost: 500
- id: PKAUpgradeLight
cost: 500
- id: ClothingShoesBootsJack
cost: 550
- id: MineralScanner
cost: 550
- id: MedkitBruteFilled
cost: 600
- id: MedkitBurnFilled
cost: 600
- id: DoubleEmergencyOxygenTankFilled
cost: 650
- id: DoubleEmergencyNitrogenTankFilled
cost: 650
- id: DeathRattleLavalandImplanter
cost: 700
overrideName: shop-listing-deathrattle-implant-lavaland # stupid implanter structure raagh
- id: ClothingMaskWeldingGas
cost: 750
- id: LavalandJaunter
cost: 750
- id: WeaponCrusher
cost: 750
- id: WeaponProtoKineticAccelerator
cost: 750
- id: SpaceCash5000
cost: 750
- id: SurvivalMedipen
cost: 800
- id: PKAUpgradeRange
cost: 1000
- id: PKAUpgradeFireRate
cost: 1000
- id: ShelterCapsule
cost: 1000
- id: LavalandEquipmentExplorerSuit
cost: 1000
- id: AdvancedMineralScanner
cost: 1100
- id: PKAUpgradeDamage
cost: 1200
# TODO: lazarus injector for 1k
- id: LavalandWeaponKineticHammer
cost: 1250
- id: LavalandWeaponKineticMachete
cost: 1250
- id: LavalandWeaponKineticSpear
cost: 1250
- id: LavalandWeaponKineticClaws
cost: 1250
- id: WeaponProtoKineticRepeater
cost: 1250
- id: WeaponProtoKineticPistol
cost: 1250
- id: ClothingBackpackDuffelSalvageConscription
cost: 1250
- id: WeaponProtoKineticShotgun
cost: 1500
- id: LuxuryMedipen
cost: 1500
- id: WeaponPlasmaCutter
cost: 1700
- id: BorgModuleAdvancedMining
cost: 2000
- id: ClothingHandsGlovesCombat
cost: 2000
- id: OreBagOfHolding
cost: 2000
- id: ClothingNeckCloakHelldiver
cost: 2000
- id: ClothingShoesBootsMoon
cost: 2000
- id: ClothingOuterHardsuitSalvage
cost: 2000
#TODO: super resonator for 2500
- id: ClothingShoesBootsJump
cost: 2500
- id: ClothingOuterHardsuitLuxury
cost: 3000 #still costs more than just buying it with spesos you got from vendor but whatever
- id: ShelterCapsuleLuxury
cost: 3000
- id: ClothingEyesNightVisionGoggles
cost: 3500
- id: MiningDrillDiamond
cost: 4000 #Mostly for flexing
- id: CrateCargoClarkeAssembly
cost: 12500 #TODO: Make modules real
# TODO: luxury elite bar capsule for 10k
# TODO: mining drone stuff

View File

@@ -0,0 +1,92 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aineias1 <dmitri.s.kiselev@gmail.com>
# SPDX-FileCopyrightText: 2025 FaDeOkno <143940725+FaDeOkno@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 McBosserson <148172569+McBosserson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Milon <plmilonpl@gmail.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Unlumination <144041835+Unlumy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@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 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 whateverusername0 <whateveremail>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: thiefBackpackSet
id: MiningCrusher
name: mining-voucher-crusher-name
description: mining-voucher-crusher-description
sprite:
sprite: Objects/Weapons/Melee/crusher.rsi
state: icon
content:
- WeaponCrusher
- FireExtinguisherMini
- type: thiefBackpackSet
id: MiningExtraction
name: mining-voucher-extraction-name
description: mining-voucher-extraction-description
sprite:
sprite: Objects/Tools/fulton.rsi
state: extraction_pack
content:
- Fulton
- Fulton
- FultonBeacon
- BoxMarkerBeacons
# TODO: resonator
#- type: thiefBackpackSet
# id: MiningResonator
# name: mining-voucher-resonator-name
# description: mining-voucher-resonator-description
# sprite:
# sprite: _DV/Objects/Weapons/Ranged/resonator.rsi
# state: icon
# content:
# - Resonator
# - FireExtinguisherMini
- type: thiefBackpackSet
id: MiningSurvival
name: mining-voucher-survival-name
description: mining-voucher-survival-description
sprite:
sprite: Clothing/Belt/salvagewebbing.rsi
state: icon
content:
- ClothingBeltSalvageWebbing
- ShelterCapsule
- DeathRattleLavalandImplanter
# TODO: mining drone
#- type: thiefBackpackSet
# id: MiningDrone
# name: mining-voucher-minebot-name
# description: mining-voucher-minebot-description
# sprite:
# sprite: ...
# state: icon
# content:
# - mining drone...
# - WelderIndustrial
# - ClothingHeadHatWelding
# - drone passthrough ka modkit
- type: thiefBackpackSet
id: MiningConscription
name: mining-voucher-conscription-name
description: mining-voucher-conscription-description
sprite:
sprite: Clothing/Back/Duffels/salvage.rsi
state: icon
content:
- ClothingBackpackDuffelSalvageConscription

View File

@@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: 2025 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# If your species wants to metabolize stuff differently,
# you'll likely have to tag its metabolizers with something other than Human.
- type: metabolizerType
id: Feroxi
name: metabolizer-type-feroxi
- type: metabolizerType
id: FeroxiDehydrated
name: metabolizer-type-feroxi-dehydrated

View File

@@ -0,0 +1,3 @@
- type: metabolizerType
id: Oni
name: metabolizer-type-oni

View File

@@ -0,0 +1,18 @@
- type: alert
id: CosmicEntropy
icons:
- sprite: /Textures/_DV/CosmicCult/Icons/alert_entropy.rsi
state: base0
alertViewEntity: AlertCosmicEntropySpriteView
name: alerts-cosmiccult-entropy-name
description: alerts-cosmiccult-entropy-desc
- type: entity
id: AlertCosmicEntropySpriteView
categories: [ HideSpawnMenu ]
components:
- type: Sprite
sprite: _DV/CosmicCult/Icons/alert_entropy.rsi
layers:
- map: [ "enum.AlertVisualLayers.Base" ]
- map: [ "enum.CultAlertVisualLayers.Counter" ]

View File

@@ -0,0 +1,128 @@
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@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
############ [ HARDSUIT ] ############
# COSMIC CULT HARDSUIT BODY
- type: entity
parent: [ ClothingOuterHardsuitBase ]
id: ClothingOuterHardsuitCosmicCult
name: entropic armor
description: An unsettling hardsuit, numbing to the touch. It pulses with a glow that makes you feel like you've forgotten something..
components:
- type: CosmicEquipment
- type: Sprite
sprite: _DV/CosmicCult/Clothing/cosmiccult_armor.rsi
- type: Item
size: Huge
- type: Clothing
sprite: _DV/CosmicCult/Clothing/cosmiccult_armor.rsi
- type: PressureProtection
highPressureMultiplier: 0.05
lowPressureMultiplier: 1000
- type: ExplosionResistance
damageCoefficient: 0.4
- type: Armor
modifiers:
coefficients:
Blunt: 0.5
Slash: 0.5
Piercing: 0.5
Heat: 0.5
Radiation: 0.5
Caustic: 0.5
Holy: 1.25
- type: ClothingSpeedModifier
walkModifier: 0.9
sprintModifier: 0.9
- type: HeldSpeedModifier
- type: ToggleableClothing # Goobstation - Modsuits change
clothingPrototypes:
head: ClothingHeadHelmetCosmicCult
- type: Tag
tags:
- Hardsuit
- WhitelistChameleon
#Shoulder mounted flashlight
- type: ToggleableVisuals
spriteLayer: light
clothingVisuals:
outerClothing:
- state: equipped-OUTERCLOTHING-light
shader: unshaded
- type: Appearance
- type: HandheldLight
addPrefix: false
blinkingBehaviourId: blinking
radiatingBehaviourId: radiating
- type: PointLight
enabled: false
color: "#42a4ae"
radius: 5
energy: 3.4
mask: /Textures/_DV/CosmicCult/LightMasks/cosmic.png
autoRot: true
netsync: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
id: radiating
interpolate: Linear
maxDuration: 2.0
startValue: 3.0
endValue: 2.0
isLooped: true
reverseWhenFinished: true
- !type:PulseBehaviour
id: blinking
interpolate: Nearest
maxDuration: 1.0
startValue: 0.1
endValue: 2.0
isLooped: true
- type: Battery
maxCharge: 100
startingCharge: 100
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 5
- type: UnholyItem # Goobstation Shitchap
# COSMIC CULT HARDSUIT HELMET
- type: entity
parent: [ ClothingHeadHardsuitBase ]
id: ClothingHeadHelmetCosmicCult
name: entropic headgear
description: This headpiece seems to extrude from the hardsuit it's attached to as if the material is one single, contiguous whole.
categories: [ HideSpawnMenu ]
components:
- type: Sprite
sprite: _DV/CosmicCult/Clothing/cosmiccult_armor.rsi
layers:
- state: icon-helmet
- type: Clothing
sprite: _DV/CosmicCult/Clothing/cosmiccult_armor.rsi
- type: PressureProtection
highPressureMultiplier: 0.3
lowPressureMultiplier: 1000
- type: Armor
modifiers:
coefficients:
Blunt: 0.5
Slash: 0.5
Piercing: 0.5
Heat: 0.5
Radiation: 0.5
Caustic: 0.5
- type: UnholyItem # Goobstation Shitchap
- type: FlashImmunity # Goobstation
- type: FlashSoundSuppression # Goobstation

View File

@@ -0,0 +1,6 @@
- type: ssdIcon
id: CosmicSSDIcon
icon:
sprite: /Textures/_DV/CosmicCult/Effects/astralsleep.rsi
state: icon
locationPreference: Right

View File

@@ -0,0 +1,352 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
categories: [ HideSpawnMenu ]
id: WeaponArcCosmic
parent: WeaponArcStatic
components:
- type: WeaponArcVisuals
fadeOut: false
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/weaponarcs.rsi
state: arc_cosmic
shader: unshaded
- type: TimedDespawn
lifetime: 0.66
- type: PointLight
color: "#42a4ae"
radius: 1.5
energy: 6
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 0.64
maxDuration: 0.65
startValue: 0.1
endValue: 6
property: Energy
enabled: true
reverseWhenFinished: true
- type: Tag
tags:
- HideContextMenu
- type: entity
categories: [ HideSpawnMenu ]
id: CosmicFloorSpawnVFX
placement:
mode: SnapgridCenter
components:
- type: TimedDespawn
lifetime: 0.5
- type: Transform
noRot: true
anchored: true
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/tiles_spawn.rsi
state: floorglow
shader: unshaded
drawdepth: Mobs
- type: Tag
tags:
- HideContextMenu
- type: entity
categories: [ HideSpawnMenu ]
id: BaseCosmicVFX
components:
- type: TimedDespawn
lifetime: 1.75
- type: Transform
noRot: true
anchored: false
- type: Sprite
netsync: false
drawdepth: Mobs
- type: Tag
tags:
- HideContextMenu
- type: entity
categories: [ HideSpawnMenu ]
parent: BaseCosmicVFX
id: CosmicLapseAbilityVFX
components:
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/ability_lapsevfx.rsi
state: vfx
shader: unshaded
- type: entity
categories: [ HideSpawnMenu ]
parent: BaseCosmicVFX
id: CosmicBlankAbilityVFX
components:
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/ability_blankvfx.rsi
state: vfx
shader: unshaded
- type: PointLight
color: "#42a4ae"
radius: 1.5
energy: 4
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 1.75
maxDuration: 1.75
startValue: 0.1
endValue: 4
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: entity
categories: [ HideSpawnMenu ]
parent: BaseCosmicVFX
id: CleanseEffectVFX
components:
- type: TimedDespawn
lifetime: 2.025
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/effect_cleansevfx.rsi
state: vfx
shader: unshaded
- type: PointLight
color: "#ffd52e"
radius: 1.5
energy: 2.5
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 2.025
maxDuration: 2.025
startValue: 0.1
endValue: 2
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: entity
categories: [ HideSpawnMenu ]
parent: BaseCosmicVFX
id: CosmicGenericVFX
components:
- type: TimedDespawn
lifetime: 2.025
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/effect_glyphvfx.rsi
state: vfx
shader: unshaded
- type: PointLight
color: "#42a4ae"
radius: 1.5
energy: 2.5
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 2.025
maxDuration: 2.025
startValue: 0.1
endValue: 2
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: entity
categories: [ HideSpawnMenu ]
parent: BaseCosmicVFX
id: CosmicGlareAbilityVFX
components:
- type: TimedDespawn
lifetime: 1.1
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/ability_glarevfx.rsi
state: vfx
shader: unshaded
- type: PointLight
color: "#42a4ae"
radius: 10
energy: 10
castShadows: true
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 1.1
maxDuration: 1.1
startValue: 0.1
endValue: 10
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: entity
categories: [ HideSpawnMenu ]
parent: BaseCosmicVFX
id: CosmicImpositionAbilityVFX
components:
- type: TimedDespawn
lifetime: 1.92
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/ability_impositionvfx.rsi
state: vfx
shader: unshaded
- type: PointLight
color: "#42a4ae"
radius: 10
energy: 6
castShadows: true
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 1.92
maxDuration: 1.92
startValue: 0.1
endValue: 6
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: entity
categories: [ HideSpawnMenu ]
id: CosmicNovaImpactVfx
components:
- type: TimedDespawn
lifetime: 1.1
- type: Sprite
drawdepth: Effects
layers:
- shader: unshaded
map: ["enum.EffectLayers.Unshaded"]
sprite: _DV/CosmicCult/Effects/ability_glarevfx.rsi
state: vfx
- type: PointLight
color: "#42a4ae"
radius: 10
energy: 6
castShadows: true
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 1.1
maxDuration: 1.1
startValue: 0.1
endValue: 6
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: Tag
tags:
- HideContextMenu
- type: entity
parent: BaseCosmicVFX
id: CosmicEchoVfx
name: malign echo
description: A trace of malign light..
components:
- type: TimedDespawn
lifetime: 50
- type: CosmicCultExamine
cultistText: cosmic-examine-text-malignecho
- type: InteractionOutline
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/effect_echo.rsi
state: vfx
shader: unshaded
- type: Clickable
- type: PointLight
radius: 1.5
energy: 1.6
castShadows: false
color: "#42a4ae"
- type: entity
categories: [ HideSpawnMenu ]
parent: BaseCosmicVFX
id: NoosphericVFX2
components:
- type: TimedDespawn
lifetime: 2.025
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/effect_ns_flarevfx.rsi
state: vfx
shader: unshaded
- type: PointLight
color: "#a35d7b"
radius: 1.5
energy: 2.5
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 1.575
maxDuration: 1.575
startValue: 0.1
endValue: 2
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: entity
categories: [ HideSpawnMenu ]
parent: BaseCosmicVFX
id: NoosphericVFX1
components:
- type: TimedDespawn
lifetime: 2.025
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Effects/effect_ns_reboundvfx.rsi
state: vfx
shader: unshaded
- type: PointLight
color: "#a35d7b"
radius: 1.5
energy: 2.5
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 1.125
maxDuration: 1.125
startValue: 0.1
endValue: 2
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true

View File

@@ -0,0 +1,23 @@
- type: guideEntry
id: CosmicCult
name: guide-entry-cosmiccult
text: "/ServerInfo/_DV/Guidebook/Antagonist/CosmicCult.xml"
children:
- CosmicCultMonument
- CosmicCultInfluences
- CosmicCultDeconversion
- type: guideEntry
id: CosmicCultMonument
name: guide-entry-cosmiccult-monument
text: "/ServerInfo/_DV/Guidebook/Antagonist/CosmicCultMonument.xml"
- type: guideEntry
id: CosmicCultInfluences
name: guide-entry-cosmiccult-influences
text: "/ServerInfo/_DV/Guidebook/Antagonist/CosmicCultInfluences.xml"
- type: guideEntry
id: CosmicCultDeconversion
name: guide-entry-cosmiccult-deconversion
text: "/ServerInfo/_DV/Guidebook/Antagonist/CosmicCultDeconversion.xml"

View File

@@ -0,0 +1,288 @@
- type: entity
parent:
- Incorporeal
- BaseMob
id: MobCosmicAstralAscended
name: astral ascended
description: Transcendant, ascendant.
components:
- type: Input
context: "ghost"
- type: Spectral
- type: MovementSpeedModifier
baseWalkSpeed: 6
baseSprintSpeed: 6
- type: Sprite
sprite: _DV/CosmicCult/Mobs/astralform.rsi
layers:
- state: effect-underlay
shader: unshaded
- state: ascended-body
shader: unshaded
- type: NoSlip
- type: Eye
drawFov: false
- type: ContentEye
maxZoom: 1.2, 1.2
- type: Speech
speechVerb: Ghost
- type: PointLight
color: "#42a4ae"
radius: 2
energy: 3
softness: 1
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 5.5
maxDuration: 5.5
startValue: 1
endValue: 3
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
### ASTRAL PROJECTION
- type: entity
parent: [ Incorporeal, BaseMob ]
id: MobCosmicAstralProjection
name: astral projection
description: Neither here nor there.
components:
- type: ActionGrant
actions:
- ActionCosmicReturn
- type: Input
context: "ghost"
- type: Spectral
- type: MovementSpeedModifier
baseWalkSpeed: 4
baseSprintSpeed: 4
- type: Sprite
sprite: _DV/CosmicCult/Mobs/astralform.rsi
layers:
- state: base-body
shader: unshaded
drawdepth: Ghosts
- type: NoSlip
- type: CosmicAstralBody
- type: Eye
drawFov: false
visMask:
- Normal
- Ghost
- type: SSDIndicator
- type: StatusIcon
bounds: -0.5,-0.5,0.5,0.5
- type: MindContainer
showExamineInfo: true
- type: Examiner
- type: ContentEye
maxZoom: 1.2, 1.2
- type: Speech
enabled: false
- type: PointLight
color: "#42a4ae"
radius: 2
energy: 3.5
softness: 1
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 5.5
maxDuration: 5.5
startValue: 2
endValue: 3.5
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: IntrinsicRadioReceiver
- type: ActiveRadio
channels:
- CosmicRadio
- type: Visibility
layer: 2 #ghost vis layer
### ASCENDED EVENTSPAWN
- type: entity
id: MobRogueAscended
parent:
- BaseMob
name: rogue ascended
suffix: MidRoundAntag
description: An entity from beyond the borders of bluespace. Its contours continuously blur and blend together, unnerving to the eye.
components:
- type: FTLSmashImmune
- type: Physics
bodyStatus: InAir
- type: Speech
speechVerb: Ghost
- type: BodyEmotes # you know, for the funny.
- type: MovementAlwaysTouching
- type: CanMoveInAir
- type: CombatMode
- type: Bloodstream
bloodMaxVolume: 650
bloodReagent: Entropy
bloodlossDamage:
types:
Bloodloss: 0.5
bloodlossHealDamage:
types: # Don't use asphyx or cold on an Ascendant, lol
Bloodloss: -1
Asphyxiation: -4
Cold: -4
- type: MovementSpeedModifier
baseWalkSpeed: 4.4
baseSprintSpeed: 4.4
weightlessAcceleration: 2 # Move around more easily in space.
weightlessFriction: 1
weightlessModifier: 1
- type: Sprite
sprite: _DV/CosmicCult/Mobs/astralrogue.rsi
noRot: true
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: underlay
shader: unshaded
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
state: base
shader: unshaded
- type: Appearance
- type: DamageStateVisuals
states:
Alive:
Base: underlay
BaseUnshaded: base
Critical:
BaseUnshaded: base-crit
Dead:
Base: underlay-off
BaseUnshaded: base-dead
- type: NoSlip
- type: Eye
drawFov: false
- type: GhostRole
makeSentient: true
name: ghost-role-information-rogue-ascended-name
description: ghost-role-information-rogue-ascended-description
rules: ghost-role-information-rogue-ascended-rules
mindRoles:
- MindRoleGhostRoleTeamAntagonist
raffle:
settings: default
- type: GhostTakeoverAvailable
- type: RogueAscended # for the rogue ascended's MidRoundAntag Systems
- type: ActionGrant
actions:
- ActionRogueInfection
- ActionRogueGrandShunt
- ActionRogueCosmicNova
- ActionRogueSlumber
- type: Damageable
damageContainer: ManifestedSpirit
damageModifierSet: ManifestedSpirit
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.45
density: 500
mask:
- SmallMobMask
layer:
- SmallMobLayer
- type: PointLight
color: "#42a4ae"
radius: 2
energy: 3
softness: 1
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 5.5
maxDuration: 5.5
startValue: 1
endValue: 3
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: StatusEffects # Overwriting status effects
allowed:
- SlowedDown
- RadiationProtection
- Adrenaline
- type: MeleeWeapon
hidden: true
angle: 90
range: 2
animation: WeaponArcCosmic
attackRate: 1
clickDamageModifier: 1
damage:
types:
Slash: 3
Asphyxiation: 3
Cold: 3
Structural: 20
soundHit:
path: /Audio/_DV/CosmicCult/cosmicsword_hit.ogg
params:
variation: 0.2
volume: -4
soundSwing:
path: /Audio/_DV/CosmicCult/cosmicweapon_swing.ogg
params:
variation: 0.125
volume: -4
soundNoDamage:
path: /Audio/_DV/CosmicCult/cosmicsword_glance.ogg
params:
variation: 0.2
volume: -11
- type: StaminaDamageOnHit
damage: 32
- type: Puller
needsHands: false
- type: MobState
- type: MobStateActions
actions:
Critical:
- ActionCritSuccumb
- ActionCritLastWords
- type: MobThresholds
thresholds:
0: Alive
375: Critical
450: Dead
- type: SlowOnDamage
speedModifierThresholds:
225: 0.7
375: 0.5
- type: Butcherable
spawned:
- id: AscendedDendrite
amount: 1
- type: InteractionPopup
successChance: 0.25
interactSuccessString: petting-success-rogue-ascended
interactFailureString: petting-failure-rogue-ascended
interactFailureSound:
path: /Audio/_DV/CosmicCult/ascendant_noise.ogg
soundPerceivedByOthers: false
- type: RandomMetadata
nameSegments:
- ascended_names
- ascended_titles
- type: WeakToHoly # Goobstation Shitchap
alwaysTakeHoly: true

View File

@@ -0,0 +1,122 @@
- type: entity
abstract: true
id: MobCosmicGodBase
name: The Unknown
description: Your mind begins to fracture and break as it fails to comprehend what looms before you.
components:
- type: Sprite
noRot: true
sprite: _DV/CosmicCult/Mobs/cosmicgod.rsi
offset: 0, 2
drawdepth: Ghosts
scale: 2,2
layers:
- state: god
shader: unshaded
# spawn animation, spawns actual god when it ends
- type: entity
parent: MobCosmicGodBase
id: MobCosmicGodSpawn
suffix: Spawn
components:
- type: EmitSoundOnSpawn
sound:
path: /Audio/_DV/CosmicCult/god_summon.ogg
- type: Sprite
layers:
- state: spawn
shader: unshaded
# the spawn animation is exactly 4.62 seconds long, so we time our entity spawn-in to be the same.
- type: TimedDespawn
lifetime: 4.62
- type: SpawnOnDespawn
prototype: MobCosmicGod
- type: PointLight
enabled: true
radius: 25
energy: 25
color: "#43286a"
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 4.62
maxDuration: 4.62
startValue: 0.5
endValue: 25
property: Energy
enabled: true
- type: entity
parent: [MobCosmicGodBase, BaseMob]
id: MobCosmicGod
components:
- type: CargoSellBlacklist
# big mob needs to see everything
- type: ContentEye
maxZoom: 2.2,2.2
- type: Eye
drawFov: false
- type: Fixtures
fixtures:
EventHorizonCollider:
shape:
!type:PhysShapeCircle
radius: 5
hard: false
restitution: 0.8
density: 1
mask:
- Opaque
layer:
- GlassLayer
EventHorizonConsumer:
shape:
!type:PhysShapeCircle
radius: 6
hard: false
mask:
- Opaque
layer:
- GlassLayer
- type: Input
context: "ghost"
- type: MovementIgnoreGravity
- type: GhostHearing
- type: Physics
bodyType: Dynamic
bodyStatus: InAir
- type: CanMoveInAir
- type: WarpPoint
follow: true
location: The Unknown
- type: CosmicGod
- type: CosmicCultExamine
cultistText: cosmic-examine-text-god
- type: AmbientSound
enabled: true
volume: 0
range: 25
sound:
path: /Audio/_DV/CosmicCult/god_ambient.ogg
- type: EmitSoundOnSpawn
sound:
path: /Audio/_DV/CosmicCult/god_spawn.ogg
- type: PointLight
enabled: true
radius: 25
energy: 25
color: "#43286a"
- type: GhostRole
allowMovement: true
allowSpeech: false
makeSentient: true
name: ghost-role-information-theunknown-name
description: ghost-role-information-theunknown-description
rules: ghost-role-information-theunknown-rules
mindRoles:
- MindRoleGhostRoleTeamAntagonist
raffle:
settings: short
- type: GhostTakeoverAvailable

View File

@@ -0,0 +1,67 @@
- type: entity
name: Wisp
parent: [ BaseSimpleMob, FlyingMobBase ]
id: MobCosmicWisp
components:
- type: AntagImmune
- type: Sprite
drawdepth: Mobs
sprite: _DV/CosmicCult/Mobs/wisp.rsi
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: wisp
shader: unshaded
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.25
density: 10
mask:
- FlyingMobMask
layer:
- FlyingMobLayer
- type: Body
prototype: Animal
- type: Speech
speechSounds: Alto
speechVerb: Ghost
allowedEmotes: []
- type: TypingIndicator
proto: alien
- type: DamageStateVisuals
states:
Alive:
Base: wisp
Critical:
Base: wisp
Dead:
Base: wisp
- type: Grammar
attributes:
proper: true
gender: epicene
- type: Tag
tags:
- CannotSuicide
- type: PointLight
color: "#43286a"
radius: 2.25
energy: 12
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 5.5
maxDuration: 5.5
startValue: 4
endValue: 12
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: WeakToHoly # Goobstation Shitchap
alwaysTakeHoly: true

View File

@@ -0,0 +1,59 @@
- type: glyph
id: ccGlyphKnowledge
name: cult-glyph-name-knowledge
tooltip: cult-glyph-description-knowledge
icon:
sprite: _DV/CosmicCult/Objects/glyphs.rsi
state: knowledge
entity: CosmicGlyphKnowledge
tier: 1
- type: glyph
id: ccGlyphProjection
name: cult-glyph-name-projection
tooltip: cult-glyph-description-projection
icon:
sprite: _DV/CosmicCult/Objects/glyphs.rsi
state: projection
entity: CosmicGlyphProjection
tier: 1
- type: glyph
id: ccGlyphWarding
name: cult-glyph-name-warding
tooltip: cult-glyph-description-warding
icon:
sprite: _DV/CosmicCult/Objects/glyphs.rsi
state: warding
entity: CosmicGlyphWarding
tier: 2
- type: glyph
id: ccGlyphBlades
name: cult-glyph-name-blades
tooltip: cult-glyph-description-blades
icon:
sprite: _DV/CosmicCult/Objects/glyphs.rsi
state: blades
entity: CosmicGlyphBlades
tier: 2
- type: glyph
id: ccGlyphCessation
name: cult-glyph-name-cessation
tooltip: cult-glyph-description-cessation
icon:
sprite: _DV/CosmicCult/Objects/glyphs.rsi
state: cessation
entity: CosmicGlyphCessation
tier: 3
- type: glyph
id: ccGlyphTruth
name: cult-glyph-name-truth
tooltip: cult-glyph-description-truth
icon:
sprite: _DV/CosmicCult/Objects/glyphs.rsi
state: truth
entity: CosmicGlyphTruth
tier: 3

View File

@@ -0,0 +1,136 @@
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 SaffronFennec <firefoxwolf2020@protonmail.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
### ACTIVE INFLUENCES
- type: influence
id: InfluenceAberrantLapse
name: influence-name-lapse
influenceType: influence-type-active
cost: 3
description: influence-description-lapse
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: lapse
action: ActionCosmicLapse
tier: 1
# - type: influence
# id: InfluenceNullGlare
# name: influence-name-glare
# influenceType: influence-type-active
# cost: 10
# description: influence-description-glare
# icon:
# sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
# state: glare
# action: ActionCosmicGlare
# tier: 1
- type: influence
id: InfluenceShuntSubjectivity
name: influence-name-shunt
influenceType: influence-type-active
cost: 4
description: influence-description-shunt
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: blank
action: ActionCosmicBlank
tier: 1
- type: influence
id: InfluenceForceIngress
name: influence-name-ingress
influenceType: influence-type-active
cost: 2
description: influence-description-ingress
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: ingress
action: ActionCosmicIngress
tier: 2
- type: influence
id: InfluenceVacuousImposition
name: influence-name-imposition
influenceType: influence-type-active
cost: 10
description: influence-description-imposition
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: entropic
action: ActionCosmicImposition
tier: 3
- type: influence
id: InfluenceAstralNova
name: influence-name-nova
influenceType: influence-type-active
cost: 6
description: influence-description-nova
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: nova
action: ActionCosmicNova
tier: 2
### PASSIVE INFLUENCES
- type: influence
id: InfluenceEschewMetabolism
name: influence-name-eschew
influenceType: influence-type-passive
cost: 1
description: influence-description-eschew
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: metabolism
remove:
- type: Hunger
- type: Thirst
tier: 1
- type: influence
id: InfluenceUnboundStep
name: influence-name-step
influenceType: influence-type-passive
cost: 4
description: influence-description-step
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: step
add:
- type: MovementIgnoreGravity
tier: 2
- type: influence
id: InfluenceAstralStride
name: influence-name-stride
influenceType: influence-type-passive
cost: 6
description: influence-description-stride
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: stride
add:
- type: InfluenceStride
tier: 2
- type: influence
id: InfluenceVacuousVitality
name: influence-name-vitality
influenceType: influence-type-passive
cost: 8
description: influence-description-vitality
icon:
sprite: _DV/CosmicCult/Icons/cosmiccult_abilities.rsi
state: astral
add:
- type: InfluenceVitality
tier: 2

View File

@@ -0,0 +1,281 @@
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marcus F <199992874+thebiggestbruh@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SaffronFennec <firefoxwolf2020@protonmail.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
name: entropic blade
parent: BaseSword
id: SwordCosmicCult
description: An eerie greatsword wrought of indescribable material, forcibly extruded down into reality. Your instincts tell you that it does not belong here.
components:
- type: CosmicEquipment
- type: Sprite
sprite: _DV/CosmicCult/Objects/cosmicsword.rsi
layers:
- state: icon
- state: icon-overlay
shader: unshaded
- type: MeleeWeapon
resistanceBypass: true
angle: 90
animation: WeaponArcCosmic
attackRate: 1
clickDamageModifier: 1.1
damage:
types:
Slash: 10
Cold: 2.5
Asphyxiation: 2.5
Structural: 15
Ion: 25
soundHit:
path: /Audio/_DV/CosmicCult/cosmicsword_hit.ogg
params:
variation: 0.2
volume: 1
soundSwing:
path: /Audio/_DV/CosmicCult/cosmicweapon_swing.ogg
params:
variation: 0.125
volume: -4
soundNoDamage:
path: /Audio/_DV/CosmicCult/cosmicsword_glance.ogg
params:
variation: 0.2
volume: -11
- type: Reflect
reflectProb: .21
spread: 120
soundOnReflect:
path: /Audio/_DV/CosmicCult/cosmicsword_glance.ogg
params:
variation: 0.2
volume: -6
- type: Wieldable
wieldSound:
path: /Audio/_DV/CosmicCult/cosmic_wield.ogg
params:
variation: 0.2
volume: -2
unwieldSound:
path: /Audio/_DV/CosmicCult/cosmic_unwield.ogg
params:
variation: 0.2
volume: 0
- type: IncreaseDamageOnWield
damage:
types:
Slash: 5
Cold: 2.5
Asphyxiation: 2.5
Structural: 5
- type: DisarmMalus
- type: Item
size: Large
sprite: _DV/CosmicCult/Objects/cosmicsword-inhands.rsi
inhandVisuals:
left:
- state: inhand-left
right:
- state: inhand-right
- type: UnholyItem # Goobstation Shitchap
- type: entity
name: vacuous lance
parent: BaseItem
id: SpearCosmicCult
description: An unnerving spear, wrought of indescribable material. Being near it feels like a prickle of static spreading through your nerves.
components:
- type: CosmicEquipment
- type: Sprite
sprite: _DV/CosmicCult/Objects/cosmiclance.rsi
layers:
- state: icon
- state: icon-overlay
shader: unshaded
- type: MeleeWeapon
resistanceBypass: true
angle: 0
animation: WeaponArcCosmic
attackRate: 0.6
damage:
types:
Piercing: 15
Cold: 5
Asphyxiation: 5
Ion: 25
soundHit:
path: /Audio/_DV/CosmicCult/cosmiclance_hit.ogg
params:
variation: 0.2
volume: 1
soundSwing:
path: /Audio/_DV/CosmicCult/cosmicweapon_swing.ogg
params:
variation: 0.125
volume: -4
soundNoDamage:
path: /Audio/_DV/CosmicCult/cosmicsword_glance.ogg
params:
variation: 0.2
volume: -11
- type: Boomerang # Goob edit
- type: DamageOtherOnHit
damage:
types:
Piercing: 5
Cold: 5
Asphyxiation: 5
Ion: 17.5
- type: Wieldable
wieldSound:
path: /Audio/_DV/CosmicCult/cosmic_wield.ogg
params:
variation: 0.2
volume: -2
unwieldSound:
path: /Audio/_DV/CosmicCult/cosmic_unwield.ogg
params:
variation: 0.2
volume: 0
- type: IncreaseDamageOnWield
damage:
types:
Piercing: 10
Cold: 2.5
Asphyxiation: 2.5
- type: Item
size: Large
shape:
- 0,0,4,0
sprite: _DV/CosmicCult/Objects/cosmiclance-inhands.rsi
inhandVisuals:
left:
- state: inhand-left
right:
- state: inhand-right
- type: EmitSoundOnThrow
sound: /Audio/_DV/CosmicCult/cosmicweapon_swing.ogg ## THROWING SOUND - REPLACE THIS!
- type: ThrowingAngle
angle: 225
- type: LandAtCursor
- type: Tag
tags:
- Spear
- type: Fixtures
fixtures:
fix1:
shape: !type:PolygonShape
vertices:
- -0.40,-0.30
- -0.30,-0.40
- 0.40,0.30
- 0.30,0.40
density: 20
mask:
- ItemMask
restitution: 0.3
friction: 0.2
- type: Sharp
- type: UnholyItem # Goobstation Shitchap
- type: entity
name: astral razor
parent: BaseItem
id: ScytheCosmicCult
components:
- type: CosmicEquipment
- type: Sprite
sprite: _DV/CosmicCult/Objects/cosmicscythe.rsi
layers:
- state: icon
- state: icon-overlay
shader: unshaded
# - type: AmmoCounter
- type: UseDelayOnShoot
- type: UseDelay
delay: 2
- type: LeechOnMarker
leech:
groups:
Brute: -10
- type: Gun
projectileSpeed: 5
soundGunshot: /Audio/_DV/CosmicCult/projectile_razor.ogg
fireRate: 1.75
useKey: false
- type: RechargeBasicEntityAmmo
rechargeCooldown: 0.3
rechargeSound:
path: /Audio/_DV/CosmicCult/projectile_razor_reload.ogg
- type: BasicEntityAmmoProvider
proto: ProjectileCosmicRazor
capacity: 1
count: 1
- type: MeleeWeapon
resistanceBypass: true
wideAnimationRotation: -135
animation: WeaponArcCosmic
attackRate: 1.5
clickDamageModifier: 1.1
damage:
types:
Slash: 6
Cold: 2
Asphyxiation: 2
Ion: 6
Structural: 15
soundHit:
path: /Audio/_DV/CosmicCult/cosmicsword_hit.ogg
params:
variation: 0.2
volume: 1
soundSwing:
path: /Audio/_DV/CosmicCult/cosmicweapon_swing.ogg
params:
variation: 0.125
volume: -4
soundNoDamage:
path: /Audio/_DV/CosmicCult/cosmicsword_glance.ogg
params:
variation: 0.2
volume: -11
- type: Reflect
reflectProb: .35
spread: 120
soundOnReflect:
path: /Audio/_DV/CosmicCult/cosmicsword_glance.ogg
params:
variation: 0.2
volume: -6
- type: Wieldable
wieldSound:
path: /Audio/_DV/CosmicCult/cosmic_wield.ogg
params:
variation: 0.2
volume: -2
unwieldSound:
path: /Audio/_DV/CosmicCult/cosmic_unwield.ogg
params:
variation: 0.2
volume: 0
- type: IncreaseDamageOnWield
damage:
types:
Structural: 5
- type: GunRequiresWield
- type: Item
size: Ginormous
sprite: _DV/CosmicCult/Objects/cosmicscythe-inhands.rsi
inhandVisuals:
left:
- state: inhand-left
right:
- state: inhand-right
- type: UnholyItem # Goobstation Shitchap

View File

@@ -0,0 +1,91 @@
## Cosmic Cult Entropy Mote
- type: entity
parent: [ MaterialBase ]
id: MaterialCosmicCultEntropy
name: mote of entropy
description: A solidified mote of entropic essence. Feels numbing to the touch.
suffix: Full
components:
- type: Stack
count: 6
stackType: Entropy
baseLayer: base
layerStates:
- mote
- mote_2
- mote_3
- type: Sprite
sprite: _DV/CosmicCult/Objects/entropymote.rsi
state: mote
layers:
- state: mote
map: ["base"]
- type: Appearance
- type: Item
sprite: _DV/CosmicCult/Objects/entropymote.rsi
size: Small
- type: CosmicEntropyMote
- type: Tag
tags:
- Entropy
- type: Extractable
grindableSolutionName: grind
- type: SolutionContainerManager
solutions:
grind:
reagents:
- ReagentId: Entropy
Quantity: 1.5
- type: UnholyItem # Goobstation Shitchap
- type: entity
parent: MaterialCosmicCultEntropy
id: MaterialCosmicCultEntropy1
suffix: One
components:
- type: Stack
count: 1
- type: entity
categories: [ HideSpawnMenu ]
parent: MaterialCosmicCultEntropy
id: MaterialCosmicCultEntropy2
suffix: Two
components:
- type: Stack
count: 2
- type: entity
categories: [ HideSpawnMenu ]
parent: MaterialCosmicCultEntropy
id: MaterialCosmicCultEntropy3
suffix: Three
components:
- type: Stack
count: 3
- type: entity
categories: [ HideSpawnMenu ]
parent: MaterialCosmicCultEntropy
id: MaterialCosmicCultEntropy4
suffix: Four
components:
- type: Stack
count: 4
- type: entity
categories: [ HideSpawnMenu ]
parent: MaterialCosmicCultEntropy
id: MaterialCosmicCultEntropy5
suffix: Five
components:
- type: Stack
count: 5
- type: stack
id: Entropy
name: stack-cosmic-cult-entropy
icon: { sprite: _DV/CosmicCult/Objects/entropymote.rsi, state: mote }
spawn: MaterialCosmicCultEntropy1
maxCount: 6

View File

@@ -0,0 +1,50 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
name: ascendant's dendrite
parent: BaseAnimalOrgan
id: AscendedDendrite
description: A bundle of semi-ephemeral tissue extracted from the unravelling husk of an astral ascendant. A faint malign light pulses within.
components:
- type: RogueAscendedDendrite
- type: Item
size: Normal
- type: Food
- type: FlavorProfile
flavors:
- entropic
- type: Tag
tags:
- Raw
- Meat
- type: Sprite
sprite: _DV/CosmicCult/Objects/ascendantorgan.rsi
layers:
- state: icon
- state: icon-unshaded
shader: unshaded
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
reagents:
- ReagentId: Entropy
Quantity: 10
- type: entity
id: CosmicCultLawBoard
parent: BaseElectronics
name: malign law board
description: An eerie circuit board, suited for slotting into an AI law upload console. Its circuitry is interwoven with phantasmal dendritic strands that twitch of their own accord.
components:
- type: Sprite
sprite: _DV/CosmicCult/Objects/lawboard.rsi
state: icon
- type: SiliconLawProvider
lawUploadSound: /Audio/_DV/CosmicCult/antag_cosmic_briefing.ogg
subverted: true
laws: CosmicCultLaws

View File

@@ -0,0 +1,14 @@
## Cosmic Cult Plushie
- type: entity
parent: BasePlushie
id: PlushieCosmicCult
name: "unknown plushie"
description: A small stuffed doll resembling the indistinct likeness of an unknown cosmic force. That doesn't really make sense, but the marketing department was really insistent about it.
components:
- type: Item
size: Normal
- type: Sprite
sprite: _DV/CosmicCult/Objects/unknownplushie.rsi
state: plushie_cosmic
- type: UnholyItem # Goobstation Shitchap

View File

@@ -0,0 +1,121 @@
########### COSMIC CONVERTER, BASE ABSTRACT #############
- type: entity
parent: BaseStructure
id: CosmicConstructPylon
name: Vacuous Chantry
description: Lorem Ipsum
placement:
mode: AlignTileAny
components:
- type: Fixtures
fixtures:
MonumentCollider:
shape:
!type:PhysShapeAabb
bounds: "-1.1,-0.2,1.1,0.7"
mask:
- LargeMobMask
layer:
- WallLayer
density: 1000
hard: false
- type: SpriteFade
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmicconstructpylon.rsi
layers:
- state: base
- state: base-overlay
shader: unshaded
offset: 0,1
drawdepth: Mobs
- type: InteractionOutline
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: PointLight
enabled: true
castShadows: false
radius: 4.5
energy: 4
color: "#42a4ae"
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 3
maxDuration: 5
startValue: 4.5
endValue: 1.5
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: AmbientSound
range: 3.5
volume: -9
sound:
path: /Audio/_DV/CosmicCult/god_ambient.ogg
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: CosmicCorrupting
corruptionReduction: 0.01
enabled: false
floodFillStarting: true
########### SPAWN-IN ANIMATION #############
- type: entity
id: CosmicConstructPylonSpawnIn
name: Vacuous Chantry
parent: BaseStructure
suffix: Spawn, DO NOT MAP
components:
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmicconstructpylon.rsi
layers:
- state: spawnin
- state: spawnin-overlay
shader: unshaded
offset: 0,1
drawdepth: Mobs
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-1.1,-0.2,1.1,0.7"
hard: false
mask:
- LargeMobMask
layer:
- WallLayer
- type: InteractionOutline
- type: Transform
- type: EmitSoundOnSpawn
sound:
path: /Audio/_DV/CosmicCult/monument_spawn.ogg
params:
volume: +8
pitch: 0.8
- type: TimedDespawn
lifetime: 2.4
- type: SpawnOnDespawn
prototype: CosmicConstructPylon
- type: PointLight
enabled: true
radius: 4.5
energy: 4
color: "#42a4ae"
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 3.8
maxDuration: 3.8
startValue: 0.5
endValue: 4.5
property: Energy
enabled: true

View File

@@ -0,0 +1,38 @@
- type: entity
id: DoorCosmicCult
parent: BaseMaterialDoorNavMap
name: malign passageway
description: A strange, disquieting structure.
components:
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmicdoor.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Door
bumpOpen: true
clickOpen: true
canCrush: true
closeTimeOne: 0.8
closeTimeTwo: 1.2
openTimeOne: 0.8
openTimeTwo: 1.2
openingAnimationTime: 1.2
closingAnimationTime: 1.2
openSound:
path: /Audio/_DV/CosmicCult/door_open.ogg
closeSound:
path: /Audio/_DV/CosmicCult/door_close.ogg
- type: RCDDeconstructable
deconstructable: false
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: StructuralMetallicStrong
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]

View File

@@ -0,0 +1,180 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: tile
id: FloorCosmicGlyph
name: tiles-cosmiccult-floor-glyph
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicfloor/tile_glyph.png
baseTurf: Plating
isSubfloor: false
deconstructTools: [ Prying ]
footstepSounds:
collection: FootstepCosmic
heatCapacity: 10000
- type: tile
id: FloorCosmicSmooth
name: tiles-cosmiccult-floor-smooth
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicfloor/tile_smooth.png
baseTurf: Plating
isSubfloor: false
deconstructTools: [ Prying ]
footstepSounds:
collection: FootstepCosmic
heatCapacity: 10000
- type: tile
id: FloorCosmicHalf
name: tiles-cosmiccult-floor-half
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicfloor/tile_half.png
baseTurf: Plating
isSubfloor: false
deconstructTools: [ Prying ]
footstepSounds:
collection: FootstepCosmic
heatCapacity: 10000
- type: tile
id: FloorCosmicSplit
name: tiles-cosmiccult-floor-split
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicfloor/tile_split.png
baseTurf: Plating
isSubfloor: false
deconstructTools: [ Prying ]
footstepSounds:
collection: FootstepCosmic
heatCapacity: 10000
- type: tile
id: FloorCosmicNotched
name: tiles-cosmiccult-floor-notched
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicfloor/tile_notched.png
baseTurf: Plating
isSubfloor: false
deconstructTools: [ Prying ]
footstepSounds:
collection: FootstepCosmic
heatCapacity: 10000
- type: tile
id: FloorCosmicCorruption
name: tiles-cosmiccult-floor-malign
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicfloor/tile_malign.png
variants: 4
placementVariants:
- 1.0
- 1.0
- 1.0
- 1.0
baseTurf: Plating
isSubfloor: false
deconstructTools: [ Prying ]
footstepSounds:
collection: FootstepCosmic
heatCapacity: 10000
- type: tile
id: FloorCosmicVoid
name: tiles-cosmiccult-floor-void
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicfloor/floor_void.png
baseTurf: Plating
isSubfloor: false
deconstructTools: [ Prying ]
footstepSounds:
collection: FootstepCosmic
heatCapacity: 10000
- type: entity
id: FloorCosmicDecay
name: entropic decay
description: Just one look at this sends a chill running down your spine.
placement:
mode: SnapgridCenter
snap:
- Wall
components:
- type: FloorOccluder
- type: SpeedModifierContacts
walkSpeedModifier: 0.5
sprintSpeedModifier: 0.5
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.5,0.5,0.5"
layer:
- SlipLayer
mask:
- ItemMask
density: 1000
hard: false
- type: FootstepModifier
footstepSoundCollection:
collection: FootstepWater
params:
volume: 8
- type: StepTrigger
requiredTriggeredSpeed: 0
intersectRatio: 0.1
blacklist:
tags:
- Catwalk
- type: Transform
anchored: true
- type: SyncSprite
- type: Clickable
- type: Sprite
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicdecay.rsi
drawdepth: BelowFloor
layers:
- state: decay
shader: unshaded
- type: Icon
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicdecay.rsi
state: full
- type: IconSmooth
key: decay
base: decay
- type: Tag
tags:
- Entropy
- HideContextMenu
- type: PointLight
radius: 4.25
energy: 1.75
castShadows: false
color: "#42a4ae"
- type: entity
id: FloorCosmicDecayAlt
suffix: DO NOT MAP
name: "???"
placement:
mode: SnapgridCenter
snap:
- Wall
components:
- type: FloorOccluder
- type: Physics
bodyType: Static
canCollide: False
- type: Transform
anchored: true
- type: SyncSprite
- type: Sprite
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicdecayalt.rsi
- type: Icon
sprite: /Textures/_DV/CosmicCult/Tileset/cosmicdecayalt.rsi
state: full
- type: IconSmooth
key: floor
base: void
- type: Tag
tags:
- HideContextMenu

View File

@@ -0,0 +1,380 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
########### COSMIC MONUMENT, BASE ABSTRACT #############
- type: entity
abstract: true
parent: BaseStructure
id: MonumentCosmicCultBase
name: The Monument
description: A great slab of unknowledge, only visible to those aware of it. Built of a thousand little nothings, its surface reflects a starless emptiness...
placement:
mode: AlignTileAny
components:
- type: StationAnchor # Goobstation - no monument shittles
- type: Fixtures
fixtures:
MonumentCollider:
shape:
!type:PhysShapeAabb
bounds: "-1.1,-0.2,1.1,0.7"
mask:
- LargeMobMask
layer:
- WallLayer
density: 1000
hard: false
- type: Visibility
layer: 16
# - type: SpriteFade # - Supercode breaks clickability with this.
- type: Sprite
sprite: _DV/CosmicCult/Tileset/monument.rsi
layers:
- state: stage1
visible: true
map: ["enum.MonumentVisualLayers.MonumentLayer"]
- state: transform-stage2
visible: false
map: ["enum.MonumentVisualLayers.TransformLayer"]
- state: finale-overlay1
shader: unshaded
visible: false
map: ["enum.MonumentVisualLayers.FinaleLayer"]
offset: 0,1
drawdepth: Overdoors
- type: Appearance
- type: GenericVisualizer
visuals:
enum.MonumentVisuals.Monument:
enum.MonumentVisualLayers.MonumentLayer:
1: {state: stage1}
2: {state: stage2}
3: {state: stage3}
enum.MonumentVisuals.FinaleReached:
enum.MonumentVisualLayers.FinaleLayer:
True: { visible: true }
False: { visible: false }
1: {state: finale-overlay1}
2: {state: finale-overlay2}
3: {state: finale-overlay3}
- type: InteractionOutline
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: PointLight
enabled: true
castShadows: false
radius: 4.5
energy: 4
color: "#43286a"
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 3
maxDuration: 5
startValue: 4.5
endValue: 1.5
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: AmbientSound
range: 3.5
volume: -9
sound:
path: /Audio/_DV/CosmicCult/god_ambient.ogg
- type: ActivatableUI
singleUser: false
requiresComplex: true
blockSpectators: true
key: enum.MonumentKey.Key
- type: UserInterface
interfaces:
enum.MonumentKey.Key:
type: MonumentBoundUserInterface
- type: CosmicFinale
- type: Monument
unlockedGlyphs:
- ccGlyphKnowledge
- ccGlyphProjection
selectedGlyph: ccGlyphKnowledge
totalEntropy: 0
- type: GuideHelp
guides:
- CosmicCult
- type: WarpPoint
location: The Monument
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: CosmicCorrupting
corruptionReduction: 0.01
enabled: false
floodFillStarting: true
########### SPAWN-IN ANIMATION #############
- type: entity
categories: [ HideSpawnMenu ]
id: MonumentCosmicCultSpawnIn
name: The Monument
parent: BaseStructure
suffix: Spawn, DO NOT MAP
components:
- type: Visibility
layer: 16
- type: Sprite
sprite: _DV/CosmicCult/Tileset/monument.rsi
layers:
- state: stage1-spawnin
- state: stage1-spawnin-overlay
shader: unshaded
offset: 0,1
drawdepth: Mobs
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-1.1,-0.2,1.1,0.7"
hard: false
mask:
- LargeMobMask
layer:
- WallLayer
- type: InteractionOutline
- type: Transform
- type: EmitSoundOnSpawn
sound:
path: /Audio/_DV/CosmicCult/monument_spawn.ogg
params:
volume: +8
pitch: 0.8
- type: TimedDespawn
lifetime: 3.8
- type: MonumentOnDespawn
prototype: MonumentCosmicCult1
- type: PointLight
enabled: true
radius: 4.5
energy: 4
color: "#43286a"
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 3.8
maxDuration: 3.8
startValue: 0.5
endValue: 4.5
property: Energy
enabled: true
########### RELOCATION ANIMATIONS #############
- type: entity
categories: [ HideSpawnMenu ]
id: MonumentCosmicCultMoveStart
name: The Monument
parent: BaseStructure
suffix: Spawn, DO NOT MAP
components:
- type: Visibility
layer: 16
- type: Sprite
sprite: _DV/CosmicCult/Tileset/monument.rsi
layers:
- state: stage2-relocate-out
shader: unshaded
offset: 0,1
drawdepth: Mobs
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-1.1,-0.2,1.1,0.7"
hard: false
mask:
- LargeMobMask
layer:
- WallLayer
- type: InteractionOutline
- type: Transform
- type: EmitSoundOnSpawn
sound:
path: /Audio/_DV/CosmicCult/monument_relocate.ogg
params:
volume: +8
pitch: 0.8
- type: TimedDespawn
lifetime: 3.8
- type: PointLight
color: "#42a4ae"
radius: 4.5
energy: 4
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 3.8
maxDuration: 3.8
startValue: 0.1
endValue: 4.5
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: entity
categories: [ HideSpawnMenu ]
id: MonumentCosmicCultMoveEnd
name: The Monument
parent: BaseStructure
suffix: Spawn, DO NOT MAP
components:
- type: Visibility
layer: 16
- type: Sprite
sprite: _DV/CosmicCult/Tileset/monument.rsi
layers:
- state: stage2-relocate-in
shader: unshaded
offset: 0,1
drawdepth: Mobs
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-1.1,-0.2,1.1,0.7"
hard: false
mask:
- LargeMobMask
layer:
- WallLayer
- type: InteractionOutline
- type: Transform
- type: EmitSoundOnSpawn
sound:
path: /Audio/_DV/CosmicCult/monument_relocate.ogg
params:
volume: +8
pitch: 0.8
- type: TimedDespawn
lifetime: 3.8
- type: MonumentMoveDestination
- type: PointLight
color: "#42a4ae"
radius: 4.5
energy: 4
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 3.8
maxDuration: 3.8
startValue: 0.1
endValue: 4.5
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
########### COLLIDER LAY-Z FIX #############
- type: entity
categories: [ HideSpawnMenu ]
id: MonumentCollider
suffix: Debug, DO NOT MAP
parent: BaseStructure
placement:
mode: AlignTileAny
components:
- type: MonumentCollision
- type: Fixtures
fixtures:
MonumentCollider:
shape:
!type:PhysShapeAabb
bounds: "-1.08,-0.18,1.08,0.68"
density: 9999
mask:
- LargeMobMask
layer:
- WallLayer
########### TIER 3 SUPPRESSION AURA #############
- type: entity
categories: [ HideSpawnMenu ]
id: MonumentSlowZone
suffix: Debug, DO NOT MAP
placement:
mode: SnapgridCenter
snap:
- Wall
components:
- type: Transform
anchored: true
- type: SpeedModifierContacts
walkSpeedModifier: 0.7
sprintSpeedModifier: 0.75
ignoreWhitelist:
components:
- CosmicCult
- MindShield
- BibleUser
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-8.5,-8.5,8.5,8.5"
layer:
- SlipLayer
mask:
- ItemMask
density: 1000
hard: false
########### STAGE 1 #############
- type: entity
parent: MonumentCosmicCultBase
id: MonumentCosmicCult1
suffix: Base, DO NOT MAP
components:
- type: Monument # Causes test fail without
targetProgress: 35
- type: entity
id: MonumentCosmicCult2
suffix: DO NOT MAP, DO NOT SPAWN
categories: [ HideSpawnMenu ]
components:
- type: Sprite
sprite: _DV/CosmicCult/Tileset/monument.rsi
layers:
- state: stage2
- type: entity
id: MonumentCosmicCult3
suffix: DO NOT MAP, DO NOT SPAWN
categories: [ HideSpawnMenu ]
components:
- type: Sprite
sprite: _DV/CosmicCult/Tileset/monument.rsi
layers:
- state: stage3

View File

@@ -0,0 +1,384 @@
##################### SHUTTLE CORE CONTROL
- type: entity
parent: BaseStructure
id: CosmicShuttleCore
name: malign instrument
description: Its surface glows with a myriad of inscrutable glyphs that commmunicate a single word into your mind; "Flight".
components:
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmiccomputer.rsi
layers:
- state: computer
- state: computer-unshaded
shader: unshaded
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: Thruster
thrusterType: Angular # These are overpowered thruster-shuttle-console-hybrids that require no power grid. As such, they cannot be anchored or meaningfully taken outside of their intended use.
requireSpace: false
thrust: 4000
machinePartThrust: Manipulator
- type: ShuttleConsole
- type: ActivatableUI
key: enum.ShuttleConsoleUiKey.Key
- type: UserInterface
interfaces:
enum.ShuttleConsoleUiKey.Key:
type: ShuttleConsoleBoundUserInterface
- type: EmitSoundOnUIOpen
sound:
collection: Keyboard
params:
volume: -1
variation: 0.05
pitch: 1.05
- type: RadarConsole
- type: WorldLoader
radius: 256
- type: PointLight
radius: 1.5
energy: 1.6
enabled: true # Test fail if false
mask: /Textures/Effects/LightMasks/cone.png
autoRot: true
offset: "0, 0.4"
castShadows: false
color: "#42a4ae"
- type: Rotatable
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
##################### CHAIR
- type: entity
name: malign settee
id: CosmicChair
parent: SeatBase
placement:
mode: SnapgridCenter
components:
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmicchair.rsi
state: chair
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
##################### PILLAR
- type: entity
parent: BaseStructure
id: CosmicObelisk
name: malign obelisk
description: A mysterious-yet-inert sturcture. Unsettling.
components:
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmicpillar.rsi
offset: 0, 0.5
layers:
- state: icon
drawdepth: Mobs
noRot: true
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: SpriteFade
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.1,0.2,0.375"
mask:
- LargeMobMask
layer:
- WallLayer
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
##################### THRUSTER
- type: entity
parent: BaseStructure
id: CosmicThruster
name: malign engine
components:
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 60
mask:
- MachineMask
layer:
- MachineLayer
- type: AmbientSound
enabled: false
range: 4
volume: -4
sound:
path: /Audio/Effects/shuttle_thruster.ogg
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Rotatable
rotateWhileAnchored: true
- type: Thruster
damage:
types:
Cold: 40
- type: InteractionOutline
- type: Appearance
- type: ThrusterVisuals
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmicthruster.rsi
layers:
- state: base
map: ["enum.ThrusterVisualLayers.Base"]
- state: thrust
map: ["enum.ThrusterVisualLayers.ThrustOn"]
shader: unshaded
visible: false
- state: thrust_burn_unshaded
map: ["enum.ThrusterVisualLayers.ThrustingUnshaded"]
shader: unshaded
visible: false
offset: 0, 0.564
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
##################### LAMP
- type: entity
id: CosmicLamp
description: A mote of un-light shimmers within.
suffix: Always Powered
name: malign light
components:
- type: MeleeSound
soundGroups:
Brute:
collection: GlassSmash
- type: Transform
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmiclight.rsi
drawdepth: Mobs
layers:
- state: base
- state: glow
shader: unshaded
- type: PointLight
color: "#42a4ae" # 5000K color temp
energy: 2
radius: 8
softness: 1
offset: "0, -0.5"
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: RCDDeconstructable
deconstructable: false
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors: #excess damage, don't spawn entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
placement:
mode: SnapgridCenter
- type: entity
id: CosmicMalignRift
name: malign rift
description: A malign light pours forth from within.
placement:
mode: SnapgridCenter
components:
- type: InteractionOutline
- type: Sprite
sprite: _DV/CosmicCult/Tileset/malignrift.rsi
drawdepth: Mobs
snapCardinals: true
offset: 0,0.27
layers:
- state: rift-unshaded
shader: unshaded
- type: Clickable
- type: PointLight
radius: 1.5
energy: 1.6
castShadows: false
color: "#42a4ae"
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: CosmicMalignRift
- type: CosmicCorrupting
corruptionMaxTicks: 6
corruptionSpeed: 8
corruptionChance: 1
corruptionReduction: 0.16
##################### SPIRE
- type: entity
id: CosmicVacuousSpire
parent: BaseStructure
name: vacuous spire
description: Also known as the "chuuni fork".
components:
- type: Pullable
- type: Anchorable
- type: Physics
bodyType: Dynamic
- type: Transform
anchored: false
- type: AtmosDevice
joinSystem: true
- type: CosmicSpire
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: SpriteFade
- type: InteractionOutline
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.375,0.25,0.4"
density: 100
mask:
- LargeMobMask
layer:
- WallLayer
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmicspire.rsi
offset: 0, 0.5
layers:
- state: base-disabled
map: ["base"]
- state: overlay
map: ["vfx"]
shader: unshaded
visible: false
drawdepth: Mobs
noRot: true
- type: GenericVisualizer
visuals:
enum.SpireVisuals.Status:
base:
On: {state: base-enabled}
Off: {state: base-disabled}
vfx:
On: {visible: True}
Off: {visible: False}
- type: Appearance
- type: AmbientSound
enabled: false
volume: -5
range: 15
sound:
path: /Audio/_DV/CosmicCult/spire_draining.ogg
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Metallic
- type: RCDDeconstructable
deconstructable: false
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors: #excess damage, don't spawn entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- type: PointLight
radius: 2
energy: 1.6
enabled: false
castShadows: false
color: "#42a4ae"
- type: entity
id: AltarCosmic
parent: AltarNanotrasen
name: cosmic altar
description: Altar of.. Something.
components:
- type: Sprite
sprite: _DV/CosmicCult/Tileset/altar.rsi
layers:
- state: cosmic
- state: cosmic_light
shader: unshaded
- type: Icon
sprite: _DV/CosmicCult/Tileset/altar.rsi
state: cosmic
- type: PointLight
radius: 1.5
energy: 2.5
color: "#42a4ae"
- type: entity
id: CosmicTable
parent: CounterBase
name: malign table
description: Unfathomably, cosmically.. Square.
components:
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmictable.rsi
- type: Icon
sprite: _DV/CosmicCult/Tileset/cosmictable.rsi
state: full
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Metallic
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: IconSmooth
key: cosmictable
base: state_

View File

@@ -0,0 +1,168 @@
- type: entity
parent: BaseWall
id: WallCosmicCult
name: malign wall
description: A strange-looking wall. Staring at it for too long instills a sense of discomfort.
components:
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: Tag
tags:
- Wall
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmicwall.rsi
- type: Icon
sprite: _DV/CosmicCult/Tileset/cosmicwall.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: IconSmooth
key: cultwalls
base: cult
- type: entity
parent: WallCosmicCult
id: WallCosmicCultTrimmed
name: malign wall
suffix: Trimmed
components:
- type: Icon
sprite: _DV/CosmicCult/Tileset/cosmicwall.rsi
state: full
- type: Sprite
sprite: _DV/CosmicCult/Tileset/cosmicwall.rsi
layers:
- state: full
- map: [ "enum.EdgeLayer.South" ]
state: trim_south
- map: [ "enum.EdgeLayer.East" ]
state: trim_east
- map: [ "enum.EdgeLayer.North" ]
state: trim_north
- map: [ "enum.EdgeLayer.West" ]
state: trim_west
- type: IconSmooth
key: cultwalls
base: cult
- type: SmoothEdge
- type: entity
id: WindowCosmicCult
name: malign pane
description: An odd-looking window. Something about it unnerves you.
parent: WindowRCDResistant
components:
- type: Sprite
drawdepth: WallTops
sprite: _DV/CosmicCult/Tileset/cosmicwindow.rsi
- type: Icon
sprite: _DV/CosmicCult/Tileset/cosmicwindow.rsi
state: full
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Glass
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WindowShatter
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: IconSmooth
base: coswindow
- type: Appearance
- type: DamageVisuals
thresholds: [5, 10, 20]
damageDivisor: 3
trackAllDamage: true
damageOverlay:
sprite: Structures/Windows/cracks.rsi
- type: RadiationBlocker
resistance: 5
- type: entity
id: WindowCosmicCultDark
name: malign pane
suffix: Tinted
parent: WindowCosmicCult
components:
- type: Sprite
drawdepth: WallTops
sprite: _DV/CosmicCult/Tileset/cosmicwindow_dark.rsi
- type: Icon
sprite: _DV/CosmicCult/Tileset/cosmicwindow_dark.rsi
state: full
- type: IconSmooth
base: cosDwindow
- type: entity
parent: WallShuttleDiagonal
description: An odd-looking window. Something about it unnerves you.
id: WindowCosmicCultDiagonal
name: malign pane
suffix: Diagonal
placement:
mode: SnapgridCenter
snap:
- Wall
components:
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: Sprite
drawdepth: WallTops
sprite: _DV/CosmicCult/Tileset/cosmicwindow_diagonal.rsi
state: coswindow0
- type: IconSmooth
mode: Diagonal
key: cultwindows
base: coswindow
- type: Icon
sprite: _DV/CosmicCult/Tileset/cosmicwindow_diagonal.rsi
state: coswindow0
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
parent: WindowCosmicCultDiagonal
id: WindowCosmicCultDiagonalDark
name: malign pane
suffix: Diagonal, Tinted
placement:
mode: SnapgridCenter
snap:
- Wall
components:
- type: CosmicCultExamine
cultistText: cosmic-examine-text-forthecult
- type: Sprite
drawdepth: WallTops
sprite: _DV/CosmicCult/Tileset/cosmicwindow_dark_diagonal.rsi
state: cosDwindow0
- type: IconSmooth
mode: Diagonal
key: cultwindows
base: cosDwindow
- type: Icon
sprite: _DV/CosmicCult/Tileset/cosmicwindow_dark_diagonal.rsi
state: cosDwindow0

View File

@@ -0,0 +1,11 @@
- type: localizedDataset
id: ascended_titles
values:
prefix: dv-ascended-title-
count: 4
- type: localizedDataset
id: ascended_names
values:
prefix: dv-ascended-name-
count: 16

View File

@@ -0,0 +1,10 @@
- type: antag
id: CosmicAntagCultist
name: roles-antag-cosmiccult-name
antagonist: true
setPreference: true
objective: roles-antag-cosmiccult-description
requirements:
- !type:OverallPlaytimeRequirement
time: 43200 # 12h
guides: [ CosmicCult ]

View File

@@ -0,0 +1,12 @@
- type: entity
id: CosmicVoidspawner
parent: MarkerBase
name: wisp spawn point
components:
- type: Sprite
sprite: Markers/cross.rsi
layers:
- state: red
- sprite: Mobs/Species/Human/parts.rsi
state: full
- type: CosmicVoidSpawn

View File

@@ -0,0 +1,31 @@
- type: flavor
id: entropic
flavorType: Complex
description: flavor-complex-entropy
- type: reagent
id: Entropy
group: Toxins
name: reagent-name-entropy
desc: reagent-desc-entropy
flavor: entropic
color: "#371a47"
physicalDesc: reagent-physical-desc-malign
plantMetabolism:
- !type:PlantAdjustToxins
amount: 10
- !type:PlantAdjustHealth
amount: -5
metabolisms:
Poison:
effects:
- !type:HealthChange
damage:
types:
Cold: 0.25
Asphyxiation: 1.05
- !type:PopupMessage
type: Local
visualType: SmallCaution
messages: [ "entropy-effect-numb" ]
probability: 0.1

View File

@@ -0,0 +1,51 @@
- type: entity
parent: BaseGameRule
id: RogueAscendedSpawn
components:
- type: StationEvent
weight: 6.5
earliestStart: 30
reoccurrenceDelay: 20
minimumPlayers: 30
duration: null
- type: SpaceSpawnRule
- type: AntagSpawner
prototype: MobRogueAscended
- type: AntagObjectives
objectives:
- RogueAscendedInfectionObjective
- RogueAscendedSurviveObjective
- type: AntagSelection
agentName: rogue-ascended-round-end-agent-name
definitions:
- spawnerPrototype: SpawnPointRogueAscended
min: 1
max: 1
pickPlayer: false
mindRoles:
- MindRoleCosmicAscended
briefing:
text: rogue-ascended-role-greeting
color: CadetBlue
sound: /Audio/_DV/CosmicCult/antag_cosmic_briefing.ogg
components:
- type: RogueAscended
- type: entity
categories: [ HideSpawnMenu, Spawner ]
parent: BaseAntagSpawner
id: SpawnPointRogueAscended
components:
- type: GhostRole
name: ghost-role-information-rogue-ascended-name
description: ghost-role-information-rogue-ascended-description
rules: ghost-role-information-rogue-ascended-rules
mindRoles:
- MindRoleCosmicAscended
- type: Sprite
sprite: _DV/CosmicCult/Mobs/astralrogue.rsi
layers:
- state: underlay
shader: unshaded
- state: base
shader: unshaded

View File

@@ -0,0 +1,27 @@
- type: factionIcon
id: CosmicCultIcon
isShaded: false
priority: 11
showTo:
components:
- CosmicCult
- CosmicAstralBody
- ShowAntagIcons
- RogueAscended
icon:
sprite: /Textures/_DV/CosmicCult/Icons/antag_icons.rsi
state: CosmicCult
- type: factionIcon
id: CosmicCultLeadIcon
isShaded: false
priority: 11
showTo:
components:
- CosmicCult
- CosmicAstralBody
- ShowAntagIcons
- RogueAscended
icon:
sprite: /Textures/_DV/CosmicCult/Icons/antag_icons.rsi
state: CosmicCultLead

View File

@@ -0,0 +1,8 @@
- type: soundCollection
id: FootstepCosmic
files:
- /Audio/_DV/CosmicCult/footsteps/step1.ogg
- /Audio/_DV/CosmicCult/footsteps/step2.ogg
- /Audio/_DV/CosmicCult/footsteps/step3.ogg
- /Audio/_DV/CosmicCult/footsteps/step4.ogg
- /Audio/_DV/CosmicCult/footsteps/step5.ogg

View File

@@ -0,0 +1,30 @@
- type: gamePreset
id: CosmicCult
alias:
- cosmic
name: cosmiccult-title
description: cosmiccult-description
showInVote: false
#cooldown: 1
rules:
- CosmicCult
- SubGamemodesRule
#- MeteorSwarmScheduler - Goob Edit
- SpaceTrafficControlEventScheduler
- BasicRoundstartVariation
- BasicStationEventScheduler
- type: gamePreset #Runs Cosmic Cult but shows "Secret" in lobby.
id: SecretCosmicCult
alias:
- secretcosmic
name: secret-title
description: secret-description
showInVote: false
rules:
- CosmicCult
- SubGamemodesRule
#- MeteorSwarmScheduler - Goob Edit
- SpaceTrafficControlEventScheduler
- BasicRoundstartVariation
- BasicStationEventScheduler

View File

@@ -0,0 +1,167 @@
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: CosmicGlyphBase
name: base glyph
description: A strange, otherworldly marking.
abstract: true
placement:
mode: SnapgridCenter
components:
- type: Fixtures
fixtures:
glyph:
shape:
!type:PhysShapeAabb
bounds: "-1.2,-0.5,1.2,0.5"
hard: false
mask:
- ItemMask
layer:
- SlipLayer
- type: Physics
- type: Clickable
- type: CosmicGlyph
- type: CosmicCultExamine
othersText: cosmic-examine-text-glyphs
- type: Sprite
sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi
layers:
- state: aid
drawdepth: Puddles
- type: Appearance
- type: entity
parent: CosmicGlyphBase
id: CosmicGlyphTruth
name: Glyph of Truth
components:
- type: Sprite
sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi
layers:
- state: truth
drawdepth: Puddles
- type: CosmicGlyphConversion
negateProtection: true
- type: CosmicGlyph
requiredCultists: 3
activationDamage:
types:
Asphyxiation: 10
- type: CosmicCultExamine
cultistText: cosmic-examine-glyph-truth
- type: entity
parent: CosmicGlyphBase
id: CosmicGlyphKnowledge
name: Glyph of Knowledge
components:
- type: Sprite
sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi
layers:
- state: knowledge
drawdepth: Puddles
- type: CosmicGlyphConversion
- type: CosmicGlyph
requiredCultists: 1
activationDamage:
types:
Asphyxiation: 10
- type: CosmicCultExamine
cultistText: cosmic-examine-glyph-knowledge
- type: entity
parent: CosmicGlyphBase
id: CosmicGlyphCessation
name: Glyph of Cessation
components:
- type: Sprite
layers:
- sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi
state: cessation
drawdepth: Puddles
- type: CosmicGlyphTransmute
transmutations:
- CosmicVacuousSpire
whitelist:
components:
- PortableScrubber
- type: CosmicGlyph
requiredCultists: 1
activationDamage:
types:
Asphyxiation: 10
- type: CosmicCultExamine
cultistText: cosmic-examine-glyph-cessation
- type: entity
parent: CosmicGlyphBase
id: CosmicGlyphBlades
name: Glyph of Blades
components:
- type: Sprite
sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi
layers:
- state: blades
drawdepth: Puddles
- type: CosmicGlyphTransmute
transmutations:
- SwordCosmicCult
- SpearCosmicCult
- ScytheCosmicCult
whitelist:
components:
- Sharp
- type: CosmicGlyph
requiredCultists: 1
activationDamage:
types:
Asphyxiation: 10
- type: CosmicCultExamine
cultistText: cosmic-examine-glyph-blades
- type: entity
parent: CosmicGlyphBase
id: CosmicGlyphWarding
name: Glyph of Warding
components:
- type: Sprite
sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi
layers:
- state: warding
drawdepth: Puddles
- type: CosmicGlyphTransmute
transmutations:
- ClothingOuterHardsuitCosmicCult
whitelist:
requireAll: true
components:
- ClothingSpeedModifier
- PressureProtection
- type: CosmicGlyph
requiredCultists: 1
activationDamage:
types:
Asphyxiation: 10
- type: CosmicCultExamine
cultistText: cosmic-examine-glyph-warding
- type: entity
parent: CosmicGlyphBase
id: CosmicGlyphProjection
name: Glyph of Projection
components:
- type: Sprite
sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi
layers:
- state: projection
drawdepth: Puddles
- type: CosmicGlyphAstralProjection
- type: CosmicGlyph
requiredCultists: 1
- type: CosmicCultExamine
cultistText: cosmic-examine-glyph-projection

View File

@@ -0,0 +1,24 @@
- type: entity
parent: BaseMindRoleAntag
id: MindRoleCosmicCult
name: Cosmic Cult Role
components:
- type: MindRole
antagPrototype: CosmicAntagCultist
exclusiveAntag: true
roleType: TeamAntagonist
subtype: role-subtype-cosmic-cultist
- type: CosmicCultRole
# Ascendant Event
- type: entity
parent: BaseMindRoleAntag
id: MindRoleCosmicAscended
name: Rogue Ascended Role
components:
- type: MindRole
antagPrototype: RogueAscended
roleType: TeamAntagonist
exclusiveAntag: true
subtype: role-subtype-rogue-ascended
- type: RogueAscendedRole

View File

@@ -0,0 +1,99 @@
- type: entity
abstract: true
parent: BaseObjective
id: BaseCosmicCultObjective
components:
- type: Objective
difficulty: 1.5
issuer: objective-issuer-cosmiccult
- type: RoleRequirement
roles:
- CosmicCultRole
############################### COSMIC CULT'S OBJECTIVES
- type: entity
parent: BaseCosmicCultObjective
id: CosmicEntropyObjective
components:
- type: Objective
icon:
sprite: _DV/CosmicCult/Icons/objectives.rsi
state: siphon
- type: NumberObjective
min: 40
max: 60
title: objective-condition-entropy-title
description: objective-condition-entropy-desc
- type: CosmicEntropyCondition
- type: entity
parent: BaseCosmicCultObjective
id: CosmicMonumentObjective
components:
- type: Objective
icon:
sprite: _DV/CosmicCult/Icons/objectives.rsi
state: upgrade
- type: NumberObjective
min: 3
max: 3
title: objective-condition-culttier-title
description: objective-condition-culttier-desc
- type: CosmicTierCondition
- type: entity
parent: BaseCosmicCultObjective
id: CosmicFinalityObjective
components:
- type: Objective
icon:
sprite: _DV/CosmicCult/Icons/objectives.rsi
state: summon
- type: NumberObjective
min: 1
max: 1
title: objective-condition-victory-title
description: objective-condition-victory-desc
- type: CosmicVictoryCondition
############################### ROGUE ASCENDED OBJECTIVES
- type: entity
abstract: true
parent: BaseObjective
id: BaseRogueAscendedObjective
components:
- type: Objective
# difficulty isn't used since all objectives are picked
difficulty: 1.5
issuer: rogue-ascended-objective-issuer
- type: RoleRequirement
roles:
- RogueAscendedRole
- type: entity
parent: BaseRogueAscendedObjective
id: RogueAscendedInfectionObjective
components:
- type: Objective
icon:
sprite: _DV/CosmicCult/Icons/objectives.rsi
state: infection
- type: NumberObjective
min: 5
max: 10
title: objective-condition-maligninfection-title
description: objective-condition-maligninfection-description
- type: RogueInfectionCondition
- type: entity
parent: [BaseRogueAscendedObjective, BaseSurviveObjective]
id: RogueAscendedSurviveObjective
name: Survive
description: Survive until the end of all things.
components:
- type: Objective
icon:
sprite: _DV/CosmicCult/Icons/objectives.rsi
state: summon

View File

@@ -0,0 +1,36 @@
- type: parallax
id: CosmicFinaleParallax
layers:
- texture:
!type:ImageParallaxTextureSource
path: "/Textures/_DV/CosmicCult/Parallaxes/Cosmic_Dust.png"
slowness: 0.998046875
scale: ".5, .5"
- texture:
!type:ImageParallaxTextureSource
path: "/Textures/_DV/CosmicCult/Parallaxes/Cosmic_Stars.png"
slowness: 0.996625
scale: ".6, .6"
- texture:
!type:ImageParallaxTextureSource
path: "/Textures/_DV/CosmicCult/Parallaxes/Cosmic_Nebulae.png"
slowness: 0.985265625
scale: ".41, .41"
- texture:
!type:ImageParallaxTextureSource
path: "/Textures/_DV/CosmicCult/Parallaxes/Cosmic_Stars.png"
slowness: 0.984352
scale: ".9, .9"
- texture:
!type:ImageParallaxTextureSource
path: "/Textures/_DV/CosmicCult/Parallaxes/Cosmic_Blackhole.png"
slowness: 0.998046875
scale: "1.7, 1.7"
tiled: false
layersLQ:
- texture:
!type:GeneratedParallaxTextureSource
id: ""
configPath: "/Prototypes/Parallaxes/parallax_config.toml"
slowness: 0.875
layersLQUseHQ: false

View File

@@ -0,0 +1,198 @@
- type: polymorph
id: CosmicLapseMobHuman
configuration:
entity: CosmicPolymorphEntHuman
forced: true
inventory: None
transferName: false
transferDamage: true
duration: 12
polymorphSound: /Audio/_DV/CosmicCult/ability_lapse.ogg
- type: polymorph
id: CosmicLapseMobArachnid
configuration:
entity: CosmicPolymorphEntArachnid
forced: true
inventory: None
transferName: false
transferDamage: true
duration: 12
polymorphSound: /Audio/_DV/CosmicCult/ability_lapse.ogg
- type: polymorph
id: CosmicLapseMobDiona
configuration:
entity: CosmicPolymorphEntDiona
forced: true
inventory: None
transferName: false
transferDamage: true
duration: 12
polymorphSound: /Audio/_DV/CosmicCult/ability_lapse.ogg
- type: polymorph
id: CosmicLapseMobMoth
configuration:
entity: CosmicPolymorphEntMoth
forced: true
inventory: None
transferName: false
transferDamage: true
duration: 12
polymorphSound: /Audio/_DV/CosmicCult/ability_lapse.ogg
- type: polymorph
id: CosmicLapseMobVox
configuration:
entity: CosmicPolymorphEntVox
forced: true
inventory: None
transferName: false
transferDamage: true
duration: 12
polymorphSound: /Audio/_DV/CosmicCult/ability_lapse.ogg
- type: polymorph
id: CosmicLapseMobSnail
configuration:
entity: CosmicPolymorphEntSnail
forced: true
inventory: None
transferName: false
transferDamage: true
duration: 12
polymorphSound: /Audio/_DV/CosmicCult/ability_lapse.ogg
- type: polymorph
id: CosmicLapseMobDecapoid
configuration:
entity: CosmicPolymorphEntDecapoid
forced: true
inventory: None
transferName: false
transferDamage: true
duration: 12
polymorphSound: /Audio/_DV/CosmicCult/ability_lapse.ogg
- type: entity
categories: [ HideSpawnMenu ]
parent: BaseStructure
abstract: true
id: CosmicPolymorphEnt
name: "Unknown" # The question marks crash regex gg
description: Trapped in a lapse between here and there.
components:
- type: Sprite
sprite: _DV/CosmicCult/Effects/ability_lapsepolymorph.rsi
layers:
- state: humanoid
shader: unshaded
drawdepth: SmallMobs
noRot: true
- type: PointLight
radius: 1.25
energy: 12
color: "#42a4ae"
castShadows: false
- type: CosmicLapse
- type: CosmicCultExamine
cultistText: cosmic-examine-text-abilitylapse
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 1.75
maxDuration: 1.75
startValue: 0.5
endValue: 12
property: Energy
enabled: true
isLooped: true
reverseWhenFinished: true
- type: SpriteFade
- type: Speech
enabled: False
- type: Transform
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.1,0.2,0.375"
mask:
- LargeMobMask
layer:
- WallLayer
- type: entity
categories: [ HideSpawnMenu ]
parent: CosmicPolymorphEnt
id: CosmicPolymorphEntHuman
- type: entity
categories: [ HideSpawnMenu ]
parent: CosmicPolymorphEnt
id: CosmicPolymorphEntArachnid
components:
- type: Sprite
sprite: _DV/CosmicCult/Effects/ability_lapsepolymorph.rsi
layers:
- state: spider
shader: unshaded
- type: entity
categories: [ HideSpawnMenu ]
parent: CosmicPolymorphEnt
id: CosmicPolymorphEntDiona
components:
- type: Sprite
sprite: _DV/CosmicCult/Effects/ability_lapsepolymorph.rsi
layers:
- state: diona
shader: unshaded
- type: entity
categories: [ HideSpawnMenu ]
parent: CosmicPolymorphEnt
id: CosmicPolymorphEntMoth
components:
- type: Sprite
sprite: _DV/CosmicCult/Effects/ability_lapsepolymorph.rsi
layers:
- state: moth
shader: unshaded
- type: entity
categories: [ HideSpawnMenu ]
parent: CosmicPolymorphEnt
id: CosmicPolymorphEntVox
components:
- type: Sprite
sprite: _DV/CosmicCult/Effects/ability_lapsepolymorph.rsi
layers:
- state: vox
shader: unshaded
- type: entity
categories: [ HideSpawnMenu ]
parent: CosmicPolymorphEnt
id: CosmicPolymorphEntSnail
components:
- type: Sprite
sprite: _DV/CosmicCult/Effects/ability_lapsepolymorph.rsi
layers:
- state: snail
shader: unshaded
- type: entity
categories: [ HideSpawnMenu ]
parent: CosmicPolymorphEnt
id: CosmicPolymorphEntDecapoid
components:
- type: Sprite
sprite: _DV/CosmicCult/Effects/ability_lapsepolymorph.rsi
layers:
- state: crab
shader: unshaded

View File

@@ -0,0 +1,152 @@
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: ProjectileCosmicNova
name: Astral Nova
description: Uh oh.
parent: BaseBullet
categories: [ HideSpawnMenu ]
components:
- type: PointLight
color: "#42a4ae"
radius: 2.0
energy: 5.0
- type: TimedDespawn
lifetime: 10
- type: Projectile
impactEffect: CosmicNovaImpactVfx
forceSound: true
soundHit:
path: /Audio/_DV/CosmicCult/ability_nova_impact.ogg
params:
variation: 0.1
volume: +14
- type: CosmicAstralNova
- type: Sprite
sprite: _DV/CosmicCult/Effects/ability_novavfx.rsi
layers:
- state: vfx
shader: unshaded
- type: GravityWell
maxRange: 4
baseRadialAcceleration: 12.5
baseTangentialAcceleration: 4
gravPulsePeriod: 0.05
- type: SingularityDistortion
intensity: +20
falloffPower: 1.5
- type: AmbientSound
enabled: true
volume: 0
range: 10
sound:
path: /Audio/_DV/CosmicCult/ability_nova_ambient.ogg
- type: CosmicCorrupting
corruptionSpeed: 0.4
useVFX: false
mobile: true
- type: entity
id: ProjectileRogueCosmicNova
parent: ProjectileCosmicNova
name: Usurped Astral Nova
components:
- type: CosmicAstralNova
doStun: false
- type: entity
id: ProjectileCosmicRazor
name: Astral Bolt
parent: BaseBullet
categories: [ HideSpawnMenu ]
description: Marks a target for additional damage.
components:
- type: Reflective
reflective: Magic
- type: Sprite
noRot: false
sprite: _DV/CosmicCult/Effects/weaponprojectiles.rsi
layers:
- state: razor
shader: unshaded
- type: DamageMarkerOnCollide
whitelist:
components:
- MobState
damage:
types:
Cold: 15
Asphyxiation: 10
Ion: 25
- type: Projectile
impactEffect: BulletImpactEffectCosmic
damage:
types:
Cold: 10
Asphyxiation: 5
Ion: 15
soundHit:
path: /Audio/_DV/CosmicCult/projectile_razor_hit.ogg
- type: Ammo
muzzleFlash: null
# Short lifespan
- type: TimedDespawn
lifetime: 15
- type: PointLight
color: "#42a4ae"
radius: 1.5
energy: 6
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 0.58
maxDuration: 0.59
startValue: 0.1
endValue: 6
property: Energy
enabled: true
reverseWhenFinished: true
- type: entity
id: BulletImpactEffectCosmic
categories: [ HideSpawnMenu ]
components:
- type: TimedDespawn
lifetime: 0.66
- type: Sprite
drawdepth: Effects
layers:
- shader: unshaded
map: ["enum.EffectLayers.Unshaded"]
sprite: _DV/CosmicCult/Effects/weaponarcs.rsi
state: arc_cosmic
- type: EffectVisuals
- type: PointLight
color: "#42a4ae"
radius: 1.5
energy: 6
castShadows: false
- type: LightBehaviour
behaviours:
- !type:FadeBehaviour
interpolate: Linear
minDuration: 0.64
maxDuration: 0.65
startValue: 0.1
endValue: 6
property: Energy
enabled: true
reverseWhenFinished: true
- type: Tag
tags:
- HideContextMenu

View File

@@ -0,0 +1,7 @@
- type: radioChannel
id: CosmicRadio
name: chat-radio-cosmiccult
keycode: 'a'
frequency: 77777
color: "#4cabb3"
longRange: true

View File

@@ -0,0 +1,6 @@
- type: antag
id: RogueAscended
name: roles-antag-rogue-ascended-name
antagonist: true
setPreference: false
objective: roles-antag-rogue-ascended-objective

View File

@@ -0,0 +1,43 @@
# 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 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 loltart <159829224+loltart@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 loltart <lo1tartyt@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseGameRule
id: CosmicCult
components:
- type: CosmicCultRule
- type: GameRule
minPlayers: 25
chaosScore: 1200
delay:
min: 60
max: 120
- type: AntagObjectives
objectives:
- CosmicFinalityObjective
- CosmicMonumentObjective
- CosmicEntropyObjective
- type: AntagSelection
definitions:
- prefRoles: [ CosmicAntagCultist ]
min: 2
max: 6
playerRatio: 10
jobBlacklist: [ Chaplain ] # GOOBSTATION
blacklist:
components:
- CommandStaff # GOOBSTATION
- AntagImmune
- BibleUser
components:
- type: CosmicCult
- type: WeakToHoly # GOOBSTATION
mindRoles:
- MindRoleCosmicCult

View File

@@ -0,0 +1,13 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 loltart <lo1tartyt@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: statusEffect
id: EntropicDegen
alwaysAllowed: true
- type: statusEffect
id: EntropicDegenNonCultist
alwaysAllowed: true

View File

@@ -0,0 +1,2 @@
- type: Tag
id: Entropy

View File

@@ -0,0 +1,68 @@
# 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 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 Ark <189933909+ark1368@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 CerberusWolfie <wb.johnb.willis@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 John Willis <143434770+CerberusWolfie@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: damageModifierSet
id: Vulpkanin
coefficients:
Heat: 1.15
ignoreArmorPierceFlags: All # Goobstation
- type: damageModifierSet
id: Harpy
coefficients:
Blunt: 1.15
Slash: 1.15
Piercing: 1.15
ignoreArmorPierceFlags: All # Goobstation
- type: damageModifierSet
id: Rodentia
coefficients:
Blunt: 1.15
Slash: 1.15
Piercing: 1.15
ignoreArmorPierceFlags: All # Goobstation
- type: damageModifierSet
id: Chitinid
coefficients:
Blunt: 0.9
Piercing: 0.9
Slash: 0.9
Cold: 1.1
Shock: 1.15
Radiation: 0.2
ignoreArmorPierceFlags: All # Goobstation
- type: damageModifierSet
id: Feroxi
coefficients:
Cold: 0.9
Blunt: 0.9
Slash: 1.1
ignoreArmorPierceFlags: All # Goobstation
- type: damageModifierSet
id: Oni
coefficients:
Blunt: 0.85
Slash: 0.85
Piercing: 0.85
Holy: 1
ignoreArmorPierceFlags: All # Goobstation

View File

@@ -0,0 +1,16 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: localizedDataset
id: NamesChitinidFirstMale
values:
prefix: names-chitinid-male-dataset-
count: 33
- type: localizedDataset
id: NamesChitinidFirstFemale
values:
prefix: names-chitinid-female-dataset-
count: 31

View File

@@ -0,0 +1,10 @@
# SPDX-FileCopyrightText: 2025 Blitz <73762869+BlitzTheSquishy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: localizedDataset
id: NamesFeroxiFirstFemale
values:
prefix: names-feroxi-first-female-dataset-
count: 41

View File

@@ -0,0 +1,5 @@
- type: localizedDataset
id: NamesFeroxiFirstMale
values:
prefix: names-feroxi-first-male-dataset-
count: 41

View File

@@ -0,0 +1,5 @@
- type: localizedDataset
id: NamesFeroxiLast
values:
prefix: names-feroxi-last-dataset-
count: 87

View File

@@ -0,0 +1,17 @@
- type: localizedDataset
id: NamesRodentiaMale
values:
prefix: names-rodentia-male-dataset-
count: 167
- type: localizedDataset
id: NamesRodentiaFemale
values:
prefix: names-rodentia-female-dataset-
count: 159
- type: localizedDataset
id: NamesRodentiaLast
values:
prefix: names-rodentia-last-dataset-
count: 87

View File

@@ -0,0 +1,17 @@
- type: localizedDataset
id: NamesVulpakinMale
values:
prefix: names-vulpakin-male-dataset-
count: 345
- type: localizedDataset
id: NamesVulpakinFemale
values:
prefix: names-vulpakin-female-dataset-
count: 345
- type: localizedDataset
id: NamesVulpakinLast
values:
prefix: names-vulpakin-last-dataset-
count: 252

View File

@@ -0,0 +1,10 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: localizedDataset
id: FigurinesCosmicCultist
values:
prefix: figurines-cosmiccultist-
count: 8

View File

@@ -0,0 +1,28 @@
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aineias1 <dmitri.s.kiselev@gmail.com>
# SPDX-FileCopyrightText: 2025 FaDeOkno <143940725+FaDeOkno@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 McBosserson <148172569+McBosserson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Milon <plmilonpl@gmail.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Unlumination <144041835+Unlumy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@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 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 whateverusername0 <whateveremail>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: ClothingEyesGlassesGar
id: ClothingEyesGlassesGarMeson
name: gar mesons
description: Do the impossible, see the invisible!
components:
- type: EyeProtection

View File

@@ -0,0 +1,39 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Jarl <elliotacline@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: [ClothingNeckPonchoBlack, BaseSecurityContraband]
id: ClothingNeckCWPSec
name: senior officer's poncho
description: A cold weather poncho, advertised as a masterpiece of environmental protection. Results may vary. It has built-in camera.
components:
- type: Sprite
sprite: _DV/Clothing/Neck/cwpsec.rsi
- type: Clothing
sprite: _DV/Clothing/Neck/cwpsec.rsi
- type: DeviceNetwork
deviceNetId: Wired # :clueless:
receiveFrequencyId: SurveillanceCameraSecurity
transmitFrequencyId: SurveillanceCamera
- type: SurveillanceCamera
networkSet: true
nameSet: True
mobile: True # Goobstation - mobile cameras fix
id: Bodycam
- type: Eye
- type: WirelessNetworkConnection
range: 200
- type: SurveillanceCameraMicrophone
blacklist:
components:
- SurveillanceCamera
- SurveillanceCameraMonitor
- RadioSpeaker
- type: ActiveListener
range: 10
- type: ClothingGrantComponent
component:
- type: StationAiVision
range: 4

View File

@@ -0,0 +1,463 @@
# SPDX-FileCopyrightText: 2025 Ark <189933909+ark1368@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Antennas
- type: marking
id: ChitinidAntennasDefault
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: default
- type: marking
id: ChitinidAntennasCurly
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: curly
- type: marking
id: ChitinidAntennasGray
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: gray
- type: marking
id: ChitinidAntennasSlick
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: slick
- type: marking
id: ChitinidAntennasLong
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: long
- type: marking
id: ChitinidAntennasBee
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: bee
- type: marking
id: ChitinidAntennasShort
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: short
- type: marking
id: ChitinidAntennasFirefly
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: firefly_primary
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: firefly_secondary
- type: marking
id: ChitinidAntennasRadar
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: radar
- type: marking
id: ChitinidAntennasSpeed
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_antennas.rsi
state: speed
# Wings
- type: marking
id: ChitinidWingsDefault
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi
state: default
- type: marking
id: ChitinidWingsSmooth
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi
state: smooth
- type: marking
id: ChitinidWingsHoneypot
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi
state: honeypot_primary
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi
state: honeypot_secondary
- type: marking
id: ChitinidWingsStubby
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi
state: stubby
- type: marking
id: ChitinidWingsBee
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi
state: bee_primary
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi
state: bee_secondary
- type: marking
id: ChitinidWingsFirefly
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi
state: firefly_primary
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_wings.rsi
state: firefly_secondary
# Body markings:
# Charred
- type: marking
id: ChitinidChestCharred
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: charred_chest
- type: marking
id: ChitinidHeadCharred
bodyPart: Head
markingCategory: Head
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: charred_head
- type: marking
id: ChitinidLLegCharred
bodyPart: LLeg
markingCategory: LeftLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: charred_l_leg
- type: marking
id: ChitinidRLegCharred
bodyPart: RLeg
markingCategory: RightLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: charred_r_leg
- type: marking
id: ChitinidLArmCharred
bodyPart: LArm
markingCategory: LeftArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: charred_l_arm
- type: marking
id: ChitinidRArmCharred
bodyPart: RArm
markingCategory: RightArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: charred_r_arm
# Plated
- type: marking
id: ChitinidChestPlated
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: plated_chest
- type: marking
id: ChitinidLArmPlated
bodyPart: LArm
markingCategory: LeftArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: plated_l_arm
- type: marking
id: ChitinidRArmPlated
bodyPart: RArm
markingCategory: RightArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: plated_r_arm
# Stripes
- type: marking
id: ChitinidChestStripes
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: stripes_chest
- type: marking
id: ChitinidHeadStripes
bodyPart: Head
markingCategory: Head
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: stripes_head
- type: marking
id: ChitinidLLegStripes
bodyPart: LLeg
markingCategory: LeftLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: stripes_l_leg
- type: marking
id: ChitinidRLegStripes
bodyPart: RLeg
markingCategory: RightLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: stripes_r_leg
- type: marking
id: ChitinidLArmStripes
bodyPart: LArm
markingCategory: LeftArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: stripes_l_arm
- type: marking
id: ChitinidRArmStripes
bodyPart: RArm
markingCategory: RightArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: stripes_r_arm
# Radiant
- type: marking
id: ChitinidChestRadiant
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: radiant_chest
- type: marking
id: ChitinidHeadRadiant
bodyPart: Head
markingCategory: Head
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: radiant_head
- type: marking
id: ChitinidLLegRadiant
bodyPart: LLeg
markingCategory: LeftLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: radiant_l_leg
- type: marking
id: ChitinidRLegRadiant
bodyPart: RLeg
markingCategory: RightLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: radiant_r_leg
- type: marking
id: ChitinidLArmRadiant
bodyPart: LArm
markingCategory: LeftArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: radiant_l_arm
- type: marking
id: ChitinidRArmRadiant
bodyPart: RArm
markingCategory: LeftArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: radiant_r_arm
# Toxic
- type: marking
id: ChitinidChestToxic
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: toxic_chest
- type: marking
id: ChitinidHeadToxic
bodyPart: Head
markingCategory: Head
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: toxic_head
- type: marking
id: ChitinidLLegToxic
bodyPart: LLeg
markingCategory: LeftLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: toxic_l_leg
- type: marking
id: ChitinidRLegToxic
bodyPart: RLeg
markingCategory: RightLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: toxic_r_leg
- type: marking
id: ChitinidLArmToxic
bodyPart: LArm
markingCategory: LeftArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: toxic_l_arm
- type: marking
id: ChitinidRArmToxic
bodyPart: RArm
markingCategory: RightArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: toxic_r_arm
# Spotted
- type: marking
id: ChitinidChestSpotted
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: spotted_chest
- type: marking
id: ChitinidHeadSpotted
bodyPart: Head
markingCategory: Head
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: spotted_head
- type: marking
id: ChitinidLLegSpotted
bodyPart: LLeg
markingCategory: LeftLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: spotted_l_leg
- type: marking
id: ChitinidRLegSpotted
bodyPart: RLeg
markingCategory: RightLeg # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: spotted_r_leg
- type: marking
id: ChitinidLArmSpotted
bodyPart: LArm
markingCategory: LeftArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: spotted_l_arm
- type: marking
id: ChitinidRArmSpotted
bodyPart: RArm
markingCategory: RightArm # Goob
speciesRestriction: [Chitinid]
sprites:
- sprite: _DV/Mobs/Customization/Chitinid/chitinid_parts.rsi
state: spotted_r_arm

View File

@@ -0,0 +1,40 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.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 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-License-Identifier: AGPL-3.0-or-later
- type: marking
id: FelinidFluffyTailRings
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Felinid, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _DV/Mobs/Customization/Felinid/felinid_tails.rsi
state: Felinid_fluffy_tail_full
- sprite: _DV/Mobs/Customization/Felinid/felinid_tails.rsi
state: felinid_fluffy_tail_rings
- type: marking
id: FelinidFluffyTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Felinid, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _DV/Mobs/Customization/Felinid/felinid_tails.rsi
state: Felinid_fluffy_tail_full
- type: marking
id: FelinidAlternativeTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Felinid, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: _DV/Mobs/Customization/Felinid/alternative_tail.rsi
state: m_waggingtail_cat_FRONT

View File

@@ -0,0 +1,389 @@
# Default
- type: marking
id: FeroxiEars
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/ear_markings.rsi
state: feroxi-ears
- sprite: _DV/Mobs/Customization/Feroxi/ear_markings.rsi
state: feroxi-ears-inner
- type: marking
id: FeroxiTailAndDorsal
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal
- type: marking
id: FeroxiSnout
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout
# Ears Markings
- type: marking
id: FeroxiEarsTips
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/ear_markings.rsi
state: feroxi-ears
- sprite: _DV/Mobs/Customization/Feroxi/ear_markings.rsi
state: feroxi-ears-inner
- sprite: _DV/Mobs/Customization/Feroxi/ear_markings.rsi
state: feroxi-ears-tips
# Snout Markings
- type: marking
id: FeroxiSnoutStripe
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout-stripe
- type: marking
id: FeroxiSnoutCountershading
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout-countershading
- type: marking
id: FeroxiSnoutCountershadingStripe
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout-countershading
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout-stripe
- type: marking
id: FeroxiSnoutNurse
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout-nurse
- type: marking
id: FeroxiSnoutNurseCountershading
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout-countershading
- sprite: _DV/Mobs/Customization/Feroxi/snout_markings.rsi
state: feroxi-snout-nurse
# Tail Markings
- type: marking
id: FeroxiTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- type: marking
id: FeroxiStripedTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-stripes
- type: marking
id: FeroxiStripedTailAndDorsal
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-stripes
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal-stripes
- type: marking
id: FeroxiTipTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-top-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-bottom-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-second-dorsal-tip
- type: marking
id: FeroxiTipTailAndDorsal
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-top-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-bottom-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-second-dorsal-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal-tip
- type: marking
id: FeroxiTailBlitz
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-stripes
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-top-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-bottom-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-under
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal-stripes
- type: marking
id: FeroxiTailBlitzNoDorsal
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-stripes
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-top-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-bottom-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-under
- type: marking
id: FeroxiTwoToneTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-under
- type: marking
id: FeroxiTwoToneTailAndDorsal
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-under
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal
- type: marking
id: FeroxiStripeTwoToneTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-stripes
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-under
- type: marking
id: FeroxiStripeTwoToneTailAndDorsal
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-stripes
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-under
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal-stripes
- type: marking
id: FeroxiTipTwoToneTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-top-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-bottom-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-second-dorsal-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-under
- type: marking
id: FeroxiTipTwoToneTailAndDorsal
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-top-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-bottom-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-second-dorsal-tip
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-tail-under
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal
- sprite: _DV/Mobs/Customization/Feroxi/tail_markings.rsi
state: feroxi-dorsal-tip
# Body Markings
- type: marking
id: FeroxiHeadStripesTiger
bodyPart: Head
markingCategory: Head
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi
state: feroxi-head-stripes-tiger
- type: marking
id: FeroxiTorsoStripesBlitz
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi
state: feroxi-torso-stripes-blitz
- type: marking
id: FeroxiTorsoCountershadingF
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi
state: feroxi-torso-countershading-f
- type: marking
id: FeroxiTorsoCountershadingM
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi
state: feroxi-torso-countershading-m
- type: marking
id: FeroxiTorsoStripesTiger
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi
state: feroxi-torso-stripes-tiger
# Leg Markings
- type: marking
id: FeroxiLegStripesBlitz
bodyPart: LLeg
markingCategory: Legs
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi
state: feroxi-leg-stripes-blitz
- type: marking
id: FeroxiLegStripesTiger
bodyPart: LLeg
markingCategory: Legs
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi
state: feroxi-leg-stripes-tiger
# Arm Markings
- type: marking
id: FeroxiArmStripesBlitz
bodyPart: LArm
markingCategory: Arms
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi
state: feroxi-arm-stripes-blitz
- type: marking
id: FeroxiArmStripesTiger
bodyPart: LArm
markingCategory: Arms
speciesRestriction: [ Feroxi ]
sprites:
- sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi
state: feroxi-arm-stripes-tiger

View File

@@ -0,0 +1,126 @@
# SPDX-FileCopyrightText: 2024 Adeinitas <147965189+adeinitas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.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 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# All the Harpy customization
- type: marking
id: HarpyEarsDefault
bodyPart: Head
markingCategory: HeadTop
speciesRestriction: [Harpy]
coloring:
default:
type: !type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _DV/Mobs/Customization/Harpy/harpy_ears.rsi
state: harpy_ears_default
- type: marking
id: HarpyTailPhoenix
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Harpy]
coloring:
default:
type: !type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _DV/Mobs/Customization/Harpy/harpy_tails.rsi
state: phoenix_tail
- type: marking
id: HarpyTailRooster
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Harpy]
coloring:
default:
type: !type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
sprites:
- sprite: _DV/Mobs/Customization/Harpy/harpy_tails.rsi
state: rooster_tail
- type: marking
id: HarpyTailFinch
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Harpy]
coloring:
default:
type: !type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
sprites:
- sprite: _DV/Mobs/Customization/Harpy/harpy_tails36x32.rsi
state: finch_tail
- type: marking
id: HarpyChestDefault
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Harpy]
coloring:
default:
type: !type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _DV/Mobs/Customization/Harpy/harpy_chest.rsi
state: upper
- sprite: _DV/Mobs/Customization/Harpy/harpy_chest.rsi
state: lower
- type: marking
id: HarpyLegsDefault
bodyPart: LLeg
markingCategory: Legs
speciesRestriction: [Harpy]
coloring:
default:
type: !type:CategoryColoring
category: Hair
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _DV/Mobs/Customization/Harpy/harpy_legs.rsi
state: thighs
- type: marking
id: HarpyFeetDefault
bodyPart: RFoot
markingCategory: Legs
speciesRestriction: [Harpy]
coloring:
default:
fallbackTypes:
- !type:SimpleColoring
color: "#964b00"
sprites:
- sprite: _DV/Mobs/Customization/Harpy/harpy_legs.rsi
state: feet
- sprite: _DV/Mobs/Customization/Harpy/harpy_legs.rsi
state: talons

View File

@@ -0,0 +1,590 @@
# SPDX-FileCopyrightText: 2024 DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# 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 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Plyush <121322002+Plyushsune@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 plyush <121322002+toasterpm87@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# HEAD
## DEFAULTS
- type: marking
id: RodentiaHeadTopEarDefault
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia, Human]
coloring:
default:
type: !type:TattooColoring
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: mouse
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: mouse_overlay
- type: marking
id: RodentiaTailDefault
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia, Human]
coloring:
default:
type: !type:TattooColoring
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: mouse
## EARS
- type: marking
id: RodentiaHeadTopEarBat
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: bat
- type: marking
id: RodentiaHeadTopEarBatLarge
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: bat_large
- type: marking
id: RodentiaHeadTopEarHamster
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: hamster
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: hamster_overlay
- type: marking
id: RodentiaHeadTopEarLong
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: long
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: long_overlay
- type: marking
id: RodentiaHeadTopEarMouse
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: mouse
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: mouse_overlay
- type: marking
id: RodentiaHeadTopEarMouseLarge
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: mouse_large
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: mouse_large_overlay
- type: marking
id: RodentiaHeadTopEarNone
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: none
- type: marking
id: RodentiaHeadTopEarPointy
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: pointy
- type: marking
id: RodentiaHeadTopEarRabbit
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: rabbit
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: rabbit_overlay
- type: marking
id: RodentiaHeadTopEarSmall
markingCategory: HeadTop
bodyPart: HeadTop
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/ear_markings.rsi
state: small
## SNOUTS
- type: marking
id: RodentiaSnoutBat
markingCategory: Snout
bodyPart: Snout
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: bat
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: bat_nose
- type: marking
id: RodentiaSnoutBatCounter
markingCategory: Snout
bodyPart: Snout
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: bat
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: bat_nose
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: bat_overlay
- type: marking
id: RodentiaSnoutFlat
markingCategory: Snout
bodyPart: Snout
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: flat
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: flat_nose
- type: marking
id: RodentiaSnoutFlatCounter
markingCategory: Snout
bodyPart: Snout
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: flat
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: flat_nose
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: flat_overlay
- type: marking
id: RodentiaSnoutRound
markingCategory: Snout
bodyPart: Snout
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: round
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: round_nose
- type: marking
id: RodentiaSnoutRoundCounter
markingCategory: Snout
bodyPart: Snout
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: round
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: round_nose
- sprite: _DV/Mobs/Customization/Rodentia/snout_markings.rsi
state: round_overlay
## CHEEKS
- type: marking
id: RodentiaCheeksRound
markingCategory: HeadSide
bodyPart: HeadSide
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: cheeks
- type: marking
id: RodentiaCheeksRoundCounter
markingCategory: HeadSide
bodyPart: HeadSide
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: cheeks
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: cheeks_overlay
- type: marking
id: RodentiaCheeksFluff
markingCategory: HeadSide
bodyPart: HeadSide
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: fluff
- type: marking
id: RodentiaCheeksFluffCounter
markingCategory: HeadSide
bodyPart: HeadSide
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: fluff
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: fluff_overlay
- type: marking
id: RodentiaCheeksFluffAlt
markingCategory: HeadSide
bodyPart: HeadSide
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: fluff_alt
- type: marking
id: RodentiaCheeksFluffAltCounter
markingCategory: HeadSide
bodyPart: HeadSide
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: fluff_alt
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: fluff_alt_overlay
- type: marking
id: RodentiaCheeksWhiskers
markingCategory: Head # for no-cost markings
bodyPart: HeadTop # for layering
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/cheek_markings.rsi
state: whiskers
# BODY
## TAIL
- type: marking
id: RodentiaTailBeaver
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: beaver
- type: marking
id: RodentiaTailHamster
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: hamster
- type: marking
id: RodentiaTailLong
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: long
- type: marking
id: RodentiaTailLongCounter
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: long
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: long_overlay
- type: marking
id: RodentiaTailLongCounterTip
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: long
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: long_overlay
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: long_tip
- type: marking
id: RodentiaTailMouse
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: mouse
- type: marking
id: RodentiaTailRabbit
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: rabbit
- type: marking
id: RodentiaTailRabbitCounter
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: rabbit
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: rabbit_overlay
- type: marking
id: RodentiaTailShort
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: short
- type: marking
id: RodentiaTailSquirrel
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: squirrel
- type: marking
id: RodentiaTailSquirrelBicolor
markingCategory: Tail
bodyPart: Tail
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: squirrel
- sprite: _DV/Mobs/Customization/Rodentia/tail_markings.rsi
state: squirrel_overlay
## PATTERNS
- type: marking
id: RodentiaChestCountershade
markingCategory: Chest
bodyPart: Chest
speciesRestriction: [Rodentia]
sexRestriction: Male
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/body_markings.rsi
state: countershade
- type: marking
id: RodentiaChestCountershadeF
markingCategory: Chest
bodyPart: Chest
speciesRestriction: [Rodentia]
sexRestriction: Female
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/body_markings.rsi
state: countershade_f
- type: marking
id: RodentiaLegLeftCountershade
markingCategory: LeftLeg
bodyPart: LLeg
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: l_leg
- sprite: _DV/Mobs/Customization/Rodentia/body_markings.rsi
state: countershade_lleg
- type: marking
id: RodentiaLegRightCountershade
markingCategory: RightLeg
bodyPart: RLeg
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: r_leg
- sprite: _DV/Mobs/Customization/Rodentia/body_markings.rsi
state: countershade_rleg
- type: marking
id: RodentiaChestFawn
markingCategory: Chest
bodyPart: Chest
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/body_markings.rsi
state: fawn
- type: marking
id: RodentiaChestHooded
markingCategory: Chest
bodyPart: Chest
speciesRestriction: [Rodentia]
sexRestriction: Male
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/body_markings.rsi
state: hooded
- type: marking
id: RodentiaChestHoodedF
markingCategory: Chest
bodyPart: Chest
speciesRestriction: [Rodentia]
sexRestriction: Female
sprites:
- sprite: _DV/Mobs/Customization/Rodentia/body_markings.rsi
state: hooded_f
### HEAD PATTERNS
- type: marking
id: RodentiaHeadBlaze
markingCategory: Head
bodyPart: Head
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: head_m
- sprite: _DV/Mobs/Customization/Rodentia/head_markings.rsi
state: blaze
- type: marking
id: RodentiaHeadRound
markingCategory: Head
bodyPart: Head
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: head_m
- sprite: _DV/Mobs/Customization/Rodentia/head_markings.rsi
state: round
# BASE BODY PARTS
## HEAD
- type: marking
id: RodentiaHeadBasic
markingCategory: Head
bodyPart: Head
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: head_m
## ARMS
- type: marking
id: RodentiaArmLeftBasic
markingCategory: LeftArm
bodyPart: LArm
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: l_arm
- type: marking
id: RodentiaArmRightBasic
markingCategory: RightArm
bodyPart: RArm
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: r_arm
## LEGS
- type: marking
id: RodentiaLegLeftBasic
markingCategory: LeftLeg
bodyPart: LLeg
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: l_leg
- type: marking
id: RodentiaLegRightBasic
markingCategory: RightLeg
bodyPart: RLeg
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: r_leg
## HANDS
- type: marking
id: RodentiaHandLeftBasic
markingCategory: LeftHand
bodyPart: LHand
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: l_hand
- type: marking
id: RodentiaHandRightBasic
markingCategory: RightHand
bodyPart: RHand
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: r_hand
## FEET
- type: marking
id: RodentiaFootLeftBasic
markingCategory: LeftFoot
bodyPart: LFoot
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: l_foot
- type: marking
id: RodentiaFootRightBasic
markingCategory: RightFoot
bodyPart: RFoot
speciesRestriction: [Rodentia]
sprites:
- sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: r_foot

View File

@@ -0,0 +1,883 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 VMSolidus <evilexecutive@gmail.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 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Plyush <121322002+Plyushsune@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 plyush <121322002+toasterpm87@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# All the Vulpkanin customization
# Ears Markings
- type: marking
id: VulpEar
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin, Human]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: vulp
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: vulp-inner
- type: marking
id: VulpEarFade
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: vulp
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: vulp-fade
- type: marking
id: VulpEarSharp
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: vulp
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: vulp-sharp
- type: marking
id: VulpEarJackal
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: jackal
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: jackal-inner
- type: marking
id: VulpEarTerrier
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: terrier
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: terrier-inner
- type: marking
id: VulpEarWolf
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: wolf
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: wolf-inner
- type: marking
id: VulpEarFennec
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: fennec
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: fennec-inner
- type: marking
id: VulpEarFox
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: fox
- type: marking
id: VulpEarOtie
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: otie
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: otie-inner
- type: marking
id: VulpEarTajaran
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: msai
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: msai-inner
- type: marking
id: VulpEarShock
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: shock
- type: marking
id: VulpEarCoyote
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: coyote
- type: marking
id: VulpEarDalmatian
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/ear_markings.rsi
state: dalmatian
# Head Markings (Snout)
- type: marking
id: VulpSnoutAlt
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: muzzle_alt
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: nose
- type: marking
id: VulpSnout
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: muzzle
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: nose
- type: marking
id: VulpSnoutSharp
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: muzzle_sharp
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: nose
- type: marking
id: VulpSnoutFade
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: muzzle_fade
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: nose
- type: marking
id: VulpSnoutNose
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: nose
- type: marking
id: VulpSnoutMask
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: mask
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: nose
- type: marking
id: VulpSnoutVulpine
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: vulpine
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: vulpine-lines
- type: marking
id: VulpSnoutSwift
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: vulpine-lines
- type: marking
id: VulpSnoutBlaze
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: blaze
- type: marking
id: VulpSnoutPatch
bodyPart: Snout
markingCategory: Snout
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: patch
# Head Markings (Head)
- type: marking
id: VulpHeadTiger
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: tiger_head
- type: marking
id: VulpHeadTigerFace
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: tiger_face
- type: marking
id: VulpHeadSlash
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/head_markings.rsi
state: slash
# Tail Markings
- type: marking
id: VulpTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin, Human]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp-fade
- type: marking
id: VulpTailTip
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp-tip
- type: marking
id: VulpTailWag
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp_wag
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp_wag-tip #fade
- type: marking
id: VulpTailWagTip
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp_wag
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp_wag-tip
- type: marking
id: VulpTailAlt
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp_alt
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp_alt-fade
- type: marking
id: VulpTailAltTip
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp_alt
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: vulp_alt-tip
- type: marking
id: VulpTailLong
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: long
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: long-tip
- type: marking
id: VulpTailFox
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox-fade
- type: marking
id: VulpTailFoxTip
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox-tip
- type: marking
id: VulpTailFoxWag
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox_wag
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox_wag-fade
- type: marking
id: VulpTailFoxWagTip
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox_wag
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox_wag-tip
- type: marking
id: VulpTailBushy
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: bushfluff
- type: marking
id: VulpTailBushyWag
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: bushfluff_wag
- type: marking
id: VulpTailCoyote
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: coyote
- type: marking
id: VulpTailCoyoteWag
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: coyote_wag
- type: marking
id: VulpTailCorgiWag
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: corgi_wag
- type: marking
id: VulpTailHusky
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: husky-inner
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: husky-outer
- type: marking
id: VulpTailHuskyAlt
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: husky
- type: marking
id: VulpTailFox2
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox2
- type: marking
id: VulpTailFox3
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox3
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fox3-tip
- type: marking
id: VulpTailFennec
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fennec
- type: marking
id: VulpTailOtie
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: otie
- type: marking
id: VulpTailFluffy
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: fluffy
- type: marking
id: VulpTailDalmatianWag
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/tail_markings.rsi
state: dalmatian_wag
# Body Markings (Chest)
- type: marking
id: VulpBellyCrest
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: belly_crest
- type: marking
id: VulpBellyFull
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: belly_full
- type: marking
id: VulpBellyFox
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: belly_fox
# # Body Markings (Overlay)
# Eventually layering will allow to have markings on the body not layering above jumpsuits
# - type: marking
# id: VulpBodyPointsCrest
# markingCategory: Overlay
# bodyPart: RFoot
# speciesRestriction: [Vulpkanin]
# sprites:
# - sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
# state: points_crest
#
# - type: marking
# id: VulpBodyPointsFade
# markingCategory: Overlay
# bodyPart: RFoot
# speciesRestriction: [Vulpkanin]
# sprites:
# - sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
# state: points_fade
#
# - type: marking
# id: VulpBodyPointsSharp
# markingCategory: Overlay
# bodyPart: RFoot
# speciesRestriction: [Vulpkanin]
# sprites:
# - sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
# state: points_sharp
# Leg Markings
- type: marking
id: VulpPointsFeet
markingCategory: RightFoot
bodyPart: RFoot
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: points_feet
- type: marking
id: VulpPointsCrestLegs
markingCategory: LeftLeg
bodyPart: LLeg
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: points_crest-legs
- type: marking
id: VulpPointsFadeLegs
markingCategory: LeftLeg
bodyPart: LLeg
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: points_fade-legs
- type: marking
id: VulpPointsSharpLegs
markingCategory: LeftLeg
bodyPart: LLeg
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: points_sharp-legs
# Arm Markings
- type: marking
id: VulpPointsHands
markingCategory: RightHand
bodyPart: RHand
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: points_hands
- type: marking
id: VulpPointsCrestArms
markingCategory: LeftArm
bodyPart: LArm
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: points_crest-arms
- type: marking
id: VulpPointsFadeArms
markingCategory: LeftArm
bodyPart: LArm
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: points_fade-arms
- type: marking
id: VulpPointsSharpArms
markingCategory: LeftArm
bodyPart: LArm
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/body_markings.rsi
state: points_sharp-arms
# Hairs
- type: marking
id: VulpHairAdhara
bodyPart: Hair
speciesRestriction: [Vulpkanin]
markingCategory: Hair
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: adhara
- type: marking
id: VulpHairAnita
bodyPart: Hair
speciesRestriction: [Vulpkanin]
markingCategory: Hair
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: anita
- type: marking
id: VulpHairApollo
bodyPart: Hair
speciesRestriction: [Vulpkanin]
markingCategory: Hair
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: apollo
- type: marking
id: VulpHairBelle
bodyPart: Hair
speciesRestriction: [Vulpkanin]
markingCategory: Hair
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: belle
- type: marking
id: VulpHairBraided
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: braided
- type: marking
id: VulpHairBun
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: bun
- type: marking
id: VulpHairCleanCut
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: clean_cut
- type: marking
id: VulpHairCurl
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: curl
- type: marking
id: VulpHairHawk
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: hawk
- type: marking
id: VulpHairJagged
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: jagged
- type: marking
id: VulpHairJeremy
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: jeremy
- type: marking
id: VulpHairKajam
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: kajam
- type: marking
id: VulpHairKeid
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: keid
- type: marking
id: VulpHairKleeia
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: kleeia
- type: marking
id: VulpHairMizar
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: mizar
- type: marking
id: VulpHairPunkBraided
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: punkbraided
- type: marking
id: VulpHairRaine
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: raine
- type: marking
id: VulpHairRough
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: rough
- type: marking
id: VulpHairShort
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: short
- type: marking
id: VulpHairShort2
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: short2
- type: marking
id: VulpHairSpike
bodyPart: Hair
markingCategory: Hair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/hair.rsi
state: spike
# Facial Hairs
- type: marking
id: VulpFacialHairRuff
bodyPart: FacialHair
markingCategory: FacialHair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/facial_hair.rsi
state: ruff
- type: marking
id: VulpFacialHairElder
bodyPart: FacialHair
markingCategory: FacialHair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/facial_hair.rsi
state: elder
- type: marking
id: VulpFacialHairElderChin
bodyPart: FacialHair
markingCategory: FacialHair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/facial_hair.rsi
state: elder_chin
- type: marking
id: VulpFacialHairKita
bodyPart: FacialHair
markingCategory: FacialHair
speciesRestriction: [Vulpkanin]
sprites:
- sprite: _DV/Mobs/Customization/Vulpkanin/facial_hair.rsi
state: kita

View File

@@ -0,0 +1,10 @@
# SPDX-FileCopyrightText: 2025 Ark <189933909+ark1368@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
name: Urist McAnt
parent: BaseMobChitinid
id: MobChitinid

View File

@@ -0,0 +1,5 @@
- type: entity
save: false
name: Urist McFin
parent: BaseMobFeroxi
id: MobFeroxi

View File

@@ -0,0 +1,43 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.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 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.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-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
name: Urist McHarpy
parent: MobHarpyBase
id: MobHarpy
components:
- type: CombatMode
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: MobMover
- type: InputMover
- type: Respirator
- type: Alerts
- type: Actions
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen
- type: Sprinter # Goob change: funny feet make you unable to run for long, fly instead.
staminaDrainRate: 13

View File

@@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: 2024 DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# 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 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
name: Urist McRat
parent: BaseMobRodentia
id: MobRodentia

View File

@@ -0,0 +1,43 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
name: Urist McVulp
parent: BaseMobVulpkanin
id: MobVulpkanin
components:
- type: CombatMode
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: MobMover
- type: InputMover
- type: Alerts
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen
- type: Respirator
damage:
types:
Asphyxiation: 1.0
damageRecovery:
types:
Asphyxiation: -1.0

View File

@@ -0,0 +1,139 @@
- type: entity
save: false
name: Urist McAnt
parent: BaseMobSpeciesOrganic
id: BaseMobChitinid
abstract: true
components:
- type: HumanoidAppearance
species: Chitinid
hideLayersOnEquip:
- HeadTop
- type: Hunger
baseDecayRate: 0.0467 #needs to eat more to survive
- type: Thirst
- type: UnpoweredFlashlight
- type: PointLight
enabled: false
radius: 3
softness: 5
color: "#2CFA1F"
autoRot: true
- type: Carriable
- type: Icon
sprite: _DV/Mobs/Species/Chitinid/parts.rsi
state: full
- type: Body
prototype: Chitinid
requiredLegs: 2
- type: Damageable
damageContainer: Biological
damageModifierSet: Chitinid
- type: Speech
speechVerb: Chitinid
allowedEmotes: ['Chitter', 'Click', 'Hiss']
- type: MeleeWeapon
animation: WeaponArcBite
soundHit:
path: /Audio/Effects/bite.ogg
damage:
types:
Piercing: 5
- type: TypingIndicator
proto: chitinid
- type: Butcherable
butcheringType: Spike
spawned:
- id: FoodMeat
amount: 5
- type: Bloodstream
bloodReagent: InsectBlood
- type: Vocal
sounds:
Male: UnisexChitinid
Female: UnisexChitinid
Unsexed: UnisexChitinid
- type: Temperature # Ants hate the cold
heatDamageThreshold: 320
coldDamageThreshold: 230
currentTemperature: 310.15
specificHeat: 46
coldDamage:
types:
Cold : 1.25 #per second, scales with temperature & other constants
heatDamage:
types:
Heat : 1.0 #per second, scales with temperature & other constants
- type: TemperatureSpeed
thresholds:
289: 0.6
275: 0.4
250: 0.3
- type: Sprite # sprite again because we want different layer ordering
noRot: true
drawdepth: Mobs
layers:
- map: [ "enum.HumanoidVisualLayers.Groin" ]
- map: [ "enum.HumanoidVisualLayers.Chest" ]
- 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" ]
- map: [ "jumpsuit" ]
- map: [ "enum.HumanoidVisualLayers.LHand" ]
- map: [ "enum.HumanoidVisualLayers.RHand" ]
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
- map: [ "enum.HumanoidVisualLayers.Handcuffs" ]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: [ "gloves" ]
- map: [ "shoes" ]
- map: [ "ears" ]
- map: [ "outerClothing" ]
- map: [ "eyes" ]
- map: [ "belt" ]
- map: [ "id" ]
- map: [ "back" ]
- map: [ "neck" ]
- map: [ "enum.HumanoidVisualLayers.Tail" ] #in the utopian future we should probably have a wings enum inserted here so everyhting doesn't break
- 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: [ "clownedon" ] # Dynamically generated
sprite: "Effects/creampie.rsi"
state: "creampie_moth"
visible: false
- type: Chitinid
- type: BlockInjection
- type: LanguageKnowledge # Einstein Engines - Languages
speaks:
- TauCetiBasic
- Moffic
understands:
- TauCetiBasic
- Moffic
- type: Inventory
speciesId: moth
- type: ItemCougher
item: Chitzite
action: ActionChitzite
coughPopup: chitzite-cough
- type: entity
parent: BaseSpeciesDummy
id: MobChitinidDummy
categories: [ HideSpawnMenu ]
components:
- type: HumanoidAppearance
species: Chitinid

View File

@@ -0,0 +1,179 @@
- type: entity
parent: BaseMobSpeciesOrganic
id: BaseMobFeroxi
name: Urist McFin
save: false
abstract: true
components:
- type: HumanoidAppearance
species: Feroxi
hideLayersOnEquip:
- Snout
- type: Hunger
# - type: Carriable # ShibaStation - disabled because broken, for now.
- type: Inventory
speciesId: feroxi
- type: Thirst
baseDecayRate: 0.2
- type: Icon
sprite: _DV/Mobs/Species/Feroxi/parts.rsi
state: full
- type: Body
prototype: Feroxi
- type: Speech
speechSounds: Tenor
speechVerb: Feroxi
allowedEmotes: [ "Gnash" ]
- type: Vocal
sounds:
Male: MaleFeroxi
Female: FemaleFeroxi
Unsexed: MaleFeroxi
- type: Sprite
netsync: false
noRot: true
drawdepth: Mobs
layers:
- map: [ "enum.HumanoidVisualLayers.Groin" ]
- map: [ "enum.HumanoidVisualLayers.Chest" ]
- 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 #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
# its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
# sprite refactor when
state: l_leg
- map: [ "enum.HumanoidVisualLayers.Underwear" ] # Goob 120
- map: [ "enum.HumanoidVisualLayers.Undershirt" ] # Goob 120
- map: [ "jumpsuit" ]
- map: [ "enum.HumanoidVisualLayers.LHand" ]
- map: [ "enum.HumanoidVisualLayers.RHand" ]
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
- map: [ "enum.HumanoidVisualLayers.Handcuffs" ]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: [ "enum.HumanoidVisualLayers.Face" ] # Goob 120
- map: [ "id" ]
- map: [ "gloves" ]
- map: [ "shoes" ]
- map: [ "ears" ]
- map: [ "outerClothing" ]
- map: [ "belt" ] # Goob
- map: [ "eyes" ]
- map: [ "neck" ]
- map: [ "back" ]
- map: [ "enum.HumanoidVisualLayers.FacialHair" ]
- map: [ "maskalt" ] # Goob - alt mask gooblayer below hair
- 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: [ "clownedon" ] # Dynamically generated
sprite: "_DV/Effects/creampie.rsi"
state: "creampie_feroxi"
visible: false
- type: MeleeWeapon
hidden: true
soundHit:
path: /Audio/Effects/bite.ogg
angle: 30
animation: WeaponArcBite
damage:
types:
Piercing: 7 # oooh scary extra damage~
- type: Perishable
- type: Damageable
damageModifierSet: Feroxi
- type: TypingIndicator
proto: feroxi
- type: FeroxiDehydrate
hydratedMetabolizer: Feroxi
dehydratedMetabolizer: FeroxiDehydrated
dehydrationThreshold: 150
- type: LanguageKnowledge # The Den, give Feroxi their own language.
speaks:
- TauCetiBasic
- Nehina
understands:
- TauCetiBasic
- Nehina
- type: entity
parent: MobHumanDummy
id: MobFeroxiDummy
name: Feroxi Dummy
save: false
categories: [ HideSpawnMenu ]
description: A dummy feroxi meant to be used in character setup.
components:
- type: HumanoidAppearance
species: Feroxi
hideLayersOnEquip:
- Snout
- type: Sprite # Why does feroxi redefine sprites in basemob but NOT in dummy (lobby) ???, fixing that - Goob 120
netsync: false
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 #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
# its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
# sprite refactor when
state: l_leg
- map: [ "enum.HumanoidVisualLayers.Underwear" ] # Goob 120
- map: [ "enum.HumanoidVisualLayers.Undershirt" ] # Goob 120
- map: [ "jumpsuit" ]
- map: [ "enum.HumanoidVisualLayers.LHand" ]
- map: [ "enum.HumanoidVisualLayers.RHand" ]
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
- map: [ "enum.HumanoidVisualLayers.Handcuffs" ]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: [ "enum.HumanoidVisualLayers.Face" ] # Goob 120
- map: [ "id" ]
- map: [ "gloves" ]
- map: [ "shoes" ]
- map: [ "ears" ]
- map: [ "outerClothing" ]
- map: [ "belt" ] # Goob
- map: [ "eyes" ]
- map: [ "neck" ]
- map: [ "back" ]
- map: [ "enum.HumanoidVisualLayers.FacialHair" ]
- map: [ "maskalt" ] # Goob - alt mask gooblayer below hair
- 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: [ "clownedon" ] # Dynamically generated
sprite: "_DV/Effects/creampie.rsi"
state: "creampie_feroxi"
visible: false

View File

@@ -0,0 +1,281 @@
# SPDX-FileCopyrightText: 2024 Adeinitas <147965189+adeinitas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 AstroDogeDX <48888500+AstroDogeDX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Spatison <137375981+Spatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 VMSolidus <evilexecutive@gmail.com>
# SPDX-FileCopyrightText: 2024 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# 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 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 CometVoid <cometsstrile@gmail.com>
# SPDX-FileCopyrightText: 2025 GNUtopia <93669372+GNUtopia@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 John Willis <143434770+CerberusWolfie@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 JohnOakman <sremy2012@hotmail.fr>
# SPDX-FileCopyrightText: 2025 MarkerWicker <markerWicker@proton.me>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@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
save: false
name: Urist McHarpy
parent: BaseMobHuman
id: MobHarpyBase
abstract: true
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: 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
enum.StoreUiKey.Key:
type: StoreBoundUserInterface
enum.HereticLivingHeartKey.Key: # goob edit - heretics
type: LivingHeartMenuBoundUserInterface
enum.WizardTeleportUiKey.Key: # Goobstation - wizard
type: WizardTeleportBoundUserInterface
requireInputValidation: false
- type: Sprite
# scale: 0.9, 0.9 # 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" ]
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- map: [ "enum.HumanoidVisualLayers.Underwear" ]
- map: [ "enum.HumanoidVisualLayers.Undershirt" ]
- map: [ "underpants" ]
- map: [ "undershirt" ]
- map: [ "socks" ]
- map: [ "jumpsuit" ]
- map: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]
- 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: [ "ears" ]
- map: [ "outerClothing" ]
- map: [ "eyes" ]
- map: [ "belt" ]
- map: [ "neck" ]
- map: [ "back" ]
- map: [ "enum.HumanoidVisualLayers.Face" ]
- map: [ "enum.HumanoidVisualLayers.FacialHair" ]
- map: [ "enum.HumanoidVisualLayers.HeadSide" ]
- map: [ "enum.HumanoidVisualLayers.Tail" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- map: [ "clownedon" ] # Dynamically generated
sprite: "Effects/creampie.rsi"
state: "creampie_human"
visible: false
# Yes, RArm has to be down here
- map: [ "enum.HumanoidVisualLayers.RArm" ]
- map: [ "maskalt" ]
- map: [ "enum.HumanoidVisualLayers.Hair" ]
- map: [ "mask" ]
- map: [ "enum.HumanoidVisualLayers.HeadTop" ]
- map: [ "head" ]
- map: [ "singingLayer" ]
sprite: _DV/Effects/harpysinger.rsi
state: singing_music_notes
visible: false
- type: HumanoidAppearance
species: Harpy
- type: Fixtures
fixtures: # TODO: This needs a second fixture just for mob collisions.
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 120
restitution: 0.0
mask:
- MobMask
layer:
- MobLayer
- type: Body
prototype: Harpy
- type: Damageable
damageModifierSet: Harpy
- type: MeleeWeapon
soundHit:
collection: AlienClaw
animation: WeaponArcClaw
damage:
types:
Piercing: 5
- type: Speech
speechSounds: Harpy
speechVerb: Harpy
allowedEmotes: ['Chirp', 'Trill', 'Warble', 'Wurble', 'Mars']
- type: Vocal
sounds:
Male: SoundsHarpyMale
Female: SoundsHarpyFemale
Unsexed: SoundsHarpyFemale
- type: LanguageKnowledge # Einstein Engines - Language
speaks:
- TauCetiBasic
- ValyrianStandard
understands:
- TauCetiBasic
- ValyrianStandard
- type: GenericVisualizer
visuals:
enum.HarpyVisualLayers.Singing:
singingLayer:
False: {visible: false}
True: {visible: true}
- type: MovementSpeedModifier
weightlessAcceleration: 2.5
weightlessModifier: 1.12
- type: Inventory
speciesId: harpy
templateId: digitigrade # Einstein Engines
displacements:
jumpsuit:
sizeMaps:
32:
sprite: _DV/Mobs/Species/Harpy/displacement.rsi
state: jumpsuit
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: _DV/Mobs/Species/Harpy/displacement.rsi
state: jumpsuit
- type: HarpyVisuals
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- HarpyEmotes
- AnomalyHost
- type: StepTriggerImmune
whitelist:
types:
- Shard
- Landmine
- Mousetrap
- type: entity
save: false
name: Urist McHands
parent: MobHumanDummy
id: MobHarpyDummy
categories: [ HideSpawnMenu ]
description: A dummy Harpy meant to be used in character setup.
components:
- type: HumanoidAppearance
species: Harpy
- type: Inventory
speciesId: harpy
templateId: digitigrade # Einstein Engines
displacements:
jumpsuit:
sizeMaps:
32:
sprite: _DV/Mobs/Species/Harpy/displacement.rsi
state: jumpsuit
femaleDisplacements:
jumpsuit:
sizeMaps:
32:
sprite: _DV/Mobs/Species/Harpy/displacement.rsi
state: jumpsuit
- type: Sprite
# scale: 0.9, 0.9 # 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" ]
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- map: [ "underpants" ]
- map: [ "undershirt" ]
- map: [ "socks" ]
- map: [ "jumpsuit" ]
- map: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]
- map: ["enum.HumanoidVisualLayers.LHand"]
- map: ["enum.HumanoidVisualLayers.RHand"]
- map: [ "id" ]
- map: [ "gloves" ]
- 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: [ "enum.HumanoidVisualLayers.HeadTop" ]
- map: [ "enum.HumanoidVisualLayers.Tail" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- map: [ "clownedon" ] # Dynamically generated
sprite: "Effects/creampie.rsi"
state: "creampie_human"
visible: false
# Yes, RArm has to be down here
- map: [ "enum.HumanoidVisualLayers.RArm" ]
- map: [ "maskalt" ]
- map: [ "enum.HumanoidVisualLayers.Hair" ]
- map: [ "mask" ]
- map: [ "head" ]

View File

@@ -0,0 +1,176 @@
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <drsmugleaf@gmail.com>
# SPDX-FileCopyrightText: 2023 I.K <45953835+notquitehadouken@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 LankLTE <135308300+LankLTE@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Morb <14136326+Morb0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Spatison <137375981+Spatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 portfiend <109661617+portfiend@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# 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 BeeRobynn <166929042+BeeRobynn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BeeRobynn <robynthewarcrime@proton.me>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# 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-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
name: Urist McRat
parent: BaseMobSpeciesOrganic
id: BaseMobRodentia
abstract: true
components:
- type: HumanoidAppearance
species: Rodentia
- type: Hunger
baseDecayRate: 0.0467 # 33% faster than usual
- type: Thirst # // Goob Station //
- type: Carriable # Carrying system from nyanotrasen.
- type: Inventory
speciesId: rodentia
- type: Icon
sprite: _DV/Mobs/Species/Rodentia/parts.rsi
state: full
- type: Body
prototype: Rodentia
- type: Speech
speechVerb: Rodentia
speechSounds: Squeak
allowedEmotes: ['Squeak']
- type: LanguageKnowledge # Einstein Engines - Language
speaks:
- TauCetiBasic
- Mouse # Can communicate with mice, I guess.
understands:
- TauCetiBasic
- Mouse # There was no other language for them. This is how it used to be before EE removed them.
- type: CheeseAccent
- type: Fixtures
fixtures: # TODO: This needs a second fixture just for mob collisions.
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 140
restitution: 0.0
mask:
- MobMask
layer:
- MobLayer
- type: ScaleData # Goobstation
# scale: 0.8, 0.8 # Goobstation: port EE height/width sliders
- type: Sprite
# scale: 0.8, 0.8 # 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" ]
- map: [ "enum.HumanoidVisualLayers.RArm" ]
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- map: [ "jumpsuit" ]
- map: [ "enum.HumanoidVisualLayers.LHand" ]
- map: [ "enum.HumanoidVisualLayers.RHand" ]
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
- 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.FacialHair" ]
- map: [ "enum.HumanoidVisualLayers.HeadSide" ]
- map: [ "maskalt" ]
- map: [ "enum.HumanoidVisualLayers.Hair" ]
- map: [ "mask" ]
- map: [ "enum.HumanoidVisualLayers.HeadTop" ]
- map: [ "enum.HumanoidVisualLayers.Tail" ]
- map: [ "head" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- map: [ "clownedon" ] # Dynamically generated
sprite: "_DV/Effects/creampie.rsi"
state: "creampie_rodentia"
visible: false
- type: MeleeWeapon
soundHit:
path: /Audio/Weapons/pierce.ogg
angle: 30
animation: WeaponArcClaw
damage:
types:
Blunt: 2
Slash: 3
- type: Damageable
damageModifierSet: Rodentia
- type: Butcherable
spawned:
- id: FoodMeatRat
amount: 5
- type: TypingIndicator
proto: rodentia
- type: Vocal
sounds:
Male: MaleRodentia
Female: FemaleRodentia
Unsexed: MaleRodentia
- type: Rummager
- type: AlwaysTriggerMousetrap
- type: PseudoItem
storedOffset: -10,0
shape:
- 0, 0, 3, 2
- 0, 2, 5, 4
- type: MouthStorage
mouthProto: CheekStorage
openStorageAction: ActionOpenMouthStorage
spitDamageThreshold: 3
- type: CrawlUnderObjects
actionProto: ActionToggleSneakMode
- type: entity
save: false
name: Rodentia Dummy
parent: MobHumanDummy
id: MobRodentiaDummy
categories: [ HideSpawnMenu ]
description: A dummy rodentia meant to be used in character setup.
components:
- type: HumanoidAppearance
species: Rodentia
- type: Inventory
speciesId: rodentia

View File

@@ -0,0 +1,167 @@
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <drsmugleaf@gmail.com>
# SPDX-FileCopyrightText: 2023 I.K <45953835+notquitehadouken@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 LankLTE <135308300+LankLTE@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Morb <14136326+Morb0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Spatison <137375981+Spatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# 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 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Theodore 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 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
name: Urist McVulp
parent: BaseMobSpeciesOrganic
id: BaseMobVulpkanin
abstract: true
components:
- type: HumanoidAppearance
species: Vulpkanin
- type: Hunger
- type: Inventory # Allows vulps to wear properly shaped helmets
speciesId: vulpkanin
- type: Thirst
- type: Icon
sprite: _DV/Mobs/Species/Vulpkanin/parts.rsi
state: full
- type: Body
prototype: Vulpkanin
requiredLegs: 2
- type: Speech
speechSounds: Vulpkanin
speechVerb: Vulpkanin
- type: LanguageKnowledge # Einstein Engines - Languages
speaks:
- TauCetiBasic
- Canilunzt
understands:
- TauCetiBasic
- Canilunzt
- type: Sprite
netsync: false
noRot: true
drawdepth: Mobs
layers:
- map: [ "enum.HumanoidVisualLayers.Groin" ]
- map: [ "enum.HumanoidVisualLayers.Chest" ]
- 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 #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
# its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
# sprite refactor when
state: l_leg
- shader: StencilMask
map: [ "enum.HumanoidVisualLayers.StencilMask" ]
sprite: _DV/Mobs/Customization/Vulpkanin/masking_helpers.rsi
state: female_full
visible: false
- map: [ "jumpsuit" ]
- map: [ "enum.HumanoidVisualLayers.LHand" ]
- map: [ "enum.HumanoidVisualLayers.RHand" ]
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
- 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: [ "enum.HumanoidVisualLayers.Tail" ]
- map: [ "head" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- map: [ "clownedon" ] # Dynamically generated
sprite: "_DV/Effects/creampie.rsi"
state: "creampie_vulpkanin"
visible: false
- type: MeleeWeapon
hidden: true
soundHit:
path: /Audio/Weapons/pierce.ogg
angle: 30
animation: WeaponArcClaw
damage:
types:
Blunt: 2
Slash: 3
- type: Perishable
- type: Damageable
damageModifierSet: Vulpkanin
#- type: TemperatureProtection # Goobstation - fix vulps - start
# heatingCoefficient: 0.1
# coolingCoefficient: 0.1
- type: Temperature
atmosTemperatureTransferEfficiency: 0.01 # Goobstation - fix vulps - end
- type: ScentTracker # Einstein Engines
- type: Vocal
sounds:
Male: MaleVulpkanin
Female: FemaleVulpkanin
Unsexed: MaleVulpkanin
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- AnomalyHost
- VulpEmotes
- type: entity
save: false
name: Vulpkanin Dummy
parent: MobHumanDummy
id: MobVulpkaninDummy
categories: [ HideSpawnMenu ]
description: A dummy vulpkanin meant to be used in character setup.
components:
- type: HumanoidAppearance
species: Vulpkanin

View File

@@ -0,0 +1,52 @@
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Milon <milonpl.git@proton.me>
# SPDX-FileCopyrightText: 2024 Skubman <ba.fallaria@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseItem
id: MailMetricsCartridge
name: mail metrics cartridge
description: A cartridge that tracks statistics related to mail deliveries.
components:
- type: Sprite
sprite: _DV/Objects/Devices/cartridge.rsi
state: cart-mail
- type: Icon
sprite: _DV/Objects/Devices/cartridge.rsi
state: cart-mail
- type: UIFragment
ui: !type:MailMetricUi
- type: MailMetricsCartridge
- type: Cartridge
programName: mail-metrics-program-name
icon:
sprite: Nyanotrasen/Objects/Specific/Mail/mail.rsi
state: icon
- type: entity
parent: BaseItem
id: NanoChatCartridge
name: NanoChat cartridge
description: Lets you message other people!
components:
- type: Sprite
sprite: _DV/Objects/Devices/cartridge.rsi
state: cart-chat
- type: UIFragment
ui: !type:NanoChatUi
- type: NanoChatCartridge
- type: Cartridge
programName: nano-chat-program-name
icon:
sprite: _DV/Misc/program_icons.rsi
state: nanochat
- type: ActiveRadio
channels:
- Common

View File

@@ -0,0 +1,152 @@
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseItem
id: TapeRecorder
name: tape recorder
description: Anything said into this device can and will be used against you in a court of space law.
components:
- type: Sprite
sprite: _DV/Objects/Devices/tape_recorder.rsi
layers:
- state: empty
- state: idle
map: ["tape"]
visible: false
- type: Item
size: Small
- type: TapeRecorder
- type: ActiveListener
range: 4
- type: UseDelay
delay: 1
- type: Speech
- type: ItemSlots
slots:
cassette_tape:
priority: 4
whitelist:
components:
- FitsInTapeRecorder
- type: ContainerContainer
containers:
cassette_tape: !type:ContainerSlot
- type: Appearance
- type: GenericVisualizer
visuals:
enum.TapeRecorderVisuals.Mode:
tape:
Stopped: { state: "idle" }
Playing: { state: "playing" }
Recording: { state: "recording" }
Rewinding: { state: "rewinding" }
enum.TapeRecorderVisuals.TapeInserted:
tape:
True: { visible: true }
False: { visible: false }
- type: ActivatableUI
key: enum.TapeRecorderUIKey.Key
inHandsOnly: true
requireActiveHand: false
- type: UserInterface
interfaces:
enum.TapeRecorderUIKey.Key:
type: TapeRecorderBoundUserInterface
- type: entity
parent: TapeRecorder
id: TapeRecorderFilled
suffix: Filled
components:
- type: ContainerFill
containers:
cassette_tape:
- CassetteTape
- type: entity
parent: BaseItem
id: CassetteTape
name: cassette tape
description: A magnetic tape that can hold up to two minutes of content on either side.
components:
- type: Sprite
sprite: _DV/Objects/Devices/cassette_tapes.rsi
layers:
- state: tape_greyscale
map: [ "enum.DamageStateVisualLayers.Base" ]
- state: tape_ribbonoverlay
map: [ "enum.ToggleableVisuals.Layer" ]
visible: false
- type: Item
size: Tiny
- type: Damageable
- type: TapeCassette
maxCapacity: 180
repairWhitelist:
tags:
- Screwdriver
- Write
- type: FitsInTapeRecorder
- type: Appearance
- type: GenericVisualizer
visuals:
enum.ToggleableVisuals.Enabled:
enum.ToggleableVisuals.Layer:
True: { visible: true }
False: { visible: false }
- type: RandomSprite
available:
- enum.DamageStateVisualLayers.Base:
tape_greyscale: Rainbow
- type: entity
suffix: Interview with Garry Smosh
parent: CassetteTape
id: CassetteTapeInterview
components:
- type: Label
currentLabel: Interview with Garry Smosh
- type: TapeCassette
recordedData:
- timestamp: 2
name: Phil Dervin
message: "Its 11:43am, present in the room are Phil Dervin, Detective first class, Officer Belview and Grarry Smosh, Suspect of one count of secure tresspass, four counts of assault, two counts of theft and 85 counts of disturbing the peace."
- timestamp: 6
name: Phil Dervin
message: "Mr Smosh, do you understand the charges you have been accused of?"
- timestamp: 14
name: Grarry Smosh
message: "I don't care what you say, i ain't done anything."
- timestamp: 18
name: Phil Dervin
message: "Sir, you were caught redhanded in the Captains bedroom. In the middle of an attempt at stealing his whiskey reserve no less."
- timestamp: 23
name: Phil Dervin
message: "You are lucky he didn't shoot you for that."
- timestamp: 28
name: Grarry Smosh
message: "I didn't see no signs saying i couldn't be there."
- timestamp: 34
name: Phil Dervin
message: "The Captains bedroom? I don't think we need a sign telling people to stay out - it's common sense."
- timestamp: 38
name: Phil Dervin
message: "Anyway that's besides the point, even if it were not off limits there is still the matter of the restricted items we found on your person and the subsequent attempt at evading arrest."
- timestamp: 42
name: Grarry Smosh
message: "I ain't done nothing."
- timestamp: 46
name: Officer Belview
message: "You slipped 3 officers, stole a stun baton and beat Ian with it. The HOP was very upset at that last part."
- timestamp: 50
name: Grarry Smosh
message: "Which one of you gave the HOP a disabler?"
- timestamp: 54
name: Phil Dervin
message: "The Warden did, turned out to be a good idea eh?"
- timestamp: 58
name: Officer Belview
message: "I would say so."

View File

@@ -0,0 +1,19 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseFigurine
id: ToyFigurineCosmicCultist
name: cosmic cultist figure
description: A figurine depicting an iridescent, alien looking hardsuit. You can feel the gaze of the abyss in its lack-of-a-face.
components:
- type: Sprite
sprite: _DV/Objects/Fun/figurines.rsi
layers:
- state: cosmiccultist
- state: cosmiccultist_unshaded
shader: unshaded
- type: SpeakOnTrigger
pack: FigurinesCosmicCultist

View File

@@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#- type: entity
# id: BionicSyrinxImplanter
# name: bionic syrinx implanter
# parent: BaseImplantOnlyImplanterSyndi
# components:
# - type: Implanter
# implant: BionicSyrinxImplant

View File

@@ -0,0 +1,35 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# 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 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: CheekStorage
name: cheek storage
description: The cheeks of an animal, capable of storing small objects.
categories: [ HideSpawnMenu ]
components:
- type: Storage
clickInsert: false
grid:
- 0,0,1,1
maxItemSize: Small
blacklist:
components:
- Sharp
- MindContainer
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: [ ]
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: Dumpable

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