Skip to content

Commit

Permalink
Chance for moose, coyotes, and rattlesnakes to birth mutant babies (#…
Browse files Browse the repository at this point in the history
…76211)

* moose

* rattlesnake

* coyote

* Apply suggestions from code review

Co-authored-by: Anton Simakov <[email protected]>

---------

Co-authored-by: Anton Simakov <[email protected]>
  • Loading branch information
Karol1223 and GuardianDll authored Sep 29, 2024
1 parent de1d770 commit 9791584
Show file tree
Hide file tree
Showing 8 changed files with 81 additions and 10 deletions.
6 changes: 6 additions & 0 deletions data/json/harvest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2397,6 +2397,12 @@
"copy-from": "mammal_tiny",
"extend": { "entries": [ { "drop": "skull_canis_small", "type": "bone", "scale_num": [ 1, 1 ], "max": 1 } ] }
},
{
"id": "dog_tiny_with_skull_mutant",
"type": "harvest",
"copy-from": "mutant_tiny",
"extend": { "entries": [ { "drop": "skull_canis_small", "type": "bone", "scale_num": [ 1, 1 ], "max": 1 } ] }
},
{
"id": "llama_with_skull",
"type": "harvest",
Expand Down
18 changes: 18 additions & 0 deletions data/json/monstergroups/mammal.json
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,14 @@
{
"name": "GROUP_MOOSE",
"type": "monstergroup",
"monsters": [
{ "group": "GROUP_MOOSE_NORMAL", "weight": 19 },
{ "group": "GROUP_TUSKED_MOOSE", "weight": 1, "starts": "732 days" }
]
},
{
"name": "GROUP_MOOSE_NORMAL",
"type": "monstergroup",
"monsters": [
{ "monster": "mon_moose", "weight": 150, "cost_multiplier": 2 },
{ "monster": "mon_moose_calf", "weight": 50, "ends": "31 days", "conditions": [ "AUTUMN", "WINTER" ] },
Expand All @@ -181,6 +189,16 @@
{ "monster": "mon_tusked_moose_calf", "weight": 50, "starts": "70 days", "conditions": [ "SPRING", "SUMMER" ] }
]
},
{
"name": "GROUP_COYOTE",
"type": "monstergroup",
"//": "Not doing the whole weird thing with timers and weight halving for babies as the groups above me did. I have no idea what's that hoping to accomplish and nobody else seems to either.",
"monsters": [
{ "monster": "mon_coyote", "weight": 38 },
{ "monster": "mon_coyote_mutant_shark", "weight": 1, "starts": "272 days" },
{ "monster": "mon_coyote_mutant_venom", "weight": 1, "starts": "272 days" }
]
},
{
"name": "GROUP_STRAY_DOGS",
"type": "monstergroup",
Expand Down
6 changes: 6 additions & 0 deletions data/json/monstergroups/misc.json
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,12 @@
"name": "GROUP_JABBERWOCK",
"monsters": [ { "monster": "mon_jabberwock" } ]
},
{
"name": "GROUP_RATTLESNAKE",
"type": "monstergroup",
"monsters": [ { "monster": "mon_rattlesnake", "weight": 19 }, { "monster": "mon_rattlesnake_big", "weight": 1 } ],
"//": "Normally for the time until mutants start spawning we take the growth time of a mutant baby with default evolution rates. But because rattlesnakes follow the mutation logic of invertebrates, we assume there were some mildly oversized variations at the start of the Cataclysm already."
},
{
"type": "monstergroup",
"name": "GROUP_CAMP_HUNTING",
Expand Down
21 changes: 21 additions & 0 deletions data/json/monstergroups/mutant_vertebrate_reproduction.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[
{
"name": "REPRODUCTION_MUT_MOOSE",
"type": "monstergroup",
"monsters": [ { "monster": "mon_moose_calf", "weight": 19 }, { "monster": "mon_tusked_moose_calf", "weight": 1 } ]
},
{
"name": "REPRODUCTION_MUT_COYOTE",
"type": "monstergroup",
"monsters": [
{ "monster": "mon_coyote_pup", "weight": 38 },
{ "monster": "mon_coyote_pup_mutant_shark", "weight": 1 },
{ "monster": "mon_coyote_pup_mutant_venom", "weight": 1 }
]
},
{
"name": "REPRODUCTION_MUT_RATTLESNAKE",
"type": "monstergroup",
"monsters": [ { "monster": "mon_rattlesnake_s", "weight": 19 }, { "monster": "mon_rattlesnake_big_s", "weight": 1 } ]
}
]
5 changes: 2 additions & 3 deletions data/json/monstergroups/wilderness.json
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@
{ "group": "GROUP_REINDEERS", "weight": 3, "cost_multiplier": 3, "pack_size": [ 2, 6 ], "event": "christmas" },
{ "monster": "mon_fox_gray", "weight": 1, "cost_multiplier": 0 },
{ "monster": "mon_fox_red", "weight": 1, "cost_multiplier": 0 },
{ "monster": "mon_coyote", "weight": 1, "cost_multiplier": 2, "pack_size": [ 1, 6 ] },
{ "group": "GROUP_COYOTE", "weight": 1, "cost_multiplier": 2, "pack_size": [ 1, 6 ] },
{ "group": "GROUP_MOOSE", "weight": 1, "cost_multiplier": 3, "pack_size": [ 1, 3 ] }
]
},
Expand All @@ -180,7 +180,6 @@
"is_animal": true,
"monsters": [
{ "group": "GROUP_DEER_MUT_SPIDERS", "weight": 4, "cost_multiplier": 2, "pack_size": [ 1, 3 ] },
{ "group": "GROUP_TUSKED_MOOSE", "weight": 1, "cost_multiplier": 3, "pack_size": [ 1, 3 ] },
{ "monster": "mon_bear_mutant_3headed", "weight": 1, "cost_multiplier": 10 }
]
},
Expand Down Expand Up @@ -222,7 +221,7 @@
"default": "mon_null",
"is_animal": true,
"monsters": [
{ "monster": "mon_rattlesnake", "weight": 3 },
{ "group": "GROUP_RATTLESNAKE", "weight": 3 },
{ "monster": "mon_gartersnake", "weight": 10 },
{ "monster": "mon_wormsnake", "weight": 5 },
{ "monster": "mon_skink_fivelined", "weight": 2, "pack_size": [ 1, 2 ] }
Expand Down
5 changes: 2 additions & 3 deletions data/json/monsters/mammal.json
Original file line number Diff line number Diff line change
Expand Up @@ -911,7 +911,7 @@
"dodge": 4,
"vision_night": 20,
"path_settings": { "max_dist": 10 },
"reproduction": { "baby_type": { "baby_monster": "mon_coyote_pup" }, "baby_count": 4, "baby_timer": 63 },
"reproduction": { "baby_type": { "baby_monster_group": "REPRODUCTION_MUT_COYOTE" }, "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" ],
Expand Down Expand Up @@ -1857,8 +1857,7 @@
"anger_triggers": [ "HURT", "MATING_SEASON" ],
"zombify_into": "mon_zoose",
"baby_flags": [ "AUTUMN" ],
"reproduction": { "baby_type": { "baby_monster": "mon_moose_calf" }, "baby_count": 1, "baby_timer": 154 },
"upgrades": { "half_life": 90, "into": "mon_tusked_moose" },
"reproduction": { "baby_type": { "baby_monster_group": "REPRODUCTION_MUT_MOOSE" }, "baby_count": 1, "baby_timer": 154 },
"harvest": "moose_with_skull",
"dissect": "dissect_cattle_sample_large",
"weakpoint_sets": [ "wps_animal_quadruped" ],
Expand Down
28 changes: 25 additions & 3 deletions data/json/monsters/mutant_mammal.json
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,19 @@
{ "id": "scratch_grab_required" }
],
"stomach_size": 500,
"reproduction": { "baby_type": { "baby_monster": "mon_coyote_pup_mutant_shark" }, "baby_count": 4, "baby_timer": 63 },
"harvest": "dog_with_skull_fur_mutant",
"path_settings": { "max_dist": 7 },
"extend": { "flags": [ "NO_BREED" ] }
"path_settings": { "max_dist": 7 }
},
{
"id": "mon_coyote_pup_mutant_shark",
"type": "MONSTER",
"name": { "str": "grinning coyote pup" },
"description": "A cute coyote pup. Though, on a closer look, something is off about it.",
"copy-from": "mon_coyote_pup",
"melee_damage": [ { "damage_type": "cut", "amount": 4 } ],
"upgrades": { "age_grow": 68, "into": "mon_coyote_mutant_shark" },
"harvest": "dog_tiny_with_skull_mutant"
},
{
"id": "mon_coyote_mutant_venom",
Expand All @@ -159,8 +169,20 @@
"melee_dice_sides": 8,
"melee_damage": [ { "damage_type": "cut", "amount": 4 } ],
"path_settings": { "max_dist": 7 },
"reproduction": { "baby_type": { "baby_monster": "mon_coyote_pup_mutant_venom" }, "baby_count": 4, "baby_timer": 63 },
"harvest": "dog_with_skull_fur_mutant",
"extend": { "flags": [ "NO_BREED", "BADVENOM" ] }
"extend": { "flags": [ "BADVENOM" ] }
},
{
"id": "mon_coyote_pup_mutant_venom",
"type": "MONSTER",
"name": { "str": "slavering coyote pup" },
"description": "A cute coyote pup. Though, on a closer look, something is off about it.",
"copy-from": "mon_coyote_pup",
"melee_damage": [ { "damage_type": "cut", "amount": 2 } ],
"upgrades": { "age_grow": 68, "into": "mon_coyote_mutant_venom" },
"harvest": "dog_tiny_with_skull_mutant",
"extend": { "flags": [ "BADVENOM" ] }
},
{
"id": "mon_deer_mutant_spider",
Expand Down
2 changes: 1 addition & 1 deletion data/json/monsters/reptile_amphibian.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@
"special_attacks": [ [ "RATTLE", 6 ] ],
"anger_triggers": [ "PLAYER_CLOSE" ],
"fear_triggers": [ "HURT" ],
"reproduction": { "baby_type": { "baby_monster": "mon_rattlesnake_s" }, "baby_count": 10, "baby_timer": 135 },
"reproduction": { "baby_type": { "baby_monster_group": "REPRODUCTION_MUT_RATTLESNAKE" }, "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" ] }
Expand Down

0 comments on commit 9791584

Please sign in to comment.