Skip to content

Commit

Permalink
feat(balance): Bionic zombies generate CBMs less often, harvesting of…
Browse files Browse the repository at this point in the history
… what generates made more reliable (cataclysmbnteam#3719)

* Commit for remote

* And finish up for PRing

* Rebalance yield for lower-tier harvests

* Mod updates and adjustment per feedback
  • Loading branch information
chaosvolt authored Nov 23, 2023
1 parent d437a5a commit 428d071
Show file tree
Hide file tree
Showing 8 changed files with 204 additions and 104 deletions.
45 changes: 20 additions & 25 deletions data/json/harvest.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
"type": "harvest",
"message": "You search for any salvageable bionic hardware in what's left of this failed experiment",
"entries": [
{ "drop": "bionic_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "cyborg_harvest", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "sinew", "type": "bone", "mass_ratio": 0.001 },
{ "drop": "cable", "base_num": [ 1, 3 ], "scale_num": [ 0.2, 0.6 ], "max": 8, "type": "flesh" },
Expand Down Expand Up @@ -627,8 +627,8 @@
"id": "CBM_BASIC",
"type": "harvest",
"entries": [
{ "drop": "bionic_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_zapper", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_zapper", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 }
Expand All @@ -638,8 +638,8 @@
"id": "CBM_CIV",
"type": "harvest",
"entries": [
{ "drop": "bionic_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_common", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_common", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 }
Expand All @@ -649,8 +649,8 @@
"id": "CBM_SCI",
"type": "harvest",
"entries": [
{ "drop": "bionic_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_sci", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_sci", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 }
Expand All @@ -660,12 +660,7 @@
"id": "CBM_SCI_FERAL",
"type": "harvest",
"entries": [
{
"drop": "bionics_sci",
"type": "bionic_group",
"flags": [ "NO_STERILE", "NO_PACKED" ],
"faults": [ "fault_bionic_salvaged" ]
},
{ "drop": "harvest_bionics_sci", "type": "bionic_group", "faults": [ "fault_bionic_salvaged" ] },
{ "drop": "human_flesh", "type": "flesh", "mass_ratio": 0.2 },
{ "drop": "hstomach", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" },
{ "drop": "human_fat", "type": "flesh", "mass_ratio": 0.1 },
Expand All @@ -678,8 +673,8 @@
"id": "CBM_TECH",
"type": "harvest",
"entries": [
{ "drop": "bionic_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_tech", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_tech", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 }
Expand All @@ -689,9 +684,9 @@
"id": "CBM_SUBS",
"type": "harvest",
"entries": [
{ "drop": "bionic_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_subs", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_subs", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_subs", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_subs", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 }
Expand All @@ -701,8 +696,8 @@
"id": "CBM_OP",
"type": "harvest",
"entries": [
{ "drop": "bionic_power_storage_mil", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_op", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_mil", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_op", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 }
Expand All @@ -712,10 +707,10 @@
"id": "CBM_OP2",
"type": "harvest",
"entries": [
{ "drop": "bionic_power_storage_mil", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_op2_off", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_op2_def", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_op2_utl", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_mil", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_op2_off", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_op2_def", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_op2_utl", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 }
Expand All @@ -725,7 +720,7 @@
"id": "CBM_POWER",
"type": "harvest",
"entries": [
{ "drop": "bionic_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_civ", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 }
Expand Down
145 changes: 134 additions & 11 deletions data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_advtech.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,32 +112,155 @@
"id": "cyborg_harvest",
"type": "item_group",
"subtype": "distribution",
"//": "Lower-tier bionic harvests have a 1/3 chance of generating nothing, 1/3 components, 1/3 CBMs",
"entries": [
{ "group": "bionic_salvage_junk", "prob": 15 },
{ "item": "bio_armor_head", "prob": 2 },
{ "item": "bio_armor_torso", "prob": 2 },
{ "item": "bio_armor_arms", "prob": 2 },
{ "item": "bio_armor_legs", "prob": 2 },
{ "item": "bio_armor_eyes", "prob": 2 },
{ "item": "bio_razors", "prob": 2 },
{ "item": "bio_torsionratchet", "prob": 1 }
{ "item": "null", "prob": 33 },
{ "item": "burnt_out_bionic", "prob": 11 },
{ "group": "bionic_salvage_junk", "prob": 22 },
{ "group": "bionics_broken_cyborg", "prob": 33 }
]
},
{
"id": "bionic_salvage_junk",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "burnt_out_bionic", "prob": 25 },
{ "item": "scrap", "prob": 15, "charges": [ 1, 5 ] },
{ "item": "alloy_sheet", "prob": 10 },
{ "item": "cable", "prob": 15, "charges": [ 5, 10 ] },
{ "item": "light_battery_cell", "prob": 10, "charges": [ 1, 100 ] },
{ "item": "alloy_sheet", "prob": 15 },
{ "item": "cable", "prob": 20, "charges": [ 5, 10 ] },
{ "item": "e_scrap", "prob": 10, "charges": [ 1, 5 ] },
{ "item": "power_supply", "prob": 5 },
{ "item": "processor", "prob": 5 },
{ "item": "RAM", "prob": 5 },
{ "item": "amplifier", "prob": 5 },
{ "item": "receiver", "prob": 5 },
{ "item": "circuit", "prob": 5 }
]
},
{
"id": "bionic_salvage_junk_mil",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "group": "bionic_salvage_junk", "prob": 50 },
{ "item": "alloy_sheet", "prob": 25, "count": [ 1, 3 ] },
{ "item": "plut_cell", "prob": 5, "charges": [ 1, 3 ] },
{ "item": "nanomaterial", "prob": 5, "charges": [ 1, 10 ] },
{ "item": "lens_small", "prob": 5 },
{ "item": "sensor_module", "prob": 5 },
{ "item": "targeting_module", "prob": 5 }
]
},
{
"id": "harvest_power_storage_civ",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 33 },
{ "group": "bionic_salvage_junk", "prob": 33 },
{ "group": "bionic_power_storage_civ", "prob": 33 }
]
},
{
"id": "harvest_power_storage_mil",
"type": "item_group",
"subtype": "distribution",
"//": "Higher-tier bionic harvests have a 1/4 chance of generating nothing, 1/4 components, 1/2 CBMs",
"entries": [
{ "item": "null", "prob": 25 },
{ "group": "bionic_salvage_junk_mil", "prob": 25 },
{ "group": "bionic_power_storage_mil", "prob": 50 }
]
},
{
"id": "harvest_bionics_common",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 33 },
{ "group": "bionic_salvage_junk", "prob": 33 },
{ "group": "bionics_common", "prob": 33 }
]
},
{
"id": "harvest_bionics_op",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 25 },
{ "group": "bionic_salvage_junk_mil", "prob": 25 },
{ "group": "bionics_op", "prob": 50 }
]
},
{
"id": "harvest_bionics_op2_def",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 25 },
{ "group": "bionic_salvage_junk_mil", "prob": 25 },
{ "group": "bionics_op2_def", "prob": 50 }
]
},
{
"id": "harvest_bionics_op2_off",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 25 },
{ "group": "bionic_salvage_junk_mil", "prob": 25 },
{ "group": "bionics_op2_off", "prob": 50 }
]
},
{
"id": "harvest_bionics_op2_utl",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 25 },
{ "group": "bionic_salvage_junk_mil", "prob": 25 },
{ "group": "bionics_op2_utl", "prob": 50 }
]
},
{
"id": "harvest_bionics_sci",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 33 },
{ "group": "bionic_salvage_junk", "prob": 33 },
{ "group": "bionics_sci", "prob": 33 }
]
},
{
"id": "harvest_bionics_subs",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 25 },
{ "group": "bionic_salvage_junk", "prob": 25 },
{ "group": "bionics_subs", "prob": 50 }
]
},
{
"id": "harvest_bionics_tech",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 33 },
{ "group": "bionic_salvage_junk", "prob": 33 },
{ "group": "bionics_tech", "prob": 33 }
]
},
{
"id": "harvest_bionics_zapper",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "null", "prob": 33 },
{ "group": "bionic_salvage_junk", "prob": 33 },
{ "group": "bionics_zapper", "prob": 33 }
]
}
]
15 changes: 15 additions & 0 deletions data/json/itemgroups/bionics.json
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,21 @@
[ "bio_purifier", 10 ]
]
},
{
"type": "item_group",
"id": "bionics_broken_cyborg",
"subtype": "distribution",
"//": "Non-faulty bionics harvestable from prototype/broken cyborgs.",
"items": [
[ "bio_armor_head", 2 ],
[ "bio_armor_torso", 2 ],
[ "bio_armor_arms", 2 ],
[ "bio_armor_legs", 2 ],
[ "bio_armor_eyes", 2 ],
[ "bio_razors", 2 ],
[ "bio_torsionratchet", 1 ]
]
},
{
"type": "item_group",
"id": "bionics_bank_vault",
Expand Down
39 changes: 4 additions & 35 deletions data/mods/Aftershock/items/afs_harvest.json
Original file line number Diff line number Diff line change
@@ -1,39 +1,8 @@
[
{
"id": "zombie",
"//": "your bog standard zombie",
"type": "harvest",
"entries": [
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 },
{ "drop": "afs_titanium_implant", "type": "bionic", "flags": [ "FILTHY", "NO_STERILE" ], "max": 1 },
{ "drop": "pheromone", "type": "bionic", "max": 1 }
]
},
{
"id": "CBM_CIV",
"type": "harvest",
"entries": [
{ "drop": "bio_power_storage", "type": "bionic", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_common", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "afs_titanium_implant", "type": "bionic", "flags": [ "FILTHY", "NO_STERILE" ], "max": 1 },
{ "drop": "meat_tainted", "type": "flesh", "mass_ratio": 0.25 },
{ "drop": "fat_tainted", "type": "flesh", "mass_ratio": 0.08 },
{ "drop": "bone_tainted", "type": "bone", "mass_ratio": 0.1 }
]
},
{
"id": "human",
"type": "harvest",
"entries": [
{ "drop": "human_flesh", "type": "flesh", "mass_ratio": 0.2 },
{ "drop": "hstomach", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" },
{ "drop": "human_fat", "type": "flesh", "mass_ratio": 0.1 },
{ "drop": "bone_human", "type": "bone", "mass_ratio": 0.12 },
{ "drop": "sinew", "type": "bone", "mass_ratio": 0.001 },
{ "drop": "afs_titanium_implant", "type": "bionic", "flags": [ "FILTHY", "NO_STERILE" ], "max": 1 },
{ "drop": "raw_hleather", "type": "skin", "mass_ratio": 0.01 }
]
"id": "bionic_salvage_junk",
"type": "item_group",
"subtype": "distribution",
"entries": [ { "item": "afs_titanium_implant", "prob": 25 } ]
}
]
4 changes: 2 additions & 2 deletions data/mods/Aftershock/mobs/harvest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"id": "CBM_DOG",
"type": "harvest",
"entries": [
{ "drop": "bio_power_storage_mkII", "type": "bionic", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "bionics_op", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_power_storage_mil", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "harvest_bionics_op", "type": "bionic_group", "faults": [ "fault_bionic_nonsterile" ] },
{ "drop": "meat", "type": "flesh", "mass_ratio": 0.3 },
{ "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.03 },
{ "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 },
Expand Down
2 changes: 1 addition & 1 deletion data/mods/DinoMod/DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ As much as possible, there should be content and feature parity between both (al
* Overmap folder - CLASSIC and MAN_MADE flags and min_max_zlevel and terrain not supported in BN
* Recipe folder - activity_level and proficiencies not supported in BN. chain mail recipes must use chainmail_vest item id in BN. Cutting 2 doesn't exist in BN so everything needs to be changed to cutting 1. blacksmithing_standard crafting requirement specifies anvil quality 1, supplemented by blacksmithing_intermediate and blacksmithing_advanced requirements bundling higher anvil quality plus chisel quality, then swage and die set.
* Requirements folder - extend not supported in BN. Bronze armor copies from a different item ID in BN
* Harvest file - no blood or marrow in BN
* Harvest file - no blood or marrow in BN, faulty bionics use the "fault_bionic_nonsterile" fault instead of flags, use of different bionic_group itemgroups for power storage and military dino bionics (which add a chance to generate nothing or non-CBM components, in return for dissection code having a higher success rate in BN)
Loading

0 comments on commit 428d071

Please sign in to comment.