From 7c86cd031ecec030ea97efee63c303875a24e497 Mon Sep 17 00:00:00 2001 From: Thelaststander Date: Sat, 12 Nov 2022 10:23:02 -0500 Subject: [PATCH 1/2] Adding flesh raptors to mainline I always thought Flesh raptors from DDA are cool Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- data/json/monster_special_attacks/spells.json | 60 ++++++++++++ data/json/monstergroups/zombie_upgrades.json | 41 ++++++++ data/json/monsters/zed-pupating.json | 97 +++++++++++++++++++ data/json/monsters/zed-winged.json | 90 +++++++++++++++++ 4 files changed, 288 insertions(+) create mode 100644 data/json/monsters/zed-pupating.json create mode 100644 data/json/monsters/zed-winged.json diff --git a/data/json/monster_special_attacks/spells.json b/data/json/monster_special_attacks/spells.json index c14955264648..cc63ab537bc3 100644 --- a/data/json/monster_special_attacks/spells.json +++ b/data/json/monster_special_attacks/spells.json @@ -113,5 +113,65 @@ "base_casting_time": 3, "effect": "summon", "effect_str": "mon_zombie_gasbag_impaler" + }, + { + "type": "SPELL", + "id": "small_raptor_spawn", + "name": { "str": "Spawn Raptors" }, + "description": "Summons a few zombiespawn raptors.", + "flags": [ "HOSTILE_SUMMON", "RANDOM_DAMAGE", "PERMANENT" ], + "valid_targets": [ "ground", "self" ], + "min_damage": 1, + "max_damage": 2, + "min_aoe": 2, + "max_aoe": 2, + "base_casting_time": 500, + "extra_effects": [ { "id": "spawning_zombie_die", "hit_self": true } ], + "effect": "summon", + "effect_str": "mon_spawn_raptor" + }, + { + "type": "SPELL", + "id": "big_raptor_spawn", + "name": { "str": "Spawn Raptors" }, + "description": "Summons many zombiespawn raptors.", + "flags": [ "HOSTILE_SUMMON", "RANDOM_DAMAGE", "PERMANENT" ], + "valid_targets": [ "ground", "self" ], + "min_damage": 3, + "max_damage": 6, + "min_aoe": 4, + "max_aoe": 4, + "base_casting_time": 500, + "extra_effects": [ { "id": "spawning_zombie_die", "hit_self": true } ], + "effect": "summon", + "effect_str": "mon_spawn_raptor" + }, + { + "type": "SPELL", + "id": "shady_raptor_spawn", + "name": { "str": "Spawn Shady Raptors" }, + "description": "Summons a few shady zombiespawn raptors.", + "flags": [ "HOSTILE_SUMMON", "RANDOM_DAMAGE", "PERMANENT" ], + "valid_targets": [ "ground", "self" ], + "min_damage": 1, + "max_damage": 2, + "min_aoe": 2, + "max_aoe": 2, + "base_casting_time": 500, + "extra_effects": [ { "id": "spawning_zombie_die", "hit_self": true } ], + "effect": "summon", + "effect_str": "mon_spawn_raptor_shady" + }, + { + "type": "SPELL", + "id": "spawning_zombie_die", + "name": { "str": "Spawning Zombie Die" }, + "description": "For zombies that are spawning something and die in the process.", + "flags": [ "LOUD", "RANDOM_DAMAGE" ], + "min_damage": 250, + "max_damage": 250, + "damage_type": "cut", + "valid_targets": [ "hostile", "ally", "self", "ground" ], + "effect": "target_attack" } ] diff --git a/data/json/monstergroups/zombie_upgrades.json b/data/json/monstergroups/zombie_upgrades.json index f7a412417e22..f258af3ccb6a 100644 --- a/data/json/monstergroups/zombie_upgrades.json +++ b/data/json/monstergroups/zombie_upgrades.json @@ -10,5 +10,46 @@ { "monster": "mon_zombie_soldier_acid_2", "freq": 15, "cost_multiplier": 2 }, { "monster": "mon_zombie_kevlar_1", "freq": 25, "cost_multiplier": 2 } ] + }, + { + "type": "monstergroup", + "name": "GROUP_ZOMBIE_UPGRADE", + "default": "mon_zombie_tough", + "//": "Masters pick from here when upgrading; no dogs, bionics, or profession-types. Note that 'freq' units are tenth of a percent, with default filling in the gap.", + "monsters": [ + { "monster": "mon_zombie_pupa", "freq": 15, "cost_multiplier": 2 }, + { "monster": "mon_zombie_pupa_decoy", "freq": 15, "cost_multiplier": 2 } + ] + }, + { + "type": "monstergroup", + "name": "GROUP_ZOMBIE_CRAWLER_UPGRADE", + "default": "mon_zombie_crawler", + "//": "crawling zombie upgrades", + "monsters": [ + { "monster": "mon_zombie_crawler_pupa", "freq": 500, "cost_multiplier": 2 }, + { "monster": "mon_zombie_crawler_pupa_decoy", "freq": 500, "cost_multiplier": 2 } + ] + }, + { + "type": "monstergroup", + "name": "GROUP_ZOMBIE_FAT", + "default": "mon_zombie_gasbag", + "//": "fat zombie upgrades", + "monsters": [ + { "monster": "mon_zombie_pupa", "freq": 150, "cost_multiplier": 2 }, + { "monster": "mon_zombie_pupa_decoy", "freq": 150, "cost_multiplier": 2 } + ] + }, + { + "type": "monstergroup", + "name": "GROUP_ZOMBIE_RAPTOR_UPGRADES", + "default": "mon_spawn_raptor", + "//": "Raptor upgrades. Note that 'freq' units are tenth of a percent, with default filling in the gap.", + "monsters": [ + { "monster": "mon_spawn_raptor_shady", "freq": 330, "cost_multiplier": 10 }, + { "monster": "mon_spawn_raptor_electric", "freq": 330, "cost_multiplier": 10 }, + { "monster": "mon_spawn_raptor_unstable", "freq": 330, "cost_multiplier": 10 } + ] } ] diff --git a/data/json/monsters/zed-pupating.json b/data/json/monsters/zed-pupating.json new file mode 100644 index 000000000000..ea40b60c8104 --- /dev/null +++ b/data/json/monsters/zed-pupating.json @@ -0,0 +1,97 @@ +[ + { + "id": "mon_zombie_crawler_pupa_decoy", + "type": "MONSTER", + "name": { "str": "pupating zombie crawler" }, + "description": "This half of a human corpse is wrapped in sticky black fibers that cover everything neck down. Beneath the wrapping there is strange rhythmic movement grotesque to behold.", + "copy-from": "mon_zombie_crawler", + "delete": { "categories": [ "CLASSIC" ] }, + "armor_bash": 7, + "armor_cut": 5, + "armor_bullet": 5, + "special_attacks": [ { "type": "bite", "cooldown": 3 } ], + "regenerates": 10, + "extend": { "flags": [ "SLUDGETRAIL", "SLUDGEPROOF" ] } + }, + { + "id": "mon_zombie_crawler_pupa", + "type": "MONSTER", + "name": { "str": "pupating zombie crawler" }, + "description": "This half of a human corpse is wrapped in sticky black fibers that cover everything neck down. Beneath the wrapping there is strange rhythmic movement grotesque to behold.", + "copy-from": "mon_zombie_crawler_pupa_decoy", + "extend": { + "special_attacks": [ + { + "type": "spell", + "spell_data": { "id": "small_raptor_spawn", "hit_self": true }, + "cooldown": 50, + "monster_message": "The pupating zombie crawler bursts, and gore-smeared winged beasts climb out of the corpse!" + } + ] + } + }, + { + "id": "mon_zombie_pupa_decoy", + "type": "MONSTER", + "name": { "str": "pupating zombie" }, + "description": "This human corpse is wrapped in sticky black fibers that cover everything neck down. Beneath the wrapping there is strange rhythmic movement grotesque to behold.", + "copy-from": "mon_zombie_fat", + "delete": { "categories": [ "CLASSIC" ] }, + "armor_bash": 8, + "armor_cut": 6, + "armor_bullet": 6, + "special_attacks": [ { "type": "bite", "cooldown": 3 } ], + "regenerates": 10, + "extend": { "flags": [ "SLUDGETRAIL", "SLUDGEPROOF" ] } + }, + { + "id": "mon_zombie_pupa", + "type": "MONSTER", + "name": { "str": "pupating zombie" }, + "description": "This human corpse is wrapped in sticky black fibers that cover everything neck down. Beneath the wrapping there is strange rhythmic movement grotesque to behold.", + "copy-from": "mon_zombie_pupa_decoy", + "extend": { + "special_attacks": [ + { + "type": "spell", + "spell_data": { "id": "small_raptor_spawn", "hit_self": true }, + "cooldown": 50, + "monster_message": "The pupating zombie bursts, and gore-smeared winged beasts climb out of the corpse!" + } + ] + } + }, + { + "id": "mon_zombie_pupa_decoy_shady", + "type": "MONSTER", + "name": { "str": "shady pupating zombie" }, + "description": "An uncanny shadow envelops this creature. You can make out the outline of what once may have been a human being, but its edges bulge rhythmically in places that are not anatomically possible for humans.", + "copy-from": "mon_zombie_fat", + "delete": { "categories": [ "CLASSIC" ] }, + "armor_bash": 8, + "armor_cut": 6, + "armor_bullet": 6, + "special_attacks": [ { "type": "bite", "cooldown": 3 } ], + "regenerates": 5, + "vision_day": 8, + "vision_night": 15, + "extend": { "flags": [ "SLUDGETRAIL", "SLUDGEPROOF", "NIGHT_INVISIBILITY" ] } + }, + { + "id": "mon_zombie_pupa_shady", + "type": "MONSTER", + "name": { "str": "shady pupating zombie" }, + "description": "An uncanny shadow envelops this creature. You can make out the outline of what once may have been a human being, but its edges bulge rhythmically in places that are not anatomically possible for humans.", + "copy-from": "mon_zombie_pupa_decoy", + "extend": { + "special_attacks": [ + { + "type": "spell", + "spell_data": { "id": "shady_raptor_spawn", "hit_self": true }, + "cooldown": 50, + "monster_message": "The pupating zombie bursts, and shadowy winged beasts climb out of the corpse!" + } + ] + } + } +] diff --git a/data/json/monsters/zed-winged.json b/data/json/monsters/zed-winged.json new file mode 100644 index 000000000000..e2a0307aa1d8 --- /dev/null +++ b/data/json/monsters/zed-winged.json @@ -0,0 +1,90 @@ +[ + { + "id": "mon_spawn_raptor", + "type": "MONSTER", + "name": { "str": "flesh-raptor" }, + "description": "This small winged predator darts through the air on three thinly haired wings that look like stretched human hands. Where the wings meet juts a sheer jagged spike. It looks like nothing you've seen on Earth, and yet strangely like it was made of human parts.", + "species": [ "ZOMBIE", "HUMAN" ], + "default_faction": "zombie", + "diff": 1, + "volume": "4 L", + "weight": "6 kg", + "hp": 20, + "speed": 140, + "material": [ "flesh" ], + "symbol": "z", + "color": "white", + "aggression": 100, + "morale": 100, + "melee_skill": 9, + "melee_dice": 2, + "melee_dice_sides": 3, + "melee_cut": 4, + "dodge": 3, + "vision_night": 5, + "harvest": "zombie", + "special_attacks": [ { "id": "impale", "damage_max_instance": [ { "damage_type": "stab", "amount": 15, "armor_multiplier": 0.6 } ] } ], + "death_function": [ "NORMAL" ], + "upgrades": { "half_life": 28, "into_group": "GROUP_ZOMBIE_RAPTOR_UPGRADES" }, + "flags": [ + "SEES", + "HEARS", + "SMELLS", + "STUMBLES", + "WARM", + "POISON", + "BASHES", + "GROUP_BASH", + "NO_BREATHE", + "FILTHY", + "HIT_AND_RUN", + "SWARMS", + "FLIES" + ] + }, + { + "type": "MONSTER", + "id": "mon_spawn_raptor_shady", + "name": { "str": "shadow raptor" }, + "copy-from": "mon_spawn_raptor", + "color": "light_gray", + "description": "An uncanny shadow envelops this creature. You can make out the outline of three flapping wings connected to a jagged pointed object.", + "upgrades": { }, + "extend": { "flags": [ "NIGHT_INVISIBILITY" ] }, + "vision_day": 10, + "vision_night": 25 + }, + { + "type": "MONSTER", + "id": "mon_spawn_raptor_unstable", + "name": { "str_sp": "unstable flesh-raptor" }, + "copy-from": "mon_spawn_raptor", + "speed": 100, + "color": "red", + "description": "This small winged predator darts through the air on three thinly haired wings that look like stretched human hands. Where the wings meet juts a jagged spike and a bloated fleshy belly.", + "special_attacks": [ + [ "SUICIDE", 20 ], + { "id": "impale", "damage_max_instance": [ { "damage_type": "stab", "amount": 15, "armor_multiplier": 0.6 } ] } + ], + "death_function": [ "EXPLODE" ], + "upgrades": { } + }, + { + "type": "MONSTER", + "id": "mon_spawn_raptor_electric", + "name": { "str": "zaptor" }, + "copy-from": "mon_spawn_raptor", + "color": "light_cyan", + "diff": 10, + "description": "This small winged predator darts through the air on three thinly haired wings that look like stretched human hands. Where the wings meet juts a jagged spike with a pulsing electrical glow.", + "melee_damage": [ { "damage_type": "electric", "amount": 8 } ], + "luminance": 8, + "special_attacks": [ + [ "SHOCKSTORM", 25 ], + { "id": "impale", "damage_max_instance": [ { "damage_type": "stab", "amount": 15, "armor_multiplier": 0.6 } ] } + ], + "special_when_hit": [ "ZAPBACK", 100 ], + "upgrades": { }, + "extend": { "flags": [ "ELECTRIC" ] } + } +] From 0637d30cd6bfe21d3efa1a63e598194447ebd98d Mon Sep 17 00:00:00 2001 From: Thelaststander Date: Thu, 22 Dec 2022 10:29:48 -0500 Subject: [PATCH 2/2] Fixed up zombie groups. --- data/json/monstergroups/zombie_upgrades.json | 20 -------------------- data/json/monstergroups/zombies.json | 8 ++++++-- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/data/json/monstergroups/zombie_upgrades.json b/data/json/monstergroups/zombie_upgrades.json index f258af3ccb6a..cc43bc791b0b 100644 --- a/data/json/monstergroups/zombie_upgrades.json +++ b/data/json/monstergroups/zombie_upgrades.json @@ -11,16 +11,6 @@ { "monster": "mon_zombie_kevlar_1", "freq": 25, "cost_multiplier": 2 } ] }, - { - "type": "monstergroup", - "name": "GROUP_ZOMBIE_UPGRADE", - "default": "mon_zombie_tough", - "//": "Masters pick from here when upgrading; no dogs, bionics, or profession-types. Note that 'freq' units are tenth of a percent, with default filling in the gap.", - "monsters": [ - { "monster": "mon_zombie_pupa", "freq": 15, "cost_multiplier": 2 }, - { "monster": "mon_zombie_pupa_decoy", "freq": 15, "cost_multiplier": 2 } - ] - }, { "type": "monstergroup", "name": "GROUP_ZOMBIE_CRAWLER_UPGRADE", @@ -31,16 +21,6 @@ { "monster": "mon_zombie_crawler_pupa_decoy", "freq": 500, "cost_multiplier": 2 } ] }, - { - "type": "monstergroup", - "name": "GROUP_ZOMBIE_FAT", - "default": "mon_zombie_gasbag", - "//": "fat zombie upgrades", - "monsters": [ - { "monster": "mon_zombie_pupa", "freq": 150, "cost_multiplier": 2 }, - { "monster": "mon_zombie_pupa_decoy", "freq": 150, "cost_multiplier": 2 } - ] - }, { "type": "monstergroup", "name": "GROUP_ZOMBIE_RAPTOR_UPGRADES", diff --git a/data/json/monstergroups/zombies.json b/data/json/monstergroups/zombies.json index cc143817cf36..109b952df44b 100644 --- a/data/json/monstergroups/zombies.json +++ b/data/json/monstergroups/zombies.json @@ -296,7 +296,9 @@ "default": "mon_zombie_gasbag", "monsters": [ { "monster": "mon_zombie_gasbag", "freq": 20, "cost_multiplier": 0 }, - { "monster": "mon_boomer", "freq": 480, "cost_multiplier": 2 } + { "monster": "mon_boomer", "freq": 480, "cost_multiplier": 2 }, + { "monster": "mon_zombie_pupa", "freq": 150, "cost_multiplier": 2 }, + { "monster": "mon_zombie_pupa_decoy", "freq": 150, "cost_multiplier": 2 } ] }, { @@ -342,7 +344,9 @@ { "monster": "mon_zombie_master", "freq": 2, "cost_multiplier": 30 }, { "monster": "mon_zombie_hollow", "freq": 3, "cost_multiplier": 10 }, { "monster": "mon_zombie_thorny", "freq": 13, "cost_multiplier": 5 }, - { "monster": "mon_zombie_nurse", "freq": 10, "cost_multiplier": 3 } + { "monster": "mon_zombie_nurse", "freq": 10, "cost_multiplier": 3 }, + { "monster": "mon_zombie_pupa", "freq": 15, "cost_multiplier": 2 }, + { "monster": "mon_zombie_pupa_decoy", "freq": 15, "cost_multiplier": 2 } ] }, {