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

MOTD melee weapons: add held weapon

This commit is contained in:
Jbleezy 2023-12-23 01:18:40 -08:00
parent 330819da55
commit 18ef6375c4
15 changed files with 146 additions and 10 deletions

View File

@ -14,6 +14,15 @@ LANG_ENGLISH "DOCKS"
REFERENCE ZMUI_MAZE_CAPS
LANG_ENGLISH "MAZE"
REFERENCE ZMWEAPON_SHIV
LANG_ENGLISH "Shiv"
REFERENCE ZMWEAPON_SPOON
LANG_ENGLISH "Silver Spoon"
REFERENCE ZMWEAPON_SPORK
LANG_ENGLISH "Golden Spork"
REFERENCE ZOMBIE_EQUIP_TURBINE
LANG_ENGLISH "Turbine"

View File

@ -2603,6 +2603,12 @@ weapon_changes()
if (level.script == "zm_transit" || level.script == "zm_nuked" || level.script == "zm_highrise" || level.script == "zm_buried")
{
include_weapon( "held_bowie_knife_zm", 0 );
register_melee_weapon_for_level( "held_bowie_knife_zm" );
include_weapon( "held_tazer_knuckles_zm", 0 );
register_melee_weapon_for_level( "held_tazer_knuckles_zm" );
level.laststandpistol = "fnp45_zm";
level.default_laststandpistol = "fnp45_zm";
level.default_solo_laststandpistol = "fnp45_upgraded_zm";
@ -2611,12 +2617,18 @@ weapon_changes()
include_weapon( "fnp45_upgraded_zm", 0 );
add_limited_weapon( "fnp45_zm", 0 );
add_zombie_weapon( "fnp45_zm", "fnp45_upgraded_zm", &"WEAPON_FNP45", 50, "wpck_pistol", "", undefined, 1 );
}
include_weapon( "held_bowie_knife_zm", 0 );
register_melee_weapon_for_level( "held_bowie_knife_zm" );
if (level.script == "zm_prison")
{
include_weapon( "held_knife_zm_alcatraz", 0 );
register_melee_weapon_for_level( "held_knife_zm_alcatraz" );
include_weapon( "held_tazer_knuckles_zm", 0 );
register_melee_weapon_for_level( "held_tazer_knuckles_zm" );
include_weapon( "held_spoon_zm_alcatraz", 0 );
register_melee_weapon_for_level( "held_spoon_zm_alcatraz" );
include_weapon( "held_spork_zm_alcatraz", 0 );
register_melee_weapon_for_level( "held_spork_zm_alcatraz" );
}
}

View File

@ -214,7 +214,7 @@ afterlife_spawn_corpse()
corpse.angles = self.angles;
corpse.ignoreme = 1;
corpse maps\mp\zombies\_zm_clone::clone_give_weapon("m1911_zm");
corpse maps\mp\zombies\_zm_clone::clone_give_weapon(level.start_weapon);
corpse maps\mp\zombies\_zm_clone::clone_animate("afterlife");
corpse thread afterlife_revive_trigger_spawn();
@ -658,7 +658,11 @@ afterlife_give_loadout()
self switchtoweaponimmediate(loadout.weapons[loadout.current_weapon]);
if (isdefined(self get_player_melee_weapon()))
{
self giveweapon(self get_player_melee_weapon());
self giveweapon("held_" + self get_player_melee_weapon());
self setactionslot(2, "weapon", "held_" + self get_player_melee_weapon());
}
self.do_not_display_equipment_pickup_hint = 1;
self maps\mp\zombies\_zm_equipment::equipment_give(self.loadout.equipment);

View File

@ -0,0 +1,104 @@
#include maps\mp\zm_prison_spoon;
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_net;
#include maps\mp\zombies\_zm_spawner;
#include maps\mp\zombies\_zm_zonemgr;
#include maps\mp\zombies\_zm_weap_tomahawk;
#include maps\mp\zombies\_zm_stats;
#include maps\mp\zombies\_zm_audio;
give_player_spoon_upon_receipt( m_tomahawk, m_player_spoon )
{
while ( isdefined( m_tomahawk ) )
wait 0.05;
m_player_spoon delete();
if ( !self hasweapon( "spoon_zm_alcatraz" ) && !self hasweapon( "spork_zm_alcatraz" ) && !( isdefined( self.spoon_in_tub ) && self.spoon_in_tub ) )
{
current_weapon = self getcurrentweapon();
self giveweapon( "spoon_zm_alcatraz" );
self set_player_melee_weapon( "spoon_zm_alcatraz" );
self giveweapon( "held_spoon_zm_alcatraz" );
self setactionslot( 2, "weapon", "held_spoon_zm_alcatraz" );
if (is_melee_weapon(current_weapon))
{
self switchtoweapon( "held_spoon_zm_alcatraz" );
}
level thread maps\mp\zombies\_zm_audio::sndmusicstingerevent( "spoon", self );
weapons = self getweaponslist();
for ( i = 0; i < weapons.size; i++ )
{
if ( issubstr( weapons[i], "knife" ) )
self takeweapon( weapons[i] );
}
}
weapons = self getweaponslist();
wait 1.0;
self thread do_player_general_vox( "quest", "pick_up_easter_egg" );
}
dip_the_spoon()
{
self endon( "disconnect" );
wait_for_bucket_activated( self );
current_weapon = self getcurrentweapon();
self takeweapon( "spoon_zm_alcatraz" );
self takeweapon( "held_spoon_zm_alcatraz" );
self giveweapon( "knife_zm_alcatraz" );
self set_player_melee_weapon( "knife_zm_alcatraz" );
self giveweapon( "held_knife_zm_alcatraz" );
self setactionslot( 2, "weapon", "held_knife_zm_alcatraz" );
if (is_melee_weapon(current_weapon))
{
self switchtoweapon( "held_knife_zm_alcatraz" );
}
self.spoon_in_tub = 1;
self setclientfieldtoplayer( "spoon_visual_state", 1 );
wait 5;
level.b_spoon_in_tub = 1;
flag_wait( "charged_spoon" );
wait 1.0;
level.t_bathtub playsound( "zmb_easteregg_laugh" );
self thread thrust_the_spork();
}
thrust_the_spork()
{
self endon( "disconnect" );
wait_for_bucket_activated( self );
self setclientfieldtoplayer( "spoon_visual_state", 2 );
wait 5;
wait_for_bucket_activated( self );
current_weapon = self getcurrentweapon();
self takeweapon( "knife_zm_alcatraz" );
self takeweapon( "held_knife_zm_alcatraz" );
self giveweapon( "spork_zm_alcatraz" );
self set_player_melee_weapon( "spork_zm_alcatraz" );
self giveweapon( "held_spork_zm_alcatraz" );
self setactionslot( 2, "weapon", "held_spork_zm_alcatraz" );
if (is_melee_weapon(current_weapon))
{
self switchtoweapon( "held_spork_zm_alcatraz" );
}
level thread maps\mp\zombies\_zm_audio::sndmusicstingerevent( "spork", self );
self.spoon_in_tub = undefined;
self setclientfieldtoplayer( "spoon_visual_state", 3 );
wait 1.0;
self thread do_player_general_vox( "quest", "pick_up_easter_egg" );
}

View File

@ -27,6 +27,8 @@ main()
replaceFunc(maps\mp\zm_alcatraz_travel::move_gondola, scripts\zm\replaced\zm_alcatraz_travel::move_gondola);
replaceFunc(maps\mp\zm_alcatraz_weap_quest::grief_soul_catcher_state_manager, scripts\zm\replaced\zm_alcatraz_weap_quest::grief_soul_catcher_state_manager);
replaceFunc(maps\mp\zm_alcatraz_distance_tracking::delete_zombie_noone_looking, scripts\zm\replaced\zm_alcatraz_distance_tracking::delete_zombie_noone_looking);
replaceFunc(maps\mp\zm_prison_spoon::give_player_spoon_upon_receipt, scripts\zm\replaced\zm_prison_spoon::give_player_spoon_upon_receipt);
replaceFunc(maps\mp\zm_prison_spoon::dip_the_spoon, scripts\zm\replaced\zm_prison_spoon::dip_the_spoon);
replaceFunc(maps\mp\zm_prison_sq_bg::give_sq_bg_reward, scripts\zm\replaced\zm_prison_sq_bg::give_sq_bg_reward);
replaceFunc(maps\mp\zm_prison_sq_final::stage_one, scripts\zm\replaced\zm_prison_sq_final::stage_one);
replaceFunc(maps\mp\zm_prison_sq_final::final_flight_trigger, scripts\zm\replaced\zm_prison_sq_final::final_flight_trigger);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long