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

Tranzit: fix B23R hint string and ammo costs

This commit is contained in:
Jbleezy
2023-03-27 15:34:30 -07:00
parent b1383377e5
commit db6de0b212
3 changed files with 278 additions and 270 deletions

View File

@ -57,6 +57,8 @@ main()
replaceFunc(maps\mp\zombies\_zm_weapons::get_upgraded_ammo_cost, scripts\zm\replaced\_zm_weapons::get_upgraded_ammo_cost);
replaceFunc(maps\mp\zombies\_zm_weapons::makegrenadedudanddestroy, scripts\zm\replaced\_zm_weapons::makegrenadedudanddestroy);
replaceFunc(maps\mp\zombies\_zm_weapons::createballisticknifewatcher_zm, scripts\zm\replaced\_zm_weapons::createballisticknifewatcher_zm);
replaceFunc(maps\mp\zombies\_zm_weapons::weapon_spawn_think, scripts\zm\replaced\_zm_weapons::weapon_spawn_think);
replaceFunc(maps\mp\zombies\_zm_weapons::weapon_set_first_time_hint, scripts\zm\replaced\_zm_weapons::weapon_set_first_time_hint);
replaceFunc(maps\mp\zombies\_zm_magicbox::treasure_chest_init, scripts\zm\replaced\_zm_magicbox::treasure_chest_init);
replaceFunc(maps\mp\zombies\_zm_magicbox::treasure_chest_move, scripts\zm\replaced\_zm_magicbox::treasure_chest_move);
replaceFunc(maps\mp\zombies\_zm_magicbox::treasure_chest_timeout, scripts\zm\replaced\_zm_magicbox::treasure_chest_timeout);
@ -2402,7 +2404,7 @@ wallbuy_decrease_upgraded_ammo_cost()
{
if(isDefined(level._unitriggers.trigger_stubs[i].trigger_func) && level._unitriggers.trigger_stubs[i].trigger_func == maps\mp\zombies\_zm_weapons::weapon_spawn_think)
{
level._unitriggers.trigger_stubs[i].trigger_func = ::weapon_spawn_think;
level._unitriggers.trigger_stubs[i].trigger_func = scripts\zm\replaced\_zm_weapons::weapon_spawn_think;
}
}
}
@ -2430,272 +2432,6 @@ wallbuy_claymore_changes()
}
}
weapon_spawn_think()
{
cost = maps\mp\zombies\_zm_weapons::get_weapon_cost( self.zombie_weapon_upgrade );
ammo_cost = maps\mp\zombies\_zm_weapons::get_ammo_cost( self.zombie_weapon_upgrade );
shared_ammo_weapon = undefined;
second_endon = undefined;
is_grenade = 0;
if(weapontype( self.zombie_weapon_upgrade ) == "grenade")
{
is_grenade = 1;
}
if ( isDefined( self.stub ) )
{
second_endon = "kill_trigger";
self.first_time_triggered = self.stub.first_time_triggered;
}
if ( isDefined( self.stub ) && is_true( self.stub.trigger_per_player ) )
{
self thread maps\mp\zombies\_zm_magicbox::decide_hide_show_hint( "stop_hint_logic", second_endon, self.parent_player );
}
else
{
self thread maps\mp\zombies\_zm_magicbox::decide_hide_show_hint( "stop_hint_logic", second_endon );
}
if ( is_grenade )
{
self.first_time_triggered = 0;
hint = maps\mp\zombies\_zm_weapons::get_weapon_hint( self.zombie_weapon_upgrade );
self sethintstring( hint, cost );
}
else if ( !isDefined( self.first_time_triggered ) )
{
self.first_time_triggered = 0;
if ( isDefined( self.stub ) )
{
self.stub.first_time_triggered = 0;
}
}
else if ( self.first_time_triggered )
{
if ( is_true( level.use_legacy_weapon_prompt_format ) )
{
self maps\mp\zombies\_zm_weapons::weapon_set_first_time_hint( cost, maps\mp\zombies\_zm_weapons::get_ammo_cost( self.zombie_weapon_upgrade ) );
}
}
for ( ;; )
{
self waittill( "trigger", player );
if ( !is_player_valid( player ) )
{
player thread ignore_triggers( 0.5 );
continue;
}
if ( !player maps\mp\zombies\_zm_magicbox::can_buy_weapon() )
{
wait 0.1;
continue;
}
if ( isDefined( self.stub ) && is_true( self.stub.require_look_from ) )
{
toplayer = player get_eye() - self.origin;
forward = -1 * anglesToRight( self.angles );
dot = vectordot( toplayer, forward );
if ( dot < 0 )
{
continue;
}
}
if ( player has_powerup_weapon() )
{
wait 0.1;
continue;
}
player_has_weapon = player maps\mp\zombies\_zm_weapons::has_weapon_or_upgrade( self.zombie_weapon_upgrade );
if ( !player_has_weapon && is_true( level.weapons_using_ammo_sharing ) )
{
shared_ammo_weapon = player maps\mp\zombies\_zm_weapons::get_shared_ammo_weapon( self.zombie_weapon_upgrade );
if ( isDefined( shared_ammo_weapon ) )
{
player_has_weapon = 1;
}
}
if ( is_true( level.pers_upgrade_nube ) )
{
player_has_weapon = maps\mp\zombies\_zm_pers_upgrades_functions::pers_nube_should_we_give_raygun( player_has_weapon, player, self.zombie_weapon_upgrade );
}
cost = maps\mp\zombies\_zm_weapons::get_weapon_cost( self.zombie_weapon_upgrade );
if ( player maps\mp\zombies\_zm_pers_upgrades_functions::is_pers_double_points_active() )
{
cost = int( cost / 2 );
}
if ( !player_has_weapon )
{
if ( player.score >= cost )
{
if ( self.first_time_triggered == 0 )
{
self maps\mp\zombies\_zm_weapons::show_all_weapon_buys( player, cost, ammo_cost, is_grenade );
}
player maps\mp\zombies\_zm_score::minus_to_player_score( cost, 1 );
bbprint( "zombie_uses", "playername %s playerscore %d round %d cost %d name %s x %f y %f z %f type %s", player.name, player.score, level.round_number, cost, self.zombie_weapon_upgrade, self.origin, "weapon" );
level notify( "weapon_bought", player, self.zombie_weapon_upgrade );
if ( self.zombie_weapon_upgrade == "riotshield_zm" )
{
player maps\mp\zombies\_zm_equipment::equipment_give( "riotshield_zm" );
if ( isDefined( player.player_shield_reset_health ) )
{
player [[ player.player_shield_reset_health ]]();
}
}
else if ( self.zombie_weapon_upgrade == "jetgun_zm" )
{
player maps\mp\zombies\_zm_equipment::equipment_give( "jetgun_zm" );
}
else if ( is_lethal_grenade( self.zombie_weapon_upgrade ) )
{
player takeweapon( player get_player_lethal_grenade() );
player set_player_lethal_grenade( self.zombie_weapon_upgrade );
}
str_weapon = self.zombie_weapon_upgrade;
if ( is_true( level.pers_upgrade_nube ) )
{
str_weapon = maps\mp\zombies\_zm_pers_upgrades_functions::pers_nube_weapon_upgrade_check( player, str_weapon );
}
player maps\mp\zombies\_zm_weapons::weapon_give( str_weapon );
player maps\mp\zombies\_zm_stats::increment_client_stat( "wallbuy_weapons_purchased" );
player maps\mp\zombies\_zm_stats::increment_player_stat( "wallbuy_weapons_purchased" );
}
else
{
play_sound_on_ent( "no_purchase" );
player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "no_money_weapon" );
}
}
else
{
str_weapon = self.zombie_weapon_upgrade;
if ( isDefined( shared_ammo_weapon ) )
{
str_weapon = shared_ammo_weapon;
}
if ( is_true( level.pers_upgrade_nube ) )
{
str_weapon = maps\mp\zombies\_zm_pers_upgrades_functions::pers_nube_weapon_ammo_check( player, str_weapon );
}
if ( is_true( self.hacked ) )
{
if ( !player maps\mp\zombies\_zm_weapons::has_upgrade( str_weapon ) )
{
ammo_cost = maps\mp\zombies\_zm_weapons::get_upgraded_ammo_cost( str_weapon );
}
else
{
ammo_cost = maps\mp\zombies\_zm_weapons::get_ammo_cost( str_weapon );
}
}
else if ( player maps\mp\zombies\_zm_weapons::has_upgrade( str_weapon ) )
{
ammo_cost = maps\mp\zombies\_zm_weapons::get_upgraded_ammo_cost( str_weapon );
}
else
{
ammo_cost = maps\mp\zombies\_zm_weapons::get_ammo_cost( str_weapon );
}
if ( is_true( player.pers_upgrades_awarded[ "nube" ] ) )
{
ammo_cost = maps\mp\zombies\_zm_pers_upgrades_functions::pers_nube_override_ammo_cost( player, self.zombie_weapon_upgrade, ammo_cost );
}
if ( player maps\mp\zombies\_zm_pers_upgrades_functions::is_pers_double_points_active() )
{
ammo_cost = int( ammo_cost / 2 );
}
if ( str_weapon == "riotshield_zm" )
{
play_sound_on_ent( "no_purchase" );
}
else if ( player.score >= ammo_cost )
{
if ( self.first_time_triggered == 0 )
{
self maps\mp\zombies\_zm_weapons::show_all_weapon_buys( player, cost, ammo_cost, is_grenade );
}
if ( player maps\mp\zombies\_zm_weapons::has_upgrade( str_weapon ) )
{
player maps\mp\zombies\_zm_stats::increment_client_stat( "upgraded_ammo_purchased" );
player maps\mp\zombies\_zm_stats::increment_player_stat( "upgraded_ammo_purchased" );
}
else
{
player maps\mp\zombies\_zm_stats::increment_client_stat( "ammo_purchased" );
player maps\mp\zombies\_zm_stats::increment_player_stat( "ammo_purchased" );
}
if ( str_weapon == "riotshield_zm" )
{
if ( isDefined( player.player_shield_reset_health ) )
{
ammo_given = player [[ player.player_shield_reset_health ]]();
}
else
{
ammo_given = 0;
}
}
else if ( player maps\mp\zombies\_zm_weapons::has_upgrade( str_weapon ) )
{
ammo_given = player maps\mp\zombies\_zm_weapons::ammo_give( level.zombie_weapons[ str_weapon ].upgrade_name );
}
else
{
ammo_given = player maps\mp\zombies\_zm_weapons::ammo_give( str_weapon );
}
if ( ammo_given )
{
player maps\mp\zombies\_zm_score::minus_to_player_score( ammo_cost, 1 );
bbprint( "zombie_uses", "playername %s playerscore %d round %d cost %d name %s x %f y %f z %f type %s", player.name, player.score, level.round_number, ammo_cost, str_weapon, self.origin, "ammo" );
}
}
else
{
play_sound_on_ent( "no_purchase" );
if ( isDefined( level.custom_generic_deny_vo_func ) )
{
player [[ level.custom_generic_deny_vo_func ]]();
}
else
{
player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "no_money_weapon" );
}
}
}
if ( isDefined( self.stub ) && isDefined( self.stub.prompt_and_visibility_func ) )
{
self [[ self.stub.prompt_and_visibility_func ]]( player );
}
}
}
wallbuy_dynamic_update()
{
if(!(is_classic() && level.scr_zm_map_start_location == "processing"))

View File

@ -220,7 +220,6 @@ ammo_give( weapon )
return false;
}
lethal_grenade_update_prompt( player )
{
weapon = self.stub.zombie_weapon_upgrade;
@ -234,6 +233,272 @@ lethal_grenade_update_prompt( player )
return 1;
}
weapon_spawn_think()
{
cost = maps\mp\zombies\_zm_weapons::get_weapon_cost( self.zombie_weapon_upgrade );
ammo_cost = maps\mp\zombies\_zm_weapons::get_ammo_cost( self.zombie_weapon_upgrade );
shared_ammo_weapon = undefined;
second_endon = undefined;
is_grenade = 0;
if(weapontype( self.zombie_weapon_upgrade ) == "grenade")
{
is_grenade = 1;
}
if ( isDefined( self.stub ) )
{
second_endon = "kill_trigger";
self.first_time_triggered = self.stub.first_time_triggered;
}
if ( isDefined( self.stub ) && is_true( self.stub.trigger_per_player ) )
{
self thread maps\mp\zombies\_zm_magicbox::decide_hide_show_hint( "stop_hint_logic", second_endon, self.parent_player );
}
else
{
self thread maps\mp\zombies\_zm_magicbox::decide_hide_show_hint( "stop_hint_logic", second_endon );
}
if ( is_grenade )
{
self.first_time_triggered = 0;
hint = maps\mp\zombies\_zm_weapons::get_weapon_hint( self.zombie_weapon_upgrade );
self sethintstring( hint, cost );
}
else if ( !isDefined( self.first_time_triggered ) )
{
self.first_time_triggered = 0;
if ( isDefined( self.stub ) )
{
self.stub.first_time_triggered = 0;
}
}
else if ( self.first_time_triggered )
{
if ( is_true( level.use_legacy_weapon_prompt_format ) )
{
self maps\mp\zombies\_zm_weapons::weapon_set_first_time_hint( cost, maps\mp\zombies\_zm_weapons::get_ammo_cost( self.zombie_weapon_upgrade ) );
}
}
for ( ;; )
{
self waittill( "trigger", player );
if ( !is_player_valid( player ) )
{
player thread ignore_triggers( 0.5 );
continue;
}
if ( !player maps\mp\zombies\_zm_magicbox::can_buy_weapon() )
{
wait 0.1;
continue;
}
if ( isDefined( self.stub ) && is_true( self.stub.require_look_from ) )
{
toplayer = player get_eye() - self.origin;
forward = -1 * anglesToRight( self.angles );
dot = vectordot( toplayer, forward );
if ( dot < 0 )
{
continue;
}
}
if ( player has_powerup_weapon() )
{
wait 0.1;
continue;
}
player_has_weapon = player maps\mp\zombies\_zm_weapons::has_weapon_or_upgrade( self.zombie_weapon_upgrade );
if ( !player_has_weapon && is_true( level.weapons_using_ammo_sharing ) )
{
shared_ammo_weapon = player maps\mp\zombies\_zm_weapons::get_shared_ammo_weapon( self.zombie_weapon_upgrade );
if ( isDefined( shared_ammo_weapon ) )
{
player_has_weapon = 1;
}
}
if ( is_true( level.pers_upgrade_nube ) )
{
player_has_weapon = maps\mp\zombies\_zm_pers_upgrades_functions::pers_nube_should_we_give_raygun( player_has_weapon, player, self.zombie_weapon_upgrade );
}
cost = maps\mp\zombies\_zm_weapons::get_weapon_cost( self.zombie_weapon_upgrade );
if ( player maps\mp\zombies\_zm_pers_upgrades_functions::is_pers_double_points_active() )
{
cost = int( cost / 2 );
}
if ( !player_has_weapon )
{
if ( player.score >= cost )
{
if ( self.first_time_triggered == 0 )
{
self maps\mp\zombies\_zm_weapons::show_all_weapon_buys( player, cost, ammo_cost, is_grenade );
}
player maps\mp\zombies\_zm_score::minus_to_player_score( cost, 1 );
bbprint( "zombie_uses", "playername %s playerscore %d round %d cost %d name %s x %f y %f z %f type %s", player.name, player.score, level.round_number, cost, self.zombie_weapon_upgrade, self.origin, "weapon" );
level notify( "weapon_bought", player, self.zombie_weapon_upgrade );
if ( self.zombie_weapon_upgrade == "riotshield_zm" )
{
player maps\mp\zombies\_zm_equipment::equipment_give( "riotshield_zm" );
if ( isDefined( player.player_shield_reset_health ) )
{
player [[ player.player_shield_reset_health ]]();
}
}
else if ( self.zombie_weapon_upgrade == "jetgun_zm" )
{
player maps\mp\zombies\_zm_equipment::equipment_give( "jetgun_zm" );
}
else if ( is_lethal_grenade( self.zombie_weapon_upgrade ) )
{
player takeweapon( player get_player_lethal_grenade() );
player set_player_lethal_grenade( self.zombie_weapon_upgrade );
}
str_weapon = self.zombie_weapon_upgrade;
if ( is_true( level.pers_upgrade_nube ) )
{
str_weapon = maps\mp\zombies\_zm_pers_upgrades_functions::pers_nube_weapon_upgrade_check( player, str_weapon );
}
player maps\mp\zombies\_zm_weapons::weapon_give( str_weapon );
player maps\mp\zombies\_zm_stats::increment_client_stat( "wallbuy_weapons_purchased" );
player maps\mp\zombies\_zm_stats::increment_player_stat( "wallbuy_weapons_purchased" );
}
else
{
play_sound_on_ent( "no_purchase" );
player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "no_money_weapon" );
}
}
else
{
str_weapon = self.zombie_weapon_upgrade;
if ( isDefined( shared_ammo_weapon ) )
{
str_weapon = shared_ammo_weapon;
}
if ( is_true( level.pers_upgrade_nube ) )
{
str_weapon = maps\mp\zombies\_zm_pers_upgrades_functions::pers_nube_weapon_ammo_check( player, str_weapon );
}
if ( is_true( self.hacked ) )
{
if ( !player maps\mp\zombies\_zm_weapons::has_upgrade( str_weapon ) )
{
ammo_cost = maps\mp\zombies\_zm_weapons::get_upgraded_ammo_cost( str_weapon );
}
else
{
ammo_cost = maps\mp\zombies\_zm_weapons::get_ammo_cost( str_weapon );
}
}
else if ( player maps\mp\zombies\_zm_weapons::has_upgrade( str_weapon ) )
{
ammo_cost = maps\mp\zombies\_zm_weapons::get_upgraded_ammo_cost( str_weapon );
}
else
{
ammo_cost = maps\mp\zombies\_zm_weapons::get_ammo_cost( str_weapon );
}
if ( is_true( player.pers_upgrades_awarded[ "nube" ] ) )
{
ammo_cost = maps\mp\zombies\_zm_pers_upgrades_functions::pers_nube_override_ammo_cost( player, self.zombie_weapon_upgrade, ammo_cost );
}
if ( player maps\mp\zombies\_zm_pers_upgrades_functions::is_pers_double_points_active() )
{
ammo_cost = int( ammo_cost / 2 );
}
if ( str_weapon == "riotshield_zm" )
{
play_sound_on_ent( "no_purchase" );
}
else if ( player.score >= ammo_cost )
{
if ( self.first_time_triggered == 0 )
{
self maps\mp\zombies\_zm_weapons::show_all_weapon_buys( player, cost, ammo_cost, is_grenade );
}
if ( player maps\mp\zombies\_zm_weapons::has_upgrade( str_weapon ) )
{
player maps\mp\zombies\_zm_stats::increment_client_stat( "upgraded_ammo_purchased" );
player maps\mp\zombies\_zm_stats::increment_player_stat( "upgraded_ammo_purchased" );
}
else
{
player maps\mp\zombies\_zm_stats::increment_client_stat( "ammo_purchased" );
player maps\mp\zombies\_zm_stats::increment_player_stat( "ammo_purchased" );
}
if ( str_weapon == "riotshield_zm" )
{
if ( isDefined( player.player_shield_reset_health ) )
{
ammo_given = player [[ player.player_shield_reset_health ]]();
}
else
{
ammo_given = 0;
}
}
else if ( player maps\mp\zombies\_zm_weapons::has_upgrade( str_weapon ) )
{
ammo_given = player maps\mp\zombies\_zm_weapons::ammo_give( level.zombie_weapons[ str_weapon ].upgrade_name );
}
else
{
ammo_given = player maps\mp\zombies\_zm_weapons::ammo_give( str_weapon );
}
if ( ammo_given )
{
player maps\mp\zombies\_zm_score::minus_to_player_score( ammo_cost, 1 );
bbprint( "zombie_uses", "playername %s playerscore %d round %d cost %d name %s x %f y %f z %f type %s", player.name, player.score, level.round_number, ammo_cost, str_weapon, self.origin, "ammo" );
}
}
else
{
play_sound_on_ent( "no_purchase" );
if ( isDefined( level.custom_generic_deny_vo_func ) )
{
player [[ level.custom_generic_deny_vo_func ]]();
}
else
{
player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "no_money_weapon" );
}
}
}
if ( isDefined( self.stub ) && isDefined( self.stub.prompt_and_visibility_func ) )
{
self [[ self.stub.prompt_and_visibility_func ]]( player );
}
}
}
get_upgraded_ammo_cost( weapon_name )
{
if ( isDefined( level.zombie_weapons[ weapon_name ].upgraded_ammo_cost ) )
@ -244,6 +509,11 @@ get_upgraded_ammo_cost( weapon_name )
return 2500;
}
weapon_set_first_time_hint( cost, ammo_cost )
{
// remove
}
makegrenadedudanddestroy()
{
self endon( "death" );

View File

@ -210,9 +210,11 @@ b23r_hint_string_fix()
{
if (trig.zombie_weapon_upgrade == "beretta93r_zm")
{
hint = maps\mp\zombies\_zm_weapons::get_weapon_hint(trig.zombie_weapon_upgrade);
level.zombie_weapons[trig.zombie_weapon_upgrade].hint = "Hold ^3[{+activate}]^7 for &&1 [Cost: &&2], Ammo [Cost: &&3], \n Upgraded Ammo [Cost: &&4]";
hint = level.zombie_weapons[trig.zombie_weapon_upgrade].hint;
cost = level.zombie_weapons[trig.zombie_weapon_upgrade].cost;
trig sethintstring(hint, cost);
display_name = getweapondisplayname(trig.zombie_weapon_upgrade);
trig sethintstring(hint, display_name, cost, cost / 2, 2500);
}
}
}