Cackle: EVIL PLANT THAT WANTS TO STEAL YOUR BLOOD (#1602)

* bleeding toxin

* cackle itself

* sprites

* spike

* Cackle now spawn

* lower danger points

* color change

* new demis

* more cackle changes to new system

* hope fix conflict

* try 2

* try 3

* try 4

* try 5

* try 6

* try 6

* undo try 6

* clumsy cackle

* changes

---------

Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
This commit is contained in:
Kit
2025-08-18 04:41:34 -04:00
committed by GitHub
parent b130d8aeec
commit 7d29519922
18 changed files with 327 additions and 3 deletions

View File

@@ -12,6 +12,7 @@ cp14-modifier-explosive = explosive mines
cp14-modifier-ruins = ancient ruins
cp14-modifier-zombie = zombies
cp14-modifier-slime = slimes
cp14-modifier-cackle = cackles
cp14-modifier-skeleton = sentient skeletons
cp14-modifier-dyno = dynos
cp14-modifier-mole = predatory moles
@@ -33,4 +34,4 @@ cp14-modifier-storm = storm
cp14-modifier-fire-storm = fire storm
cp14-modifier-snow-storm = snow storm
cp14-modifier-mana-mist = magic mist
cp14-modifier-anti-mana-mist = antimagic mist
cp14-modifier-anti-mana-mist = antimagic mist

View File

@@ -1,2 +1,5 @@
cp14-reagent-name-toxin-spider = Arachnotoxin
cp14-reagent-desc-toxin-spider = A venom which slows down its victim while destroying the body. Commonly found in spiders.
cp14-reagent-name-toxin-bleed = Hemoroxide
cp14-reagent-desc-toxin-bleed = A venom which causes intense bleeding. Commonly used by Cackles.

View File

@@ -1,2 +1,5 @@
cp14-reagent-name-toxin-spider = Арахнотоксин
cp14-reagent-desc-toxin-spider = Яд, который замедляет жертву, одновременно разрушая её тело. Часто встречается у пауков.
cp14-reagent-name-toxin-bleed = Гемороксид
cp14-reagent-desc-toxin-bleed = Яд, вызывающий сильное кровотечение. Обычно используется Кэклзом.

View File

@@ -117,6 +117,13 @@
Heat: 1.4
Cold: 0.2
- type: damageModifierSet
id: CP14Cackle
coefficients:
Heat: 1.4
Slash: 1.2
Piercing: 0.6
- type: damageModifierSet
id: CP14WatcherFire
coefficients:

View File

@@ -213,7 +213,7 @@
- type: entity
parent: CP14BaseMobGroupSpawner
id: CP14MobGroupSpawnerFlem
suffix: 2-3 Flems
suffix: 1-3 Flems
components:
- type: EntityTableSpawner
deleteSpawnerAfterSpawn: false
@@ -223,3 +223,17 @@
range: 1, 3
children:
- id: CP14MobMonsterFlem
- type: entity
parent: CP14BaseMobGroupSpawner
id: CP14MobGroupSpawnerCackle
suffix: 2-3 Cackles
components:
- type: EntityTableSpawner
deleteSpawnerAfterSpawn: false
offset: 1
table: !type:GroupSelector
rolls: !type:RangeNumberSelector
range: 2, 3
children:
- id: CP14MobMonsterCackle

View File

@@ -205,6 +205,22 @@
prototypes:
- CP14MobMonsterFlem
- type: entity
name: cackle spawner
id: CP14SpawnMobMonsterCackle
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Monster/cackle.rsi
state: live
- type: ConditionalSpawner
prototypes:
- CP14MobMonsterCackle
- type: entity
name: fairy spawner
id: CP14SpawnMobFairy

View File

@@ -0,0 +1,134 @@
- type: entity
parent: CP14SimpleMobBase
id: CP14MobMonsterCackle
name: cackle
description: A monster that hunts for blood as a source of sustenance.
categories: [ ForkFiltered ]
components:
- type: HTN
rootTask:
task: SimpleRangedHostileCompound
blackboard:
NavSmash: !type:Bool
true
VisionRadius: !type:Single
16
AggroVisionRadius: !type:Single
6
- type: Sprite
drawdepth: Mobs
sprite: _CP14/Mobs/Monster/cackle.rsi
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: live
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] #used cause i dont know if there are any more applicable ones no it is not meant to be unshaded
state: live_spikes
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 200 #rotund
mask:
- MobMask
layer:
- MobLayer
- type: Butcherable
spawned:
- id: CP14FoodCabbageSlice
amount: 4
- id: CP14BloodFlower
amount: 2
- id: CP14FoodCabbage
amount: 1
prob: 0.6
- type: CombatMode
- type: MeleeWeapon
angle: 0
animation: WeaponArcBite
damage:
types:
Piercing: 1
Structural: 3
- type: Body
prototype: Animal
- type: Damageable
damageContainer: CP14Biological
damageModifierSet: CP14Cackle
- type: MobThresholds
thresholds:
0: Alive
45: Dead
- type: SlowOnDamage
speedModifierThresholds:
30: 0.5
- type: DamageStateVisuals
states:
Alive:
Base: live
BaseUnshaded: live_spikes
Dead:
Base: dead
BaseUnshaded: dead_spikes
- type: Stamina
critThreshold: 75
- type: SolutionContainerManager
solutions:
melee:
maxVol: 30
- type: SolutionRegeneration
solution: melee
generated:
reagents:
- ReagentId: CP14MonsterToxinBleed
Quantity: 1
- type: MeleeChemicalInjector
transferAmount: 1
solution: melee
- type: ReplacementAccent
accent: xeno
- type: InteractionPopup
successChance: 0.6
interactSuccessString: petting-success-generic
interactFailureString: petting-failure-generic
interactSuccessSpawn: EffectHearts
interactSuccessSound:
path: /Audio/Voice/Diona/diona_rustle2.ogg
- type: Bloodstream
bloodMaxVolume: 200
bloodReagent: CP14BloodFlowerSap
- type: Tag
tags:
- FootstepSound
- type: PassiveDamage # Slight passive regen. Assuming one damage type, comes out to about 4 damage a minute from base.yml.
allowedStates:
- Alive
damageCap: 45
damage:
types:
Poison: -0.07
groups:
Brute: -0.07
Burn: -0.07
- type: BasicEntityAmmoProvider
proto: CP14SpikeCackleSpread
capacity: 2
count: 2
- type: RechargeBasicEntityAmmo
showExamineText: false
rechargeSound: null
rechargeCooldown: 4
- type: Gun
fireRate: 1
useKey: false
showExamineText: false
selectedMode: FullAuto
availableModes:
- FullAuto
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/water_spray.ogg
- type: NpcFactionMember
factions:
- CP14Monster

View File

@@ -52,3 +52,67 @@
collection: GlassBreak
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
parent: BaseBullet
id: CP14SpikeCackle
name: Cackle spike
description: Organically spiked with a destructive liquid inside.
categories: [ ForkFiltered ]
components:
- type: Sprite
sprite: _CP14/Objects/Weapons/Ranged/Projectiles/spike_cackle.rsi
layers:
- state: spike
- type: EmbeddableProjectile
minimumSpeed: 3
removalTime: 0.5
offset: 0.0,0.0
- type: Projectile
damage:
types:
Piercing: 1
- type: SolutionContainerManager
solutions:
melee:
maxVol: 1
reagents:
- ReagentId: CP14MonsterToxinBleed
Quantity: 1
- type: SolutionInjectOnEmbed
transferAmount: 1
blockSlots: NONE
solution: melee
- type: SolutionTransfer
maxTransferAmount: 1
- type: TimedDespawn
lifetime: 10
- type: Ammo
muzzleFlash: null
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
id: CP14SpikeCackleSpread
categories: [ HideSpawnMenu ]
parent: CP14SpikeCackle
components:
- type: ProjectileSpread
proto: CP14SpikeCackle
count: 5
spread: 45

View File

@@ -321,4 +321,24 @@
entity: CP14MobMonsterMyconideLumish
count: 5
minGroupSize: 7
maxGroupSize: 12
maxGroupSize: 12
- type: cp14LocationModifier
id: EnemyCackle
levels:
min: 2
max: 5
name: cp14-modifier-cackle
generationWeight: 0.33
categories:
Danger: 0.3
requiredTags:
- CP14DemiplaneOpenSky
blacklistTags:
- CP14DemiplaneCold
layers:
- !type:CP14OreDunGen
entity: CP14MobMonsterCackle
count: 4
minGroupSize: 1
maxGroupSize: 3

View File

@@ -30,3 +30,23 @@
walkSpeedModifier: 0.6
sprintSpeedModifier: 0.6
pricePerUnit: 4.0 #arbitrary for now
- type: reagent
id: CP14MonsterToxinBleed
name: cp14-reagent-name-toxin-bleed
desc: cp14-reagent-desc-toxin-bleed
group: CP14MonsterToxins
flavor: CP14Metallic
color: "#872e2e"
physicalDesc: cp14-reagent-physical-desc-scarlet
metabolisms:
Poison:
metabolismRate: 0.5
effects:
- !type:ModifyBleedAmount
amount: 2
- !type:HealthChange
damage:
types:
Piercing: 1.5
pricePerUnit: 4.0 #arbitrary for now

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

View File

@@ -0,0 +1,25 @@
{
"version": 1,
"size": {
"x": 48,
"y": 48
},
"license": "All right reserved",
"copyright": "Created by Frogoo (discord)",
"states": [
{
"name": "live",
"directions": 4
},
{
"name": "live_spikes",
"directions": 4
},
{
"name": "dead"
},
{
"name": "dead_spikes"
}
]
}

View File

@@ -0,0 +1,17 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "All right reserved",
"copyright": "Created by Frogoo(discord)",
"states": [
{
"name": "spike"
},
{
"name": "small_spike"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B