From a8978f8b8b60715d7f4e33598b7bdce74244290c Mon Sep 17 00:00:00 2001 From: TheSaddestGoomba <44676850+TheSaddestGoomba@users.noreply.github.com> Date: Thu, 3 Oct 2024 00:37:17 -0400 Subject: [PATCH] Cleaner frogs (#76680) * Move all zed frogs to their own file * Cleanup redundant objects -remove tadpoles: pattern, strange, foul, odd, tail, palette -replace with bigtads: vocal, shift -update upgrades to use GROUP -add obsolete egg items to migration * Cleanup GROUPs -remove redundant egg groups -remove eliminated tadpoles from monster_groups -add replacement big tads to groups -add tadpole upgrade groups that allow for elimination of redundant eggs and tadpoles * Adjust rate of tadpoles upgrading into mutants * Fix bullfrog tadpole upgrades --- data/json/items/comestibles/egg.json | 17 + data/json/monstergroups/amphibian.json | 81 ++- data/json/monstergroups/eggs.json | 35 - data/json/monsters/reptile_amphibian.json | 113 +-- data/json/monsters/zed-animal.json | 34 - data/json/monsters/zed_amphibian.json | 681 ++++++++++++++++++ data/json/monsters/zed_misc.json | 645 ----------------- .../migration_items.json | 45 ++ 8 files changed, 821 insertions(+), 830 deletions(-) create mode 100644 data/json/monsters/zed_amphibian.json diff --git a/data/json/items/comestibles/egg.json b/data/json/items/comestibles/egg.json index 222f86c62d4ab..3b232b22cf6b4 100644 --- a/data/json/items/comestibles/egg.json +++ b/data/json/items/comestibles/egg.json @@ -1573,5 +1573,22 @@ "description": "This is a spiral strand of giant frog eggs. Its increased weight and size nearly smothers the submerged vegetation it clings to.", "use_action": [ "POISON" ], "rot_spawn": "GROUP_EGG_ODD_BIGFROG" + }, + { + "type": "COMESTIBLE", + "id": "egg_vocal_bigfrog", + "copy-from": "egg_proxy_bigfrog", + "name": { "str": "cluster of giant frog's eggs", "str_pl": "clusters of giant frog's eggs" }, + "description": "A patch of giant frog's eggs resembling a very thick, clear sack of oranges.", + "rot_spawn": "GROUP_EGG_VOCAL_BIGFROG" + }, + { + "type": "COMESTIBLE", + "id": "egg_shift_bigfrog", + "copy-from": "egg_proxy_bigfrog", + "name": { "str": "cluster of giant frog's eggs", "str_pl": "clusters of giant frog's eggs" }, + "description": "These golfball-sized frog eggs cling together by their sticky membranes.", + "use_action": [ "POISON" ], + "rot_spawn": "GROUP_EGG_SHIFT_BIGFROG" } ] diff --git a/data/json/monstergroups/amphibian.json b/data/json/monstergroups/amphibian.json index b787e28951e4c..9067365c9ca56 100644 --- a/data/json/monstergroups/amphibian.json +++ b/data/json/monstergroups/amphibian.json @@ -5,43 +5,37 @@ "default": "mon_peeper_tadpole", "monsters": [ { "monster": "mon_leo_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_pattern_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_bullfrog_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_strange_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_fowler_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_foul_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_freedom_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_odd_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_peeper_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_vocal_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_gray_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_shift_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_mink_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_tail_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_pickerel_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_palette_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_green_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_wood_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_spade_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_pattern_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, { "monster": "mon_strange_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, { "monster": "mon_foul_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, - { "monster": "mon_odd_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" } + { "monster": "mon_odd_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, + { "monster": "mon_vocal_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, + { "monster": "mon_shift_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" } ] }, { @@ -50,17 +44,11 @@ "default": "mon_leo_tadpole", "monsters": [ { "monster": "mon_leo_tadpole", "weight": 60, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_pattern_tadpole", "weight": 40, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_bullfrog_tadpole", "weight": 60, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_strange_tadpole", "weight": 40, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_fowler_tadpole", "weight": 60, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_foul_tadpole", "weight": 40, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_freedom_tadpole", "weight": 60, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_odd_tadpole", "weight": 40, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_mink_tadpole", "weight": 60, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_tail_tadpole", "weight": 40, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_pickerel_tadpole", "weight": 60, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_palette_tadpole", "weight": 40, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_green_tadpole", "weight": 60, "pack_size": [ 4, 8 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_pattern_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, { "monster": "mon_strange_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, @@ -74,16 +62,13 @@ "default": "mon_bullfrog_tadpole", "monsters": [ { "monster": "mon_leo_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_pattern_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_bullfrog_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_strange_tadpole", "weight": 40, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_mink_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_tail_tadpole", "weight": 40, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_green_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_pattern_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, { "monster": "mon_strange_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" } @@ -95,38 +80,32 @@ "default": "mon_bullfrog_tadpole", "monsters": [ { "monster": "mon_leo_tadpole", "weight": 60, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_pattern_tadpole", "weight": 40, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_bullfrog_tadpole", "weight": 60, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_strange_tadpole", "weight": 40, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_fowler_tadpole", "weight": 60, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_foul_tadpole", "weight": 40, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_freedom_tadpole", "weight": 60, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_odd_tadpole", "weight": 40, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_peeper_tadpole", "weight": 60, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_vocal_tadpole", "weight": 40, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_gray_tadpole", "weight": 60, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_shift_tadpole", "weight": 40, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_mink_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_tail_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_pickerel_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, - { "monster": "mon_palette_tadpole", "weight": 20, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_green_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_wood_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_spade_tadpole", "weight": 100, "pack_size": [ 6, 12 ], "conditions": [ "SPRING", "SUMMER" ] }, { "monster": "mon_pattern_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, { "monster": "mon_strange_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, { "monster": "mon_foul_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, - { "monster": "mon_odd_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" } + { "monster": "mon_odd_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, + { "monster": "mon_vocal_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" }, + { "monster": "mon_shift_bigtad", "weight": 10, "pack_size": [ 1, 4 ], "starts": "28 days" } ] }, { @@ -930,7 +909,47 @@ "name": "GROUP_TADPOLE_LEO", "type": "monstergroup", "default": "mon_leo_frog", - "monsters": [ { "monster": "mon_leo_frog", "weight": 99 }, { "monster": "mon_leo_worm", "weight": 1 } ] + "monsters": [ + { "monster": "mon_leo_frog", "weight": 90 }, + { "monster": "mon_pattern_frog", "weight": 9 }, + { "monster": "mon_leo_worm", "weight": 1 } + ] + }, + { + "name": "GROUP_TADPOLE_BULLFROG", + "type": "monstergroup", + "default": "mon_bullfrog_frog", + "monsters": [ { "monster": "mon_bullfrog_frog", "weight": 90 }, { "monster": "mon_strange_frog", "weight": 10 } ] + }, + { + "name": "GROUP_TADPOLE_FOWLER", + "type": "monstergroup", + "default": "mon_fowler_toad", + "monsters": [ { "monster": "mon_fowler_toad", "weight": 90 }, { "monster": "mon_foul_toad", "weight": 10 } ] + }, + { + "name": "GROUP_TADPOLE_FREEDOM", + "type": "monstergroup", + "default": "mon_freedom_toad", + "monsters": [ { "monster": "mon_freedom_toad", "weight": 90 }, { "monster": "mon_odd_toad", "weight": 10 } ] + }, + { + "name": "GROUP_TADPOLE_PEEPER", + "type": "monstergroup", + "default": "mon_peeper_frog", + "monsters": [ { "monster": "mon_peeper_frog", "weight": 90 }, { "monster": "mon_vocal_frog", "weight": 10 } ] + }, + { + "name": "GROUP_TADPOLE_GRAY", + "type": "monstergroup", + "default": "mon_gray_frog", + "monsters": [ { "monster": "mon_gray_frog", "weight": 90 }, { "monster": "mon_shift_frog", "weight": 10 } ] + }, + { + "name": "GROUP_TADPOLE_PICKEREL", + "type": "monstergroup", + "default": "mon_pickerel_frog", + "monsters": [ { "monster": "mon_pickerel_frog", "weight": 90 }, { "monster": "mon_palette_frog", "weight": 10 } ] }, { "name": "GROUP_TADPOLE_GREEN", @@ -944,6 +963,12 @@ "default": "mon_wood_frog", "monsters": [ { "monster": "mon_wood_frog", "weight": 99 }, { "monster": "mon_wood_worm", "weight": 1 } ] }, + { + "name": "GROUP_BIGTAD_VOCAL", + "type": "monstergroup", + "default": "mon_jumbo_bigfrog", + "monsters": [ { "monster": "mon_jumbo_bigfrog", "weight": 50 }, { "monster": "mon_vocal_bigfrog", "weight": 50 } ] + }, { "name": "GROUP_FROGS_UPGRADE_PATTERN", "type": "monstergroup", diff --git a/data/json/monstergroups/eggs.json b/data/json/monstergroups/eggs.json index 215bc2ea79894..d154633a2f78a 100644 --- a/data/json/monstergroups/eggs.json +++ b/data/json/monstergroups/eggs.json @@ -576,61 +576,31 @@ "type": "monstergroup", "monsters": [ { "monster": "mon_leo_tadpole" } ] }, - { - "name": "GROUP_EGG_PATTERN_FROG", - "type": "monstergroup", - "monsters": [ { "monster": "mon_pattern_tadpole" } ] - }, { "name": "GROUP_EGG_BULLFROG_FROG", "type": "monstergroup", "monsters": [ { "monster": "mon_bullfrog_tadpole" } ] }, - { - "name": "GROUP_EGG_STRANGE_FROG", - "type": "monstergroup", - "monsters": [ { "monster": "mon_strange_tadpole" } ] - }, { "name": "GROUP_EGG_FOWLER_TOAD", "type": "monstergroup", "monsters": [ { "monster": "mon_fowler_tadpole" } ] }, - { - "name": "GROUP_EGG_FOUL_TOAD", - "type": "monstergroup", - "monsters": [ { "monster": "mon_foul_tadpole" } ] - }, { "name": "GROUP_EGG_FREEDOM_TOAD", "type": "monstergroup", "monsters": [ { "monster": "mon_freedom_tadpole" } ] }, - { - "name": "GROUP_EGG_ODD_TOAD", - "type": "monstergroup", - "monsters": [ { "monster": "mon_odd_tadpole" } ] - }, { "name": "GROUP_EGG_PEEPER_FROG", "type": "monstergroup", "monsters": [ { "monster": "mon_peeper_tadpole" } ] }, - { - "name": "GROUP_EGG_VOCAL_FROG", - "type": "monstergroup", - "monsters": [ { "monster": "mon_vocal_tadpole" } ] - }, { "name": "GROUP_EGG_GRAY_FROG", "type": "monstergroup", "monsters": [ { "monster": "mon_gray_tadpole" } ] }, - { - "name": "GROUP_EGG_SHIFT_FROG", - "type": "monstergroup", - "monsters": [ { "monster": "mon_shift_tadpole" } ] - }, { "name": "GROUP_EGG_MINK_FROG", "type": "monstergroup", @@ -641,11 +611,6 @@ "type": "monstergroup", "monsters": [ { "monster": "mon_pickerel_tadpole" } ] }, - { - "name": "GROUP_EGG_PALETTE_FROG", - "type": "monstergroup", - "monsters": [ { "monster": "mon_palette_tadpole" } ] - }, { "name": "GROUP_EGG_GREEN_FROG", "type": "monstergroup", diff --git a/data/json/monsters/reptile_amphibian.json b/data/json/monsters/reptile_amphibian.json index 2f5a490cc963a..bb9c719dab1e1 100644 --- a/data/json/monsters/reptile_amphibian.json +++ b/data/json/monsters/reptile_amphibian.json @@ -511,15 +511,6 @@ "color": "dark_gray", "upgrades": { "age_grow": 22, "into_group": "GROUP_TADPOLE_LEO" } }, - { - "id": "mon_pattern_tadpole", - "type": "MONSTER", - "copy-from": "mon_leo_tadpole", - "name": { "str": "tadpole" }, - "categories": [ "NULL" ], - "harvest": "mutant_tiny", - "upgrades": { "age_grow": 22, "into": "mon_pattern_frog" } - }, { "id": "mon_bullfrog_tadpole", "type": "MONSTER", @@ -530,16 +521,7 @@ "volume": "240 ml", "weight": "120 g", "hp": 2, - "upgrades": { "age_grow": 91, "into": "mon_bullfrog_frog" } - }, - { - "id": "mon_strange_tadpole", - "type": "MONSTER", - "copy-from": "mon_bullfrog_tadpole", - "name": { "str": "tadpole" }, - "categories": [ "NULL" ], - "harvest": "mutant_tiny", - "upgrades": { "age_grow": 22, "into": "mon_strange_frog" } + "upgrades": { "age_grow": 91, "into_group": "GROUP_TADPOLE_BULLFROG" } }, { "id": "mon_fowler_tadpole", @@ -547,39 +529,18 @@ "copy-from": "mon_proxy_tadpole", "name": { "str": "tadpole" }, "description": "The larval form of some species of frog. Soon enough it will undergo metamorphosis into its adult form. This dark, speckled one has a rather large, bulbous body compared to its thin, tapered tail.", - "upgrades": { "age_grow": 8, "into": "mon_fowler_toad" }, + "upgrades": { "age_grow": 8, "into_group": "GROUP_TADPOLE_FOWLER" }, "extend": { "flags": [ "POISON" ] } }, - { - "id": "mon_foul_tadpole", - "type": "MONSTER", - "copy-from": "mon_fowler_tadpole", - "name": { "str": "tadpole" }, - "categories": [ "NULL" ], - "harvest": "mutant_tiny", - "upgrades": { "age_grow": 8, "into": "mon_foul_toad" } - }, { "id": "mon_freedom_tadpole", "type": "MONSTER", "copy-from": "mon_proxy_tadpole", "name": { "str": "tadpole" }, "description": "The larval form of some species of frog. Soon enough it will undergo metamorphosis into its adult form. This dark, speckled one has a rather large, bulbous body compared to its thin, tapered tail.", - "upgrades": { "age_grow": 15, "into": "mon_freedom_toad" }, + "upgrades": { "age_grow": 15, "into_group": "GROUP_TADPOLE_FREEDOM" }, "extend": { "flags": [ "POISON" ] } }, - { - "id": "mon_odd_tadpole", - "type": "MONSTER", - "copy-from": "mon_freedom_tadpole", - "name": { "str": "tadpole" }, - "categories": [ "NULL" ], - "volume": "240 ml", - "weight": "120 g", - "hp": 2, - "harvest": "mutant_tiny", - "upgrades": { "age_grow": 15, "into": "mon_odd_toad" } - }, { "id": "mon_peeper_tadpole", "type": "MONSTER", @@ -587,16 +548,7 @@ "name": { "str": "tadpole" }, "description": "A tiny larval frog. Almost solid black, this one is barely a speck in the water around it.", "color": "dark_gray", - "upgrades": { "age_grow": 15, "into": "mon_peeper_frog" } - }, - { - "id": "mon_vocal_tadpole", - "type": "MONSTER", - "copy-from": "mon_peeper_tadpole", - "name": { "str": "tadpole" }, - "categories": [ "NULL" ], - "harvest": "mutant_tiny", - "upgrades": { "age_grow": 15, "into": "mon_vocal_frog" } + "upgrades": { "age_grow": 15, "into_group": "GROUP_TADPOLE_PEEPER" } }, { "id": "mon_gray_tadpole", @@ -605,16 +557,7 @@ "name": { "str": "tadpole" }, "description": "This rather unique tadpole might be mistaken for a small fish. It sports a very broad tail with bright red-orange coloration at its end, dotted with black spots.", "color": "red", - "upgrades": { "age_grow": 15, "into": "mon_gray_frog" } - }, - { - "id": "mon_shift_tadpole", - "type": "MONSTER", - "copy-from": "mon_gray_tadpole", - "name": { "str": "tadpole" }, - "categories": [ "NULL" ], - "harvest": "mutant_tiny", - "upgrades": { "age_grow": 15, "into": "mon_shift_frog" } + "upgrades": { "age_grow": 15, "into_group": "GROUP_TADPOLE_GRAY" } }, { "id": "mon_mink_tadpole", @@ -624,18 +567,6 @@ "name": { "str": "tadpole" }, "upgrades": { "age_grow": 91, "into": "mon_mink_frog" } }, - { - "id": "mon_tail_tadpole", - "type": "MONSTER", - "copy-from": "mon_mink_tadpole", - "description": "This strange tadpole is mostly tail. The tail itself appears to have exceptional strength and flexibility, for a tadpole. It may be able to use it for more than swimming.", - "name": { "str": "tadpole" }, - "categories": [ "NULL" ], - "speed": 60, - "harvest": "mutant_tiny", - "upgrades": { "age_grow": 22, "into": "mon_tail_frog" }, - "delete": { "flags": [ "AQUATIC" ] } - }, { "id": "mon_pickerel_tadpole", "type": "MONSTER", @@ -643,17 +574,7 @@ "description": "This yellowish tadpole is covered in flecks of brown and cream coloring. Its eyes rest close together on a notably pointed face.", "name": { "str": "tadpole" }, "color": "yellow", - "upgrades": { "age_grow": 22, "into": "mon_pickerel_frog" }, - "extend": { "flags": [ "POISON" ] } - }, - { - "id": "mon_palette_tadpole", - "type": "MONSTER", - "copy-from": "mon_pickerel_tadpole", - "name": { "str": "tadpole" }, - "categories": [ "NULL" ], - "harvest": "mutant_tiny", - "upgrades": { "age_grow": 22, "into": "mon_palette_frog" }, + "upgrades": { "age_grow": 22, "into_group": "GROUP_TADPOLE_PICKEREL" }, "extend": { "flags": [ "POISON" ] } }, { @@ -748,6 +669,23 @@ "upgrades": { "age_grow": 10, "into": "mon_odd_bigfrog" }, "extend": { "flags": [ "POISON" ] } }, + { + "id": "mon_vocal_bigtad", + "type": "MONSTER", + "copy-from": "mon_proxy_bigtad", + "description": "A much larger than average tadpole. Despite its unusual size, it is hard to make out any features from its dark, almost black, tint.", + "name": { "str": "giant tadpole" }, + "upgrades": { "age_grow": 10, "into_group": "GROUP_BIGTAD_VOCAL" } + }, + { + "id": "mon_shift_bigtad", + "type": "MONSTER", + "copy-from": "mon_proxy_bigtad", + "color": "red", + "description": "This tadpole's expanded size only eccentuates its other unique feature. Its tail fin is a vibrant gradient of crimson to yellow.", + "name": { "str": "giant tadpole" }, + "upgrades": { "age_grow": 10, "into": "mon_shift_bigfrog" } + }, { "abstract": "mon_proxy_frog", "type": "MONSTER", @@ -794,7 +732,6 @@ "categories": [ "NULL" ], "harvest": "mutant_tiny", "upgrades": { "age_grow": 15, "into": "mon_pattern_bigfrog" }, - "reproduction": { "baby_type": { "baby_egg": "egg_pattern_frog" }, "baby_count": 6, "baby_timer": 20 }, "//": "When possible, add effect for rare flicker of very low luminance." }, { @@ -1213,7 +1150,7 @@ "fear_triggers": [ "HURT", "FRIEND_DIED", "FIRE", "SOUND" ], "anger_triggers": [ "PLAYER_CLOSE", "MATING_SEASON" ], "zombify_into": "mon_zombtreefrog", - "reproduction": { "baby_type": { "baby_egg": "egg_vocal_frog" }, "baby_count": 12, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_vocal_bigfrog" }, "baby_count": 12, "baby_timer": 20 }, "delete": { "flags": [ "SWARMS" ] }, "harvest": "bullfrog", "//": "Give climbing (Z axis) ability when available." @@ -1261,7 +1198,7 @@ "armor": { "bash": 5, "acid": 2, "heat": 5, "electric": 4 }, "vision_night": 35, "zombify_into": "mon_frog_shadow", - "reproduction": { "baby_type": { "baby_egg": "egg_shift_frog" }, "baby_count": 12, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_shift_bigfrog" }, "baby_count": 12, "baby_timer": 20 }, "extend": { "flags": [ "CAMOUFLAGE" ] }, "//": "Give climbing (Z axis) ability when available." }, diff --git a/data/json/monsters/zed-animal.json b/data/json/monsters/zed-animal.json index 1efa1cc172485..244adf929d834 100644 --- a/data/json/monsters/zed-animal.json +++ b/data/json/monsters/zed-animal.json @@ -734,39 +734,5 @@ "fungalize_into": "mon_zeindeer_fungus", "flags": [ "SEES", "HEARS", "SMELLS", "STUMBLES", "WARM", "POISON", "NO_BREATHE", "REVIVES", "FILTHY" ], "armor": { "bash": 5, "cut": 4, "electric": 1 } - }, - { - "id": "mon_gastro_bufo", - "type": "MONSTER", - "name": { "str": "gastro bufo" }, - "description": "A massive toad stumbling around while leaking acid from its skin. Doesn't look friendly at all.", - "copy-from": "mon_proxy_frog_zombie", - "volume": "200 L", - "weight": "280 kg", - "hp": 200, - "speed": 75, - "attack_cost": 75, - "symbol": "R", - "dodge": 2, - "harvest": "zombie_animal_acid", - "emit_fields": [ { "emit_id": "emit_acid_drop", "delay": "1 s" } ], - "special_attacks": [ - { - "type": "leap", - "cooldown": 10, - "move_cost": 0, - "max_range": 10, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" }, - [ "ACID_BARF", 5 ] - ], - "special_when_hit": [ "ACIDSPLASH", 100 ], - "death_function": { "message": "The %s's body leaks acid.", "effect": { "id": "death_acid", "hit_self": true } }, - "burn_into": "mon_frog_smoker_hulk", - "extend": { "flags": [ "ACIDPROOF", "ACID_BLOOD" ] }, - "delete": { "flags": [ "RANGED_ATTACKER" ] } } ] diff --git a/data/json/monsters/zed_amphibian.json b/data/json/monsters/zed_amphibian.json new file mode 100644 index 0000000000000..bfd21efd89b68 --- /dev/null +++ b/data/json/monsters/zed_amphibian.json @@ -0,0 +1,681 @@ +[ + { + "abstract": "mon_proxy_frog_zombie", + "type": "MONSTER", + "name": { "str": "zombie frog" }, + "description": "A hypothetical frog of the zombie variety. You should not be seeing it without debug.", + "default_faction": "zombie", + "bodytype": "frog", + "species": [ "ZOMBIE" ], + "volume": "120 L", + "weight": "150 kg", + "hp": 160, + "bleed_rate": 0, + "speed": 60, + "material": [ "flesh" ], + "symbol": "M", + "color": "black_green", + "aggression": 100, + "morale": 100, + "melee_skill": 4, + "melee_dice": 4, + "melee_dice_sides": 6, + "melee_damage": [ { "damage_type": "bash", "amount": 5 } ], + "dodge": 1, + "armor": { "bash": 8, "cut": 2, "bullet": 1, "electric": 2 }, + "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_amphibian", "prof_wp_zombie" ], + "weakpoint_sets": [ "wps_amphibian_body", "wps_amphibian_frog" ], + "harvest": "zombie_animal", + "vision_night": 7, + "special_attacks": [ + { + "type": "leap", + "cooldown": 12, + "move_cost": 0, + "max_range": 6, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { + "id": "ranged_pull", + "range": 4, + "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, + "hit_dmg_u": "%s catches you with its tongue and pulls you in!", + "hit_dmg_npc": "%s catches with its tongue and pulls them in!", + "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", + "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", + "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", + "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" } + ], + "flags": [ + "SEES", + "HEARS", + "SMELLS", + "KEENNOSE", + "STUMBLES", + "GRABS", + "WARM", + "BASHES", + "GROUP_BASH", + "NO_BREATHE", + "REVIVES", + "PUSH_MON", + "RANGED_ATTACKER", + "POISON" + ] + }, + { + "id": "mon_frog_mother", + "type": "MONSTER", + "name": { "str": "frog mother" }, + "description": "A large, bulbous creature with an extremely large mouth and small, stubby legs with no feet. Drenched in an oily greenish-black substance, its flesh seems to rapidly decompose and reconstitute itself, and it is covered in large, white pustules that seem ready to pop.", + "copy-from": "mon_proxy_frog_zombie", + "volume": "240 L", + "weight": "300 kg", + "hp": 400, + "symbol": "F", + "melee_skill": 5, + "melee_dice": 5, + "dodge": 2, + "grab_strength": 40, + "special_attacks": [ + { + "type": "leap", + "cooldown": 12, + "move_cost": 0, + "max_range": 4, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { + "id": "ranged_pull", + "range": 4, + "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, + "hit_dmg_u": "%s catches you with its tongue and pulls you in!", + "hit_dmg_npc": "%s catches with its tongue and pulls them in!", + "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", + "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", + "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", + "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" }, + { + "type": "spell", + "spell_data": { "id": "frog_mother_summon" }, + "cooldown": 20, + "monster_message": "Some of the pustules pop, and the frog mother opens her mouth and vomits tadpoles!" + } + ], + "regenerates": 40, + "armor": { "bash": 12, "cut": 2, "bullet": 1, "electric": 2 }, + "burn_into": "mon_frog_smoker_hulk" + }, + { + "id": "mon_tadpole_grabber", + "type": "MONSTER", + "name": { "str": "tadpole constrictor" }, + "description": "The only resemblance this creature bears to a tadpole is its slick black-green skin and slender body. Its three appendages, resembling long tentacles or pseudopods, propel it across the ground at maddening speed. It has no outward sensory organs or a mouth, and steam rises from its skin as if it is burning away its own lifeforce to catch you.", + "default_faction": "zombie", + "bodytype": "snake", + "species": [ "ZOMBIE" ], + "volume": "10 L", + "weight": "18 kg", + "hp": 20, + "speed": 200, + "material": [ "flesh" ], + "symbol": "S", + "color": "black_green", + "aggression": 100, + "morale": 100, + "melee_skill": 7, + "melee_dice": 1, + "melee_dice_sides": 2, + "dodge": 4, + "vision_day": 7, + "vision_night": 7, + "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_zombie", "prof_wp_basic_amphibian" ], + "harvest": "exempt", + "grab_strength": 15, + "special_attacks": [ + { "type": "leap", "cooldown": 10, "move_cost": 0, "max_range": 4, "min_consider_range": 2 }, + { "id": "grab", "cooldown": 1 } + ], + "death_function": { + "message": "The %s's body melts away.", + "effect": { "id": "death_acid", "hit_self": true }, + "corpse_type": "NO_CORPSE" + }, + "flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "STUMBLES", "WARM", "POISON", "GRABS", "NO_BREATHE" ] + }, + { + "id": "mon_zombullfrog", + "type": "MONSTER", + "name": { "str": "zombullfrog" }, + "description": "The wound covered skin of this large bullfrog appears to be peeling in places, revealing a black goop beneath the surface. Its vacant stare passes by anything that isn't food, and it will leap to devour anything it can.", + "copy-from": "mon_proxy_frog_zombie", + "attack_cost": 50, + "burn_into": "mon_frog_mummy", + "upgrades": { "half_life": 34, "into_group": "GROUP_ZOMBULL_FROG_UPGRADE" } + }, + { + "id": "mon_frog_dad", + "type": "MONSTER", + "name": { "str": "colossal zombullfrog" }, + "description": "This gigantic zombified frog lets out an ear splitting unholy wail as it slowly takes notice of you. Its mostly lethargic movements are offset by its ability to leap great distances using its gargantuan stout legs.", + "copy-from": "mon_proxy_frog_zombie", + "volume": "200 L", + "weight": "180 kg", + "hp": 500, + "attack_cost": 60, + "symbol": "F", + "color": "light_green", + "grab_strength": 50, + "melee_skill": 8, + "melee_dice": 6, + "melee_dice_sides": 5, + "vision_day": 30, + "special_attacks": [ + { + "type": "leap", + "cooldown": 8, + "move_cost": 0, + "max_range": 8, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { + "id": "ranged_pull", + "range": 4, + "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, + "hit_dmg_u": "%s catches you with its tongue and pulls you in!", + "hit_dmg_npc": "%s catches with its tongue and pulls them in!", + "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", + "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", + "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", + "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" }, + [ "SHRIEK_ALERT", 20 ], + [ "SHRIEK_STUN", 5 ] + ], + "armor": { "bash": 15, "cut": 7, "bullet": 5, "electric": 2 }, + "burn_into": "mon_frog_smoker_hulk" + }, + { + "id": "mon_toad_zombie", + "type": "MONSTER", + "name": { "str": "zombie toad" }, + "description": "The revivified remains of a giant mutant toad. Its condition has left it slowed but no less dangerous.", + "copy-from": "mon_proxy_frog_zombie", + "color": "brown_green", + "attack_cost": 50, + "burn_into": "mon_frog_mummy", + "upgrades": { "half_life": 30, "into_group": "GROUP_DEADTOAD_UPGRADE" } + }, + { + "id": "mon_frog_shocker", + "type": "MONSTER", + "name": { "str": "zapping zombfrog" }, + "description": "The hum coming from this giant, rotten frog sounds unlike any kind of vocalization. The sound is clearly a result of the bolts of electricity that skip across its skin and arc between its lips.", + "copy-from": "mon_proxy_frog_zombie", + "speed": 75, + "color": "light_cyan", + "melee_skill": 5, + "melee_dice": 2, + "melee_damage": [ { "damage_type": "electric", "amount": 6 } ], + "dodge": 2, + "families": [ + "prof_gross_anatomy", + "prof_intro_biology", + "prof_physiology", + "prof_wp_basic_amphibian", + "prof_wp_zombie", + "prof_electromagnetics" + ], + "weakpoint_sets": [ "wps_amphibian_body", "wps_amphibian_frog", "wps_amphibian_electric" ], + "harvest": "zombie_animal_electric", + "luminance": 16, + "attack_cost": 50, + "special_attacks": [ + { + "type": "leap", + "cooldown": 8, + "move_cost": 0, + "max_range": 6, + "min_consider_range": 2, + "allow_no_target": true, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { + "id": "ranged_pull", + "cooldown": 10, + "range": 4, + "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, + "damage_max_instance": [ { "damage_type": "electric", "amount": 4 } ], + "effects": [ { "id": "zapped", "duration": [ 2, 10 ] } ], + "hit_dmg_u": "%s catches you with its tongue and pulls you in!", + "hit_dmg_npc": "%s catches with its tongue and pulls them in!", + "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", + "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", + "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", + "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" }, + [ "PARROT", 8 ] + ], + "special_when_hit": [ "ZAPBACK", 100 ], + "burn_into": "mon_frog_mummy", + "extend": { "flags": [ "ELECTRIC" ] } + }, + { + "id": "mon_toad_bloat", + "type": "MONSTER", + "name": { "str": "bloated zoad" }, + "description": "This zombified toad wobbles as it drags along its immense, inflated form. A yellow-brown sludge dribbles from its mouth and seeps out from its bulging, cracking skin.", + "copy-from": "mon_proxy_frog_zombie", + "weight": "200 kg", + "hp": 30, + "symbol": "D", + "melee_dice": 2, + "melee_dice_sides": 3, + "melee_damage": [ { "damage_type": "bash", "amount": 2 } ], + "armor": { "bash": 4, "cut": 1 }, + "special_attacks": [ + { + "type": "leap", + "cooldown": 12, + "move_cost": 0, + "max_range": 4, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { + "id": "ranged_pull", + "range": 4, + "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, + "hit_dmg_u": "%s catches you with its tongue and pulls you in!", + "hit_dmg_npc": "%s catches with its tongue and pulls them in!", + "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", + "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", + "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", + "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" } + ], + "death_function": { + "message": "The %s's body bursts, expelling sludge.", + "effect": { "id": "death_sludge", "hit_self": true }, + "corpse_type": "NO_CORPSE" + }, + "death_drops": "explode_toad", + "upgrades": { "half_life": 30, "into_group": "GROUP_BLOAT_TOAD_UPGRADE" }, + "extend": { "flags": [ "SMALLSLUDGETRAIL", "SLUDGEPROOF" ] }, + "//": "Create new death_sludge effect." + }, + { + "id": "mon_zombtreefrog", + "type": "MONSTER", + "name": { "str": "croaked climber" }, + "description": "The pale, empty eyes of this large, reanimated treefrog still swivel in their sockets, searching for prey. Its steps are ungainly but its hind legs look capable of great leaps.", + "copy-from": "mon_proxy_frog_zombie", + "volume": "108500 ml", + "weight": "100 kg", + "hp": 90, + "bleed_rate": 50, + "speed": 90, + "symbol": "K", + "color": "brown_green", + "melee_dice_sides": 4, + "melee_damage": [ { "damage_type": "bash", "amount": 3 } ], + "dodge": 4, + "armor": { "bash": 4, "cut": 2, "bullet": 1 }, + "attack_cost": 50, + "grab_strength": 20, + "special_attacks": [ + { + "type": "leap", + "cooldown": 8, + "move_cost": 0, + "max_range": 12, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { + "id": "ranged_pull", + "range": 4, + "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, + "hit_dmg_u": "%s catches you with its tongue and pulls you in!", + "hit_dmg_npc": "%s catches with its tongue and pulls them in!", + "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", + "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", + "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", + "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" } + ], + "burn_into": "mon_frog_husk", + "upgrades": { "half_life": 30, "into_group": "GROUP_ZOMBTREEFROG_UPGRADE" }, + "extend": { "flags": [ "HARDTOSHOOT", "HIT_AND_RUN" ] }, + "//": "Translation note - 'Croaked' is a euphemistic way of saying 'died' in American English, while 'croak' is an onomatopoeic word for the sound frogs make. A simple, literal translation of 'zombie treefrog' would also be fitting." + }, + { + "id": "mon_frog_shadow", + "type": "MONSTER", + "name": { "str": "shadow leaper" }, + "description": "A lithe and leggy form rests flat against the ground, wreathed in darkness. When it leaps, the shadows follow with it.", + "copy-from": "mon_proxy_frog_zombie", + "volume": "108500 ml", + "weight": "100 kg", + "hp": 120, + "speed": 110, + "symbol": "K", + "color": "dark_gray_green", + "melee_skill": 5, + "melee_dice_sides": 5, + "melee_damage": [ { "damage_type": "cut", "amount": 5 } ], + "dodge": 6, + "armor": { "bash": 4, "cut": 1, "bullet": 1 }, + "vision_day": 7, + "vision_night": 40, + "attack_cost": 50, + "grab_strength": 35, + "special_attacks": [ + { + "type": "leap", + "cooldown": 8, + "move_cost": 0, + "max_range": 12, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { + "id": "ranged_pull", + "range": 4, + "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, + "hit_dmg_u": "%s catches you with its tongue and pulls you in!", + "hit_dmg_npc": "%s catches with its tongue and pulls them in!", + "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", + "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", + "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", + "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" } + ], + "burn_into": "mon_frog_husk", + "extend": { "flags": [ "HARDTOSHOOT", "NIGHT_INVISIBILITY", "HIT_AND_RUN" ] } + }, + { + "id": "mon_toad_wart", + "type": "MONSTER", + "name": { "str": "warted monstrosity", "str_pl": "warted monstrosities" }, + "description": "A festering toad the size of a dune buggy. It struggles to pull its bulk towards you. The warts covering its back appear fit to burst with yellow sludge, and more of the stuff flows freely from both ends of it.", + "copy-from": "mon_proxy_frog_zombie", + "volume": "300 L", + "weight": "280 kg", + "hp": 200, + "speed": 50, + "symbol": "D", + "color": "brown_green", + "melee_dice": 5, + "armor": { "bash": 12, "cut": 2, "bullet": 1, "electric": 4 }, + "grab_strength": 40, + "special_attacks": [ + { + "type": "leap", + "cooldown": 12, + "move_cost": 0, + "max_range": 4, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { + "id": "ranged_pull", + "range": 4, + "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, + "hit_dmg_u": "%s catches you with its tongue and pulls you in!", + "hit_dmg_npc": "%s catches with its tongue and pulls them in!", + "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", + "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", + "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", + "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" } + ], + "death_function": { + "message": "The %s's body bursts, expelling a copious amount of sludge.", + "effect": { "id": "death_sludge_mega", "hit_self": true }, + "corpse_type": "NO_CORPSE" + }, + "death_drops": "explode_toad", + "extend": { "flags": [ "SLUDGETRAIL", "SLUDGEPROOF" ] }, + "//": "When possible, give a sludge-spray on hit effect." + }, + { + "id": "mon_toad_bone", + "type": "MONSTER", + "name": { "str": "death mask zoad" }, + "description": "The face and head of this enormous once-frog is encased in ossified tissue. Its dead eyes peer out from this death mask of hardened bone, which curves into a jagged beak around its mouth. Even its warts appear to have stiffened into dense osteoderms.", + "copy-from": "mon_proxy_frog_zombie", + "volume": "240 L", + "weight": "340 kg", + "hp": 400, + "symbol": "B", + "melee_skill": 6, + "melee_dice": 5, + "armor": { "bash": 15, "cut": 30, "bullet": 20, "electric": 4 }, + "families": [ + "prof_gross_anatomy", + "prof_intro_biology", + "prof_physiology", + "prof_wp_basic_amphibian", + "prof_wp_zombie", + "prof_wp_skeleton" + ], + "weakpoint_sets": [ "wps_amphibian_body", "wps_amphibian_frog", "wps_amphibian_bone", "wps_bone_armor" ], + "attack_cost": 75, + "grab_strength": 50, + "special_attacks": [ + { + "type": "leap", + "cooldown": 8, + "move_cost": 0, + "max_range": 6, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { + "id": "ranged_pull", + "range": 4, + "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, + "hit_dmg_u": "%s catches you with its tongue and pulls you in!", + "hit_dmg_npc": "%s catches with its tongue and pulls them in!", + "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", + "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", + "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", + "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" + }, + { + "id": "bite_grab", + "cooldown": 5, + "accuracy": 5, + "damage_max_instance": [ + { "damage_type": "cut", "amount": 26, "armor_multiplier": 0.2 }, + { "damage_type": "bash", "amount": 14, "armor_multiplier": 0.2 } + ] + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" } + ], + "burn_into": "mon_frog_smoker_hulk" + }, + { + "id": "mon_frog_husk", + "type": "MONSTER", + "name": { "str": "leaping husk" }, + "description": "The dehydrated remains of a frog, like the unfortunate sort you might find trapped between a window and screen. This one is much larger than those and surely capable of doing you real harm. You see its dry skin crack and shed wisps of tainted dust as it moves.", + "copy-from": "mon_proxy_frog_zombie", + "volume": "80 L", + "weight": "100 kg", + "hp": 45, + "speed": 80, + "symbol": "X", + "color": "brown_green", + "melee_dice_sides": 4, + "melee_damage": [ { "damage_type": "cut", "amount": 5 } ], + "dodge": 2, + "armor": { "bash": 4, "cut": 2, "bullet": 1, "electric": 2 }, + "attack_cost": 60, + "grab_strength": 15, + "special_attacks": [ + { + "type": "leap", + "cooldown": 8, + "move_cost": 0, + "max_range": 6, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } }, + "self_effects": [ { "id": "fragile_frog", "duration": 30 } ] + }, + { + "id": "dusty_frog_leap", + "type": "spell", + "spell_data": { "id": "dusty_frog_leap" }, + "allow_no_target": true, + "condition": { "u_has_effect": "fragile_frog" }, + "monster_message": "The %s crumbles!" + }, + { "id": "scratch", "cooldown": 10 }, + { "id": "bite_grab", "cooldown": 10 }, + { "id": "drag_followup" } + ], + "death_function": { "effect": { "id": "death_smokeburst_tiny", "hit_self": true }, "message": "The %s crumbles!" }, + "upgrades": { "half_life": 30, "into_group": "GROUP_ZOMBTREEFROG_UPGRADE" }, + "extend": { "flags": [ "REVIVES_HEALTHY", "HARDTOSHOOT", "HIT_AND_RUN" ] }, + "delete": { "flags": [ "RANGED_ATTACKER" ] } + }, + { + "id": "mon_frog_mummy", + "type": "MONSTER", + "name": { "str": "batrachian mummy", "str_pl": "batrachian mummies" }, + "description": "The ambulatory, desiccated corpse of an enormous amphibian. What papery skin remains hugs tightly to the bones and shrunken flesh beneath. Each stuttering leap it makes leaves it looking worse off as it sheds clouds of ash and soot.", + "copy-from": "mon_proxy_frog_zombie", + "hp": 80, + "speed": 75, + "symbol": "H", + "color": "brown_green", + "melee_damage": [ { "damage_type": "bash", "amount": 5 } ], + "armor": { "bash": 4, "cut": 2, "bullet": 1, "electric": 2 }, + "attack_cost": 75, + "grab_strength": 25, + "special_attacks": [ + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" }, + { + "type": "leap", + "cooldown": 10, + "move_cost": 0, + "max_range": 4, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } }, + "self_effects": [ { "id": "fragile_frog", "duration": 30 } ] + }, + { + "id": "fragile_frog_leap", + "type": "spell", + "spell_data": { "id": "fragile_frog_leap" }, + "allow_no_target": true, + "condition": { "u_has_effect": "fragile_frog" }, + "monster_message": "The %s crumbles!" + } + ], + "death_function": { "effect": { "id": "death_smokeburst", "hit_self": true } }, + "upgrades": { "half_life": 30, "into": "mon_meat_cocoon_med" }, + "delete": { "flags": [ "RANGED_ATTACKER" ] }, + "extend": { "flags": [ "REVIVES_HEALTHY" ] } + }, + { + "id": "mon_frog_smoker_hulk", + "type": "MONSTER", + "name": { "str": "batrachian smoker" }, + "description": "Even without the haze of smoke that constantly fumes off of it, it would be difficult to tell what this once was. The massive thing seems to have dried out and shriveled up, though unevenly. Rind through core it has warped. Its whole dry body crinkles and folds as it moves.", + "copy-from": "mon_proxy_frog_zombie", + "volume": "200 L", + "weight": "180 kg", + "hp": 200, + "symbol": "H", + "color": "brown_green", + "melee_dice": 5, + "melee_damage": [ { "damage_type": "bash", "amount": 5 } ], + "armor": { "bash": 4, "cut": 2, "bullet": 1, "electric": 2 }, + "emit_fields": [ { "emit_id": "emit_smoke_stream", "delay": "1 s" } ], + "special_attacks": [ + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" }, + { + "type": "leap", + "cooldown": 10, + "move_cost": 0, + "max_range": 4, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } }, + "self_effects": [ { "id": "fragile_frog", "duration": 30 } ] + }, + { + "id": "fragile_frog_leap", + "type": "spell", + "spell_data": { "id": "fragile_frog_leap" }, + "allow_no_target": true, + "condition": { "u_has_effect": "fragile_frog" }, + "monster_message": "The %s crumbles!" + } + ], + "death_function": { "effect": { "id": "death_smokeburst", "hit_self": true } }, + "upgrades": { "half_life": 30, "into": "mon_meat_cocoon_large" }, + "delete": { "flags": [ "RANGED_ATTACKER" ] }, + "extend": { "flags": [ "REVIVES_HEALTHY" ] } + }, + { + "id": "mon_gastro_bufo", + "type": "MONSTER", + "name": { "str": "gastro bufo" }, + "description": "A massive toad stumbling around while leaking acid from its skin. Doesn't look friendly at all.", + "copy-from": "mon_proxy_frog_zombie", + "volume": "200 L", + "weight": "280 kg", + "hp": 200, + "speed": 75, + "attack_cost": 75, + "symbol": "R", + "dodge": 2, + "harvest": "zombie_animal_acid", + "emit_fields": [ { "emit_id": "emit_acid_drop", "delay": "1 s" } ], + "special_attacks": [ + { + "type": "leap", + "cooldown": 10, + "move_cost": 0, + "max_range": 10, + "min_consider_range": 2, + "condition": { "not": { "u_has_effect": "maimed_leg" } } + }, + { "id": "grab_drag", "cooldown": 3 }, + { "id": "drag_followup" }, + [ "ACID_BARF", 5 ] + ], + "special_when_hit": [ "ACIDSPLASH", 100 ], + "death_function": { "message": "The %s's body leaks acid.", "effect": { "id": "death_acid", "hit_self": true } }, + "burn_into": "mon_frog_smoker_hulk", + "extend": { "flags": [ "ACIDPROOF", "ACID_BLOOD" ] }, + "delete": { "flags": [ "RANGED_ATTACKER" ] } + } +] diff --git a/data/json/monsters/zed_misc.json b/data/json/monsters/zed_misc.json index 09028a25518c1..13540caa37884 100644 --- a/data/json/monsters/zed_misc.json +++ b/data/json/monsters/zed_misc.json @@ -1,649 +1,4 @@ [ - { - "abstract": "mon_proxy_frog_zombie", - "type": "MONSTER", - "name": { "str": "zombie frog" }, - "description": "A hypothetical frog of the zombie variety. You should not be seeing it without debug.", - "default_faction": "zombie", - "bodytype": "frog", - "species": [ "ZOMBIE" ], - "volume": "120 L", - "weight": "150 kg", - "hp": 160, - "bleed_rate": 0, - "speed": 60, - "material": [ "flesh" ], - "symbol": "M", - "color": "black_green", - "aggression": 100, - "morale": 100, - "melee_skill": 4, - "melee_dice": 4, - "melee_dice_sides": 6, - "melee_damage": [ { "damage_type": "bash", "amount": 5 } ], - "dodge": 1, - "armor": { "bash": 8, "cut": 2, "bullet": 1, "electric": 2 }, - "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_amphibian", "prof_wp_zombie" ], - "weakpoint_sets": [ "wps_amphibian_body", "wps_amphibian_frog" ], - "harvest": "zombie_animal", - "vision_night": 7, - "special_attacks": [ - { - "type": "leap", - "cooldown": 12, - "move_cost": 0, - "max_range": 6, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { - "id": "ranged_pull", - "range": 4, - "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, - "hit_dmg_u": "%s catches you with its tongue and pulls you in!", - "hit_dmg_npc": "%s catches with its tongue and pulls them in!", - "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", - "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", - "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", - "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" } - ], - "flags": [ - "SEES", - "HEARS", - "SMELLS", - "KEENNOSE", - "STUMBLES", - "GRABS", - "WARM", - "BASHES", - "GROUP_BASH", - "NO_BREATHE", - "REVIVES", - "PUSH_MON", - "RANGED_ATTACKER", - "POISON" - ] - }, - { - "id": "mon_frog_mother", - "type": "MONSTER", - "name": { "str": "frog mother" }, - "description": "A large, bulbous creature with an extremely large mouth and small, stubby legs with no feet. Drenched in an oily greenish-black substance, its flesh seems to rapidly decompose and reconstitute itself, and it is covered in large, white pustules that seem ready to pop.", - "copy-from": "mon_proxy_frog_zombie", - "volume": "240 L", - "weight": "300 kg", - "hp": 400, - "symbol": "F", - "melee_skill": 5, - "melee_dice": 5, - "dodge": 2, - "grab_strength": 40, - "special_attacks": [ - { - "type": "leap", - "cooldown": 12, - "move_cost": 0, - "max_range": 4, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { - "id": "ranged_pull", - "range": 4, - "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, - "hit_dmg_u": "%s catches you with its tongue and pulls you in!", - "hit_dmg_npc": "%s catches with its tongue and pulls them in!", - "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", - "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", - "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", - "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" }, - { - "type": "spell", - "spell_data": { "id": "frog_mother_summon" }, - "cooldown": 20, - "monster_message": "Some of the pustules pop, and the frog mother opens her mouth and vomits tadpoles!" - } - ], - "regenerates": 40, - "armor": { "bash": 12, "cut": 2, "bullet": 1, "electric": 2 }, - "burn_into": "mon_frog_smoker_hulk" - }, - { - "id": "mon_tadpole_grabber", - "type": "MONSTER", - "name": { "str": "tadpole constrictor" }, - "description": "The only resemblance this creature bears to a tadpole is its slick black-green skin and slender body. Its three appendages, resembling long tentacles or pseudopods, propel it across the ground at maddening speed. It has no outward sensory organs or a mouth, and steam rises from its skin as if it is burning away its own lifeforce to catch you.", - "default_faction": "zombie", - "bodytype": "snake", - "species": [ "ZOMBIE" ], - "volume": "10 L", - "weight": "18 kg", - "hp": 20, - "speed": 200, - "material": [ "flesh" ], - "symbol": "S", - "color": "black_green", - "aggression": 100, - "morale": 100, - "melee_skill": 7, - "melee_dice": 1, - "melee_dice_sides": 2, - "dodge": 4, - "vision_day": 7, - "vision_night": 7, - "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_zombie", "prof_wp_basic_amphibian" ], - "harvest": "exempt", - "grab_strength": 15, - "special_attacks": [ - { "type": "leap", "cooldown": 10, "move_cost": 0, "max_range": 4, "min_consider_range": 2 }, - { "id": "grab", "cooldown": 1 } - ], - "death_function": { - "message": "The %s's body melts away.", - "effect": { "id": "death_acid", "hit_self": true }, - "corpse_type": "NO_CORPSE" - }, - "flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "STUMBLES", "WARM", "POISON", "GRABS", "NO_BREATHE" ] - }, - { - "id": "mon_zombullfrog", - "type": "MONSTER", - "name": { "str": "zombullfrog" }, - "description": "The wound covered skin of this large bullfrog appears to be peeling in places, revealing a black goop beneath the surface. Its vacant stare passes by anything that isn't food, and it will leap to devour anything it can.", - "copy-from": "mon_proxy_frog_zombie", - "attack_cost": 50, - "burn_into": "mon_frog_mummy", - "upgrades": { "half_life": 34, "into_group": "GROUP_ZOMBULL_FROG_UPGRADE" } - }, - { - "id": "mon_frog_dad", - "type": "MONSTER", - "name": { "str": "colossal zombullfrog" }, - "description": "This gigantic zombified frog lets out an ear splitting unholy wail as it slowly takes notice of you. Its mostly lethargic movements are offset by its ability to leap great distances using its gargantuan stout legs.", - "copy-from": "mon_proxy_frog_zombie", - "volume": "200 L", - "weight": "180 kg", - "hp": 500, - "attack_cost": 60, - "symbol": "F", - "color": "light_green", - "grab_strength": 50, - "melee_skill": 8, - "melee_dice": 6, - "melee_dice_sides": 5, - "vision_day": 30, - "special_attacks": [ - { - "type": "leap", - "cooldown": 8, - "move_cost": 0, - "max_range": 8, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { - "id": "ranged_pull", - "range": 4, - "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, - "hit_dmg_u": "%s catches you with its tongue and pulls you in!", - "hit_dmg_npc": "%s catches with its tongue and pulls them in!", - "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", - "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", - "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", - "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" }, - [ "SHRIEK_ALERT", 20 ], - [ "SHRIEK_STUN", 5 ] - ], - "armor": { "bash": 15, "cut": 7, "bullet": 5, "electric": 2 }, - "burn_into": "mon_frog_smoker_hulk" - }, - { - "id": "mon_toad_zombie", - "type": "MONSTER", - "name": { "str": "zombie toad" }, - "description": "The revivified remains of a giant mutant toad. Its condition has left it slowed but no less dangerous.", - "copy-from": "mon_proxy_frog_zombie", - "color": "brown_green", - "attack_cost": 50, - "burn_into": "mon_frog_mummy", - "upgrades": { "half_life": 30, "into_group": "GROUP_DEADTOAD_UPGRADE" } - }, - { - "id": "mon_frog_shocker", - "type": "MONSTER", - "name": { "str": "zapping zombfrog" }, - "description": "The hum coming from this giant, rotten frog sounds unlike any kind of vocalization. The sound is clearly a result of the bolts of electricity that skip across its skin and arc between its lips.", - "copy-from": "mon_proxy_frog_zombie", - "speed": 75, - "color": "light_cyan", - "melee_skill": 5, - "melee_dice": 2, - "melee_damage": [ { "damage_type": "electric", "amount": 6 } ], - "dodge": 2, - "families": [ - "prof_gross_anatomy", - "prof_intro_biology", - "prof_physiology", - "prof_wp_basic_amphibian", - "prof_wp_zombie", - "prof_electromagnetics" - ], - "weakpoint_sets": [ "wps_amphibian_body", "wps_amphibian_frog", "wps_amphibian_electric" ], - "harvest": "zombie_animal_electric", - "luminance": 16, - "attack_cost": 50, - "special_attacks": [ - { - "type": "leap", - "cooldown": 8, - "move_cost": 0, - "max_range": 6, - "min_consider_range": 2, - "allow_no_target": true, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { - "id": "ranged_pull", - "cooldown": 10, - "range": 4, - "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, - "damage_max_instance": [ { "damage_type": "electric", "amount": 4 } ], - "effects": [ { "id": "zapped", "duration": [ 2, 10 ] } ], - "hit_dmg_u": "%s catches you with its tongue and pulls you in!", - "hit_dmg_npc": "%s catches with its tongue and pulls them in!", - "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", - "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", - "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", - "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" }, - [ "PARROT", 8 ] - ], - "special_when_hit": [ "ZAPBACK", 100 ], - "burn_into": "mon_frog_mummy", - "extend": { "flags": [ "ELECTRIC" ] } - }, - { - "id": "mon_toad_bloat", - "type": "MONSTER", - "name": { "str": "bloated zoad" }, - "description": "This zombified toad wobbles as it drags along its immense, inflated form. A yellow-brown sludge dribbles from its mouth and seeps out from its bulging, cracking skin.", - "copy-from": "mon_proxy_frog_zombie", - "weight": "200 kg", - "hp": 30, - "symbol": "D", - "melee_dice": 2, - "melee_dice_sides": 3, - "melee_damage": [ { "damage_type": "bash", "amount": 2 } ], - "armor": { "bash": 4, "cut": 1 }, - "special_attacks": [ - { - "type": "leap", - "cooldown": 12, - "move_cost": 0, - "max_range": 4, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { - "id": "ranged_pull", - "range": 4, - "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, - "hit_dmg_u": "%s catches you with its tongue and pulls you in!", - "hit_dmg_npc": "%s catches with its tongue and pulls them in!", - "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", - "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", - "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", - "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" } - ], - "death_function": { - "message": "The %s's body bursts, expelling sludge.", - "effect": { "id": "death_sludge", "hit_self": true }, - "corpse_type": "NO_CORPSE" - }, - "death_drops": "explode_toad", - "upgrades": { "half_life": 30, "into_group": "GROUP_BLOAT_TOAD_UPGRADE" }, - "extend": { "flags": [ "SMALLSLUDGETRAIL", "SLUDGEPROOF" ] }, - "//": "Create new death_sludge effect." - }, - { - "id": "mon_zombtreefrog", - "type": "MONSTER", - "name": { "str": "croaked climber" }, - "description": "The pale, empty eyes of this large, reanimated treefrog still swivel in their sockets, searching for prey. Its steps are ungainly but its hind legs look capable of great leaps.", - "copy-from": "mon_proxy_frog_zombie", - "volume": "108500 ml", - "weight": "100 kg", - "hp": 90, - "bleed_rate": 50, - "speed": 90, - "symbol": "K", - "color": "brown_green", - "melee_dice_sides": 4, - "melee_damage": [ { "damage_type": "bash", "amount": 3 } ], - "dodge": 4, - "armor": { "bash": 4, "cut": 2, "bullet": 1 }, - "attack_cost": 50, - "grab_strength": 20, - "special_attacks": [ - { - "type": "leap", - "cooldown": 8, - "move_cost": 0, - "max_range": 12, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { - "id": "ranged_pull", - "range": 4, - "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, - "hit_dmg_u": "%s catches you with its tongue and pulls you in!", - "hit_dmg_npc": "%s catches with its tongue and pulls them in!", - "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", - "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", - "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", - "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" } - ], - "burn_into": "mon_frog_husk", - "upgrades": { "half_life": 30, "into_group": "GROUP_ZOMBTREEFROG_UPGRADE" }, - "extend": { "flags": [ "HARDTOSHOOT", "HIT_AND_RUN" ] }, - "//": "Translation note - 'Croaked' is a euphemistic way of saying 'died' in American English, while 'croak' is an onomatopoeic word for the sound frogs make. A simple, literal translation of 'zombie treefrog' would also be fitting." - }, - { - "id": "mon_frog_shadow", - "type": "MONSTER", - "name": { "str": "shadow leaper" }, - "description": "A lithe and leggy form rests flat against the ground, wreathed in darkness. When it leaps, the shadows follow with it.", - "copy-from": "mon_proxy_frog_zombie", - "volume": "108500 ml", - "weight": "100 kg", - "hp": 120, - "speed": 110, - "symbol": "K", - "color": "dark_gray_green", - "melee_skill": 5, - "melee_dice_sides": 5, - "melee_damage": [ { "damage_type": "cut", "amount": 5 } ], - "dodge": 6, - "armor": { "bash": 4, "cut": 1, "bullet": 1 }, - "vision_day": 7, - "vision_night": 40, - "attack_cost": 50, - "grab_strength": 35, - "special_attacks": [ - { - "type": "leap", - "cooldown": 8, - "move_cost": 0, - "max_range": 12, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { - "id": "ranged_pull", - "range": 4, - "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, - "hit_dmg_u": "%s catches you with its tongue and pulls you in!", - "hit_dmg_npc": "%s catches with its tongue and pulls them in!", - "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", - "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", - "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", - "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" } - ], - "burn_into": "mon_frog_husk", - "extend": { "flags": [ "HARDTOSHOOT", "NIGHT_INVISIBILITY", "HIT_AND_RUN" ] } - }, - { - "id": "mon_toad_wart", - "type": "MONSTER", - "name": { "str": "warted monstrosity", "str_pl": "warted monstrosities" }, - "description": "A festering toad the size of a dune buggy. It struggles to pull its bulk towards you. The warts covering its back appear fit to burst with yellow sludge, and more of the stuff flows freely from both ends of it.", - "copy-from": "mon_proxy_frog_zombie", - "volume": "300 L", - "weight": "280 kg", - "hp": 200, - "speed": 50, - "symbol": "D", - "color": "brown_green", - "melee_dice": 5, - "armor": { "bash": 12, "cut": 2, "bullet": 1, "electric": 4 }, - "grab_strength": 40, - "special_attacks": [ - { - "type": "leap", - "cooldown": 12, - "move_cost": 0, - "max_range": 4, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { - "id": "ranged_pull", - "range": 4, - "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, - "hit_dmg_u": "%s catches you with its tongue and pulls you in!", - "hit_dmg_npc": "%s catches with its tongue and pulls them in!", - "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", - "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", - "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", - "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" } - ], - "death_function": { - "message": "The %s's body bursts, expelling a copious amount of sludge.", - "effect": { "id": "death_sludge_mega", "hit_self": true }, - "corpse_type": "NO_CORPSE" - }, - "death_drops": "explode_toad", - "extend": { "flags": [ "SLUDGETRAIL", "SLUDGEPROOF" ] }, - "//": "When possible, give a sludge-spray on hit effect." - }, - { - "id": "mon_toad_bone", - "type": "MONSTER", - "name": { "str": "death mask zoad" }, - "description": "The face and head of this enormous once-frog is encased in ossified tissue. Its dead eyes peer out from this death mask of hardened bone, which curves into a jagged beak around its mouth. Even its warts appear to have stiffened into dense osteoderms.", - "copy-from": "mon_proxy_frog_zombie", - "volume": "240 L", - "weight": "340 kg", - "hp": 400, - "symbol": "B", - "melee_skill": 6, - "melee_dice": 5, - "armor": { "bash": 15, "cut": 30, "bullet": 20, "electric": 4 }, - "families": [ - "prof_gross_anatomy", - "prof_intro_biology", - "prof_physiology", - "prof_wp_basic_amphibian", - "prof_wp_zombie", - "prof_wp_skeleton" - ], - "weakpoint_sets": [ "wps_amphibian_body", "wps_amphibian_frog", "wps_amphibian_bone", "wps_bone_armor" ], - "attack_cost": 75, - "grab_strength": 50, - "special_attacks": [ - { - "type": "leap", - "cooldown": 8, - "move_cost": 0, - "max_range": 6, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } } - }, - { - "id": "ranged_pull", - "range": 4, - "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_tongue" } } ] }, - "hit_dmg_u": "%s catches you with its tongue and pulls you in!", - "hit_dmg_npc": "%s catches with its tongue and pulls them in!", - "miss_msg_u": "%s's tongue lashes out at you, but you dodge!", - "miss_msg_npc": "%s's tongue lashes out at , but they dodge!", - "no_dmg_msg_u": "%s catches you with its tongue and pulls you in!", - "no_dmg_msg_npc": "%s catches with its tongue and pulls them in!" - }, - { - "id": "bite_grab", - "cooldown": 5, - "accuracy": 5, - "damage_max_instance": [ - { "damage_type": "cut", "amount": 26, "armor_multiplier": 0.2 }, - { "damage_type": "bash", "amount": 14, "armor_multiplier": 0.2 } - ] - }, - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" } - ], - "burn_into": "mon_frog_smoker_hulk" - }, - { - "id": "mon_frog_husk", - "type": "MONSTER", - "name": { "str": "leaping husk" }, - "description": "The dehydrated remains of a frog, like the unfortunate sort you might find trapped between a window and screen. This one is much larger than those and surely capable of doing you real harm. You see its dry skin crack and shed wisps of tainted dust as it moves.", - "copy-from": "mon_proxy_frog_zombie", - "volume": "80 L", - "weight": "100 kg", - "hp": 45, - "speed": 80, - "symbol": "X", - "color": "brown_green", - "melee_dice_sides": 4, - "melee_damage": [ { "damage_type": "cut", "amount": 5 } ], - "dodge": 2, - "armor": { "bash": 4, "cut": 2, "bullet": 1, "electric": 2 }, - "attack_cost": 60, - "grab_strength": 15, - "special_attacks": [ - { - "type": "leap", - "cooldown": 8, - "move_cost": 0, - "max_range": 6, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } }, - "self_effects": [ { "id": "fragile_frog", "duration": 30 } ] - }, - { - "id": "dusty_frog_leap", - "type": "spell", - "spell_data": { "id": "dusty_frog_leap" }, - "allow_no_target": true, - "condition": { "u_has_effect": "fragile_frog" }, - "monster_message": "The %s crumbles!" - }, - { "id": "scratch", "cooldown": 10 }, - { "id": "bite_grab", "cooldown": 10 }, - { "id": "drag_followup" } - ], - "death_function": { "effect": { "id": "death_smokeburst_tiny", "hit_self": true }, "message": "The %s crumbles!" }, - "upgrades": { "half_life": 30, "into_group": "GROUP_ZOMBTREEFROG_UPGRADE" }, - "extend": { "flags": [ "REVIVES_HEALTHY", "HARDTOSHOOT", "HIT_AND_RUN" ] }, - "delete": { "flags": [ "RANGED_ATTACKER" ] } - }, - { - "id": "mon_frog_mummy", - "type": "MONSTER", - "name": { "str": "batrachian mummy", "str_pl": "batrachian mummies" }, - "description": "The ambulatory, desiccated corpse of an enormous amphibian. What papery skin remains hugs tightly to the bones and shrunken flesh beneath. Each stuttering leap it makes leaves it looking worse off as it sheds clouds of ash and soot.", - "copy-from": "mon_proxy_frog_zombie", - "hp": 80, - "speed": 75, - "symbol": "H", - "color": "brown_green", - "melee_damage": [ { "damage_type": "bash", "amount": 5 } ], - "armor": { "bash": 4, "cut": 2, "bullet": 1, "electric": 2 }, - "attack_cost": 75, - "grab_strength": 25, - "special_attacks": [ - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" }, - { - "type": "leap", - "cooldown": 10, - "move_cost": 0, - "max_range": 4, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } }, - "self_effects": [ { "id": "fragile_frog", "duration": 30 } ] - }, - { - "id": "fragile_frog_leap", - "type": "spell", - "spell_data": { "id": "fragile_frog_leap" }, - "allow_no_target": true, - "condition": { "u_has_effect": "fragile_frog" }, - "monster_message": "The %s crumbles!" - } - ], - "death_function": { "effect": { "id": "death_smokeburst", "hit_self": true } }, - "upgrades": { "half_life": 30, "into": "mon_meat_cocoon_med" }, - "delete": { "flags": [ "RANGED_ATTACKER" ] }, - "extend": { "flags": [ "REVIVES_HEALTHY" ] } - }, - { - "id": "mon_frog_smoker_hulk", - "type": "MONSTER", - "name": { "str": "batrachian smoker" }, - "description": "Even without the haze of smoke that constantly fumes off of it, it would be difficult to tell what this once was. The massive thing seems to have dried out and shriveled up, though unevenly. Rind through core it has warped. Its whole dry body crinkles and folds as it moves.", - "copy-from": "mon_proxy_frog_zombie", - "volume": "200 L", - "weight": "180 kg", - "hp": 200, - "symbol": "H", - "color": "brown_green", - "melee_dice": 5, - "melee_damage": [ { "damage_type": "bash", "amount": 5 } ], - "armor": { "bash": 4, "cut": 2, "bullet": 1, "electric": 2 }, - "emit_fields": [ { "emit_id": "emit_smoke_stream", "delay": "1 s" } ], - "special_attacks": [ - { "id": "grab_drag", "cooldown": 3 }, - { "id": "drag_followup" }, - { - "type": "leap", - "cooldown": 10, - "move_cost": 0, - "max_range": 4, - "min_consider_range": 2, - "condition": { "not": { "u_has_effect": "maimed_leg" } }, - "self_effects": [ { "id": "fragile_frog", "duration": 30 } ] - }, - { - "id": "fragile_frog_leap", - "type": "spell", - "spell_data": { "id": "fragile_frog_leap" }, - "allow_no_target": true, - "condition": { "u_has_effect": "fragile_frog" }, - "monster_message": "The %s crumbles!" - } - ], - "death_function": { "effect": { "id": "death_smokeburst", "hit_self": true } }, - "upgrades": { "half_life": 30, "into": "mon_meat_cocoon_large" }, - "delete": { "flags": [ "RANGED_ATTACKER" ] }, - "extend": { "flags": [ "REVIVES_HEALTHY" ] } - }, { "id": "mon_zombie_biter", "type": "MONSTER", diff --git a/data/json/obsoletion_and_migration_0.I/migration_items.json b/data/json/obsoletion_and_migration_0.I/migration_items.json index 953d7b22017c1..225265547c34d 100644 --- a/data/json/obsoletion_and_migration_0.I/migration_items.json +++ b/data/json/obsoletion_and_migration_0.I/migration_items.json @@ -1948,6 +1948,51 @@ "type": "MIGRATION", "replace": "sig_mcx_rattler_sbr" }, + { + "id": "egg_pattern_frog", + "type": "MIGRATION", + "replace": "egg_leo_frog" + }, + { + "id": "egg_strange_frog", + "type": "MIGRATION", + "replace": "egg_bullfrog_frog" + }, + { + "id": "egg_foul_toad", + "type": "MIGRATION", + "replace": "egg_fowler_toad" + }, + { + "id": "egg_odd_toad", + "type": "MIGRATION", + "replace": "egg_freedom_toad" + }, + { + "id": "egg_vocal_frog", + "type": "MIGRATION", + "replace": "egg_peeper_frog" + }, + { + "id": "egg_shift_frog", + "type": "MIGRATION", + "replace": "egg_gray_frog" + }, + { + "id": "egg_palette_frog", + "type": "MIGRATION", + "replace": "egg_pickerel_frog" + }, + { + "id": "egg_vocal_frog", + "type": "MIGRATION", + "replace": "egg_vocal_bigfrog" + }, + { + "id": "egg_shift_frog", + "type": "MIGRATION", + "replace": "egg_shift_bigfrog" + }, { "id": "wire_barbed_baseball", "type": "MIGRATION",