1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-07 21:59:49 -05:00

Brutus: no longer locks perks and the Mystery Box on Grief

This commit is contained in:
Jbleezy 2023-12-28 01:04:53 -08:00
parent 2efc543dbc
commit cb054b5a1f
2 changed files with 24 additions and 17 deletions

View File

@ -77,7 +77,7 @@
## Zombies ## Zombies
* Health capped at 100,000 * Health capped at 100,000
* Decreased damage from 60 to 50 * Decreased player damage from 60 to 50
* Changed height to 60 (normally either 48 or 72) * Changed height to 60 (normally either 48 or 72)
* Increased damage taken to make a crawler from 10% of current health to 25% of current health * Increased damage taken to make a crawler from 10% of current health to 25% of current health
* Amount of zombies scales linearly with the amount of players * Amount of zombies scales linearly with the amount of players
@ -115,7 +115,6 @@
* No longer receives additional damage from Ray Gun Mark 2 * No longer receives additional damage from Ray Gun Mark 2
* Teleports away less frequently * Teleports away less frequently
* Grief: spawns every 4-6 minutes * Grief: spawns every 4-6 minutes
* Grief: can lock perks and the Mystery Box
### Panzersoldat ### Panzersoldat
* No longer receives additional damage from Boomhilda or Ray Gun Mark 2 * No longer receives additional damage from Boomhilda or Ray Gun Mark 2

View File

@ -68,11 +68,14 @@ init()
registerclientfield("actor", "brutus_lock_down", 9000, 1, "int"); registerclientfield("actor", "brutus_lock_down", 9000, 1, "int");
level thread maps\mp\zombies\_zm_ai_brutus::brutus_spawning_logic(); level thread maps\mp\zombies\_zm_ai_brutus::brutus_spawning_logic();
level thread maps\mp\zombies\_zm_ai_brutus::get_brutus_interest_points(); if (!level.brutus_in_grief)
{
level thread maps\mp\zombies\_zm_ai_brutus::get_brutus_interest_points();
level.custom_perk_validation = maps\mp\zombies\_zm_ai_brutus::check_perk_machine_valid; level.custom_perk_validation = maps\mp\zombies\_zm_ai_brutus::check_perk_machine_valid;
level.custom_craftable_validation = ::check_craftable_table_valid; level.custom_craftable_validation = ::check_craftable_table_valid;
level.custom_plane_validation = maps\mp\zombies\_zm_ai_brutus::check_plane_valid; level.custom_plane_validation = maps\mp\zombies\_zm_ai_brutus::check_plane_valid;
}
} }
setup_interaction_matrix() setup_interaction_matrix()
@ -335,7 +338,9 @@ brutus_find_flesh()
player_zone = undefined; player_zone = undefined;
self.prev_zone = brutus_zone; self.prev_zone = brutus_zone;
if (!isdefined(player)) if (level.brutus_in_grief)
brutus_start_basic_find_flesh();
else if (!isdefined(player))
self.priority_item = self get_priority_item_for_brutus(brutus_zone, 1); self.priority_item = self get_priority_item_for_brutus(brutus_zone, 1);
else else
{ {
@ -410,19 +415,22 @@ get_brutus_spawn_pos_val(brutus_pos)
score += n_score_addition; score += n_score_addition;
} }
interaction_types = getarraykeys(level.interaction_types); if ( !level.brutus_in_grief )
interact_array = level.interaction_types;
for (i = 0; i < interaction_types.size; i++)
{ {
int_type = interaction_types[i]; interaction_types = getarraykeys(level.interaction_types);
interaction = interact_array[int_type]; interact_array = level.interaction_types;
interact_points = [[interaction.get_func]](zone_name);
for (j = 0; j < interact_points.size; j++) for (i = 0; i < interaction_types.size; i++)
{ {
if (interact_points[j][[interaction.validity_func]]()) int_type = interaction_types[i];
score += interaction.spawn_bias; interaction = interact_array[int_type];
interact_points = [[interaction.get_func]](zone_name);
for (j = 0; j < interact_points.size; j++)
{
if (interact_points[j][[interaction.validity_func]]())
score += interaction.spawn_bias;
}
} }
} }