1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-18 11:08:26 -05:00

Origins: fix shovels still spawning

This commit is contained in:
Jbleezy
2023-03-28 20:55:46 -07:00
parent 8cb212c89f
commit 8ea9eabafd
3 changed files with 54 additions and 52 deletions

View File

@ -134,11 +134,6 @@ onplayerconnect()
{ {
level waittill("connecting", player); level waittill("connecting", player);
if(isDefined(level.map_on_player_connect))
{
player thread [[level.map_on_player_connect]]();
}
player thread onplayerspawned(); player thread onplayerspawned();
player thread onplayerdowned(); player thread onplayerdowned();

View File

@ -1,15 +1,64 @@
#include maps\mp\_utility;
#include common_scripts\utility; #include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility; #include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_unitrigger;
#include maps\mp\zm_tomb_utility;
#include maps\mp\zombies\_zm_audio;
#include maps\mp\zombies\_zm_audio_announcer;
#include maps\mp\zombies\_zm_zonemgr;
#include maps\mp\zombies\_zm_stats;
#include maps\mp\zm_tomb_main_quest;
#include maps\mp\zombies\_zm_powerups;
#include maps\mp\zombies\_zm_weap_claymore;
#include maps\mp\zombies\_zm_powerup_zombie_blood;
#include maps\mp\zm_tomb_dig;
increment_player_perk_purchase_limit() init_shovel()
{ {
self maps\mp\zombies\_zm_perks::give_random_perk(); precachemodel( "p6_zm_tm_dig_mound" );
precachemodel( "p6_zm_tm_dig_mound_blood" );
precachemodel( "p6_zm_tm_shovel" );
precachemodel( "zombie_pickup_perk_bottle" );
precachemodel( "t6_wpn_claymore_world" );
maps\mp\zombies\_zm_audio_announcer::createvox( "blood_money", "powerup_blood_money" );
onplayerconnect_callback( ::init_shovel_player );
level.get_player_perk_purchase_limit = ::get_player_perk_purchase_limit;
level.bonus_points_powerup_override = ::bonus_points_powerup_override;
level thread dig_powerups_tracking();
level thread dig_spots_init();
registerclientfield( "world", "shovel_player1", 14000, 2, "int", undefined, 0 );
registerclientfield( "world", "shovel_player2", 14000, 2, "int", undefined, 0 );
registerclientfield( "world", "shovel_player3", 14000, 2, "int", undefined, 0 );
registerclientfield( "world", "shovel_player4", 14000, 2, "int", undefined, 0 );
registerclientfield( "world", "helmet_player1", 14000, 1, "int", undefined, 0 );
registerclientfield( "world", "helmet_player2", 14000, 1, "int", undefined, 0 );
registerclientfield( "world", "helmet_player3", 14000, 1, "int", undefined, 0 );
registerclientfield( "world", "helmet_player4", 14000, 1, "int", undefined, 0 );
} }
dig_disconnect_watch( n_player, v_origin, v_angles ) init_shovel_player()
{
self.dig_vars["has_shovel"] = 1;
self.dig_vars["has_upgraded_shovel"] = 0;
self.dig_vars["has_helmet"] = 0;
self.dig_vars["n_spots_dug"] = 0;
self.dig_vars["n_losing_streak"] = 0;
n_player = self getentitynumber() + 1;
level setclientfield( "shovel_player" + n_player, 1 );
self thread dig_disconnect_watch( n_player );
}
dig_disconnect_watch( n_player )
{ {
self waittill( "disconnect" ); self waittill( "disconnect" );
level setclientfield( "shovel_player" + n_player, 0 ); level setclientfield( "shovel_player" + n_player, 0 );
level setclientfield( "helmet_player" + n_player, 0 ); level setclientfield( "helmet_player" + n_player, 0 );
}
increment_player_perk_purchase_limit()
{
self maps\mp\zombies\_zm_perks::give_random_perk();
} }

View File

@ -37,8 +37,8 @@ main()
replaceFunc(maps\mp\zm_tomb_craftables::quadrotor_control_thread, scripts\zm\replaced\zm_tomb_craftables::quadrotor_control_thread); replaceFunc(maps\mp\zm_tomb_craftables::quadrotor_control_thread, scripts\zm\replaced\zm_tomb_craftables::quadrotor_control_thread);
replaceFunc(maps\mp\zm_tomb_craftables::quadrotor_set_unavailable, scripts\zm\replaced\zm_tomb_craftables::quadrotor_set_unavailable); replaceFunc(maps\mp\zm_tomb_craftables::quadrotor_set_unavailable, scripts\zm\replaced\zm_tomb_craftables::quadrotor_set_unavailable);
replaceFunc(maps\mp\zm_tomb_craftables::vinyl_add_pickup, scripts\zm\replaced\zm_tomb_craftables::vinyl_add_pickup); replaceFunc(maps\mp\zm_tomb_craftables::vinyl_add_pickup, scripts\zm\replaced\zm_tomb_craftables::vinyl_add_pickup);
replaceFunc(maps\mp\zm_tomb_dig::init_shovel, scripts\zm\replaced\zm_tomb_dig::init_shovel);
replaceFunc(maps\mp\zm_tomb_dig::increment_player_perk_purchase_limit, scripts\zm\replaced\zm_tomb_dig::increment_player_perk_purchase_limit); replaceFunc(maps\mp\zm_tomb_dig::increment_player_perk_purchase_limit, scripts\zm\replaced\zm_tomb_dig::increment_player_perk_purchase_limit);
replaceFunc(maps\mp\zm_tomb_dig::dig_disconnect_watch, scripts\zm\replaced\zm_tomb_dig::dig_disconnect_watch);
replaceFunc(maps\mp\zm_tomb_tank::players_on_tank_update, scripts\zm\replaced\zm_tomb_tank::players_on_tank_update); replaceFunc(maps\mp\zm_tomb_tank::players_on_tank_update, scripts\zm\replaced\zm_tomb_tank::players_on_tank_update);
replaceFunc(maps\mp\zombies\_zm_ai_mechz::mechz_set_starting_health, scripts\zm\replaced\_zm_ai_mechz::mechz_set_starting_health); replaceFunc(maps\mp\zombies\_zm_ai_mechz::mechz_set_starting_health, scripts\zm\replaced\_zm_ai_mechz::mechz_set_starting_health);
replaceFunc(maps\mp\zombies\_zm_craftables::choose_open_craftable, scripts\zm\replaced\_zm_craftables::choose_open_craftable); replaceFunc(maps\mp\zombies\_zm_craftables::choose_open_craftable, scripts\zm\replaced\_zm_craftables::choose_open_craftable);
@ -53,7 +53,6 @@ main()
init() init()
{ {
level.map_on_player_connect = ::on_player_connect;
level.zombie_init_done = ::zombie_init_done; level.zombie_init_done = ::zombie_init_done;
level.special_weapon_magicbox_check = ::tomb_special_weapon_magicbox_check; level.special_weapon_magicbox_check = ::tomb_special_weapon_magicbox_check;
level.custom_magic_box_timer_til_despawn = ::custom_magic_box_timer_til_despawn; level.custom_magic_box_timer_til_despawn = ::custom_magic_box_timer_til_despawn;
@ -61,16 +60,10 @@ init()
level.custom_craftable_validation = scripts\zm\replaced\zm_tomb_craftables::tomb_custom_craftable_validation; level.custom_craftable_validation = scripts\zm\replaced\zm_tomb_craftables::tomb_custom_craftable_validation;
level thread increase_solo_door_prices(); level thread increase_solo_door_prices();
level thread remove_shovels_from_map();
level thread zombie_blood_dig_changes(); level thread zombie_blood_dig_changes();
level thread updatecraftables(); level thread updatecraftables();
} }
on_player_connect()
{
self thread give_shovel();
}
zombie_init_done() zombie_init_done()
{ {
self.allowpain = 0; self.allowpain = 0;
@ -133,41 +126,6 @@ door_price_increase_for_solo()
} }
} }
remove_shovels_from_map()
{
if(!(is_classic() && level.scr_zm_map_start_location == "tomb"))
{
return;
}
flag_wait( "initial_blackscreen_passed" );
stubs = level._unitriggers.trigger_stubs;
for(i = 0; i < stubs.size; i++)
{
stub = stubs[i];
if(IsDefined(stub.e_shovel))
{
stub.e_shovel delete();
maps\mp\zombies\_zm_unitrigger::unregister_unitrigger( stub );
}
}
}
give_shovel()
{
if(!(is_classic() && level.scr_zm_map_start_location == "tomb"))
{
return;
}
self waittill("spawned_player");
self.dig_vars[ "has_shovel" ] = 1;
n_player = self getentitynumber() + 1;
level setclientfield( "shovel_player" + n_player, 1 );
}
zombie_blood_dig_changes() zombie_blood_dig_changes()
{ {
if(!(is_classic() && level.scr_zm_map_start_location == "tomb")) if(!(is_classic() && level.scr_zm_map_start_location == "tomb"))