Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include maps\_utility;
- #include common_scripts\utility;
- #include maps\_zombiemode_utility;
- init()
- {
- PrecacheItem( "zombie_gumball" );
- }
- gum_think()
- {
- self.first_time_triggered = false;
- player = get_players();
- for( ;; )
- {
- //self waittill( "trigger", player );
- // if not first time and they have the weapon give ammo
- if( !is_player_valid( player ) )
- {
- player thread ignore_triggers( 0.5 );
- continue;
- }
- if( player in_revive_trigger() )
- {
- wait( 0.1 );
- continue;
- }
- if( player isThrowingGrenade() )
- {
- wait( 0.1 );
- continue;
- }
- if(isdefined(player.is_drinking))
- {
- wait(0.1);
- continue;
- }
- if( player isSwitchingWeapons() )
- {
- wait(0.1);
- continue;
- }
- if( player GetCurrentWeapon() == "mine_bouncing_betty" )
- {
- wait(0.1);
- continue;
- }
- if (player maps\_laststand::player_is_in_laststand() )
- {
- wait(0.1);
- continue;
- }
- player give_gumball();
- /*
- player_has_gumball = player SetActionSlot( 5, "weapon", "zombie_gumball" );
- if( !player_has_gumball )
- {
- if( player.score >= cost )
- {
- if( self.first_time_triggered == false )
- {
- model = getent( self.target, "targetname" );
- //model thread gumball_show( player );
- self.first_time_triggered = true;
- }
- }
- }
- */
- }
- }
- give_gumball()
- {
- self SetActionSlot( 5, "weapon", "zombie_gumball" );
- //self.has_altmelee = true;
- index = maps\_zombiemode_weapons::get_player_index(self);
- plr = "plr_" + index + "_";
- gun = self do_gumball_flourish_begin();
- //self thread play_gum_pickup_dialog(plr);
- self.is_drinking = 1;
- self waittill_any( "fake_death", "death", "player_downed", "weapon_change_complete" );
- // restore player controls and movement
- self do_gumball_flourish_end( gun );
- self.is_drinking = undefined;
- }
- do_gumball_flourish_begin()
- {
- self DisableOffhandWeapons();
- self DisableWeaponCycling();
- self AllowLean( false );
- self AllowAds( false );
- self AllowSprint( false );
- self AllowProne( false );
- self AllowMelee( false );
- wait( 0.05 );
- if ( self GetStance() == "prone" )
- {
- self SetStance( "crouch" );
- }
- gun = self GetCurrentWeapon();
- weapon = "zombie_gumball";
- self GiveWeapon( weapon );
- self SwitchToWeapon( weapon );
- return gun;
- }
- do_gumball_flourish_end( gun )
- {
- assert( gun != "zombie_perk_bottle_doubletap" );
- assert( gun != "zombie_perk_bottle_revive" );
- assert( gun != "zombie_perk_bottle_jugg" );
- assert( gun != "zombie_perk_bottle_sleight" );
- assert( gun != "syrette" );
- self EnableOffhandWeapons();
- self EnableWeaponCycling();
- self AllowLean( true );
- self AllowAds( true );
- self AllowSprint( true );
- self AllowProne( true );
- self AllowMelee( true );
- weapon = "zombie_gumball";
- // TODO: race condition?
- if ( self maps\_laststand::player_is_in_laststand() )
- {
- self TakeWeapon(weapon);
- return;
- }
- self TakeWeapon(weapon);
- if ( gun != "none" && gun != "mine_bouncing_betty" )
- {
- self SwitchToWeapon( gun );
- }
- else
- {
- // try to switch to first primary weapon
- primaryWeapons = self GetWeaponsListPrimaries();
- if( IsDefined( primaryWeapons ) && primaryWeapons.size > 0 )
- {
- self SwitchToWeapon( primaryWeapons[0] );
- }
- }
- self waittill( "weapon_change_complete" );
- }
- /*
- gumball_show( player )
- {
- player_angles = VectorToAngles( player.origin - self.origin );
- player_yaw = player_angles[1];
- weapon_yaw = self.angles[1];
- yaw_diff = AngleClamp180( player_yaw - weapon_yaw );
- if( yaw_diff > 0 )
- {
- yaw = weapon_yaw - 90;
- }
- else
- {
- yaw = weapon_yaw + 90;
- }
- self.og_origin = self.origin;
- self.origin = self.origin +( AnglesToForward( ( 0, yaw, 0 ) ) * 8 );
- wait( 0.05 );
- self Show();
- play_sound_at_pos( "weapon_show", self.origin, self );
- time = 1;
- self MoveTo( self.og_origin, time );
- }
- play_bowie_pickup_dialog(player_index)
- {
- waittime = 0.05;
- if(!IsDefined (self.vox_bowie))
- {
- num_variants = maps\_zombiemode_spawner::get_number_variants(player_index + "vox_bowie");
- self.vox_bowie = [];
- for(i=0;i<num_variants;i++)
- {
- self.vox_bowie[self.vox_bowie.size] = "vox_bowie_" + i;
- }
- self.vox_bowie_available = self.vox_bowie;
- }
- if(!isdefined (level.player_is_speaking))
- {
- level.player_is_speaking = 0;
- }
- sound_to_play = random(self.vox_bowie_available);
- self maps\_zombiemode_spawner::do_player_playdialog(player_index, sound_to_play, waittime);
- self.vox_bowie_available = array_remove(self.vox_bowie_available,sound_to_play);
- if (self.vox_bowie_available.size < 1 )
- {
- self.vox_bowie_available = self.vox_bowie;
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement