Flem Creature (#1402)

* added Flem Creature

a weird looking fish creature that will spawn in the demiplanes with open skies and herbals. that will attack you if you get too close

* fixed placement of lines

should be in the right places now

* changed location of fish outfit, ajusted the sprite, and made it not foldable

* added flem modifier and fixed some thingy

* Update attributions.yml

* Update mobs.yml

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
This commit is contained in:
Fr0goo
2025-06-13 06:25:33 -04:00
committed by GitHub
parent 54715c26a8
commit 542bd2d948
40 changed files with 598 additions and 0 deletions

View File

@@ -17,3 +17,28 @@
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.95
- type: entity
parent: CP14ClothingHeadBase
id: CP14ClothingHeadFishMask
name: fish mask
description: SALUTATIONS!!!
components:
- type: Sprite
sprite: _CP14/Clothing/Head/Produced/Armor/fish_mask.rsi
- type: Clothing
sprite: _CP14/Clothing/Head/Produced/Armor/fish_mask.rsi
- type: Armor
modifiers:
coefficients:
Blunt: 0.95
Cold: 0.92
- type: FactionClothing
faction: CP14Fishies
- type: HideLayerClothing
slots:
- Hair
- type: TypingIndicatorClothing
proto: alien
- type: IdentityBlocker
- type: IngestionBlocker

View File

@@ -121,3 +121,4 @@
#- type: Construction
# graph: CP14StrawHat
# node: cp14headstrawhat

View File

@@ -102,3 +102,5 @@
- type: Clothing
sprite: _CP14/Clothing/OuterClothing/Roles/General/purple.rsi

View File

@@ -55,3 +55,22 @@
Slash: 0.80
Piercing: 0.90
- type: entity
parent: CP14ClothingOuterClothingBase
id: CP14ClothingOuterClothingFish
name: fish suit
description: smells horible....
components:
- type: Sprite
sprite: _CP14/Clothing/OuterClothing/fish_suit.rsi
- type: Clothing
sprite: _CP14/Clothing/OuterClothing/fish_suit.rsi
- type: Armor
modifiers:
coefficients:
Blunt: 0.95
Cold: 0.9
Slash: 0.92
- type: FactionClothing
faction: CP14Fishies

View File

@@ -209,3 +209,17 @@
range: 2, 3
children:
- id: CP14MobSlimeBase
- type: entity
parent: CP14BaseMobGroupSpawner
id: CP14MobGroupSpawnerFlem
suffix: 2-3 Flems
components:
- type: EntityTableSpawner
deleteSpawnerAfterSpawn: false
offset: 1
table: !type:GroupSelector
rolls: !type:RangeNumberSelector
range: 1, 3
children:
- id: CP14MobMonsterFlem

View File

@@ -188,3 +188,19 @@
- type: ConditionalSpawner
prototypes:
- CP14MobMonsterInvisibleWhistler
- type: entity
name: flem spawner
id: CP14SpawnMobMonsterFlem
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Monster/flem.rsi
state: flem_live
- type: ConditionalSpawner
prototypes:
- CP14MobMonsterFlem

View File

@@ -0,0 +1,100 @@
- type: entity
id: CP14MobMonsterFlem
parent: CP14SimpleMobBase
name: Flem
description: an odd looking fish standing on two stubby legs. you know what that means...
categories: [ ForkFiltered ]
components:
- type: HTN
rootTask:
task: CP14MonsterCompound
blackboard:
NavSmash: !type:Bool
true
VisionRadius: !type:Single
3
AggroVisionRadius: !type:Single
1
- type: NpcFactionMember
factions:
- CP14Fishies
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
sprite: _CP14/Mobs/Monster/flem.rsi
state: flem_live
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.20
density: 100
mask:
- MobMask
layer:
- MobLayer
- type: Appearance
- type: Body
prototype: Animal
- type: MobThresholds
thresholds:
0: Alive
30: Dead
- type: Stamina
critThreshold: 200
- type: CombatMode
- type: MeleeWeapon
angle: 0
animation: WeaponArcPunch
damage:
types:
Blunt: 8
Structural: 20
- type: MovementSpeedModifier
baseWalkSpeed: 2.6
baseSprintSpeed: 2.6
- type: DamageStateVisuals
states:
Alive:
Base: flem_live
Dead:
Base: flem_dead
- type: Butcherable
spawned:
- id: CP14FoodMeatFlemHead
amount: 1
- id: CP14FoodMeatFlemTorso
amount: 1
- id: CP14FoodMeatFlemLeg
amount: 2
prob: 0.6
- type: Bloodstream
bloodMaxVolume: 200
bloodReagent: CP14BloodAnimal
- type: Grammar
attributes:
gender: epicene
- type: TypingIndicator
proto: alien
- type: CP14MagicCasterSlowdown
- type: CP14MagicEnergyContainer
magicAlert: CP14MagicEnergy
maxEnergy: 100
energy: 100
- type: CP14MagicEnergyDraw
energy: 2
delay: 4
- type: SpamEmitSound
minInterval: 10
maxInterval: 30
sound:
collection: CP14Flem
params:
variation: 0.125
- type: SoundWhileAlive
- type: Tag
tags:
- FootstepSound
- CP14Mosquito

View File

@@ -930,3 +930,235 @@
entries:
- temperatureRange: 400, 500
transformTo: CP14Ash1
#Flem meat
- type: entity
id: CP14FoodMeatFlemHead
parent: CP14FoodMeatBase
name: raw flem head
description: honestly looks quite tasty
components:
- type: FlavorProfile
flavors:
- fishy
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/meat.rsi
state: flem_head
- type: Item
size: Large
shape:
- 0,0,1,1
- type: SolutionContainerManager
solutions:
food:
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 7
- ReagentId: UncookedAnimalProteins
Quantity: 18
- ReagentId: Fat
Quantity: 5
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
transformTo: CP14FoodMeatFlemHeadCooked
- type: entity
id: CP14FoodMeatFlemHeadCooked
parent: CP14FoodMeatFlemHead
name: cooked flem head
components:
- type: Sprite
state: flem_head_cooked
- type: SolutionContainerManager
solutions:
food:
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 7
- ReagentId: Protein
Quantity: 18
- ReagentId: Fat
Quantity: 5
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
transformTo: CP14Ash1
- type: entity
id: CP14FoodMeatFlemTorso
parent: CP14FoodMeatBase
name: raw flem torso
description: seems to be hollow
components:
- type: FlavorProfile
flavors:
- fishy
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/meat.rsi
state: flem_torso
- type: SliceableFood
count: 3
slice: CP14FoodMeatFlemTorsoCut
- type: Item
size: Large
shape:
- 0,0,1,1
- type: SolutionContainerManager
solutions:
food:
maxVol: 35
reagents:
- ReagentId: Nutriment
Quantity: 6
- ReagentId: UncookedAnimalProteins
Quantity: 24
- ReagentId: Fat
Quantity: 2
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
transformTo: CP14FoodMeatFlemTorsoCooked
- type: entity
id: CP14FoodMeatFlemTorsoCooked
parent: CP14FoodMeatFlemTorso
name: cooked flem torso
components:
- type: Sprite
state: flem_torso_cooked
- type: SliceableFood
count: 3
slice: CP14FoodMeatFlemTorsoCookedCut
- type: SolutionContainerManager
solutions:
food:
maxVol: 35
reagents:
- ReagentId: Nutriment
Quantity: 6
- ReagentId: Protein
Quantity: 24
- ReagentId: Fat
Quantity: 2
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
transformTo: CP14Ash1
- type: entity
id: CP14FoodMeatFlemTorsoCut
parent: CP14FoodMeatSliceBase
name: raw flem ring
description: onions not included
components:
- type: FlavorProfile
flavors:
- fishy
- type: Item
size: Small
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/meat.rsi
layers:
- state: flem_torso_cut
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
reagents:
- ReagentId: Nutriment
Quantity: 2
- ReagentId: UncookedAnimalProteins
Quantity: 5
- ReagentId: Fat
Quantity: 0.5
- type: Tag
tags:
- CP14RawMeatSlice
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
transformTo: CP14FoodMeatFlemTorsoCookedCut
- type: entity
id: CP14FoodMeatFlemTorsoCookedCut
parent: CP14FoodMeatFlemTorsoCut
name: fishy rings
components:
- type: Sprite
layers:
- state: flem_torso_cut_cooked
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
reagents:
- ReagentId: Nutriment
Quantity: 2
- ReagentId: Protein
Quantity: 5
- ReagentId: Fat
Quantity: 0.5
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
transformTo: CP14Ash1
- type: entity
id: CP14FoodMeatFlemLeg
parent: CP14FoodMeatBase
name: raw flem leg
description: probally not the best part to eat. but you never know until you try
components:
- type: FlavorProfile
flavors:
- fishy
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/meat.rsi
state: flem_leg
- type: Item
size: Tiny
shape:
- 0,0,0,0
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
reagents:
- ReagentId: Nutriment
Quantity: 0.2
- ReagentId: UncookedAnimalProteins
Quantity: 5
- ReagentId: Fat
Quantity: 0.1
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
transformTo: CP14FoodMeatFlemLegCooked
- type: entity
id: CP14FoodMeatFlemLegCooked
parent: CP14FoodMeatFlemLeg
name: fish sticks
description: like freis. but fish!
components:
- type: Sprite
state: flem_leg_cooked
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
reagents:
- ReagentId: Nutriment
Quantity: 0.2
- ReagentId: UncookedAnimalProteins
Quantity: 5
- ReagentId: Fat
Quantity: 0.1
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
transformTo: CP14Ash1

View File

@@ -72,6 +72,25 @@
minGroupSize: 2
maxGroupSize: 3
- type: cp14DemiplaneModifier
id: EnemyFlem
levels:
min: 1
max: 8
name: cp14-modifier-flem
generationWeight: 0.33
categories:
Danger: 0.25
requiredTags:
- CP14DemiplaneOpenSky
- CP14DemiplaneHerbals
layers:
- !type:CP14OreDunGen
entity: CP14MobMonsterFlem
count: 3
minGroupSize: 3
maxGroupSize: 4
# TIER 2
- type: cp14DemiplaneModifier
@@ -256,3 +275,4 @@
maxGroupSize: 15

View File

@@ -43,3 +43,21 @@
protoId: CP14FoodPumpkinSlice
count: 5
result: CP14FoodPiePumpkinRaw
# preobaly just a placeholder until we get actaul fish
- type: CP14Recipe
id: CP14FoodPieFishRaw
tag: CP14RecipeCooking
craftTime: 5
requirements:
- !type:ProtoIdResource
protoId: CP14PlatePie
- !type:ProtoIdResource
protoId: CP14FoodDoughMediumFlat
- !type:ProtoIdResource
protoId: CP14FoodMeatFlemTorso
- !type:ProtoIdResource
protoId: CP14FoodMeatFlemLeg
count: 2
result: CP14FoodPieFishRaw

View File

@@ -251,6 +251,34 @@
count: 2
result: CP14ClothingPantsMercenaryTrousers
- type: CP14Recipe
id: CP14ClothingOuterClothingFish
tag: CP14RecipeSewing
craftTime: 4
requirements:
- !type:ProtoIdResource
protoId: CP14FoodMeatFlemTorso
- !type:ProtoIdResource
protoId: CP14String
- !type:StackResource
stack: CP14Cloth
count: 3
result: CP14ClothingOuterClothingFish
- type: CP14Recipe
id: CP14ClothingHeadFishMask
tag: CP14RecipeSewing
craftTime: 5
requirements:
- !type:ProtoIdResource
protoId: CP14FoodMeatFlemHead
- !type:ProtoIdResource
protoId: CP14String
- !type:StackResource
stack: CP14Cloth
count: 2
result: CP14ClothingHeadFishMask
# Misc
- type: CP14Recipe

View File

@@ -11,3 +11,11 @@
- /Audio/_CP14/Animals/frog1.ogg
- /Audio/_CP14/Animals/frog2.ogg
- /Audio/_CP14/Animals/frog3.ogg
- type: soundCollection
id: CP14Flem
files:
- /Audio/_CP14/Animals/flem1.ogg
- /Audio/_CP14/Animals/flem2.ogg
- /Audio/_CP14/Animals/flem3.ogg
- /Audio/_CP14/Effects/bubbles.ogg

View File

@@ -7,6 +7,7 @@
- CP14Monster
- CP14Insects
- CP14Slimes
- CP14Fishies
- type: npcFaction
id: CP14HostileEveryone
@@ -17,6 +18,7 @@
- CP14AggressiveAnimals
- CP14Monster
- CP14Slimes
- CP14Fishies
- type: npcFaction
id: CP14Undead
@@ -25,6 +27,7 @@
- CP14HostileEveryone
- CP14PeacefulAnimals
- CP14AggressiveAnimals
- CP14Fishies
- type: npcFaction
id: CP14PeacefulAnimals
@@ -41,6 +44,7 @@
- CP14Monster
- CP14Slimes
- CP14HostileEveryone
- CP14Fishies
- type: npcFaction
id: CP14Monster
@@ -56,6 +60,7 @@
- CP14Adventurers
- CP14AggressiveAnimals
- CP14PeacefulAnimals
- CP14Fishies
- type: npcFaction
id: CP14Slimes
@@ -64,3 +69,13 @@
- CP14HostileEveryone
- CP14PeacefulAnimals
- CP14AggressiveAnimals
- type: npcFaction
id: CP14Fishies
hostile:
- CP14Adventurers
- CP14HostileEveryone
- CP14PeacefulAnimals
- CP14AggressiveAnimals
- CP14Insects
- CP14Undead