Add Snails (#30765)

* add snails

* scuffix

* migrate

* mo-grate

* oopsied the ftls

* Revert "oopsied the ftls"

This reverts commit 0d3c6c17f31ec904679d6a48799cea71e77c1f99.

* the curse of staging the wrong file, resolved.

* Snoth

* fix my dumbs

* reviews 1

* anti space technology

* salt hurty

* spelling

* Its a slotherhouse out here

* sequencing

* cooked snail

* volfix

* speed reversal
This commit is contained in:
IProduceWidgets
2024-09-03 06:33:44 -04:00
committed by GitHub
parent aaae1f1e4b
commit c8e59ebdd5
21 changed files with 437 additions and 4 deletions

View File

@@ -369,3 +369,206 @@
suffix: "Salvage Ruleset"
components:
- type: SalvageMobRestrictions
- type: entity
parent: SimpleSpaceMobBase
id: MobSnail
name: snail
description: Revolting unless you're french.
components:
- type: Body
prototype: Mouse
- type: GhostRole
makeSentient: true
allowSpeech: false
allowMovement: true
name: ghost-role-information-snail-name
description: ghost-role-information-snail-description
rules: ghost-role-information-freeagent-rules
- type: GhostTakeoverAvailable
- type: Sprite
drawdepth: SmallMobs
sprite: Mobs/Animals/snail.rsi
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: snail
- type: Item
size: Tiny
- type: NpcFactionMember
factions:
- Mouse
- type: HTN
rootTask:
task: MouseCompound
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.2
density: 100
mask:
- SmallMobMask
layer:
- SmallMobLayer
- type: MobState
- type: Deathgasp
- type: MobStateActions
actions:
Critical:
- ActionCritSuccumb
- ActionCritFakeDeath
- ActionCritLastWords
- type: MobThresholds
thresholds:
0: Alive
10: Critical
20: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 2
baseSprintSpeed : 3
- type: DamageStateVisuals
states:
Alive:
Base: snail
Critical:
Base: dead
Dead:
Base: dead
- type: Food
- type: Thirst
startingThirst: 25 # spawn with Okay thirst state
thresholds:
OverHydrated: 35
Okay: 25
Thirsty: 15
Parched: 10
Dead: 0
baseDecayRate: 0.04
- type: Hunger
currentHunger: 25 # spawn with Okay hunger state
thresholds:
Overfed: 35
Okay: 25
Peckish: 15
Starving: 10
Dead: 0
baseDecayRate: 0.1
- type: Extractable
grindableSolutionName: food
- type: SolutionContainerManager
solutions:
food:
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 3
- type: Butcherable
spawned:
- id: FoodMeatSnail
amount: 1
- type: Tag
tags:
- Trash
- VimPilot
- ChefPilot
- Meat
- type: CombatMode
combatToggleAction: ActionCombatModeToggleOff
- type: Bloodstream
bloodMaxVolume: 30
bloodReagent: Cryoxadone
- type: CanEscapeInventory
- type: MobPrice
price: 50
- type: BadFood
- type: NonSpreaderZombie
- type: PreventSpiller
- type: FireVisuals
sprite: Mobs/Effects/onfire.rsi
normalState: Mouse_burning
- type: Temperature
heatDamageThreshold: 500
coldDamageThreshold: 0
- type: Reactive
reactions:
- reagents: [TableSalt, Saline]
methods: [Touch, Ingestion, Injection]
effects:
- !type:HealthChange
scaleByQuantity: true
damage:
types:
Caustic: 1
- !type:PopupMessage
type: Local
visualType: Large
messages: [ "snail-hurt-by-salt-popup" ]
probability: 0.66
- type: entity
parent: MobSnail
id: MobSnailInstantDeath
suffix: Smite
components:
- type: MobStateActions
actions:
Alive:
- ActionSmite
Critical:
- ActionCritSuccumb
- ActionCritFakeDeath
- ActionCritLastWords
- type: Godmode
- type: MovementAlwaysTouching
- type: entity
parent: MobSnail
id: MobSnailSpeed
suffix: Speed
components:
- type: GhostRole
name: ghost-role-information-snailspeed-name
description: ghost-role-information-snailspeed-description
rules: ghost-role-information-freeagent-rules
- type: Sprite
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: spacesnail
- type: DamageStateVisuals
states:
Alive:
Base: spacesnail
Critical:
Base: spacesnaildead
Dead:
Base: spacesnaildead
- type: MovementSpeedModifier
baseWalkSpeed : 5 #he go fast, also they cant slip so its probably fine.
baseSprintSpeed : 7
# - type: ActiveJetpack # I think this will need a custom component to not make tests angry.
- type: MovementAlwaysTouching
- type: entity
parent: MobSnail
id: MobSnailMoth
name: Snoth
components:
- type: Body
prototype: Mothroach
- type: GhostRole
name: ghost-role-information-snoth-name
description: ghost-role-information-snoth-description
rules: ghost-role-information-freeagent-rules
- type: Sprite
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: snoth
- type: DamageStateVisuals
states:
Alive:
Base: snoth
Critical:
Base: snothdead
Dead:
Base: snothdead

View File

@@ -930,6 +930,35 @@
taco:
name: food-sequence-content-slime
- type: entity
name: raw snail meat
parent: FoodMeatRawBase
id: FoodMeatSnail
description: Improved with salt.
components:
- type: Sprite
state: snail
- type: FoodSequenceElement
sprite:
sprite: Objects/Consumable/Food/meat.rsi
state: snail
entries:
burger:
name: food-sequence-content-snail
taco:
name: food-sequence-content-snail
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 3
- ReagentId: Fat
Quantity: 3
- ReagentId: Water
Quantity: 4 #It makes saline if you add salt!
# Cooked
- type: entity
@@ -1473,6 +1502,40 @@
sprite: Objects/Consumable/Food/skewer.rsi
state: skewer-meat
- type: entity
name: boiled snail
parent: FoodMeatBase
id: FoodMeatSnailCooked
description: Improved with salt.
components:
- type: Tag
tags:
- Cooked
- Meat
- type: Sprite
layers:
- state: snail-cooked
- type: FoodSequenceElement
sprite:
sprite: Objects/Consumable/Food/meat.rsi
state: snail-cooked
entries:
burger:
name: food-sequence-content-snail
taco:
name: food-sequence-content-snail
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
reagents:
- ReagentId: Nutriment
Quantity: 3
- ReagentId: Protein
Quantity: 3
- ReagentId: Water
Quantity: 4 # makes saline if you add salt!
# Cutlets
# Raw

View File

@@ -1227,3 +1227,33 @@
- Fruit
- Soup
# Tastes like bungo, hot curry.
- type: entity
name: escargot
parent: FoodBowlBase
id: FoodSoupEscargot
description: A creamy and rich bowl of snails, bon appetit!
components:
- type: FlavorProfile
flavors:
- creamy
- slimy
- type: Sprite
layers:
- state: bowl
- state: escargot
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
reagents:
- ReagentId: Nutriment
Quantity: 6
- ReagentId: Vitamin
Quantity: 6
- ReagentId: Allicin
Quantity: 3
- type: Tag
tags:
- Meat
- Soup