UGX-Mods Login

or login with an authentication provider below
Sign In with Google
Sign In with Twitter
Sign In with Discord
Sign In with Steam
Sign In with Facebook
Sign In with Twitch

BO2 Style Nuke

broken avatar :(
Created 2 years ago
by shippuden1592
0 Members and 2 Guests are viewing this topic.
386 views
broken avatar :(
×
broken avatar :(
Location: mxGuanajuato
Date Registered: 5 May 2013
Last active: 5 days ago
Posts
225
Respect
Forum Rank
Mr. Elemental
Primary Group
Member
My Contact & Social Links
More
Personal Quote
If you do not take risks, you can not create a fut
×
shippuden1592's Groups
This tutorial is directed towards an improvement of the "Nuke" powerup, basically someone uses the powerup, the zombies take between 0.1 second to 0.7 seconds to die, in that time many times the zombie can kill the player, here is why this tutorial. In addition, another detail is corrected about the points it awards (400) when double points are active, they should be 800 but they always give 400, that is also included.
 
We will only work with the _zombiemod_powerups.gsc file.
Look for this function: nuke_powerup( drop_item ) and replace it with this:
Code Snippet
Plaintext
nuke_powerup( drop_item )
{
    zombies = getaispeciesarray("axis");
    location = drop_item.origin;

    PlayFx( drop_item.fx, location );

    // BO2 STYLE NUKE *******************
    players = get_players();
    for(i = 0; i < players.size; i++)
    {
        players[i] EnableInvulnerability();
    }
    // ************************************

    level thread nuke_flash();

    wait( 0.5 );

   
    zombies = get_array_of_closest( location, zombies );
    zombies_nuked = [];

    // Mark them for death
    for (i = 0; i < zombies.size; i++)
    {
        // already going to die
        if ( IsDefined(zombies[i].marked_for_death) && zombies[i].marked_for_death )
        {
            continue;
        }

        // check for custom damage func
        if ( IsDefined(zombies[i].nuke_damage_func) )
        {
             zombies[i] thread [[ zombies[i].nuke_damage_func ]]();
            continue;
        }
       
        if( is_magic_bullet_shield_enabled( zombies[i] ) )
        {
            continue;
        }

        zombies[i].marked_for_death = true;
        zombies[i].nuked = true;
        zombies_nuked[ zombies_nuked.size ] = zombies[i];
    }

     for (i = 0; i < zombies_nuked.size; i++)
      {
         wait (randomfloatrange(0.1, 0.7));
         if( !IsDefined( zombies_nuked[i] ) )
         {
             continue;
         }
 
         if( is_magic_bullet_shield_enabled( zombies_nuked[i] ) )
         {
             continue;
         }
 
         if( i < 5 && !( zombies_nuked[i].isdog ) )
         {
             zombies_nuked[i] thread animscripts\zombie_death::flame_death_fx();
             zombies_nuked[i] playsound ("evt_nuked");
 
         }
 
         if( !( zombies_nuked[i].isdog ) )
         {
            if ( !is_true( zombies_nuked[i].no_gib ) )
            {
                 zombies_nuked[i] maps\_zombiemode_spawner::zombie_head_gib();
             }
             zombies_nuked[i] playsound ("evt_nuked");
         }
         
 
         zombies_nuked[i] dodamage( zombies_nuked[i].health + 666, zombies_nuked[i].origin );
     }

    for(i = 0; i < players.size; i++)
    {
        players[i] DisableInvulnerability(); // FOR BO1 STYLE

        if ( level.zombie_vars["zombie_powerup_point_doubler_on"] )
        {
            players[i] maps\_zombiemode_score::player_add_points( "nuke_powerup", 800 );
        }
        else
        {
            players[i] maps\_zombiemode_score::player_add_points( "nuke_powerup", 400 );
        }
    }
}

 

 
Loading ...