1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 15:17:57 -05:00

MOTD: 1 afterlife max in solo

This commit is contained in:
Jbleezy
2022-01-12 04:07:39 -08:00
parent a9df3f0759
commit e72fdf4d68
4 changed files with 95 additions and 2 deletions

View File

@ -61,8 +61,8 @@
* Decreased minimum number of melees to kill from 5 to 3
* Decreased minimum number of melees to kill with Bowie Knife from 3 to 2
* Decreased minimum number of melees to kill with Galvaknuckles from 2 to 1
* No longer automatically runs away when player is first attacked on solo
* Removed hint when player is first attacked on solo
* No longer automatically runs away when player is first attacked in solo
* Removed hint when player is first attacked in solo
## Weapons
* Switch to melee weapon by pressing the new melee weapon button (same button as the Maxis Drone on Origins)
@ -280,6 +280,7 @@
* Navcard table automatically crafted
### Mob of the Dead
* 1 afterlife max in solo
* Acid Trap kills on any round (normally stops killing after round 158 on PC)
* Tower Trap kills on any round in 1 shot
* Upgraded Tower Trap kills on any round in 1-2 shots

View File

@ -0,0 +1,63 @@
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\zombies\_zm_utility;
#include maps/mp/zombies/_zm_afterlife;
init_player()
{
flag_wait( "initial_players_connected" );
self.lives = 1;
self setclientfieldtoplayer( "player_lives", self.lives );
self.afterlife = 0;
self.afterliferound = level.round_number;
self.afterlifedeaths = 0;
self thread afterlife_doors_close();
self thread afterlife_player_refill_watch();
}
afterlife_add()
{
if ( self.lives < 1 )
{
self.lives++;
self thread afterlife_add_fx();
}
self playsoundtoplayer( "zmb_afterlife_add", self );
self setclientfieldtoplayer( "player_lives", self.lives );
}
afterlife_start_zombie_logic()
{
flag_wait( "start_zombie_round_logic" );
wait 0.5;
b_everyone_alive = 0;
while ( isDefined( b_everyone_alive ) && !b_everyone_alive )
{
b_everyone_alive = 1;
a_players = getplayers();
_a192 = a_players;
_k192 = getFirstArrayKey( _a192 );
while ( isDefined( _k192 ) )
{
player = _a192[ _k192 ];
if ( isDefined( player.afterlife ) && player.afterlife )
{
b_everyone_alive = 0;
wait 0.05;
break;
}
else
{
_k192 = getNextArrayKey( _a192, _k192 );
}
}
}
wait 0.5;
while ( level.intermission )
{
wait 0.05;
}
flag_set( "afterlife_start_over" );
wait 2;
array_func( getplayers(), ::afterlife_add );
}

View File

@ -0,0 +1,23 @@
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\zombies\_zm_utility;
#include maps/mp/zm_alcatraz_classic;
#include scripts/zm/replaced/_zm_afterlife;
give_afterlife()
{
onplayerconnect_callback( scripts/zm/replaced/_zm_afterlife::init_player );
flag_wait( "initial_players_connected" );
wait 0.5;
n_start_pos = 1;
a_players = getplayers();
foreach ( player in a_players )
{
if ( isDefined( player.afterlife ) && !player.afterlife )
{
player thread fake_kill_player( n_start_pos );
n_start_pos++;
}
}
}

View File

@ -2,16 +2,22 @@
#include common_scripts\utility;
#include maps\mp\zombies\_zm_utility;
#include scripts/zm/replaced/zm_alcatraz_classic;
#include scripts/zm/replaced/_zm_afterlife;
#include scripts/zm/replaced/_zm_ai_brutus;
main()
{
replaceFunc(maps/mp/zm_alcatraz_classic::give_afterlife, scripts/zm/replaced/zm_alcatraz_classic::give_afterlife);
replaceFunc(maps/mp/zombies/_zm_afterlife::afterlife_add, scripts/zm/replaced/_zm_afterlife::afterlife_add);
replaceFunc(maps/mp/zombies/_zm_ai_brutus::brutus_health_increases, scripts/zm/replaced/_zm_ai_brutus::brutus_health_increases);
replaceFunc(maps/mp/zombies/_zm_ai_brutus::brutus_cleanup_at_end_of_grief_round, scripts/zm/replaced/_zm_ai_brutus::brutus_cleanup_at_end_of_grief_round);
}
init()
{
level.round_prestart_func = scripts/zm/replaced/_zm_afterlife::afterlife_start_zombie_logic;
remove_acid_trap_player_spawn();
tower_trap_changes();