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,113 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: PartFelinid
parent: PartHuman
abstract: true
components:
- type: Damageable
damageModifierSet: Felinid
- type: BodyPart
species: Felinid
- type: entity
id: HeadFelinid
name: "felinid head"
parent: [PartFelinid, BaseHead]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "head_m"
- type: entity
id: ChestFelinid
name: "felinid chest"
parent: [PartFelinid, BaseChest]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "chest_m"
- type: entity
id: GroinFelinid
name: "felinid groin"
parent: [PartFelinid, BaseGroin]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "groin_m"
- type: entity
id: LeftArmFelinid
name: "left felinid arm"
parent: [PartFelinid, BaseLeftArm]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "l_arm"
- type: entity
id: RightArmFelinid
name: "right felinid arm"
parent: [PartFelinid, BaseRightArm]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "r_arm"
- type: entity
id: LeftHandFelinid
name: "left felinid hand"
parent: [PartFelinid, BaseLeftHand]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "l_hand"
- type: entity
id: RightHandFelinid
name: "right felinid hand"
parent: [PartFelinid, BaseRightHand]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "r_hand"
- type: entity
id: LeftLegFelinid
name: "left felinid leg"
parent: [PartFelinid, BaseLeftLeg]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "l_leg"
- type: entity
id: RightLegFelinid
name: "right felinid leg"
parent: [PartFelinid, BaseRightLeg]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "r_leg"
- type: entity
id: LeftFootFelinid
name: "left felinid foot"
parent: [PartFelinid, BaseLeftFoot]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "l_foot"
- type: entity
id: RightFootFelinid
name: "right felinid foot"
parent: [PartFelinid, BaseRightFoot]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "r_foot"

View File

@@ -0,0 +1,111 @@
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: PartOni
parent: PartHuman
abstract: true
components:
- type: BodyPart
species: Oni
- type: entity
id: HeadOni
name: "oni head"
parent: [PartOni, BaseHead]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "head_m"
- type: entity
id: ChestOni
name: "oni chest"
parent: [PartOni, BaseChest]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "chest_m"
- type: entity
id: GroinOni
name: "oni groin"
parent: [PartOni, BaseGroin]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "groin_m"
- type: entity
id: LeftArmOni
name: "left oni arm"
parent: [PartOni, BaseLeftArm]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "l_arm"
- type: entity
id: RightArmOni
name: "right oni arm"
parent: [PartOni, BaseRightArm]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "r_arm"
- type: entity
id: LeftHandOni
name: "left oni hand"
parent: [PartOni, BaseLeftHand]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "l_hand"
- type: entity
id: RightHandOni
name: "right oni hand"
parent: [PartOni, BaseRightHand]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "r_hand"
- type: entity
id: LeftLegOni
name: "left oni leg"
parent: [PartOni, BaseLeftLeg]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "l_leg"
- type: entity
id: RightLegOni
name: "right oni leg"
parent: [PartOni, BaseRightLeg]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "r_leg"
- type: entity
id: LeftFootOni
name: "left oni foot"
parent: [PartOni, BaseLeftFoot]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "l_foot"
- type: entity
id: RightFootOni
name: "right oni foot"
parent: [PartOni, BaseRightFoot]
components:
- type: Sprite
sprite: Mobs/Species/Human/parts.rsi
state: "r_foot"

View File

@@ -0,0 +1,69 @@
# SPDX-FileCopyrightText: 2022 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <Jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2023 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# 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: body
id: Felinid
name: "felinid"
root: chest
slots:
head:
part: HeadFelinid
connections:
- chest
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
chest:
part: ChestFelinid
connections: # Goobstation - fix some species having their hands the wrong way around
- right arm
- left arm
- groin
- head # Shitmed Change
organs:
heart: OrganAnimalHeart
lungs: OrganHumanLungs
groin:
part: GroinFelinid
connections:
- right leg
- left leg
organs:
stomach: OrganVulpkaninStomach
liver: OrganAnimalLiver
kidneys: OrganHumanKidneys
right arm:
part: RightArmFelinid
connections:
- right hand
left arm:
part: LeftArmFelinid
connections:
- left hand
right hand:
part: RightHandFelinid
left hand:
part: LeftHandFelinid
right leg:
part: RightLegFelinid
connections:
- right foot
left leg:
part: LeftLegFelinid
connections:
- left foot
right foot:
part: RightFootFelinid
left foot:
part: LeftFootFelinid

View File

@@ -0,0 +1,74 @@
# SPDX-FileCopyrightText: 2024 ScyronX <166930367+ScyronX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: marking
id: OniHornSingleCurved
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/oni_horns.rsi
state: single_curved
- type: marking
id: OniHornSingleLeftCurved
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/oni_horns.rsi
state: single_left_curved
- type: marking
id: OniHornSingleRightCurved
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/oni_horns.rsi
state: single_right_curved
- type: marking
id: OniHornDoubleCurvedOutwards
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/oni_horns.rsi
state: double_curved_outwards
- type: marking
id: OniHornDoubleCurved
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/oni_horns.rsi
state: double_curved
- type: marking
id: OniHornDoubleLeftBrokeCurved
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/oni_horns.rsi
state: double_left_broke_curved
- type: marking
id: OniHornDoubleRightBrokeCurved
bodyPart: HeadTop
markingCategory: HeadTop
forcedColoring: false
speciesRestriction: [Oni]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/oni_horns.rsi
state: double_right_broke_curved

View File

@@ -0,0 +1,164 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Plyush <121322002+Plyushsune@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 plyush <121322002+toasterpm87@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Felinid Ears
- type: marking
id: FelinidEarsBasic
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Felinid, Human]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: basic_outer
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: basic_inner
- type: marking
id: FelinidEarsCurled
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Felinid]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: curled_outer
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: curled_inner
- type: marking
id: FelinidEarsDroopy
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Felinid]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: droopy_outer
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: droopy_inner
- type: marking
id: FelinidEarsFuzzy
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Felinid]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: basic_outer
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: fuzzy_inner
- type: marking
id: FelinidEarsStubby
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Felinid]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: stubby_outer
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: stubby_inner
- type: marking
id: FelinidEarsTall
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Felinid]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: tall_outer
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: tall_inner
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: tall_fuzz
- type: marking
id: FelinidEarsTorn
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Felinid]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: torn_outer
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: torn_inner
- type: marking
id: FelinidEarsWide
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Felinid]
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: wide_outer
- sprite: Nyanotrasen/Mobs/Customization/felinid_ears.rsi
state: wide_inner
# Felinid Tails
# Goobstation - Tajaran since they're fully compatible
- type: marking
id: FelinidTailBasic
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Felinid, Tajaran, Human] # Goobstation - Tajaran
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_tip
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_stripes_even
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_stripes_odd
- type: marking
id: FelinidTailBasicWithBow
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Felinid, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_tip
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_stripes_even
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_stripes_odd
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_bow
- type: marking
id: FelinidTailBasicWithBell
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Felinid, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_tip
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_stripes_even
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_stripes_odd
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_bell
- type: marking
id: FelinidTailBasicWithBowAndBell
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Felinid, Tajaran] # Goobstation - Tajaran
sprites:
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_tip
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_stripes_even
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_tail_stripes_odd
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_bow
- sprite: Nyanotrasen/Mobs/Customization/felinid_tails.rsi
state: basic_bell

View File

@@ -0,0 +1,40 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 ScyronX <166930367+ScyronX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
name: Urist McOni
parent: MobOniBase
id: MobOni
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
damage:
types:
Asphyxiation: 1.0
damageRecovery:
types:
Asphyxiation: -1.0
- type: Alerts
- type: Actions
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen

View File

@@ -0,0 +1,64 @@
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Rank #1 Jonestown partygoer <mary@thughunt.ing>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# 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 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
name: Urist McFelinid
parent: MobFelinidBase
id: MobFelinid
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: Speech
speechVerb: Felinid
- type: MobMover
- type: InputMover
- type: Reactive
groups:
Flammable: [ Touch ]
Extinguish: [ Touch ]
Acidic: [Touch, Ingestion, Eyes] # Goobstation
reactions:
- reagents: [ Water, SpaceCleaner ]
methods: [ Touch ]
effects:
- !type:WashCreamPieReaction
- reagents: [ Water ]
methods: [ Touch ]
effects:
- !type:Emote
emote: Scream
probability: 0.2
- type: Respirator
damage:
types:
Asphyxiation: 1.0
damageRecovery:
types:
Asphyxiation: -1.0
- type: Alerts
- type: Actions
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen

View File

@@ -0,0 +1,84 @@
# SPDX-FileCopyrightText: 2024 Angelo Fallaria <ba.fallaria@gmail.com>
# SPDX-FileCopyrightText: 2024 ScyronX <166930367+ScyronX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@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 MarkerWicker <markerWicker@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 cheetah1984 <152602630+cheetah1984@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 cheetah1984 <davidc71114@gmail.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseMobHuman
name: Urist McOni
id: MobOniBase
abstract: true
components:
- type: Speech
speechSounds: Baritone
speechVerb: Oni
- type: LanguageKnowledge # Einstein Engines - Languages
speaks:
- TauCetiBasic # Nothing else because Rouge said she was adding a language for Oni
- Gruntish # Goob - Oni Language
understands:
- TauCetiBasic
- Gruntish # Goob - Oni Language
- type: HumanoidAppearance
species: Oni
- type: Sprite
# scale: 1.2, 1.2 # Goobstation: port EE height/width sliders
- type: ScaleData # Goobstation
# scale: 1.2, 1.2 # Goobstation: port EE height/width sliders
- type: PlayerToolModifier
pryTimeMultiplier: 0.6
- type: BonusStaminaDamage
multiplier: 1.25
- type: BonusMeleeDamage
damageModifierSet:
coefficients:
Blunt: 1.25
Slash: 1.25
Piercing: 1.25
Asphyxiation: 1.25
Structural: 1.25
- type: Body
prototype: Oni
- type: LightweightDrunk
boozeStrengthMultiplier: 0.5 # REAL hard to get drunk
- type: Fixtures
fixtures: # TODO: This needs a second fixture just for mob collisions.
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35 # Goobstation: port EE height/width sliders
density: 220
restitution: 0.0
mask:
- MobMask
layer:
- MobLayer
- type: TypingIndicator
proto: oni
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- AnomalyHost
- Oni
- type: entity
save: false
name: Urist McOni
parent: MobHumanDummy
id: MobOniDummy
categories: [ HideSpawnMenu ]
description: A dummy oni meant to be used in character setup.

View File

@@ -0,0 +1,119 @@
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Rank #1 Jonestown partygoer <mary@thughunt.ing>
# SPDX-FileCopyrightText: 2024 Spatison <137375981+Spatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 John Willis <143434770+CerberusWolfie@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 MarkerWicker <markerWicker@proton.me>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
save: false
name: Urist McFelinid
parent: BaseMobHuman
id: MobFelinidBase
abstract: true
components:
- type: Sprite
# scale: 0.8, 0.8 # Goobstation: port EE height/width sliders
- type: ScaleData # Goobstation
# scale: 0.8, 0.8 # Goobstation: port EE height/width sliders
- type: HumanoidAppearance
species: Felinid
- 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: Body
prototype: Felinid
- type: Damageable
damageModifierSet: Felinid
# Goobstation - Siouxcide, felinids have standard slow on damage numbers
# - type: SlowOnDamage
# speedModifierThresholds:
# 60: 0.85 # 0.7 is base speed.
# 80: 0.75 # 0.5 is base speed.
- type: MeleeWeapon
soundHit:
collection: Punch
animation: WeaponArcClaw
damage:
types:
Slash: 4
Piercing: 1
# - type: DiseaseCarrier
# naturalImmunities:
# - OwOnavirus
- type: Speech
speechSounds: Alto
- type: LanguageKnowledge # Einstein Engines - Languages
speaks:
- TauCetiBasic
- Nekomimetic
understands:
- TauCetiBasic
- Nekomimetic
- type: DamageOnHighSpeedImpact # Landing on all fours!
damage:
types:
Blunt: 1
- type: Stamina
critThreshold: 75 # Goobstation - Siouxcide, felinids take 3 disabler shots to down
animationThreshold: 40 # Goob edit
- type: TypingIndicator
proto: felinid
- type: PseudoItem
storedOffset: 0,17
shape:
- 0,0,1,4
- 0,2,3,4
- 4,0,5,4
- type: Vocal
wilhelm: "/Audio/Nyanotrasen/Voice/Felinid/cat_wilhelm.ogg"
sounds:
Male: MaleFelinid
Female: FemaleFelinid
Unsexed: MaleFelinid
#- type: OwOAccent this is just like that book by jorjorwell... 1984
- type: Felinid
- type: NoShoesSilentFootsteps
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- AnomalyHost
- FelinidEmotes
#- type: FootPrints # WD EDIT
- type: Consciousness
cap: 160
threshold: 80
- type: entity
save: false
name: Urist McHands
parent: MobHumanDummy
id: MobFelinidDummy
categories: [ HideSpawnMenu ]
description: A dummy felinid meant to be used in character setup.
components:
- type: HumanoidAppearance
species: Felinid

View File

@@ -0,0 +1,135 @@
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
categories: [ HideSpawnMenu ] # mail isnt meant to be spawned manually
parent: BaseItem
abstract: true
id: BaseMail
name: mail
components:
- type: Item
# size: Normal # Frontier
storedRotation: -90
- type: Mail
- type: Tag # Goobstation - Moth food
tags:
- Mail
- Paper # Goobstation
- type: AccessReader
- type: Sprite
scale: 0.7, 0.7 # Frontier
sprite: Nyanotrasen/Objects/Specific/Mail/mail.rsi
layers:
- state: icon
map: ["enum.MailVisualLayers.Icon"]
- state: postmark
- state: fragile
map: ["enum.MailVisualLayers.FragileStamp"]
visible: false
- map: ["enum.MailVisualLayers.JobStamp"]
scale: 0.8, 0.8 # Frontier 0.5<0.8
offset: 0.225, 0.165 # Frontier (0.275, 0.2)<(0.225, 0.165)
- state: locked
map: ["enum.MailVisualLayers.Lock"]
- state: priority
map: ["enum.MailVisualLayers.PriorityTape"]
visible: false
shader: unshaded
- state: broken
map: ["enum.MailVisualLayers.Breakage"]
visible: false
- type: Appearance
- type: GenericVisualizer
visuals:
enum.MailVisuals.IsTrash:
enum.MailVisualLayers.Icon:
True:
state: trash
False:
state: icon
enum.MailVisuals.IsLocked:
enum.MailVisualLayers.Lock:
True:
visible: true
False:
visible: false
enum.MailVisuals.IsFragile:
enum.MailVisualLayers.FragileStamp:
True:
visible: true
False:
visible: false
enum.MailVisuals.IsPriority:
enum.MailVisualLayers.PriorityTape:
True:
visible: true
False:
visible: false
enum.MailVisuals.IsPriorityInactive:
enum.MailVisualLayers.PriorityTape:
True:
shader: shaded
state: priority_inactive
False:
shader: unshaded
state: priority
enum.MailVisuals.IsBroken:
enum.MailVisualLayers.Breakage:
True:
visible: true
False:
visible: false
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 5
#triggersOnce: true
behaviors:
- !type:DoActsBehavior
acts: [ "Breakage" ]
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Speech
- type: DamageOnLand
damage:
types:
Blunt: 10
- type: CargoSellBlacklist # Frontier
- type: Food # Frontier - Moth food
delay: 7 # Goobstation - Mail should take as long as paper to eat
forceFeedDelay: 7
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 1
reagents:
- ReagentId: Nothing
Quantity: 1
- type: FlavorProfile # Goobstation - Moth food
flavors:
- paper
ignoreReagents:
- Fiber
- type: LanguageSpeaker # Einstein Engines - Language
- type: LanguageKnowledge # Einstein Engines - Language
speaks:
- TauCetiBasic # So that them foreigners can't understand what the broken mail is saying
understands: []
# This empty parcel is allowed to exist and evade the tests for the admin
# mailto command.
- type: entity
parent: BaseMail
id: MailAdminFun
suffix: adminfun

View File

@@ -0,0 +1,28 @@
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
name: mail bag
id: MailBag
parent: BaseStorageItem
description: Here's the mail, it never fails...
components:
- type: Sprite
sprite: Nyanotrasen/Clothing/Belt/mailbag.rsi
state: icon
- type: Clothing
sprite: Nyanotrasen/Clothing/Belt/mailbag.rsi
quickEquip: false
slots:
- belt
- type: Item
size: Large
- type: Storage
grid:
- 0,0,5,3
quickInsert: true
whitelist:
components:
- Mail

View File

@@ -0,0 +1,28 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseItem
id: Hairball
name: hairball
description: Felinids, man...
components:
- type: Sprite
sprite: Nyanotrasen/Objects/Specific/Species/felinid.rsi
state: icon
- type: Hairball
- type: SolutionContainerManager
solutions:
hairball:
maxVol: 25
reagents:
- ReagentId: Protein
Quantity: 2
- type: Extractable
grindableSolutionName: hairball
- type: Tag
tags:
- Recyclable
- Trash

View File

@@ -0,0 +1,11 @@
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: BaseStationMail
abstract: true
components:
- type: StationMailRouter
- type: StationLogisticStats # DeltaV - Tracks statistics related to mail and income

View File

@@ -0,0 +1,67 @@
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 RatherUncreative <RatherUncreativeName@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: MailTeleporter
parent: [ BaseMachinePowered, ConstructibleMachine ]
name: mail teleporter
description: Teleports mail addressed to the crew of this station.
components:
- type: MailTeleporter
- type: InteractionOutline
- type: Physics
bodyType: Static
- type: Transform
anchored: true
noRot: true
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.00"
density: 120
mask:
- HighImpassable
- type: Sprite
sprite: Nyanotrasen/Structures/mailbox.rsi
layers:
- state: icon
- state: unlit
shader: unshaded
visible: false
map: ["enum.PowerDeviceVisualLayers.Powered"]
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- type: ApcPowerReceiver
powerLoad: 1000 # TODO if we keep this make it spike power draw when teleporting
powerDisabled: true
- type: ExtensionCableReceiver
- type: Appearance
- type: GenericVisualizer
visuals:
enum.PowerDeviceVisuals.Powered:
enum.PowerDeviceVisualLayers.Powered:
True: {visible: true}
False: {visible: false}
- type: PowerSwitch
- type: Machine
board: MailTeleporterMachineCircuitboard