No life mobs (#1072)

* Slimeeeee!

* SimpleSpaceMobNoLifeBase

* No-no-no mr. Skeletik, you not alive

* Delete "bug"

* Revert "Delete "bug""

This reverts commit 4ce64f1cbc.

* Revert "No-no-no mr. Skeletik, you not alive"

This reverts commit f0c878c6a3.

* return, I'll see what's wrong

* Fix

* [ ] Work complete
This commit is contained in:
F8ctor
2025-03-29 14:53:34 +01:00
committed by GitHub
parent fddbb010cf
commit 03e0d66083
4 changed files with 295 additions and 13 deletions

View File

@@ -1,6 +1,6 @@
- type: entity
id: CP14MobSlimeBase
parent: [ CP14SimpleMobBase, MobCombat ]
parent: CP14SimpleMobNoLifeBase
name: slime
description: A clot of semi-intelligent slime sensitive to the elemental elements. And happy to slime the skin off your face.
components:
@@ -138,4 +138,4 @@
breakOnMove: false
breakOnDamage: false
castDelay: 1
raiseOnUser: true
raiseOnUser: true

View File

@@ -1,6 +1,6 @@
- type: entity
save: false
parent:
parent:
- BaseMob
- MobCombat
- CP14MobDamageable
@@ -235,7 +235,7 @@
- type: entity
parent:
parent:
- MobBloodstream
- MobRespirator
- MobAtmosStandard
@@ -381,4 +381,230 @@
- type: UserInterface
interfaces:
enum.HumanoidMarkingModifierKey.Key: # sure, this can go here too
type: HumanoidMarkingModifierBoundUserInterface
type: HumanoidMarkingModifierBoundUserInterface
- type: entity
save: false
parent:
- BaseMob
- CP14MobDamageable
- CP14MobMagical
id: CP14BaseMobSpeciesNoLife
categories: [ ForkFiltered ]
abstract: true
components:
- type: Sprite
layers:
- map: [ "enum.HumanoidVisualLayers.Chest" ]
- map: [ "enum.HumanoidVisualLayers.Head" ]
- map: [ "enum.HumanoidVisualLayers.Snout" ]
- map: [ "enum.HumanoidVisualLayers.Eyes" ]
- map: [ "vampire_fangs" ]
sprite: _CP14/Mobs/Species/Vampire/fangs.rsi
state: human
visible: false
- map: [ "enum.HumanoidVisualLayers.RArm" ]
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- shader: StencilClear
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: l_leg
- shader: StencilMask
map: [ "enum.HumanoidVisualLayers.StencilMask" ]
sprite: Mobs/Customization/masking_helpers.rsi
state: unisex_full
visible: false
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
- map: [ "pants" ]
- map: [ "shoes" ]
- map: [ "shirt" ]
- map: [ "enum.HumanoidVisualLayers.LHand" ]
- map: [ "enum.HumanoidVisualLayers.RHand" ]
- map: [ "gloves" ]
- map: [ "ears" ]
- map: [ "outerClothing" ]
- map: [ "cloak" ]
- map: [ "eyes" ]
- map: [ "belt1" ]
- map: [ "belt2" ]
- map: [ "neck" ]
- map: [ "back" ]
- map: [ "enum.HumanoidVisualLayers.FacialHair" ]
- map: [ "enum.HumanoidVisualLayers.Hair" ]
- map: [ "enum.HumanoidVisualLayers.HeadSide" ]
- map: [ "enum.HumanoidVisualLayers.HeadTop" ]
- map: [ "enum.HumanoidVisualLayers.Tail" ]
- map: [ "mask" ]
- map: [ "head" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- type: DamageVisuals
thresholds: [ 10, 20, 30, 50, 70, 100 ]
targetLayers:
- "enum.HumanoidVisualLayers.Chest"
- "enum.HumanoidVisualLayers.Head"
- "enum.HumanoidVisualLayers.LArm"
- "enum.HumanoidVisualLayers.LLeg"
- "enum.HumanoidVisualLayers.RArm"
- "enum.HumanoidVisualLayers.RLeg"
damageOverlayGroups:
Brute:
sprite: Mobs/Effects/brute_damage.rsi
color: "#FF0000"
Burn:
sprite: Mobs/Effects/burn_damage.rsi
- type: GenericVisualizer
visuals:
enum.CreamPiedVisuals.Creamed:
clownedon: # Not 'creampied' bc I can already see Skyrat complaining about conflicts.
True: {visible: true}
False: {visible: false}
- type: StatusIcon
bounds: -0.5,-0.5,0.5,0.5
- type: RotationVisuals
defaultRotation: 90
horizontalRotation: 90
- type: HumanoidAppearance
species: CP14Human
- type: SlowOnDamage
speedModifierThresholds:
60: 0.7
80: 0.5
- type: Fixtures
fixtures: # TODO: This needs a second fixture just for mob collisions.
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 185
restitution: 0.0
mask:
- MobMask
layer:
- MobLayer
- type: FloorOcclusion
- type: RangedDamageSound
soundGroups:
Brute:
collection:
MeatBulletImpact
soundTypes:
Heat:
collection:
MeatLaserImpact
- type: Reactive
groups:
Flammable: [ Touch ]
Extinguish: [ Touch ]
Acidic: [Touch, Ingestion]
reactions:
- reagents: [Water, SpaceCleaner]
methods: [Touch]
effects:
- !type:WashCreamPieReaction
- type: StatusEffects
allowed:
- Stun
- KnockedDown
- SlowedDown
- Stutter
- SeeingRainbows
- Electrocution
- Drunk
- SlurredSpeech
- RatvarianLanguage
- PressureImmunity
- Muted
- ForcedSleep
- TemporaryBlindness
- Pacified
- StaminaModifier
- Flashed
- RadiationProtection
- Drowsiness
- Adrenaline
- type: Body
prototype: CP14Human
requiredLegs: 2
- type: Identity
- type: Hands
- type: ComplexInteraction
- type: Inventory
- type: InventorySlots
#- type: FloatingVisuals
- type: Climbing
- type: Cuffable
- type: Ensnareable
sprite: Objects/Misc/ensnare.rsi
state: icon
- type: AnimationPlayer
- type: Buckle
- type: CombatMode
canDisarm: true
- type: MeleeWeapon
soundHit:
collection: Punch
angle: 30
animation: WeaponArcFist
attackRate: 1.3
damage:
types:
Blunt: 3
- type: SleepEmitSound
- type: SSDIndicator
- type: StandingState
- type: MindContainer
showExamineInfo: true
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: NpcFactionMember
factions:
- CP14Adventurers
- type: Stripping
- type: Strippable
- type: UserInterface
interfaces:
enum.HumanoidMarkingModifierKey.Key:
type: HumanoidMarkingModifierBoundUserInterface
enum.StrippingUiKey.Key:
type: StrippableBoundUserInterface
- type: Puller
- type: Speech
speechSounds: Alto
- type: DamageForceSay
- type: Vocal
sounds:
Male: MaleHuman
Female: FemaleHuman
Unsexed: MaleHuman
- type: Emoting
- type: BodyEmotes
soundsId: GeneralBodyEmotes
- type: Grammar
attributes:
proper: true
- type: MobPrice
price: 1500 # Kidnapping a living person and selling them for cred is a good move.
deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less.
- type: Tag
tags:
- FootstepSound
- type: CanEnterCryostorage
- type: CP14IgnitionModifier
ignitionTimeModifier: 2.5
- type: CanMoveInAir # read: CanSwimInOcean lol
- type: MovementAlwaysTouching
- type: MovementSpeedModifier
weightlessAcceleration: 0.8 # Slow swimming
weightlessFriction: 2
weightlessModifier: 0.6

View File

@@ -1,6 +1,6 @@
- type: entity
parent:
- CP14BaseMobSpecies
parent:
- CP14BaseMobSpeciesNoLife
- MobFlammable
id: CP14BaseMobSkeleton
name: Mr. Skeleton
@@ -91,10 +91,6 @@
- type: Damageable
damageContainer: Biological
damageModifierSet: Skeleton
- type: Hunger
baseDecayRate: 0.0003
- type: Thirst
baseDecayRate: 0.0003
- type: Destructible
thresholds:
- trigger:
@@ -125,4 +121,4 @@
- type: HumanoidAppearance
species: CP14Skeleton
- type: Inventory
templateId: CP14Human
templateId: CP14Human

View File

@@ -47,7 +47,7 @@
- type: CP14MagicUnsafeSleep
- type: CP14MagicAttuningMind
autoCopyToMind: true
- type: entity
parent:
@@ -95,3 +95,63 @@
- type: MobPrice
price: 150
- type: FloatingVisuals
- type: entity
parent:
- CP14MobDamageable
- MobRespirator
- MobAtmosStandard
- CP14SimpleSpaceMobNoLifeBase
id: CP14SimpleMobNoLifeBase
suffix: AI
abstract: true
components:
- type: StatusEffects
allowed:
- Stun
- KnockedDown
- SlowedDown
- Stutter
- Electrocution
- ForcedSleep
- TemporaryBlindness
- Pacified
- StaminaModifier
- Flashed
- RadiationProtection
- Drowsiness
- Adrenaline
- type: MobPrice
price: 150
- type: FloatingVisuals
- type: entity
abstract: true
parent:
- BaseSimpleMob
- MobCombat
- MobFlammable
id: CP14SimpleSpaceMobNoLifeBase
suffix: AI
components:
- type: NpcFactionMember
factions:
- CP14Neutrals
- type: HTN
rootTask:
task: IdleCompound
- type: MeleeWeapon
angle: 0
animation: WeaponArcBite
- type: Body
prototype: Animal
- type: Climbing
- type: NameIdentifier
group: GenericNumber
- type: SlowOnDamage
speedModifierThresholds:
60: 0.7
80: 0.5
- type: MobPrice
price: 1000 # Living critters are valuable in space.
- type: Perishable