Skip to content

Commit

Permalink
Mutation infrastructure and a Threshold calculation revamp (#56421)
Browse files Browse the repository at this point in the history
* Tear down entire threshold calcs + rebuild them
* Debug options for testing mutation categories
* New character menu properly removes mutations
* Adds mutations to Nerd- I mean Manatouched
Co-authored-by: Maleclypse <[email protected]>
  • Loading branch information
MylieDaniels authored Apr 4, 2022
1 parent f373d83 commit b0b5bcf
Show file tree
Hide file tree
Showing 23 changed files with 787 additions and 490 deletions.
365 changes: 237 additions & 128 deletions data/json/mutations/mutations.json

Large diffs are not rendered by default.

22 changes: 16 additions & 6 deletions data/mods/Aftershock/mutations/mutations.json
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@
"flags": [ "PRED1" ],
"description": "When were you ever like these creatures, helpless before the changes ravaging this world.",
"purifiable": false,
"changes_to": [ "PRED2" ],
"changes_to": [ "ELDRITCH" ],
"prereqs": [ "THRESH_YUGGOTH" ],
"threshreq": [ "THRESH_YUGGOTH" ],
"cancels": [ "PACIFIST" ],
Expand All @@ -225,9 +225,8 @@
"description": "You have a sinister aspect to your demeanor, no longer part of this world. You feel no sorrow at the deaths of humans and your brain now processes combat skills more efficiently as you mentally dissect your opponents.",
"social_modifiers": { "intimidate": 3, "persuade": -10, "lie": -12 },
"purifiable": false,
"flags": [ "PRED1" ],
"prereqs": [ "THRESH_YUGGOTH" ],
"prereqs2": [ "DETACHMENT" ],
"flags": [ "PRED3" ],
"prereqs": [ "DETACHMENT" ],
"threshreq": [ "THRESH_YUGGOTH" ],
"cancels": [ "PACIFIST" ],
"category": [ "MIGO" ]
Expand Down Expand Up @@ -382,7 +381,7 @@
"description": "Your skin has patches of light fur. This has no impact on your life except marking you as not fully human.",
"types": [ "SKIN" ],
"changes_to": [ "LIGHTFUR" ],
"category": [ "MASTODON" ]
"category": [ "MASTODON", "SPIDER", "MOUSE", "BEAST", "CATTLE", "RAT", "FELINE", "LUPINE", "RABBIT", "INSECT", "URSINE" ]
},
{
"type": "mutation",
Expand Down Expand Up @@ -570,6 +569,18 @@
"copy-from": "MET_RAT",
"extend": { "category": [ "MASTODON" ] }
},
{
"type": "mutation",
"id": "SKIN_ROUGH",
"copy-from": "SKIN_ROUGH",
"extend": { "category": [ "MASTODON" ] }
},
{
"type": "mutation",
"id": "SLEEPY",
"copy-from": "SLEEPY",
"extend": { "category": [ "MASTODON" ] }
},
{
"type": "mutation",
"id": "THIRST",
Expand Down Expand Up @@ -623,7 +634,6 @@
"points": -1,
"mixed_effect": true,
"description": "You have a trumpeting, elephantine voice. Threatening NPCs will be easier, but lying will be very hard.",
"changes_to": [ "SNARL" ],
"category": [ "MASTODON" ],
"social_modifiers": { "lie": -30, "intimidate": 10 }
},
Expand Down
6 changes: 1 addition & 5 deletions data/mods/Aftershock/mutations/obsolete.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@
"points": -1,
"description": "Your scent is particularly strong. It's vaguely offensive to humans, and animals that track your scent will do so more easily.",
"valid": false,
"changes_to": [ "SMELLY2" ],
"types": [ "SCENT" ],
"scent_intensity": 800,
"social_modifiers": { "persuade": -5, "intimidate": -5 }
Expand Down Expand Up @@ -286,8 +285,7 @@
"description": "You smell exactly like a shaggy elephant would, assuming it sweated, which you do. Monsters that track scent will find you very easily, and humans will react poorly.",
"valid": false,
"scent_intensity": 1200,
"prereqs": [ "ELEPHANTINE_SMELL" ],
"leads_to": [ "PHEROMONE_MAMMAL" ]
"prereqs": [ "ELEPHANTINE_SMELL" ]
},
{
"type": "mutation",
Expand Down Expand Up @@ -335,7 +333,6 @@
"description": "Ugh, out of water already? You need about twice the fluids of an average human.",
"valid": false,
"prereqs": [ "THIRST" ],
"changes_to": [ "THIRST3" ],
"cancels": [ "NO_THIRST" ],
"thirst_modifier": 1.0
},
Expand All @@ -360,7 +357,6 @@
"valid": false,
"types": [ "RUNNING" ],
"prereqs": [ "DELIBERATE1" ],
"changes_to": [ "PONDEROUS3" ],
"cancels": [ "QUICK" ],
"movecost_modifier": 1.25
}
Expand Down
93 changes: 14 additions & 79 deletions data/mods/CRT_EXPANSION/mutations/crt_vamp_mutations.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,15 @@
{
"type": "mutation",
"id": "FLEET",
"name": "Fleet-Footed",
"points": 2,
"description": "You can move more quickly than most, resulting in a 15% speed bonus on sure footing.",
"starting_trait": true,
"changes_to": [ "FLEET2" ],
"category": [ "SPIDER", "MOUSE", "VAMP" ],
"types": [ "RUNNING" ],
"movecost_flatground_modifier": 0.85
"copy-from": "FLEET",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
"id": "GOODCARDIO",
"copy-from": "GOODCARDIO",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
"id": "FASTHEALER",
"copy-from": "FASTHEALER",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
"id": "NIGHTVISION",
Expand Down Expand Up @@ -64,12 +52,6 @@
"copy-from": "CANNIBAL",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
"id": "WEAKSCENT",
"copy-from": "WEAKSCENT",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
"id": "PRETTY",
Expand All @@ -94,6 +76,12 @@
"copy-from": "WEAKSTOMACH",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
"id": "PALE",
"copy-from": "PALE",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
"id": "ALBINO",
Expand All @@ -115,73 +103,20 @@
{
"type": "mutation",
"id": "NIGHTVISION3",
"name": "Full Night Vision",
"points": 6,
"description": "You can see in pitch blackness as if you were wearing night-vision goggles. Activate to toggle NV-visible areas on or off.",
"prereqs": [ "NIGHTVISION2" ],
"leads_to": [ "INFRARED" ],
"cancels": [ "ELFA_NV", "ELFA_FNV", "FEL_NV", "URSINE_EYE" ],
"category": [ "FISH", "TROGLOBITE", "SPIDER", "VAMP" ],
"active": true,
"starts_active": true
"copy-from": "NIGHTVISION3",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
"id": "FANGS",
"name": "Fangs",
"points": 2,
"visibility": 2,
"ugliness": 2,
"description": "Your teeth have grown into two-inch-long fangs, allowing you to make an extra attack when conditions favor it.",
"types": [ "TEETH" ],
"changes_to": [ "SABER_TEETH", "SHARKTEETH" ],
"category": [ "LIZARD", "FISH", "LUPINE", "FELINE", "CHIMERA", "VAMP" ],
"attacks": [
{
"attack_text_u": "You sink your fangs into %s",
"attack_text_npc": "%1$s sinks their fangs into %2$s",
"blocker_mutations": [ "MUZZLE", "MUZZLE_LONG", "MUZZLE_RAT" ],
"body_part": "mouth",
"chance": 20,
"base_damage": { "damage_type": "stab", "amount": 20 }
},
{
"attack_text_u": "You sink your fangs into %s",
"attack_text_npc": "%1$s sinks their fangs into %2$s",
"required_mutations": [ "MUZZLE" ],
"body_part": "mouth",
"chance": 18,
"base_damage": { "damage_type": "stab", "amount": 20 }
},
{
"attack_text_u": "You sink your fangs into %s",
"attack_text_npc": "%1$s sinks their fangs into %2$s",
"required_mutations": [ "MUZZLE_LONG" ],
"body_part": "mouth",
"chance": 15,
"base_damage": { "damage_type": "stab", "amount": 20 }
},
{
"attack_text_u": "You sink your fangs into %s",
"attack_text_npc": "%1$s sinks their fangs into %2$s",
"required_mutations": [ "MUZZLE_RAT" ],
"body_part": "mouth",
"chance": 19,
"base_damage": { "damage_type": "stab", "amount": 20 }
}
]
"copy-from": "FANGS",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
"id": "NAILS",
"name": "Long Fingernails",
"points": 1,
"visibility": 1,
"description": "Your fingernails are long and sharp. If you aren't wearing gloves, your unarmed attacks deal a minor amount of cutting damage.",
"types": [ "CLAWS" ],
"changes_to": [ "CLAWS", "TALONS" ],
"cancels": [ "ARM_TENTACLES", "ARM_TENTACLES_4", "ARM_TENTACLES_8" ],
"category": [ "RAPTOR", "VAMP" ]
"copy-from": "NAILS",
"extend": { "category": [ "VAMP" ] }
},
{
"type": "mutation",
Expand Down
24 changes: 24 additions & 0 deletions data/mods/CRT_EXPANSION/mutations/crt_wendigo_mutations.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@
"purifiable": false,
"threshold": true
},
{
"type": "mutation",
"id": "WEAKSCENT",
"copy-from": "WEAKSCENT",
"extend": { "category": [ "SYLVAN", "VAMP" ] }
},
{
"type": "mutation",
"id": "NMELD",
Expand Down Expand Up @@ -40,12 +46,30 @@
"copy-from": "SMELLY",
"extend": { "category": [ "SYLVAN" ] }
},
{
"type": "mutation",
"id": "SMELLY2",
"copy-from": "SMELLY2",
"extend": { "category": [ "SYLVAN" ] }
},
{
"type": "mutation",
"id": "PHEROMONE_MAMMAL",
"copy-from": "PHEROMONE_MAMMAL",
"extend": { "category": [ "SYLVAN" ] }
},
{
"type": "mutation",
"id": "FASTHEALER",
"copy-from": "FASTHEALER",
"extend": { "category": [ "SYLVAN", "VAMP" ] }
},
{
"type": "mutation",
"id": "FASTHEALER2",
"copy-from": "FASTHEALER2",
"extend": { "category": [ "SYLVAN" ] }
},
{
"type": "mutation",
"id": "REGEN",
Expand Down
66 changes: 66 additions & 0 deletions data/mods/DinoMod/mutations/mutations.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@
"purifiable": false,
"threshold": true
},
{
"type": "mutation",
"id": "HERBIVORE",
"copy-from": "HERBIVORE",
"extend": { "category": [ "STEGO" ] }
},
{
"type": "mutation",
"id": "RUMINANT",
Expand Down Expand Up @@ -230,6 +236,12 @@
"copy-from": "SCALES",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "NAILS",
"copy-from": "NAILS",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "CLAWS",
Expand Down Expand Up @@ -267,12 +279,24 @@
"strength_damage": { "damage_type": "bash", "amount": 3 }
}
},
{
"type": "mutation",
"id": "HEADBUMPS",
"copy-from": "HEADBUMPS",
"extend": { "category": [ "STEGO" ] }
},
{
"type": "mutation",
"id": "HORNS",
"copy-from": "HORNS",
"extend": { "category": [ "STEGO" ] }
},
{
"type": "mutation",
"id": "TAIL_STUB",
"copy-from": "TAIL_STUB",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "TAIL_LONG",
Expand Down Expand Up @@ -386,30 +410,72 @@
"copy-from": "SLIT_NOSTRILS",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "UGLY",
"copy-from": "UGLY",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "DEFORMED",
"copy-from": "DEFORMED",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "DEFORMED2",
"copy-from": "DEFORMED2",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "THIRST",
"copy-from": "THIRST",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "THIRST2",
"copy-from": "THIRST2",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "THIRST3",
"copy-from": "THIRST3",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "PONDEROUS1",
"copy-from": "PONDEROUS1",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "PONDEROUS2",
"copy-from": "PONDEROUS2",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "COLDBLOOD",
"copy-from": "COLDBLOOD",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "COLDBLOOD2",
"copy-from": "COLDBLOOD2",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "COLDBLOOD3",
"copy-from": "COLDBLOOD3",
"extend": { "category": [ "STEGO", "TYRANT" ] }
},
{
"type": "mutation",
"id": "COLDBLOOD4",
Expand Down
Loading

0 comments on commit b0b5bcf

Please sign in to comment.