* snail

* sack snail

* gib on step

* comment

* chance step trigger

* timed spawner

* Respirator

* GhostRole

* Speech

* Hunger

* Thirst
This commit is contained in:
Nim
2025-09-30 19:27:58 +03:00
committed by GitHub
parent ef9fbbd699
commit 60946749a8
13 changed files with 281 additions and 1 deletions

View File

@@ -12,3 +12,6 @@ cp14-ghost-role-information-description-rat = An honorable rat. Relieve tavernke
cp14-ghost-role-information-name-bone-hound = Bone hound
cp14-ghost-role-information-description-bone-hound = A bone hound created by necromantic magic, usually summoned by skeleton mages to form a pack of hunters. Obeys the skeleton that summoned it.
cp14-ghost-role-information-name-snail = Snail
cp14-ghost-role-information-description-snail = Surviving is already an achievement.

View File

@@ -12,3 +12,6 @@ cp14-ghost-role-information-description-rat = Крыса чести. Избав
cp14-ghost-role-information-name-bone-hound = Костяная гончая
cp14-ghost-role-information-description-bone-hound = Костяная гончая, созданная с помощью магии некромантии, обычно вызываемая магами скелетами для формирования стаи охотников. Подчиняется скелету, который его вызвал.
cp14-ghost-role-information-name-snail = Улитка
cp14-ghost-role-information-description-snail = Выжить это уже достижение.

View File

@@ -126,3 +126,5 @@
- id: CP14BookTieflingGambit
- id: CP14GuidebookCooking
- id: CP14SackFarmingSeedFull
- id: CP14SackFarmingSeedSnail
prob: 0.6

View File

@@ -107,6 +107,22 @@
prototypes:
- CP14MobSheep
- type: entity
name: snail spawner
id: CP14SpawnMobSnail
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Animals/snail.rsi
state: live
- type: ConditionalSpawner
prototypes:
- CP14MobSnail
# Dino
- type: entity

View File

@@ -0,0 +1,20 @@
- type: entity
name: snail timed spawner
id: CP14SpawnTimedMobSnail
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: blue
- sprite: _CP14/Mobs/Animals/snail.rsi
state: live
- type: Timer
- type: TimedSpawner
prototypes:
- CP14MobSnail
chance: 0.5
intervalSeconds: 540
minimumEntitiesSpawned: 1
maximumEntitiesSpawned: 1

View File

@@ -565,4 +565,139 @@
volume: -2
variation: 0.125
- type: SoundWhileAlive
- type: FloorOcclusion
- type: entity
id: CP14MobSnail
parent: CP14SimpleMobBase
name: snail
description: A small and slow snail. It seems that any touch could crush it.
categories: [ ForkFiltered ]
components:
- type: GhostRole
makeSentient: true
allowSpeech: true
allowMovement: true
name: cp14-ghost-role-information-name-snail
description: cp14-ghost-role-information-description-snail
rules: ghost-role-information-freeagent-rules
mindRoles:
- MindRoleGhostRoleFreeAgentHarmless
- type: GhostTakeoverAvailable
- type: HTN
constantlyReplan: false
rootTask:
task: MouseCompound
- type: NpcFactionMember
factions:
- CP14PeacefulAnimals
- type: Sprite
drawdepth: SmallMobs
layers:
- sprite: _CP14/Mobs/Animals/snail.rsi
state: live
- type: Item
size: Tiny
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.1
density: 20
mask:
- SmallMobMask
layer:
- SmallMobLayer
- type: MobState
- type: MobThresholds
thresholds:
0: Alive
10: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 3
- type: Speech
speechVerb: SmallMob
- type: ReplacementAccent
accent: mouse
- type: Food
- type: Thirst
baseDecayRate: 0.01
- type: Hunger
baseDecayRate: 0.01
- type: Body
prototype: null
- type: Respirator
minSaturation: 5.0
- type: SolutionContainerManager
solutions:
food:
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 3
- type: Tag
tags:
- Meat
- type: CombatMode
combatToggleAction: ActionCombatModeToggleOff
- type: Bloodstream
bloodMaxVolume: 10
bloodReagent: CP14BloodAnimal
- type: CanEscapeInventory
- type: BadFood
- type: FireVisuals
sprite: Mobs/Effects/onfire.rsi
normalState: Mouse_burning
- type: NoSlip
- type: Slippery
- type: StepTrigger
requiredTriggeredSpeed: 1
- type: TriggerOnStepTrigger
- type: RandomChanceTriggerCondition
successChance: 0.3
- type: GibOnTrigger
- type: ProtectedFromStepTriggers
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:GibBehavior
recursive: false
- !type:SpawnEntitiesBehavior
spawnInContainer: true
spawn:
CP14FoodSnailShell:
min: 1
max: 1
- trigger:
!type:DamageTypeTrigger
damageType: Blunt
damage: 3
behaviors:
- !type:GibBehavior
recursive: false
- trigger:
!type:DamageTypeTrigger
damageType: Slash
damage: 5
behaviors:
- !type:GibBehavior
recursive: false
- trigger:
!type:DamageTypeTrigger
damageType: Heat
damage: 9
behaviors:
- !type:SpawnEntitiesBehavior
spawnInContainer: true
spawn:
CP14Ash1:
min: 1
max: 1
- !type:BurnBodyBehavior { }
- !type:PlaySoundBehavior
sound:
collection: MeatLaserImpact

View File

@@ -63,3 +63,62 @@
Quantity: 6
- type: Temperature
currentTemperature: 250
- type: entity
id: CP14FoodSnailShell
parent: FoodInjectableBase
categories: [ ForkFiltered ]
name: shell
description: A snail shell with a dead snail inside.
components:
- type: Item
size: Tiny
- type: FlavorProfile
flavors:
- meaty
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/shell.rsi
layers:
- state: shell
- type: SolutionContainerManager
solutions:
food:
maxVol: 6
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 3
- type: Temperature
currentTemperature: 290
- type: InternalTemperature
thickness: 0.006
area: 0.006
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
transformTo: CP14FoodSnailShellCooked
- type: entity
id: CP14FoodSnailShellCooked
parent:
- FoodInjectableBase
- CP14BurnsAsh
categories: [ ForkFiltered ]
name: cooked snail
description: Fried shells with snails in their own juice. Excellent.
components:
- type: Item
size: Tiny
- type: FlavorProfile
flavors:
- meaty
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/shell.rsi
layers:
- state: cooked_snail
- type: SolutionContainerManager
solutions:
food:
maxVol: 6
reagents:
- ReagentId: Protein
Quantity: 3

View File

@@ -131,3 +131,13 @@
- id: CP14SeedCotton
amount: 1
prob: 0.4
- type: entity
id: CP14SackFarmingSeedSnail
parent: CP14SackFarmingSeed
suffix: Snail
components:
- type: StorageFill
contents:
- id: CP14FoodSnailShellCooked
amount: 12

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

View File

@@ -0,0 +1,15 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-4.0",
"copyright": "Created by omsoyk (github/discord)",
"states": [
{
"name": "live",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

View File

@@ -0,0 +1,17 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-4.0",
"copyright": "Created by omsoyk (github/discord)",
"states": [
{
"name": "shell"
},
{
"name": "cooked_snail"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B