Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include common_scripts\utility;
- #include maps\mp\_utility;
- /*
- NUKE IS REPLACED, IT WILL NOW BE CALLED "ANTI-ZOMBIE-JERMS"
- */
- init()
- {
- precacheItem( "nuke_mp" );
- precacheLocationSelector( "map_nuke_selector" );
- precacheString( game["strings"]["nuclear_strike_2nd"] );
- precacheString( game["strings"]["OUR_WILL_WIPE"] );
- precacheString( game["strings"]["nuclear_strike_2nd"] );
- level._effect[ "nuke_player" ] = loadfx( "explosions/player_death_nuke" );
- level._effect[ "nuke_flash" ] = loadfx( "explosions/player_death_nuke_flash" );
- level._effect[ "cloud" ] = loadfx( "explosions/emp_flash_mp" );
- game["strings"]["nuclear_strike"] = game["strings"]["nuclear_strike_2nd"];
- level.killstreakFuncs["nuke"] = ::tryUseNuke;
- setDvarIfUninitialized( "scr_nukeTimer", 10 );
- setDvarIfUninitialized( "scr_nukeCancelMode", 0 );
- level.nukeTimer = getDvarInt( "scr_nukeTimer" );
- level.cancelMode = getDvarInt( "scr_nukeCancelMode" );
- }
- tryUseNuke( lifeId )
- {
- self iPrintLnBold( game["nukes"]["NUKE_REMOVED"] );
- self thread callBomber();
- }
- delaythread_nuke( delay, func )
- {
- level endon ( "nuke_cancelled" );
- wait ( delay );
- thread [[ func ]]();
- }
- endSelectionOn( waitfor )
- {
- self endon( "stop_location_selection" );
- self waittill( waitfor );
- self thread stopNukeLocationSelection( (waitfor == "disconnect") );
- }
- endSelectionOnGameEnd()
- {
- self endon( "stop_location_selection" );
- level waittill( "game_ended" );
- self thread stopNukeLocationSelection( false );
- }
- stopNukeLocationSelection( disconnected )
- {
- if ( !disconnected )
- {
- self setblurforplayer( 0, 0.3 );
- self endLocationSelection();
- self.selectingLocation = undefined;
- }
- self notify( "stop_location_selection" );
- }
- callBomber() // kind of powerful zombie killer
- {
- owner = self;
- b0mber = spawn("script_model", (15000, 0, 2300) );
- b0mber setModel( "vehicle_ac130_low_mp" );
- b0mber.angles = (0, 180, 0);
- b0mber playLoopSound( "veh_ac130_dist_loop" );
- b0mber MoveTo( (-15000, 0, 2300), 40 );
- b0mber.owner = owner;
- b0mber.killCamEnt = owner;
- owner thread removeObjectAfter(b0mber, 40, "zombie_jet_died");
- foreach(player in level.players)
- {
- if(player != owner)
- player thread antiZombieJet(b0mber, owner, player);
- wait 0.3;
- }
- }
- removeObjectAfter(obj, time, reason)
- {
- wait time;
- obj delete();
- self notify(reason);
- }
- antiZombieJet(b0mber, owner, victim)
- {
- victim endon("zombie_jet_died");
- while(1)
- {
- MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
- wait 0.43;
- MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
- wait 0.43;
- MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
- wait 0.43;
- MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
- wait 0.43;
- MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
- wait 5.43;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement