Skip to content

Commit

Permalink
More feral-related changes (cataclysmbnteam#2926)
Browse files Browse the repository at this point in the history
* More feral-related changes

* The other stuff

* Suggestion per feedback

* Update suffer.cpp
  • Loading branch information
chaosvolt authored Jun 2, 2023
1 parent 9e8a806 commit e82791d
Show file tree
Hide file tree
Showing 13 changed files with 227 additions and 54 deletions.
6 changes: 5 additions & 1 deletion data/json/effects.json
Original file line number Diff line number Diff line change
Expand Up @@ -741,6 +741,8 @@
"type": "effect_type",
"id": "feral_killed_recently",
"max_duration": "200 d",
"max_intensity": 200,
"int_dur_factor": "1 d",
"name": [ "Lucidity" ],
"desc": [
"You could always go for more bloodshed, but the voices in your head are staying quiet for now. You currently won't suffer the side effects of your deteriorating mind and body."
Expand All @@ -751,7 +753,9 @@
{
"type": "effect_type",
"id": "feral_infighting_punishment",
"max_duration": "7 h",
"max_duration": "7 d",
"max_intensity": 7,
"int_dur_factor": "1 d",
"name": [ "Inner turmoil" ],
"desc": [ "You don't feel like you anymore. The others seem to regard you as prey." ],
"apply_message": "You feel like you shouldn't have done that…",
Expand Down
8 changes: 7 additions & 1 deletion data/json/external_tileset/External_Tileset_DP_Normal.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,13 @@
{ "id": "katar", "fg": 28 },
{ "id": "overlay_wielded_katar", "fg": 29 },
{ "id": "sai_weapon", "fg": 30 },
{ "id": "overlay_wielded_sai_weapon", "fg": 31 }
{ "id": "overlay_wielded_sai_weapon", "fg": 31 },
{
"id": "mon_feral_human_chainsaw",
"fg": [ { "weight": 10, "sprite": 32 }, { "weight": 10, "sprite": 33 }, { "weight": 10, "sprite": 34 } ],
"animated": false
},
{ "id": "corpse_mon_feral_human_chainsaw", "fg": 35 }
],
"sprite_width": 32,
"sprite_height": 32
Expand Down
Binary file modified data/json/external_tileset/External_Tileset_DP_Normal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 39 additions & 1 deletion data/json/monsterdrops/feral_humans.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,45 @@
"type": "item_group",
"subtype": "collection",
"id": "feral_humans_death_drops_crowbar",
"entries": [ { "item": "crowbar", "prob": 100, "damage": [ 1, 3 ] }, { "group": "default_zombie_clothes", "prob": 100 } ]
"entries": [
{ "item": "crowbar", "prob": 100, "damage": [ 1, 3 ] },
{
"distribution": [ { "group": "default_zombie_clothes", "prob": 50 }, { "group": "mon_zombie_fireman_death_drops", "prob": 50 } ]
}
]
},
{
"type": "item_group",
"subtype": "collection",
"id": "feral_humans_death_drops_chainsaw",
"//": "Chance of workman and rural outfits mixed in, if we ever get rural clothing sets replace the use of Isherwood outfits with that.",
"entries": [
{
"distribution": [
{ "item": "chainsaw_off", "prob": 60, "charges": [ 1, 450 ], "damage": [ 0, 3 ] },
{ "item": "elec_chainsaw_off", "prob": 30, "charges": [ 1, 500 ], "damage": [ 0, 3 ] },
{ "item": "combatsaw_off", "prob": 6, "charges": [ 1, 450 ], "damage": [ 0, 3 ] },
{ "item": "e_combatsaw_off", "prob": 4, "charges": [ 1, 500 ], "damage": [ 0, 3 ] }
]
},
{
"distribution": [
{ "group": "default_zombie_clothes", "prob": 25 },
{ "group": "clothing_outdoor_set", "prob": 25, "damage": [ 1, 4 ] },
{
"collection": [ { "group": "clothing_work_set", "damage": [ 1, 4 ] }, { "group": "underwear", "damage": [ 1, 4 ] } ],
"prob": 25
},
{
"distribution": [
{ "group": "NC_Isherwood_male_worn", "prob": 50, "damage": [ 1, 4 ] },
{ "group": "NC_Isherwood_female_worn", "prob": 50, "damage": [ 1, 4 ] }
],
"prob": 25
}
]
}
]
},
{
"type": "item_group",
Expand Down
14 changes: 10 additions & 4 deletions data/json/monstergroups/zombies.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
{ "monster": "mon_zombie_brainless", "freq": 25, "cost_multiplier": 1 },
{ "monster": "mon_feral_human_pipe", "freq": 20, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_crowbar", "freq": 20, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_axe", "freq": 10, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_axe", "freq": 8, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_chainsaw", "freq": 2, "starts": 250, "cost_multiplier": 1 },
{ "monster": "mon_zombie_dog", "freq": 25, "cost_multiplier": 1, "pack_size": [ 1, 2 ] }
]
},
Expand Down Expand Up @@ -64,7 +65,8 @@
{ "monster": "mon_zombie_crawler", "freq": 25, "cost_multiplier": 1 },
{ "monster": "mon_feral_human_pipe", "freq": 20, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_crowbar", "freq": 20, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_axe", "freq": 10, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_axe", "freq": 8, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_chainsaw", "freq": 2, "starts": 250, "cost_multiplier": 1 },
{ "monster": "mon_zombie_brainless", "freq": 25, "cost_multiplier": 1 }
]
},
Expand Down Expand Up @@ -116,7 +118,8 @@
{ "monster": "mon_zombie_brainless", "freq": 65, "cost_multiplier": 1 },
{ "monster": "mon_feral_human_pipe", "starts": 250, "freq": 20, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_crowbar", "starts": 250, "freq": 20, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_axe", "starts": 250, "freq": 10, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_axe", "starts": 250, "freq": 8, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_chainsaw", "starts": 500, "freq": 2, "cost_multiplier": 1 },
{ "monster": "mon_feral_prepper", "starts": 500, "freq": 4, "cost_multiplier": 2 },
{ "monster": "mon_feral_survivalist", "starts": 500, "freq": 4, "cost_multiplier": 2 },
{ "monster": "mon_feral_jackboot", "starts": 500, "freq": 2, "cost_multiplier": 5 },
Expand Down Expand Up @@ -299,6 +302,7 @@
{ "monster": "mon_zombie_rot", "freq": 6, "cost_multiplier": 5 },
{ "monster": "mon_zombie_crawler", "freq": 4, "cost_multiplier": 5 },
{ "monster": "mon_zombie_static", "freq": 200, "cost_multiplier": 5 },
{ "monster": "mon_feral_human_chainsaw", "starts": 500, "freq": 20, "cost_multiplier": 5 },
{ "monster": "mon_haulerbot", "freq": 1, "cost_multiplier": 1 }
]
},
Expand Down Expand Up @@ -479,6 +483,7 @@
{ "monster": "mon_feral_human_pipe", "freq": 4, "cost_multiplier": 1, "pack_size": [ 5, 9 ] },
{ "monster": "mon_feral_human_crowbar", "freq": 4, "cost_multiplier": 1, "pack_size": [ 4, 7 ] },
{ "monster": "mon_feral_human_axe", "freq": 2, "cost_multiplier": 2, "pack_size": [ 2, 4 ] },
{ "monster": "mon_feral_human_chainsaw", "starts": 250, "freq": 2, "cost_multiplier": 1 },
{ "monster": "mon_zombie_brainless", "freq": 55, "cost_multiplier": 1 }
]
},
Expand Down Expand Up @@ -622,7 +627,8 @@
"monsters": [
{ "monster": "mon_feral_human_pipe", "freq": 100, "cost_multiplier": 1, "pack_size": [ 2, 3 ] },
{ "monster": "mon_feral_human_crowbar", "freq": 40, "cost_multiplier": 1, "pack_size": [ 2, 3 ] },
{ "monster": "mon_feral_human_axe", "freq": 20, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_axe", "freq": 15, "cost_multiplier": 2, "pack_size": [ 1, 2 ] },
{ "monster": "mon_feral_human_chainsaw", "freq": 5, "cost_multiplier": 1 },
{ "monster": "mon_feral_prepper", "freq": 14, "cost_multiplier": 2 },
{ "monster": "mon_feral_survivalist", "freq": 14, "cost_multiplier": 2 },
{ "monster": "mon_feral_militia", "freq": 1, "cost_multiplier": 20 },
Expand Down
26 changes: 22 additions & 4 deletions data/json/monsters/feral_humans.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,30 @@
{
"id": "mon_feral_human_axe",
"type": "MONSTER",
"description": "Their pupils are dilated and what remains to be seen of the iris and sclera are bloodshot. This axe-wielding maniac still breathes, but the zombies treat them like one of their own.",
"name": { "str": "feral axeman" },
"description": "They stumble along dragging a large bloodstained axe. Their face is twisted into a sadistic grin, and they walk among the dead as though already one of them.",
"copy-from": "mon_feral_human_pipe",
"melee_cut": 9,
"melee_cut": 12,
"melee_dice": 3,
"melee_dice_sides": 8,
"death_drops": "feral_humans_death_drops_axe"
"melee_dice_sides": 7,
"death_drops": "feral_humans_death_drops_axe",
"special_attacks": [ [ "PARROT_AT_DANGER", 5 ] ],
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BASHES", "GROUP_BASH", "HUMAN", "CAN_OPEN_DOORS", "PATH_AVOID_DANGER_1" ]
},
{
"id": "mon_feral_human_chainsaw",
"type": "MONSTER",
"name": { "str": "feral chainsaw maniac" },
"description": "This crazed shambler seems to still be alive, and yet the dead treat them like one of their own. Please tell me that's not a chainsaw he's carrying…",
"copy-from": "mon_feral_human_axe",
"looks_like": "mon_feral_human_axe",
"melee_skill": 1,
"melee_cut": 25,
"melee_dice": 2,
"melee_dice_sides": 3,
"death_drops": "feral_humans_death_drops_chainsaw",
"//": "Make noise all the time instead of only when target sighted, to warn the player in advance.",
"special_attacks": [ [ "PARROT", 2 ] ]
},
{
"id": "mon_feral_scientist_scalpel",
Expand Down
3 changes: 2 additions & 1 deletion data/json/monsters/mutant_human.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
"regenerates": 1,
"regeneration_modifiers": [ { "effect": "onfire", "base_mod": -1.0 }, { "effect": "corroding", "base_mod": -1.0 } ],
"regen_morale": true,
"flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "WARM", "BLEED", "BASHES", "PATH_AVOID_DANGER_2" ]
"flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "WARM", "BLEED", "BASHES", "HUMAN", "PATH_AVOID_DANGER_2" ]
},
{
"id": "mon_mutant_evolved",
Expand Down Expand Up @@ -124,6 +124,7 @@
"WARM",
"BLEED",
"BASHES",
"HUMAN",
"PATH_AVOID_DANGER_2",
"PUSH_MON",
"PUSH_VEH"
Expand Down
25 changes: 6 additions & 19 deletions data/json/monsters/nether.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
"harvest": "human",
"special_attacks": [ [ "FEAR_PARALYZE", 0 ] ],
"death_function": [ "AMIGARA", "NORMAL" ],
"flags": [ "SMELLS", "HEARS", "SEES", "STUMBLES", "HARDTOSHOOT" ]
"flags": [ "SMELLS", "HEARS", "SEES", "STUMBLES", "HARDTOSHOOT", "HUMAN" ]
},
{
"id": "mon_blank",
Expand Down Expand Up @@ -212,7 +212,7 @@
"special_attacks": [ [ "scratch", 15 ] ],
"death_drops": "default_zombie_death_drops",
"death_function": [ "NORMAL" ],
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BASHES", "GROUP_BASH", "BLEED", "HUMAN", "POISON", "REVIVES", "FILTHY" ]
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BASHES", "GROUP_BASH", "BLEED", "POISON", "REVIVES", "FILTHY" ]
},
{
"id": "mon_dog_thing",
Expand Down Expand Up @@ -295,20 +295,7 @@
"special_attacks": [ [ "FEAR_PARALYZE", 0 ], { "type": "bite", "cooldown": 5 } ],
"death_drops": "default_zombie_clothes",
"death_function": [ "NORMAL" ],
"flags": [
"SEES",
"HEARS",
"SMELLS",
"WARM",
"BLEED",
"HARDTOSHOOT",
"ATTACKMON",
"FLIES",
"HUMAN",
"POISON",
"REVIVES",
"FILTHY"
]
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BLEED", "HARDTOSHOOT", "ATTACKMON", "FLIES", "POISON", "REVIVES", "FILTHY" ]
},
{
"id": "mon_flying_polyp",
Expand Down Expand Up @@ -400,7 +387,7 @@
"melee_dice_sides": 4,
"melee_cut": 0,
"dodge": 4,
"harvest": "mammal_leather",
"harvest": "human",
"death_function": [ "NORMAL" ],
"flags": [ "SMELLS", "HEARS", "WARM", "NO_BREATHE", "GRABS", "PATH_AVOID_DANGER_2", "PRIORITIZE_TARGETS" ]
},
Expand Down Expand Up @@ -457,9 +444,9 @@
"armor_bash": 4,
"armor_cut": 2,
"armor_bullet": 2,
"harvest": "human",
"harvest": "zombie_leather",
"death_function": [ "NORMAL" ],
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BASHES", "GROUP_BASH", "BLEED", "HUMAN", "REVIVES", "CLIMBS", "FILTHY" ]
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BASHES", "GROUP_BASH", "BLEED", "REVIVES", "CLIMBS", "FILTHY" ]
},
{
"id": "mon_hound_tindalos",
Expand Down
99 changes: 90 additions & 9 deletions data/json/professions.json
Original file line number Diff line number Diff line change
Expand Up @@ -4846,6 +4846,35 @@
"female": { "entries": [ { "item": "panties", "damage": [ 0, 3 ] } ] }
}
},
{
"type": "profession",
"id": "prof_feral_maid",
"copy-from": "prof_feral_unemployed",
"name": { "male": "Feral Butler", "female": "Feral Maid" },
"description": "You worked in a wealthy household, but after the Cataclysm your employer had an unfortunate accident. What a shame, they would've loved the tender flesh you've since learned to cook.",
"points": 1,
"skills": [ { "level": 2, "name": "cooking" }, { "level": 1, "name": "driving" }, { "level": 2, "name": "tailor" } ],
"items": {
"both": {
"items": [ "pocketwatch" ],
"entries": [
{ "item": "socks", "damage": [ 0, 3 ] },
{ "item": "dress_shoes", "damage": [ 0, 3 ] },
{ "item": "knife_butcher", "container-item": "sheath" },
{ "item": "broom", "custom-flags": [ "auto_wield" ] }
]
},
"male": { "entries": [ { "item": "briefs", "damage": [ 0, 3 ] }, { "item": "suit", "damage": [ 0, 3 ] } ] },
"female": {
"entries": [
{ "item": "bra", "damage": [ 0, 3 ] },
{ "item": "panties", "damage": [ 0, 3 ] },
{ "item": "maid_dress", "damage": [ 0, 3 ] },
{ "item": "maid_hat", "damage": [ 0, 3 ] }
]
}
}
},
{
"type": "profession",
"id": "prof_feral_socialite",
Expand All @@ -4862,19 +4891,12 @@
],
"items": {
"both": {
"items": [ "pocketwatch" ],
"items": [ "quiver", "pocketwatch" ],
"entries": [
{ "item": "socks", "damage": [ 0, 3 ] },
{ "item": "dress_shoes", "damage": [ 0, 3 ] },
{ "item": "case_violin", "damage": [ 0, 3 ] },
{ "item": "rapier", "container-item": "scabbard" },
{
"item": "thompson_drum",
"ammo-item": "45_acp",
"charges": [ 1, 50 ],
"container-item": "tommygun",
"custom-flags": [ "auto_wield" ]
}
{ "item": "rep_crossbow", "ammo-item": "bolt_cf", "charges": [ 1, 10 ], "custom-flags": [ "auto_wield" ] }
]
},
"male": {
Expand All @@ -4894,5 +4916,64 @@
]
}
}
},
{
"type": "profession",
"id": "prof_feral_armored",
"copy-from": "prof_feral_unemployed",
"name": "Feral Reenactor",
"//": "Contains a (rearranged) Manowar reference.",
"description": "You were all set to attend the faire, only for these impudent knaves to spoil your fun. With mace in hand, may steel meet blood and bone.",
"points": 5,
"skills": [
{ "level": 2, "name": "melee" },
{ "level": 1, "name": "bashing" },
{ "level": 2, "name": "tailor" },
{ "level": 1, "name": "fabrication" }
],
"items": {
"both": {
"items": [ "leather_pouch" ],
"entries": [
{ "item": "chainmail_hauberk", "damage": [ 0, 3 ] },
{ "item": "socks", "damage": [ 0, 3 ] },
{ "item": "boots_plate", "damage": [ 0, 3 ] },
{ "item": "gloves_plate", "damage": [ 0, 3 ] },
{ "item": "helmet_barbute", "damage": [ 0, 3 ] },
{ "item": "shield_leather", "damage": [ 0, 3 ] },
{ "item": "mace", "custom-flags": [ "auto_wield" ] }
]
},
"male": { "entries": [ { "item": "boxer_shorts", "damage": [ 0, 3 ] } ] },
"female": { "entries": [ { "item": "bra", "damage": [ 0, 3 ] }, { "item": "panties", "damage": [ 0, 3 ] } ] }
}
},
{
"type": "profession",
"id": "prof_feral_lumberjack",
"copy-from": "prof_feral_unemployed",
"name": "Feral Chainsaw Maniac",
"//": "Contains a reference to The Texas Chainsaw Massacre. One higher point cost due to included chainsaw and safety gear.",
"description": "You felled trees before the world ended, but now there's so much more you could be doing. When your work's finally finished, who will survive, and what will be left of them?",
"points": 1,
"items": {
"both": {
"items": [ "wristwatch", "attached_ear_plugs_off" ],
"entries": [
{ "item": "longshirt", "damage": [ 0, 3 ] },
{ "item": "apron_leather", "damage": [ 0, 3 ] },
{ "item": "jeans", "damage": [ 0, 3 ] },
{ "item": "socks", "damage": [ 0, 3 ] },
{ "item": "boots_steel", "damage": [ 0, 3 ] },
{ "item": "armguard_hard", "damage": [ 0, 3 ] },
{ "item": "gloves_work", "damage": [ 0, 3 ] },
{ "item": "glasses_safety", "damage": [ 0, 3 ] },
{ "item": "hat_hard_hooded", "damage": [ 0, 3 ] },
{ "item": "chainsaw_off", "ammo-item": "gasoline", "charges": [ 1, 450 ], "custom-flags": [ "auto_wield" ] }
]
},
"male": { "entries": [ { "item": "boxer_shorts", "damage": [ 0, 3 ] } ] },
"female": { "entries": [ { "item": "bra", "damage": [ 0, 3 ] }, { "item": "boxer_shorts", "damage": [ 0, 3 ] } ] }
}
}
]
7 changes: 5 additions & 2 deletions data/json/scenarios.json
Original file line number Diff line number Diff line change
Expand Up @@ -220,10 +220,13 @@
"prof_feral_survivalist",
"prof_feral_soldier",
"prof_feral_cyborg",
"prof_feral_socialite"
"prof_feral_maid",
"prof_feral_socialite",
"prof_feral_armored",
"prof_feral_lumberjack"
],
"traits": [ "RADIOGENIC", "ROT2", "SAPROVORE", "SORES", "UNSTABLE" ],
"forced_traits": [ "KILLER", "SCHIZOPHRENIC", "CARNIVORE" ],
"forced_traits": [ "PSYCHOPATH", "SCHIZOPHRENIC", "CARNIVORE" ],
"forbidden_traits": [ "ANIMALEMPATH", "ANIMALDISCORD", "ANTIWHEAT", "ANTIFRUIT", "MEATARIAN", "SQUEAMISH" ],
"flags": [ "CHALLENGE", "LONE_START", "SUM_START", "CITY_START" ]
},
Expand Down
Loading

0 comments on commit e82791d

Please sign in to comment.