From 65e16f9d02b66bcbb8e961207680f99705fcf38c Mon Sep 17 00:00:00 2001 From: TheSaddestGoomba <44676850+TheSaddestGoomba@users.noreply.github.com> Date: Sat, 19 Aug 2023 12:46:48 -0500 Subject: [PATCH] Amphibian Additions - Phase 1 - Non-Monstrous Frogs, Toads, and Treefrogs (#67259) * Rebuild of Phase 1 Hopefully cleaner than last time. * Bugfix Remove redundancy * Update data/json/monsters/reptile_amphibian.json Co-authored-by: Karol1223 <68503002+Karol1223@users.noreply.github.com> * Update reptile_amphibian.json * Clean up of new monsters and groups Reworked spawn groupings. Added descriptions for eggs and tadpoles. Reworked other details, mostly reproduction/egg related. Removed the giant tadpole/egg (for now). * Remove "WHISTLE" flag "WHISTLE" flag seemed to break something, removing it. Will replace with parroted lines eventually. * Cleanup Abstracts Removed progression from all proxy entries (egg, tadpole, frog) and deleted the attached egg group. * Remove old monsters and replace references Remove old frog, toad, and their respective tadpole monsters. Also removed them from all monster groups. Remove old frog egg and toad egg items. Replace old frog egg item in the only recipe it appears in (batrachian mutagen). Now able to use any variety of frog or toad egg. Replace old frog spawns with new in mapgen\sewage_treatment.json. I believe this was the cause of previous errors I encountered. * Update data/json/requirements/cooking_components.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix missing double-spaces As title * Make abstract egg an abstract Co-authored-by: Karol1223 <68503002+Karol1223@users.noreply.github.com> * Mutant meat and egg nutrition (Hopefully) last cleanup of abstracts. Added a new tiny mutant harvest set and assigned it to all mutant tadpoles and frogs. Changed the various eggs to copy_from roe rather than chicken's eggs. Made all four toad variants poisonous and gave all mutant variants an amount of mutant toxin. * Restore deleted entries, set for obsoletion I've restored the 2 items (egg_frog, egg_toad) and 4 monsters (mon_frog, mon_tadpole, mon_toad, mon_tadpole_brown) that were removed. They have been moved to the 'json\obsoletion' folder. New file (obsolete_monster.json) for the monsters. "OBSOLETE" flag added to all entries. * Mods Updates Fully remove old amphibian mobs. Replace Megafauna spawns for mon_frog with GROUP_FROGS_ALL. Replace old references in Tamable Wildlife with new ones to all new "normal-sized" frogs. Change copy_from's in TropiCata from egg_frog to egg_proxy_frog. * Update data/mods/Megafauna/monstergroups/wilderness.json Sure did, was meant to replace. Thanks for catching that! Co-authored-by: Karol1223 <68503002+Karol1223@users.noreply.github.com> --------- Co-authored-by: Karol1223 <68503002+Karol1223@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- data/json/harvest.json | 9 + data/json/items/comestibles/egg.json | 128 ++++- data/json/mapgen/sewage_treatment.json | 2 +- data/json/monstergroups/amphibian.json | 446 ++++++++++++++++++ data/json/monstergroups/eggs.json | 70 ++- data/json/monstergroups/misc.json | 11 +- data/json/monstergroups/wilderness.json | 21 +- data/json/monsters/reptile_amphibian.json | 344 +++++++++++--- data/json/obsoletion/obsolete_items.json | 19 + data/json/recipes/chem/mutagens.json | 2 +- .../json/requirements/cooking_components.json | 21 + .../Megafauna/monstergroups/wilderness.json | 10 +- .../Tamable_Wildlife/reptile_amphibian.json | 184 ++++++-- .../TropiCataclysm/items/comestibles/egg.json | 4 +- 14 files changed, 1112 insertions(+), 159 deletions(-) create mode 100644 data/json/monstergroups/amphibian.json diff --git a/data/json/harvest.json b/data/json/harvest.json index 36ef069dddd0d..b6f5b3863008e 100644 --- a/data/json/harvest.json +++ b/data/json/harvest.json @@ -462,6 +462,15 @@ { "drop": "animal_blood", "type": "blood", "mass_ratio": 0.1 } ] }, + { + "id": "mutant_tiny", + "//": "mutants so tiny they don't drop chunks of meat", + "type": "harvest", + "entries": [ + { "drop": "mutant_meat_scrap", "type": "flesh", "mass_ratio": 0.5 }, + { "drop": "mutant_blood", "type": "blood", "mass_ratio": 0.1 } + ] + }, { "id": "mammal_small_fur", "//": "does not drop stomach or other small organs", diff --git a/data/json/items/comestibles/egg.json b/data/json/items/comestibles/egg.json index fee6d933ae532..4a238896b2530 100644 --- a/data/json/items/comestibles/egg.json +++ b/data/json/items/comestibles/egg.json @@ -1028,16 +1028,6 @@ "fun": 5, "flags": [ ] }, - { - "type": "COMESTIBLE", - "id": "egg_frog", - "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, - "copy-from": "egg_chicken", - "weight": "20 g", - "volume": "650 ml", - "description": "A large clump of frog eggs. They're gelatinous and transparent.", - "rot_spawn": "GROUP_EGG_FROG" - }, { "type": "COMESTIBLE", "id": "egg_goose", @@ -1097,14 +1087,6 @@ "copy-from": "egg_chicken", "rot_spawn": "GROUP_EGG_GREBE" }, - { - "type": "COMESTIBLE", - "id": "egg_toad", - "name": { "str": "cluster of toad's eggs", "str_pl": "clusters of toad's eggs" }, - "copy-from": "egg_frog", - "description": "A large clump of the eggs of a toad. The eggs themselves are gelatinous and transparent.", - "rot_spawn": "GROUP_EGG_TOAD" - }, { "type": "COMESTIBLE", "id": "egg_water_beetle", @@ -1165,5 +1147,115 @@ "material": [ "egg", "veggy" ], "fun": 5, "flags": [ "EATEN_HOT", "FREEZERBURN" ] + }, + { + "type": "COMESTIBLE", + "abstract": "egg_proxy_frog", + "copy-from": "egg_fish", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "color": "brown", + "description": "A large clump of frog eggs. They're gelatinous and transparent.", + "price": 25, + "price_postapoc": 50, + "fun": -16, + "vitamins": [ [ "iron", 4 ] ] + }, + { + "type": "COMESTIBLE", + "id": "egg_leo_frog", + "copy-from": "egg_proxy_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "description": "This is a dense cluster of dark frog's eggs, not dissimilar in appearance to caviar.", + "rot_spawn": "GROUP_EGG_LEO_FROG" + }, + { + "type": "COMESTIBLE", + "id": "egg_pattern_frog", + "copy-from": "egg_leo_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "rot_spawn": "GROUP_EGG_PATTERN_FROG", + "vitamins": [ [ "iron", 4 ], [ "mutant_toxin", 8 ] ] + }, + { + "type": "COMESTIBLE", + "id": "egg_bullfrog_frog", + "copy-from": "egg_proxy_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "description": "A thin film of frog eggs floats together atop the water in a roughly circular mass.", + "rot_spawn": "GROUP_EGG_BULLFROG_FROG" + }, + { + "type": "COMESTIBLE", + "id": "egg_strange_frog", + "copy-from": "egg_bullfrog_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "rot_spawn": "GROUP_EGG_STRANGE_FROG", + "vitamins": [ [ "iron", 4 ], [ "mutant_toxin", 8 ] ] + }, + { + "type": "COMESTIBLE", + "id": "egg_fowler_toad", + "copy-from": "egg_proxy_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "description": "These eggs float in long strands, drifting in the still water.", + "use_action": [ "POISON" ], + "rot_spawn": "GROUP_EGG_FOWLER_TOAD" + }, + { + "type": "COMESTIBLE", + "id": "egg_foul_toad", + "copy-from": "egg_fowler_toad", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "rot_spawn": "GROUP_EGG_FOUL_TOAD", + "vitamins": [ [ "iron", 4 ], [ "mutant_toxin", 8 ] ] + }, + { + "type": "COMESTIBLE", + "id": "egg_freedom_toad", + "copy-from": "egg_proxy_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "description": "A spiral strand of frog eggs adorns a patch of underwater vegetation.", + "use_action": [ "POISON" ], + "rot_spawn": "GROUP_EGG_FREEDOM_TOAD" + }, + { + "type": "COMESTIBLE", + "id": "egg_odd_toad", + "copy-from": "egg_freedom_toad", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "rot_spawn": "GROUP_EGG_ODD_TOAD", + "vitamins": [ [ "iron", 4 ], [ "mutant_toxin", 8 ] ] + }, + { + "type": "COMESTIBLE", + "id": "egg_peeper_frog", + "copy-from": "egg_proxy_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "description": "A loose grouping of surprisingly few frog's eggs, anchored to submerged vegetation.", + "rot_spawn": "GROUP_EGG_PEEPER_FROG" + }, + { + "type": "COMESTIBLE", + "id": "egg_vocal_frog", + "copy-from": "egg_peeper_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "rot_spawn": "GROUP_EGG_VOCAL_FROG", + "vitamins": [ [ "iron", 4 ], [ "mutant_toxin", 8 ] ] + }, + { + "type": "COMESTIBLE", + "id": "egg_gray_frog", + "copy-from": "egg_proxy_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "description": "A small patch of frog's eggs rests on the water's surface.", + "rot_spawn": "GROUP_EGG_GRAY_FROG" + }, + { + "type": "COMESTIBLE", + "id": "egg_shift_frog", + "copy-from": "egg_gray_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "rot_spawn": "GROUP_EGG_SHIFT_FROG", + "vitamins": [ [ "iron", 4 ], [ "mutant_toxin", 8 ] ] } ] diff --git a/data/json/mapgen/sewage_treatment.json b/data/json/mapgen/sewage_treatment.json index 74da12479f5ad..3bd8482328508 100644 --- a/data/json/mapgen/sewage_treatment.json +++ b/data/json/mapgen/sewage_treatment.json @@ -152,7 +152,7 @@ { "monster": "mon_sewer_rat", "weight": 100, "cost_multiplier": 0, "pack_size": [ 3, 6 ] }, { "monster": "mon_albino_penguin", "weight": 5, "cost_multiplier": 5, "pack_size": [ 3, 9 ] }, { "monster": "mon_gator", "weight": 40, "cost_multiplier": 2, "pack_size": [ 1, 2 ] }, - { "monster": "mon_frog", "weight": 10, "cost_multiplier": 2, "pack_size": [ 1, 2 ] }, + { "group": "GROUP_FROGS_SEWER", "weight": 250 }, { "monster": "mon_zombullfrog", "weight": 10, "cost_multiplier": 2 }, { "monster": "mon_frog_mother", "weight": 5, "cost_multiplier": 3 } ] diff --git a/data/json/monstergroups/amphibian.json b/data/json/monstergroups/amphibian.json new file mode 100644 index 0000000000000..9f0eb0de10b0e --- /dev/null +++ b/data/json/monstergroups/amphibian.json @@ -0,0 +1,446 @@ +[ + { + "name": "GROUP_TADPOLES_ALL", + "type": "monstergroup", + "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" ] } + ] + }, + { + "name": "GROUP_TADPOLES_SEWER", + "type": "monstergroup", + "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" ] } + ] + }, + { + "name": "GROUP_TADPOLES_RIVER", + "type": "monstergroup", + "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" ] } + ] + }, + { + "name": "GROUP_TADPOLES_SWAMP", + "type": "monstergroup", + "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" ] } + ] + }, + { + "name": "GROUP_FROGS_ALL", + "type": "monstergroup", + "default": "mon_peeper_frog", + "monsters": [ + { "monster": "mon_leo_frog", "weight": 100, "pack_size": [ 1, 4 ], "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, + { + "monster": "mon_pattern_frog", + "weight": 20, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_bullfrog_frog", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_strange_frog", + "weight": 20, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_fowler_toad", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_foul_toad", + "weight": 20, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_freedom_toad", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_odd_toad", + "weight": 20, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_peeper_frog", + "weight": 100, + "pack_size": [ 2, 6 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_vocal_frog", + "weight": 20, + "pack_size": [ 2, 6 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_gray_frog", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_shift_frog", + "weight": 20, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + } + ] + }, + { + "name": "GROUP_FROGS_NATURAL", + "type": "monstergroup", + "default": "mon_peeper_frog", + "monsters": [ + { "monster": "mon_leo_frog", "weight": 100, "pack_size": [ 1, 4 ], "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, + { + "monster": "mon_bullfrog_frog", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_fowler_toad", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_freedom_toad", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_peeper_frog", + "weight": 100, + "pack_size": [ 2, 6 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_gray_frog", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + } + ] + }, + { + "name": "GROUP_FROGS_SEWER", + "type": "monstergroup", + "default": "mon_bullfrog_frog", + "monsters": [ + { "monster": "mon_leo_frog", "weight": 60, "pack_size": [ 1, 4 ], "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, + { + "monster": "mon_pattern_frog", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_bullfrog_frog", + "weight": 60, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_strange_frog", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_fowler_toad", + "weight": 60, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_foul_toad", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_freedom_toad", + "weight": 60, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_odd_toad", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + } + ] + }, + { + "name": "GROUP_FROGS_FOREST", + "type": "monstergroup", + "default": "mon_peeper_frog", + "monsters": [ + { "monster": "mon_leo_frog", "weight": 60, "pack_size": [ 1, 4 ], "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, + { + "monster": "mon_pattern_frog", + "weight": 20, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_bullfrog_frog", + "weight": 20, + "pack_size": [ 1, 2 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_strange_frog", + "weight": 20, + "pack_size": [ 1, 2 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_fowler_toad", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_foul_toad", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_freedom_toad", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_odd_toad", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_peeper_frog", + "weight": 100, + "pack_size": [ 2, 6 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_vocal_frog", + "weight": 40, + "pack_size": [ 2, 6 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_gray_frog", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_shift_frog", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + } + ] + }, + { + "name": "GROUP_FROGS_SWAMP", + "type": "monstergroup", + "default": "mon_bullfrog_frog", + "monsters": [ + { "monster": "mon_leo_frog", "weight": 60, "pack_size": [ 1, 4 ], "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, + { + "monster": "mon_pattern_frog", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_bullfrog_frog", + "weight": 60, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_strange_frog", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_fowler_toad", + "weight": 60, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_foul_toad", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_freedom_toad", + "weight": 60, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_odd_toad", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_peeper_frog", + "weight": 60, + "pack_size": [ 2, 6 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_vocal_frog", + "weight": 40, + "pack_size": [ 2, 6 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_gray_frog", + "weight": 60, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_shift_frog", + "weight": 40, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + } + ] + }, + { + "name": "GROUP_FROGS_RIVER", + "type": "monstergroup", + "default": "mon_bullfrog_frog", + "monsters": [ + { "monster": "mon_leo_frog", "weight": 100, "pack_size": [ 1, 4 ], "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, + { + "monster": "mon_pattern_frog", + "weight": 50, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_bullfrog_frog", + "weight": 100, + "pack_size": [ 1, 4 ], + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + }, + { + "monster": "mon_strange_frog", + "weight": 50, + "pack_size": [ 1, 4 ], + "starts": "14 days", + "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] + } + ] + } +] diff --git a/data/json/monstergroups/eggs.json b/data/json/monstergroups/eggs.json index 94542b5879a61..03548f9bf5631 100644 --- a/data/json/monstergroups/eggs.json +++ b/data/json/monstergroups/eggs.json @@ -226,11 +226,6 @@ "type": "monstergroup", "monsters": [ { "monster": "mon_snail_larva" } ] }, - { - "name": "GROUP_EGG_FROG", - "type": "monstergroup", - "monsters": [ { "monster": "mon_tadpole" } ] - }, { "name": "GROUP_EGG_GOOSE", "type": "monstergroup", @@ -271,11 +266,6 @@ "type": "monstergroup", "monsters": [ { "monster": "mon_grebe_chick" } ] }, - { - "name": "GROUP_EGG_TOAD", - "type": "monstergroup", - "monsters": [ { "monster": "mon_tadpole_brown" } ] - }, { "name": "GROUP_EGG_WATER_BEETLE", "type": "monstergroup", @@ -495,5 +485,65 @@ "name": "GROUP_EGG_FALLFISH", "type": "monstergroup", "monsters": [ { "monster": "mon_fry_fallfish" } ] + }, + { + "name": "GROUP_EGG_LEO_FROG", + "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" } ] } ] diff --git a/data/json/monstergroups/misc.json b/data/json/monstergroups/misc.json index 0da5d7df0477b..7d0062a751af4 100644 --- a/data/json/monstergroups/misc.json +++ b/data/json/monstergroups/misc.json @@ -284,7 +284,8 @@ { "monster": "mon_goose_golden", "weight": 1 }, { "monster": "mon_llama", "weight": 10 }, { "monster": "mon_woodlouse", "weight": 10 }, - { "monster": "mon_cicada_nymph", "weight": 10 } + { "monster": "mon_cicada_nymph", "weight": 10 }, + { "group": "GROUP_FROGS_NATURAL", "weight": 10 } ] }, { @@ -357,17 +358,17 @@ { "monster": "mon_sewer_snake", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_sewer_rat", "weight": 50, "cost_multiplier": 0, "pack_size": [ 3, 12 ] }, { "monster": "mon_gator", "weight": 25, "cost_multiplier": 2 }, - { "monster": "mon_frog", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_frog_small", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_slug_small", "weight": 50, "ends": "180 hours" }, { "monster": "mon_slug_giant", "weight": 75, "starts": "180 hours" }, { "monster": "mon_sludge_crawler", "weight": 25 }, { "monster": "mon_zombie_mancroc", "weight": 100, "starts": "180 hours" }, - { "monster": "mon_toad", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_toad_small", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_gastro_bufo", "weight": 5, "cost_multiplier": 3, "starts": "15 days" }, { "monster": "mon_zombullfrog", "weight": 10, "cost_multiplier": 2 }, - { "monster": "mon_frog_mother", "weight": 5, "cost_multiplier": 3, "starts": "15 days" } + { "monster": "mon_frog_mother", "weight": 5, "cost_multiplier": 3, "starts": "15 days" }, + { "group": "GROUP_TADPOLES_SEWER", "weight": 100 }, + { "group": "GROUP_FROGS_SEWER", "weight": 100 } ] }, { @@ -488,12 +489,10 @@ { "monster": "mon_sewer_snake", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_sewer_rat", "weight": 50, "cost_multiplier": 0, "pack_size": [ 3, 12 ] }, { "monster": "mon_gator", "weight": 25, "cost_multiplier": 2 }, - { "monster": "mon_frog", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_frog_small", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_slug_small", "weight": 50, "ends": "180 hours" }, { "monster": "mon_sludge_crawler", "weight": 25 }, { "monster": "mon_zombie_mancroc", "weight": 100, "starts": "180 hours" }, - { "monster": "mon_toad", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_toad_small", "weight": 100, "cost_multiplier": 0 }, { "monster": "mon_gastro_bufo", "weight": 5, "cost_multiplier": 3, "starts": "15 days" } ] diff --git a/data/json/monstergroups/wilderness.json b/data/json/monstergroups/wilderness.json index 80de9a621fa3f..15e835544d142 100644 --- a/data/json/monstergroups/wilderness.json +++ b/data/json/monstergroups/wilderness.json @@ -113,14 +113,13 @@ "conditions": [ "SPRING", "SUMMER", "AUTUMN" ], "starts": "90 days" }, - { "monster": "mon_frog", "weight": 3, "cost_multiplier": 10, "pack_size": [ 1, 3 ] }, - { "monster": "mon_toad", "weight": 3, "cost_multiplier": 10, "pack_size": [ 1, 3 ] }, { "monster": "mon_rattlesnake", "weight": 3, "cost_multiplier": 5, "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] - } + }, + { "group": "GROUP_FROGS_FOREST", "weight": 300 } ] }, { @@ -306,7 +305,6 @@ "pack_size": [ 1, 4 ], "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, - { "monster": "mon_frog", "weight": 5, "cost_multiplier": 10, "pack_size": [ 1, 3 ] }, { "monster": "mon_zhark", "weight": 1, "cost_multiplier": 25, "starts": "3 days", "pack_size": [ 1, 3 ] }, { "monster": "mon_zhark", "weight": 2, "cost_multiplier": 25, "starts": "28 days", "pack_size": [ 1, 3 ] }, { "monster": "mon_fish_eel", "weight": 6, "cost_multiplier": 3, "pack_size": [ 1, 3 ] }, @@ -362,7 +360,6 @@ { "monster": "mon_moorhen", "weight": 15, "cost_multiplier": 5, "pack_size": [ 1, 6 ] }, { "monster": "mon_cormorant", "weight": 15, "cost_multiplier": 5, "pack_size": [ 1, 4 ] }, { "monster": "mon_grebe", "weight": 15, "cost_multiplier": 5, "pack_size": [ 1, 4 ] }, - { "monster": "mon_toad", "weight": 5, "cost_multiplier": 10, "pack_size": [ 1, 3 ] }, { "monster": "mon_diving_larva", "weight": 10, "cost_multiplier": 2, "starts": "3 days" }, { "monster": "mon_diving_larva", "weight": 20, "cost_multiplier": 3, "starts": "7 days", "pack_size": [ 1, 3 ] }, { "monster": "mon_water_scorpion_larva", "weight": 10, "cost_multiplier": 2, "ends": "7 days" }, @@ -374,7 +371,9 @@ "pack_size": [ 1, 3 ] }, { "monster": "mon_diving_beetle_small", "weight": 4, "cost_multiplier": 10 }, - { "monster": "mon_water_scorpion", "weight": 4, "cost_multiplier": 10 } + { "monster": "mon_water_scorpion", "weight": 4, "cost_multiplier": 10 }, + { "group": "GROUP_TADPOLES_RIVER", "weight": 200, "conditions": [ "SUMMER", "AUTUMN" ] }, + { "group": "GROUP_FROGS_RIVER", "weight": 150, "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] } ] }, { @@ -426,8 +425,8 @@ "cost_multiplier": 2, "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, - { "monster": "mon_frog", "weight": 30, "cost_multiplier": 2, "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, - { "monster": "mon_toad", "weight": 50, "cost_multiplier": 2, "pack_size": [ 1, 3 ] } + { "group": "GROUP_TADPOLES_SWAMP", "weight": 200, "pack_size": [ 3, 6 ] }, + { "group": "GROUP_FROGS_SWAMP", "weight": 250, "pack_size": [ 1, 3 ] } ] }, { @@ -521,8 +520,7 @@ { "monster": "mon_rabbit", "weight": 50, "cost_multiplier": 0 }, { "monster": "mon_squirrel_red", "weight": 50, "cost_multiplier": 0 }, { "monster": "mon_squirrel", "weight": 50, "cost_multiplier": 0 }, - { "monster": "mon_frog", "weight": 50, "cost_multiplier": 0 }, - { "monster": "mon_toad", "weight": 50, "cost_multiplier": 0 } + { "group": "GROUP_FROGS_ALL", "weight": 100, "cost_multiplier": 0 } ] }, { @@ -547,7 +545,8 @@ "monsters": [ { "group": "GROUP_POND_FISH_2", "weight": 200, "cost_multiplier": 0 }, { "monster": "mon_strider_small", "weight": 30, "cost_multiplier": 0, "pack_size": [ 3, 6 ] }, - { "monster": "mon_water_scorpion_larva", "weight": 30, "cost_multiplier": 0 } + { "monster": "mon_water_scorpion_larva", "weight": 30, "cost_multiplier": 0 }, + { "group": "GROUP_TADPOLES_ALL", "weight": 200, "cost_multiplier": 0, "pack_size": [ 3, 6 ] } ] }, { diff --git a/data/json/monsters/reptile_amphibian.json b/data/json/monsters/reptile_amphibian.json index a954696cf7868..c0beb262d321d 100644 --- a/data/json/monsters/reptile_amphibian.json +++ b/data/json/monsters/reptile_amphibian.json @@ -1,54 +1,4 @@ [ - { - "id": "mon_frog", - "type": "MONSTER", - "name": { "str": "bullfrog" }, - "description": "The American bullfrog, in its natural habitat. It feeds on insects, mice, lizards and any other living thing it can stuff down its gullet.", - "default_faction": "frog", - "bodytype": "frog", - "categories": [ "WILDLIFE" ], - "species": [ "AMPHIBIAN" ], - "volume": "750 ml", - "weight": "500 g", - "hp": 3, - "speed": 80, - "material": [ "flesh" ], - "symbol": "b", - "color": "green", - "melee_damage": [ { "damage_type": "cut", "amount": 0 } ], - "dodge": 6, - "reproduction": { "baby_egg": "egg_frog", "baby_count": 8, "baby_timer": 26 }, - "harvest": "mammal_tiny", - "dissect": "dissect_batrachian_sample_single", - "special_attacks": [ { "type": "leap", "cooldown": 4, "max_range": 5, "allow_no_target": true } ], - "fear_triggers": [ "PLAYER_CLOSE" ], - "upgrades": { "half_life": 34, "into": "mon_frog_small" }, - "flags": [ "SEES", "SMELLS", "HEARS", "SWIMS", "WATER_CAMOUFLAGE" ] - }, - { - "id": "mon_tadpole", - "type": "MONSTER", - "name": { "str_sp": "tadpole" }, - "description": "An American bullfrog in its larval stage. It will eventually grow legs and start breathing air.", - "default_faction": "frog", - "bodytype": "fish", - "categories": [ "WILDLIFE" ], - "species": [ "AMPHIBIAN" ], - "volume": "500 ml", - "weight": "600 g", - "hp": 2, - "speed": 70, - "dodge": 5, - "material": [ "flesh" ], - "symbol": "t", - "color": "green", - "aggression": -60, - "morale": -5, - "upgrades": { "age_grow": 365, "into": "mon_frog" }, - "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], - "harvest": "mammal_tiny", - "flags": [ "FISHABLE", "SEES", "SMELLS", "HEARS", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE" ] - }, { "id": "mon_frog_small", "type": "MONSTER", @@ -422,23 +372,6 @@ "zombify_into": "mon_meat_cocoon_small", "flags": [ "SEES", "SMELLS", "WARM", "VENOM", "SWIMS" ] }, - { - "id": "mon_toad", - "type": "MONSTER", - "name": { "str": "toad" }, - "description": "Toads are a diverse and varied family of amphibians sister to frogs. Very distinguishable for their warty and dry skin.", - "copy-from": "mon_frog", - "reproduction": { "baby_egg": "egg_toad", "baby_count": 8, "baby_timer": 26 } - }, - { - "id": "mon_tadpole_brown", - "type": "MONSTER", - "name": { "str": "toad tadpole" }, - "description": "Toad tadpoles looks exactly like a frog tadpoles at birth. The main difference is that they keep this color during their whole larval stage.", - "copy-from": "mon_tadpole", - "color": "brown", - "upgrades": { "age_grow": 365, "into": "mon_toad" } - }, { "id": "mon_toad_small", "type": "MONSTER", @@ -477,5 +410,282 @@ "anger_triggers": [ "STALK", "PLAYER_WEAK", "PLAYER_CLOSE" ], "flags": [ "SEES", "SMELLS", "HEARS", "SWIMS" ], "armor": { "bash": 4 } + }, + { + "abstract": "mon_proxy_tadpole", + "type": "MONSTER", + "description": "The larval form of some species of frog. Soon enough it will undergo metamorphosis into its adult form.", + "name": { "str": "tadpole" }, + "default_faction": "frog", + "bodytype": "fish", + "categories": [ "WILDLIFE" ], + "species": [ "AMPHIBIAN" ], + "volume": "120 ml", + "weight": "10 g", + "hp": 1, + "speed": 70, + "material": [ "flesh" ], + "symbol": "t", + "color": "brown", + "aggression": -60, + "morale": -5, + "dodge": 5, + "harvest": "mammal_tiny", + "vision_night": 30, + "fear_triggers": [ "PLAYER_CLOSE", "FIRE", "HURT", "FRIEND_ATTACKED", "SOUND" ], + "upgrades": { "age_grow": 60, "into": "mon_proxy_frog" }, + "flags": [ "FISHABLE", "SEES", "SMELLS", "HEARS", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE" ] + }, + { + "id": "mon_leo_tadpole", + "type": "MONSTER", + "copy-from": "mon_proxy_tadpole", + "name": { "str": "tadpole" }, + "description": "A speckled, grey-brown tadpole. Its tail is broad and paddle-like, and its body rotund. Sometime soon it will grow legs and lose its tail entirely.", + "color": "dark_gray", + "upgrades": { "age_grow": 90, "into": "mon_leo_frog" } + }, + { + "id": "mon_pattern_tadpole", + "type": "MONSTER", + "copy-from": "mon_leo_tadpole", + "name": { "str": "tadpole" }, + "harvest": "mutant_tiny", + "upgrades": { "age_grow": 90, "into": "mon_pattern_frog" } + }, + { + "id": "mon_bullfrog_tadpole", + "type": "MONSTER", + "copy-from": "mon_proxy_tadpole", + "name": { "str": "tadpole" }, + "description": "Every part of this speckled, green-brown tadpole is thick and broad. It must be from some larger species of frog.", + "color": "green", + "volume": "240 ml", + "weight": "40 g", + "hp": 2, + "upgrades": { "age_grow": 365, "into": "mon_bullfrog_frog" } + }, + { + "id": "mon_strange_tadpole", + "type": "MONSTER", + "copy-from": "mon_bullfrog_tadpole", + "name": { "str": "tadpole" }, + "harvest": "mutant_tiny", + "upgrades": { "age_grow": 90, "into": "mon_strange_frog" } + }, + { + "id": "mon_fowler_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": 30, "into": "mon_fowler_toad" } + }, + { + "id": "mon_foul_tadpole", + "type": "MONSTER", + "copy-from": "mon_fowler_tadpole", + "name": { "str": "tadpole" }, + "harvest": "mutant_tiny", + "upgrades": { "age_grow": 30, "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": 60, "into": "mon_freedom_toad" } + }, + { + "id": "mon_odd_tadpole", + "type": "MONSTER", + "copy-from": "mon_freedom_tadpole", + "name": { "str": "tadpole" }, + "harvest": "mutant_tiny", + "upgrades": { "age_grow": 60, "into": "mon_odd_toad" } + }, + { + "id": "mon_peeper_tadpole", + "type": "MONSTER", + "copy-from": "mon_proxy_tadpole", + "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": 60, "into": "mon_peeper_frog" } + }, + { + "id": "mon_vocal_tadpole", + "type": "MONSTER", + "copy-from": "mon_peeper_tadpole", + "name": { "str": "tadpole" }, + "harvest": "mutant_tiny", + "upgrades": { "age_grow": 60, "into": "mon_vocal_frog" } + }, + { + "id": "mon_gray_tadpole", + "type": "MONSTER", + "copy-from": "mon_proxy_tadpole", + "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": 60, "into": "mon_gray_frog" } + }, + { + "id": "mon_shift_tadpole", + "type": "MONSTER", + "copy-from": "mon_gray_tadpole", + "name": { "str": "tadpole" }, + "harvest": "mutant_tiny", + "upgrades": { "age_grow": 60, "into": "mon_shift_frog" } + }, + { + "abstract": "mon_proxy_frog", + "type": "MONSTER", + "description": "A hypothetical frog, if you're seeing this there's a problem.", + "name": { "str": "proxy frog" }, + "default_faction": "frog", + "bodytype": "frog", + "looks_like": "mon_frog", + "categories": [ "WILDLIFE" ], + "species": [ "AMPHIBIAN" ], + "volume": "300 ml", + "weight": "30 g", + "hp": 3, + "speed": 80, + "material": [ "flesh" ], + "symbol": "b", + "color": "green", + "melee_damage": [ { "damage_type": "cut", "amount": 0 } ], + "dodge": 6, + "dissect": "dissect_batrachian_sample_single", + "harvest": "mammal_tiny", + "vision_night": 30, + "special_attacks": [ { "type": "leap", "cooldown": 4, "max_range": 4, "allow_no_target": true } ], + "fear_triggers": [ "PLAYER_CLOSE", "FIRE", "HURT", "FRIEND_ATTACKED" ], + "flags": [ "FISHABLE", "SEES", "SMELLS", "HEARS", "SWIMS", "WATER_CAMOUFLAGE" ] + }, + { + "id": "mon_leo_frog", + "type": "MONSTER", + "copy-from": "mon_proxy_frog", + "description": "Leopard frogs are named for the brown spots on their backs and legs. Although limited by size, they too are voracious predators.", + "name": { "str": "leopard frog" }, + "reproduction": { "baby_egg": "egg_leo_frog", "baby_count": 6, "baby_timer": 20 }, + "baby_flags": [ "SPRING", "SUMMER" ] + }, + { + "id": "mon_pattern_frog", + "type": "MONSTER", + "copy-from": "mon_leo_frog", + "description": "This large frog is covered in chaotic markings like a fractal river map over a background of tv static.", + "name": { "str": "strangely-patterned frog" }, + "harvest": "mutant_tiny", + "reproduction": { "baby_egg": "egg_pattern_frog", "baby_count": 6, "baby_timer": 20 }, + "//": "When possible, add effect for rare flicker of very low luminance." + }, + { + "id": "mon_bullfrog_frog", + "type": "MONSTER", + "copy-from": "mon_proxy_frog", + "description": "The American bullfrog, in its natural habitat. It feeds on insects, mice, lizards and any other living thing it can stuff down its gullet.", + "name": { "str": "bullfrog" }, + "volume": "1000 ml", + "weight": "750 g", + "hp": 4, + "reproduction": { "baby_egg": "egg_bullfrog_frog", "baby_count": 16, "baby_timer": 26 }, + "baby_flags": [ "SPRING", "SUMMER" ] + }, + { + "id": "mon_strange_frog", + "type": "MONSTER", + "copy-from": "mon_bullfrog_frog", + "description": "Based on its vestigial tail, you might call it a polliwog. That is if it weren't so large and didn't already move like an adult frog. In any case, it looks to have some growing left to do.", + "name": { "str": "strange bullfrog" }, + "harvest": "mutant_tiny", + "upgrades": { "age_grow": 120, "into": "mon_frog_small" }, + "reproduction": { "baby_egg": "egg_strange_frog", "baby_count": 16, "baby_timer": 26 } + }, + { + "id": "mon_fowler_toad", + "type": "MONSTER", + "copy-from": "mon_proxy_frog", + "description": "Fowler's toads secrete a harmful and distasteful compound from their backs. This helps to safeguard them from predators and also gives them a distinctive odour like boiled peanuts.", + "name": { "str": "fowler's toad" }, + "reproduction": { "baby_egg": "egg_fowler_toad", "baby_count": 8, "baby_timer": 36 }, + "baby_flags": [ "SPRING", "SUMMER" ] + }, + { + "id": "mon_foul_toad", + "type": "MONSTER", + "copy-from": "mon_fowler_toad", + "description": "You could almost smell it before you saw it. This toad reeks. You're not quite sure what like, but it's hot and musky and it sticks in your nose until you're tasting it.", + "name": { "str": "foul toad" }, + "harvest": "mutant_tiny", + "reproduction": { "baby_egg": "egg_foul_toad", "baby_count": 8, "baby_timer": 36 }, + "//": "When possible, add effect for aoe morale debuff around toad. Possibly stack up until triggering nausea/vomitting." + }, + { + "id": "mon_freedom_toad", + "type": "MONSTER", + "copy-from": "mon_proxy_frog", + "description": "American toads can vary greatly in appearance. Individual toads will shift their coloration and patterning throughout the seasons to better camouflage.", + "name": { "str": "american toad" }, + "reproduction": { "baby_egg": "egg_freedom_toad", "baby_count": 8, "baby_timer": 36 }, + "baby_flags": [ "SPRING", "SUMMER" ] + }, + { + "id": "mon_odd_toad", + "type": "MONSTER", + "copy-from": "mon_freedom_toad", + "description": "There's something very off about this toad's proportions. No one feature stands out under scrutiny but it looks like it hasn't fully grown.", + "name": { "str": "odd toad" }, + "harvest": "mutant_tiny", + "upgrades": { "age_grow": 120, "into": "mon_toad_small" }, + "reproduction": { "baby_egg": "egg_odd_toad", "baby_count": 8, "baby_timer": 36 } + }, + { + "id": "mon_peeper_frog", + "type": "MONSTER", + "copy-from": "mon_proxy_frog", + "description": "This diminutive frog has a distinctive chirping call and bands of darker skin that form a rough X shape on its back.", + "name": { "str": "spring peeper" }, + "volume": "20 ml", + "weight": "4 g", + "hp": 1, + "reproduction": { "baby_egg": "egg_peeper_frog", "baby_count": 8, "baby_timer": 20 }, + "baby_flags": [ "SPRING", "SUMMER" ] + }, + { + "id": "mon_vocal_frog", + "type": "MONSTER", + "copy-from": "mon_peeper_frog", + "description": "Like a powered machine, this frog never stops making noise. When it calls, its whole torso expands like an inflatable suit.", + "name": { "str": "vocal treefrog" }, + "harvest": "mutant_tiny", + "reproduction": { "baby_egg": "egg_vocal_frog", "baby_count": 8, "baby_timer": 20 }, + "//": "When possible, add frequent parroting." + }, + { + "id": "mon_gray_frog", + "type": "MONSTER", + "copy-from": "mon_proxy_frog", + "description": "This treefrog can change its coloration much like a chameleon, shifting from a near-white gray, through greens and browns, to a dark, almost charcoal color.", + "name": { "str": "gray treefrog" }, + "volume": "150 ml", + "weight": "10 g", + "hp": 2, + "reproduction": { "baby_egg": "egg_gray_frog", "baby_count": 8, "baby_timer": 26 }, + "baby_flags": [ "SPRING", "SUMMER" ], + "extend": { "flags": [ "CAMOUFLAGE" ] } + }, + { + "id": "mon_shift_frog", + "type": "MONSTER", + "copy-from": "mon_gray_frog", + "description": "You've seen it wrinkle its skin into bark and disappear on a tree; settle on a toadstool and take its spots. It's no trick of the light, this frog's skin shifts not just color but texture.", + "name": { "str": "shifting treefrog" }, + "harvest": "mutant_tiny", + "reproduction": { "baby_egg": "egg_shift_frog", "baby_count": 8, "baby_timer": 26 } } ] diff --git a/data/json/obsoletion/obsolete_items.json b/data/json/obsoletion/obsolete_items.json index 76f358ec9e400..6e527a0294715 100644 --- a/data/json/obsoletion/obsolete_items.json +++ b/data/json/obsoletion/obsolete_items.json @@ -146,6 +146,25 @@ "copy-from": "egg_insect", "color": "white" }, + { + "type": "COMESTIBLE", + "id": "egg_frog", + "name": { "str": "cluster of frog's eggs", "str_pl": "clusters of frog's eggs" }, + "copy-from": "egg_chicken", + "weight": "20 g", + "volume": "650 ml", + "description": "A large clump of frog eggs. They're gelatinous and transparent.", + "extend": { "flags": [ "OBSOLETE" ] }, + "rot_spawn": "GROUP_EGG_FROG" + }, + { + "type": "COMESTIBLE", + "id": "egg_toad", + "name": { "str": "cluster of toad's eggs", "str_pl": "clusters of toad's eggs" }, + "copy-from": "egg_frog", + "description": "A large clump of the eggs of a toad. The eggs themselves are gelatinous and transparent.", + "rot_spawn": "GROUP_EGG_TOAD" + }, { "type": "PET_ARMOR", "id": "superalloy_harness_dog", diff --git a/data/json/recipes/chem/mutagens.json b/data/json/recipes/chem/mutagens.json index 7cafac0f08338..5e643faa6b945 100644 --- a/data/json/recipes/chem/mutagens.json +++ b/data/json/recipes/chem/mutagens.json @@ -891,7 +891,7 @@ [ [ "mutagen", 1 ] ], [ [ "batrachian_sample", 1 ] ], [ [ "chem_rocket_fuel", 1 ], [ "tool_rocket_candy", 2 ] ], - [ [ "egg_frog", 1 ], [ "batrachian_sample", 1 ] ] + [ [ "eggs_frog", 1, "LIST" ], [ "batrachian_sample", 1 ] ] ], "flags": [ "SECRET" ] }, diff --git a/data/json/requirements/cooking_components.json b/data/json/requirements/cooking_components.json index fb1a37b5844c7..8e6d513cdb4d7 100644 --- a/data/json/requirements/cooking_components.json +++ b/data/json/requirements/cooking_components.json @@ -91,6 +91,27 @@ ] ] }, + { + "id": "eggs_frog", + "type": "requirement", + "//": "All of the different frog eggs", + "components": [ + [ + [ "egg_leo_frog", 1 ], + [ "egg_pattern_frog", 1 ], + [ "egg_bullfrog_frog", 1 ], + [ "egg_strange_frog", 1 ], + [ "egg_fowler_toad", 1 ], + [ "egg_foul_toad", 1 ], + [ "egg_freedom_toad", 1 ], + [ "egg_odd_toad", 1 ], + [ "egg_peeper_frog", 1 ], + [ "egg_vocal_frog", 1 ], + [ "egg_gray_frog", 1 ], + [ "egg_shift_frog", 1 ] + ] + ] + }, { "id": "eggs_invert", "type": "requirement", diff --git a/data/mods/Megafauna/monstergroups/wilderness.json b/data/mods/Megafauna/monstergroups/wilderness.json index 69f844bc6ea04..f22f44c843056 100644 --- a/data/mods/Megafauna/monstergroups/wilderness.json +++ b/data/mods/Megafauna/monstergroups/wilderness.json @@ -490,7 +490,7 @@ { "monster": "mon_ferret", "weight": 14, "cost_multiplier": 5, "conditions": [ "NIGHT" ] }, { "monster": "mon_turkey", "weight": 6, "cost_multiplier": 2, "pack_size": [ 1, 18 ] }, { "monster": "mon_turkey", "weight": 9, "cost_multiplier": 2, "pack_size": [ 1, 18 ], "conditions": [ "DAY" ] }, - { "monster": "mon_frog", "weight": 5, "cost_multiplier": 10, "pack_size": [ 1, 3 ] }, + { "group": "GROUP_FROGS_ALL", "weight": 5, "cost_multiplier": 10 }, { "monster": "mon_duck", "weight": 4, @@ -1460,7 +1460,7 @@ "pack_size": [ 1, 4 ], "conditions": [ "DAWN", "DAY", "SPRING", "SUMMER", "AUTUMN" ] }, - { "monster": "mon_frog", "weight": 5, "cost_multiplier": 10, "pack_size": [ 1, 3 ] }, + { "group": "GROUP_FROGS_ALL", "weight": 5, "cost_multiplier": 10 }, { "monster": "mon_zhark", "weight": 1, "cost_multiplier": 25, "starts": "1 days", "pack_size": [ 1, 3 ] }, { "monster": "mon_zhark", "weight": 2, "cost_multiplier": 25, "starts": "28 days", "pack_size": [ 1, 3 ] }, { "monster": "mon_mutant_carp", "weight": 3, "cost_multiplier": 15, "starts": "7 days" }, @@ -2117,14 +2117,14 @@ "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, { - "monster": "mon_frog", + "group": "GROUP_FROGS_ALL", "freq": 30, "cost_multiplier": 2, "ends": 24, "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, { - "monster": "mon_frog", + "group": "GROUP_FROGS_ALL", "freq": 35, "cost_multiplier": 2, "starts": 24, @@ -2132,7 +2132,7 @@ "conditions": [ "SPRING", "SUMMER", "AUTUMN" ] }, { - "monster": "mon_frog", + "group": "GROUP_FROGS_ALL", "freq": 40, "cost_multiplier": 2, "starts": 95, diff --git a/data/mods/Tamable_Wildlife/reptile_amphibian.json b/data/mods/Tamable_Wildlife/reptile_amphibian.json index 9449287f9ffee..8b4e2c6daf96f 100644 --- a/data/mods/Tamable_Wildlife/reptile_amphibian.json +++ b/data/mods/Tamable_Wildlife/reptile_amphibian.json @@ -1,16 +1,4 @@ [ - { - "id": "mon_frog", - "type": "MONSTER", - "copy-from": "mon_frog", - "name": { "str": "bullfrog" }, - "petfood": { - "food": [ "CATTLEFOOD" ], - "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", - "pet": "The %s hops around you." - }, - "extend": { "flags": [ "CANPLAY" ] } - }, { "id": "mon_frog_small", "type": "MONSTER", @@ -32,6 +20,152 @@ "name": { "str": "colossal croaker" }, "extend": { "flags": [ "CANPLAY", "PET_MOUNTABLE" ] } }, + { + "id": "mon_toad_small", + "type": "MONSTER", + "copy-from": "mon_toad_small", + "name": { "str": "huge toad" }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_toad_giant", + "type": "MONSTER", + "copy-from": "mon_toad_giant", + "name": { "str": "giant toad" }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_leo_frog", + "type": "MONSTER", + "copy-from": "mon_leo_frog", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_pattern_frog", + "type": "MONSTER", + "copy-from": "mon_pattern_frog", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_bullfrog_frog", + "type": "MONSTER", + "copy-from": "mon_bullfrog_frog", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_strange_frog", + "type": "MONSTER", + "copy-from": "mon_strange_frog", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_fowler_toad", + "type": "MONSTER", + "copy-from": "mon_fowler_toad", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_foul_toad", + "type": "MONSTER", + "copy-from": "mon_foul_toad", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_freedom_toad", + "type": "MONSTER", + "copy-from": "mon_freedom_toad", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_odd_toad", + "type": "MONSTER", + "copy-from": "mon_odd_toad", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_peeper_frog", + "type": "MONSTER", + "copy-from": "mon_peeper_frog", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_vocal_frog", + "type": "MONSTER", + "copy-from": "mon_vocal_frog", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_gray_frog", + "type": "MONSTER", + "copy-from": "mon_gray_frog", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, + { + "id": "mon_shift_frog", + "type": "MONSTER", + "copy-from": "mon_shift_frog", + "petfood": { + "food": [ "CATTLEFOOD" ], + "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", + "pet": "The %s hops around you." + }, + "extend": { "flags": [ "CANPLAY" ] } + }, { "id": "mon_rattlesnake_s", "type": "MONSTER", @@ -88,31 +222,5 @@ "copy-from": "mon_rattlesnake_mega", "name": { "str": "deathrattle serpent" }, "extend": { "flags": [ "CANPLAY", "PET_MOUNTABLE" ] } - }, - { - "id": "mon_toad", - "type": "MONSTER", - "copy-from": "mon_toad", - "name": { "str": "toad" }, - "petfood": { - "food": [ "CATTLEFOOD" ], - "feed": "The %s seems to like you! It lets you pat its head and seems friendly.", - "pet": "The %s hops around you." - }, - "extend": { "flags": [ "CANPLAY" ] } - }, - { - "id": "mon_toad_small", - "type": "MONSTER", - "copy-from": "mon_toad_small", - "name": { "str": "huge toad" }, - "extend": { "flags": [ "CANPLAY" ] } - }, - { - "id": "mon_toad_giant", - "type": "MONSTER", - "copy-from": "mon_toad_giant", - "name": { "str": "giant toad" }, - "extend": { "flags": [ "CANPLAY" ] } } ] diff --git a/data/mods/TropiCataclysm/items/comestibles/egg.json b/data/mods/TropiCataclysm/items/comestibles/egg.json index c050eed24ae60..96406dc1e5e0a 100644 --- a/data/mods/TropiCataclysm/items/comestibles/egg.json +++ b/data/mods/TropiCataclysm/items/comestibles/egg.json @@ -231,7 +231,7 @@ "type": "COMESTIBLE", "id": "egg_salamander", "name": { "str": "cluster of salamander eggs", "str_pl": "clusters of salamander eggs" }, - "copy-from": "egg_frog", + "copy-from": "egg_proxy_frog", "description": "A large clump of salamander eggs. They're gelatinous and transparent.", "rot_spawn": "GROUP_EGG_SALAMANDER" }, @@ -239,7 +239,7 @@ "type": "COMESTIBLE", "id": "egg_tadfish", "name": { "str": "cluster of tadfish eggs", "str_pl": "clusters of tadfish eggs" }, - "copy-from": "egg_frog", + "copy-from": "egg_proxy_frog", "description": "A large clump of tadfish eggs. Very similar to other amphibian eggs.", "rot_spawn": "GROUP_EGG_TADFISH" },