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

This commit is contained in:
F8ctor
2025-03-25 23:54:53 +01:00
parent 09fb76ea6a
commit f0c878c6a3
2 changed files with 235 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
- type: entity
save: false
parent:
parent:
- BaseMob
- MobCombat
- CP14MobDamageable
@@ -234,7 +234,7 @@
- type: entity
parent:
parent:
- MobBloodstream
- MobRespirator
- MobAtmosStandard
@@ -381,4 +381,233 @@
- type: UserInterface
interfaces:
enum.HumanoidMarkingModifierKey.Key: # sure, this can go here too
type: HumanoidMarkingModifierBoundUserInterface
type: HumanoidMarkingModifierBoundUserInterface
- type: entity
save: false
parent:
- BaseMob
- MobCombat
- 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: CP14DemiplaneStabilizer
requireAlive: true
- 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
@@ -126,4 +126,4 @@
- type: HumanoidAppearance
species: CP14Skeleton
- type: Inventory
templateId: CP14Human
templateId: CP14Human