Cloning Refactor and bugfixes (#35555)

* cloning refactor

* cleanup and fixes

* don't pick from 0

* give dwarves the correct species

* fix dna and bloodstream reagent data cloning

* don't copy helmets

* be less redundant
This commit is contained in:
slarticodefast
2025-03-02 16:50:12 +01:00
committed by GitHub
parent 02d3595faa
commit ceff2bea00
25 changed files with 796 additions and 420 deletions

View File

@@ -60,11 +60,13 @@
id: CloningPodSender
name: signal-port-name-pod-receiver
description: signal-port-description-pod-sender
defaultLinks: [ CloningPodReceiver ]
- type: sourcePort
id: MedicalScannerSender
name: signal-port-name-med-scanner-sender
description: signal-port-description-med-scanner-sender
defaultLinks: [ MedicalScannerReceiver ]
- type: sourcePort
id: ArtifactAnalyzerSender

View File

@@ -0,0 +1,84 @@
# Settings for cloning bodies
# If you add a new trait, job specific component or a component doing visual/examination changes for humanoids
# then add it here to the correct prototype.
# The datafields of the components are only shallow copied using CopyComp.
# Subscribe to CloningEvent instead if that is not enough.
- type: cloningSettings
id: BaseClone
components:
# general
- DetailExaminable
- Dna
- Fingerprint
- NpcFactionMember
# traits
# - LegsParalyzed (you get healed)
- LightweightDrunk
- Narcolepsy
- Pacified
- PainNumbness
- Paracusia
- PermanentBlindness
- Unrevivable
# job specific
- BibleUser
- CommandStaff
- Clumsy
- MindShield
- MimePowers
# accents
- Accentless
- BackwardsAccent
- BarkAccent
- BleatingAccent
- FrenchAccent
- GermanAccent
- LizardAccent
- MobsterAccent
- MonkeyAccent
- MothAccent
- MumbleAccent
- OwOAccent
- ParrotAccent
- PirateAccent
# - ReplacementAccent
# Not supported at the moment because AddAccentClothingComponent will make it permanent when cloned.
# TODO: AddAccentClothingComponent should use an inventory relay event.
# Also ZombieComponent overwrites the old replacement accent, because you can only have one at a time.
- RussianAccent
- ScrambledAccent
- SkeletonAccent
- SlurredAccent
- SouthernAccent
- SpanishAccent
- StutteringAccent
blacklist:
components:
- AttachedClothing # helmets, which are part of the suit
- type: cloningSettings
id: Antag
parent: BaseClone
components:
- HeadRevolutionary
- Revolutionary
- type: cloningSettings
id: CloningPod
parent: Antag
forceCloning: false
copyEquipment: null
# spawner
- type: entity
id: RandomCloneSpawner
name: Random Clone
suffix: Non-Antag
components:
- type: Sprite
sprite: Markers/paradox_clone.rsi
state: preview
- type: RandomCloneSpawner
settings: BaseClone

View File

@@ -8,7 +8,7 @@
- type: Hunger
- type: Thirst
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi # It was like this beforehand, no idea why.
sprite: Mobs/Species/Human/parts.rsi
state: full
- type: Respirator
damage:
@@ -52,7 +52,7 @@
- type: Speech
speechSounds: Bass
- type: HumanoidAppearance
species: Human
species: Dwarf
hideLayersOnEquip:
- Hair
- Snout