From ab8659509b83c885b20c87c70f78a55871fbe4ac Mon Sep 17 00:00:00 2001 From: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Date: Tue, 10 Sep 2024 14:38:41 +0200 Subject: [PATCH] replace baby_egg, baby_monster, baby_monster_group with struct (#76266) * replace baby_egg, baby_monster, baby_monster_group with struct * move test to another PR to not hold this one * move more test stuff to test PR --- data/json/monsters/bird.json | 48 ++--- data/json/monsters/fish.json | 124 +++++------ data/json/monsters/insect_spider.json | 82 ++++---- data/json/monsters/kraken_spawn.json | 2 +- data/json/monsters/mammal.json | 88 ++++---- data/json/monsters/mollusk.json | 4 +- data/json/monsters/mutant_mammal.json | 8 +- data/json/monsters/nether.json | 4 +- data/json/monsters/reptile_amphibian.json | 68 +++--- data/mods/Aftershock/mobs/PrepPhyle_mobs.json | 2 +- data/mods/Aftershock/mobs/aliens.json | 2 +- .../Aftershock/mobs/uplifted_monsters.json | 4 +- data/mods/Defense_Mode/monsters.json | 8 +- data/mods/DinoMod/monsters/dinosaur.json | 194 +++++++++--------- .../Magiclysm/monsters/holiday_magiclysm.json | 2 +- data/mods/Magiclysm/monsters/monsters.json | 4 +- data/mods/Megafauna/monsters/mf_domestic.json | 18 +- .../mods/Megafauna/monsters/mf_predators.json | 10 +- data/mods/Megafauna/monsters/mf_wild.json | 18 +- .../monsters/animal_psychics.json | 6 +- .../My_Sweet_Cataclysm/sweet_monsters.json | 30 +-- .../monsters/tropical_bird.json | 28 +-- .../monsters/tropical_fish.json | 46 ++--- .../monsters/tropical_fungus.json | 4 +- .../monsters/tropical_insect_spider.json | 6 +- .../monsters/tropical_mammal.json | 12 +- .../monsters/tropical_nether.json | 38 ++-- .../monsters/tropical_reptile_amphibian.json | 46 ++--- .../monsters/tropical_triffid.json | 4 +- .../Xedra_Evolved/monsters/changeling.json | 2 +- doc/MONSTERS.md | 4 +- src/monattack.cpp | 2 +- src/monmove.cpp | 10 +- src/monster.cpp | 19 +- src/monstergenerator.cpp | 72 ++++--- src/mtype.cpp | 3 - src/mtype.h | 12 +- 37 files changed, 536 insertions(+), 498 deletions(-) diff --git a/data/json/monsters/bird.json b/data/json/monsters/bird.json index bab0f4800da7f..a96169a35d14e 100644 --- a/data/json/monsters/bird.json +++ b/data/json/monsters/bird.json @@ -139,7 +139,7 @@ "hp": 5, "speed": 95, "color": "white", - "reproduction": { "baby_egg": "egg_chicken", "baby_count": 1, "baby_timer": 2 }, + "reproduction": { "baby_type": { "baby_egg": "egg_chicken" }, "baby_count": 1, "baby_timer": 2 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "petfood": { "food": [ "BIRDFOOD" ], @@ -157,7 +157,7 @@ "weight": "645 g", "speed": 140, "color": "brown", - "reproduction": { "baby_egg": "egg_grouse", "baby_count": 11, "baby_timer": 35 } + "reproduction": { "baby_type": { "baby_egg": "egg_grouse" }, "baby_count": 11, "baby_timer": 35 } }, { "id": "mon_crow", @@ -170,7 +170,7 @@ "color": "dark_gray", "stomach_size": 30, "special_attacks": [ [ "EAT_CARRION", 40 ], [ "EAT_FOOD", 120 ] ], - "reproduction": { "baby_egg": "egg_crow", "baby_count": 4, "baby_timer": 18 }, + "reproduction": { "baby_type": { "baby_egg": "egg_crow" }, "baby_count": 4, "baby_timer": 18 }, "extend": { "flags": [ "EATS" ] } }, { @@ -185,7 +185,7 @@ "color": "dark_gray", "stomach_size": 50, "special_attacks": [ [ "EAT_CARRION", 40 ], [ "EAT_FOOD", 120 ] ], - "reproduction": { "baby_egg": "egg_raven", "baby_count": 5, "baby_timer": 18 }, + "reproduction": { "baby_type": { "baby_egg": "egg_raven" }, "baby_count": 5, "baby_timer": 18 }, "extend": { "flags": [ "EATS" ] } }, { @@ -198,7 +198,7 @@ "volume": "120 ml", "weight": "90 g", "color": "light_blue", - "reproduction": { "baby_egg": "egg_bluejay", "baby_count": 5, "baby_timer": 18 } + "reproduction": { "baby_type": { "baby_egg": "egg_bluejay" }, "baby_count": 5, "baby_timer": 18 } }, { "id": "mon_cardinal", @@ -210,7 +210,7 @@ "volume": "60 ml", "weight": "45 g", "color": "red", - "reproduction": { "baby_egg": "egg_cardinal", "baby_count": 3, "baby_timer": 16 } + "reproduction": { "baby_type": { "baby_egg": "egg_cardinal" }, "baby_count": 3, "baby_timer": 16 } }, { "id": "mon_robin", @@ -222,7 +222,7 @@ "volume": "103 ml", "weight": "77 g", "color": "brown", - "reproduction": { "baby_egg": "egg_robin", "baby_count": 5, "baby_timer": 16 } + "reproduction": { "baby_type": { "baby_egg": "egg_robin" }, "baby_count": 5, "baby_timer": 16 } }, { "id": "mon_sparrow", @@ -233,7 +233,7 @@ "default_faction": "bird_tiny_flying", "volume": "40 ml", "weight": "30 g", - "reproduction": { "baby_egg": "egg_sparrow", "baby_count": 5, "baby_timer": 16 } + "reproduction": { "baby_type": { "baby_egg": "egg_sparrow" }, "baby_count": 5, "baby_timer": 16 } }, { "id": "mon_chickadee", @@ -244,7 +244,7 @@ "default_faction": "bird_tiny_flying", "volume": "16 ml", "weight": "12 g", - "reproduction": { "baby_egg": "egg_chickadee", "baby_count": 8, "baby_timer": 14 } + "reproduction": { "baby_type": { "baby_egg": "egg_chickadee" }, "baby_count": 8, "baby_timer": 14 } }, { "id": "mon_chickadee_chick", @@ -261,7 +261,7 @@ "default_faction": "bird_tiny_flying", "volume": "40 ml", "weight": "30 g", - "reproduction": { "baby_egg": "egg_waxwing", "baby_count": 5, "baby_timer": 16 } + "reproduction": { "baby_type": { "baby_egg": "egg_waxwing" }, "baby_count": 5, "baby_timer": 16 } }, { "id": "mon_waxwing_chick", @@ -279,7 +279,7 @@ "weight": "1040 g", "hp": 2, "color": "brown", - "reproduction": { "baby_egg": "egg_duck", "baby_count": 13, "baby_timer": 88 }, + "reproduction": { "baby_type": { "baby_egg": "egg_duck" }, "baby_count": 13, "baby_timer": 88 }, "baby_flags": [ "SPRING" ] }, { @@ -305,7 +305,7 @@ "weight": "1800 g", "hp": 4, "color": "white", - "reproduction": { "baby_egg": "egg_duck_domestic", "baby_count": 8, "baby_timer": 14 }, + "reproduction": { "baby_type": { "baby_egg": "egg_duck_domestic" }, "baby_count": 8, "baby_timer": 14 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "petfood": { "food": [ "BIRDFOOD" ], @@ -338,7 +338,7 @@ "morale": 15, "anger_triggers": [ "PLAYER_CLOSE", "FRIEND_ATTACKED" ], "fear_triggers": [ "FRIEND_DIED", "FIRE", "HURT" ], - "reproduction": { "baby_egg": "egg_goose_canadian", "baby_count": 10, "baby_timer": 350 }, + "reproduction": { "baby_type": { "baby_egg": "egg_goose_canadian" }, "baby_count": 10, "baby_timer": 350 }, "baby_flags": [ "SPRING" ] }, { @@ -353,7 +353,7 @@ "hp": 16, "speed": 140, "color": "brown", - "reproduction": { "baby_egg": "egg_turkey", "baby_count": 17, "baby_timer": 151 } + "reproduction": { "baby_type": { "baby_egg": "egg_turkey" }, "baby_count": 17, "baby_timer": 151 } }, { "id": "mon_turkey_chick", @@ -377,7 +377,7 @@ "weight": "8 kg", "hp": 20, "color": "white", - "reproduction": { "baby_egg": "egg_turkey_domestic", "baby_count": 10, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_turkey_domestic" }, "baby_count": 10, "baby_timer": 21 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "petfood": { "food": [ "BIRDFOOD" ], @@ -407,7 +407,7 @@ "//": "0.9kg for females, 1.2kg for males. We don't differentiate genders, so lets take a rough middle ground.", "hp": 3, "speed": 140, - "reproduction": { "baby_egg": "egg_pheasant", "baby_count": 15, "baby_timer": 108 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pheasant" }, "baby_count": 15, "baby_timer": 108 }, "baby_flags": [ "SPRING" ] }, { @@ -570,7 +570,7 @@ "name": { "str": "feral pigeon" }, "description": "A gentle, plump, small-billed bird with a skin saddle, or cere, between its bill and forehead. On the ground, it struts about with a characteristic bobbing of the head. It is a strong, swift flier thanks to its long wings and powerful flight muscles.", "copy-from": "mon_bird_flying_base", - "reproduction": { "baby_egg": "egg_pigeon", "baby_count": 3, "baby_timer": 32 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pigeon" }, "baby_count": 3, "baby_timer": 32 }, "petfood": { "food": [ "BIRDFOOD" ], "feed": "The %s seems to like you! It runs around your legs and seems friendly.", @@ -601,7 +601,7 @@ "aggression": 1, "morale": 15, "fear_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "FIRE", "HURT" ], - "reproduction": { "baby_egg": "egg_goose", "baby_count": 15, "baby_timer": 35 }, + "reproduction": { "baby_type": { "baby_egg": "egg_goose" }, "baby_count": 15, "baby_timer": 35 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "petfood": { "food": [ "BIRDFOOD" ], @@ -630,7 +630,7 @@ "volume": "5 ml", "weight": "3600 mg", "color": "light_green", - "reproduction": { "baby_egg": "egg_hummingbird", "baby_count": 3, "baby_timer": 36 }, + "reproduction": { "baby_type": { "baby_egg": "egg_hummingbird" }, "baby_count": 3, "baby_timer": 36 }, "baby_flags": [ "SPRING" ] }, { @@ -642,7 +642,7 @@ "default_faction": "bird_tiny_flying", "volume": "35 ml", "weight": "26 g", - "reproduction": { "baby_egg": "egg_woodpecker", "baby_count": 5, "baby_timer": 30 } + "reproduction": { "baby_type": { "baby_egg": "egg_woodpecker" }, "baby_count": 5, "baby_timer": 30 } }, { "id": "mon_hummingbird_chick", @@ -664,7 +664,7 @@ "copy-from": "mon_bird_water_base", "volume": "733 ml", "weight": "550 g", - "reproduction": { "baby_egg": "egg_coot", "baby_count": 10, "baby_timer": 83 } + "reproduction": { "baby_type": { "baby_egg": "egg_coot" }, "baby_count": 10, "baby_timer": 83 } }, { "id": "mon_cormorant", @@ -677,7 +677,7 @@ "weight": "1850 g", "hp": 5, "speed": 110, - "reproduction": { "baby_egg": "egg_cormorant", "baby_count": 7, "baby_timer": 98 } + "reproduction": { "baby_type": { "baby_egg": "egg_cormorant" }, "baby_count": 7, "baby_timer": 98 } }, { "id": "mon_moorhen", @@ -688,7 +688,7 @@ "volume": "511 ml", "weight": "383 g", "speed": 110, - "reproduction": { "baby_egg": "egg_moorhen", "baby_count": 8, "baby_timer": 78 } + "reproduction": { "baby_type": { "baby_egg": "egg_moorhen" }, "baby_count": 8, "baby_timer": 78 } }, { "id": "mon_grebe", @@ -700,7 +700,7 @@ "volume": "580 ml", "weight": "435 g", "color": "brown", - "reproduction": { "baby_egg": "egg_grebe", "baby_count": 8, "baby_timer": 49 } + "reproduction": { "baby_type": { "baby_egg": "egg_grebe" }, "baby_count": 8, "baby_timer": 49 } }, { "id": "mon_coot_chick", diff --git a/data/json/monsters/fish.json b/data/json/monsters/fish.json index 7dc12a37bd640..ff56e49714129 100644 --- a/data/json/monsters/fish.json +++ b/data/json/monsters/fish.json @@ -64,7 +64,7 @@ "melee_dice_sides": 1, "melee_damage": [ { "damage_type": "cut", "amount": 0 } ], "melee_training_cap": 1, - "reproduction": { "baby_egg": "egg_fish", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "harvest": "fish_tiny", @@ -95,7 +95,7 @@ "melee_dice_sides": 2, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "melee_training_cap": 1, - "reproduction": { "baby_egg": "egg_fish", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "harvest": "fish_small", @@ -127,7 +127,7 @@ "melee_dice_sides": 2, "melee_damage": [ { "damage_type": "cut", "amount": 2 } ], "melee_training_cap": 1, - "reproduction": { "baby_egg": "egg_fish", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "harvest": "fish_small", @@ -159,7 +159,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 2 } ], "melee_training_cap": 2, - "reproduction": { "baby_egg": "egg_fish", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], "harvest": "fish_large", @@ -190,7 +190,7 @@ "melee_dice": 1, "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 3 } ], - "reproduction": { "baby_egg": "egg_fish", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "harvest": "fish_large", @@ -266,7 +266,7 @@ "description": "A brown trout. A fish made popular by father-son fishing trips, except for the part where you have to gut it.", "volume": "18320 ml", "weight": "3 kg", - "reproduction": { "baby_egg": "egg_brown_trout", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_brown_trout" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "AUTUMN" ] }, { @@ -284,7 +284,7 @@ "description": "A brook trout. A fish made popular by father-son fishing trips, except for the part where you have to gut it.", "volume": "900 ml", "weight": "1650 g", - "reproduction": { "baby_egg": "egg_brook_trout", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_brook_trout" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "AUTUMN" ] }, { @@ -302,7 +302,7 @@ "description": "A lake trout. A fish made popular by father-son fishing trips, except for the part where you have to gut it.", "volume": "6140 ml", "weight": "4 kg", - "reproduction": { "baby_egg": "egg_lake_trout", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lake_trout" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "AUTUMN" ] }, { @@ -320,7 +320,7 @@ "description": "A rainbow trout. A fish made popular by father-son fishing trips, except for the part where you have to gut it.", "volume": "10600 ml", "weight": "3 kg", - "reproduction": { "baby_egg": "egg_rainbow_trout", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_rainbow_trout" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "AUTUMN" ] }, { @@ -337,7 +337,7 @@ "description": "An Atlantic salmon. A very fatty, nutritious fish. Tastes great smoked.", "volume": "10600 ml", "weight": "4 kg", - "reproduction": { "baby_egg": "egg_salmon", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_salmon" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "AUTUMN" ] }, { @@ -355,7 +355,7 @@ "description": "A Kokanee salmon. A very fatty, nutritious fish. Tastes great smoked.", "volume": "4470 ml", "weight": "3500 g", - "reproduction": { "baby_egg": "egg_kokanee_salmon", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_kokanee_salmon" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "AUTUMN" ] }, { @@ -372,7 +372,7 @@ "description": "A lake whitefish, closely related to salmon. One can assume they taste just as nice when smoked.", "volume": "7730 ml", "weight": "2 kg", - "reproduction": { "baby_egg": "egg_whitefish", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_whitefish" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "AUTUMN" ] }, { @@ -390,7 +390,7 @@ "description": "A round whitefish, closely related to salmon. One can assume they taste just as nice when smoked.", "volume": "850 ml", "weight": "355 g", - "reproduction": { "baby_egg": "egg_whitefish_round", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_whitefish_round" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "AUTUMN" ] }, { @@ -406,7 +406,7 @@ "name": { "str_sp": "largemouth bass" }, "description": "A largemouth bass. Very popular with sport fishermen.", "volume": "3140 ml", - "reproduction": { "baby_egg": "egg_lbass", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_lbass" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_lbass", @@ -422,7 +422,7 @@ "description": "A smallmouth bass. Infamously intolerant to pollution, the presence of smallmouth bass is a good indicator of how clean a body of water is.", "volume": "3140 ml", "weight": "3 kg", - "reproduction": { "baby_egg": "egg_sbass", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_sbass" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_sbass", @@ -438,7 +438,7 @@ "description": "A striped bass. Mostly a saltwater fish, they migrate to fresher water to spawn.", "volume": "16080 ml", "weight": "6500 g", - "reproduction": { "baby_egg": "egg_pbass", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_pbass" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_pbass", @@ -455,7 +455,7 @@ "description": "A small, sprightly perch. It is a very bony fish, still has some tasty meat on it though.", "volume": "220 ml", "weight": "150 g", - "reproduction": { "baby_egg": "egg_perch", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_perch" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_perch", @@ -472,7 +472,7 @@ "description": "A walleye. A green-brown medium-sized fish with a white belly.", "volume": "4950 ml", "weight": "3 kg", - "reproduction": { "baby_egg": "egg_walleye", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_walleye" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_walleye", @@ -488,7 +488,7 @@ "description": "A banded sunfish. A small fish related to bass and bluegill.", "volume": "20 ml", "weight": "20 g", - "reproduction": { "baby_egg": "egg_sunfish", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_sunfish" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_sunfish", @@ -505,7 +505,7 @@ "description": "A pumpkinseed sunfish. A small fish related to bass and bluegill.", "volume": "80 ml", "weight": "175 g", - "reproduction": { "baby_egg": "egg_pumpkinseed", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_pumpkinseed" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_pumpkinseed", @@ -521,7 +521,7 @@ "description": "A bluegill, an invasive species in Japan. Commonly gutted and cooked whole.", "volume": "290 ml", "weight": "280 g", - "reproduction": { "baby_egg": "egg_bluegill", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_bluegill" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_bluegill", @@ -538,7 +538,7 @@ "description": "A redbreast sunfish. A small fish related to bass and bluegill.", "volume": "110 ml", "weight": "106 g", - "reproduction": { "baby_egg": "egg_redbreast", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_redbreast" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_redbreast", @@ -555,7 +555,7 @@ "description": "A green sunfish. A small fish related to bass and bluegill.", "volume": "290 ml", "weight": "280 g", - "reproduction": { "baby_egg": "egg_green_sunfish", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_green_sunfish" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_green_sunfish", @@ -572,7 +572,7 @@ "description": "A rock bass. Related to sunfish, this tiny fish has a camouflage-like patterning and red eyes.", "volume": "750 ml", "weight": "350 g", - "reproduction": { "baby_egg": "egg_rock_bass", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_rock_bass" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_rock_bass", @@ -589,7 +589,7 @@ "description": "A black crappie. A medium-sized fish also known as a 'calico bass'.", "volume": "900 ml", "weight": "400 g", - "reproduction": { "baby_egg": "egg_calico_bass", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_calico_bass" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_calico_bass", @@ -606,7 +606,7 @@ "description": "A warmouth, similar to a rock bass. This small fish is related to the sunfish.", "volume": "290 ml", "weight": "280 g", - "reproduction": { "baby_egg": "egg_warmouth", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_warmouth" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_warmouth", @@ -622,7 +622,7 @@ "description": "A brown bullhead, a type of catfish. Delicious when battered and fried.", "volume": "340 ml", "weight": "650 g", - "reproduction": { "baby_egg": "egg_bullhead", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_bullhead" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_bullhead", @@ -639,7 +639,7 @@ "description": "A yellow bullhead, a type of catfish. Delicious when battered and fried, though smaller than its brown cousin.", "volume": "250 ml", "weight": "454 g", - "reproduction": { "baby_egg": "egg_bullhead_yellow", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_bullhead_yellow" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_bullhead_yellow", @@ -656,7 +656,7 @@ "description": "A channel catfish. It has a forked tail and long whiskers.", "volume": "4040 ml", "weight": "7 kg", - "reproduction": { "baby_egg": "egg_channel_catfish", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_channel_catfish" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_channel_catfish", @@ -673,7 +673,7 @@ "description": "A white catfish. A small whiskered fish with a broad head.", "volume": "620 ml", "weight": "950 g", - "reproduction": { "baby_egg": "egg_white_catfish", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_white_catfish" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_white_catfish", @@ -689,7 +689,7 @@ "description": "A northern pike. Pike can be pretty aggressive fish, careful around those teeth.", "volume": "3630 ml", "weight": "1750 g", - "reproduction": { "baby_egg": "egg_pike", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_pike" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_pike", @@ -705,7 +705,7 @@ "description": "A chain pickerel. It looks like a pike, but slightly smaller.", "volume": "1620 ml", "weight": "1150 g", - "reproduction": { "baby_egg": "egg_pickerel", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_pickerel" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_pickerel", @@ -721,7 +721,7 @@ "description": "An American pickerel. It looks like a pike, but unlike its chain pickerel cousin, this one is way smaller.", "volume": "170 ml", "weight": "200 g", - "reproduction": { "baby_egg": "egg_pickerel_american", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_pickerel_american" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_pickerel_american", @@ -738,7 +738,7 @@ "description": "A muskellunge. Closely related to pike but even larger, it shares the same aggression and sharp teeth.", "volume": "18700 ml", "weight": "10 kg", - "reproduction": { "baby_egg": "egg_muskellunge", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_muskellunge" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_muskellunge", @@ -755,7 +755,7 @@ "description": "A white sucker. It has a streamlined body with a round mouth.", "volume": "2120 ml", "weight": "660 g", - "reproduction": { "baby_egg": "egg_white_sucker", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_white_sucker" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_white_sucker", @@ -771,7 +771,7 @@ "description": "A golden-yellow common carp. Some people think they don't taste great, but you can't afford to be choosy in the Cataclysm.", "volume": "2010 ml", "weight": "1 kg", - "reproduction": { "baby_egg": "egg_carp", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_carp" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_carp", @@ -788,7 +788,7 @@ "description": "A huge grass carp. A golden, herbivorous fish.", "volume": "16080 ml", "weight": "15 kg", - "reproduction": { "baby_egg": "egg_grass_carp", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_grass_carp" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_grass_carp", @@ -805,7 +805,7 @@ "description": "Yes, this is that common pet fish. Though, given its size and the fact that it's still alive, you can take a wild guess that this one is feral.", "volume": "570 ml", "weight": "300 g", - "reproduction": { "baby_egg": "egg_goldfish", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_goldfish" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_goldfish", @@ -821,7 +821,7 @@ "description": "A bowfin. These fish are related to gar but without the huge teeth, skin-rending scales, and aggression.", "volume": "4780 ml", "weight": "1300 g", - "reproduction": { "baby_egg": "egg_bowfin", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_bowfin" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_bowfin", @@ -838,7 +838,7 @@ "description": "A large ancient type of fish with a mean jaw and poisonous eggs.", "volume": "4820 ml", "weight": "920 g", - "reproduction": { "baby_egg": "egg_gar_longnose", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_gar_longnose" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_gar_longnose", @@ -854,7 +854,7 @@ "description": "A relatively large fish that looks like a cross between a catfish and an eel, and is the only freshwater fish from the order that cods hail from.", "volume": "1400 ml", "weight": "620 g", - "reproduction": { "baby_egg": "egg_burbot", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_burbot" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_burbot", @@ -870,7 +870,7 @@ "description": "A very large armored bottom-feeder, the lake sturgeon is one of the largest unmutated fish one can find in the freshwater regions of New England.", "volume": "20220 ml", "weight": "14500 g", - "reproduction": { "baby_egg": "egg_sturgeon_lake", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_sturgeon_lake" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_sturgeon_lake", @@ -887,7 +887,7 @@ "description": "While the shortnose sturgeon is still large, it is nothing compared to its cousin - the lake sturgeon. What really sets it apart, however, is its signature shorter snout.", "volume": "2720 ml", "weight": "980 g", - "reproduction": { "baby_egg": "egg_sturgeon_shortnose", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_sturgeon_shortnose" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_sturgeon_shortnose", @@ -904,7 +904,7 @@ "description": "A fallfish. These fish are small cyprinids, related to carp.", "volume": "160 ml", "weight": "120 g", - "reproduction": { "baby_egg": "egg_fallfish", "baby_count": 2, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_fallfish" }, "baby_count": 2, "baby_timer": 17 } }, { "id": "mon_fry_fallfish", @@ -936,7 +936,7 @@ "harvest": "lobster", "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], "dissect": "dissect_crustacean_single", - "reproduction": { "baby_egg": "egg_fish", "baby_count": 2, "baby_timer": 180 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish" }, "baby_count": 2, "baby_timer": 180 }, "baby_flags": [ "SUMMER", "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "FISHABLE", "SEES", "SMELLS", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE", "ARTHROPOD_BLOOD" ] @@ -965,7 +965,7 @@ "harvest": "shellfish", "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], "dissect": "dissect_crustacean_single", - "reproduction": { "baby_monster": "mon_fry_crayfish", "baby_count": 3, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_monster": "mon_fry_crayfish" }, "baby_count": 3, "baby_timer": 17 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "FISHABLE", "SEES", "SMELLS", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE", "ARTHROPOD_BLOOD" ] @@ -1047,7 +1047,7 @@ "weakpoint_sets": [ "wps_arthropod" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug", "prof_wp_nat_armored" ], "dissect": "dissect_crustacean_small", - "reproduction": { "baby_monster": "mon_crayfish_giant_larva", "baby_count": 3, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_monster": "mon_crayfish_giant_larva" }, "baby_count": 3, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], "fear_triggers": [ "FIRE" ], @@ -1160,7 +1160,7 @@ "harvest": "mutant_fish", "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology" ], "dissect": "dissect_fish_sample_small", - "reproduction": { "baby_egg": "egg_fish", "baby_count": 1, "baby_timer": 6 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish" }, "baby_count": 1, "baby_timer": 6 }, "baby_flags": [ "SPRING" ], "flags": [ "SEES", "HEARS", "SMELLS", "SWIMS", "AQUATIC" ] }, @@ -1191,7 +1191,7 @@ "harvest": "mutant_fish", "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology" ], "dissect": "dissect_fish_sample_small", - "reproduction": { "baby_egg": "egg_mutant_salmon", "baby_count": 3, "baby_timer": 30 }, + "reproduction": { "baby_type": { "baby_egg": "egg_mutant_salmon" }, "baby_count": 3, "baby_timer": 30 }, "baby_flags": [ "AUTUMN" ], "upgrades": { "age_grow": 30, "into": "mon_mutant_salmon_huge" }, "anger_triggers": [ "HURT" ], @@ -1223,7 +1223,7 @@ "dodge": 4, "harvest": "mutant_fish", "dissect": "dissect_fish_sample_large", - "reproduction": { "baby_egg": "egg_mutant_salmon", "baby_count": 3, "baby_timer": 30 }, + "reproduction": { "baby_type": { "baby_egg": "egg_mutant_salmon" }, "baby_count": 3, "baby_timer": 30 }, "baby_flags": [ "AUTUMN" ], "upgrades": { "age_grow": 42, "into": "mon_mutant_salmon_mega" }, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], @@ -1262,7 +1262,7 @@ "dodge": 4, "harvest": "mutant_fish", "dissect": "dissect_fish_sample_large", - "reproduction": { "baby_egg": "egg_mutant_salmon", "baby_count": 5, "baby_timer": 50 }, + "reproduction": { "baby_type": { "baby_egg": "egg_mutant_salmon" }, "baby_count": 5, "baby_timer": 50 }, "baby_flags": [ "AUTUMN" ], "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "flags": [ "SEES", "HEARS", "SWIMS", "AQUATIC" ] @@ -1294,7 +1294,7 @@ "harvest": "mutant_fish", "dissect": "dissect_fish_sample_single", "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology" ], - "reproduction": { "baby_egg": "egg_fish", "baby_count": 2, "baby_timer": 19 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish" }, "baby_count": 2, "baby_timer": 19 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "path_settings": { "max_dist": 5 }, "flags": [ "SEES", "SMELLS", "AQUATIC" ] @@ -1307,7 +1307,7 @@ "description": "An Atlantic mackerel, known for its distinctive striped pattern.", "volume": "850 ml", "weight": "425 g", - "reproduction": { "baby_egg": "egg_mackerel", "baby_count": 3, "baby_timer": 20 } + "reproduction": { "baby_type": { "baby_egg": "egg_mackerel" }, "baby_count": 3, "baby_timer": 20 } }, { "id": "mon_fry_mackerel", @@ -1323,7 +1323,7 @@ "description": "A flatfish, the summer flounder, also known as a fluke, likes to stay camouflaged against the ocean floor.", "volume": "4 L", "weight": "1400 g", - "reproduction": { "baby_egg": "egg_flounder", "baby_count": 2, "baby_timer": 22 } + "reproduction": { "baby_type": { "baby_egg": "egg_flounder" }, "baby_count": 2, "baby_timer": 22 } }, { "id": "mon_fry_flounder", @@ -1339,7 +1339,7 @@ "description": "A small, robust fish, the black sea bass is known for its dark, mottled color and meaty texture.", "volume": "1330 ml", "weight": "850 g", - "reproduction": { "baby_egg": "egg_blackfish", "baby_count": 2, "baby_timer": 15 } + "reproduction": { "baby_type": { "baby_egg": "egg_blackfish" }, "baby_count": 2, "baby_timer": 15 } }, { "id": "mon_fry_blackfish", @@ -1354,7 +1354,7 @@ "name": { "str_sp": "scup" }, "description": "Also known as porgy, the scup is a small fish commonly found in Atlantic coastal waters, recognizable by its silver body with blue and purple tinges.", "weight": "500 g", - "reproduction": { "baby_egg": "egg_porgy", "baby_count": 3, "baby_timer": 16 } + "reproduction": { "baby_type": { "baby_egg": "egg_porgy" }, "baby_count": 3, "baby_timer": 16 } }, { "id": "mon_fry_porgy", @@ -1369,7 +1369,7 @@ "name": { "str_sp": "bluefish" }, "description": "The bluefish, a moderately proportioned marine fish, is known for its aggressive nature and sharp teeth. It sports a distinct blue-green coloration.", "volume": "6785 ml", - "reproduction": { "baby_egg": "egg_bluefish", "baby_count": 2, "baby_timer": 18 } + "reproduction": { "baby_type": { "baby_egg": "egg_bluefish" }, "baby_count": 2, "baby_timer": 18 } }, { "id": "mon_fry_bluefish", @@ -1385,7 +1385,7 @@ "description": "A large, white-meat fish known for its mild flavor and flaky texture. Highly prized in both commercial and recreational fishing.", "volume": "31450 ml", "weight": "30 kg", - "reproduction": { "baby_egg": "egg_cod", "baby_count": 3, "baby_timer": 19 } + "reproduction": { "baby_type": { "baby_egg": "egg_cod" }, "baby_count": 3, "baby_timer": 19 } }, { "id": "mon_fry_cod", @@ -1401,7 +1401,7 @@ "description": "A popular food fish, the haddock is recognized by its dark lateral line and a black blotch above the pectoral fin.", "volume": "6785 ml", "weight": "1800 g", - "reproduction": { "baby_egg": "egg_haddock", "baby_count": 3, "baby_timer": 18 } + "reproduction": { "baby_type": { "baby_egg": "egg_haddock" }, "baby_count": 3, "baby_timer": 18 } }, { "id": "mon_fry_haddock", @@ -1417,7 +1417,7 @@ "description": "One of the largest and fastest fish in the waters of New England, the bluefin tuna is a streamlined predator with a dark blue back and silvery sides.", "volume": "250 L", "weight": "200 kg", - "reproduction": { "baby_egg": "egg_bluefin_tuna", "baby_count": 1, "baby_timer": 22 } + "reproduction": { "baby_type": { "baby_egg": "egg_bluefin_tuna" }, "baby_count": 1, "baby_timer": 22 } }, { "id": "mon_fry_bluefin_tuna", @@ -1433,7 +1433,7 @@ "description": "The largest flatfish in the ocean, known for its dense, firm texture and mild flavor.", "volume": "75 L", "weight": "25 kg", - "reproduction": { "baby_egg": "egg_halibut", "baby_count": 2, "baby_timer": 20 } + "reproduction": { "baby_type": { "baby_egg": "egg_halibut" }, "baby_count": 2, "baby_timer": 20 } }, { "id": "mon_fry_halibut", @@ -1450,7 +1450,7 @@ "description": "A member of the cod family, pollock is a versatile fish known for its white, delicate meat and mild taste.", "volume": "6785 ml", "weight": "2250 g", - "reproduction": { "baby_egg": "egg_pollock", "baby_count": 3, "baby_timer": 17 } + "reproduction": { "baby_type": { "baby_egg": "egg_pollock" }, "baby_count": 3, "baby_timer": 17 } }, { "id": "mon_fry_pollock", diff --git a/data/json/monsters/insect_spider.json b/data/json/monsters/insect_spider.json index 5a76261c44947..ed7cca2b8017e 100644 --- a/data/json/monsters/insect_spider.json +++ b/data/json/monsters/insect_spider.json @@ -84,7 +84,7 @@ "bleed_rate": 60, "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], "harvest": "mutant_meatslug", - "reproduction": { "baby_egg": "egg_worm", "baby_count": 1, "baby_timer": 30 }, + "reproduction": { "baby_type": { "baby_egg": "egg_worm" }, "baby_count": 1, "baby_timer": 30 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "death_function": { "message": "The %s splits in two!", @@ -148,7 +148,7 @@ "special_attacks": [ [ "EAT_FOOD", 60 ], [ "EAT_CARRION", 60 ], [ "EAT_CROP", 60 ] ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], "harvest": "mutant_meatslug", - "reproduction": { "baby_egg": "egg_worm", "baby_count": 1, "baby_timer": 30 }, + "reproduction": { "baby_type": { "baby_egg": "egg_worm" }, "baby_count": 1, "baby_timer": 30 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "death_function": { "message": "The %s splits in two!", @@ -246,7 +246,7 @@ "vision_day": 5, "vision_night": 5, "harvest": "arachnid_tainted", - "reproduction": { "baby_egg": "egg_roach_plague", "baby_count": 1, "baby_timer": 6 }, + "reproduction": { "baby_type": { "baby_egg": "egg_roach_plague" }, "baby_count": 1, "baby_timer": 6 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_roach", "biosig_timer": 3 }, "upgrades": { "age_grow": 42, "into": "mon_plague_vector" }, @@ -306,7 +306,7 @@ "vision_day": 5, "vision_night": 5, "harvest": "arachnid_tainted", - "reproduction": { "baby_egg": "egg_roach_plague", "baby_count": 3, "baby_timer": 5 }, + "reproduction": { "baby_type": { "baby_egg": "egg_roach_plague" }, "baby_count": 3, "baby_timer": 5 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_roach", "biosig_timer": 3 }, "anger_triggers": [ "FRIEND_ATTACKED", "PLAYER_WEAK" ], @@ -344,7 +344,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_egg": "egg_roach", "baby_count": 1, "baby_timer": 7 }, + "reproduction": { "baby_type": { "baby_egg": "egg_roach" }, "baby_count": 1, "baby_timer": 7 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_roach", "biosig_timer": 3 }, "upgrades": { "age_grow": 35, "into": "mon_pregnant_giant_cockroach" }, @@ -378,7 +378,7 @@ "stomach_size": 300, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "fear_triggers": [ "BRIGHT_LIGHT" ], - "reproduction": { "baby_egg": "egg_roach", "baby_count": 3, "baby_timer": 7 }, + "reproduction": { "baby_type": { "baby_egg": "egg_roach" }, "baby_count": 3, "baby_timer": 7 }, "death_function": { "effect": { "id": "death_preg_roach", "hit_self": true } }, "delete": { "flags": [ "SMALL_HIDER" ] }, "special_attacks": [ [ "EAT_FOOD", 40 ], [ "EAT_CARRION", 40 ] ] @@ -426,7 +426,7 @@ "vision_night": 30, "harvest": "arachnid", "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_egg": "egg_silverfish", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_silverfish" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "special_attacks": [ [ "EAT_FOOD", 60 ], [ "EAT_CROP", 60 ] ], "zombify_into": "mon_meat_cocoon_small", @@ -707,7 +707,7 @@ "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "harvest": "arachnid_centipede_mom", "dissect": "dissect_insect_sample_large", - "reproduction": { "baby_monster": "mon_centipede_small", "baby_count": 2, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_monster": "mon_centipede_small" }, "baby_count": 2, "baby_timer": 10 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "upgrades": { "age_grow": 45, "into_group": "GROUP_CENTIPEDE_MOM" }, "zombify_into": "mon_meat_cocoon_large", @@ -865,7 +865,7 @@ "bleed_rate": 80, "vision_day": 6, "vision_night": 18, - "reproduction": { "baby_egg": "egg_centipede_house", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_centipede_house" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "harvest": "arachnid_centipede", "dissect": "dissect_insect_sample_small", @@ -1025,7 +1025,7 @@ "dissect": "dissect_insect_sample_large", "stomach_size": 1000, "anger_triggers": [ "PLAYER_WEAK", "STALK" ], - "reproduction": { "baby_egg": "egg_dragonfly", "baby_count": 3, "baby_timer": 1 }, + "reproduction": { "baby_type": { "baby_egg": "egg_dragonfly" }, "baby_count": 3, "baby_timer": 1 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "zombify_into": "mon_meat_cocoon_large", "flags": [ "SEES", "HEARS", "SMELLS", "STUMBLES", "SWIMS", "BASHES", "PUSH_MON", "PUSH_VEH", "EATS" ], @@ -1060,7 +1060,7 @@ "dodge": 2, "harvest": "arachnid_firefly", "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_egg": "egg_firefly", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_firefly" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "HURT", "FIRE" ], "flags": [ "SEES", "HEARS", "FLIES", "STUMBLES", "SMALL_HIDER" ] @@ -1123,7 +1123,7 @@ "harvest": "arachnid_flying", "dissect": "dissect_insect_sample_single", "stomach_size": 200, - "reproduction": { "baby_egg": "egg_fly", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fly" }, "baby_count": 3, "baby_timer": 15 }, "special_attacks": [ [ "EAT_CARRION", 100 ] ], "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "HURT", "FIRE" ], @@ -1209,7 +1209,7 @@ "vision_night": 12, "harvest": "arachnid_flying", "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_egg": "egg_mosquito", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_mosquito" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "fear_triggers": [ "HURT", "FIRE" ], "upgrades": { "age_grow": 42, "into": "mon_mosquito_mega" }, @@ -1288,7 +1288,7 @@ "vision_night": 15, "harvest": "arachnid_flying", "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_egg": "egg_moth_fly", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_moth_fly" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "FRIEND_DIED", "HURT", "FIRE" ], "zombify_into": "mon_meat_cocoon_tiny", @@ -1368,7 +1368,7 @@ "vision_night": 18, "harvest": "arachnid_spider", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_cellar", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_cellar" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "fear_triggers": [ "FIRE", "HURT" ], "anger_triggers": [ "PLAYER_CLOSE", "PLAYER_WEAK" ], @@ -1585,7 +1585,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_jumping", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_jumping" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "special_attacks": [ { @@ -1683,7 +1683,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_trapdoor", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_trapdoor" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "fungalize_into": "mon_spider_fungus", "upgrades": { "age_grow": 42, "into": "mon_spider_trapdoor_mega" }, @@ -1771,7 +1771,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_web", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_web" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "fungalize_into": "mon_spider_fungus", "anger_triggers": [ "PLAYER_WEAK", "PLAYER_CLOSE" ], @@ -1861,7 +1861,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_widow", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_widow" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "anger_triggers": [ "PLAYER_WEAK", "PLAYER_CLOSE" ], "fungalize_into": "mon_spider_fungus", @@ -1951,7 +1951,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_wolf", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_wolf" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "anger_triggers": [ "STALK", "PLAYER_WEAK", "HURT", "PLAYER_CLOSE" ], "fungalize_into": "mon_spider_fungus", @@ -2132,7 +2132,7 @@ "harvest": "arachnid_wasp_queen", "dissect": "dissect_insect_sample_large", "stomach_size": 800, - "reproduction": { "baby_egg": "egg_wasp", "baby_count": 2, "baby_timer": 5 }, + "reproduction": { "baby_type": { "baby_egg": "egg_wasp" }, "baby_count": 2, "baby_timer": 5 }, "upgrades": { "age_grow": 30, "into": "mon_wasp_mega" }, "fungalize_into": "mon_wasp_queen_fungus", "armor": { "bash": 5, "cut": 14, "stab": 12, "bullet": 12, "electric": 3 } @@ -2262,7 +2262,7 @@ "bleed_rate": 60, "harvest": "arachnid_wasp_queen", "dissect": "dissect_insect_sample_huge", - "reproduction": { "baby_egg": "egg_wasp", "baby_count": 4, "baby_timer": 5 }, + "reproduction": { "baby_type": { "baby_egg": "egg_wasp" }, "baby_count": 4, "baby_timer": 5 }, "extend": { "flags": [ "PUSH_MON" ] }, "zombify_into": "mon_meat_cocoon_large", "fungalize_into": "mon_wasp_mega_fungus", @@ -2376,7 +2376,7 @@ "cooldown": 5 } ], - "reproduction": { "baby_monster": "mon_dermatik_larva", "baby_count": 2, "baby_timer": 30 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dermatik_larva" }, "baby_count": 2, "baby_timer": 30 }, "zombify_into": "mon_meat_cocoon_small", "flags": [ "SEES", "HEARS", "SMELLS", "WARM", "IMMOBILE", "PACIFIST" ] }, @@ -2566,7 +2566,7 @@ "delete": { "weakpoints": [ { "id": "stinger" } ] }, "harvest": "arachnid_acid_queen", "dissect": "dissect_insect_sample_large", - "reproduction": { "baby_egg": "ant_egg_acid", "baby_count": 3, "baby_timer": 1 }, + "reproduction": { "baby_type": { "baby_egg": "ant_egg_acid" }, "baby_count": 3, "baby_timer": 1 }, "anger_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "HURT", "PLAYER_CLOSE" ], "fungalize_into": "mon_ant_fungus", "zombify_into": "mon_meat_cocoon_med", @@ -2689,7 +2689,7 @@ "delete": { "weakpoints": [ { "id": "stinger" } ] }, "harvest": "arachnid", "dissect": "dissect_insect_sample_large", - "reproduction": { "baby_egg": "ant_egg", "baby_count": 3, "baby_timer": 1 }, + "reproduction": { "baby_type": { "baby_egg": "ant_egg" }, "baby_count": 3, "baby_timer": 1 }, "anger_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "HURT", "PLAYER_CLOSE" ], "fungalize_into": "mon_ant_fungus", "zombify_into": "mon_meat_cocoon_med", @@ -2815,7 +2815,7 @@ "vision_day": 10, "harvest": "arachnid_flying", "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_egg": "egg_locust", "baby_count": 5, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_locust" }, "baby_count": 5, "baby_timer": 10 }, "baby_flags": [ "AUTUMN" ], "biosignature": { "biosig_item": "feces_roach", "biosig_timer": 3 }, "anger_triggers": [ "FRIEND_ATTACKED" ], @@ -2939,7 +2939,7 @@ "regen_morale": true, "fear_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "HURT", "FIRE", "PLAYER_CLOSE" ], "special_attacks": [ [ "EAT_CROP", 80 ], [ "GRAZE", 800 ] ], - "reproduction": { "baby_monster": "mon_aphid_small", "baby_count": 1, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_monster": "mon_aphid_small" }, "baby_count": 1, "baby_timer": 20 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "honeydew", "biosig_timer": 600 }, "flags": [ "SEES", "HEARS", "SMELLS", "CLIMBS", "PATH_AVOID_FIRE", "PATH_AVOID_FALL", "SWARMS", "SMALL_HIDER" ], @@ -2991,7 +2991,7 @@ "dissect": "dissect_insect_sample_small", "anger_triggers": [ "PLAYER_WEAK", "PLAYER_CLOSE" ], "fear_triggers": [ "FIRE", "HURT" ], - "reproduction": { "baby_egg": "egg_mantis", "baby_count": 1, "baby_timer": 30 }, + "reproduction": { "baby_type": { "baby_egg": "egg_mantis" }, "baby_count": 1, "baby_timer": 30 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "//grab": "Good at pulling, grabbing, chewing your face off afterwards", "grab_strength": 35, @@ -3103,7 +3103,7 @@ "vision_night": 15, "harvest": "arachnid", "dissect": "dissect_subterranean_insect_large", - "reproduction": { "baby_egg": "egg_mole_cricket", "baby_count": 1, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_mole_cricket" }, "baby_count": 1, "baby_timer": 20 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "special_attacks": [ { @@ -3209,7 +3209,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_insect_sample_large", - "reproduction": { "baby_egg": "egg_lady_bug", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lady_bug" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "anger_triggers": [ "PLAYER_CLOSE", "PLAYER_WEAK" ], "fear_triggers": [ "HURT" ], @@ -3293,7 +3293,7 @@ "stomach_size": 600, "harvest": "arachnid", "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_egg": "egg_grasshopper", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_grasshopper" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "fear_triggers": [ "FIRE", "PLAYER_CLOSE" ], "special_attacks": [ @@ -3443,7 +3443,7 @@ [ "BROWSE", 60 ] ], "upgrades": { "age_grow": 60, "into": "mon_stag_beetle_mega" }, - "reproduction": { "baby_egg": "egg_stag_beetle", "baby_count": 1, "baby_timer": 32 }, + "reproduction": { "baby_type": { "baby_egg": "egg_stag_beetle" }, "baby_count": 1, "baby_timer": 32 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "zombify_into": "mon_meat_cocoon_large", "flags": [ @@ -3484,7 +3484,7 @@ "weakpoints": [ { "name": "a foul scar in the chitin", "armor_mult": { "physical": 0.33 }, "coverage": 20 } ], "harvest": "arachnid_beetle_mega", "dissect": "dissect_insect_sample_huge", - "reproduction": { "baby_egg": "egg_stag_beetle", "baby_count": 1, "baby_timer": 364 }, + "reproduction": { "baby_type": { "baby_egg": "egg_stag_beetle" }, "baby_count": 1, "baby_timer": 364 }, "zombify_into": "mon_meat_cocoon_large", "upgrades": false, "armor": { "acid": 18, "heat": 8, "bash": 86, "cut": 100, "bullet": 75 } @@ -3597,7 +3597,7 @@ "vision_night": 5, "harvest": "arachnid_flying", "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_egg": "egg_antlion", "baby_count": 1, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_antlion" }, "baby_count": 1, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "anger_triggers": [ "HURT" ], "fear_triggers": [ "PLAYER_CLOSE", "FIRE" ], @@ -3648,7 +3648,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_egg": "egg_strider", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_strider" }, "baby_count": 3, "baby_timer": 10 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "anger_triggers": [ "PLAYER_WEAK" ], "fear_triggers": [ "FIRE", "PLAYER_CLOSE" ], @@ -3714,7 +3714,7 @@ "weakpoint_sets": [ "wps_arthropod", "wps_arthropod_flying" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug", "prof_wp_flying" ], "biosignature": { "biosig_item": "insect_dust", "biosig_timer": 3 }, - "reproduction": { "baby_egg": "egg_butterfly", "baby_count": 1, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_butterfly" }, "baby_count": 1, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "HURT", "FIRE" ], "zombify_into": "mon_meat_cocoon_small", @@ -3780,7 +3780,7 @@ "weakpoint_sets": [ "wps_arthropod", "wps_arthropod_flying" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug", "prof_wp_flying" ], "biosignature": { "biosig_item": "insect_dust", "biosig_timer": 3 }, - "reproduction": { "baby_egg": "egg_moth", "baby_count": 1, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_moth" }, "baby_count": 1, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "HURT", "FIRE" ], "zombify_into": "mon_meat_cocoon_small", @@ -3937,7 +3937,7 @@ "dissect": "dissect_insect_sample_large", "weakpoint_sets": [ "wps_arthropod", "wps_arthropod_flying" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug", "prof_wp_flying" ], - "reproduction": { "baby_egg": "egg_cicada", "baby_count": 3, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_cicada" }, "baby_count": 3, "baby_timer": 20 }, "baby_flags": [ "SUMMER" ], "special_attacks": [ [ "SHRIEK_STUN", 5 ] ], "anger_triggers": [ "HURT" ], @@ -3968,7 +3968,7 @@ "dissect": "dissect_crustacean_single", "weakpoint_sets": [ "wps_arthropod" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], - "reproduction": { "baby_monster": "mon_woodlouse_manca", "baby_count": 5, "baby_timer": 210 }, + "reproduction": { "baby_type": { "baby_monster": "mon_woodlouse_manca" }, "baby_count": 5, "baby_timer": 210 }, "fear_triggers": [ "FIRE", "HURT" ], "zombify_into": "mon_meat_cocoon_small", "special_attacks": [ [ "GRAZE", 100 ] ], @@ -4046,7 +4046,7 @@ "dissect": "dissect_insect_sample_single", "weakpoint_sets": [ "wps_arthropod", "wps_arthropod_beetle" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug", "prof_wp_beetle" ], - "reproduction": { "baby_egg": "egg_water_beetle", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_water_beetle" }, "baby_count": 3, "baby_timer": 15 }, "anger_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "HURT" ], "fear_triggers": [ "FIRE" ], "flags": [ "SEES", "HEARS", "GOODHEARING", "SWIMS", "WATER_CAMOUFLAGE" ], @@ -4081,7 +4081,7 @@ "dissect": "dissect_insect_sample_single", "weakpoint_sets": [ "wps_arthropod" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], - "reproduction": { "baby_egg": "egg_water_bug", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_water_bug" }, "baby_count": 3, "baby_timer": 10 }, "anger_triggers": [ "PLAYER_WEAK", "PLAYER_CLOSE" ], "fear_triggers": [ "HURT" ], "flags": [ "SEES", "HEARS", "SMELLS", "SWIMS", "AQUATIC" ], diff --git a/data/json/monsters/kraken_spawn.json b/data/json/monsters/kraken_spawn.json index 076a6db921e0c..ef021eb849faf 100644 --- a/data/json/monsters/kraken_spawn.json +++ b/data/json/monsters/kraken_spawn.json @@ -32,7 +32,7 @@ "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology" ], "harvest": "kraken", "dissect": "dissect_cephalopod_sample_small", - "reproduction": { "baby_monster": "mon_octupus_stalker_spawn", "baby_count": 1, "baby_timer": 700 }, + "reproduction": { "baby_type": { "baby_monster": "mon_octupus_stalker_spawn" }, "baby_count": 1, "baby_timer": 700 }, "baby_flags": [ "SPRING" ], "zombify_into": "mon_meat_cocoon_med", "flags": [ "SEES", "HEARS", "SMELLS", "SWIMS", "PATH_AVOID_DANGER", "WATER_CAMOUFLAGE", "WARM", "EATS" ], diff --git a/data/json/monsters/mammal.json b/data/json/monsters/mammal.json index 3ab7ec699b9b6..8641d705fe3b0 100644 --- a/data/json/monsters/mammal.json +++ b/data/json/monsters/mammal.json @@ -132,7 +132,7 @@ "harvest": "bear_with_skull", "dissect": "dissect_ursine_sample_small", "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology" ], - "reproduction": { "baby_monster": "mon_bear_cub", "baby_count": 1, "baby_timer": 700 }, + "reproduction": { "baby_type": { "baby_monster": "mon_bear_cub" }, "baby_count": 1, "baby_timer": 700 }, "//": "220 days gestation period, the mother and cubs remain together for 16-17 months.", "baby_flags": [ "SPRING" ], "special_attacks": [ [ "EAT_FOOD", 20 ], { "type": "bite", "cooldown": 15, "infection_chance": 44 }, [ "BROWSE", 40 ] ], @@ -324,7 +324,7 @@ "harvest": "boar_with_skull", "weakpoint_sets": [ "wps_animal_quadruped" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_ungulate" ], - "reproduction": { "baby_monster": "mon_boar_wild_piglet", "baby_count": 8, "baby_timer": 154 }, + "reproduction": { "baby_type": { "baby_monster": "mon_boar_wild_piglet" }, "baby_count": 8, "baby_timer": 154 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, "path_settings": { "max_dist": 10 }, @@ -430,7 +430,7 @@ "harvest": "cat_small_with_skull", "dissect": "dissect_feline_sample_single", "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology" ], - "reproduction": { "baby_monster": "mon_cat_kitten", "baby_count": 4, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cat_kitten" }, "baby_count": 4, "baby_timer": 60 }, "petfood": { "food": [ "CATFOOD" ], "feed": "The %s seems to like you! Or maybe it just tolerates your presence better. It's hard to tell with felines.", @@ -470,7 +470,7 @@ "volume": "5000 ml", "weight": "5 kg", "//": "Longer fur, more cold protection", - "reproduction": { "baby_monster": "mon_cat_longhair_kitten", "baby_count": 4, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cat_longhair_kitten" }, "baby_count": 4, "baby_timer": 60 }, "armor": { "cold": 4 } }, { @@ -491,7 +491,7 @@ "volume": "6100 ml", "weight": "6100 g", "hp": 16, - "reproduction": { "baby_monster": "mon_cat_maine_coon_kitten", "baby_count": 4, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cat_maine_coon_kitten" }, "baby_count": 4, "baby_timer": 60 }, "armor": { "cold": 4 } }, { @@ -509,7 +509,7 @@ "copy-from": "mon_cat", "name": { "str": "Siamese cat" }, "description": "This cat has the distinctive dark extremities of a Siamese, first native to Asia but a common domestic breed in North America.", - "reproduction": { "baby_monster": "mon_cat_siamese_kitten", "baby_count": 4, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_monster": "mon_cat_siamese_kitten" }, "baby_count": 4, "baby_timer": 60 } }, { "id": "mon_cat_siamese_kitten", @@ -527,7 +527,7 @@ "volume": "4100 ml", "weight": "4100 g", "description": "The short nose and rounded face of this cat suggest it comes from the popular Persian breed. Its fur is already matted without anyone being able to groom it.", - "reproduction": { "baby_monster": "mon_cat_persian_kitten", "baby_count": 4, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_monster": "mon_cat_persian_kitten" }, "baby_count": 4, "baby_timer": 60 } }, { "id": "mon_cat_persian_kitten", @@ -545,7 +545,7 @@ "description": "Looking like a spotted wild cat, the Bengal breed derives from the Asian leopard cat and Egyptian Mau. Domesticated but very energetic.", "volume": "4200 ml", "weight": "4200 g", - "reproduction": { "baby_monster": "mon_cat_bengal_kitten", "baby_count": 4, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_monster": "mon_cat_bengal_kitten" }, "baby_count": 4, "baby_timer": 60 } }, { "id": "mon_cat_bengal_kitten", @@ -563,7 +563,7 @@ "description": "An unusual-looking cat with strikingly large eyes and ears, sporting a soft curly coat of fur.", "volume": "3400 ml", "weight": "3400 g", - "reproduction": { "baby_monster": "mon_cat_devon_rex_kitten", "baby_count": 4, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_monster": "mon_cat_devon_rex_kitten" }, "baby_count": 4, "baby_timer": 60 } }, { "id": "mon_cat_devon_rex_kitten", @@ -580,7 +580,7 @@ "name": { "str": "Sphynx cat" }, "description": "The Sphynx cat has practically no fur on its body, exposing its curiously wrinkled skin.", "//": "No fur, no cold protection", - "reproduction": { "baby_monster": "mon_cat_sphynx_kitten", "baby_count": 4, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cat_sphynx_kitten" }, "baby_count": 4, "baby_timer": 60 }, "armor": { "cold": 0 } }, { @@ -597,7 +597,7 @@ "copy-from": "mon_cat", "name": { "str": "tabby cat" }, "description": "Marked with the characteristic 'M' on its forehead and decorated with swirling stripes, the tabby's markings provide excellent camouflage.", - "reproduction": { "baby_monster": "mon_cat_tabby_kitten", "baby_count": 4, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_monster": "mon_cat_tabby_kitten" }, "baby_count": 4, "baby_timer": 60 } }, { "id": "mon_cat_tabby_kitten", @@ -613,7 +613,7 @@ "copy-from": "mon_cat", "name": { "str": "calico cat" }, "description": "Partly white with patches of orange and black, the calico coloring tells you this cat is probably female. The calico was the Maryland state cat, back when there were still states.", - "reproduction": { "baby_monster": "mon_cat_calico_kitten", "baby_count": 4, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_monster": "mon_cat_calico_kitten" }, "baby_count": 4, "baby_timer": 60 } }, { "id": "mon_cat_calico_kitten", @@ -635,7 +635,7 @@ "speed": 100, "dodge": 5, "//": "Fat helps keeping their body warm", - "reproduction": { "baby_monster": "mon_cat_chonker_kitten", "baby_count": 4, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cat_chonker_kitten" }, "baby_count": 4, "baby_timer": 60 }, "armor": { "cold": 3 } }, { @@ -660,7 +660,7 @@ "copy-from": "mon_cat", "name": { "str": "black cat" }, "description": "A black ball of fur with prominent green eyes staring right into your soul.", - "reproduction": { "baby_monster": "mon_cat_black_kitten", "baby_count": 4, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_monster": "mon_cat_black_kitten" }, "baby_count": 4, "baby_timer": 60 } }, { "id": "mon_chipmunk", @@ -722,7 +722,7 @@ "harvest": "cougar_with_skull", "dissect": "dissect_feline_sample_small", "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology" ], - "reproduction": { "baby_monster": "mon_cougar_kitten", "baby_count": 6, "baby_timer": 92 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cougar_kitten" }, "baby_count": 6, "baby_timer": 92 }, "//": "Cougars can breed all year, but mainly do so between January and August, they can have between 1 to 6 kittens at a time.", "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "flags": [ "SEES", "HEARS", "GOODHEARING", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER", "WARM", "HIT_AND_RUN", "KEENNOSE" ], @@ -860,7 +860,7 @@ "dissect": "dissect_cattle_sample_small", "weakpoint_sets": [ "wps_animal_quadruped" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_ungulate" ], - "reproduction": { "baby_monster": "mon_cow_calf", "baby_count": 1, "baby_timer": 343 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cow_calf" }, "baby_count": 1, "baby_timer": 343 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_cow", "biosig_timer": 1 }, "special_attacks": [ [ "GRAZE", 20 ], [ "EAT_CROP", 60 ] ], @@ -911,7 +911,7 @@ "dodge": 4, "vision_night": 20, "path_settings": { "max_dist": 10 }, - "reproduction": { "baby_monster": "mon_coyote_pup", "baby_count": 4, "baby_timer": 63 }, + "reproduction": { "baby_type": { "baby_monster": "mon_coyote_pup" }, "baby_count": 4, "baby_timer": 63 }, "//": "Average litter size of 4 pups, with gestation taking 63 days, but pupping occurs only from March to May", "baby_flags": [ "SPRING" ], "anger_triggers": [ "STALK", "FRIEND_ATTACKED", "PLAYER_WEAK", "HURT", "PLAYER_CLOSE", "PLAYER_NEAR_BABY" ], @@ -1035,7 +1035,7 @@ "path_settings": { "max_dist": 10 }, "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], "zombify_into": "mon_zeer", - "reproduction": { "baby_monster": "mon_deer_fawn", "baby_count": 1, "baby_timer": 330 }, + "reproduction": { "baby_type": { "baby_monster": "mon_deer_fawn" }, "baby_count": 1, "baby_timer": 330 }, "//": " 201 days gestation period. The fawn will stay with its mother for approximately one year, suckling for three to four months.", "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 12 }, "baby_flags": [ "SPRING", "SUMMER" ], @@ -1076,7 +1076,7 @@ "weakpoint_sets": [ "wps_animal_quadruped" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_canine" ], "path_settings": { "max_dist": 10 }, - "reproduction": { "baby_monster": "mon_dog_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size small canines", "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "biosignature": { "biosig_item": "feces_dog", "biosig_timer": 6 }, @@ -1168,7 +1168,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 6 } ], "vision_night": 4, "harvest": "dog_with_skull_leather", - "reproduction": { "baby_monster": "mon_dog_bull_pup", "baby_count": 7, "baby_timer": 300 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_bull_pup" }, "baby_count": 7, "baby_timer": 300 }, "//": "7 puppies and 300-320 days per-litter for size medium canines" }, { @@ -1200,7 +1200,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 5 } ], "extend": { "special_attacks": [ [ "LUNGE", 5 ] ] }, "harvest": "dog_with_skull_leather", - "reproduction": { "baby_monster": "mon_dog_pitbullmix_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_pitbullmix_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size small canines" }, { @@ -1229,7 +1229,7 @@ "melee_dice_sides": 1, "stomach_size": 115, "melee_damage": [ { "damage_type": "cut", "amount": 2 } ], - "reproduction": { "baby_monster": "mon_dog_beagle_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_beagle_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size tiny canines" }, { @@ -1257,7 +1257,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "dodge": 4, "extend": { "special_attacks": [ [ "LUNGE", 5 ], { "type": "leap", "cooldown": 8, "max_range": 2 } ] }, - "reproduction": { "baby_monster": "mon_dog_bcollie_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_bcollie_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size small canines" }, { @@ -1290,7 +1290,7 @@ "harvest": "dog_with_skull_leather", "fear_triggers": [ "HURT" ], "extend": { "special_attacks": [ [ "LUNGE", 5 ] ] }, - "reproduction": { "baby_monster": "mon_dog_boxer_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_boxer_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size small canines" }, { @@ -1322,7 +1322,7 @@ "stomach_size": 115, "vision_night": 6, "harvest": "dog_tiny_with_skull", - "reproduction": { "baby_monster": "mon_dog_chihuahua_pup", "baby_count": 3, "baby_timer": 240 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_chihuahua_pup" }, "baby_count": 3, "baby_timer": 240 }, "//": "1-3 puppies & 240 days per-litter for size tiny canines" }, { @@ -1360,7 +1360,7 @@ "stomach_size": 115, "vision_night": 6, "harvest": "dog_small_with_skull_leather", - "reproduction": { "baby_monster": "mon_dog_dachshund_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_dachshund_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size small canines" }, { @@ -1393,7 +1393,7 @@ "vision_night": 6, "extend": { "special_attacks": [ [ "LUNGE", 5 ] ] }, "delete": { "flags": [ "HIT_AND_RUN" ] }, - "reproduction": { "baby_monster": "mon_dog_gshepherd_pup", "baby_count": 7, "baby_timer": 300 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_gshepherd_pup" }, "baby_count": 7, "baby_timer": 300 }, "//": "1-7 puppies & 300-320 days per-litter for size medium canines" }, { @@ -1429,7 +1429,7 @@ "vision_night": 6, "stomach_size": 650, "harvest": "dog_with_skull_fur", - "reproduction": { "baby_monster": "mon_dog_gpyrenees_pup", "baby_count": 7, "baby_timer": 320 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_gpyrenees_pup" }, "baby_count": 7, "baby_timer": 320 }, "//2": "1-7 puppies & 300-320 days per-litter for size medium canines" }, { @@ -1466,7 +1466,7 @@ "stomach_size": 650, "harvest": "dog_with_skull_leather", "extend": { "special_attacks": [ [ "LUNGE", 5 ] ] }, - "reproduction": { "baby_monster": "mon_dog_rottweiler_pup", "baby_count": 7, "baby_timer": 300 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_rottweiler_pup" }, "baby_count": 7, "baby_timer": 300 }, "//2": "1-7 puppies & 300-320 days per-litter for size medium canines" }, { @@ -1498,7 +1498,7 @@ "dodge": 4, "vision_night": 6, "extend": { "special_attacks": [ [ "LUNGE", 5 ], { "type": "leap", "cooldown": 8, "max_range": 2 } ] }, - "reproduction": { "baby_monster": "mon_dog_auscattle_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_auscattle_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size small canines" }, { @@ -1526,7 +1526,7 @@ "morale": 10, "aggression": -20, "stomach_size": 650, - "reproduction": { "baby_monster": "mon_dog_samoyed_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_samoyed_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size small canines" }, { @@ -1643,7 +1643,7 @@ "copy-from": "mon_rabbit_base", "volume": "7500 ml", "weight": "1500 g", - "reproduction": { "baby_monster": "mon_hare_baby", "baby_count": 3, "baby_timer": 37 } + "reproduction": { "baby_type": { "baby_monster": "mon_hare_baby" }, "baby_count": 3, "baby_timer": 37 } }, { "id": "mon_hare_baby", @@ -1738,7 +1738,7 @@ "dissect": "dissect_cattle_sample_small", "weakpoint_sets": [ "wps_animal_quadruped" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_ungulate" ], - "reproduction": { "baby_monster": "mon_horse_foal", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_horse_foal" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, "special_attacks": [ [ "EAT_CROP", 100 ], [ "GRAZE", 50 ] ], @@ -1854,7 +1854,7 @@ "anger_triggers": [ "HURT", "MATING_SEASON" ], "zombify_into": "mon_zoose", "baby_flags": [ "AUTUMN" ], - "reproduction": { "baby_monster": "mon_moose_calf", "baby_count": 1, "baby_timer": 154 }, + "reproduction": { "baby_type": { "baby_monster": "mon_moose_calf" }, "baby_count": 1, "baby_timer": 154 }, "upgrades": { "half_life": 90, "into": "mon_tusked_moose" }, "harvest": "moose_with_skull", "dissect": "dissect_cattle_sample_large", @@ -1934,7 +1934,7 @@ "path_settings": { "max_dist": 10 }, "anger_triggers": [ "HURT", "MATING_SEASON", "PLAYER_CLOSE" ], "baby_flags": [ "SPRING" ], - "reproduction": { "baby_monster": "mon_tusked_moose_calf", "baby_count": 1, "baby_timer": 104 }, + "reproduction": { "baby_type": { "baby_monster": "mon_tusked_moose_calf" }, "baby_count": 1, "baby_timer": 104 }, "//": "Baby mutant moose are born quicker that their natural counterparts since they are mutants and that way they can be seen a little more often.", "harvest": "tusked_moose_with_skull", "dissect": "dissect_cattle_sample_large", @@ -2201,7 +2201,7 @@ "harvest": "pig_with_skull", "weakpoint_sets": [ "wps_animal_quadruped" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_ungulate" ], - "reproduction": { "baby_monster": "mon_pig_piglet", "baby_count": 8, "baby_timer": 154 }, + "reproduction": { "baby_type": { "baby_monster": "mon_pig_piglet" }, "baby_count": 8, "baby_timer": 154 }, "//": "116 days gestation, 3-5 weeks until the piglets get weaned, 10-30 days of maturation", "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, @@ -2285,7 +2285,7 @@ "name": { "str": "domestic rabbit" }, "description": "A small mammal with a cute wiggling nose, a cotton ball tail, and a body made of delicious flesh.", "copy-from": "mon_rabbit_base", - "reproduction": { "baby_monster": "mon_rabbit_baby", "baby_count": 6, "baby_timer": 33 }, + "reproduction": { "baby_type": { "baby_monster": "mon_rabbit_baby" }, "baby_count": 6, "baby_timer": 33 }, "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." } }, { @@ -2305,7 +2305,7 @@ "copy-from": "mon_rabbit_base", "looks_like": "mon_rabbit", "weight": "1200 g", - "reproduction": { "baby_monster": "mon_wild_rabbit_baby", "baby_count": 5, "baby_timer": 28 } + "reproduction": { "baby_type": { "baby_monster": "mon_wild_rabbit_baby" }, "baby_count": 5, "baby_timer": 28 } }, { "id": "mon_wild_rabbit_baby", @@ -2449,7 +2449,7 @@ "dissect": "dissect_cattle_sample_single", "weakpoint_sets": [ "wps_animal_quadruped" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_ungulate" ], - "reproduction": { "baby_monster": "mon_sheep_lamb", "baby_count": 1, "baby_timer": 275 }, + "reproduction": { "baby_type": { "baby_monster": "mon_sheep_lamb" }, "baby_count": 1, "baby_timer": 275 }, "//": "Sheep are seasonal breeders. The natural sexual season is positioned so that lambs will be born in the spring when the weather is warmer and grass is available.", "baby_flags": [ "SPRING" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 3 }, @@ -2498,7 +2498,7 @@ "dodge": 3, "shearing": [ { "result": "wool_staple", "amount": 5 } ], "harvest": "goat_with_skull", - "reproduction": { "baby_monster": "mon_goat_kid", "baby_count": 1, "baby_timer": 275 }, + "reproduction": { "baby_type": { "baby_monster": "mon_goat_kid" }, "baby_count": 1, "baby_timer": 275 }, "//": "Timer copied from sheep", "baby_flags": [ "SPRING" ], "special_attacks": [ [ "EAT_CROP", 100 ], [ "GRAZE", 60 ] ], @@ -2633,7 +2633,7 @@ "dissect": "dissect_lupine_sample_single", "weakpoint_sets": [ "wps_animal_quadruped" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_canine" ], - "reproduction": { "baby_monster": "mon_wolf_pup", "baby_count": 6, "baby_timer": 365 }, + "reproduction": { "baby_type": { "baby_monster": "mon_wolf_pup" }, "baby_count": 6, "baby_timer": 365 }, "//": "Wolves breed once a year, 4 to 6 puppies in one litter.", "baby_flags": [ "SPRING" ], "path_settings": { "max_dist": 10 }, @@ -2703,7 +2703,7 @@ "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], "anger_triggers": [ "HURT", "MATING_SEASON" ], "zombify_into": "mon_zeindeer", - "reproduction": { "baby_monster": "mon_reindeer_fawn", "baby_count": 5, "baby_timer": 340 }, + "reproduction": { "baby_type": { "baby_monster": "mon_reindeer_fawn" }, "baby_count": 5, "baby_timer": 340 }, "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 12 }, "baby_flags": [ "WINTER", "AUTUMN" ], "special_attacks": [ [ "EAT_CROP", 60 ], [ "GRAZE", 60 ] ], @@ -2797,7 +2797,7 @@ "dissect": "dissect_cattle_sample_single", "weakpoint_sets": [ "wps_animal_quadruped" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_ungulate" ], - "reproduction": { "baby_monster": "mon_llama_calf", "baby_count": 1, "baby_timer": 275 }, + "reproduction": { "baby_type": { "baby_monster": "mon_llama_calf" }, "baby_count": 1, "baby_timer": 275 }, "//": "Llamas produce offspring between summer and fall according to internet sources, makes sense due to the southern hemisphere seasons.", "baby_flags": [ "FALL" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 3 }, @@ -2849,7 +2849,7 @@ "pet": "The %s lets out a happy squeak as you give its head a small scritch." }, "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology" ], - "reproduction": { "baby_monster": "mon_ferret_kit", "baby_count": 5, "baby_timer": 100 }, + "reproduction": { "baby_type": { "baby_monster": "mon_ferret_kit" }, "baby_count": 5, "baby_timer": 100 }, "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER", "SWIMS", "WARM", "CANPLAY", "CAN_BE_CULLED", "SMALL_HIDER" ] }, diff --git a/data/json/monsters/mollusk.json b/data/json/monsters/mollusk.json index 086f62c05e370..d4cae57fa9d61 100644 --- a/data/json/monsters/mollusk.json +++ b/data/json/monsters/mollusk.json @@ -116,7 +116,7 @@ "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], "harvest": "mutant_mollusk", "dissect": "dissect_gastropod_sample_small", - "reproduction": { "baby_egg": "egg_snail", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_snail" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "stomach_size": 1000, "special_attacks": [ [ "ACID", 10 ], [ "GRAZE", 130 ], [ "BROWSE", 130 ], [ "EAT_CROP", 130 ] ], @@ -216,7 +216,7 @@ "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], "harvest": "mutant_mollusk", "dissect": "dissect_gastropod_sample_small", - "reproduction": { "baby_egg": "egg_slug", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_slug" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "special_attacks": [ [ "ACID", 10 ], [ "GRAZE", 130 ], [ "BROWSE", 130 ], [ "EAT_CROP", 130 ] ], "anger_triggers": [ "PLAYER_CLOSE" ], diff --git a/data/json/monsters/mutant_mammal.json b/data/json/monsters/mutant_mammal.json index 1760334c9209b..b56853eafa9d5 100644 --- a/data/json/monsters/mutant_mammal.json +++ b/data/json/monsters/mutant_mammal.json @@ -193,7 +193,7 @@ "path_settings": { "max_dist": 10 }, "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], "zombify_into": "mon_meat_cocoon_small", - "reproduction": { "baby_monster": "mon_deer_mutant_spider_fawn", "baby_count": 1, "baby_timer": 330 }, + "reproduction": { "baby_type": { "baby_monster": "mon_deer_mutant_spider_fawn" }, "baby_count": 1, "baby_timer": 330 }, "//": " 201 days gestation period. The fawn will stay with its mother for approximately one year, suckling for three to four months.", "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 12 }, "baby_flags": [ "SPRING", "SUMMER" ], @@ -260,7 +260,7 @@ "melee_skill": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "vision_night": 7, - "reproduction": { "baby_monster": "mon_dog_mutant_loper_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_mutant_loper_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size small canines", "stomach_size": 400, "armor": { "bash": 1, "cut": 1 }, @@ -293,7 +293,7 @@ "morale": 12, "melee_skill": 4, "melee_damage": [ { "damage_type": "cut", "amount": 6 } ], - "reproduction": { "baby_monster": "mon_dog_mutant_mauler_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_mutant_mauler_pup" }, "baby_count": 4, "baby_timer": 270 }, "//": "1-4 puppies & 270 days per-litter for size small canines", "special_attacks": [ { @@ -335,7 +335,7 @@ "melee_skill": 4, "melee_damage": [ { "damage_type": "cut", "amount": 5 } ], "grab_strength": 15, - "reproduction": { "baby_monster": "mon_dog_mutant_thrasher_pup", "baby_count": 6, "baby_timer": 220 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_mutant_thrasher_pup" }, "baby_count": 6, "baby_timer": 220 }, "//": "1-4 puppies & 270 days per-litter for size small canines", "special_attacks": [ { diff --git a/data/json/monsters/nether.json b/data/json/monsters/nether.json index a15ef9fbd2850..88e9fba3faec5 100644 --- a/data/json/monsters/nether.json +++ b/data/json/monsters/nether.json @@ -2029,7 +2029,7 @@ "families": [ "prof_wp_netherium_abomination" ], "weakpoint_sets": [ "wps_netherium_abomination" ], "harvest": "mutant_mammal_leather", - "reproduction": { "baby_monster": "mon_carrion_grub", "baby_count": 1, "baby_timer": 330 }, + "reproduction": { "baby_type": { "baby_monster": "mon_carrion_grub" }, "baby_count": 1, "baby_timer": 330 }, "anger_triggers": [ "PLAYER_WEAK", "PLAYER_CLOSE", "FRIEND_ATTACKED" ], "flags": [ "SEES", "SMELLS", "HEARS", "WARM", "IMMOBILE", "ANIMAL" ] }, @@ -2115,7 +2115,7 @@ "families": [ "prof_wp_netherium_abomination" ], "weakpoint_sets": [ "wps_netherium_abomination" ], "harvest": "mutant_animal_large_noskin", - "reproduction": { "baby_monster": "mon_nether_leech", "baby_count": 1, "baby_timer": 330 }, + "reproduction": { "baby_type": { "baby_monster": "mon_nether_leech" }, "baby_count": 1, "baby_timer": 330 }, "flags": [ "SMELLS" ] }, { diff --git a/data/json/monsters/reptile_amphibian.json b/data/json/monsters/reptile_amphibian.json index 0d2f6e3dce31b..aba9c78842bd0 100644 --- a/data/json/monsters/reptile_amphibian.json +++ b/data/json/monsters/reptile_amphibian.json @@ -131,7 +131,7 @@ "special_attacks": [ [ "RATTLE", 6 ] ], "anger_triggers": [ "PLAYER_CLOSE" ], "fear_triggers": [ "HURT" ], - "reproduction": { "baby_monster": "mon_rattlesnake_s", "baby_count": 10, "baby_timer": 135 }, + "reproduction": { "baby_type": { "baby_monster": "mon_rattlesnake_s" }, "baby_count": 10, "baby_timer": 135 }, "baby_flags": [ "SUMMER" ], "//babies": "On average, a female rattlesnake gives birth to at least eight babies, up to around fifteen. Most baby rattlesnakes are born in the early summer, but sometimes in late summer and early autumn.", "extend": { "flags": [ "BADVENOM" ] } @@ -143,7 +143,7 @@ "description": "A common species of snake found all across North America.", "copy-from": "mon_snake_abstract", "default_faction": "snake_tiny_aquatic", - "reproduction": { "baby_monster": "mon_gartersnake_baby", "baby_count": 10, "baby_timer": 90 }, + "reproduction": { "baby_type": { "baby_monster": "mon_gartersnake_baby" }, "baby_count": 10, "baby_timer": 90 }, "//": "The numbers here can technically go up to 80 snakelets, with averages reaching 40, but lets be honest the game couldn't handle that.", "baby_flags": [ "SUMMER" ] }, @@ -170,7 +170,7 @@ "speed": 70, "vision_day": 6, "vision_night": 6, - "reproduction": { "baby_egg": "egg_wormsnake", "baby_count": 8, "baby_timer": 50 }, + "reproduction": { "baby_type": { "baby_egg": "egg_wormsnake" }, "baby_count": 8, "baby_timer": 50 }, "biosignature": { "biosig_item": "shed_snakeskin_little", "biosig_timer": 180 }, "extend": { "flags": [ "CAN_DIG" ], "fear_triggers": [ "SOUND", "BRIGHT_LIGHT" ] } }, @@ -193,7 +193,7 @@ "volume": "370 ml", "weight": "370 g", "hp": 2, - "reproduction": { "baby_egg": "egg_turtle_painted", "baby_count": 8, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_turtle_painted" }, "baby_count": 8, "baby_timer": 40 }, "baby_flags": [ "SUMMER" ] }, { @@ -220,7 +220,7 @@ "melee_dice_sides": 6, "melee_damage": [ { "damage_type": "cut", "amount": 3 } ], "anger_triggers": [ "PLAYER_CLOSE" ], - "reproduction": { "baby_egg": "egg_turtle_snapping_common", "baby_count": 25, "baby_timer": 103 }, + "reproduction": { "baby_type": { "baby_egg": "egg_turtle_snapping_common" }, "baby_count": 25, "baby_timer": 103 }, "//": "Similar to the garter snake, we're reaching 80 at maximum estimates, but that is a deeply unserious amount of baby turtles for the game to handle.", "baby_flags": [ "SUMMER" ] }, @@ -263,7 +263,7 @@ "harvest": "mammal_tiny", "dissect": "dissect_lizard_sample_single", "fear_triggers": [ "PLAYER_CLOSE", "HURT", "SOUND" ], - "reproduction": { "baby_egg": "egg_skink_fivelined", "baby_count": 18, "baby_timer": 55 }, + "reproduction": { "baby_type": { "baby_egg": "egg_skink_fivelined" }, "baby_count": 18, "baby_timer": 55 }, "baby_flags": [ "SUMMER" ], "flags": [ "SEES", "HEARS", "SMELLS", "HARDTOSHOOT", "PATH_AVOID_DANGER", "ANIMAL" ] }, @@ -303,7 +303,7 @@ "damage_max_instance": [ { "damage_type": "stab", "amount": 8, "armor_multiplier": 0.8 } ] } ], - "reproduction": { "baby_monster": "mon_rattlesnake_s", "baby_count": 13, "baby_timer": 240 }, + "reproduction": { "baby_type": { "baby_monster": "mon_rattlesnake_s" }, "baby_count": 13, "baby_timer": 240 }, "baby_flags": [ "AUTUMN", "SUMMER" ], "upgrades": { "half_life": 65, "into": "mon_rattlesnake_giant" }, "biosignature": { "biosig_item": "shed_snakeskin_big", "biosig_timer": 180 }, @@ -370,7 +370,7 @@ ], "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "placate_triggers": [ "PLAYER_WEAK" ], - "reproduction": { "baby_monster": "mon_rattlesnake_big_s", "baby_count": 15, "baby_timer": 120 }, + "reproduction": { "baby_type": { "baby_monster": "mon_rattlesnake_big_s" }, "baby_count": 15, "baby_timer": 120 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "upgrades": { "half_life": 80, "into": "mon_rattlesnake_mega" }, "biosignature": { "biosig_item": "shed_snakeskin_giant", "biosig_timer": 180 }, @@ -423,7 +423,7 @@ ], "regenerates": 2, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], - "reproduction": { "baby_monster": "mon_rattlesnake_big_s", "baby_count": 20, "baby_timer": 90 }, + "reproduction": { "baby_type": { "baby_monster": "mon_rattlesnake_big_s" }, "baby_count": 20, "baby_timer": 90 }, "//babies": "Rattlesnake's gestation period is around 90 days, but it varies depending on the breed. The timber rattlesnake has a gestation period of up to five months.", "//babies2": "Deathrattle is heavily mutated, so a short gestation period and all-year large clutch birth are plausible", "zombify_into": "mon_meat_cocoon_large", @@ -771,7 +771,7 @@ "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 } + "reproduction": { "baby_type": { "baby_egg": "egg_leo_frog" }, "baby_count": 6, "baby_timer": 20 } }, { "id": "mon_pattern_frog", @@ -782,7 +782,7 @@ "categories": [ "NULL" ], "harvest": "mutant_tiny", "upgrades": { "age_grow": 15, "into": "mon_pattern_bigfrog" }, - "reproduction": { "baby_egg": "egg_pattern_frog", "baby_count": 6, "baby_timer": 20 }, + "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." }, { @@ -796,7 +796,7 @@ "hp": 4, "color": "green", "harvest": "bullfrog", - "reproduction": { "baby_egg": "egg_bullfrog_frog", "baby_count": 16, "baby_timer": 26 } + "reproduction": { "baby_type": { "baby_egg": "egg_bullfrog_frog" }, "baby_count": 16, "baby_timer": 26 } }, { "id": "mon_strange_frog", @@ -817,7 +817,7 @@ "copy-from": "mon_proxy_frog", "description": "Fowler's toads secrete a harmful and distasteful compound from their backs. This helps safeguard them from predators and also gives them a distinctive odor like boiled peanuts.", "name": { "str": "Fowler's toad" }, - "reproduction": { "baby_egg": "egg_fowler_toad", "baby_count": 8, "baby_timer": 36 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fowler_toad" }, "baby_count": 8, "baby_timer": 36 }, "extend": { "flags": [ "POISON" ] } }, { @@ -838,7 +838,7 @@ "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 }, + "reproduction": { "baby_type": { "baby_egg": "egg_freedom_toad" }, "baby_count": 8, "baby_timer": 36 }, "extend": { "flags": [ "POISON" ] } }, { @@ -864,7 +864,7 @@ "weight": "4 g", "hp": 1, "special_attacks": [ [ "PARROT", 30 ], { "type": "leap", "cooldown": 32, "max_range": 4, "allow_no_target": true } ], - "reproduction": { "baby_egg": "egg_peeper_frog", "baby_count": 8, "baby_timer": 20 } + "reproduction": { "baby_type": { "baby_egg": "egg_peeper_frog" }, "baby_count": 8, "baby_timer": 20 } }, { "id": "mon_vocal_frog", @@ -886,7 +886,7 @@ "weight": "10 g", "hp": 2, "color": "light_gray", - "reproduction": { "baby_egg": "egg_gray_frog", "baby_count": 8, "baby_timer": 26 }, + "reproduction": { "baby_type": { "baby_egg": "egg_gray_frog" }, "baby_count": 8, "baby_timer": 26 }, "extend": { "flags": [ "CAMOUFLAGE" ] } }, { @@ -909,7 +909,7 @@ "weight": "10 g", "hp": 2, "color": "green", - "reproduction": { "baby_egg": "egg_mink_frog", "baby_count": 8, "baby_timer": 26 } + "reproduction": { "baby_type": { "baby_egg": "egg_mink_frog" }, "baby_count": 8, "baby_timer": 26 } }, { "id": "mon_tail_frog", @@ -929,7 +929,7 @@ "volume": "150 ml", "weight": "10 g", "hp": 2, - "reproduction": { "baby_egg": "egg_pickerel_frog", "baby_count": 8, "baby_timer": 26 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pickerel_frog" }, "baby_count": 8, "baby_timer": 26 }, "extend": { "flags": [ "POISON" ] } }, { @@ -953,7 +953,7 @@ "weight": "10 g", "hp": 2, "color": "green", - "reproduction": { "baby_egg": "egg_green_frog", "baby_count": 8, "baby_timer": 20 } + "reproduction": { "baby_type": { "baby_egg": "egg_green_frog" }, "baby_count": 8, "baby_timer": 20 } }, { "id": "mon_wood_frog", @@ -964,7 +964,7 @@ "volume": "150 ml", "weight": "10 g", "hp": 2, - "reproduction": { "baby_egg": "egg_wood_frog", "baby_count": 8, "baby_timer": 36 } + "reproduction": { "baby_type": { "baby_egg": "egg_wood_frog" }, "baby_count": 8, "baby_timer": 36 } }, { "id": "mon_spade_frog", @@ -975,7 +975,7 @@ "volume": "150 ml", "weight": "10 g", "hp": 2, - "reproduction": { "baby_egg": "egg_spade_frog", "baby_count": 8, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spade_frog" }, "baby_count": 8, "baby_timer": 20 }, "baby_flags": [ "SPRING", "SUMMER", "FALL", "WINTER" ], "extend": { "flags": [ "POISON" ] } }, @@ -1081,7 +1081,7 @@ "aggression": 0, "upgrades": { "age_grow": 30, "into_group": "GROUP_FROGS_UPGRADE_STRANGE" }, "zombify_into": "mon_zombullfrog", - "reproduction": { "baby_egg": "egg_strange_bigfrog", "baby_count": 12, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_strange_bigfrog" }, "baby_count": 12, "baby_timer": 20 }, "delete": { "flags": [ "SWARMS" ] } }, { @@ -1093,7 +1093,7 @@ "aggression": 0, "upgrades": { "age_grow": 30, "into_group": "GROUP_FROGS_UPGRADE_ODD" }, "zombify_into": "mon_toad_zombie", - "reproduction": { "baby_egg": "egg_odd_bigfrog", "baby_count": 12, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_odd_bigfrog" }, "baby_count": 12, "baby_timer": 20 }, "extend": { "flags": [ "POISON" ] }, "delete": { "flags": [ "SWARMS" ] } }, @@ -1117,7 +1117,7 @@ "special_when_hit": [ "ZAPBACK", 100 ], "upgrades": { "age_grow": 30, "into_group": "GROUP_FROGS_UPGRADE_PATTERN" }, "zombify_into": "mon_frog_shocker", - "reproduction": { "baby_egg": "egg_pattern_bigfrog", "baby_count": 12, "baby_timer": 20 } + "reproduction": { "baby_type": { "baby_egg": "egg_pattern_bigfrog" }, "baby_count": 12, "baby_timer": 20 } }, { "id": "mon_foul_bigfrog", @@ -1157,7 +1157,7 @@ ], "upgrades": { "age_grow": 30, "into_group": "GROUP_FROGS_UPGRADE_FOUL" }, "zombify_into": "mon_toad_zombie", - "reproduction": { "baby_egg": "egg_foul_bigfrog", "baby_count": 12, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_foul_bigfrog" }, "baby_count": 12, "baby_timer": 20 }, "extend": { "flags": [ "POISON", "NO_BREATHE" ] }, "//": "When possible, add an AOE burst & temporary trail of slippery, toxic grease on several hour cooldown. The toad can expel grease like a squid with ink. The grease offgasses into something between tear gas and a blister agent, hence the smell. NO_BREATHE flag is to prevent self-gassing." }, @@ -1201,7 +1201,7 @@ "fear_triggers": [ "HURT", "FRIEND_DIED", "FIRE", "SOUND" ], "anger_triggers": [ "PLAYER_CLOSE", "MATING_SEASON" ], "zombify_into": "mon_zombtreefrog", - "reproduction": { "baby_egg": "egg_vocal_frog", "baby_count": 12, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_vocal_frog" }, "baby_count": 12, "baby_timer": 20 }, "delete": { "flags": [ "SWARMS" ] }, "harvest": "bullfrog", "//": "Give climbing (Z axis) ability when available." @@ -1249,7 +1249,7 @@ "armor": { "bash": 5, "acid": 2, "heat": 5, "electric": 4 }, "vision_night": 35, "zombify_into": "mon_frog_shadow", - "reproduction": { "baby_egg": "egg_shift_frog", "baby_count": 12, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_shift_frog" }, "baby_count": 12, "baby_timer": 20 }, "extend": { "flags": [ "CAMOUFLAGE" ] }, "//": "Give climbing (Z axis) ability when available." }, @@ -1321,7 +1321,7 @@ "color": "light_green", "upgrades": { "age_grow": 45, "into_group": "GROUP_FROGS_UPGRADE_STRANGE_MEGA" }, "zombify_into": "mon_zombullfrog", - "reproduction": { "baby_egg": "egg_strange_bigfrog", "baby_count": 18, "baby_timer": 20 } + "reproduction": { "baby_type": { "baby_egg": "egg_strange_bigfrog" }, "baby_count": 18, "baby_timer": 20 } }, { "id": "mon_odd_giganfrog", @@ -1331,7 +1331,7 @@ "copy-from": "mon_proxy_giganfrog", "upgrades": { "age_grow": 45, "into_group": "GROUP_FROGS_UPGRADE_ODD_MEGA" }, "zombify_into": "mon_toad_zombie", - "reproduction": { "baby_egg": "egg_odd_bigfrog", "baby_count": 18, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_odd_bigfrog" }, "baby_count": 18, "baby_timer": 20 }, "extend": { "flags": [ "POISON" ] } }, { @@ -1379,7 +1379,7 @@ "special_when_hit": [ "ZAPBACK", 100 ], "anger_triggers": [ "PLAYER_WEAK", "PLAYER_CLOSE", "MATING_SEASON", "FRIEND_ATTACKED" ], "zombify_into": "mon_frog_shocker", - "reproduction": { "baby_egg": "egg_pattern_bigfrog", "baby_count": 18, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pattern_bigfrog" }, "baby_count": 18, "baby_timer": 20 }, "extend": { "flags": [ "SWARMS" ] } }, { @@ -1421,7 +1421,7 @@ "anger_triggers": [ "PLAYER_WEAK", "PLAYER_CLOSE", "MATING_SEASON", "FRIEND_ATTACKED" ], "upgrades": { "age_grow": 45, "into_group": "GROUP_FROGS_UPGRADE_FOUL_MEGA" }, "zombify_into": "mon_toad_zombie", - "reproduction": { "baby_egg": "egg_foul_bigfrog", "baby_count": 18, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_foul_bigfrog" }, "baby_count": 18, "baby_timer": 20 }, "extend": { "flags": [ "POISON", "NO_BREATHE", "SWARMS" ] }, "//": "When possible, add ability to dig furrows (lines of shallow pits) and wallow. NO_BREATHE flag is to prevent gassing by younger of its kind." }, @@ -1516,7 +1516,7 @@ [ "SHRIEK_STUN", 5 ] ], "zombify_into": "mon_frog_dad", - "reproduction": { "baby_egg": "egg_strange_bigfrog", "baby_count": 32, "baby_timer": 20 } + "reproduction": { "baby_type": { "baby_egg": "egg_strange_bigfrog" }, "baby_count": 32, "baby_timer": 20 } }, { "id": "mon_odd_megafrog", @@ -1526,7 +1526,7 @@ "copy-from": "mon_proxy_megafrog", "armor": { "bash": 18, "cut": 18, "bullet": 12, "electric": 4 }, "zombify_into": "mon_toad_wart", - "reproduction": { "baby_egg": "egg_odd_bigfrog", "baby_count": 32, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_odd_bigfrog" }, "baby_count": 32, "baby_timer": 20 }, "extend": { "flags": [ "POISON" ] }, "//": "Simple wallowing, likes to create deep pits and lay in them." }, @@ -1586,7 +1586,7 @@ ], "anger_triggers": [ "PLAYER_WEAK", "PLAYER_CLOSE", "MATING_SEASON", "FRIEND_ATTACKED" ], "zombify_into": "mon_toad_bone", - "reproduction": { "baby_egg": "egg_foul_bigfrog", "baby_count": 32, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_foul_bigfrog" }, "baby_count": 32, "baby_timer": 20 }, "extend": { "flags": [ "POISON", "NO_BREATHE" ] }, "//": "When possible, add ability to dig furrows (lines of shallow pits) and wallow. NO_BREATHE flag is to prevent gassing by younger of its kind." } diff --git a/data/mods/Aftershock/mobs/PrepPhyle_mobs.json b/data/mods/Aftershock/mobs/PrepPhyle_mobs.json index 55108ac45fe00..5eb4499fa336c 100644 --- a/data/mods/Aftershock/mobs/PrepPhyle_mobs.json +++ b/data/mods/Aftershock/mobs/PrepPhyle_mobs.json @@ -23,7 +23,7 @@ "vision_night": 8, "harvest": "CBM_DOG", "dissect": "dissect_CBM_DOG", - "reproduction": { "baby_monster": "afs_mon_cyber_mastiff_pup", "baby_count": 7, "baby_timer": 320 }, + "reproduction": { "baby_type": { "baby_monster": "afs_mon_cyber_mastiff_pup" }, "baby_count": 7, "baby_timer": 320 }, "//2": "1-7 puppies & 300-320 days per-litter for size medium canines", "flags": [ "ANIMAL", "PET_MOUNTABLE", "HEARS", "HIT_AND_RUN", "KEENNOSE", "PATH_AVOID_DANGER", "SEES", "SMELLS", "WARM" ], "anger_triggers": [ "FRIEND_DIED", "FRIEND_ATTACKED", "HURT" ], diff --git a/data/mods/Aftershock/mobs/aliens.json b/data/mods/Aftershock/mobs/aliens.json index 0a1d728fba5a7..b26c970740668 100644 --- a/data/mods/Aftershock/mobs/aliens.json +++ b/data/mods/Aftershock/mobs/aliens.json @@ -19,7 +19,7 @@ "morale": -7, "melee_damage": [ { "damage_type": "cut", "amount": 0 } ], "dodge": 6, - "reproduction": { "baby_monster": "afs_mon_rabbit", "baby_count": 3, "baby_timer": 55 }, + "reproduction": { "baby_type": { "baby_monster": "afs_mon_rabbit" }, "baby_count": 3, "baby_timer": 55 }, "harvest": "alien_small_fur", "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, diff --git a/data/mods/Aftershock/mobs/uplifted_monsters.json b/data/mods/Aftershock/mobs/uplifted_monsters.json index 4a98ca1824bf6..514d72c8c18b2 100644 --- a/data/mods/Aftershock/mobs/uplifted_monsters.json +++ b/data/mods/Aftershock/mobs/uplifted_monsters.json @@ -52,7 +52,7 @@ "harvest": "demihuman_large_fur", "families": [ "prof_wp_demihuman" ], "weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_body_armor", "wps_humanoid_open_helmet" ], - "reproduction": { "baby_monster": "mon_uplifted_bear_cub", "baby_count": 1, "baby_timer": 700 }, + "reproduction": { "baby_type": { "baby_monster": "mon_uplifted_bear_cub" }, "baby_count": 1, "baby_timer": 700 }, "baby_flags": [ "SPRING" ], "flags": [ "SEES", "HEARS", "SMELLS", "HAS_MIND", "ANIMAL", "PATH_AVOID_DANGER", "WARM", "BASHES", "ATTACKMON" ], "armor": { "bash": 2 } @@ -166,7 +166,7 @@ "harvest": "demihuman", "families": [ "prof_wp_demihuman" ], "weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_body_armor" ], - "reproduction": { "baby_monster": "mon_uplifted_octopus_spawn", "baby_count": 1, "baby_timer": 700 }, + "reproduction": { "baby_type": { "baby_monster": "mon_uplifted_octopus_spawn" }, "baby_count": 1, "baby_timer": 700 }, "baby_flags": [ "SPRING" ], "flags": [ "SEES", "HEARS", "SMELLS", "HAS_MIND", "SWIMS", "PATH_AVOID_DANGER", "WARM", "ATTACKMON" ], "armor": { "bash": 2 } diff --git a/data/mods/Defense_Mode/monsters.json b/data/mods/Defense_Mode/monsters.json index 75e005fc8327b..276db4a7b4b4d 100644 --- a/data/mods/Defense_Mode/monsters.json +++ b/data/mods/Defense_Mode/monsters.json @@ -40,7 +40,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_web", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_web" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "fungalize_into": "mon_spider_fungus", "anger_triggers": [ "PLAYER_WEAK", "PLAYER_CLOSE" ], @@ -91,7 +91,7 @@ "vision_night": 18, "harvest": "arachnid_spider", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_cellar", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_cellar" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "path_settings": { "max_dist": 50, "avoid_sharp": true }, "fungalize_into": "mon_spider_fungus", @@ -130,7 +130,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_widow", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_widow" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "fungalize_into": "mon_spider_fungus", "upgrades": { "half_life": 42, "into": "mon_spider_widow_mega" }, @@ -170,7 +170,7 @@ "vision_night": 5, "harvest": "arachnid", "dissect": "dissect_spider_sample_single", - "reproduction": { "baby_egg": "egg_spider_jumping", "baby_count": 3, "baby_timer": 15 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spider_jumping" }, "baby_count": 3, "baby_timer": 15 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "special_attacks": [ { diff --git a/data/mods/DinoMod/monsters/dinosaur.json b/data/mods/DinoMod/monsters/dinosaur.json index 6f4fb2334889d..792b886dd7109 100644 --- a/data/mods/DinoMod/monsters/dinosaur.json +++ b/data/mods/DinoMod/monsters/dinosaur.json @@ -26,7 +26,7 @@ "dodge": 5, "hp": 15, "description": "Smaller, thin predatory bipedal dinosaur with feathers, a long neck and head and sharp teeth and claws.", - "reproduction": { "baby_egg": "egg_tawa", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tawa" }, "baby_count": 3, "baby_timer": 24 }, "extend": { "flags": [ "SWARMS", "GROUP_MORALE" ] }, "death_drops": { }, "stomach_size": 300, @@ -53,7 +53,7 @@ "dodge": 4, "hp": 20, "description": "Smaller, thin predatory bipedal dinosaur with a long head and sharp teeth and long grasping claws.", - "reproduction": { "baby_egg": "egg_coelophysis", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_coelophysis" }, "baby_count": 3, "baby_timer": 24 }, "extend": { "flags": [ "SWARMS", "GROUP_MORALE" ] }, "death_drops": { }, "stomach_size": 400, @@ -86,7 +86,7 @@ "hp": 100, "zombify_into": "mon_zilophosaurus", "description": "A medium dinosaur with sharp teeth and two prominent bony crests on its head.", - "reproduction": { "baby_egg": "egg_dilophosaurus", "baby_count": 3, "baby_timer": 18 }, + "reproduction": { "baby_type": { "baby_egg": "egg_dilophosaurus" }, "baby_count": 3, "baby_timer": 18 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 2 }, "grab_strength": 15, @@ -125,7 +125,7 @@ "hp": 120, "zombify_into": "mon_zeratosaurus", "description": "A large, fast predatory bipedal dinosaur, decorated with three colorful horns on its head and dotted with bright skin bones with long sharp teeth and a long flexible tail.", - "reproduction": { "baby_egg": "egg_ceratosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_ceratosaurus" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 2 }, "grab_strength": 15, @@ -164,7 +164,7 @@ "hp": 425, "zombify_into": "mon_zpinosaurus", "description": "A huge dinosaur about the size of a small house, with a ferocious crocodile-like head and a sail on its back.", - "reproduction": { "baby_egg": "egg_spinosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_spinosaurus" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "grab_strength": 15, @@ -204,7 +204,7 @@ "hp": 300, "zombify_into": "mon_zorvosaurus", "description": "A large bipedal predator dinosaur with a large head, long sharp teeth, short strong arms, and long tail.", - "reproduction": { "baby_egg": "egg_torvosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_torvosaurus" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "grab_strength": 15, @@ -243,7 +243,7 @@ "hp": 170, "zombify_into": "mon_zallosaurus", "description": "A large bipedal dinosaur with a mouth full of sharp serrated teeth.", - "reproduction": { "baby_egg": "egg_allosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_allosaurus" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "grab_strength": 15, @@ -276,7 +276,7 @@ [ "EAT_CARRION", 60 ] ], "description": "Huge predatory bipedal dinosaur with a tall ridge running the length of its back covered with heavy muscles. Its teeth are curved and serrated like sawblades.", - "reproduction": { "baby_egg": "egg_acrocanthosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_acrocanthosaurus" }, "baby_count": 3, "baby_timer": 24 }, "harvest": "acrocanthosaurus", "armor": { "bash": 10 } }, @@ -296,7 +296,7 @@ "hp": 400, "zombify_into": "mon_ziganotosaurus", "description": "Gigantic predatory bipedal dinosaur with a wide, flat head and strong chin. Its teeth are curved and serrated like sawblades.", - "reproduction": { "baby_egg": "egg_giganotosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_giganotosaurus" }, "baby_count": 3, "baby_timer": 24 }, "harvest": "giganotosaurus" }, { @@ -319,7 +319,7 @@ [ "EAT_CARRION", 60 ] ], "description": "Huge predatory bipedal dinosaur with long claws and strong arms for grappling.", - "reproduction": { "baby_egg": "egg_siats", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_siats" }, "baby_count": 3, "baby_timer": 24 }, "harvest": "dino_large_pred" }, { @@ -335,7 +335,7 @@ "hp": 150, "zombify_into": "mon_zryptosaurus", "description": "Large sharp teeth and a lean frame, with long wicked claws and a feathered mullet and tail.", - "reproduction": { "baby_egg": "egg_dryptosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_dryptosaurus" }, "baby_count": 3, "baby_timer": 24 }, "grab_strength": 15, "special_attacks": [ { "id": "teeth_grab", "cooldown": 15 }, @@ -358,7 +358,7 @@ "hp": 150, "zombify_into": "mon_zappalachiosaurus", "description": "Enormous teeth, fierce eyes, and a powerful frame to drive it forward, with two small arms and a feathered mullet and tail. The snout is long with six ridges.", - "reproduction": { "baby_egg": "egg_appalachiosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_appalachiosaurus" }, "baby_count": 3, "baby_timer": 24 }, "special_attacks": [ { "id": "teeth_grab", "cooldown": 15 }, { "id": "teeth_pull", "cooldown": 15 }, @@ -382,7 +382,7 @@ "hp": 225, "zombify_into": "mon_zorgosaurus", "description": "Enormous teeth, fierce eyes, and a powerful frame to drive it forward, with two small arms and a feathered mullet and tail.", - "reproduction": { "baby_egg": "egg_gorgosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_gorgosaurus" }, "baby_count": 3, "baby_timer": 24 }, "special_attacks": [ { "id": "teeth_grab", "cooldown": 10 }, { "id": "teeth_rip", "cooldown": 10 }, @@ -419,7 +419,7 @@ "hp": 200, "zombify_into": "mon_zalbertosaurus", "description": "Enormous teeth, fierce eyes, and a powerful frame to drive it forward, with short arms and a feathered mullet and tail.", - "reproduction": { "baby_egg": "egg_albertosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_albertosaurus" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "flags": [ "SEES", "SMELLS", "HEARS", "EATS", "ANIMAL", "PATH_AVOID_DANGER", "BASHES", "DESTROYS", "WARM", "PUSH_MON" ], @@ -465,7 +465,7 @@ "vision_day": 36, "zombify_into": "mon_zianzhousaurus", "description": "This large, bipedal, feather-covered dinosaur has a long, gator-like mouth with sharp teeth.", - "reproduction": { "baby_egg": "egg_qianzhousaurus", "baby_count": 5, "baby_timer": 23 }, + "reproduction": { "baby_type": { "baby_egg": "egg_qianzhousaurus" }, "baby_count": 5, "baby_timer": 23 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 2 }, "grab_strength": 15, @@ -497,7 +497,7 @@ "hp": 150, "zombify_into": "mon_zanuqsaurus", "description": "Bipedal dinosaur with long sharp teeth in a massive jaw, fierce eyes, and a powerful frame to drive it forward, short arms, with a feathered white mullet and tail.", - "reproduction": { "baby_egg": "egg_nanuqsaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_nanuqsaurus" }, "baby_count": 3, "baby_timer": 24 }, "special_attacks": [ { "id": "teeth_puncture", "cooldown": 20 }, { "id": "teeth_pull", "cooldown": 10 }, @@ -520,7 +520,7 @@ "hp": 225, "zombify_into": "mon_zaspletosaurus", "description": "Bipedal dinosaur with long sharp teeth in a massive jaw, fierce eyes, and a powerful frame to drive it forward, short arms, with a feathered mullet and tail.", - "reproduction": { "baby_egg": "egg_daspletosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_daspletosaurus" }, "baby_count": 3, "baby_timer": 24 }, "special_attacks": [ { "id": "teeth_puncture", "cooldown": 10 }, { "id": "teeth_pull", "cooldown": 10 }, @@ -558,7 +558,7 @@ "hp": 400, "zombify_into": "mon_zyrannosaurus", "description": "Enormous teeth in a massive jaw, fierce eyes, and a powerful frame to drive it forward, short arms with large claws, with a feathered mullet and tail.", - "reproduction": { "baby_egg": "egg_tyrannosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tyrannosaurus" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "grab_strength": 20, @@ -615,7 +615,7 @@ "weakpoint_sets": [ "wps_dinosaur_body" ], "hp": 20, "description": "A fast moving bipedal dinosaur about the size of a turkey. Its teeth and claws are small but sharp.", - "reproduction": { "baby_egg": "egg_compsognathus", "baby_count": 3, "baby_timer": 6 }, + "reproduction": { "baby_type": { "baby_egg": "egg_compsognathus" }, "baby_count": 3, "baby_timer": 6 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 166 }, "petfood": { "food": [ "DINOFOOD_B" ] }, @@ -669,7 +669,7 @@ "hp": 110, "zombify_into": "mon_zallimimus", "description": "A feathered bipedal dinosaur, standing as tall as a human. It looks somewhat like a reptilian ostrich.", - "reproduction": { "baby_egg": "egg_gallimimus", "baby_count": 3, "baby_timer": 9 }, + "reproduction": { "baby_type": { "baby_egg": "egg_gallimimus" }, "baby_count": 3, "baby_timer": 9 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 2 }, "special_attacks": [ [ "EAT_CROP", 60 ], [ "EAT_FOOD", 60 ], [ "BROWSE", 50 ], [ "scratch", 20 ] ], @@ -703,7 +703,7 @@ "attack_cost": 180, "zombify_into": "mon_ztruthiomimus", "description": "A feathered bipedal dinosaur, standing as tall as a human. It looks somewhat like a reptilian ostrich with a long stiff tail.", - "reproduction": { "baby_egg": "egg_struthiomimus", "baby_count": 3, "baby_timer": 9 } + "reproduction": { "baby_type": { "baby_egg": "egg_struthiomimus" }, "baby_count": 3, "baby_timer": 9 } }, { "type": "MONSTER", @@ -717,7 +717,7 @@ "attack_cost": 160, "zombify_into": "mon_zornithomimus", "description": "A feathered bipedal dinosaur, standing as tall as a human. It looks somewhat like a reptilian ostrich with a small toothless beak and curved claws good for climbing.", - "reproduction": { "baby_egg": "egg_ornithomimus", "baby_count": 3, "baby_timer": 9 }, + "reproduction": { "baby_type": { "baby_egg": "egg_ornithomimus" }, "baby_count": 3, "baby_timer": 9 }, "extend": { "flags": [ "CLIMBS" ] } }, { @@ -748,7 +748,7 @@ "weakpoint_sets": [ "wps_dinosaur_body" ], "hp": 10, "description": "A small, feathered bipedal dinosaur with a long feathered tail.", - "reproduction": { "baby_egg": "egg_albertonykus", "baby_count": 3, "baby_timer": 9 }, + "reproduction": { "baby_type": { "baby_egg": "egg_albertonykus" }, "baby_count": 3, "baby_timer": 9 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 200 }, "petfood": { "food": [ "DINOFOOD_B" ] }, @@ -800,7 +800,7 @@ "hp": 100, "zombify_into": "mon_zalcarius", "description": "A feathered bipedal dinosaur with a long neck and tail. Long, sharp claws extend from its hands.", - "reproduction": { "baby_egg": "egg_falcarius", "baby_count": 3, "baby_timer": 9 }, + "reproduction": { "baby_type": { "baby_egg": "egg_falcarius" }, "baby_count": 3, "baby_timer": 9 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "special_attacks": [ [ "EAT_CROP", 100 ], [ "BROWSE", 100 ], { "id": "longswipe", "cooldown": 40 } ], @@ -854,7 +854,7 @@ "hp": 315, "zombify_into": "mon_zerizinosaurus", "description": "A huge feathered bipedal dinosaur with a pot belly, a long neck and a short tail. Long, sharp claws extend from its hands.", - "reproduction": { "baby_egg": "egg_therizinosaurus", "baby_count": 3, "baby_timer": 9 }, + "reproduction": { "baby_type": { "baby_egg": "egg_therizinosaurus" }, "baby_count": 3, "baby_timer": 9 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "special_attacks": [ [ "EAT_CROP", 20 ], [ "BROWSE", 50 ], { "id": "longswipe", "cooldown": 20 } ], @@ -908,7 +908,7 @@ "hp": 120, "zombify_into": "mon_zothronychus", "description": "A large feathered bipedal dinosaur with a pot belly and a long neck. Sharp claws extend from its dexterous hands.", - "reproduction": { "baby_egg": "egg_nothronychus", "baby_count": 3, "baby_timer": 9 }, + "reproduction": { "baby_type": { "baby_egg": "egg_nothronychus" }, "baby_count": 3, "baby_timer": 9 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "special_attacks": [ [ "EAT_CROP", 30 ], [ "BROWSE", 50 ], { "id": "longswipe", "cooldown": 25 } ], @@ -961,7 +961,7 @@ "hp": 100, "zombify_into": "mon_zanzu", "description": "A large feathered bipedal dinosaur with a long neck, a beak and a large head crest. Sharp claws extend from its dexterous hands.", - "reproduction": { "baby_egg": "egg_anzu", "baby_count": 3, "baby_timer": 9 }, + "reproduction": { "baby_type": { "baby_egg": "egg_anzu" }, "baby_count": 3, "baby_timer": 9 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 4 }, "special_attacks": [ [ "EAT_CROP", 30 ], [ "BROWSE", 50 ], { "id": "longswipe", "cooldown": 25 } ], @@ -1006,7 +1006,7 @@ [ "EAT_CARRION", 60 ], { "type": "leap", "cooldown": 15, "max_range": 5, "allow_no_target": true } ], - "reproduction": { "baby_egg": "egg_saurornitholestes", "baby_count": 3, "baby_timer": 18 } + "reproduction": { "baby_type": { "baby_egg": "egg_saurornitholestes" }, "baby_count": 3, "baby_timer": 18 } }, { "type": "MONSTER", @@ -1042,7 +1042,7 @@ [ "EAT_CARRION", 60 ] ], "description": "A small bipedal dinosaur covered with feathers. Small, hooked claws emerge from its feet and hands.", - "reproduction": { "baby_egg": "egg_velociraptor", "baby_count": 3, "baby_timer": 18 }, + "reproduction": { "baby_type": { "baby_egg": "egg_velociraptor" }, "baby_count": 3, "baby_timer": 18 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 66 }, "flags": [ @@ -1100,7 +1100,7 @@ [ "EAT_CARRION", 60 ] ], "description": "A medium-sized bipedal dinosaur covered with feathers. At the end of each foot is a large sickle-like claw.", - "reproduction": { "baby_egg": "egg_deinonychus", "baby_count": 3, "baby_timer": 18 }, + "reproduction": { "baby_type": { "baby_egg": "egg_deinonychus" }, "baby_count": 3, "baby_timer": 18 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 13 }, "flags": [ @@ -1158,7 +1158,7 @@ [ "EAT_CARRION", 60 ] ], "description": "A large bipedal dinosaur with feathered arms, a long tail, and scythe-like claws.", - "reproduction": { "baby_egg": "egg_utahraptor", "baby_count": 3, "baby_timer": 18 }, + "reproduction": { "baby_type": { "baby_egg": "egg_utahraptor" }, "baby_count": 3, "baby_timer": 18 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 2 }, "flags": [ "SEES", "SMELLS", "HEARS", "EATS", "ANIMAL", "PATH_AVOID_DANGER", "KEENNOSE", "WARM", "CLIMBS" ], @@ -1182,7 +1182,7 @@ "dodge": 5, "hp": 35, "description": "A small bipedal dinosaur covered with feathers. Small, hooked claws emerge from its feet and hands. The teeth are large and sharp and the jaws look strong.", - "reproduction": { "baby_egg": "egg_dromaeosaurus", "baby_count": 3, "baby_timer": 18 } + "reproduction": { "baby_type": { "baby_egg": "egg_dromaeosaurus" }, "baby_count": 3, "baby_timer": 18 } }, { "type": "MONSTER", @@ -1218,7 +1218,7 @@ [ "EAT_FOOD", 120 ] ], "description": "A small bipedal dinosaur covered with feathers. At the end of each foot is a large sickle-like claw. Its eyes suggest intelligence.", - "reproduction": { "baby_egg": "egg_stenonychosaurus", "baby_count": 3, "baby_timer": 18 }, + "reproduction": { "baby_type": { "baby_egg": "egg_stenonychosaurus" }, "baby_count": 3, "baby_timer": 18 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 28 }, "flags": [ @@ -1267,7 +1267,7 @@ "hp": 10, "death_drops": { "subtype": "collection", "groups": [ [ "produce", 100 ], [ "vertebrate_parts", 10 ] ] }, "description": "A bipedal dinosaur about the size of a chicken. It darts around quickly and has long arms for grabbing what it desires. It's holding something.", - "reproduction": { "baby_egg": "egg_eoraptor", "baby_count": 3, "baby_timer": 6 }, + "reproduction": { "baby_type": { "baby_egg": "egg_eoraptor" }, "baby_count": 3, "baby_timer": 6 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 100 }, "special_attacks": [ [ "EAT_FOOD", 120 ], [ "EAT_CARRION", 60 ] ], @@ -1317,7 +1317,7 @@ "hp": 110, "zombify_into": "mon_zarahsaurus", "description": "A bipedal plant eating dinosaur with a long neck and tail, strong grasping hands and leathery skin.", - "reproduction": { "baby_egg": "egg_sarahsaurus", "baby_count": 3, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "egg_sarahsaurus" }, "baby_count": 3, "baby_timer": 12 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 5 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], [ "GRAZE", 60 ] ], @@ -1371,7 +1371,7 @@ "hp": 50, "zombify_into": "mon_zanchisaurus", "description": "A four legged plant eating dinosaur with a long neck, dexterous hands and leathery skin.", - "reproduction": { "baby_egg": "egg_anchisaurus", "baby_count": 3, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "egg_anchisaurus" }, "baby_count": 3, "baby_timer": 12 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 90 }, "special_attacks": [ [ "EAT_CROP", 50 ], [ "BROWSE", 60 ], [ "GRAZE", 60 ] ], @@ -1426,7 +1426,7 @@ "hp": 150, "zombify_into": "mon_zissi", "description": "A large bipedal plant eating dinosaur with a long neck and tail and leathery skin.", - "reproduction": { "baby_egg": "egg_issi", "baby_count": 3, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "egg_issi" }, "baby_count": 3, "baby_timer": 12 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], [ "GRAZE", 60 ] ], @@ -1460,7 +1460,7 @@ "hp": 250, "zombify_into": "mon_zaplocanthosaurus", "description": "Massive, long-necked, four-legged dinosaur with a whip-like tail and tall shoulders.", - "reproduction": { "baby_egg": "egg_haplocanthosaurus", "baby_count": 3, "baby_timer": 24 } + "reproduction": { "baby_type": { "baby_egg": "egg_haplocanthosaurus" }, "baby_count": 3, "baby_timer": 24 } }, { "type": "MONSTER", @@ -1473,7 +1473,7 @@ "hp": 230, "zombify_into": "mon_zamargasaurus", "description": "Massive, long-necked, four-legged dinosaur with a whip-like tail and two rows of tall spines running down the neck and back.", - "reproduction": { "baby_egg": "egg_amargasaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_amargasaurus" }, "baby_count": 3, "baby_timer": 24 }, "armor": { "bash": 6, "bullet": 2, "cut": 8 } }, { @@ -1510,7 +1510,7 @@ [ "GRAZE", 60 ] ], "description": "Massive, long-necked, four-legged dinosaur with a long, whip-like tail. The head is upright and the neck looks like it would make a good strong club.", - "reproduction": { "baby_egg": "egg_apatosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_apatosaurus" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "flags": [ @@ -1542,7 +1542,7 @@ "hp": 450, "zombify_into": "mon_zrontosaurus", "description": "Massive, long-necked, four-legged dinosaur with bulky torso and long, whip-like tail.", - "reproduction": { "baby_egg": "egg_brontosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_brontosaurus" }, "baby_count": 3, "baby_timer": 24 }, "armor": { "cut": 2, "bullet": 2, "bash": 8 } }, { @@ -1556,7 +1556,7 @@ "speed": 60, "zombify_into": "mon_ziplodocus", "description": "Huge, long-necked, four-legged dinosaur with a long, whip-like tail.", - "reproduction": { "baby_egg": "egg_diplodocus", "baby_count": 3, "baby_timer": 24 } + "reproduction": { "baby_type": { "baby_egg": "egg_diplodocus" }, "baby_count": 3, "baby_timer": 24 } }, { "type": "MONSTER", @@ -1576,7 +1576,7 @@ [ "BROWSE", 60 ], [ "GRAZE", 60 ] ], - "reproduction": { "baby_egg": "egg_barosaurus", "baby_count": 3, "baby_timer": 24 } + "reproduction": { "baby_type": { "baby_egg": "egg_barosaurus" }, "baby_count": 3, "baby_timer": 24 } }, { "type": "MONSTER", @@ -1589,7 +1589,7 @@ "speed": 60, "zombify_into": "mon_zamarasaurus", "description": "Huge four-legged dinosaur with a square head and a shorter neck and tail than similar dinosaurs.", - "reproduction": { "baby_egg": "egg_camarasaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_camarasaurus" }, "baby_count": 3, "baby_timer": 24 }, "armor": { "bash": 6, "cut": 3, "bullet": 3 } }, { @@ -1604,7 +1604,7 @@ "hp": 475, "zombify_into": "mon_zrachiosaurus", "description": "Massive, long-necked, four-legged dinosaur with longer forelegs and a whip-like tail.", - "reproduction": { "baby_egg": "egg_brachiosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_brachiosaurus" }, "baby_count": 3, "baby_timer": 24 }, "armor": { "bash": 8, "cut": 6, "bullet": 3 } }, { @@ -1619,7 +1619,7 @@ "hp": 500, "zombify_into": "mon_zalamosaurus", "description": "Gigantic four-legged dinosaur with a long neck and spiked tail protected by natural bone armor.", - "reproduction": { "baby_egg": "egg_alamosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_alamosaurus" }, "baby_count": 3, "baby_timer": 24 }, "armor": { "bash": 15, "cut": 19, "bullet": 3 } }, { @@ -1642,7 +1642,7 @@ "dodge": 6, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], [ "GRAZE", 60 ] ], "description": "Small, four-legged dinosaur with five rows of protective plates running down its back.", - "reproduction": { "baby_egg": "egg_scutellosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_scutellosaurus" }, "baby_count": 3, "baby_timer": 24 }, "flags": [ "SEES", "SMELLS", "HEARS", "ANIMAL", "PATH_AVOID_DANGER", "CANPLAY", "CAN_BE_CULLED", "CORNERED_FIGHTER", "EATS" ], "fear_triggers": [ "PLAYER_CLOSE", "FRIEND_DIED" ], "harvest": "mammal_small_leather", @@ -1685,7 +1685,7 @@ [ "GRAZE", 60 ] ], "description": "A huge slow quadruped dinosaur with two rows of tall plates on its back, and a spiked tail.", - "reproduction": { "baby_egg": "egg_stegosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_stegosaurus" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "petfood": { "food": [ "DINOFOOD_C" ] }, @@ -1724,7 +1724,7 @@ [ "GRAZE", 60 ] ], "description": "A huge slow quadruped dinosaur with two rows of long plates on its back, and a spiked tail.", - "reproduction": { "baby_egg": "egg_hesperosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_hesperosaurus" }, "baby_count": 3, "baby_timer": 24 }, "armor": { "bash": 5, "cut": 12 } }, { @@ -1737,7 +1737,7 @@ "hp": 190, "zombify_into": "mon_zastonia", "description": "This heavily armored four legged dinosaur has a long tail, a beak, and large shoulder spikes.", - "reproduction": { "baby_egg": "egg_gastonia", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_gastonia" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] }, "armor": { "bash": 10, "cut": 10, "bullet": 5 } }, @@ -1755,7 +1755,7 @@ "//": "Speed is a guess based on the lighter armor and smaller weight", "zombify_into": "mon_zargoyleosaurus", "description": "This lightly armored four legged dinosaur has a rigid spiked tail, a beak, and sturdy spikes along the sides.", - "reproduction": { "baby_egg": "egg_gargoyleosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_gargoyleosaurus" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] }, "armor": { "bash": 10, "cut": 10, "bullet": 5 } }, @@ -1769,7 +1769,7 @@ "hp": 200, "zombify_into": "mon_zauropelta", "description": "This heavily armored four legged dinosaur has a beak, a long tail, and long wicked-looking spikes jutting out of the neck.", - "reproduction": { "baby_egg": "egg_sauropelta", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_sauropelta" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] }, "armor": { "bash": 15, "bullet": 10, "cut": 30 } }, @@ -1784,7 +1784,7 @@ "zombify_into": "mon_zodosaurus", "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], [ "GRAZE", 60 ] ], "description": "This heavily armored four legged dinosaur has a beak and large bony plates covering the back.", - "reproduction": { "baby_egg": "egg_nodosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_nodosaurus" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] }, "armor": { "bash": 15, "cut": 20, "bullet": 10 } }, @@ -1798,7 +1798,7 @@ "hp": 160, "zombify_into": "mon_zanoplosaurus", "description": "This heavily armored four legged dinosaur has a lumpy armored head with a beak and thick plates protecting the cheeks, thick back armor, and small short spikes along the sides.", - "reproduction": { "baby_egg": "egg_panoplosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_panoplosaurus" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] } }, { @@ -1813,7 +1813,7 @@ "melee_damage": [ { "damage_type": "stab", "amount": 10 } ], "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], [ "GRAZE", 60 ] ], "description": "This heavily armored dinosaur is covered with small ridged bony plates with long bony spikes.", - "reproduction": { "baby_egg": "egg_edmontonia", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_edmontonia" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] }, "armor": { "bash": 20, "cut": 20, "bullet": 10 } }, @@ -1827,7 +1827,7 @@ "hp": 225, "zombify_into": "mon_zzuul", "description": "This four-legged armored dinosaur has horns on the head and large spikes in rows along the back and side. Its spiked tail ends in a similarly pointy club of bone.", - "reproduction": { "baby_egg": "egg_zuul", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_zuul" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] } }, { @@ -1847,7 +1847,7 @@ [ "GRAZE", 60 ] ], "description": "This heavily armored four legged dinosaur has a beak and a long tail ending in a spiked club of bone.", - "reproduction": { "baby_egg": "egg_dyoplosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_dyoplosaurus" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] }, "flags": [ "SEES", @@ -1898,7 +1898,7 @@ [ "GRAZE", 60 ] ], "description": "This heavily armored four legged dinosaur has a long tail ending in a massive spiked club of bone.", - "reproduction": { "baby_egg": "egg_ankylosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_ankylosaurus" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "petfood": { "food": [ "DINOFOOD_C" ] }, @@ -1938,7 +1938,7 @@ [ "GRAZE", 60 ] ], "description": "This heavily armored four legged dinosaur has a horny beak, two bony rings protecting the neck, and a long tail ending in a heavy club of bone.", - "reproduction": { "baby_egg": "egg_euoplocephalus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_euoplocephalus" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] }, "flags": [ "SEES", @@ -1970,7 +1970,7 @@ [ "GRAZE", 60 ] ], "description": "This heavily armored four legged dinosaur has several long spikes along the back and a long spiked tail ending in a club of bone.", - "reproduction": { "baby_egg": "egg_scolosaurus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_scolosaurus" }, "baby_count": 3, "baby_timer": 24 }, "petfood": { "food": [ "DINOFOOD_C" ] }, "flags": [ "SEES", @@ -2014,7 +2014,7 @@ "hp": 120, "zombify_into": "mon_zenontosaurus", "description": "A feathered dinosaur with four legs, a beak, and a long broad tail.", - "reproduction": { "baby_egg": "egg_tenontosaurus", "baby_count": 30, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tenontosaurus" }, "baby_count": 30, "baby_timer": 60 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], [ "LUNGE", 40 ] ], @@ -2065,7 +2065,7 @@ "hp": 30, "zombify_into": "mon_zryosaurus", "description": "A small feathered dinosaur standing on two legs with short arms, a long neck, and a horned beak.", - "reproduction": { "baby_egg": "egg_dryosaurus", "baby_count": 30, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_egg": "egg_dryosaurus" }, "baby_count": 30, "baby_timer": 60 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 22 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ], @@ -2117,7 +2117,7 @@ "hp": 170, "zombify_into": "mon_zamptosaurus", "description": "A large feathered dinosaur with four strong legs, broad shoulders and a pointed beak. It moves slowly but with enormous strength.", - "reproduction": { "baby_egg": "egg_camptosaurus", "baby_count": 30, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_egg": "egg_camptosaurus" }, "baby_count": 30, "baby_timer": 60 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ], @@ -2167,7 +2167,7 @@ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ], - "reproduction": { "baby_egg": "egg_iguanodon", "baby_count": 30, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_egg": "egg_iguanodon" }, "baby_count": 30, "baby_timer": 60 }, "armor": { "bash": 4, "cut": 4, "bullet": 3 } }, { @@ -2190,7 +2190,7 @@ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ], - "reproduction": { "baby_egg": "egg_hadrosaurus", "baby_count": 30, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_egg": "egg_hadrosaurus" }, "baby_count": 30, "baby_timer": 60 } }, { "type": "MONSTER", @@ -2209,7 +2209,7 @@ [ "BROWSE", 60 ], [ "SMASH", 30 ] ], - "reproduction": { "baby_egg": "egg_maiasaura", "baby_count": 30, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_egg": "egg_maiasaura" }, "baby_count": 30, "baby_timer": 60 } }, { "type": "MONSTER", @@ -2221,7 +2221,7 @@ "hp": 200, "zombify_into": "mon_zryposaurus", "description": "A huge scaly dinosaur with hooves and a broad toothless beak with a narrow arching nasal hump.", - "reproduction": { "baby_egg": "egg_gryposaurus", "baby_count": 30, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_egg": "egg_gryposaurus" }, "baby_count": 30, "baby_timer": 60 } }, { "type": "MONSTER", @@ -2233,7 +2233,7 @@ "hp": 250, "zombify_into": "mon_zrosaurolophus", "description": "A huge scaly dinosaur with hooves and a broad beak filled with hundreds of small teeth with a small nasal crest just above and in front of the eyes.", - "reproduction": { "baby_egg": "egg_prosaurolophus", "baby_count": 30, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_egg": "egg_prosaurolophus" }, "baby_count": 30, "baby_timer": 60 } }, { "type": "MONSTER", @@ -2245,7 +2245,7 @@ "hp": 250, "zombify_into": "mon_zaurolophus", "description": "A huge scaly dinosaur with hooves and a broad beak filled with hundreds of small teeth with a spiky head crest at the top of the skull reaching behind.", - "reproduction": { "baby_egg": "egg_saurolophus", "baby_count": 30, "baby_timer": 60 } + "reproduction": { "baby_type": { "baby_egg": "egg_saurolophus" }, "baby_count": 30, "baby_timer": 60 } }, { "type": "MONSTER", @@ -2257,7 +2257,7 @@ "hp": 350, "zombify_into": "mon_zedmontosaurus", "description": "A huge scaly dinosaur with hooves and a broad toothless beak. There are teeth deeper in the mouth.", - "reproduction": { "baby_egg": "egg_edmontosaurus", "baby_count": 30, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_egg": "egg_edmontosaurus" }, "baby_count": 30, "baby_timer": 60 }, "armor": { "bullet": 3, "bash": 5, "cut": 6 } }, { @@ -2277,7 +2277,7 @@ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ], - "reproduction": { "baby_egg": "egg_parasaurolophus", "baby_count": 30, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_egg": "egg_parasaurolophus" }, "baby_count": 30, "baby_timer": 60 }, "armor": { "bullet": 3, "bash": 5, "cut": 5 } }, { @@ -2290,7 +2290,7 @@ "hp": 250, "zombify_into": "mon_zambeosaurus", "description": "A huge scaly dinosaur with a long stiff tail and hooves. Has a narrow beak and a tall head crest that looks like a mitten with the thumb pointed up.", - "reproduction": { "baby_egg": "egg_lambeosaurus", "baby_count": 30, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lambeosaurus" }, "baby_count": 30, "baby_timer": 60 }, "special_attacks": [ [ "SHRIEK", 10 ], [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ] }, { @@ -2303,7 +2303,7 @@ "hp": 365, "zombify_into": "mon_zorythosaurus", "description": "A huge scaly dinosaur with a thick neck and tail and hooves. Has a short beak and a tall rounded head crest.", - "reproduction": { "baby_egg": "egg_corythosaurus", "baby_count": 30, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_egg": "egg_corythosaurus" }, "baby_count": 30, "baby_timer": 60 }, "special_attacks": [ [ "SHRIEK", 10 ], [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ], "armor": { "bullet": 3, "bash": 5, "cut": 6 } }, @@ -2317,7 +2317,7 @@ "hp": 365, "zombify_into": "mon_zypacrosaurus", "description": "A huge scaly dinosaur with a tall ridge down the back, a tail and hooves. Has a short beak and a wide, rounded head crest.", - "reproduction": { "baby_egg": "egg_hypacrosaurus", "baby_count": 30, "baby_timer": 60 }, + "reproduction": { "baby_type": { "baby_egg": "egg_hypacrosaurus" }, "baby_count": 30, "baby_timer": 60 }, "special_attacks": [ [ "SHRIEK", 10 ], [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ], "armor": { "bullet": 3, "bash": 5, "cut": 6 } }, @@ -2338,7 +2338,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "hp": 40, "description": "A small feathered bipedal dinosaur about the size of a goat. It looks like a reptilian ostrich with a round hard-looking domed head.", - "reproduction": { "baby_egg": "egg_stegoceras", "baby_count": 3, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "egg_stegoceras" }, "baby_count": 3, "baby_timer": 12 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ], "flags": [ "SEES", @@ -2382,7 +2382,7 @@ "hp": 115, "zombify_into": "mon_zachycephalosaurus", "description": "A feathered bipedal dinosaur, standing as tall as a human. It looks like a reptilian ostrich with a round hard-looking domed head.", - "reproduction": { "baby_egg": "egg_pachycephalosaurus", "baby_count": 3, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pachycephalosaurus" }, "baby_count": 3, "baby_timer": 12 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 2 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], [ "LUNGE", 10 ] ], @@ -2428,7 +2428,7 @@ "dodge": 5, "hp": 5, "description": "A small rhino-like dinosaur with a bony crest studded with small horns and a hooked beak.", - "reproduction": { "baby_egg": "egg_aquilops", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_aquilops" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ], "flags": [ "SEES", "SMELLS", "HEARS", "ANIMAL", "PATH_AVOID_DANGER", "CANPLAY", "CAN_BE_CULLED", "SMALL_HIDER", "EATS" ], "harvest": "mammal_tiny", @@ -2453,7 +2453,7 @@ "hp": 60, "zombify_into": "mon_zeptoceratops", "description": "A rhino-like dinosaur with a bony crest and sharp beak able to walk on two legs and four.", - "reproduction": { "baby_egg": "egg_leptoceratops", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_leptoceratops" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ [ "LUNGE", 10 ], [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ] }, { @@ -2472,7 +2472,7 @@ "hp": 110, "zombify_into": "mon_zzuniceratops", "description": "A rhino-like dinosaur with a tall thin bony head crest, two long brow horns, and a beak.", - "reproduction": { "baby_egg": "egg_zuniceratops", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_zuniceratops" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ [ "LUNGE", 10 ], [ "EAT_CROP", 40 ], [ "BROWSE", 60 ] ] }, { @@ -2486,7 +2486,7 @@ "melee_damage": [ { "damage_type": "bash", "amount": 10 } ], "zombify_into": "mon_ztyracosaurus", "description": "A large stocky four-legged dinosaur with a bony crest with several long spikes and one large horn above the beak and a short tail.", - "reproduction": { "baby_egg": "egg_styracosaurus", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_styracosaurus" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ [ "SMASH", 60 ], [ "LUNGE", 10 ], [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], [ "stretch_horn_DinoMod", 40 ] ], "harvest": "styracosaurus" }, @@ -2504,7 +2504,7 @@ "hp": 200, "zombify_into": "mon_zentrosaurus", "description": "A large stocky rhino-like dinosaur with a bony crest and one large horn above the nose.", - "reproduction": { "baby_egg": "egg_centrosaurus", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_centrosaurus" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ { "id": "stomp_DinoMod", "cooldown": 30, "damage_max_instance": [ { "damage_type": "bash", "amount": 12 } ] }, [ "SMASH", 60 ], @@ -2529,7 +2529,7 @@ "hp": 150, "zombify_into": "mon_zeiniosaurus", "description": "A large stocky rhino-like dinosaur with a tall bony crest and one large horn above the nose curving forward towards the beak.", - "reproduction": { "baby_egg": "egg_einiosaurus", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_einiosaurus" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ [ "SMASH", 60 ], [ "LUNGE", 20 ], [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], [ "stretch_horn_DinoMod", 30 ] ] }, { @@ -2546,7 +2546,7 @@ "hp": 250, "zombify_into": "mon_zachelousaurus", "description": "A large stocky rhino-like dinosaur with a tall bony crest with two long curved spikes and three rough bosses above the eyes and nose as well as a short tail and hooked beak.", - "reproduction": { "baby_egg": "egg_achelousaurus", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_achelousaurus" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ { "id": "stomp_DinoMod", "cooldown": 10, "damage_max_instance": [ { "damage_type": "bash", "amount": 12 } ] }, [ "SMASH", 40 ], @@ -2568,7 +2568,7 @@ "hp": 270, "zombify_into": "mon_zachyrhinosaurus", "description": "A massive four-legged dinosaur with a bony crest from which two curved horns and a broad bony nose emerge. There is also a curved beak and short tail.", - "reproduction": { "baby_egg": "egg_pachyrhinosaurus", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pachyrhinosaurus" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ { "id": "stomp_DinoMod", "cooldown": 10, "damage_max_instance": [ { "damage_type": "bash", "amount": 12 } ] }, [ "SMASH", 30 ], @@ -2589,7 +2589,7 @@ "hp": 175, "zombify_into": "mon_zasmosaurus", "description": "A massive rhino-like dinosaur with a tall bony crest from which three short horns emerge above the eyes and beak.", - "reproduction": { "baby_egg": "egg_chasmosaurus", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_chasmosaurus" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], { "id": "impale" } ] }, { @@ -2604,7 +2604,7 @@ "hp": 230, "zombify_into": "mon_zentaceratops", "description": "A massive rhino-like dinosaur with a tall bony crest from which four long horns and a short nose horn emerge.", - "reproduction": { "baby_egg": "egg_pentaceratops", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pentaceratops" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], { "id": "impale" } ], "harvest": "dino_large_leather", "armor": { "bash": 6, "bullet": 2, "cut": 8 } @@ -2621,7 +2621,7 @@ "hp": 150, "zombify_into": "mon_zosmoceratops", "description": "A massive rhino-like dinosaur with an ornate spiked neck crest and two long horns curving up and to the sides from above its eyes.", - "reproduction": { "baby_egg": "egg_kosmoceratops", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_kosmoceratops" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], { "id": "impale" }, [ "stretch_horns_DinoMod", 20 ] ], "harvest": "dino_large_leather", "armor": { "bullet": 2, "bash": 8, "cut": 7 } @@ -2637,7 +2637,7 @@ "hp": 350, "zombify_into": "mon_zorosaurus", "description": "A massive rhino-like dinosaur with a tall bony crest from which two long wicked horns emerge.", - "reproduction": { "baby_egg": "egg_torosaurus", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_torosaurus" }, "baby_count": 20, "baby_timer": 40 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], { "id": "impale" }, [ "stretch_horns_DinoMod", 10 ] ], "harvest": "torosaurus" }, @@ -2671,7 +2671,7 @@ "hp": 400, "zombify_into": "mon_zriceratops", "description": "A massive rhino-like dinosaur with a bony crest from which three large horns emerge.", - "reproduction": { "baby_egg": "egg_triceratops", "baby_count": 20, "baby_timer": 40 }, + "reproduction": { "baby_type": { "baby_egg": "egg_triceratops" }, "baby_count": 20, "baby_timer": 40 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "special_attacks": [ [ "EAT_CROP", 40 ], [ "BROWSE", 60 ], { "id": "impale" } ], @@ -2723,7 +2723,7 @@ "weakpoint_sets": [ "wps_dinosaur_body" ], "hp": 5, "description": "A feathered bipedal dinosaur about the size of a cat with a small head and arms, long legs, and a tail.", - "reproduction": { "baby_egg": "egg_nanosaurus", "baby_count": 3, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "egg_nanosaurus" }, "baby_count": 3, "baby_timer": 12 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 99 }, "petfood": { "food": [ "DINOFOOD_C" ] }, @@ -2761,7 +2761,7 @@ "weakpoint_sets": [ "wps_dinosaur_body" ], "hp": 30, "description": "A feathered bipedal dinosaur with long claws about the size of a turkey.", - "reproduction": { "baby_egg": "egg_oryctodromeus", "baby_count": 3, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "egg_oryctodromeus" }, "baby_count": 3, "baby_timer": 12 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 33 }, "petfood": { "food": [ "DINOFOOD_C" ] }, @@ -2810,7 +2810,7 @@ "weakpoint_sets": [ "wps_dinosaur_body" ], "hp": 120, "description": "A sturdily built feathered bipedal dinosaur with a long narrow beak and strong arms about the size of a cow.", - "reproduction": { "baby_egg": "egg_thescelosaurus", "baby_count": 3, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "egg_thescelosaurus" }, "baby_count": 3, "baby_timer": 12 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 4 }, "petfood": { "food": [ "DINOFOOD_C" ] }, @@ -2857,7 +2857,7 @@ "weakpoint_sets": [ "wps_pterosaur_body" ], "hp": 2, "description": "A feathered flying reptile over three feet long, with short wings and a big colorful beak.", - "reproduction": { "baby_egg": "egg_dimorphodon", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_dimorphodon" }, "baby_count": 3, "baby_timer": 24 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 500 }, "petfood": { "food": [ "DINOFOOD_B" ] }, @@ -2895,7 +2895,7 @@ "speed": 200, "zombify_into": "mon_zteranodon", "description": "A large feathered flying reptile, with a long pointed toothless beak and a long pointy head crest.", - "reproduction": { "baby_egg": "egg_pteranodon", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pteranodon" }, "baby_count": 3, "baby_timer": 24 }, "anger_triggers": [ "PLAYER_WEAK", "HURT", "FRIEND_ATTACKED", "PLAYER_CLOSE" ], "fear_triggers": [ "FRIEND_DIED" ], "harvest": "dino_feather_leather", @@ -2917,7 +2917,7 @@ "speed": 150, "zombify_into": "mon_zuetzalcoatlus", "description": "A huge feathered flying reptile, with a long pointed toothless beak and a long stiff neck.", - "reproduction": { "baby_egg": "egg_quetzalcoatlus", "baby_count": 3, "baby_timer": 24 }, + "reproduction": { "baby_type": { "baby_egg": "egg_quetzalcoatlus" }, "baby_count": 3, "baby_timer": 24 }, "special_attacks": [ [ "scratch", 10 ], [ "EAT_CARRION", 60 ] ], "flags": [ "SEES", @@ -2965,7 +2965,7 @@ "hp": 400, "zombify_into": "mon_zosasaurus", "description": "A huge aquatic reptile about the size of a small house, with a ferocious crocodile-like head and powerful swimming fins.", - "reproduction": { "baby_monster": "mon_mosasaurus_hatchling", "baby_count": 1, "baby_timer": 343 }, + "reproduction": { "baby_type": { "baby_monster": "mon_mosasaurus_hatchling" }, "baby_count": 1, "baby_timer": 343 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "grab_strength": 50, @@ -3017,7 +3017,7 @@ "hp": 100, "zombify_into": "mon_zlesiosaurus", "description": "A large aquatic reptile about the size of a car, with a ferocious crocodile-like head, a long neck, and four powerful swimming fins.", - "reproduction": { "baby_monster": "mon_plesiosaurus_hatchling", "baby_count": 1, "baby_timer": 343 }, + "reproduction": { "baby_type": { "baby_monster": "mon_plesiosaurus_hatchling" }, "baby_count": 1, "baby_timer": 343 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_dino", "biosig_timer": 1 }, "grab_strength": 10, diff --git a/data/mods/Magiclysm/monsters/holiday_magiclysm.json b/data/mods/Magiclysm/monsters/holiday_magiclysm.json index 3939f49f54241..afb38dd58c6e7 100644 --- a/data/mods/Magiclysm/monsters/holiday_magiclysm.json +++ b/data/mods/Magiclysm/monsters/holiday_magiclysm.json @@ -25,7 +25,7 @@ "path_settings": { "max_dist": 21, "avoid_traps": true, "avoid_sharp": true }, "harvest": "mutant_mammal_fur", "dissect": "dissect_feline_sample_huge", - "reproduction": { "baby_monster": "mon_yulecat_cub", "baby_count": 6, "baby_timer": 234 }, + "reproduction": { "baby_type": { "baby_monster": "mon_yulecat_cub" }, "baby_count": 6, "baby_timer": 234 }, "baby_flags": [ "WINTER" ], "grab_strength": 50, "special_attacks": [ { "id": "bite_grab", "cooldown": 10 }, [ "scratch", 6 ] ], diff --git a/data/mods/Magiclysm/monsters/monsters.json b/data/mods/Magiclysm/monsters/monsters.json index b0a04ff6e52fd..2db558582bfe1 100644 --- a/data/mods/Magiclysm/monsters/monsters.json +++ b/data/mods/Magiclysm/monsters/monsters.json @@ -25,7 +25,7 @@ "path_settings": { "max_dist": 25 }, "harvest": "owlbear", "dissect": "dissect_owlbear_sample_large", - "reproduction": { "baby_egg": "egg_owlbear_rock", "baby_count": 1, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "egg_owlbear_rock" }, "baby_count": 1, "baby_timer": 20 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "//grab": "Assuming they are grabbing you with their paws", "grab_strength": 50, @@ -173,7 +173,7 @@ "anger_triggers": [ "HURT", "PLAYER_CLOSE", "PLAYER_WEAK", "FRIEND_ATTACKED", "PLAYER_NEAR_BABY" ], "harvest": "mammal_large_parabolan_wool", "dissect": "dissect_cattle_sample_small", - "reproduction": { "baby_monster": "mon_hunllef_lamb", "baby_count": 1, "baby_timer": 275 }, + "reproduction": { "baby_type": { "baby_monster": "mon_hunllef_lamb" }, "baby_count": 1, "baby_timer": 275 }, "//": "Sheep are seasonal breeders. The natural sexual season is positioned so that lambs will be born in the spring when the weather is warmer and grass is available.", "baby_flags": [ "SPRING" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 3 }, diff --git a/data/mods/Megafauna/monsters/mf_domestic.json b/data/mods/Megafauna/monsters/mf_domestic.json index b52585b9d0f56..e8cdf31c1ca45 100644 --- a/data/mods/Megafauna/monsters/mf_domestic.json +++ b/data/mods/Megafauna/monsters/mf_domestic.json @@ -25,7 +25,7 @@ "starting_ammo": { "milk_raw": 12 }, "shearing": [ { "result": "wool_staple", "ratio_volume": 0.1 } ], "harvest": "pelt_megafauna", - "reproduction": { "baby_monster": "mon_shrubox_calf", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_shrubox_calf" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "SPRING" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 3 }, "anger_triggers": [ "HURT", "PLAYER_NEAR_BABY" ], @@ -99,7 +99,7 @@ "starting_ammo": { "milk_raw": 8 }, "shearing": [ { "result": "wool_staple", "ratio_volume": 0.2 } ], "harvest": "pelt_megafauna", - "reproduction": { "baby_monster": "mon_woodox_calf", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_woodox_calf" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "SPRING" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 3 }, "anger_triggers": [ "HURT", "PLAYER_NEAR_BABY" ], @@ -170,7 +170,7 @@ "starting_ammo": { "milk_raw": 6 }, "shearing": [ { "result": "wool_staple", "ratio_volume": 0.1 } ], "harvest": "pelt_megafauna", - "reproduction": { "baby_monster": "mon_soergoat_kid", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_soergoat_kid" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "SPRING" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 3 }, "anger_triggers": [ "HURT", "PLAYER_NEAR_BABY" ], @@ -240,7 +240,7 @@ "starting_ammo": { "milk_raw": 6 }, "shearing": [ { "result": "wool_staple", "ratio_volume": 0.15 } ], "harvest": "pelt_megafauna", - "reproduction": { "baby_monster": "mon_bison_calf", "baby_count": 1, "baby_timer": 275 }, + "reproduction": { "baby_type": { "baby_monster": "mon_bison_calf" }, "baby_count": 1, "baby_timer": 275 }, "baby_flags": [ "AUTUMN" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 3 }, "anger_triggers": [ "HURT", "PLAYER_NEAR_BABY" ], @@ -311,7 +311,7 @@ "starting_ammo": { "milk_raw": 2 }, "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, "special_attacks": [ [ "EAT_CROP", 60 ] ], - "reproduction": { "baby_monster": "mon_scotts_foal", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_scotts_foal" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "AUTUMN" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "mountable_weight_ratio": 0.35, @@ -385,7 +385,7 @@ "starting_ammo": { "milk_raw": 4 }, "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, "special_attacks": [ [ "EAT_CROP", 120 ] ], - "reproduction": { "baby_monster": "mon_giant_foal", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_giant_foal" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "AUTUMN" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "mountable_weight_ratio": 0.35, @@ -460,7 +460,7 @@ "shearing": [ { "result": "wool_staple", "ratio_volume": 0.12 } ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, "special_attacks": [ [ "EAT_CROP", 60 ] ], - "reproduction": { "baby_monster": "mon_camelops_foal", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_camelops_foal" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "SUMMER" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PET_WONT_FOLLOW", "PET_MOUNTABLE", "PATH_AVOID_DANGER", "WARM", "MILKABLE" ], @@ -519,7 +519,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 4.0, "armor_penetration": 2 }, { "damage_type": "bash", "amount": 2.0 } ], "dodge": 2, "harvest": "mammal_small_boar", - "reproduction": { "baby_monster": "mon_flathead_piglet", "baby_count": 5, "baby_timer": 135 }, + "reproduction": { "baby_type": { "baby_monster": "mon_flathead_piglet" }, "baby_count": 5, "baby_timer": 135 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, "path_settings": { "max_dist": 10 }, @@ -583,7 +583,7 @@ "special_attacks": [ [ "EAT_FOOD", 20 ], { "id": "slam", "cooldown": 10 } ], "anger_triggers": [ "PLAYER_NEAR_BABY", "FRIEND_ATTACKED" ], "fear_triggers": [ "SOUND", "FIRE" ], - "reproduction": { "baby_monster": "mon_longnose_piglet", "baby_count": 1, "baby_timer": 200 }, + "reproduction": { "baby_type": { "baby_monster": "mon_longnose_piglet" }, "baby_count": 1, "baby_timer": 200 }, "flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "ANIMAL", "PATH_AVOID_DANGER", "PET_MOUNTABLE", "WARM", "CANPLAY" ], "armor": { "bash": 4, "cut": 6, "stab": 4 } }, diff --git a/data/mods/Megafauna/monsters/mf_predators.json b/data/mods/Megafauna/monsters/mf_predators.json index 26aa212e521ac..f3d86044d428d 100644 --- a/data/mods/Megafauna/monsters/mf_predators.json +++ b/data/mods/Megafauna/monsters/mf_predators.json @@ -38,7 +38,7 @@ "feed": "The %s seems to tolerate you. It cautiously lets you pat its head and seems friendly for now.", "pet": "The %s reluctantly wags its tail while you pat their massive head." }, - "reproduction": { "baby_monster": "mon_direwolf_cub", "baby_count": 2, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_direwolf_cub" }, "baby_count": 2, "baby_timer": 360 }, "baby_flags": [ "SPRING" ], "flags": [ "SEES", @@ -118,7 +118,7 @@ "anger_triggers": [ "STALK", "PLAYER_WEAK", "HURT", "PLAYER_CLOSE", "FRIEND_ATTACKED", "PLAYER_NEAR_BABY" ], "fear_triggers": [ "FIRE" ], "harvest": "mammal_fur", - "reproduction": { "baby_monster": "mon_sabcat_cub", "baby_count": 2, "baby_timer": 720 }, + "reproduction": { "baby_type": { "baby_monster": "mon_sabcat_cub" }, "baby_count": 2, "baby_timer": 720 }, "baby_flags": [ "SPRING" ], "dissect": "dissect_feline_sample_single", "petfood": { "food": [ "CATFOOD" ], "feed": "The %s seems to like you! It emits a growling purr as you pet it." }, @@ -207,7 +207,7 @@ "fear_triggers": [ "FIRE" ], "harvest": "mammal_fur", "dissect": "dissect_feline_sample_single", - "reproduction": { "baby_monster": "mon_cave_lion_cub", "baby_count": 3, "baby_timer": 720 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cave_lion_cub" }, "baby_count": 3, "baby_timer": 720 }, "baby_flags": [ "SPRING" ], "flags": [ "SEES", @@ -284,7 +284,7 @@ "dodge": 8, "vision_night": 20, "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], - "reproduction": { "baby_monster": "mon_bobcat_cub", "baby_count": 2, "baby_timer": 720 }, + "reproduction": { "baby_type": { "baby_monster": "mon_bobcat_cub" }, "baby_count": 2, "baby_timer": 720 }, "baby_flags": [ "SPRING" ], "petfood": { "food": [ "CATFOOD" ], "feed": "The %s seems to like you! It emits a satisfied purr as you pet it." }, "harvest": "mammal_small_fur", @@ -344,7 +344,7 @@ { "id": "scratch_grab_required", "min_mul": 1, "max_mul": 1.5 } ], "description": "A large predatory flightless bird with monstrous beak and strong legs. Truly, the dinosaurs never went extinct, they just grew more feathers.", - "reproduction": { "baby_egg": "egg_titanis_walleri", "baby_count": 1, "baby_timer": 540 }, + "reproduction": { "baby_type": { "baby_egg": "egg_titanis_walleri" }, "baby_count": 1, "baby_timer": 540 }, "baby_flags": [ "SUMMER" ], "flags": [ "SEES", diff --git a/data/mods/Megafauna/monsters/mf_wild.json b/data/mods/Megafauna/monsters/mf_wild.json index 8d2e1719d41c3..a3a6986a4384e 100644 --- a/data/mods/Megafauna/monsters/mf_wild.json +++ b/data/mods/Megafauna/monsters/mf_wild.json @@ -30,7 +30,7 @@ "harvest": "pelt_megafauna", "anger_triggers": [ "HURT", "PLAYER_NEAR_BABY" ], "fear_triggers": [ "SOUND", "FIRE" ], - "reproduction": { "baby_monster": "mon_giant_beaver_cub", "baby_count": 4, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_giant_beaver_cub" }, "baby_count": 4, "baby_timer": 360 }, "baby_flags": [ "AUTUMN" ], "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER", "SWIMS", "WARM" ], "armor": { "bash": 5, "cut": 10, "stab": 5 } @@ -87,7 +87,7 @@ "anger_triggers": [ "HURT", "PLAYER_NEAR_BABY" ], "shearing": [ { "result": "wool_staple", "ratio_volume": 0.05 } ], "fear_triggers": [ "FIRE" ], - "reproduction": { "baby_monster": "mon_large_claw_sloth_cub", "baby_count": 1, "baby_timer": 1080 }, + "reproduction": { "baby_type": { "baby_monster": "mon_large_claw_sloth_cub" }, "baby_count": 1, "baby_timer": 1080 }, "baby_flags": [ "SPRING" ], "petfood": { "food": [ "CATTLEFOOD" ], @@ -148,7 +148,7 @@ "starting_ammo": { "milk_raw": 3 }, "anger_triggers": [ "HURT", "MATING_SEASON", "PLAYER_NEAR_BABY" ], "fear_triggers": [ "FIRE", "SOUND" ], - "reproduction": { "baby_monster": "mon_stagmoose_cub", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_stagmoose_cub" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "SPRING", "AUTUMN" ], "harvest": "pelt_megafauna", "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 8 }, @@ -221,7 +221,7 @@ "fear_triggers": [ "FIRE" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 1 }, "harvest": "woolly_mammoth", - "reproduction": { "baby_monster": "mon_mammoth_cub", "baby_count": 1, "baby_timer": 720 }, + "reproduction": { "baby_type": { "baby_monster": "mon_mammoth_cub" }, "baby_count": 1, "baby_timer": 720 }, "baby_flags": [ "AUTUMN" ], "special_attacks": [ [ "EAT_FOOD", 100 ], @@ -336,7 +336,7 @@ "anger_triggers": [ "HURT", "FRIEND_ATTACKED", "PLAYER_NEAR_BABY", "MATING_SEASON" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 1 }, "harvest": "mammoth", - "reproduction": { "baby_monster": "mon_mastodon_cub", "baby_count": 1, "baby_timer": 720 }, + "reproduction": { "baby_type": { "baby_monster": "mon_mastodon_cub" }, "baby_count": 1, "baby_timer": 720 }, "baby_flags": [ "AUTUMN" ], "special_attacks": [ [ "EAT_FOOD", 100 ], @@ -448,7 +448,7 @@ "fear_triggers": [ "FIRE", "SOUND" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 4 }, "harvest": "pelt_megafauna", - "reproduction": { "baby_monster": "mon_shortface_cub", "baby_count": 1, "baby_timer": 720 }, + "reproduction": { "baby_type": { "baby_monster": "mon_shortface_cub" }, "baby_count": 1, "baby_timer": 720 }, "baby_flags": [ "SPRING" ], "special_attacks": [ [ "EAT_FOOD", 60 ], @@ -512,7 +512,7 @@ "dissect": "dissect_bird_sample_single", "vision_day": 50, "fear_triggers": [ "PLAYER_CLOSE", "FRIEND_DIED", "FIRE", "HURT" ], - "reproduction": { "baby_egg": "egg_auk", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_egg": "egg_auk" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "SUMMER" ], "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 8 }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER", "WARM", "SWIMS" ] @@ -556,7 +556,7 @@ "fear_triggers": [ "SOUND" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 4 }, "harvest": "glyptotherium", - "reproduction": { "baby_monster": "mon_glyptotherium_young", "baby_count": 1, "baby_timer": 120 }, + "reproduction": { "baby_type": { "baby_monster": "mon_glyptotherium_young" }, "baby_count": 1, "baby_timer": 120 }, "baby_flags": [ "SPRING" ], "special_attacks": [ [ "EAT_FOOD", 60 ], @@ -625,7 +625,7 @@ "starting_ammo": { "milk_raw": 1 }, "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, "special_attacks": [ [ "EAT_CROP", 60 ] ], - "reproduction": { "baby_monster": "mon_zebra_foal", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_zebra_foal" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "AUTUMN" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "mountable_weight_ratio": 0.3, diff --git a/data/mods/MindOverMatter/monsters/animal_psychics.json b/data/mods/MindOverMatter/monsters/animal_psychics.json index 208062964c6bf..41ac0a47555ae 100644 --- a/data/mods/MindOverMatter/monsters/animal_psychics.json +++ b/data/mods/MindOverMatter/monsters/animal_psychics.json @@ -170,7 +170,7 @@ "harvest": "mutant_cow_with_skull", "dissect": "dissect_cattle_sample_small", "families": [ "prof_intro_biology" ], - "reproduction": { "baby_monster": "mon_cow_calf", "baby_count": 1, "baby_timer": 343 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cow_calf" }, "baby_count": 1, "baby_timer": 343 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_cow", "biosig_timer": 1 }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "EATS", "PATH_AVOID_DANGER", "WARM", "CORNERED_FIGHTER" ], @@ -215,7 +215,7 @@ "weakpoint_sets": [ "wps_bird_body" ], "harvest": "bird_tiny", "dissect": "dissect_chimera_sample_small", - "reproduction": { "baby_egg": "egg_cockatrice", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_cockatrice" }, "baby_count": 3, "baby_timer": 10 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 8 }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER", "WARM", "FLIES", "CORNERED_FIGHTER" ] @@ -348,7 +348,7 @@ "stomach_size": 1000, "harvest": "mutant_mammal_large_fur", "dissect": "dissect_lupine_sample_large", - "reproduction": { "baby_monster": "mon_dog_pup", "baby_count": 4, "baby_timer": 270 }, + "reproduction": { "baby_type": { "baby_monster": "mon_dog_pup" }, "baby_count": 4, "baby_timer": 270 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "biosignature": { "biosig_item": "feces_dog", "biosig_timer": 6 }, "families": [ "prof_intro_biology", "prof_physiology" ], diff --git a/data/mods/My_Sweet_Cataclysm/sweet_monsters.json b/data/mods/My_Sweet_Cataclysm/sweet_monsters.json index 721b7475114ee..6bf4df0f17aa0 100644 --- a/data/mods/My_Sweet_Cataclysm/sweet_monsters.json +++ b/data/mods/My_Sweet_Cataclysm/sweet_monsters.json @@ -67,7 +67,7 @@ "vision_night": 3, "harvest": "marshmallow_boy", "upgrades": { "half_life": 14, "into": "mon_marshmallow_buff" }, - "reproduction": { "baby_egg": "marshmallow", "baby_count": 5, "baby_timer": 14 }, + "reproduction": { "baby_type": { "baby_egg": "marshmallow" }, "baby_count": 5, "baby_timer": 14 }, "flags": [ "SEES", "HEARS", "SMELLS", "STUMBLES", "WARM", "BASHES", "GROUP_BASH", "NO_BREATHE", "PUSH_MON" ] }, { @@ -94,7 +94,7 @@ "harvest": "marshmallow_boy", "special_attacks": [ [ "SMASH", 30 ] ], "upgrades": { "half_life": 21, "into": "mon_marshmallow_goliath" }, - "reproduction": { "baby_egg": "marshmallow", "baby_count": 7, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "marshmallow" }, "baby_count": 7, "baby_timer": 12 }, "flags": [ "SEES", "HEARS", "SMELLS", "STUMBLES", "WARM", "BASHES", "GROUP_BASH", "NO_BREATHE", "PUSH_MON", "PUSH_VEH" ], "armor": { "bash": 2, "cut": 3, "bullet": 2 } }, @@ -122,7 +122,7 @@ "vision_night": 4, "harvest": "marshmallow_boy", "special_attacks": [ [ "SMASH", 20 ] ], - "reproduction": { "baby_egg": "marshmallow", "baby_count": 10, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "marshmallow" }, "baby_count": 10, "baby_timer": 10 }, "flags": [ "SEES", "HEARS", @@ -159,7 +159,7 @@ "color": "white_magenta", "harvest": "armored_marshmallow_boy", "upgrades": { "half_life": 14, "into": "mon_marshmallow_buff_armored" }, - "reproduction": { "baby_egg": "smores", "baby_count": 5, "baby_timer": 14 }, + "reproduction": { "baby_type": { "baby_egg": "smores" }, "baby_count": 5, "baby_timer": 14 }, "armor": { "bash": 3, "cut": 4, "bullet": 3 } }, { @@ -172,7 +172,7 @@ "color": "yellow_magenta", "harvest": "armored_marshmallow_boy", "upgrades": { "half_life": 14, "into": "mon_marshmallow_goliath_armored" }, - "reproduction": { "baby_egg": "smores", "baby_count": 7, "baby_timer": 12 }, + "reproduction": { "baby_type": { "baby_egg": "smores" }, "baby_count": 7, "baby_timer": 12 }, "armor": { "bash": 6, "cut": 7, "bullet": 6 } }, { @@ -184,7 +184,7 @@ "copy-from": "mon_marshmallow_goliath", "symbol": "M", "color": "brown_magenta", - "reproduction": { "baby_egg": "smores", "baby_count": 10, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "smores" }, "baby_count": 10, "baby_timer": 10 }, "armor": { "bash": 9, "cut": 11, "bullet": 9 } }, { @@ -233,7 +233,7 @@ "path_settings": { "max_dist": 10 }, "anger_triggers": [ "HURT" ], "harvest": "gummy_bear", - "reproduction": { "baby_egg": "candy3", "baby_count": 1, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "candy3" }, "baby_count": 1, "baby_timer": 10 }, "flags": [ "SEES", "HEARS", "SMELLS", "PATH_AVOID_DANGER", "WARM", "BASHES", "ATTACKMON", "NO_BREATHE" ], "armor": { "bash": 2 } }, @@ -279,7 +279,7 @@ "infection_chance": 50 } ], - "reproduction": { "baby_egg": "candy3gator", "baby_count": 1, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "candy3gator" }, "baby_count": 1, "baby_timer": 10 }, "anger_triggers": [ "PLAYER_CLOSE", "PLAYER_WEAK" ], "fear_triggers": [ "FIRE", "HURT" ], "flags": [ "SEES", "HEARS", "GRABS", "SMELLS", "KEENNOSE", "PATH_AVOID_DANGER", "ANIMAL", "PUSH_MON", "SWIMS", "ATTACKMON" ], @@ -339,7 +339,7 @@ "vision_night": 3, "harvest": "cracker_boy", "special_attacks": [ [ "scratch", 10 ] ], - "reproduction": { "baby_egg": "grahmcrackers", "baby_count": 3, "baby_timer": 20 }, + "reproduction": { "baby_type": { "baby_egg": "grahmcrackers" }, "baby_count": 3, "baby_timer": 20 }, "flags": [ "SEES", "HEARS", "NO_BREATHE" ], "armor": { "cut": 20, "stab": 27, "bullet": 27 } }, @@ -353,7 +353,7 @@ "description": "An animal cracker largemouth bass. It leaps from the water in pursuit of food.", "harvest": "cracker_boy", "material": [ "wheat", "junk" ], - "reproduction": { "baby_egg": "grahmcrackers_roe", "baby_count": 3, "baby_timer": 20 } + "reproduction": { "baby_type": { "baby_egg": "grahmcrackers_roe" }, "baby_count": 3, "baby_timer": 20 } }, { "id": "mon_cookie", @@ -384,7 +384,7 @@ "anger_triggers": [ "PLAYER_WEAK" ], "fear_triggers": [ "PLAYER_CLOSE" ], "flags": [ "SEES", "SMELLS", "HEARS", "PATH_AVOID_DANGER" ], - "reproduction": { "baby_egg": "cookies", "baby_count": 10, "baby_timer": 5 } + "reproduction": { "baby_type": { "baby_egg": "cookies" }, "baby_count": 10, "baby_timer": 5 } }, { "id": "mon_cookie_hydra", @@ -405,7 +405,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 3 } ], "dodge": 2, "flags": [ "SEES", "SMELLS", "HEARS", "PATH_AVOID_DANGER", "SWIMS" ], - "reproduction": { "baby_egg": "cookies_egg", "baby_count": 1, "baby_timer": 5 } + "reproduction": { "baby_type": { "baby_egg": "cookies_egg" }, "baby_count": 1, "baby_timer": 5 } }, { "id": "mon_cookie_hydra_youth", @@ -455,7 +455,7 @@ "harvest": "gum_spider", "emit_fields": [ { "emit_id": "emit_gum_web", "delay": "30 m" } ], "flags": [ "SEES", "SMELLS", "HEARS", "CLIMBS", "PATH_AVOID_FIRE", "PATH_AVOID_FALL" ], - "reproduction": { "baby_egg": "gum", "baby_count": 10, "baby_timer": 5 }, + "reproduction": { "baby_type": { "baby_egg": "gum" }, "baby_count": 10, "baby_timer": 5 }, "armor": { "bash": 2, "cut": 4, "bullet": 3 } }, { @@ -524,7 +524,7 @@ "harvest": "choc_cows", "starting_ammo": { "milk_raw_choc": 40 }, "biosignature": { "biosig_item": "feces_candy", "biosig_timer": "1 d" }, - "reproduction": { "baby_monster": "mon_cow_calf_choc", "baby_count": 1, "baby_timer": 343 }, + "reproduction": { "baby_type": { "baby_monster": "mon_cow_calf_choc" }, "baby_count": 1, "baby_timer": 343 }, "armor": { "bash": 2, "electric": 1 } }, { @@ -540,7 +540,7 @@ "hp": 65, "speed": 45, "material": [ "sugar" ], - "reproduction": { "baby_monster": "mon_licorice_snake_hatchling", "baby_count": 20, "baby_timer": 245 }, + "reproduction": { "baby_type": { "baby_monster": "mon_licorice_snake_hatchling" }, "baby_count": 20, "baby_timer": 245 }, "symbol": "~", "color": "red", "morale": 100, diff --git a/data/mods/TropiCataclysm/monsters/tropical_bird.json b/data/mods/TropiCataclysm/monsters/tropical_bird.json index 81d9b21c5f097..dca9965aa4ac5 100644 --- a/data/mods/TropiCataclysm/monsters/tropical_bird.json +++ b/data/mods/TropiCataclysm/monsters/tropical_bird.json @@ -24,7 +24,7 @@ "harvest": "bird_large", "vision_day": 50, "fear_triggers": [ "PLAYER_CLOSE", "FRIEND_DIED", "FIRE", "HURT" ], - "reproduction": { "baby_egg": "egg_rhea", "baby_count": 22, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_rhea" }, "baby_count": 22, "baby_timer": 10 }, "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 8 }, "petfood": { "food": [ "BIRDFOOD" ], @@ -58,7 +58,7 @@ "harvest": "bird_small", "vision_day": 50, "fear_triggers": [ "PLAYER_CLOSE", "FRIEND_DIED", "FIRE", "HURT" ], - "reproduction": { "baby_egg": "egg_guinea_fowl", "baby_count": 6, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_guinea_fowl" }, "baby_count": 6, "baby_timer": 10 }, "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 8 }, "petfood": { "food": [ "BIRDFOOD" ], @@ -91,7 +91,7 @@ "dodge": 4, "harvest": "bird_tiny", "fear_triggers": [ "SOUND", "PLAYER_CLOSE", "FRIEND_ATTACKED", "FRIEND_DIED", "FIRE", "HURT" ], - "reproduction": { "baby_egg": "egg_quail", "baby_count": 7, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_quail" }, "baby_count": 7, "baby_timer": 10 }, "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 4 }, "petfood": { "food": [ "BIRDFOOD" ], @@ -131,7 +131,7 @@ "weight": "650 g", "hp": 6, "color": "brown", - "reproduction": { "baby_egg": "egg_toucan", "baby_count": 4, "baby_timer": 63 } + "reproduction": { "baby_type": { "baby_egg": "egg_toucan" }, "baby_count": 4, "baby_timer": 63 } }, { "id": "mon_toucan_chick", @@ -149,7 +149,7 @@ "volume": "220 ml", "weight": "165 g", "color": "light_green", - "reproduction": { "baby_egg": "egg_parrot", "baby_count": 3, "baby_timer": 38 } + "reproduction": { "baby_type": { "baby_egg": "egg_parrot" }, "baby_count": 3, "baby_timer": 38 } }, { "id": "mon_parrot_chick", @@ -173,7 +173,7 @@ "weight": "1350 g", "hp": 8, "color": "light_blue", - "reproduction": { "baby_egg": "egg_macaw", "baby_count": 3, "baby_timer": 116 } + "reproduction": { "baby_type": { "baby_egg": "egg_macaw" }, "baby_count": 3, "baby_timer": 116 } }, { "id": "mon_macaw_chick", @@ -196,7 +196,7 @@ "color": "yellow", "volume": "27 ml", "weight": "20 g", - "reproduction": { "baby_egg": "egg_finch_saffron", "baby_count": 5, "baby_timer": 16 }, + "reproduction": { "baby_type": { "baby_egg": "egg_finch_saffron" }, "baby_count": 5, "baby_timer": 16 }, "//": "Values for reproduction and chick growth copied from the cedar waxwing, as no info could be found online." }, { @@ -214,7 +214,7 @@ "color": "yellow", "volume": "80 ml", "weight": "60 g", - "reproduction": { "baby_egg": "egg_great_kiskadee", "baby_count": 5, "baby_timer": 18 }, + "reproduction": { "baby_type": { "baby_egg": "egg_great_kiskadee" }, "baby_count": 5, "baby_timer": 18 }, "//": "Values for reproduction and chick growth copied from the bluejay, as no info could be found online." }, { @@ -231,7 +231,7 @@ "copy-from": "mon_bird_flying_base", "volume": "60 ml", "weight": "45 g", - "reproduction": { "baby_egg": "egg_rufous_hornero", "baby_count": 4, "baby_timer": 44 } + "reproduction": { "baby_type": { "baby_egg": "egg_rufous_hornero" }, "baby_count": 4, "baby_timer": 44 } }, { "id": "mon_rufous_hornero_chick", @@ -265,7 +265,7 @@ "harvest": "bird_small", "vision_day": 50, "fear_triggers": [ "PLAYER_CLOSE", "FRIEND_DIED", "FIRE", "HURT" ], - "reproduction": { "baby_egg": "egg_tinamou", "baby_count": 6, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tinamou" }, "baby_count": 6, "baby_timer": 10 }, "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 8 }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER", "WARM" ] }, @@ -296,7 +296,7 @@ "vision_day": 50, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "fear_triggers": [ "PLAYER_CLOSE" ], - "reproduction": { "baby_egg": "egg_seriema", "baby_count": 6, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_seriema" }, "baby_count": 6, "baby_timer": 10 }, "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 8 }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER", "WARM" ] }, @@ -311,7 +311,7 @@ "hp": 5, "speed": 110, "color": "brown", - "reproduction": { "baby_egg": "egg_chachalaca", "baby_count": 2, "baby_timer": 6 }, + "reproduction": { "baby_type": { "baby_egg": "egg_chachalaca" }, "baby_count": 2, "baby_timer": 6 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 8 } }, @@ -321,7 +321,7 @@ "copy-from": "mon_tinamou", "name": { "str": "guan" }, "description": "A bird belonging to the Cracidae family. They resemble turkeys to a degree and live on forested areas.", - "reproduction": { "baby_egg": "egg_guan", "baby_count": 2, "baby_timer": 6 }, + "reproduction": { "baby_type": { "baby_egg": "egg_guan" }, "baby_count": 2, "baby_timer": 6 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 8 } }, @@ -331,7 +331,7 @@ "copy-from": "mon_tinamou", "name": { "str": "curassow" }, "description": "A bird belonging to the Cracidae family. They resemble turkeys to a degree and live on forested areas, easily distinguished by their crested heads.", - "reproduction": { "baby_egg": "egg_curassow", "baby_count": 2, "baby_timer": 6 }, + "reproduction": { "baby_type": { "baby_egg": "egg_curassow" }, "baby_count": 2, "baby_timer": 6 }, "baby_flags": [ "SPRING", "SUMMER" ], "biosignature": { "biosig_item": "feces_bird", "biosig_timer": 8 } }, diff --git a/data/mods/TropiCataclysm/monsters/tropical_fish.json b/data/mods/TropiCataclysm/monsters/tropical_fish.json index 5aceabff6290a..dd7067091b065 100644 --- a/data/mods/TropiCataclysm/monsters/tropical_fish.json +++ b/data/mods/TropiCataclysm/monsters/tropical_fish.json @@ -22,7 +22,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "shellfish", "dissect": "dissect_gastropod_sample_single", - "reproduction": { "baby_monster": "mon_crab_manca", "baby_count": 1, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_monster": "mon_crab_manca" }, "baby_count": 1, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "FISHABLE", "SEES", "SMELLS", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE", "ARTHROPOD_BLOOD" ] @@ -43,7 +43,7 @@ "type": "MONSTER", "copy-from": "mon_fish_crab", "name": { "str": "pancora crab" }, - "reproduction": { "baby_monster": "mon_pancora_manca", "baby_count": 1, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_monster": "mon_pancora_manca" }, "baby_count": 1, "baby_timer": 21 }, "description": "A crustacean belonging to the Aeglidae family. They are among the only living freshwater anomurans, being restricted solely to South America." }, { @@ -82,7 +82,7 @@ "dodge": 4, "harvest": "fish_large", "zombify_into": "mon_zhark", - "reproduction": { "baby_monster": "mon_shark_pup", "baby_count": 8, "baby_timer": 364 }, + "reproduction": { "baby_type": { "baby_monster": "mon_shark_pup" }, "baby_count": 8, "baby_timer": 364 }, "flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "WARM", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE" ], "armor": { "bash": 5, "cut": 1, "bullet": 1 } }, @@ -104,7 +104,7 @@ "type": "MONSTER", "copy-from": "mon_fish_medium", "name": { "str_sp": "lungfish" }, - "reproduction": { "baby_egg": "egg_lungfish", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lungfish" }, "baby_count": 2, "baby_timer": 17 }, "description": "A lungfish. This strange fish has relatives in both Africa and Australia, all of them can breathe air and some consider them living fossils." }, { @@ -121,7 +121,7 @@ "name": { "str": "electric eel" }, "description": "An electric eel. A strange elongated fish known for its ability to use electricity to hunt prey, despite their name they are not actually eels.", "special_when_hit": [ "ZAPBACK", 100 ], - "reproduction": { "baby_egg": "egg_eel_electric", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_eel_electric" }, "baby_count": 2, "baby_timer": 17 }, "flags": [ "FISHABLE", "SEES", "SMELLS", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE", "ELECTRIC" ] }, { @@ -136,7 +136,7 @@ "type": "MONSTER", "copy-from": "mon_fish_medium", "name": { "str": "pacu" }, - "reproduction": { "baby_egg": "egg_pacu", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pacu" }, "baby_count": 2, "baby_timer": 17 }, "description": "A pacu. There are several species of these piranha relatives in the rivers of South America, they are usually small to medium size." }, { @@ -151,7 +151,7 @@ "type": "MONSTER", "copy-from": "mon_fish_large", "name": { "str": "tambaqui" }, - "reproduction": { "baby_egg": "egg_tambaqui", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tambaqui" }, "baby_count": 2, "baby_timer": 17 }, "description": "Also known as black or giant pacu. This is the largest member of the family and the most known worldwide." }, { @@ -186,7 +186,7 @@ "vision_day": 1, "vision_night": 30, "harvest": "fish_small", - "reproduction": { "baby_egg": "egg_piranha", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_piranha" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ], "path_settings": { "max_dist": 5 }, "flags": [ "FISHABLE", "SEES", "SMELLS", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE" ] @@ -203,7 +203,7 @@ "type": "MONSTER", "copy-from": "mon_fish_large", "name": { "str": "arowana" }, - "reproduction": { "baby_egg": "egg_arowana", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_arowana" }, "baby_count": 2, "baby_timer": 17 }, "description": "A member of the Osteoglossidade family. These fishes can be found on South America, Asia and Australia." }, { @@ -218,7 +218,7 @@ "type": "MONSTER", "copy-from": "mon_fish_huge", "name": { "str": "arapaima" }, - "reproduction": { "baby_egg": "egg_arapaima", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_arapaima" }, "baby_count": 2, "baby_timer": 17 }, "description": "A member of the Arapaimidae family. These fishes can be found on South America and Africa, some species can grow to truly huge sizes." }, { @@ -233,7 +233,7 @@ "type": "MONSTER", "copy-from": "mon_fish_huge", "name": { "str": "piraiba" }, - "reproduction": { "baby_egg": "egg_piraiba", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_piraiba" }, "baby_count": 2, "baby_timer": 17 }, "description": "A huge species of South American catfish native to the Amazon and Orinoco rivers, they can reach almost 3 meters in length." }, { @@ -248,7 +248,7 @@ "type": "MONSTER", "copy-from": "mon_fish_small", "name": { "str": "pleco" }, - "reproduction": { "baby_egg": "egg_pleco", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_pleco" }, "baby_count": 2, "baby_timer": 17 }, "description": "A catfish species native to South America, Panama and even Costa Rica. They are distinguished by their bony spines and suction adapted mouths." }, { @@ -284,7 +284,7 @@ "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "fear_triggers": [ "PLAYER_CLOSE" ], "placate_triggers": [ "PLAYER_WEAK" ], - "reproduction": { "baby_monster": "mon_fry_stingray", "baby_count": 8, "baby_timer": 364 }, + "reproduction": { "baby_type": { "baby_monster": "mon_fry_stingray" }, "baby_count": 8, "baby_timer": 364 }, "harvest": "fish_small", "dissect": "dissect_fish_sample_single", "flags": [ "FISHABLE", "SEES", "SMELLS", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE", "BADVENOM" ] @@ -306,7 +306,7 @@ "type": "MONSTER", "copy-from": "mon_fish_huge", "name": { "str": "gar" }, - "reproduction": { "baby_egg": "egg_gar", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_gar" }, "baby_count": 2, "baby_timer": 17 }, "description": "A fish belonging to the Lepisosteidae family. These enormous fishes can be found from North America to the Caribbean and are well known for their prehistoric appearance." }, { @@ -321,7 +321,7 @@ "type": "MONSTER", "copy-from": "mon_fish_large", "name": { "str": "tucunaré", "str_pl": "tucunarés" }, - "reproduction": { "baby_egg": "egg_tucunare", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tucunare" }, "baby_count": 2, "baby_timer": 17 }, "description": "A vicious predatory cichlid found along the northern tributaries of South America from Panama to the Amazon. Very sought among sport fishing enthusiasts." }, { @@ -336,7 +336,7 @@ "type": "MONSTER", "copy-from": "mon_fish_tiny", "name": { "str": "discus", "str_pl": "discuses" }, - "reproduction": { "baby_egg": "egg_discus", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_discus" }, "baby_count": 2, "baby_timer": 17 }, "description": "A round and colorful genus of fish native to the Amazon river basin. Very popular in aquariums but expensive to maintain in captivity." }, { @@ -351,7 +351,7 @@ "type": "MONSTER", "copy-from": "mon_fish_tiny", "name": { "str_sp": "angelfish" }, - "reproduction": { "baby_egg": "egg_angelfish", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_angelfish" }, "baby_count": 2, "baby_timer": 17 }, "description": "A genus of freshwater fish with a triangular shape native to South America. Unrelated to the marine angel fishes and known to be semi-aggressive in captivity." }, { @@ -366,7 +366,7 @@ "type": "MONSTER", "copy-from": "mon_fish_medium", "name": { "str_sp": "koi" }, - "reproduction": { "baby_egg": "egg_koi", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_koi" }, "baby_count": 2, "baby_timer": 17 }, "description": "A domestic variant of the Amur carp originally bred in Japan for its color variations. These fishes are known to devolve quickly to feral status if left to escape." }, { @@ -381,7 +381,7 @@ "type": "MONSTER", "copy-from": "mon_fish_medium", "name": { "str": "tilapia" }, - "reproduction": { "baby_egg": "egg_tilapia", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tilapia" }, "baby_count": 2, "baby_timer": 17 }, "description": "A genus of cichlids native to Africa but bred worldwide for food. They are adaptable herbivorous fishes that can survive well even in salt water." }, { @@ -396,7 +396,7 @@ "type": "MONSTER", "copy-from": "mon_fish_large", "name": { "str": "sabalo" }, - "reproduction": { "baby_egg": "egg_sabalo", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_sabalo" }, "baby_count": 2, "baby_timer": 17 }, "description": "A fish belonging to the Prochilodontidae family. They are native to South America and most species can be found feeding on detritus." }, { @@ -411,7 +411,7 @@ "type": "MONSTER", "copy-from": "mon_fish_small", "name": { "str": "oscar" }, - "reproduction": { "baby_egg": "egg_oscar", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_oscar" }, "baby_count": 2, "baby_timer": 17 }, "description": "A species of omnivorous cichlid native to South America. Quite popular in aquariums with several different colored breeds." }, { @@ -426,7 +426,7 @@ "type": "MONSTER", "copy-from": "mon_fish_small", "name": { "str": "guapote" }, - "reproduction": { "baby_egg": "egg_guapote", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_guapote" }, "baby_count": 2, "baby_timer": 17 }, "description": "A genus of cichlids found in Central America. All of the species are predatory with different coloration and sizes." }, { @@ -441,7 +441,7 @@ "type": "MONSTER", "copy-from": "mon_fish_small", "name": { "str": "mayaheros", "str_pl": "mayaheri" }, - "reproduction": { "baby_egg": "egg_mayaheros", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_mayaheros" }, "baby_count": 2, "baby_timer": 17 }, "description": "A genus of adaptable cichlids native to Central America. They can survive in marine environments with some populations even reaching Florida." }, { diff --git a/data/mods/TropiCataclysm/monsters/tropical_fungus.json b/data/mods/TropiCataclysm/monsters/tropical_fungus.json index 340035195cf85..f9542b2ec0ed9 100644 --- a/data/mods/TropiCataclysm/monsters/tropical_fungus.json +++ b/data/mods/TropiCataclysm/monsters/tropical_fungus.json @@ -75,7 +75,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "fungaloid", "special_attacks": [ [ "FUNGUS", 30 ] ], - "reproduction": { "baby_egg": "fungal_pod", "baby_count": 6, "baby_timer": 3 }, + "reproduction": { "baby_type": { "baby_egg": "fungal_pod" }, "baby_count": 6, "baby_timer": 3 }, "flags": [ "HEARS", "SMELLS", "NOHEAD", "QUEEN" ], "armor": { "bash": 12, "cut": 16, "bullet": 13, "electric": 7 } }, @@ -98,7 +98,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 0 } ], "harvest": "fungaloid_mass", "special_attacks": [ [ "FUNGUS", 30 ] ], - "reproduction": { "baby_monster": "mon_fungaloid_saproling", "baby_count": 1, "baby_timer": 1 }, + "reproduction": { "baby_type": { "baby_monster": "mon_fungaloid_saproling" }, "baby_count": 1, "baby_timer": 1 }, "death_function": { "effect": { "id": "death_fungus", "hit_self": true } }, "flags": [ "HEARS", "SMELLS", "NOHEAD", "QUEEN", "IMMOBILE" ], "armor": { "bash": 12, "cut": 16, "bullet": 13, "electric": 7 } diff --git a/data/mods/TropiCataclysm/monsters/tropical_insect_spider.json b/data/mods/TropiCataclysm/monsters/tropical_insect_spider.json index 0738015a54472..b8f24f4d70fae 100644 --- a/data/mods/TropiCataclysm/monsters/tropical_insect_spider.json +++ b/data/mods/TropiCataclysm/monsters/tropical_insect_spider.json @@ -37,7 +37,7 @@ "weakpoint_sets": [ "wps_arthropod" ], "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], "dissect": "dissect_insect_sample_single", - "reproduction": { "baby_monster": "mon_scorpion_baby", "baby_count": 4, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_monster": "mon_scorpion_baby" }, "baby_count": 4, "baby_timer": 21 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "vision_day": 7, "vision_night": 5, @@ -224,7 +224,7 @@ "melee_skill": 5, "melee_dice": 3, "melee_dice_sides": 4, - "reproduction": { "baby_egg": "egg_termite", "baby_count": 3, "baby_timer": 1 }, + "reproduction": { "baby_type": { "baby_egg": "egg_termite" }, "baby_count": 3, "baby_timer": 1 }, "anger_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "HURT" ], "zombify_into": "mon_meat_cocoon_large", "armor": { "bash": 6, "cut": 14, "bullet": 11, "electric": 3 }, @@ -268,7 +268,7 @@ "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology", "prof_wp_basic_bug" ], "vision_day": 7, "vision_night": 25, - "reproduction": { "baby_monster": "mon_onicophore_baby", "baby_count": 4, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_monster": "mon_onicophore_baby" }, "baby_count": 4, "baby_timer": 21 }, "//": "Brazil has only Peripatidae velvet worms, and the American members of this family are all live bearing, so live young.", "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "harvest": "mutant_meatslug", diff --git a/data/mods/TropiCataclysm/monsters/tropical_mammal.json b/data/mods/TropiCataclysm/monsters/tropical_mammal.json index d8877b91c8b1b..0069767d025c2 100644 --- a/data/mods/TropiCataclysm/monsters/tropical_mammal.json +++ b/data/mods/TropiCataclysm/monsters/tropical_mammal.json @@ -65,7 +65,7 @@ "name": { "str": "spectacled bear" }, "copy-from": "mon_bear", "description": "The Andean bear, sometimes called spectacled bear is the only bear species native to South America. It lives in a very diverse array of ecosystems on low to high altitudes.", - "reproduction": { "baby_monster": "mon_cub_andean", "baby_count": 1, "baby_timer": 700 } + "reproduction": { "baby_type": { "baby_monster": "mon_cub_andean" }, "baby_count": 1, "baby_timer": 700 } }, { "id": "mon_cub_andean", @@ -141,7 +141,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "dodge": 2, "harvest": "mammal_large_boar", - "reproduction": { "baby_monster": "mon_tapir_calf", "baby_count": 1, "baby_timer": 330 }, + "reproduction": { "baby_type": { "baby_monster": "mon_tapir_calf" }, "baby_count": 1, "baby_timer": 330 }, "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, "path_settings": { "max_dist": 10 }, "anger_triggers": [ "HURT", "FRIEND_ATTACKED" ], @@ -302,7 +302,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 6 } ], "dodge": 2, "harvest": "mammal_fur", - "reproduction": { "baby_monster": "mon_capybara_baby", "baby_count": 8, "baby_timer": 154 }, + "reproduction": { "baby_type": { "baby_monster": "mon_capybara_baby" }, "baby_count": 8, "baby_timer": 154 }, "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], "placate_triggers": [ "PLAYER_WEAK" ], "special_attacks": [ [ "EAT_FOOD", 40 ] ], @@ -379,7 +379,7 @@ "path_settings": { "max_dist": 10 }, "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], "placate_triggers": [ "PLAYER_WEAK" ], - "reproduction": { "baby_monster": "mon_peccari_piglet", "baby_count": 8, "baby_timer": 154 }, + "reproduction": { "baby_type": { "baby_monster": "mon_peccari_piglet" }, "baby_count": 8, "baby_timer": 154 }, "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 7 }, "special_attacks": [ [ "EAT_FOOD", 40 ] ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, @@ -410,7 +410,7 @@ "dodge": 2, "harvest": "mammal_small_fur", "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], - "reproduction": { "baby_monster": "mon_guinea_pig", "baby_count": 3, "baby_timer": 55 }, + "reproduction": { "baby_type": { "baby_monster": "mon_guinea_pig" }, "baby_count": 3, "baby_timer": 55 }, "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "flags": [ "SEES", "SMELLS", "HEARS", "WARM", "ANIMAL", "PATH_AVOID_DANGER" ] }, @@ -452,7 +452,7 @@ "dodge": 2, "harvest": "mammal_fur", "special_attacks": [ [ "EAT_CROP", 120 ], { "type": "leap", "cooldown": 15, "move_cost": 0, "max_range": 12, "min_consider_range": 4 } ], - "reproduction": { "baby_monster": "mon_kangaroo_wallaby", "baby_count": 1, "baby_timer": 275 }, + "reproduction": { "baby_type": { "baby_monster": "mon_kangaroo_wallaby" }, "baby_count": 1, "baby_timer": 275 }, "fear_triggers": [ "SOUND", "PLAYER_CLOSE", "FRIEND_ATTACKED" ], "placate_triggers": [ "PLAYER_WEAK" ], "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER", "WARM" ] diff --git a/data/mods/TropiCataclysm/monsters/tropical_nether.json b/data/mods/TropiCataclysm/monsters/tropical_nether.json index 6f7681f363f03..55e47af413feb 100644 --- a/data/mods/TropiCataclysm/monsters/tropical_nether.json +++ b/data/mods/TropiCataclysm/monsters/tropical_nether.json @@ -21,7 +21,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "shellfish", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "FLIES", "ARTHROPOD_BLOOD" ] @@ -48,7 +48,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "shellfish", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "FLIES", "ARTHROPOD_BLOOD" ] @@ -75,7 +75,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "shellfish", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "FLIES", "ARTHROPOD_BLOOD" ] @@ -101,7 +101,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "echinoderm", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "ARTHROPOD_BLOOD" ] @@ -127,7 +127,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "echinoderm", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "ARTHROPOD_BLOOD" ] @@ -153,7 +153,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "echinoderm", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "ARTHROPOD_BLOOD" ] @@ -179,7 +179,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "cnidarian", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "FLIES", "ARTHROPOD_BLOOD" ] @@ -205,7 +205,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "cnidarian", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "FLIES", "ARTHROPOD_BLOOD" ] @@ -231,7 +231,7 @@ "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "cnidarian", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "FLIES", "ARTHROPOD_BLOOD" ] @@ -259,7 +259,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "mollusk", "dissect": "dissect_gastropod_sample_single", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "ARTHROPOD_BLOOD" ] @@ -287,7 +287,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "mollusk", "dissect": "dissect_gastropod_sample_single", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "ARTHROPOD_BLOOD" ] @@ -314,7 +314,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "mollusk", "dissect": "dissect_gastropod_sample_single", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "FLIES", "ARTHROPOD_BLOOD" ] @@ -341,7 +341,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "mollusk", "dissect": "dissect_gastropod_sample_single", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "FLIES", "ARTHROPOD_BLOOD" ] @@ -368,7 +368,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], "harvest": "mollusk", "dissect": "dissect_gastropod_sample_single", - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 21 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 21 }, "baby_flags": [ "AUTUMN" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "flags": [ "SEES", "SMELLS", "ANIMAL", "FLIES", "ARTHROPOD_BLOOD" ] @@ -396,7 +396,7 @@ "melee_dice": 1, "melee_dice_sides": 1, "melee_damage": [ { "damage_type": "cut", "amount": 0 } ], - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "harvest": "fish_tiny", @@ -425,7 +425,7 @@ "melee_dice": 1, "melee_dice_sides": 2, "melee_damage": [ { "damage_type": "cut", "amount": 1 } ], - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "harvest": "fish_small", @@ -455,7 +455,7 @@ "melee_dice": 1, "melee_dice_sides": 2, "melee_damage": [ { "damage_type": "cut", "amount": 2 } ], - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "harvest": "fish_small", @@ -485,7 +485,7 @@ "melee_dice": 1, "melee_dice_sides": 3, "melee_damage": [ { "damage_type": "cut", "amount": 2 } ], - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "SOUND", "PLAYER_CLOSE" ], "harvest": "fish_large", @@ -515,7 +515,7 @@ "melee_dice": 1, "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 3 } ], - "reproduction": { "baby_egg": "egg_fish_alien", "baby_count": 2, "baby_timer": 17 }, + "reproduction": { "baby_type": { "baby_egg": "egg_fish_alien" }, "baby_count": 2, "baby_timer": 17 }, "baby_flags": [ "SPRING", "SUMMER" ], "fear_triggers": [ "PLAYER_CLOSE", "SOUND" ], "harvest": "fish_large", diff --git a/data/mods/TropiCataclysm/monsters/tropical_reptile_amphibian.json b/data/mods/TropiCataclysm/monsters/tropical_reptile_amphibian.json index 0a5cd06a0934b..b7598a6e1ee78 100644 --- a/data/mods/TropiCataclysm/monsters/tropical_reptile_amphibian.json +++ b/data/mods/TropiCataclysm/monsters/tropical_reptile_amphibian.json @@ -22,7 +22,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_lizard", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lizard" }, "baby_count": 3, "baby_timer": 10 }, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "fear_triggers": [ "PLAYER_CLOSE" ], "placate_triggers": [ "PLAYER_WEAK" ], @@ -51,7 +51,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_lizard", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lizard" }, "baby_count": 3, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "flags": [ "ANIMAL", "KEENNOSE", "SEES", "HEARS", "SMELLS", "SWIMS" ] }, @@ -78,7 +78,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_lizard", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lizard" }, "baby_count": 3, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "flags": [ "ANIMAL", "CLIMBS", "KEENNOSE", "SEES", "HEARS", "SMELLS" ] }, @@ -105,7 +105,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_lizard", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lizard" }, "baby_count": 3, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "flags": [ "ANIMAL", "KEENNOSE", "SEES", "HEARS", "SMELLS" ] }, @@ -132,7 +132,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_lizard", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lizard" }, "baby_count": 3, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "flags": [ "ANIMAL", "CLIMBS", "KEENNOSE", "SEES", "HEARS", "SMELLS" ] }, @@ -159,7 +159,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_lizard", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lizard" }, "baby_count": 3, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "flags": [ "ANIMAL", "CLIMBS", "KEENNOSE", "SEES", "HEARS", "SMELLS" ] }, @@ -186,7 +186,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_lizard", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lizard" }, "baby_count": 3, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "flags": [ "ANIMAL", "CLIMBS", "KEENNOSE", "SEES", "HEARS", "SMELLS" ] }, @@ -213,7 +213,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_lizard", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_lizard" }, "baby_count": 3, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "flags": [ "ANIMAL", "KEENNOSE", "SEES", "HEARS", "SMELLS", "DIGS" ] }, @@ -240,7 +240,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_iguana", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_iguana" }, "baby_count": 3, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "flags": [ "ANIMAL", "CLIMBS", "KEENNOSE", "SEES", "HEARS", "SMELLS" ] @@ -268,7 +268,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_monitor", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_monitor" }, "baby_count": 3, "baby_timer": 10 }, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "fear_triggers": [ "PLAYER_CLOSE" ], "flags": [ "ANIMAL", "CLIMBS", "KEENNOSE", "SEES", "HEARS", "SMELLS" ] @@ -404,7 +404,7 @@ "description": "A strange neotenic batrachian grown from a specific kind of tadpole. Instead of growing legs it has become more fish-like.", "copy-from": "mon_tadpole_small", "proportional": { "hp": 2, "speed": 1.1, "morale": 1.1, "melee_dice_sides": 2 }, - "reproduction": { "baby_egg": "egg_tadfish", "baby_count": 8, "baby_timer": 26 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tadfish" }, "baby_count": 8, "baby_timer": 26 }, "volume": "5 L", "weight": "5 kg" }, @@ -424,7 +424,7 @@ "material": [ "flesh" ], "symbol": "a", "color": "pink", - "reproduction": { "baby_egg": "egg_salamander", "baby_count": 8, "baby_timer": 26 }, + "reproduction": { "baby_type": { "baby_egg": "egg_salamander" }, "baby_count": 8, "baby_timer": 26 }, "harvest": "mammal_tiny", "dissect": "dissect_batrachian_sample_single", "fear_triggers": [ "PLAYER_CLOSE" ], @@ -440,7 +440,7 @@ "proportional": { "hp": 0.5, "speed": 0.75, "morale": 1.1, "melee_dice_sides": 2 }, "upgrades": { "age_grow": 30, "into": "mon_axolotl_giant" }, "dissect": "dissect_batrachian_sample_single", - "reproduction": { "baby_egg": "egg_salamander", "baby_count": 8, "baby_timer": 26 }, + "reproduction": { "baby_type": { "baby_egg": "egg_salamander" }, "baby_count": 8, "baby_timer": 26 }, "volume": "5 L", "weight": "5 kg" }, @@ -471,7 +471,7 @@ "vision_night": 5, "harvest": "animal_noskin", "dissect": "dissect_batrachian_sample_single", - "reproduction": { "baby_egg": "egg_salamander", "baby_count": 8, "baby_timer": 26 }, + "reproduction": { "baby_type": { "baby_egg": "egg_salamander" }, "baby_count": 8, "baby_timer": 26 }, "anger_triggers": [ "PLAYER_CLOSE", "PLAYER_WEAK" ], "fear_triggers": [ "HURT" ], "flags": [ "SEES", "SMELLS", "WARM", "SWIMS", "AQUATIC", "WATER_CAMOUFLAGE" ] @@ -507,7 +507,7 @@ "vision_day": 1, "vision_night": 30, "harvest": "animal_noskin", - "reproduction": { "baby_monster": "mon_caecilian_larva", "baby_count": 8, "baby_timer": 154 }, + "reproduction": { "baby_type": { "baby_monster": "mon_caecilian_larva" }, "baby_count": 8, "baby_timer": 154 }, "dissect": "dissect_batrachian_sample_single", "flags": [ "SEES", "SMELLS", "WARM", "DIGS", "SWIMS" ] }, @@ -536,7 +536,7 @@ "vision_day": 1, "vision_night": 30, "harvest": "animal_large_noskin", - "reproduction": { "baby_monster": "mon_caecilian_larva", "baby_count": 8, "baby_timer": 154 }, + "reproduction": { "baby_type": { "baby_monster": "mon_caecilian_larva" }, "baby_count": 8, "baby_timer": 154 }, "dissect": "dissect_batrachian_sample_single", "path_settings": { "max_dist": 5 }, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], @@ -579,7 +579,7 @@ "vision_day": 30, "vision_night": 5, "harvest": "animal_large_noskin", - "reproduction": { "baby_egg": "egg_constrictor", "baby_count": 3, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_constrictor" }, "baby_count": 3, "baby_timer": 10 }, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "placate_triggers": [ "PLAYER_WEAK" ], "flags": [ "SEES", "HEARS", "SMELLS", "GRABS", "HARDTOSHOOT", "SWIMS" ], @@ -611,7 +611,7 @@ "vision_day": 30, "vision_night": 5, "harvest": "animal_large_noskin", - "reproduction": { "baby_egg": "egg_constrictor", "baby_count": 6, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_constrictor" }, "baby_count": 6, "baby_timer": 10 }, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "placate_triggers": [ "PLAYER_WEAK" ], "flags": [ "SEES", "HEARS", "SMELLS", "GRABS", "HARDTOSHOOT", "CLIMBS" ], @@ -643,7 +643,7 @@ "vision_day": 30, "vision_night": 5, "harvest": "animal_large_noskin", - "reproduction": { "baby_egg": "egg_constrictor", "baby_count": 6, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_constrictor" }, "baby_count": 6, "baby_timer": 10 }, "anger_triggers": [ "HURT", "PLAYER_CLOSE" ], "placate_triggers": [ "PLAYER_WEAK" ], "flags": [ "SEES", "HEARS", "SMELLS", "GRABS", "HARDTOSHOOT" ], @@ -672,7 +672,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 2 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_turtle", "baby_count": 6, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_turtle" }, "baby_count": 6, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "flags": [ "ANIMAL", "SWIMS", "KEENNOSE", "SEES", "HEARS", "SMELLS" ], @@ -708,7 +708,7 @@ "melee_dice_sides": 4, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "mammal_tiny", - "reproduction": { "baby_egg": "egg_snapper", "baby_count": 4, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_snapper" }, "baby_count": 4, "baby_timer": 10 }, "grab_strength": 10, "special_attacks": [ { @@ -739,7 +739,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 2 } ], "harvest": "mammal_tiny", "upgrades": { "age_grow": 60, "into": "mon_tortoise_small" }, - "reproduction": { "baby_egg": "egg_tortoise", "baby_count": 6, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tortoise" }, "baby_count": 6, "baby_timer": 10 }, "fear_triggers": [ "PLAYER_CLOSE" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "flags": [ "ANIMAL", "KEENNOSE", "SEES", "HEARS", "SMELLS" ], @@ -769,7 +769,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "animal_large_noskin", "upgrades": { "age_grow": 100, "into": "mon_tortoise_giant" }, - "reproduction": { "baby_egg": "egg_tortoise", "baby_count": 6, "baby_timer": 10 }, + "reproduction": { "baby_type": { "baby_egg": "egg_tortoise" }, "baby_count": 6, "baby_timer": 10 }, "anger_triggers": [ "PLAYER_CLOSE" ], "fear_triggers": [ "FIRE", "HURT" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, diff --git a/data/mods/TropiCataclysm/monsters/tropical_triffid.json b/data/mods/TropiCataclysm/monsters/tropical_triffid.json index 4347e97c0204c..c76c570d3c5b4 100644 --- a/data/mods/TropiCataclysm/monsters/tropical_triffid.json +++ b/data/mods/TropiCataclysm/monsters/tropical_triffid.json @@ -22,7 +22,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], "harvest": "triffid_queen", "special_attacks": [ [ "SPIT_SAP", 5 ] ], - "reproduction": { "baby_egg": "triffid_pod", "baby_count": 6, "baby_timer": 3 }, + "reproduction": { "baby_type": { "baby_egg": "triffid_pod" }, "baby_count": 6, "baby_timer": 3 }, "flags": [ "HEARS", "SMELLS", "NOHEAD", "PARALYZEVENOM", "QUEEN" ], "armor": { "bash": 12, "cut": 16, "bullet": 13, "electric": 7 } }, @@ -45,7 +45,7 @@ "melee_damage": [ { "damage_type": "cut", "amount": 0 } ], "harvest": "triffid_queen", "special_attacks": [ [ "SPIT_SAP", 5 ] ], - "reproduction": { "baby_monster": "mon_triffid_podling", "baby_count": 1, "baby_timer": 1 }, + "reproduction": { "baby_type": { "baby_monster": "mon_triffid_podling" }, "baby_count": 1, "baby_timer": 1 }, "flags": [ "HEARS", "SMELLS", "NOHEAD", "PARALYZEVENOM", "QUEEN" ], "armor": { "bash": 12, "cut": 16, "bullet": 13, "electric": 7 } }, diff --git a/data/mods/Xedra_Evolved/monsters/changeling.json b/data/mods/Xedra_Evolved/monsters/changeling.json index dc6e409d94813..81b6a9668b0bc 100644 --- a/data/mods/Xedra_Evolved/monsters/changeling.json +++ b/data/mods/Xedra_Evolved/monsters/changeling.json @@ -481,7 +481,7 @@ "placate_triggers": [ "PLAYER_WEAK" ], "harvest": "fae_furred", "families": [ "prof_gross_anatomy", "prof_intro_biology", "prof_physiology" ], - "reproduction": { "baby_monster": "mon_xe_unicorn_foal", "baby_count": 1, "baby_timer": 360 }, + "reproduction": { "baby_type": { "baby_monster": "mon_xe_unicorn_foal" }, "baby_count": 1, "baby_timer": 360 }, "baby_flags": [ "SPRING", "SUMMER", "AUTUMN" ], "biosignature": { "biosig_item": "feces_manure", "biosig_timer": 2 }, "special_attacks": [ [ "EAT_CROP", 60 ] ], diff --git a/doc/MONSTERS.md b/doc/MONSTERS.md index 6cc1c105a2106..b686f5243f5f7 100644 --- a/doc/MONSTERS.md +++ b/doc/MONSTERS.md @@ -545,11 +545,9 @@ The monster's reproduction cycle, if any. Supports: Field | Description --- | --- -`baby_monster` | (string, optional) the id of the monster spawned on reproduction for monsters who give live births. You must declare either this, `baby_monster_group` or `baby_egg` for reproduction to work. -`baby_monster_group` | (string, optional) the id of the monstergroup spawned on reproduction for monsters who give live births. You must declare either this, `baby_monster`, or `baby_egg` for reproduction to work. -`baby_egg` | (string, optional) The id of the egg type to spawn for egg-laying monsters. You must declare either this, `baby_monster_group` or `baby_monster` for reproduction to work. (see [JSON_INFO.md](JSON_INFO.md#comestibles) `rot_spawn`) `baby_count` | (int) Number of new creatures or eggs to spawn on reproduction. `baby_timer` | (int) Number of days between reproduction events. +`baby_type` | (object) Specifies the type of reproduction. Types can be `{ "baby_type": { "baby_egg": "item_id" }`, `{ "baby_type": { "baby_egg_group": "item_group_id" }`, `{ "baby_type": { "baby_monster": "monster_id" }`, `{ "baby_type": { "baby_monster_group": "monster_group_id" }`. Only one type can be used. ## "zombify_into" (monster string id, optional) diff --git a/src/monattack.cpp b/src/monattack.cpp index 964f6f8c6cbe6..c2fbff56bd03d 100644 --- a/src/monattack.cpp +++ b/src/monattack.cpp @@ -492,7 +492,7 @@ bool mattack::eat_food( monster *z ) continue; } //Don't eat own eggs - if( z->type->baby_egg != item.type->get_id() && ( z->amount_eaten <= z->stomach_size ) ) { + if( z->type->baby_type.baby_egg != item.type->get_id() && ( z->amount_eaten <= z->stomach_size ) ) { int consumed = 1; if( item.count_by_charges() ) { int kcal = item.get_comestible()->default_nutrition.kcal(); diff --git a/src/monmove.cpp b/src/monmove.cpp index e0925364d2a9d..8b9bfd4eacb15 100644 --- a/src/monmove.cpp +++ b/src/monmove.cpp @@ -416,8 +416,14 @@ void monster::anger_cub_threatened( monster_plan &mon_plan ) } for( monster &tmp : g->all_monsters() ) { - if( type->baby_monster == tmp.type->id || - MonsterGroupManager::IsMonsterInGroup( type->baby_monster_group, tmp.type->id ) ) { + bool is_baby = false; + if( !type->baby_type.baby_monster.is_null() ) { + is_baby = type->baby_type.baby_monster == tmp.type->id; + } + if( !type->baby_type.baby_monster_group.is_null() ) { + is_baby = MonsterGroupManager::IsMonsterInGroup( type->baby_type.baby_monster_group, tmp.type->id ); + } + if( is_baby ) { // baby nearby; is the player too close? mon_plan.dist = tmp.rate_target( *mon_plan.target, mon_plan.dist, mon_plan.smart_planning ); if( mon_plan.dist <= 3 ) { diff --git a/src/monster.cpp b/src/monster.cpp index 5da1331f05f43..88999041be578 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -605,21 +605,26 @@ void monster::try_reproduce() } if( season_match && female && one_in( chance ) ) { int spawn_cnt = rng( 1, type->baby_count ); - if( type->baby_monster ) { - here.add_spawn( type->baby_monster, spawn_cnt, pos_bub(), friendly ); - } else if( type->baby_monster_group ) { + if( !type->baby_type.baby_monster.is_null() ) { + here.add_spawn( type->baby_type.baby_monster, spawn_cnt, pos_bub(), friendly ); + } + if( !type->baby_type.baby_monster_group.is_null() ) { std::vector babies = MonsterGroupManager::GetResultFromGroup( - type->baby_monster_group, &spawn_cnt, + type->baby_type.baby_monster_group, &spawn_cnt, nullptr, false, nullptr, true ); for( const MonsterGroupResult &mgr : babies ) { - here.add_spawn( mgr.name, spawn_cnt * mgr.pack_size, pos_bub(), friendly ); + here.add_spawn( mgr.name, std::max( 1, spawn_cnt * mgr.pack_size ), pos_bub(), friendly ); } - } else { - const item egg( type->baby_egg, *baby_timer ); + } + if( !type->baby_type.baby_egg.is_null() ) { + const item egg( type->baby_type.baby_egg, *baby_timer ); for( int i = 0; i < spawn_cnt; i++ ) { here.add_item_or_charges( pos_bub(), egg, true ); } } + if( !type->baby_type.baby_egg_group.is_null() ) { + here.spawn_items( pos(), item_group::items_from( type->baby_type.baby_egg_group ) ); + } } *baby_timer += *type->baby_timer; } diff --git a/src/monstergenerator.cpp b/src/monstergenerator.cpp index 1304e222d97c3..55844d292eedd 100644 --- a/src/monstergenerator.cpp +++ b/src/monstergenerator.cpp @@ -1188,12 +1188,36 @@ void mtype::load( const JsonObject &jo, const std::string &src ) baby_timer = read_from_json_string( repro.get_member( "baby_timer" ), time_duration::units ); } - optional( repro, was_loaded, "baby_monster", baby_monster, string_id_reader<::mtype> {}, - mtype_id::NULL_ID() ); - optional( repro, was_loaded, "baby_monster_group", baby_monster_group, mongroup_id::NULL_ID() ); - optional( repro, was_loaded, "baby_egg", baby_egg, string_id_reader<::itype> {}, - itype_id::NULL_ID() ); - reproduces = true; + + if( repro.has_object( "baby_type" ) ) { + JsonObject jo_type = repro.get_object( "baby_type" ); + if( jo_type.has_member( "baby_monster" ) ) { + mandatory( jo_type, was_loaded, "baby_monster", baby_type.baby_monster ); + baby_type.baby_monster_group = mongroup_id::NULL_ID(); + baby_type.baby_egg = itype_id::NULL_ID(); + baby_type.baby_egg_group = item_group_id::NULL_ID(); + } else if( jo_type.has_member( "baby_monster_group" ) ) { + mandatory( jo_type, was_loaded, "baby_monster_group", baby_type.baby_monster_group ); + baby_type.baby_monster = mtype_id::NULL_ID(); + baby_type.baby_egg = itype_id::NULL_ID(); + baby_type.baby_egg_group = item_group_id::NULL_ID(); + } else if( jo_type.has_member( "baby_egg" ) ) { + mandatory( jo_type, was_loaded, "baby_egg", baby_type.baby_egg ); + baby_type.baby_monster = mtype_id::NULL_ID(); + baby_type.baby_monster_group = mongroup_id::NULL_ID(); + baby_type.baby_egg_group = item_group_id::NULL_ID(); + } else if( jo_type.has_member( "baby_egg_group" ) ) { + mandatory( jo_type, was_loaded, "baby_egg_group", baby_type.baby_egg_group ); + baby_type.baby_monster = mtype_id::NULL_ID(); + baby_type.baby_monster_group = mongroup_id::NULL_ID(); + baby_type.baby_egg = itype_id::NULL_ID(); + } + if( jo_type.has_member( "baby_monster" ) + jo_type.has_member( "baby_monster_group" ) + + jo_type.has_member( "baby_egg" ) + jo_type.has_member( "baby_egg_group" ) > 1 ) { + debugmsg( "Reproduction has more than one baby_type defined, which is prohibited" ); + } + reproduces = true; + } } if( jo.has_member( "baby_flags" ) ) { @@ -1755,6 +1779,7 @@ void MonsterGenerator::check_monster_definitions() const } if( mon.reproduces ) { + if( !mon.baby_timer || *mon.baby_timer <= 0_seconds ) { debugmsg( "Time between reproductions (%d) is invalid for %s", mon.baby_timer ? to_turns( *mon.baby_timer ) : -1, mon.id.c_str() ); @@ -1763,29 +1788,30 @@ void MonsterGenerator::check_monster_definitions() const debugmsg( "Number of children (%d) is invalid for %s", mon.baby_count, mon.id.c_str() ); } - if( !mon.baby_monster && mon.baby_egg.is_null() && !mon.baby_monster_group ) { - debugmsg( "No baby, baby group, or egg defined for monster %s", mon.id.c_str() ); - } - if( mon.baby_monster && !mon.baby_egg.is_null() ) { - debugmsg( "Both an egg and a live birth baby are defined for %s", mon.id.c_str() ); - } - if( mon.baby_monster_group && !mon.baby_egg.is_null() ) { - debugmsg( "Both an egg and a baby group are defined for %s", mon.id.c_str() ); - } - if( mon.baby_monster && mon.baby_monster_group ) { - debugmsg( "Both baby and a baby group are defined for %s", mon.id.c_str() ); + + bool baby_monster = mon.baby_type.baby_monster != mtype_id::NULL_ID(); // if null then false + bool baby_monster_group = mon.baby_type.baby_monster_group != mongroup_id::NULL_ID(); + bool baby_egg = mon.baby_type.baby_egg != itype_id::NULL_ID(); + bool baby_egg_group = mon.baby_type.baby_egg_group != item_group_id::NULL_ID(); + if( !baby_monster && !baby_monster_group && !baby_egg && !baby_egg_group ) { + debugmsg( "No baby_monster, baby_monster_group, baby_egg or baby_egg_group defined for monster %s", + mon.id.c_str() ); } - if( !mon.baby_monster.is_valid() ) { + if( !mon.baby_type.baby_monster.is_valid() ) { debugmsg( "baby_monster %s of monster %s is not a valid monster id", - mon.baby_monster.c_str(), mon.id.c_str() ); + mon.baby_type.baby_monster.c_str(), mon.id.c_str() ); } - if( !mon.baby_monster_group.is_valid() ) { + if( !mon.baby_type.baby_monster_group.is_valid() ) { debugmsg( "baby_monster_group %s of monster %s is not a valid monster group id", - mon.baby_monster.c_str(), mon.id.c_str() ); + mon.baby_type.baby_monster.c_str(), mon.id.c_str() ); } - if( !item::type_is_defined( mon.baby_egg ) ) { + if( !item::type_is_defined( mon.baby_type.baby_egg ) ) { debugmsg( "item_id %s of monster %s is not a valid item id", - mon.baby_egg.c_str(), mon.id.c_str() ); + mon.baby_type.baby_egg.c_str(), mon.id.c_str() ); + } + if( !item_group::group_is_defined( mon.baby_type.baby_egg_group ) && baby_egg_group ) { + debugmsg( "item_group_id %s of monster %s is not a valid itemgroup id", + mon.baby_type.baby_egg_group.c_str(), mon.id.c_str() ); } } diff --git a/src/mtype.cpp b/src/mtype.cpp index 9ef8915c91464..ccbc8033697a8 100644 --- a/src/mtype.cpp +++ b/src/mtype.cpp @@ -305,9 +305,6 @@ mtype::mtype() reproduces = false; baby_count = -1; - baby_monster = mtype_id::NULL_ID(); - baby_monster_group = mongroup_id::NULL_ID(); - baby_egg = itype_id::NULL_ID(); biosignatures = false; biosig_item = itype_id::NULL_ID(); diff --git a/src/mtype.h b/src/mtype.h index 340748ccae7b0..2c5a8ca7ef27e 100644 --- a/src/mtype.h +++ b/src/mtype.h @@ -279,6 +279,13 @@ struct mount_item_data { itype_id storage; }; +struct baby_type { + mtype_id baby_monster; + mongroup_id baby_monster_group; + itype_id baby_egg; + item_group_id baby_egg_group; +}; + struct mtype { private: friend class MonsterGenerator; @@ -310,9 +317,8 @@ struct mtype { mtype_id zombify_into; // mtype_id this monster zombifies into mtype_id fungalize_into; // mtype_id this monster fungalize into - mtype_id baby_monster; - mongroup_id baby_monster_group; - itype_id baby_egg; + baby_type baby_type; + // Monster biosignature variables itype_id biosig_item;