mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 07:08:06 -05:00
Tranzit: bus wallbuy trigger functions the same as other wallbuy triggers
This commit is contained in:
@ -426,6 +426,7 @@
|
||||
* Increased bus speed by 100%
|
||||
* Powerups dropped within the bus are linked to the bus
|
||||
* Players can sprint and go prone on the bus
|
||||
* Bus wallbuy trigger functions the same as other wallbuy triggers
|
||||
* Lava in starting area activates after the power is on
|
||||
* Lava destroys grenades instantly
|
||||
* Decreased brightness at Power Station
|
||||
|
@ -52,6 +52,7 @@ main()
|
||||
replaceFunc(maps\mp\zombies\_zm_laststand::revive_give_back_weapons, scripts\zm\replaced\_zm_laststand::revive_give_back_weapons);
|
||||
replaceFunc(maps\mp\zombies\_zm_laststand::revive_hud_think, scripts\zm\replaced\_zm_laststand::revive_hud_think);
|
||||
replaceFunc(maps\mp\zombies\_zm_laststand::auto_revive, scripts\zm\replaced\_zm_laststand::auto_revive);
|
||||
replaceFunc(maps\mp\zombies\_zm_weapons::init_weapon_upgrade, scripts\zm\replaced\_zm_weapons::init_weapon_upgrade);
|
||||
replaceFunc(maps\mp\zombies\_zm_weapons::weapon_give, scripts\zm\replaced\_zm_weapons::weapon_give);
|
||||
replaceFunc(maps\mp\zombies\_zm_weapons::ammo_give, scripts\zm\replaced\_zm_weapons::ammo_give);
|
||||
replaceFunc(maps\mp\zombies\_zm_weapons::get_upgraded_ammo_cost, scripts\zm\replaced\_zm_weapons::get_upgraded_ammo_cost);
|
||||
|
@ -3,6 +3,18 @@
|
||||
#include maps\mp\zombies\_zm_utility;
|
||||
#include maps\mp\zombies\_zm_weapons;
|
||||
|
||||
init_weapon_upgrade()
|
||||
{
|
||||
init_spawnable_weapon_upgrade();
|
||||
weapon_spawns = [];
|
||||
weapon_spawns = getentarray( "weapon_upgrade", "targetname" );
|
||||
|
||||
for ( i = 0; i < weapon_spawns.size; i++ )
|
||||
{
|
||||
scripts\zm\replaced\utility::wallbuy( weapon_spawns[i].zombie_weapon_upgrade, weapon_spawns[i].target + "_weapon_upgrade", weapon_spawns[i].targetname, weapon_spawns[i].origin, weapon_spawns[i].angles, 0 );
|
||||
}
|
||||
}
|
||||
|
||||
weapon_give( weapon, is_upgrade, magic_box, nosound )
|
||||
{
|
||||
primaryweapons = self getweaponslistprimaries();
|
||||
|
@ -169,7 +169,7 @@ register_map_initial_spawnpoint( origin, angles, team_num )
|
||||
level.struct_class_names[ "script_noteworthy" ][ "initial_spawn" ][ player_initial_spawnpoint_size ] = spawnpoint_struct;
|
||||
}
|
||||
|
||||
wallbuy( weapon_name, target, targetname, origin, angles )
|
||||
wallbuy( weapon_name, target, targetname, origin, angles, play_chalk_fx = 1 )
|
||||
{
|
||||
unitrigger_stub = spawnstruct();
|
||||
unitrigger_stub.origin = origin;
|
||||
@ -290,13 +290,16 @@ wallbuy( weapon_name, target, targetname, origin, angles )
|
||||
maps\mp\zombies\_zm_unitrigger::register_static_unitrigger( unitrigger_stub, ::weapon_spawn_think );
|
||||
}
|
||||
|
||||
chalk_fx = weapon_name + "_fx";
|
||||
level thread playchalkfx( chalk_fx, origin, angles );
|
||||
|
||||
if(weaponType(weapon_name) == "grenade")
|
||||
{
|
||||
unitrigger_stub thread wallbuy_grenade_model_fix();
|
||||
}
|
||||
|
||||
if (play_chalk_fx)
|
||||
{
|
||||
chalk_fx = weapon_name + "_fx";
|
||||
level thread playchalkfx( chalk_fx, origin, angles );
|
||||
}
|
||||
}
|
||||
|
||||
playchalkfx( effect, origin, angles )
|
||||
|
@ -441,6 +441,103 @@ begin_arrival_slowdown()
|
||||
self setspeed( 10, 10, 10 );
|
||||
}
|
||||
|
||||
buspathblockersetup()
|
||||
{
|
||||
self.path_blockers = getentarray( "bus_path_blocker", "targetname" );
|
||||
|
||||
for ( i = 0; i < self.path_blockers.size; i++ )
|
||||
self.path_blockers[i] linkto( self, "", self worldtolocalcoords( self.path_blockers[i].origin ), self.path_blockers[i].angles + self.angles );
|
||||
|
||||
cow_catcher_blocker = getent( "cow_catcher_path_blocker", "targetname" );
|
||||
|
||||
if ( isdefined( cow_catcher_blocker ) )
|
||||
cow_catcher_blocker linkto( self, "", self worldtolocalcoords( cow_catcher_blocker.origin ), cow_catcher_blocker.angles + self.angles );
|
||||
|
||||
trig = getent( "bus_buyable_weapon1", "script_noteworthy" );
|
||||
trig enablelinkto();
|
||||
trig linkto( self, "", self worldtolocalcoords( trig.origin ), ( 0, 0, 0 ) );
|
||||
trig setinvisibletoall();
|
||||
self.buyable_weapon = trig;
|
||||
level._spawned_wallbuys[level._spawned_wallbuys.size] = trig;
|
||||
weapon_model = getent( trig.target, "targetname" );
|
||||
weapon_model linkto( self, "", self worldtolocalcoords( weapon_model.origin ), weapon_model.angles + self.angles );
|
||||
weapon_model setmovingplatformenabled( 1 );
|
||||
weapon_model._linked_ent = trig;
|
||||
weapon_model hide();
|
||||
|
||||
self thread bus_buyable_weapon_unitrigger_setup(trig);
|
||||
}
|
||||
|
||||
bus_buyable_weapon_unitrigger_setup(trig)
|
||||
{
|
||||
unitrigger = undefined;
|
||||
while (!isDefined(unitrigger))
|
||||
{
|
||||
for(i = 0; i < level._unitriggers.trigger_stubs.size; i++)
|
||||
{
|
||||
if(IsDefined(level._unitriggers.trigger_stubs[i].zombie_weapon_upgrade) && level._unitriggers.trigger_stubs[i].zombie_weapon_upgrade == "beretta93r_zm")
|
||||
{
|
||||
unitrigger = level._unitriggers.trigger_stubs[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
wait 1;
|
||||
}
|
||||
|
||||
unitrigger.origin_parent = trig;
|
||||
unitrigger.link_parent = trig;
|
||||
unitrigger.originfunc = ::bus_buyable_weapon_get_unitrigger_origin;
|
||||
unitrigger.onspawnfunc = ::bus_buyable_weapon_on_spawn_trigger;
|
||||
|
||||
unitrigger.target = undefined; // remove other wallbuy weapon model from showing
|
||||
}
|
||||
|
||||
bus_buyable_weapon_get_unitrigger_origin()
|
||||
{
|
||||
return self.origin_parent.origin + (0, 0, -32);
|
||||
}
|
||||
|
||||
bus_buyable_weapon_on_spawn_trigger(trigger)
|
||||
{
|
||||
trigger enablelinkto();
|
||||
trigger linkto(self.link_parent);
|
||||
trigger setmovingplatformenabled(1);
|
||||
}
|
||||
|
||||
busthink()
|
||||
{
|
||||
no_danger = 0;
|
||||
self thread busupdatechasers();
|
||||
self thread busupdateplayers();
|
||||
self thread busupdatenearzombies();
|
||||
|
||||
while ( true )
|
||||
{
|
||||
waittillframeend;
|
||||
self busupdatespeed();
|
||||
self busupdateignorewindows();
|
||||
|
||||
if ( self.ismoving )
|
||||
self busupdatenearequipment();
|
||||
|
||||
if ( !( isdefined( level.bus_zombie_danger ) && level.bus_zombie_danger ) && ( self.numplayersonroof || self.numplayersinsidebus ) )
|
||||
{
|
||||
no_danger++;
|
||||
|
||||
if ( no_danger > 40 )
|
||||
{
|
||||
level thread do_player_bus_zombie_vox( "bus_zom_none", 40, 60 );
|
||||
no_danger = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
no_danger = 0;
|
||||
|
||||
wait 0.1;
|
||||
}
|
||||
}
|
||||
|
||||
busupdateplayers()
|
||||
{
|
||||
level endon( "end_game" );
|
||||
@ -532,7 +629,6 @@ busupdateplayers()
|
||||
if ( !playerisinbus && ( isdefined( player.isonbus ) && player.isonbus ) )
|
||||
{
|
||||
bbprint( "zombie_events", "category %s type %s round %d playername %s", "BUS", "player_exit", level.round_number, player.name );
|
||||
self.buyable_weapon setinvisibletoplayer( player );
|
||||
player setclientplayerpushamount( 1 );
|
||||
player notify( "left bus" );
|
||||
player clientnotify( "LBS" );
|
||||
@ -551,12 +647,10 @@ busupdateplayers()
|
||||
|
||||
if ( isdefined( player.isonbusroof ) && player.isonbusroof )
|
||||
{
|
||||
self.buyable_weapon setinvisibletoplayer( player );
|
||||
self.numplayersonroof++;
|
||||
}
|
||||
else if ( isdefined( player.isonbus ) && player.isonbus )
|
||||
{
|
||||
self.buyable_weapon setvisibletoplayer( player );
|
||||
self.numplayersinsidebus++;
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,6 @@ main()
|
||||
replaceFunc(maps\mp\zm_transit_utility::solo_tombstone_removal, scripts\zm\replaced\zm_transit_utility::solo_tombstone_removal);
|
||||
replaceFunc(maps\mp\zm_transit_bus::bussetup, scripts\zm\replaced\zm_transit_bus::bussetup);
|
||||
replaceFunc(maps\mp\zm_transit_bus::busscheduleadd, scripts\zm\replaced\zm_transit_bus::busscheduleadd);
|
||||
replaceFunc(maps\mp\zm_transit_bus::busupdateplayers, scripts\zm\replaced\zm_transit_bus::busupdateplayers);
|
||||
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_detach, scripts\zm\replaced\_zm_ai_screecher::screecher_detach);
|
||||
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_cleanup, scripts\zm\replaced\_zm_ai_screecher::screecher_cleanup);
|
||||
replaceFunc(maps\mp\zombies\_zm_riotshield::doriotshielddeploy, scripts\zm\replaced\_zm_riotshield::doriotshielddeploy);
|
||||
@ -65,7 +64,6 @@ init()
|
||||
path_exploit_fixes();
|
||||
|
||||
level thread power_local_electric_doors_globally();
|
||||
level thread b23r_hint_string_fix();
|
||||
level thread power_station_vision_change();
|
||||
level thread attach_powerups_to_bus();
|
||||
}
|
||||
@ -200,25 +198,6 @@ power_local_electric_doors_globally()
|
||||
}
|
||||
}
|
||||
|
||||
b23r_hint_string_fix()
|
||||
{
|
||||
flag_wait( "initial_blackscreen_passed" );
|
||||
wait 0.05;
|
||||
|
||||
trigs = getentarray("weapon_upgrade", "targetname");
|
||||
foreach (trig in trigs)
|
||||
{
|
||||
if (trig.zombie_weapon_upgrade == "beretta93r_zm")
|
||||
{
|
||||
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;
|
||||
display_name = getweapondisplayname(trig.zombie_weapon_upgrade);
|
||||
trig sethintstring(hint, display_name, cost, cost / 2, 2500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
grenade_safe_to_bounce( player, weapname )
|
||||
{
|
||||
if ( !is_offhand_weapon( weapname ) )
|
||||
|
Reference in New Issue
Block a user