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

Time Bomb: can have with Monkey Bombs

This commit is contained in:
Jbleezy
2023-04-02 14:02:40 -07:00
parent 4a396576ed
commit 35d56b1817
3 changed files with 78 additions and 0 deletions

View File

@ -183,6 +183,9 @@
* Can be repurchased
* Increased max amount that can be placed from 12 to 20
### Time Bomb
* Can have with Monkey Bombs
### One Inch Punch
* Upgraded: elemental punch changes based on which staff the player currently has
* Fixed an issue where a player's melee weapon wouldn't reset if the player bled out in the Giant Robots

View File

@ -0,0 +1,73 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\gametypes_zm\_hud_util;
#include maps\mp\zombies\_zm_weapons;
#include maps\mp\_visionset_mgr;
#include maps\mp\zombies\_zm_audio;
#include maps\mp\zombies\_zm_blockers;
#include maps\mp\zombies\_zm_laststand;
#include maps\mp\zombies\_zm_weapon_locker;
#include maps\mp\zombies\_zm_magicbox;
#include maps\mp\zombies\_zm_perks;
#include maps\mp\zombies\_zm_score;
#include maps\mp\zombies\_zm_stats;
#include maps\mp\zombies\_zm_equipment;
#include maps\mp\zombies\_zm;
#include maps\mp\zombies\_zm_spawner;
#include maps\mp\animscripts\zm_death;
#include maps\mp\zombies\_zm_ai_basic;
#include maps\mp\zombies\_zm_weap_time_bomb;
init_time_bomb()
{
time_bomb_precache();
level thread time_bomb_post_init();
flag_init( "time_bomb_round_killed" );
flag_init( "time_bomb_enemies_restored" );
flag_init( "time_bomb_zombie_respawning_done" );
flag_init( "time_bomb_restore_active" );
flag_init( "time_bomb_restore_done" );
flag_init( "time_bomb_global_restore_done" );
flag_init( "time_bomb_detonation_enabled" );
flag_init( "time_bomb_stores_door_state" );
registerclientfield( "world", "time_bomb_saved_round_number", 12000, 8, "int" );
registerclientfield( "world", "time_bomb_lua_override", 12000, 1, "int" );
registerclientfield( "world", "time_bomb_hud_toggle", 12000, 1, "int" );
registerclientfield( "toplayer", "sndTimebombLoop", 12000, 2, "int" );
maps\mp\zombies\_zm_weapons::register_zombie_weapon_callback( "time_bomb_zm", ::player_give_time_bomb );
level.zombiemode_time_bomb_give_func = ::player_give_time_bomb;
include_weapon( "time_bomb_zm", 1 );
maps\mp\zombies\_zm_weapons::add_limited_weapon( "time_bomb_zm", 1 );
add_time_bomb_to_mystery_box();
register_equipment_for_level( "time_bomb_zm" );
register_equipment_for_level( "time_bomb_detonator_zm" );
if ( !isdefined( level.round_wait_func ) )
level.round_wait_func = ::time_bomb_round_wait;
level.zombie_round_change_custom = ::time_bomb_custom_round_change;
level._effect["time_bomb_set"] = loadfx( "weapon/time_bomb/fx_time_bomb_detonate" );
level._effect["time_bomb_ammo_fx"] = loadfx( "misc/fx_zombie_powerup_on" );
level._effect["time_bomb_respawns_enemy"] = loadfx( "maps/zombie_buried/fx_buried_time_bomb_spawn" );
level._effect["time_bomb_kills_enemy"] = loadfx( "maps/zombie_buried/fx_buried_time_bomb_death" );
level._time_bomb = spawnstruct();
level._time_bomb.enemy_type = [];
register_time_bomb_enemy( "zombie", ::is_zombie_round, ::time_bomb_saves_zombie_data, ::time_bomb_respawns_zombies );
register_time_bomb_enemy_default( "zombie" );
level._time_bomb.last_round_restored = -1;
flag_set( "time_bomb_detonation_enabled" );
}
player_give_time_bomb()
{
assert( isplayer( self ), "player_give_time_bomb can only be used on players!" );
self giveweapon( "time_bomb_zm" );
self swap_weapon_to_time_bomb();
self thread show_time_bomb_hints();
self thread time_bomb_think();
self thread detonator_think();
self thread time_bomb_inventory_slot_think();
self thread destroy_time_bomb_save_if_user_bleeds_out_or_disconnects();
self thread sndwatchforweapswitch();
}

View File

@ -13,6 +13,7 @@
#include scripts\zm\replaced\_zm_equip_headchopper;
#include scripts\zm\replaced\_zm_perk_vulture;
#include scripts\zm\replaced\_zm_weap_slowgun;
#include scripts\zm\replaced\_zm_weap_time_bomb;
#include scripts\zm\replaced\_zm_banking;
#include scripts\zm\replaced\_zm_weapon_locker;
#include scripts\zm\replaced\_zm_sq;
@ -41,6 +42,7 @@ main()
replaceFunc(maps\mp\zombies\_zm_weap_slowgun::zombie_paralyzed, scripts\zm\replaced\_zm_weap_slowgun::zombie_paralyzed);
replaceFunc(maps\mp\zombies\_zm_weap_slowgun::player_slow_for_time, scripts\zm\replaced\_zm_weap_slowgun::player_slow_for_time);
replaceFunc(maps\mp\zombies\_zm_weap_slowgun::watch_reset_anim_rate, scripts\zm\replaced\_zm_weap_slowgun::watch_reset_anim_rate);
replaceFunc(maps\mp\zombies\_zm_weap_time_bomb::init_time_bomb, scripts\zm\replaced\_zm_weap_time_bomb::init_time_bomb);
replaceFunc(maps\mp\zombies\_zm_banking::init, scripts\zm\replaced\_zm_banking::init);
replaceFunc(maps\mp\zombies\_zm_banking::bank_deposit_box, scripts\zm\replaced\_zm_banking::bank_deposit_box);
replaceFunc(maps\mp\zombies\_zm_banking::bank_deposit_unitrigger, scripts\zm\replaced\_zm_banking::bank_deposit_unitrigger);