Skip to content

Commit

Permalink
Changed up the mx_military extra
Browse files Browse the repository at this point in the history
* New variants of monsters with specific drops
* New feral soldier variant with a handgun that can drop rifles and stuff.
  • Loading branch information
Inglonias authored Mar 7, 2022
1 parent 15d894d commit 5d44237
Show file tree
Hide file tree
Showing 5 changed files with 156 additions and 15 deletions.
30 changes: 30 additions & 0 deletions data/json/monsterdrops/feral_humans.json
Original file line number Diff line number Diff line change
Expand Up @@ -534,5 +534,35 @@
{ "item": "two_way_radio", "prob": 15, "charges": [ 0, 100 ], "damage": [ 1, 4 ] },
{ "item": "knife_combat", "prob": 100, "damage": [ 3, 4 ] }
]
},
{
"id": "mon_feral_soldier_extra_death_drops",
"type": "item_group",
"subtype": "collection",
"magazine": 100,
"ammo": 0,
"entries": [
{ "distribution": [ { "group": "clothing_soldier_broken_armor_set", "prob": 100, "damage": [ 2, 4 ] } ] },
{ "group": "military_standard_grenades", "count": [ 1, 3 ], "prob": 20 },
{ "group": "military_patrol_food" },
{ "distribution": [ { "group": "infantry_officer_gear" }, { "group": "infantry_medical_gear" } ], "prob": 25 },
{
"distribution": [
{ "group": "military_standard_assault_rifles", "contents-item": "shoulder_strap", "prob": 75 },
{ "group": "military_standard_sniper_rifles", "prob": 20 },
{ "group": "military_standard_lmgs", "contents-item": "shoulder_strap", "prob": 10 },
{ "group": "military_standard_shotguns", "contents-item": "shoulder_strap", "prob": 5 }
],
"prob": 75
},
{ "group": "wallets", "prob": 10 },
{ "group": "pocket_cigar", "prob": 15 },
{ "group": "misc_smoking_legal", "prob": 30 },
{ "group": "military_standard_pistols"},
{ "item": "e_tool", "prob": 15, "damage": [ 1, 4 ] },
{ "item": "mask_gas", "prob": 5, "charges": [ 0, 100 ], "damage": [ 1, 4 ] },
{ "item": "two_way_radio", "prob": 15, "charges": [ 0, 100 ], "damage": [ 1, 4 ] },
{ "item": "knife_combat", "prob": 100, "damage": [ 3, 4 ] }
]
}
]
31 changes: 31 additions & 0 deletions data/json/monsterdrops/zombie_soldier.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,37 @@
{ "group": "misc_smoking_legal", "prob": 30 }
]
},
{
"id": "mon_zombie_soldier_extra_death_drops",
"type": "item_group",
"subtype": "collection",
"magazine": 100,
"ammo": 60,
"entries": [
{
"distribution": [
{ "group": "clothing_soldier_set", "prob": 65, "damage": [ 1, 4 ] },
{ "group": "clothing_soldier_winter_set", "prob": 35, "damage": [ 1, 4 ] }
]
},
{
"distribution": [
{ "group": "military_standard_assault_rifles", "contents-item": "shoulder_strap", "prob": 75 },
{ "group": "military_standard_sniper_rifles", "prob": 20 },
{ "group": "military_standard_lmgs", "contents-item": "shoulder_strap", "prob": 10 },
{ "group": "military_standard_shotguns", "contents-item": "shoulder_strap", "prob": 5 }
],
"prob": 75
},
{ "group": "infantry_common_gear" },
{ "group": "military_standard_grenades", "count": [ 1, 3 ], "prob": 20 },
{ "group": "military_patrol_food" },
{ "distribution": [ { "group": "infantry_officer_gear" }, { "group": "infantry_medical_gear" } ], "prob": 25 },
{ "group": "wallets", "prob": 10 },
{ "group": "pocket_cigar", "prob": 15 },
{ "group": "misc_smoking_legal", "prob": 30 }
]
},
{
"id": "mon_zombie_heavy_soldier_death_drops",
"type": "item_group",
Expand Down
52 changes: 52 additions & 0 deletions data/json/monsters/feral_humans.json
Original file line number Diff line number Diff line change
Expand Up @@ -690,5 +690,57 @@
"zombify_into": "mon_zombie_soldier",
"anger_triggers": [ "FRIEND_DIED", "FRIEND_ATTACKED", "HURT" ],
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BASHES", "GROUP_BASH", "HUMAN", "CAN_OPEN_DOORS", "PATH_AVOID_DANGER_1" ]
},
{
"id": "mon_feral_soldier_extra",
"type": "MONSTER",
"name": { "str": "feral soldier" },
"description": "Wearing a military uniform with an armored vest, this person seems to be a highly trained military professional, now turned feral. Tense, dirty hands grip a handgun and combat knife as their bloodshot eyes scan for threats.",
"default_faction": "zombie",
"bodytype": "human",
"species": [ "HUMAN" ],
"volume": "62500 ml",
"weight": "81500 g",
"hp": 100,
"speed": 85,
"material": [ "flesh" ],
"symbol": "@",
"color": "i_magenta",
"aggression": 40,
"morale": 100,
"melee_skill": 6,
"melee_dice": 2,
"melee_dice_sides": 2,
"melee_cut": 6,
"armor_bash": 4,
"armor_cut": 9,
"armor_bullet": 7,
"armor_elec": 3,
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_body_armor", "wps_humanoid_open_helmet" ],
"dodge": 4,
"harvest": "human",
"starting_ammo": { "9mm": 3 },
"special_attacks": [
{
"type": "gun",
"cooldown": 10,
"move_cost": 50,
"//": "(movecost is 50 to show that the feral prepper doesn't take time to aim, and just shoots barbaric-ly)",
"gun_type": "m9",
"ammo_type": "9mm",
"fake_skills": [ [ "gun", 2 ], [ "pistol", 2 ] ],
"fake_dex": 8,
"fake_per": 9,
"ranges": [ [ 0, 14, "DEFAULT" ], [ 10, 35, "DEFAULT" ] ],
"require_targeting_player": false,
"description": "The feral prepper haphazardly fires their firearm!"
}
],
"vision_night": 5,
"path_settings": { "max_dist": 40, "allow_open_doors": true, "avoid_traps": true, "avoid_sharp": true },
"death_drops": "mon_feral_soldier_extra_death_drops",
"zombify_into": "mon_zombie_soldier",
"anger_triggers": [ "FRIEND_DIED", "FRIEND_ATTACKED", "HURT" ],
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BASHES", "GROUP_BASH", "HUMAN", "CAN_OPEN_DOORS", "PATH_AVOID_DANGER_1" ]
}
]
38 changes: 38 additions & 0 deletions data/json/monsters/zed_soldiers.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,44 @@
"fungalize_into": "mon_zombie_fungus",
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BASHES", "GROUP_BASH", "POISON", "NO_BREATHE", "REVIVES", "PUSH_MON", "FILTHY" ]
},
{
"id": "mon_zombie_soldier_extra",
"type": "MONSTER",
"name": { "str": "zombie soldier" },
"description": "Once a soldier, it is dressed head to toe in combat gear and carries itself rather steadily for a zombie.",
"default_faction": "zombie",
"bodytype": "human",
"categories": [ "CLASSIC" ],
"species": [ "ZOMBIE", "HUMAN" ],
"volume": "62500 ml",
"weight": "81500 g",
"hp": 100,
"speed": 80,
"material": [ "flesh" ],
"symbol": "Z",
"color": "light_green_green",
"aggression": 100,
"morale": 100,
"melee_skill": 5,
"melee_dice": 2,
"melee_dice_sides": 6,
"melee_cut": 0,
"dodge": 1,
"armor_bash": 12,
"armor_cut": 25,
"armor_bullet": 20,
"armor_elec": 3,
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_body_armor", "wps_humanoid_open_helmet" ],
"vision_day": 30,
"vision_night": 3,
"harvest": "zombie",
"special_attacks": [ { "type": "bite", "cooldown": 5, "min_mul": 0.8 } ],
"death_drops": "mon_zombie_soldier_extra_death_drops",
"upgrades": { "half_life": 28, "into_group": "GROUP_SOLDIER_UPGRADE" },
"burn_into": "mon_zombie_scorched",
"fungalize_into": "mon_zombie_fungus",
"flags": [ "SEES", "HEARS", "SMELLS", "WARM", "BASHES", "GROUP_BASH", "POISON", "NO_BREATHE", "REVIVES", "PUSH_MON", "FILTHY" ]
},
{
"id": "mon_zombie_soldier_blackops_1",
"type": "MONSTER",
Expand Down
20 changes: 5 additions & 15 deletions src/map_extras.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -581,21 +581,11 @@ static bool mx_military( map &m, const tripoint & )
m.add_spawn( mon_dispatch, 1, *p );
}
} else {
m.add_spawn( mon_zombie_soldier, 1, *p );
// 10% chance of zombie carrying weapon so 90% chance of it being on the ground
if( !one_in( 10 ) ) {
item_group_id group;
// 80% assault rifles, 10% LMGs, 5% shotguns, 5% sniper rifles
if( one_in( 20 ) ) {
group = Item_spawn_data_military_standard_sniper_rifles;
} else if( one_in( 19 ) ) {
group = Item_spawn_data_military_standard_shotguns;
} else if( one_in( 9 ) ) {
group = Item_spawn_data_military_standard_lmgs;
} else {
group = Item_spawn_data_military_standard_assault_rifles;
}
m.place_items( group, 100, *p, *p, true, calendar::start_of_cataclysm );
if ( one_in( 3 ) ) {
m.add_spawn( mon_feral_soldier_extra, 1, *p );
}
else {
m.add_spawn( mon_zombie_soldier_extra, 1, *p );
}

int splatter_range = rng( 1, 3 );
Expand Down

0 comments on commit 5d44237

Please sign in to comment.