From fcd2f480d46045ed3417c78f41a4d83e9b21717d Mon Sep 17 00:00:00 2001 From: Valiant Date: Tue, 19 Jul 2022 12:30:37 +0400 Subject: [PATCH 1/2] Added Snail, Rabbit, and Frog mutations to the list of possible mutations for NPC Also removed mastodon and migo mutation line which were broken and/or unused. --- data/mods/No_Hope/NPC/npc_classes_mutant.json | 78 ++++-- data/mods/No_Hope/NPC/trait_groups.json | 247 +++++++++++------- 2 files changed, 206 insertions(+), 119 deletions(-) diff --git a/data/mods/No_Hope/NPC/npc_classes_mutant.json b/data/mods/No_Hope/NPC/npc_classes_mutant.json index ab893e5881756..bafb0dd9fbec7 100644 --- a/data/mods/No_Hope/NPC/npc_classes_mutant.json +++ b/data/mods/No_Hope/NPC/npc_classes_mutant.json @@ -18,6 +18,65 @@ { "distribution": [ { "group": "trait_group_lizard_nonthres" }, { "group": "trait_group_lizard_postthres" } ] } ] }, + { + "type": "npc_class", + "id": "NC_NPC_MUTANT_RABBIT", + "name": "Rabbit Mutant", + "job_description": "I'm looking for rabbit mutagen… this world is no place for humans anymore, and I don't plan to keep being one.", + "skills": [ + { "skill": "dodge", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "swimming", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "speech", "bonus": { "rng": [ 3, 6 ] } } + ], + "bonus_per": 2, + "bonus_dex": 4, + "traits": [ + { "group": "trait_mutant_npc_common" }, + { "group": "BG_survival_story_UNIVERSAL" }, + { "group": "trait_group_rabbit" }, + { "distribution": [ { "group": "trait_group_rabbit_nonthres" }, { "group": "trait_group_rabbit_postthres" } ] } + ] + }, + { + "type": "npc_class", + "id": "NC_NPC_MUTANT_SNAIL", + "name": "Shell Cultist", + "job_description": "A religious cult of post human snail people that live in a volcanic cave under the ice.", + "skills": [ + { "skill": "fabrication", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "firstaid", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "gun", "bonus": { "rng": [ 3, 6 ] } } + ], + "bonus_per": 2, + "bonus_str": 2, + "bonus_int": 2, + "common": false, + "traits": [ + { "group": "trait_mutant_npc_common" }, + { "group": "BG_survival_story_UNIVERSAL" }, + { "group": "trait_group_snail" }, + { "distribution": [ { "group": "trait_group_snail_nonthres" }, { "group": "trait_group_snail_postthres" } ] } + ] + }, + { + "type": "npc_class", + "id": "NC_NPC_MUTANT_FROG", + "name": "Frog Mutant", + "job_description": "I'm looking for frog mutagen… this world is no place for humans anymore, and I don't plan to keep being one.", + "skills": [ + { "skill": "dodge", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "swimming", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "unarmed", "bonus": { "rng": [ 3, 6 ] } } + ], + "bonus_per": 2, + "bonus_dex": 4, + "traits": [ + { "group": "trait_mutant_npc_common" }, + { "group": "BG_survival_story_UNIVERSAL" }, + { "group": "trait_group_frog" }, + { "distribution": [ { "group": "trait_group_frog_nonthres" }, { "group": "trait_group_frog_postthres" } ] } + ] + }, { "type": "npc_class", "id": "NC_NPC_MUTANT_MEDICAL", @@ -404,24 +463,5 @@ { "group": "trait_group_raptor" }, { "distribution": [ { "group": "trait_group_raptor_nonthres" }, { "group": "trait_group_raptor_postthres" } ] } ] - }, - { - "type": "npc_class", - "id": "NC_NPC_MUTANT_MASTODON", - "name": "Mastodon Uplift", - "job_description": "Humans created me. Let's see what I can be on my own.", - "skills": [ - { "skill": "survival", "bonus": { "rng": [ 2, 4 ] } }, - { "skill": "melee", "bonus": { "rng": [ 6, 10 ] } }, - { "skill": "unarmed", "bonus": { "rng": [ 6, 10 ] } } - ], - "bonus_str": 3, - "traits": [ - { "group": "trait_mutant_npc_common" }, - { "group": "trait_group_mastodon" }, - { - "distribution": [ { "group": "trait_group_mastodon_nonthres" }, { "group": "trait_group_mastodon_postthres" } ] - } - ] } ] diff --git a/data/mods/No_Hope/NPC/trait_groups.json b/data/mods/No_Hope/NPC/trait_groups.json index ff44d067f3925..912c341f88133 100644 --- a/data/mods/No_Hope/NPC/trait_groups.json +++ b/data/mods/No_Hope/NPC/trait_groups.json @@ -46,6 +46,153 @@ } ] }, + { + "type": "trait_group", + "id": "trait_group_snail", + "subtype": "collection", + "traits": [ + { "trait": "LIGHTEATER", "prob": 50 }, + { "trait": "EASYSLEEPER", "prob": 50 }, + { "trait": "BADHEARING", "prob": 50 }, + { "trait": "INFRESIST", "prob": 50 }, + { "trait": "THICKSKIN", "prob": 50 }, + { "trait": "THIRST", "prob": 50 }, + { "trait": "DEFORMED2", "prob": 50 }, + { "trait": "SLIMY" }, + { "trait": "COLDBLOOD", "prob": 50 } + ] + }, + { + "type": "trait_group", + "id": "trait_group_snail_nonthres", + "subtype": "collection", + "traits": [ + { "trait": "THICKSKIN", "prob": 50 }, + { "trait": "SLIME_SPRAY", "prob": 50 }, + { "trait": "SHELL", "prob": 50 }, + { "distribution": [ { "trait": "EYESTALKS1" }, { "trait": "EYESTALKS2" } ] } + ] + }, + { + "type": "trait_group", + "id": "trait_group_snail_postthres", + "subtype": "collection", + "traits": [ + { "trait": "THRESH_GASTROPOD" }, + { + "distribution": [ { "trait": "GASTROPOD_EXTREMITY1" }, { "trait": "GASTROPOD_EXTREMITY2" }, { "trait": "GASTROPOD_EXTREMITY2" } ] + }, + { "trait": "GASTROPOD_FOOT" }, + { "trait": "GASTROPOD_BALANCE", "prob": 50 }, + { "distribution": [ { "trait": "MUCUS_SECRETION" }, { "trait": "MUCUS_SECRETION2" } ] }, + { "trait": "VISCOUS", "prob": 50 }, + { "distribution": [ { "trait": "SHELL2" }, { "trait": "SHELL3" } ] }, + { "trait": "TOXICFLESH", "prob": 50 } + ] + }, + { + "type": "trait_group", + "id": "trait_group_rabbit", + "subtype": "collection", + "traits": [ + { "trait": "FLEET", "prob": 50 }, + { "trait": "QUICK", "prob": 50 }, + { "trait": "GOODHEARING", "prob": 50 }, + { "trait": "EASYSLEEPER", "prob": 50 }, + { "trait": "DEFT", "prob": 50 }, + { "trait": "SLEEPY", "prob": 50 }, + { "trait": "PRETTY", "prob": 50 }, + { "trait": "FORGETFUL" }, + { "trait": "ADDICTIVE", "prob": 50 }, + { "trait": "RABBIT_EARS", "prob": 50 }, + { "trait": "TAIL_RABBIT", "prob": 50 }, + { "trait": "RABBIT_FEET", "prob": 50 } + ] + }, + { + "type": "trait_group", + "id": "trait_group_rabbit_nonthres", + "subtype": "collection", + "traits": [ + { "trait": "ANIMALDISCORD2", "prob": 50 }, + { "trait": "JITTERY", "prob": 50 }, + { "trait": "ALBINO", "prob": 50 }, + { "trait": "STRONG_LEGS", "prob": 50 }, + { "trait": "DEX_UP_2", "prob": 50 }, + { "distribution": [ { "trait": "LIGHT_BONES" }, { "trait": "LIGHTFUR" } ] } + ] + }, + { + "type": "trait_group", + "id": "trait_group_rabbit_postthres", + "subtype": "collection", + "traits": [ + { "trait": "THRESH_RABBIT" }, + { + "distribution": [ { "trait": "GASTROPOD_EXTREMITY1" }, { "trait": "GASTROPOD_EXTREMITY2" }, { "trait": "GASTROPOD_EXTREMITY2" } ] + }, + { "trait": "GOODCARDIO2" }, + { "trait": "LEAPING_LEGS", "prob": 50 }, + { "distribution": [ { "trait": "BURROW" }, { "trait": "SMALL" } ] }, + { "trait": "EASYSLEEPER2", "prob": 50 }, + { "distribution": [ { "trait": "FLIMSY" }, { "trait": "MET_RAT" } ] }, + { "trait": "GRAZER", "prob": 50 }, + { "trait": "RABBIT_FUR", "prob": 50 }, + { "trait": "INCISORS", "prob": 50 } + ] + }, + { + "type": "trait_group", + "id": "trait_group_frog", + "subtype": "collection", + "traits": [ + { "trait": "NIGHTVISION", "prob": 50 }, + { "trait": "NONADDICTIVE", "prob": 50 }, + { "trait": "STRONGKNEES", "prob": 50 }, + { "trait": "FASTHEALER2", "prob": 50 }, + { "trait": "DEFT", "prob": 50 }, + { "trait": "SPOTS", "prob": 50 }, + { "trait": "EYEBULGE", "prob": 50 }, + { "trait": "WIDE_MOUTH" }, + { "trait": "SMELLY2", "prob": 50 }, + { "trait": "VOMITOUS", "prob": 50 }, + { "trait": "THIRST3", "prob": 50 }, + { "trait": "WEBBED", "prob": 50 } + ] + }, + { + "type": "trait_group", + "id": "trait_group_frog_nonthres", + "subtype": "collection", + "traits": [ + { "trait": "DIRTSLEEPER", "prob": 50 }, + { "trait": "LEAPING_LEGS", "prob": 50 }, + { "trait": "HYPEROPIC", "prob": 50 }, + { "trait": "STRONG_LEGS", "prob": 50 }, + { "trait": "DEX_UP_2", "prob": 50 }, + { "trait": "COLDBLOOD3", "prob": 50 }, + { "distribution": [ { "trait": "URSINE_EYE" }, { "trait": "UGLY" } ] } + ] + }, + { + "type": "trait_group", + "id": "trait_group_frog_postthres", + "subtype": "collection", + "traits": [ + { "trait": "THRESH_BATRACHIAN" }, + { "distribution": [ { "trait": "MEMBRANE" }, { "trait": "GILLS" }, { "trait": "PHEROMONE_AMPHIBIAN" } ] }, + { "trait": "WATERSLEEPER" }, + { "trait": "VOMITSTOMACH", "prob": 50 }, + { "distribution": [ { "trait": "PRED1" }, { "trait": "PER_UP_2" } ] }, + { "trait": "WAKEFUL2", "prob": 50 }, + { "distribution": [ { "trait": "LONG_TONGUE" }, { "trait": "LONG_TONGUE2" } ] }, + { "trait": "LEAPING_LEGS2", "prob": 50 }, + { "trait": "EATPOISON", "prob": 50 }, + { "trait": "COLDBLOOD4", "prob": 50 }, + { "trait": "SEESLEEP", "prob": 50 }, + { "trait": "MUT_TOUGH", "prob": 50 } + ] + }, { "type": "trait_group", "id": "trait_group_alpha", @@ -917,105 +1064,5 @@ { "trait": "SQUEAMISH", "prob": 10 }, { "group": "Appearance_demographics", "prob": 100 } ] - }, - { - "type": "trait_group", - "id": "trait_group_mastodon", - "subtype": "collection", - "traits": [ - { "trait": "PATCHFUR", "prob": 50 }, - { "trait": "LEATHER_FEET", "prob": 50 }, - { "trait": "SKINFOLDS", "prob": 50 }, - { "trait": "HAULER", "prob": 50 }, - { "trait": "WEAKJOINTS", "prob": 50 }, - { "trait": "UPLIFTED" }, - { "trait": "ELEPHANTINE_SMELL", "prob": 50 }, - { "trait": "SPECAILIZED_DIET", "prob": 50 }, - { "trait": "ELEPHANTINE_SMELL", "prob": 50 }, - { "trait": "CRUSHINGFEET", "prob": 50 }, - { "trait": "HERBIVORE", "prob": 50 }, - { "trait": "FACEBUMPS", "prob": 50 } - ] - }, - { - "type": "trait_group", - "id": "trait_group_mastodon_nonthres", - "subtype": "collection", - "traits": [ - { "trait": "MUT_TANK", "prob": 50 }, - { "trait": "TUSKS", "prob": 50 }, - { "distribution": [ { "trait": "SHORTFUR" }, { "trait": "MEDIUMFUR" } ] } - ] - }, - { - "type": "trait_group", - "id": "trait_group_mastodon_postthres", - "subtype": "collection", - "traits": [ - { "trait": "THRESH_MASTODON" }, - { "distribution": [ { "trait": "ELEPHANTINE" }, { "trait": "ELEPHANTINE_OK" } ] }, - { "trait": "MUT_TANK2", "prob": 50 }, - { "trait": "GIGANTIC", "prob": 20 }, - { "trait": "GIGANTIC_OK", "prob": 20 }, - { "trait": "TUSKS_POINTED", "prob": 50 }, - { - "distribution": [ - { "trait": "TRUMPET" }, - { "collection": [ { "trait": "BIG_FOOD" }, { "trait": "LARGE_DIET" }, { "trait": "FLUSH" } ] } - ] - } - ] - }, - { - "type": "trait_group", - "id": "trait_group_migo", - "subtype": "collection", - "traits": [ - { "trait": "PATCHFUR", "prob": 50 }, - { "trait": "LEATHER_FEET", "prob": 50 }, - { "trait": "SKINFOLDS", "prob": 50 }, - { "trait": "HAULER", "prob": 50 }, - { "trait": "WEAKJOINTS", "prob": 50 }, - { "trait": "UPLIFTED" }, - { "trait": "ELEPHANTINE_SMELL", "prob": 50 }, - { "trait": "SPECAILIZED_DIET", "prob": 50 }, - { "trait": "ELEPHANTINE_SMELL", "prob": 50 }, - { "trait": "CRUSHINGFEET", "prob": 50 }, - { "trait": "HERBIVORE", "prob": 50 }, - { "trait": "FACEBUMPS", "prob": 50 } - ] - }, - { - "type": "trait_group", - "id": "trait_group_migo_nonthres", - "subtype": "collection", - "traits": [ - { "trait": "MIGO_BREATHE", "prob": 50 }, - { "trait": "SHOUT1", "prob": 50 }, - { "trait": "NEURAL_IMPROVEMENT", "prob": 50 }, - { "trait": "ENHANCED_REACTIONS", "prob": 50 }, - { "trait": "QUICKENING", "prob": 50 }, - { "distribution": [ { "trait": "NEURAL_IMPROVEMENT" }, { "trait": "EXPANDED_CONSCIOUSNESS" } ] }, - { "distribution": [ { "trait": "WARM_NATURED" }, { "trait": "MOUTH_TENDRILS" } ] } - ] - }, - { - "type": "trait_group", - "id": "trait_group_migo_postthres", - "subtype": "collection", - "traits": [ - { "trait": "THRESH_YUGGOTH" }, - { "distribution": [ { "trait": "UPLIFTED" }, { "trait": "ALIEN_INT" } ] }, - { "trait": "MIGO_HEAT_RESIST", "prob": 50 }, - { "trait": "OTHERWORLDLY_GRACE", "prob": 20 }, - { "trait": "NEW_MUSCLES", "prob": 20 }, - { "trait": "MUSCLE_FIBER", "prob": 50 }, - { - "distribution": [ - { "trait": "MIGO_EARS" }, - { "collection": [ { "trait": "NEW_MUSCLES" }, { "trait": "MUSCLE_FIBER" }, { "trait": "DETACHMENT" } ] } - ] - } - ] } ] From f113605d5d3d23b3bc1551da3f91670bf2ded0ba Mon Sep 17 00:00:00 2001 From: Valiant Date: Tue, 19 Jul 2022 12:31:01 +0400 Subject: [PATCH 2/2] Fixed erroneous item placement on terrain/furniture --- data/mods/No_Hope/Mapgen/nested/basement_nested.json | 1 + 1 file changed, 1 insertion(+) diff --git a/data/mods/No_Hope/Mapgen/nested/basement_nested.json b/data/mods/No_Hope/Mapgen/nested/basement_nested.json index c00db3192e34d..25ff4b6460f61 100644 --- a/data/mods/No_Hope/Mapgen/nested/basement_nested.json +++ b/data/mods/No_Hope/Mapgen/nested/basement_nested.json @@ -210,6 +210,7 @@ "!": "t_carpet_purple", "$": "t_carpet_purple" }, + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], "furniture": { "!": "f_fridge", "$": "f_rack_wood" }, "items": { "!": { "item": "wetbar_fridge", "chance": 50, "repeat": [ 1, 10 ] },