From 7d29519922d58e9832f0ae49ff81b6da1d848cf5 Mon Sep 17 00:00:00 2001 From: Kit Date: Mon, 18 Aug 2025 04:41:34 -0400 Subject: [PATCH] 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> --- .../en-US/_CP14/demiplane/modifiers.ftl | 3 +- .../_CP14/reagents/meta/monster_toxins.ftl | 3 + .../_CP14/reagents/meta/monster_toxins.ftl | 3 + .../Prototypes/_CP14/Damage/modifier_sets.yml | 7 + .../Markers/Spawners/demiplane_rifts.yml | 16 ++- .../_CP14/Entities/Markers/Spawners/mobs.yml | 16 +++ .../_CP14/Entities/Mobs/NPC/cackle.yml | 134 ++++++++++++++++++ .../Weapons/Ranged/Ammunition/spike.yml | 64 +++++++++ .../Demiplane/Modifiers/Danger/mobs.yml | 22 ++- .../_CP14/Reagents/monster_toxins.yml | 20 +++ .../_CP14/Mobs/Monster/cackle.rsi/dead.png | Bin 0 -> 896 bytes .../Mobs/Monster/cackle.rsi/dead_spikes.png | Bin 0 -> 259 bytes .../_CP14/Mobs/Monster/cackle.rsi/live.png | Bin 0 -> 3564 bytes .../Mobs/Monster/cackle.rsi/live_spikes.png | Bin 0 -> 585 bytes .../_CP14/Mobs/Monster/cackle.rsi/meta.json | 25 ++++ .../Projectiles/spike_cackle.rsi/meta.json | 17 +++ .../spike_cackle.rsi/small_spike.png | Bin 0 -> 170 bytes .../Projectiles/spike_cackle.rsi/spike.png | Bin 0 -> 203 bytes 18 files changed, 327 insertions(+), 3 deletions(-) create mode 100644 Resources/Prototypes/_CP14/Entities/Mobs/NPC/cackle.yml create mode 100644 Resources/Textures/_CP14/Mobs/Monster/cackle.rsi/dead.png create mode 100644 Resources/Textures/_CP14/Mobs/Monster/cackle.rsi/dead_spikes.png create mode 100644 Resources/Textures/_CP14/Mobs/Monster/cackle.rsi/live.png create mode 100644 Resources/Textures/_CP14/Mobs/Monster/cackle.rsi/live_spikes.png create mode 100644 Resources/Textures/_CP14/Mobs/Monster/cackle.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/spike_cackle.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/spike_cackle.rsi/small_spike.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/spike_cackle.rsi/spike.png diff --git a/Resources/Locale/en-US/_CP14/demiplane/modifiers.ftl b/Resources/Locale/en-US/_CP14/demiplane/modifiers.ftl index 81ed945738..3c55067b1f 100644 --- a/Resources/Locale/en-US/_CP14/demiplane/modifiers.ftl +++ b/Resources/Locale/en-US/_CP14/demiplane/modifiers.ftl @@ -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 \ No newline at end of file +cp14-modifier-anti-mana-mist = antimagic mist diff --git a/Resources/Locale/en-US/_CP14/reagents/meta/monster_toxins.ftl b/Resources/Locale/en-US/_CP14/reagents/meta/monster_toxins.ftl index d6c680946b..00b12d2d56 100644 --- a/Resources/Locale/en-US/_CP14/reagents/meta/monster_toxins.ftl +++ b/Resources/Locale/en-US/_CP14/reagents/meta/monster_toxins.ftl @@ -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. diff --git a/Resources/Locale/ru-RU/_CP14/reagents/meta/monster_toxins.ftl b/Resources/Locale/ru-RU/_CP14/reagents/meta/monster_toxins.ftl index f020b242cb..4eb8e01354 100644 --- a/Resources/Locale/ru-RU/_CP14/reagents/meta/monster_toxins.ftl +++ b/Resources/Locale/ru-RU/_CP14/reagents/meta/monster_toxins.ftl @@ -1,2 +1,5 @@ cp14-reagent-name-toxin-spider = Арахнотоксин cp14-reagent-desc-toxin-spider = Яд, который замедляет жертву, одновременно разрушая её тело. Часто встречается у пауков. + +cp14-reagent-name-toxin-bleed = Гемороксид +cp14-reagent-desc-toxin-bleed = Яд, вызывающий сильное кровотечение. Обычно используется Кэклзом. diff --git a/Resources/Prototypes/_CP14/Damage/modifier_sets.yml b/Resources/Prototypes/_CP14/Damage/modifier_sets.yml index c4564329a2..38eebd4d25 100644 --- a/Resources/Prototypes/_CP14/Damage/modifier_sets.yml +++ b/Resources/Prototypes/_CP14/Damage/modifier_sets.yml @@ -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: diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/demiplane_rifts.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/demiplane_rifts.yml index 8571450808..211a5488f7 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/demiplane_rifts.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/demiplane_rifts.yml @@ -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 diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/mobs.yml index d901498a5b..b49d3c2320 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/mobs.yml @@ -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 diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/cackle.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/cackle.yml new file mode 100644 index 0000000000..f6ad1ba5b1 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/cackle.yml @@ -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 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/spike.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/spike.yml index 50eef70f01..6e0c29ac01 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/spike.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/spike.yml @@ -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 diff --git a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Danger/mobs.yml b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Danger/mobs.yml index a3ca89fe00..045ef54b9f 100644 --- a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Danger/mobs.yml +++ b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Danger/mobs.yml @@ -321,4 +321,24 @@ entity: CP14MobMonsterMyconideLumish count: 5 minGroupSize: 7 - maxGroupSize: 12 \ No newline at end of file + 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 diff --git a/Resources/Prototypes/_CP14/Reagents/monster_toxins.yml b/Resources/Prototypes/_CP14/Reagents/monster_toxins.yml index eea6beeb16..4c69891812 100644 --- a/Resources/Prototypes/_CP14/Reagents/monster_toxins.yml +++ b/Resources/Prototypes/_CP14/Reagents/monster_toxins.yml @@ -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 diff --git a/Resources/Textures/_CP14/Mobs/Monster/cackle.rsi/dead.png b/Resources/Textures/_CP14/Mobs/Monster/cackle.rsi/dead.png new file mode 100644 index 0000000000000000000000000000000000000000..594a6eb4efbc31309b23b52d628395b779c4df64 GIT binary patch literal 896 zcmV-`1AqL9P)Px&I!Q!9RA_H92Zj7DUd>H-R3mGchlw2;74dL1VEKbOqWf&F7v)vM ztGVs=xSxdBh1k;~A$^dPxeCDaN(O+AyQeAScX>bagXBWSHRTUl01vZ2taCc_8}k+G+9JGBLLFu3C?0%JV_6 zSH$oAD$LQ1LyC$#hrjd(8?Il$jXKkIfNs!}LruJYJe=JhYraa>LBz<$iWowpyF zH3GKGwYAQgm6umpJ{yeUR@2XI`(Hkp>&JClY*P1E+?zJDO|87(zY566GQgpN2lxk- W23|ux)z?J;0000Hz_stohT0 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 SJ^Ti=kHOQ`&t;ucLK6Vivp@R) literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/spike_cackle.rsi/spike.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/spike_cackle.rsi/spike.png new file mode 100644 index 0000000000000000000000000000000000000000..581e316b275e8456c146f6221677642977a118f8 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}t)4E9ArY-_ zr|jl!FyL|FcVTUkV@cxsHlM{cso_JWv+#-)Iob<%gzqf;Q_{sN;KXs#M=^KKD>a*~ zyZt^|Pu)`Z(w*VJwrU2Bpw1vI0rupK-Qj904@~z7YW(_PeyI_o_L2D)V$%)Z+d1rH zUBzN@aW;oSo}(F~?-w;Du@$T)<_!W)bq9H0WoszjP%8}vI*7s3)z4*}Q$iB}E`3EB literal 0 HcmV?d00001