mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-11 07:37:56 -05:00
Denizens: spawn 1 per player in fog
This commit is contained in:
@ -77,7 +77,7 @@
|
|||||||
* All body shot kills award 50 points
|
* All body shot kills award 50 points
|
||||||
|
|
||||||
### Denizens
|
### Denizens
|
||||||
* Decreased maximum amount that can be spawned at once from 2 to 1
|
* Changed maximum amount that can be spawned at once from 2 total to 1 per player in the fog
|
||||||
* Decreased number of melees to kill from 5 to 3
|
* Decreased number of melees to kill from 5 to 3
|
||||||
* Decreased number of melees to kill with Bowie Knife from 3 to 2
|
* Decreased number of melees to kill with Bowie Knife from 3 to 2
|
||||||
* Decreased number of melees to kill with Galvaknuckles from 2 to 1
|
* Decreased number of melees to kill with Galvaknuckles from 2 to 1
|
||||||
|
@ -251,7 +251,6 @@ post_all_players_spawned()
|
|||||||
level.zombie_vars["riotshield_hit_points"] = 1500;
|
level.zombie_vars["riotshield_hit_points"] = 1500;
|
||||||
level.zombie_vars["emp_stun_range"] = 420;
|
level.zombie_vars["emp_stun_range"] = 420;
|
||||||
level.zombie_vars["slipgun_reslip_rate"] = 0;
|
level.zombie_vars["slipgun_reslip_rate"] = 0;
|
||||||
level.zombie_ai_limit_screecher = 1;
|
|
||||||
level.explode_overheated_jetgun = 0;
|
level.explode_overheated_jetgun = 0;
|
||||||
level.unbuild_overheated_jetgun = 0;
|
level.unbuild_overheated_jetgun = 0;
|
||||||
level.take_overheated_jetgun = 1;
|
level.take_overheated_jetgun = 1;
|
||||||
|
@ -10,6 +10,112 @@
|
|||||||
#include maps\mp\zombies\_zm_audio;
|
#include maps\mp\zombies\_zm_audio;
|
||||||
#include maps\mp\zombies\_zm_stats;
|
#include maps\mp\zombies\_zm_stats;
|
||||||
|
|
||||||
|
screecher_spawning_logic()
|
||||||
|
{
|
||||||
|
level endon( "intermission" );
|
||||||
|
|
||||||
|
if ( level.intermission )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if ( level.screecher_spawners.size < 1 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ( true )
|
||||||
|
{
|
||||||
|
while ( !isdefined( level.zombie_screecher_locations ) || level.zombie_screecher_locations.size <= 0 )
|
||||||
|
wait 0.1;
|
||||||
|
|
||||||
|
while ( getdvarint( _hash_B0C0D38F ) )
|
||||||
|
wait 0.1;
|
||||||
|
|
||||||
|
if ( !flag( "spawn_zombies" ) )
|
||||||
|
flag_wait( "spawn_zombies" );
|
||||||
|
|
||||||
|
valid_players_in_screecher_zone = 0;
|
||||||
|
valid_players = [];
|
||||||
|
|
||||||
|
while ( valid_players_in_screecher_zone <= level.zombie_screecher_count )
|
||||||
|
{
|
||||||
|
players = getplayers();
|
||||||
|
valid_players_in_screecher_zone = 0;
|
||||||
|
|
||||||
|
for ( p = 0; p < players.size; p++ )
|
||||||
|
{
|
||||||
|
if ( is_player_valid( players[p] ) && player_in_screecher_zone( players[p] ) && !isdefined( players[p].screecher ) )
|
||||||
|
{
|
||||||
|
valid_players_in_screecher_zone++;
|
||||||
|
valid_players[valid_players.size] = players[p];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
wait 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !isdefined( level.zombie_screecher_locations ) || level.zombie_screecher_locations.size <= 0 )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
valid_players = array_randomize( valid_players );
|
||||||
|
|
||||||
|
spawn_points = get_array_of_closest( valid_players[0].origin, level.zombie_screecher_locations );
|
||||||
|
spawn_point = undefined;
|
||||||
|
|
||||||
|
if ( !isdefined( spawn_points ) || spawn_points.size == 0 )
|
||||||
|
{
|
||||||
|
wait 0.1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !isdefined( level.last_spawn ) )
|
||||||
|
{
|
||||||
|
level.last_spawn_index = 0;
|
||||||
|
level.last_spawn = [];
|
||||||
|
level.last_spawn[level.last_spawn_index] = spawn_points[0];
|
||||||
|
level.last_spawn_index = 1;
|
||||||
|
spawn_point = spawn_points[0];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
foreach ( point in spawn_points )
|
||||||
|
{
|
||||||
|
if ( point == level.last_spawn[0] )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if ( isdefined( level.last_spawn[1] ) && point == level.last_spawn[1] )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
spawn_point = point;
|
||||||
|
level.last_spawn[level.last_spawn_index] = spawn_point;
|
||||||
|
level.last_spawn_index++;
|
||||||
|
|
||||||
|
if ( level.last_spawn_index > 1 )
|
||||||
|
level.last_spawn_index = 0;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !isdefined( spawn_point ) )
|
||||||
|
spawn_point = spawn_points[0];
|
||||||
|
|
||||||
|
if ( isdefined( level.screecher_spawners ) )
|
||||||
|
{
|
||||||
|
spawner = random( level.screecher_spawners );
|
||||||
|
ai = spawn_zombie( spawner, spawner.targetname, spawn_point );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( isdefined( ai ) )
|
||||||
|
{
|
||||||
|
ai.spawn_point = spawn_point;
|
||||||
|
level.zombie_screecher_count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
wait( level.zombie_vars["zombie_spawn_delay"] );
|
||||||
|
wait 0.1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
screecher_melee_damage( player )
|
screecher_melee_damage( player )
|
||||||
{
|
{
|
||||||
melee_score = 0;
|
melee_score = 0;
|
||||||
|
@ -23,6 +23,7 @@ main()
|
|||||||
replaceFunc(maps\mp\zm_transit_utility::solo_tombstone_removal, scripts\zm\replaced\zm_transit_utility::solo_tombstone_removal);
|
replaceFunc(maps\mp\zm_transit_utility::solo_tombstone_removal, scripts\zm\replaced\zm_transit_utility::solo_tombstone_removal);
|
||||||
replaceFunc(maps\mp\zm_transit_bus::bussetup, scripts\zm\replaced\zm_transit_bus::bussetup);
|
replaceFunc(maps\mp\zm_transit_bus::bussetup, scripts\zm\replaced\zm_transit_bus::bussetup);
|
||||||
replaceFunc(maps\mp\zm_transit_bus::busscheduleadd, scripts\zm\replaced\zm_transit_bus::busscheduleadd);
|
replaceFunc(maps\mp\zm_transit_bus::busscheduleadd, scripts\zm\replaced\zm_transit_bus::busscheduleadd);
|
||||||
|
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_spawning_logic, scripts\zm\replaced\_zm_ai_screecher::screecher_spawning_logic);
|
||||||
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_melee_damage, scripts\zm\replaced\_zm_ai_screecher::screecher_melee_damage);
|
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_melee_damage, scripts\zm\replaced\_zm_ai_screecher::screecher_melee_damage);
|
||||||
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_detach, scripts\zm\replaced\_zm_ai_screecher::screecher_detach);
|
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_detach, scripts\zm\replaced\_zm_ai_screecher::screecher_detach);
|
||||||
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_cleanup, scripts\zm\replaced\_zm_ai_screecher::screecher_cleanup);
|
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_cleanup, scripts\zm\replaced\_zm_ai_screecher::screecher_cleanup);
|
||||||
|
Reference in New Issue
Block a user