Deadtaco Tasha AI

Code:
// The official Tasha AI bot created by DeadTaco 2007
// If you use any part of this script, then PLEASE give me some credit.
// I spent a LOT of time on this, and recognition would be much appreciated.

// Note:  The weapons used by these bots are weapons from the Reality Bites mod.
// You must change them to weapons used in your mod to get them to function
// Correctly.  This also goes for the grenades they throw.

// Here's how these function works:

// CreateEvilArmy(%clientID) - Creates an army that the client can control.  These bots are dumb
// and don't fly or throw grenades.  They just stand there until you give them orders.
// Please note, you must change their weapon to something that your mod uses.

// CreateReinforcements(%botpad); - Creates respawning bots at an object (botpad - can be any object).  It will check if the
// bot is still alive after 45 seconds.  If not, it spawns another one to take its place.

// CreateZombie(%object) - Places a dumb bot at an object and gives it whatever weapon you program it with.

// CreateGenericBot(%object) - Places a dumb bot at an object with no weapon

// CreateFreelanceArmy(%clientID) - Creates an army of realistic fighting bots at the client's position.  
// They fly, throw grenades, and yell insults.  They are extremely tough to fight.

// CreateSpearArmy(%clientID) - Creates an army of bots that will stick to a single weapon and not toss grenades.

// CreateLanceArmy(%clientID) - Creates an army of bots that will stick to yet another single weapon and not toss grenades.

// CreateSpearSolo(%clientID) - Creates a single bot with a single weapon.  It flies, but doesn't use grenades






SoundData TashaHelp
{
   wavFileName = "female2.whelp.wav";
   profile = Profile3dFar;
};

SoundData TashaTarget
{
   wavFileName = "female2.wtgtacq.wav";
   profile = Profile3dFar;
};

SoundData TashaAttack
{
   wavFileName = "female2.wattac2.wav";
   profile = Profile3dFar;
};

SoundData TashaOops
{
   wavFileName = "female2.woops1.wav";
   profile = Profile3dFar;
};

SoundData TashaYooHoo
{
   wavFileName = "female2.wtaunt1.wav";
   profile = Profile3dFar;
};

SoundData TashaGetSome
{
   wavFileName = "female2.wtaunt4.wav";
   profile = Profile3dFar;
};

SoundData TashaHi
{
   wavFileName = "female2.whello.wav";
   profile = Profile3dFar;
};



function TashaFly(%aiName, %flytime)
{
    %id = AI::GetID(%AIName);
	%loc = gamebase::getposition(%id);

	if(%loc != "0 0 0" && %flytime > 0)
	{

		%vel = Item::getVelocity(%id);
		%velZ = getWord(%vel,2);
		%velx = getWord(%vel,0);
		%vely = getWord(%vel,1);

		// Check if the Tasha is going too high.
		// If she is, stop those thrusters!

		if(%velz > 35)
		{

			%flytime = 1;

		}

		%flytime--;
		$DoingChore[%Id] = true;
		schedule("TashaFly(" @ %ainame @ ", " @ %flytime @ ");",0.1);
		Player::applyImpulse(%id, "0 0 22");
		Player::setAnimation(%id, 19);
		ixApplyKickback(%id, -6, 15);


	}
	else if (%flytime < 2 && %loc != "0 0 0")
	{

	 $DoingChore[%id] = false;

	}

}

function TashaHunt(%aiName)
{
       if($Guarding[%aiName] == true)
          return false;

	%chore = floor(getRandom() * 6);
	%id = AI::GetID(%AIName);
	%loc = gamebase::getposition(%id);

    if(%loc != "0 0 0")
    {

		%vel = Item::getVelocity(%id);
		%velZ = getWord(%vel,2);
		%velx = getWord(%vel,0);
		%vely = getWord(%vel,1);

		// Check if the Tasha is falling at an unsafe speed.
		// If she is, hit those thrusters!

		if(%velz < -18)
		{
		   if(!$DoingChore[%id])
		  	 TashaFly(%aiName, 25);

		}



	if(%loc != "0 0 0")
	{

	schedule("TashaHunt(" @ %ainame @ ");",1);

	    if(!$DoingChore[%id])
	    {
		if(%chore == 1)
		{
		TashaFly(%aiName, 25);
		TashaRoam(%aiName);
		}
		if(%chore == 2)
		{
		TashaThrowGrenade(%aiName);
		}
		else if(%chore == 3)
		{
        TashaFly(%aiName, 25);
		TashaRoam(%aiName);
		}
		else if(%chore == 4 && !$SpearOnly[%id] && !$LanceOnly[%id])
		{
		TashaSwitchWeapon(%aiName);
		}
		else if(%chore == 5)
		{
		TashaSpeak(%aiName);
		}
	    }

	}
     }

	else
	{

	// Tasha disappeared!  Do something here if you want.

	}
	// messageall(1, "Chore: " @ %chore @ " DoingChore: " @ $DoingChore[%aiId]);
}

function TashaRoam(%aiName)
{
          if($Guarding[%aiName] == true)
          return false;

	%id = AI::GetID(%AIName);

	%loc = gamebase::getposition(%id);


	if(%loc != "0 0 0")
	{


 	  %gotoMarker = GameBase::getPosition(%id);
 	  %xPos = getWord(%gotoMarker, 0) + (floor(getRandom() * 50)-25);
 	  %yPos = getword(%gotoMarker, 1) + (floor(getRandom() * 50)-25);
 	  %zPos = 0;

	  %aiGotoPos = %xPos @ "  " @ %yPos @ "  " @ %zPos;

	AI::DirectiveWaypoint(%aiName, %aiGotoPos, 1);

	}
	else
	{

	//  $DoingChore[%id] = false;

	}
}

function TashaSpeak(%aiName)
{
	%id = AI::GetID(%AIName);
	%loc = gamebase::getposition(%id);


	if(%loc != "0 0 0")
	{

	%rnd = floor(getRandom() * 12);
	   if(%rnd == 0)
		playSound(TashaHelp, GameBase::getPosition(%id));
	   if(%rnd == 1)
		playSound(TashaTarget, GameBase::getPosition(%id));
	   if(%rnd == 2)
		playSound(TashaOops, GameBase::getPosition(%id));
	   if(%rnd == 3)
		playSound(TashaYoohoo, GameBase::getPosition(%id));
	   if(%rnd == 4)
		playSound(TashaGetsome, GameBase::getPosition(%id));
	   if(%rnd == 5)
		playSound(TashaHi, GameBase::getPosition(%id));
 	}
}

function TashaSwitchWeapon(%aiName)
{
	%id = AI::GetID(%AIName);
	%loc = gamebase::getposition(%id);



	if(%loc != "0 0 0")
	{


	    	%switch = floor(getRandom() * 11);

		if(%switch == 0)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, musket, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, musketammo, 5000);
	           AI::callWithId(%AIName, Player::mountItem, musket, 0);
		}
		else if(%switch == 1)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, RocketLauncher, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, RocketAmmo, 10);
	           AI::callWithId(%AIName, Player::mountItem, RocketLauncher, 0);
		}
		else if(%switch == 2)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, GrenadeLauncher, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, GrenadeAmmo, 50);
	           AI::callWithId(%AIName, Player::mountItem, GrenadeLauncher, 0);
		}
		else if(%switch == 3)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, GrenadeLauncher, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, GrenadeAmmo, 50);
	           AI::callWithId(%AIName, Player::mountItem, GrenadeLauncher, 0);
		}
		else if(%switch == 4)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, Gasser, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, GasserAmmo, 1000);
	           AI::callWithId(%AIName, Player::mountItem, Gasser, 0);
		}
		else if(%switch == 5)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, musket, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, musketammo, 5000);
	           AI::callWithId(%AIName, Player::mountItem, musket, 0);
		}
		else if(%switch == 6)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, BerettaSMG, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, BerettaSMGAmmo, 1000);
	           AI::callWithId(%AIName, Player::mountItem, BerettaSMG, 0);
		}
		else if(%switch == 7)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, Glock, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, GlockAmmo, 1000);
	           AI::callWithId(%AIName, Player::mountItem, Glock, 0);
		}
		else if(%switch == 8)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, Ruger, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, RugerAmmo, 1000);
	           AI::callWithId(%AIName, Player::mountItem, Ruger, 0);
		}
		else if(%switch == 9)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, ShotgunSlug, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, ShotgunSlugAmmo, 1000);
	           AI::callWithId(%AIName, Player::mountItem, ShotgunSlug, 0);
		}
		else if(%switch == 10)
		{
    		   AI::callWithId(%AIName, Player::setItemCount, Blaster, 1);
    		   AI::callWithId(%AIName, Player::setItemCount, EagleAmmo, 1000);
	           AI::callWithId(%AIName, Player::mountItem, Blaster, 0);
		}

	}
	else
	{


	}
}


function CreateEvilArmy(%clientID)
{

    if(GameBase::getPosition(%clientID) == "0 0 0")
    {
       client::sendmessage(%clientid, 1, "You must be spawned in to do that!");
       return;
    }
	for(%i = 0; %i < 10; %i++)
	{

	 %Botname = "Soldier " @ $numAI;
   	 %spawnMarker = GameBase::getPosition(%clientID);
  	 %xPos = getWord(%spawnMarker, 0) + (floor(getRandom() * 30)-15);
  	 %yPos = getword(%spawnMarker, 1) + (floor(getRandom() * 30)-15);
  	 %zPos = getWord(%spawnMarker, 2) + 5;
  	 %rPos = GameBase::getRotation(%clientID);

  	 %team = GameBase::getTeam(%clientID);
	 $NumAI++;
	 %AIName = "Tasha" @ $NumAI;

  	 %aiSpawnPos = %xPos @ "  " @ %yPos @ "  " @ %zPos;
	 AI::Spawn(%aiName, lfemale, %aiSpawnPos, "0 0 0", %BotName, "female2");

	 echo("ADMINMSG: The bot " @ %botname @ " : " @ %aiName @ " is an evil army for " @ %clientid @ " at " @ %aiSpawnPos);

	 %id = AI::getId( %AIname );
 	 GameBase::setTeam(%id, %team);
	 AI::setVar( %AIname,  iq, 150 );
 	 AI::setVar( %AIname,  attackMode, 0);
 	// AI::DirectiveTarget(%AIname, %Victim);
    	 AI::callWithId(%AIname, Player::setItemCount, klashnikov, 1);
    	 AI::callWithId(%AIname, Player::setItemCount, klashnikovammo, 5000);
      AI::callWithId(%AIname, Player::setItemCount, shieldbeacon, 5000);
      AI::callWithId(%AIname, Player::setItemCount, originalgrenade, 5000);
	 AI::callWithId(%AIname, Player::mountItem, klashnikov, 0);

	 AI::SetVar( "*", triggerPct, 0.23 );
	 AI::setVar( "*", SpotDist, 500);
	 AI::SetAutomaticTargets(%AIName);
     AI::setVar( %aiName,  attackMode, 1);
	 $DoingChore[%id] = true;
	 $SpearOnly[%id] = true;
     $Guarding[%id] = true;

	}
}

function CreateReinforcements(%botpad)
{
	 %Botname = GetBotName(%botpad);
	 %Botname = "A base sniper";
   	 %spawnMarker = %loc;
  	 %xPos = getWord(%spawnMarker, 0);
  	 %yPos = getword(%spawnMarker, 1);
  	 %zPos = getWord(%spawnMarker, 2) + 5;

  	 %team = GameBase::getTeam(%botpad);
	 $NumAI++;
	 %AIName = "Tasha" @ $NumAI;
	 $BotPadBot[%botpad] = %AIName;

  	 %aiSpawnPos = %xPos @ "  " @ %yPos @ "  " @ %zPos;
	 AI::Spawn(%aiName, lfemale, %aiSpawnPos, "0 0 0", %BotName, "female2");

	 echo("ADMINMSG: The bot " @ %botname @ " : " @ %aiName @ " spawned at a barracks " @ %botpad @ " at " @ %aiSpawnPos);

	 %id = AI::getId( %AIname );
 	 GameBase::setTeam(%id, %team);
	 AI::setVar( %AIname,  iq, 120 );
 	 AI::setVar( %AIname,  attackMode, 0);
    	 AI::callWithId(%AIname, Player::setItemCount, Klashnikov, 1);
    	 AI::callWithId(%AIname, Player::setItemCount, Klashnikovammo, 5000);
	 AI::callWithId(%AIname, Player::mountItem, Klashnikov, 0);

	 AI::SetVar(%AIname, triggerPct, 0.23 );
	 AI::setVar(%AIname, SpotDist, 400);
	 AI::SetAutomaticTargets(%AIName);
     AI::setVar( %aiName,  attackMode, 1);

	 $DoingChore[%id] = true;
	 $SpearOnly[%id] = true;
     $Guarding[%id] = true;
}

function BotPadCheck(%botpad)
{
    %loc = gamebase::getposition(%botpad);

    if(%loc != "0 0 0")
    {
            %id = AI::getId( $BotPadBot[%botpad]);
             %botloc = gamebase::getposition(%id);

             // See if our bot has been killed.  If so, respawn within 45 seconds.

    	if(%botloc == "0 0 0")
    	{
     	  CreateReinforcements(%botpad, %loc);
    	}
        schedule("BotPadCheck(" @ %botpad @ ");",45);
    }
}

function CreateZombie(%obj)
{
     rbDebug("FS: CreateZombie");
     %loc = gamebase::getposition(%obj);
	 %Botname = "A heavily armed zombie";
   	 %spawnMarker = %loc;
  	 %xPos = getWord(%spawnMarker, 0);
  	 %yPos = getword(%spawnMarker, 1);
  	 %zPos = getWord(%spawnMarker, 2) + 5;

  	 %team = GameBase::getTeam(%obj);
	 $NumAI++;
	 %AIName = "Tasha" @ $NumAI;

  	 %aiSpawnPos = %xPos @ "  " @ %yPos @ "  " @ %zPos;
	 AI::Spawn(%aiName, lfemale, %aiSpawnPos, "0 0 0", %BotName, "female2");

	 echo("ADMINMSG: The bot " @ %botname @ " : " @ %aiName @ " is a zombie " @ %botpad @ " at " @ %aiSpawnPos);

	 %id = AI::getId( %AIname );
 	 GameBase::setTeam(%id, -1);
	 AI::setVar( %AIname,  iq,  120 );
 	 AI::setVar( %AIname,  attackMode, 0);
    	 AI::callWithId("*", Player::setItemCount, musket, 1);
    	 AI::callWithId("*", Player::setItemCount, musketammo, 15000);
	 AI::callWithId("*", Player::mountItem, musket, 0);
        AI::callWithId("*", Player::setItemCount, shieldbeacon, 5000);
      AI::callWithId("*", Player::setItemCount, originalgrenade, 5000);

	 AI::SetVar( "*", triggerPct, 0.23 );
	 AI::setVar( "*", SpotDist, 400);
	 AI::SetAutomaticTargets(%AIName);
     AI::setVar( %aiName,  attackMode, 1);
 	 $DoingChore[%id] = true;
	 $SpearOnly[%id] = true;
     $Guarding[%id] = true;
     rbDebug("FE: CreateZombie");
}

function CreateGenericBot(%obj)
{
     %loc = gamebase::getposition(%obj);
	 %Botname = GetBotName(%obj);
   	 %spawnMarker = %loc;
  	 %xPos = getWord(%spawnMarker, 0);
  	 %yPos = getword(%spawnMarker, 1);
  	 %zPos = getWord(%spawnMarker, 2);

  	 %team = GameBase::getTeam(%obj);
	 $NumAI++;
	 %AIName = "Tasha" @ $NumAI;

  	 %aiSpawnPos = %xPos @ "  " @ %yPos @ "  " @ %zPos;
	 AI::Spawn(%aiName, lfemale, %aiSpawnPos, "0 0 0", %BotName, "male2");

	 echo("ADMINMSG: The bot " @ %botname @ " : " @ %aiName @ " is generic bot " @ " at " @ %aiSpawnPos);

	 %id = AI::getId( %AIname );
     %id.isHMBot = false;
     $hmBot[%id] = false;
 	 GameBase::setTeam(%id, -1);
	 AI::setVar( %AIname,  iq,  120 );
 	 AI::setVar( %AIname,  attackMode, 0);
    	 AI::callWithId("*", Player::setItemCount, musketammo, 15000);
        AI::callWithId("*", Player::setItemCount, shieldbeacon, 5000);
      AI::callWithId("*", Player::setItemCount, originalgrenade, 5000);

	 AI::SetVar( "*", triggerPct, 0.23 );
	 AI::setVar( "*", SpotDist, 650);
	 AI::SetAutomaticTargets(%AIName);
     AI::setVar( %aiName,  attackMode, 1);
 	 $DoingChore[%id] = true;
	 $SpearOnly[%id] = true;
     $Guarding[%id] = true;
}


function CreateFreelanceArmy(%clientID)
{

    if(GameBase::getPosition(%clientID) == "0 0 0")
    {
       client::sendmessage(%clientid, 1, "You must be spawned in to do that!");
       return;
    }

    if(%clientID.hasArmy)
    {
	%clientId.hasArmy = true;
        centerprint(%clientId, "<jc><f2>YOU ALREADY SPAWNED AN ARMY!", 5);

    }
    else
    {
	%clientId.hasArmy = true;
	schedule(%clientID @ ".hasArmy = false;",60);

	for(%i = 0; %i < 10; %i++)
	{

	 %Botname = GetBotName(%ClientID);
   	 %spawnMarker = GameBase::getPosition(%clientID);
  	 %xPos = getWord(%spawnMarker, 0) + (floor(getRandom() * 10)-5);
  	 %yPos = getword(%spawnMarker, 1) + (floor(getRandom() * 10)-5);
  	 %zPos = getWord(%spawnMarker, 2) + 5;
  	 %rPos = GameBase::getRotation(%clientID);

	 echo("ADMINMSG: The bot " @ %botname @ " : " @ %aiName @ " Joined the game.");

  	 %team = GameBase::getTeam(%clientID);
	 $NumAI++;
	 %AIName = "Tasha" @ $NumAI;
	// %AIName = %Botname @ $NumAI;
  	 %aiSpawnPos = %xPos @ "  " @ %yPos @ "  " @ %zPos;
	 AI::Spawn(%aiName, lfemale, %aiSpawnPos, "0 0 0", %BotName, "female2");
	 %id = AI::getId( %AIname );
 	 GameBase::setTeam(%id, -1);
	 AI::setVar( %AIname,  iq, 120 );
 	 AI::setVar( %AIname,  attackMode, 0);
 	 AI::DirectiveTarget(%AIname, %Victim);
    	 AI::callWithId("*", Player::setItemCount, gasser, 1);
    	 AI::callWithId("*", Player::setItemCount, gasserAmmo, 5000);
	 AI::callWithId("*", Player::mountItem, gasser, 0);
	 AI::SetVar( "*", triggerPct, 0.23 );
	 AI::setVar( "*", SpotDist, 400);
	 AI::SetAutomaticTargets(%AIName);
	 $DoingChore[%id] = false;
	 TashaHunt(%aiName);
	 TashaRoam(%aiName);
	 $SpearOnly[%id] = false;
	}
    }
}

function CreateSpearArmy(%clientID)
{

    if(GameBase::getPosition(%clientID) == "0 0 0")
    {
       client::sendmessage(%clientid, 1, "You must be spawned in to do that!");
       return;
    }

    if(%clientID.hasArmy)
    {
	%clientId.hasArmy = true;
        centerprint(%clientId, "<jc><f2>YOU ALREADY SPAWNED AN ARMY!", 5);

    }
    else
    {

	for(%i = 0; %i < 10; %i++)
	{

	 %clientId.hasArmy = true;
	 schedule(%clientID @ ".hasArmy = false;",60);
	 %Botname = GetBotName(%ClientID);
   	 %spawnMarker = GameBase::getPosition(%clientID);
  	 %xPos = getWord(%spawnMarker, 0) + (floor(getRandom() * 10)-5);
  	 %yPos = getword(%spawnMarker, 1) + (floor(getRandom() * 10)-5);
  	 %zPos = getWord(%spawnMarker, 2) + 5;
  	 %rPos = GameBase::getRotation(%clientID);

	 echo("ADMINMSG: The bot " @ %botname @ " : " @ %aiName @ " Joined the game.");

  	 %team = GameBase::getTeam(%clientID);
	 $NumAI++;
	 %AIName = "Tasha" @ $NumAI;
	// %AIName = %Botname @ $NumAI;
  	 %aiSpawnPos = %xPos @ "  " @ %yPos @ "  " @ %zPos;
	 AI::Spawn(%aiName, lfemale, %aiSpawnPos, "0 0 0", %BotName, "female2");
	 %id = AI::getId( %AIname );
 	 GameBase::setTeam(%id, -1);
	 AI::setVar( %AIname,  iq, 120 );
 	 AI::setVar( %AIname,  attackMode, 0);
 	 AI::DirectiveTarget(%AIname, %Victim);
    	 AI::callWithId("*", Player::setItemCount, gasser, 1);
    	 AI::callWithId("*", Player::setItemCount, gasserAmmo, 5000);
	 AI::callWithId("*", Player::mountItem, gasser, 0);
	 AI::SetVar( "*", triggerPct, 0.23 );
	 AI::setVar( "*", SpotDist, 400);
	 AI::SetAutomaticTargets(%AIName);
	 $DoingChore[%id] = false;
	 $SpearOnly[%id] = true;
	 TashaHunt(%aiName);
	 TashaRoam(%aiName);
	}
    }

}

function CreateLanceArmy(%clientID)
{

    if(GameBase::getPosition(%clientID) == "0 0 0")
    {
       client::sendmessage(%clientid, 1, "You must be spawned in to do that!");
       return;
    }

    if(%clientID.hasArmy)
    {
	%clientId.hasArmy = true;
        centerprint(%clientId, "<jc><f2>YOU ALREADY SPAWNED AN ARMY!", 5);

    }
    else
    {

	for(%i = 0; %i < 10; %i++)
	{

	 %clientId.hasArmy = true;
	 schedule(%clientID @ ".hasArmy = false;",60);
	 %Botname = GetBotName(%ClientID);
   	 %spawnMarker = GameBase::getPosition(%clientID);
  	 %xPos = getWord(%spawnMarker, 0) + (floor(getRandom() * 10)-5);
  	 %yPos = getword(%spawnMarker, 1) + (floor(getRandom() * 10)-5);
  	 %zPos = getWord(%spawnMarker, 2) + 5;
  	 %rPos = GameBase::getRotation(%clientID);

	 echo("ADMINMSG: The bot " @ %botname @ " : " @ %aiName @ " Joined the game.");

  	 %team = GameBase::getTeam(%clientID);
	 $NumAI++;
	 %AIName = "Tasha" @ $NumAI;
  	 %aiSpawnPos = %xPos @ "  " @ %yPos @ "  " @ %zPos;
	 AI::Spawn(%aiName, lfemale, %aiSpawnPos, "0 0 0", %BotName, "female2");
	 %id = AI::getId( %AIname );
 	 GameBase::setTeam(%id, -1);
	 AI::setVar( %AIname,  iq, 120 );
 	 AI::setVar( %AIname,  attackMode, 0);
 	 AI::DirectiveTarget(%AIname, %Victim);
    	 AI::callWithId("*", Player::setItemCount, flaregun, 1);
    	 AI::callWithId("*", Player::setItemCount, grenadeAmmo, 5000);
	 AI::callWithId("*", Player::mountItem, flaregun, 0);
	 AI::SetVar( "*", triggerPct, 0.23 );
	 AI::setVar( "*", SpotDist, 400);
	 AI::SetAutomaticTargets(%AIName);
	 $DoingChore[%id] = false;
	 $LanceOnly[%id] = true;
	 TashaHunt(%aiName);
	 TashaRoam(%aiName);
	}
    }

}

function CreateSpearSolo(%clientID)
{

    if(GameBase::getPosition(%clientID) == "0 0 0")
    {
       client::sendmessage(%clientid, 1, "You must be spawned in to do that!");
       return;
    }
    

	 %Botname = GetBotName(%ClientID);
   	 %spawnMarker = GameBase::getPosition(%clientID);
  	 %xPos = getWord(%spawnMarker, 0) + (floor(getRandom() * 10)-5);
  	 %yPos = getword(%spawnMarker, 1) + (floor(getRandom() * 10)-5);
  	 %zPos = getWord(%spawnMarker, 2) + 5;
  	 %rPos = GameBase::getRotation(%clientID);

	 echo("ADMINMSG: The bot " @ %botname @ " : " @ %aiName @ " Joined the game.");

  	 %team = GameBase::getTeam(%clientID);
	 $NumAI++;
	 %AIName = "Tasha" @ $NumAI;
  	 %aiSpawnPos = %xPos @ "  " @ %yPos @ "  " @ %zPos;
	 AI::Spawn(%aiName, lfemale, %aiSpawnPos, "0 0 0", %BotName, "female2");
	 %id = AI::getId( %AIname );
 	 GameBase::setTeam(%id, -1);
	 AI::setVar( %AIname,  iq,  120 );
 	 AI::setVar( %AIname,  attackMode, 0);
 	 AI::DirectiveTarget(%AIname, %Victim);
    	 AI::callWithId("*", Player::setItemCount, gasser, 1);
    	 AI::callWithId("*", Player::setItemCount, gasserAmmo, 5000);
	 AI::callWithId("*", Player::mountItem, gasser, 0);
	 AI::SetVar( "*", triggerPct, 0.23 );
	 AI::setVar( "*", SpotDist, 400);
	 AI::SetAutomaticTargets(%AIName);
	 $DoingChore[%id] = false;
	 $SpearOnly[%id] = true;
	 TashaHunt(%aiName);
	 TashaRoam(%aiName);

}

function TashaThrowGrenade(%aiName)
{

	%id = AI::GetID(%AIName);
 	if(%id && !$SpearOnly[%id])
	{

	   %curTarget = ai::getTarget( %aiName );

	   if(%curTarget == -1)
	   {
  	 	return;
	   }

	   dbecho(1, %aiName @ " target: " @ %curTarget);

	   %targLoc = GameBase::getPosition(Client::getOwnedObject(%curTarget));
	   %aiLoc = GameBase::getPosition(Client::getOwnedObject(%id));
	   %targetDist = Vector::getDistance(%aiLoc, %targLoc);

 	  if(%targetDist < 150 && %targetDist > 25)
 	  {
		%botPlayer = Client::getOwnedObject(%id);
		%boomrock = newObject("","Mine","handGrenade");
		addToSet("MissionCleanup", %boomrock);
		GameBase::throw(%boomrock,%botPlayer,(%targetdist/75) * 15.0,false);
	  }


	}

}

function GetBotName()
{
    %Rtemp = floor(getRandom() * 175);

    if(%Rtemp == 0 ) { %NameTag = "Bal";}
    if(%Rtemp == 1 ) { %NameTag = "Dot";}
    if(%Rtemp == 2 ) { %NameTag = "Ang";}
    if(%Rtemp == 3 ) { %NameTag = "Ron";}
    if(%Rtemp == 4 ) { %NameTag = "Yuz";}
    if(%Rtemp == 5 ) { %NameTag = "Tall";}
    if(%Rtemp == 6 ) { %NameTag = "Ab";}
    if(%Rtemp == 7 ) { %NameTag = "Pod";}
    if(%Rtemp == 8 ) { %NameTag = "P";}
    if(%Rtemp == 9 ) { %NameTag = "Lis";}
    if(%Rtemp == 10 ) { %NameTag = "Quin";}
    if(%Rtemp == 11 ) { %NameTag = "Ar";}
    if(%Rtemp == 12 ) { %NameTag = "Eth";}
    if(%Rtemp == 13 ) { %NameTag = "Ick";}
    if(%Rtemp == 14 ) { %NameTag = "Cli";}
    if(%Rtemp == 15 ) { %NameTag = "Sc";}
    if(%Rtemp == 16 ) { %NameTag = "Piss";}
    if(%Rtemp == 17 ) { %NameTag = "Pel";}
    if(%Rtemp == 18 ) { %NameTag = "Bin";}
    if(%Rtemp == 19 ) { %NameTag = "Clap";}
    if(%Rtemp == 20 ) { %NameTag = "Den";}
    if(%Rtemp == 21 ) { %NameTag = "Er";}
    if(%Rtemp == 22 ) { %NameTag = "Fl";}
    if(%Rtemp == 23 ) { %NameTag = "Gav";}
    if(%Rtemp == 24 ) { %NameTag = "Har";}
    if(%Rtemp == 25 ) { %NameTag = "In";}
    if(%Rtemp == 26 ) { %NameTag = "Jad";}
    if(%Rtemp == 27 ) { %NameTag = "Kol";}
    if(%Rtemp == 28 ) { %NameTag = "Lan";}
    if(%Rtemp == 29 ) { %NameTag = "Mat";}
    if(%Rtemp == 30 ) { %NameTag = "Nat";}
    if(%Rtemp == 31 ) { %NameTag = "Opt";}
    if(%Rtemp == 32 ) { %NameTag = "Per";}
    if(%Rtemp == 33 ) { %NameTag = "Quil";}
    if(%Rtemp == 34 ) { %NameTag = "Rar";}
    if(%Rtemp == 35 ) { %NameTag = "Stav";}
    if(%Rtemp == 36 ) { %NameTag = "Tul";}
    if(%Rtemp == 37 ) { %NameTag = "Ung";}
    if(%Rtemp == 38 ) { %NameTag = "Vis";}
    if(%Rtemp == 39 ) { %NameTag = "Wil";}
    if(%Rtemp == 40 ) { %NameTag = "Farti";}
    if(%Rtemp == 41 ) { %NameTag = "Yan";}
    if(%Rtemp == 42 ) { %NameTag = "Plut";}
    if(%Rtemp == 43 ) { %NameTag = "Hex";}
    if(%Rtemp == 44 ) { %NameTag = "Pent";}
    if(%Rtemp == 45 ) { %NameTag = "Octas";}
    if(%Rtemp == 46 ) { %NameTag = "Sept";}
    if(%Rtemp == 47 ) { %NameTag = "Anger";}
    if(%Rtemp == 48 ) { %NameTag = "Paw";}
    if(%Rtemp == 49 ) { %NameTag = "Sip";}
    if(%Rtemp == 50 ) { %NameTag = "Toth";}
    if(%Rtemp == 51 ) { %NameTag = "Pork";}
    if(%Rtemp == 52 ) { %NameTag = "Tes";}
    if(%Rtemp == 53 ) { %NameTag = "Gut";}
    if(%Rtemp == 54 ) { %NameTag = "Faces";}
    if(%Rtemp == 55 ) { %NameTag = "Tit";}
    if(%Rtemp == 56 ) { %NameTag = "Poop";}
    if(%Rtemp == 57 ) { %NameTag = "Num";}
    if(%Rtemp == 58 ) { %NameTag = "Turk";}
    if(%Rtemp == 59 ) { %NameTag = "Gar";}
    if(%Rtemp == 60 ) { %NameTag = "Stoop";}
    if(%Rtemp == 61 ) { %NameTag = "Dirt";}
    if(%Rtemp == 62 ) { %NameTag = "Mud";}
    if(%Rtemp == 63 ) { %NameTag = "Turd";}
    if(%Rtemp == 64 ) { %NameTag = "Flash";}
    if(%Rtemp == 65 ) { %NameTag = "Speed";}
    if(%Rtemp == 66 ) { %NameTag = "Light";}
    if(%Rtemp == 67 ) { %NameTag = "Star";}
    if(%Rtemp == 68 ) { %NameTag = "Ring";}
    if(%Rtemp == 69 ) { %NameTag = "Omeg";}
    if(%Rtemp == 70 ) { %NameTag = "Galg";}
    if(%Rtemp == 71 ) { %NameTag = "Treg";}
    if(%Rtemp == 72 ) { %NameTag = "Ass";}
    if(%Rtemp == 73 ) { %NameTag = "Wigg";}
    if(%Rtemp == 74 ) { %NameTag = "Turn";}
    if(%Rtemp == 75 ) { %NameTag = "Sharp";}
    if(%Rtemp == 76 ) { %NameTag = "Queer";}
    if(%Rtemp == 77 ) { %NameTag = "Quas";}
    if(%Rtemp == 78 ) { %NameTag = "Tulip";}
    if(%Rtemp == 79 ) { %NameTag = "Plot";}
    if(%Rtemp == 80 ) { %NameTag = "Worm";}
    if(%Rtemp == 81 ) { %NameTag = "Black";}
    if(%Rtemp == 82 ) { %NameTag = "Leaf";}
    if(%Rtemp == 83 ) { %NameTag = "Dog";}
    if(%Rtemp == 84 ) { %NameTag = "Cat";}
    if(%Rtemp == 85 ) { %NameTag = "Fish";}
    if(%Rtemp == 86 ) { %NameTag = "Noct";}
    if(%Rtemp == 87 ) { %NameTag = "Obsc";}
    if(%Rtemp == 88 ) { %NameTag = "Fling";}
    if(%Rtemp == 89 ) { %NameTag = "Cling";}
    if(%Rtemp == 90 ) { %NameTag = "Quit";}
    if(%Rtemp == 91 ) { %NameTag = "Earth";}
    if(%Rtemp == 92 ) { %NameTag = "Plut";}
    if(%Rtemp == 93 ) { %NameTag = "Anus";}
    if(%Rtemp == 94 ) { %NameTag = "Inct";}
    if(%Rtemp == 95 ) { %NameTag = "Nerd";}
    if(%Rtemp == 96 ) { %NameTag = "Pick";}
    if(%Rtemp == 97 ) { %NameTag = "Turd";}
    if(%Rtemp == 98 ) { %NameTag = "Home";}
    if(%Rtemp == 99 ) { %NameTag = "Mike ";}
    if(%Rtemp == 100 ) { %NameTag = "Jim ";}
    if(%Rtemp == 101 ) { %NameTag = "Sam ";}
    if(%Rtemp == 102 ) { %NameTag = "Blow ";}
    if(%Rtemp == 103 ) { %NameTag = "Bob ";}
    if(%Rtemp == 104 ) { %NameTag = "Joe ";}
    if(%Rtemp == 105 ) { %NameTag = "Dead ";}
    if(%Rtemp == 106 ) { %NameTag = "Tash ";}
    if(%Rtemp == 107 ) { %NameTag = "Steve ";}
    if(%Rtemp == 108 ) { %NameTag = "Phil ";}
    if(%Rtemp == 109 ) { %NameTag = "Dave ";}
    if(%Rtemp == 110 ) { %NameTag = "Paul ";}
    if(%Rtemp == 111 ) { %NameTag = "Al ";}
    if(%Rtemp == 112 ) { %NameTag = "Billy ";}
    if(%Rtemp == 113 ) { %NameTag = "John ";}
    if(%Rtemp == 114 ) { %NameTag = "Ugly ";}
    if(%Rtemp == 115 ) { %NameTag = "Red ";}
    if(%Rtemp == 116 ) { %NameTag = "Blue ";}
    if(%Rtemp == 117 ) { %NameTag = "Slime ";}
    if(%Rtemp == 118 ) { %NameTag = "Crap ";}
    if(%Rtemp == 119 ) { %NameTag = "Shaz";}
    if(%Rtemp == 120 ) { %NameTag = "Poor ";}
    if(%Rtemp == 121 ) { %NameTag = "Jerk ";}
    if(%Rtemp == 122 ) { %NameTag = "Uber ";}
    if(%Rtemp == 123 ) { %NameTag = "God ";}
    if(%Rtemp == 124 ) { %NameTag = "Flying ";}
    if(%Rtemp == 125 ) { %NameTag = "Terror ";}
    if(%Rtemp == 126 ) { %NameTag = "Putz ";}
    if(%Rtemp == 127 ) { %NameTag = "Smart ";}
    if(%Rtemp == 128 ) { %NameTag = "Dumb ";}
    if(%Rtemp == 129 ) { %NameTag = "Aim ";}
    if(%Rtemp == 130 ) { %NameTag = "Brown ";}
    if(%Rtemp == 131 ) { %NameTag = "Suck ";}
    if(%Rtemp == 132 ) { %NameTag = "Lick ";}
    if(%Rtemp == 133 ) { %NameTag = "Wet ";}
    if(%Rtemp == 134 ) { %NameTag = "Steamy ";}
    if(%Rtemp == 135 ) { %NameTag = "Sexy";}
    if(%Rtemp == 136 ) { %NameTag = "Fast ";}
    if(%Rtemp == 137 ) { %NameTag = "Slow ";}
    if(%Rtemp == 138 ) { %NameTag = "Bloody ";}
    if(%Rtemp == 139 ) { %NameTag = "Blind ";}
    if(%Rtemp == 140 ) { %NameTag = "Horny ";}
    if(%Rtemp == 141 ) { %NameTag = "Angry ";}
    if(%Rtemp == 142 ) { %NameTag = "Happy ";}
    if(%Rtemp == 143 ) { %NameTag = "Cheat ";}
    if(%Rtemp == 144 ) { %NameTag = "Ryn";}
    if(%Rtemp == 145 ) { %NameTag = "Dead";}
    if(%Rtemp == 146 ) { %NameTag = "Taco";}
    if(%Rtemp == 147 ) { %NameTag = "Hy";}
    if(%Rtemp == 148 ) { %NameTag = "Tes";}
    if(%Rtemp == 149 ) { %NameTag = "Cas";}
    if(%Rtemp == 150 ) { %NameTag = "Fark";}
    if(%Rtemp == 151 ) { %NameTag = "Lick";}
    if(%Rtemp == 152 ) { %NameTag = "Star";}
    if(%Rtemp == 153 ) { %NameTag = "Dav";}
    if(%Rtemp == 154 ) { %NameTag = "Ind";}
    if(%Rtemp == 155 ) { %NameTag = "Eze";}
    if(%Rtemp == 156 ) { %NameTag = "God";}
    if(%Rtemp == 157 ) { %NameTag = "Pin";}
    if(%Rtemp == 158 ) { %NameTag = "Crad";}
    if(%Rtemp == 159 ) { %NameTag = "Ply";}
    if(%Rtemp == 160 ) { %NameTag = "Cry";}
    if(%Rtemp == 161 ) { %NameTag = "Ragna";}
    if(%Rtemp == 162 ) { %NameTag = "Bug";}
    if(%Rtemp == 163 ) { %NameTag = "Snas";}
    if(%Rtemp == 164 ) { %NameTag = "Yel";}
    if(%Rtemp == 165 ) { %NameTag = "Whit";}
    if(%Rtemp == 166 ) { %NameTag = "Sun";}
    if(%Rtemp == 167 ) { %NameTag = "Poop";}
    if(%Rtemp == 168 ) { %NameTag = "Sev";}
    if(%Rtemp == 169 ) { %NameTag = "High";}
    if(%Rtemp == 170 ) { %NameTag = "Hugg";}
    if(%Rtemp == 171 ) { %NameTag = "Child";}
    if(%Rtemp == 172 ) { %NameTag = "Peni";}
    if(%Rtemp == 173 ) { %NameTag = "Ital";}
    if(%Rtemp == 174 ) { %NameTag = "Goob";}

    %Rtemp = floor(getRandom() * 129);
    if(%Rtemp == 0 ) { %NameTag = %NameTag @ "era";}
    if(%Rtemp == 1 ) { %NameTag = %NameTag @ "easy";}
    if(%Rtemp == 2 ) { %NameTag = %NameTag @ "ero";}
    if(%Rtemp == 3 ) { %NameTag = %NameTag @ "a";}
    if(%Rtemp == 4 ) { %NameTag = %NameTag @ "ily";}
    if(%Rtemp == 5 ) { %NameTag = %NameTag @ "pork";}
    if(%Rtemp == 6 ) { %NameTag = %NameTag @ "yl";}
    if(%Rtemp == 7 ) { %NameTag = %NameTag @ "i";}
    if(%Rtemp == 8 ) { %NameTag = %NameTag @ "e";}
    if(%Rtemp == 9 ) { %NameTag = %NameTag @ "o";}
    if(%Rtemp == 10 ) { %NameTag = %NameTag @ "u";}
    if(%Rtemp == 11 ) { %NameTag = %NameTag @ "uns";}
    if(%Rtemp == 12 ) { %NameTag = %NameTag @ "cheater";}
    if(%Rtemp == 13 ) { %NameTag = %NameTag @ "onka";}
    if(%Rtemp == 14 ) { %NameTag = %NameTag @ "obi";}
    if(%Rtemp == 15 ) { %NameTag = %NameTag @ "aqui";}
    if(%Rtemp == 16 ) { %NameTag = %NameTag @ "ortu";}
    if(%Rtemp == 17 ) { %NameTag = %NameTag @ "ir";}
    if(%Rtemp == 18 ) { %NameTag = %NameTag @ "yi";}
    if(%Rtemp == 19 ) { %NameTag = %NameTag @ "ipy";}
    if(%Rtemp == 20 ) { %NameTag = %NameTag @ "Able";}
    if(%Rtemp == 21 ) { %NameTag = %NameTag @ "opis";}
    if(%Rtemp == 22 ) { %NameTag = %NameTag @ "apa";}
    if(%Rtemp == 23 ) { %NameTag = %NameTag @ "ake";}
    if(%Rtemp == 24 ) { %NameTag = %NameTag @ "oke";}
    if(%Rtemp == 25 ) { %NameTag = %NameTag @ "elo";}
    if(%Rtemp == 26 ) { %NameTag = %NameTag @ "ey";}
    if(%Rtemp == 27 ) { %NameTag = %NameTag @ "eny";}
    if(%Rtemp == 28 ) { %NameTag = %NameTag @ "oil";}
    if(%Rtemp == 29 ) { %NameTag = %NameTag @ "ute";}
    if(%Rtemp == 30 ) { %NameTag = %NameTag @ "etu";}
    if(%Rtemp == 31 ) { %NameTag = %NameTag @ "esu";}
    if(%Rtemp == 32 ) { %NameTag = %NameTag @ "ew";}
    if(%Rtemp == 33 ) { %NameTag = %NameTag @ "awe";}
    if(%Rtemp == 34 ) { %NameTag = %NameTag @ "ave";}
    if(%Rtemp == 35 ) { %NameTag = %NameTag @ "awea";}
    if(%Rtemp == 36 ) { %NameTag = %NameTag @ "olsa";}
    if(%Rtemp == 37 ) { %NameTag = %NameTag @ "abe";}
    if(%Rtemp == 38 ) { %NameTag = %NameTag @ "'o'kill";}
    if(%Rtemp == 39 ) { %NameTag = %NameTag @ "elam";}
    if(%Rtemp == 40 ) { %NameTag = %NameTag @ "opra";}
    if(%Rtemp == 41 ) { %NameTag = %NameTag @ "eahe";}
    if(%Rtemp == 42 ) { %NameTag = %NameTag @ "ace";}
    if(%Rtemp == 43 ) { %NameTag = %NameTag @ "ece";}
    if(%Rtemp == 44 ) { %NameTag = %NameTag @ "eple";}
    if(%Rtemp == 45 ) { %NameTag = %NameTag @ "the idiot";}
    if(%Rtemp == 46 ) { %NameTag = %NameTag @ "adog";}
    if(%Rtemp == 47 ) { %NameTag = %NameTag @ "the moron";}
    if(%Rtemp == 48 ) { %NameTag = %NameTag @ "adu";}
    if(%Rtemp == 49 ) { %NameTag = %NameTag @ "uta";}
    if(%Rtemp == 50 ) { %NameTag = %NameTag @ "eke";}
    if(%Rtemp == 51 ) { %NameTag = %NameTag @ " O'";}
    if(%Rtemp == 52 ) { %NameTag = %NameTag @ "-";}
    if(%Rtemp == 53 ) { %NameTag = %NameTag @ " A";}
    if(%Rtemp == 54 ) { %NameTag = %NameTag @ " Bee";}
    if(%Rtemp == 55 ) { %NameTag = %NameTag @ " E";}
    if(%Rtemp == 56 ) { %NameTag = %NameTag @ " Fla";}
    if(%Rtemp == 57 ) { %NameTag = %NameTag @ " Pla";}
    if(%Rtemp == 58 ) { %NameTag = %NameTag @ " Hit";}
    if(%Rtemp == 59 ) { %NameTag = %NameTag @ " I";}
    if(%Rtemp == 60 ) { %NameTag = %NameTag @ " Jo";}
    if(%Rtemp == 61 ) { %NameTag = %NameTag @ " Kis";}
    if(%Rtemp == 62 ) { %NameTag = %NameTag @ " Le";}
    if(%Rtemp == 63 ) { %NameTag = %NameTag @ " Mos";}
    if(%Rtemp == 64 ) { %NameTag = %NameTag @ " No";}
    if(%Rtemp == 65 ) { %NameTag = %NameTag @ " O";}
    if(%Rtemp == 66 ) { %NameTag = %NameTag @ " Pla";}
    if(%Rtemp == 67 ) { %NameTag = %NameTag @ " Qu";}
    if(%Rtemp == 68 ) { %NameTag = %NameTag @ " Ra";}
    if(%Rtemp == 69 ) { %NameTag = %NameTag @ " Se";}
    if(%Rtemp == 70 ) { %NameTag = %NameTag @ " Ti";}
    if(%Rtemp == 71 ) { %NameTag = %NameTag @ " U";}
    if(%Rtemp == 72 ) { %NameTag = %NameTag @ " Vo";}
    if(%Rtemp == 73 ) { %NameTag = %NameTag @ " We";}
    if(%Rtemp == 74 ) { %NameTag = %NameTag @ " Ni";}
    if(%Rtemp == 75 ) { %NameTag = %NameTag @ " Yo";}
    if(%Rtemp == 76 ) { %NameTag = %NameTag @ " Zu";}
    if(%Rtemp == 77 ) { %NameTag = %NameTag @ " Ak";}
    if(%Rtemp == 78 ) { %NameTag = %NameTag @ " Bl";}
    if(%Rtemp == 79 ) { %NameTag = %NameTag @ " Ch";}
    if(%Rtemp == 80 ) { %NameTag = %NameTag @ " Of ";}
    if(%Rtemp == 81 ) { %NameTag = %NameTag @ " The ";}
    if(%Rtemp == 82 ) { %NameTag = %NameTag @ " Bitch ";}
    if(%Rtemp == 83 ) { %NameTag = %NameTag @ " Cow of ";}
    if(%Rtemp == 84 ) { %NameTag = %NameTag @ " slut ";}
    if(%Rtemp == 85 ) { %NameTag = %NameTag @ " hobag ";}
    if(%Rtemp == 86 ) { %NameTag = %NameTag @ " anal ";}
    if(%Rtemp == 87 ) { %NameTag = %NameTag @ " plug ";}
    if(%Rtemp == 88 ) { %NameTag = %NameTag @ " Tasha ";}
    if(%Rtemp == 89 ) { %NameTag = %NameTag @ " gay ";}
    if(%Rtemp == 90 ) { %NameTag = %NameTag @ " swift ";}
    if(%Rtemp == 91 ) { %NameTag = %NameTag @ "jaxx ";}
    if(%Rtemp == 92 ) { %NameTag = %NameTag @ "rok ";}
    if(%Rtemp == 93 ) { %NameTag = %NameTag @ "uh";}
    if(%Rtemp == 94 ) { %NameTag = %NameTag @ "sip";}
    if(%Rtemp == 95 ) { %NameTag = %NameTag @ "whip";}
    if(%Rtemp == 96 ) { %NameTag = %NameTag @ "fear";}
    if(%Rtemp == 97 ) { %NameTag = %NameTag @ "easy";}
    if(%Rtemp == 98 ) { %NameTag = %NameTag @ "istic";}
    if(%Rtemp == 99 ) { %NameTag = %NameTag @ "arga";}
    if(%Rtemp == 100 ) { %NameTag = %NameTag @ "ogre";}
    if(%Rtemp == 101 ) { %NameTag = %NameTag @ "effle";}
    if(%Rtemp == 102 ) { %NameTag = %NameTag @ "insta";}
    if(%Rtemp == 103 ) { %NameTag = %NameTag @ "iflunk";}
    if(%Rtemp == 104 ) { %NameTag = %NameTag @ "under";}
    if(%Rtemp == 105 ) { %NameTag = %NameTag @ "it";}
    if(%Rtemp == 106 ) { %NameTag = %NameTag @ "at";}
    if(%Rtemp == 107 ) { %NameTag = %NameTag @ "fwee";}
    if(%Rtemp == 108 ) { %NameTag = %NameTag @ "-lol";}
    if(%Rtemp == 109 ) { %NameTag = %NameTag @ "-haha";}
    if(%Rtemp == 110 ) { %NameTag = %NameTag @ "ybomb";}
    if(%Rtemp == 111 ) { %NameTag = %NameTag @ "arap";}
    if(%Rtemp == 112 ) { %NameTag = %NameTag @ " rape";}
    if(%Rtemp == 113 ) { %NameTag = %NameTag @ "stak";}
    if(%Rtemp == 114 ) { %NameTag = %NameTag @ "run";}
    if(%Rtemp == 115 ) { %NameTag = %NameTag @ "pimp";}
    if(%Rtemp == 116 ) { %NameTag = %NameTag @ "bansh";}
    if(%Rtemp == 117 ) { %NameTag = %NameTag @ "rish";}
    if(%Rtemp == 118 ) { %NameTag = %NameTag @ "rich";}
    if(%Rtemp == 119 ) { %NameTag = %NameTag @ "code";}
    if(%Rtemp == 120 ) { %NameTag = %NameTag @ "anim";}
    if(%Rtemp == 121 ) { %NameTag = %NameTag @ "als";}
    if(%Rtemp == 122 ) { %NameTag = %NameTag @ "cup";}
    if(%Rtemp == 123 ) { %NameTag = %NameTag @ "desi";}
    if(%Rtemp == 124 ) { %NameTag = %NameTag @ "re";}
    if(%Rtemp == 125 ) { %NameTag = %NameTag @ "plum";}
    if(%Rtemp == 126 ) { %NameTag = %NameTag @ "wat";}
    if(%Rtemp == 127 ) { %NameTag = %NameTag @ "ski";}
    if(%Rtemp == 128 ) { %NameTag = %NameTag @ "fork";}

    %Ttemp = floor(getRandom() * 2);

    if(%Ttemp == 1 && %Rtemp < 51) {return %nametag;}

    %Rtemp = floor(getRandom() * 98);
    if(%Rtemp == 0 ) { %NameTag = %NameTag @ "tard";}
    if(%Rtemp == 1 ) { %NameTag = %NameTag @ "toot";}
    if(%Rtemp == 2 ) { %NameTag = %NameTag @ " king";}
    if(%Rtemp == 3 ) { %NameTag = %NameTag @ " rat";}
    if(%Rtemp == 4 ) { %NameTag = %NameTag @ " pig";}
    if(%Rtemp == 5 ) { %NameTag = %NameTag @ "ad";}
    if(%Rtemp == 6 ) { %NameTag = %NameTag @ "as";}
    if(%Rtemp == 7 ) { %NameTag = %NameTag @ "an";}
    if(%Rtemp == 8 ) { %NameTag = %NameTag @ "tan";}
    if(%Rtemp == 9 ) { %NameTag = %NameTag @ "ten";}
    if(%Rtemp == 10 ) { %NameTag = %NameTag @ "eth";}
    if(%Rtemp == 11 ) { %NameTag = %NameTag @ "eph";}
    if(%Rtemp == 12 ) { %NameTag = %NameTag @ "aph";}
    if(%Rtemp == 13 ) { %NameTag = %NameTag @ "sky";}
    if(%Rtemp == 14 ) { %NameTag = %NameTag @ "te";}
    if(%Rtemp == 15 ) { %NameTag = %NameTag @ "bo";}
    if(%Rtemp == 16 ) { %NameTag = %NameTag @ "by";}
    if(%Rtemp == 17 ) { %NameTag = %NameTag @ "so";}
    if(%Rtemp == 18 ) { %NameTag = %NameTag @ "sa";}
    if(%Rtemp == 19 ) { %NameTag = %NameTag @ "si";}
    if(%Rtemp == 20 ) { %NameTag = %NameTag @ "sy";}
    if(%Rtemp == 21 ) { %NameTag = %NameTag @ "is";}
    if(%Rtemp == 22 ) { %NameTag = %NameTag @ "ia";}
    if(%Rtemp == 23 ) { %NameTag = %NameTag @ "un";}
    if(%Rtemp == 24 ) { %NameTag = %NameTag @ "uk";}
    if(%Rtemp == 25 ) { %NameTag = %NameTag @ "us";}
    if(%Rtemp == 26 ) { %NameTag = %NameTag @ "up";}
    if(%Rtemp == 27 ) { %NameTag = %NameTag @ "ub";}
    if(%Rtemp == 28 ) { %NameTag = %NameTag @ "re";}
    if(%Rtemp == 29 ) { %NameTag = %NameTag @ "ra";}
    if(%Rtemp == 30 ) { %NameTag = %NameTag @ "ro";}
    if(%Rtemp == 31 ) { %NameTag = %NameTag @ "ru";}
    if(%Rtemp == 32 ) { %NameTag = %NameTag @ "ri";}
    if(%Rtemp == 33 ) { %NameTag = %NameTag @ "sna";}
    if(%Rtemp == 34 ) { %NameTag = %NameTag @ " fish";}
    if(%Rtemp == 35 ) { %NameTag = %NameTag @ " salsa";}
    if(%Rtemp == 36 ) { %NameTag = %NameTag @ " bulge";}
    if(%Rtemp == 37 ) { %NameTag = %NameTag @ " liar";}
    if(%Rtemp == 38 ) { %NameTag = %NameTag @ " bad";}
    if(%Rtemp == 39 ) { %NameTag = %NameTag @ " dumb";}
    if(%Rtemp == 40 ) { %NameTag = %NameTag @ " coward";}
    if(%Rtemp == 41 ) { %NameTag = %NameTag @ " wins";}
    if(%Rtemp == 42 ) { %NameTag = %NameTag @ " perfect";}
    if(%Rtemp == 43 ) { %NameTag = %NameTag @ " long";}
    if(%Rtemp == 44 ) { %NameTag = %NameTag @ " chick";}
    if(%Rtemp == 45 ) { %NameTag = %NameTag @ " man";}
    if(%Rtemp == 46 ) { %NameTag = %NameTag @ " guy";}
    if(%Rtemp == 47 ) { %NameTag = %NameTag @ " girl";}
    if(%Rtemp == 48 ) { %NameTag = %NameTag @ " sexy";}
    if(%Rtemp == 49 ) { %NameTag = %NameTag @ " waste";}
    if(%Rtemp == 50 ) { %NameTag = %NameTag @ " hunter";}
    if(%Rtemp == 51 ) { %NameTag = %NameTag @ " hutt";}
    if(%Rtemp == 52 ) { %NameTag = %NameTag @ " hole";}
    if(%Rtemp == 53 ) { %NameTag = %NameTag @ " cat";}
    if(%Rtemp == 54 ) { %NameTag = %NameTag @ " homo";}
    if(%Rtemp == 55 ) { %NameTag = %NameTag @ " shooter";}
    if(%Rtemp == 56 ) { %NameTag = %NameTag @ " thief";}
    if(%Rtemp == 57 ) { %NameTag = %NameTag @ " owner";}
    if(%Rtemp == 58 ) { %NameTag = %NameTag @ " noob";}
    if(%Rtemp == 59 ) { %NameTag = %NameTag @ " elite";}
    if(%Rtemp == 60 ) { %NameTag = %NameTag @ " death";}
    if(%Rtemp == 61 ) { %NameTag = %NameTag @ " slap";}
    if(%Rtemp == 62 ) { %NameTag = %NameTag @ " crabs";}
    if(%Rtemp == 63 ) { %NameTag = %NameTag @ " scab";}
    if(%Rtemp == 64 ) { %NameTag = %NameTag @ " nails";}
    if(%Rtemp == 65 ) { %NameTag = %NameTag @ " tit";}
    if(%Rtemp == 66 ) { %NameTag = %NameTag @ " hung-low";}
    if(%Rtemp == 67 ) { %NameTag = %NameTag @ " hung";}
    if(%Rtemp == 68 ) { %NameTag = %NameTag @ " ghastly";}
    if(%Rtemp == 69) { %NameTag = %NameTag @ " dude";}
    if(%Rtemp == 70) { %NameTag = %NameTag @ " fun";}
    if(%Rtemp == 71) { %NameTag = %NameTag @ " rude";}
    if(%Rtemp == 72) { %NameTag = %NameTag @ " skanky";}
    if(%Rtemp == 73) { %NameTag = %NameTag @ " Fat";}
    if(%Rtemp == 74) { %NameTag = %NameTag @ " Gay";}
    if(%Rtemp == 75) { %NameTag = %NameTag @ " Baby";}
    if(%Rtemp == 76) { %NameTag = %NameTag @ " Biter";}
    if(%Rtemp == 77) { %NameTag = %NameTag @ " Knock";}
    if(%Rtemp == 78) { %NameTag = %NameTag @ " King";}
    if(%Rtemp == 79) { %NameTag = %NameTag @ "duh";}
    if(%Rtemp == 80) { %NameTag = %NameTag @ "-USA";}
    if(%Rtemp == 81) { %NameTag = %NameTag @ "uck";}
    if(%Rtemp == 82) { %NameTag = %NameTag @ "hit";}
    if(%Rtemp == 83) { %NameTag = %NameTag @ "yeller";}
    if(%Rtemp == 84) { %NameTag = %NameTag @ "naked";}
    if(%Rtemp == 85) { %NameTag = %NameTag @ "butt";}
    if(%Rtemp == 86) { %NameTag = %NameTag @ "hugger";}
    if(%Rtemp == 87) { %NameTag = %NameTag @ "face";}
    if(%Rtemp == 88) { %NameTag = %NameTag @ "smell";}
    if(%Rtemp == 89) { %NameTag = %NameTag @ "crotch";}
    if(%Rtemp == 90) { %NameTag = %NameTag @ "key";}
    if(%Rtemp == 91) { %NameTag = %NameTag @ "bird";}
    if(%Rtemp == 92) { %NameTag = %NameTag @ "dog";}
    if(%Rtemp == 93) { %NameTag = %NameTag @ "cat";}
    if(%Rtemp == 94) { %NameTag = %NameTag @ "elf";}
    if(%Rtemp == 95) { %NameTag = %NameTag @ "wolf";}
    if(%Rtemp == 96) { %NameTag = %NameTag @ "sniper";}
    if(%Rtemp == 97) { %NameTag = %NameTag @ "me";}

    return %NameTag;

}

function ixApplyKickback(%player, %strength, %lift) 
{
	if((!%lift) && (%lift != 0))
		%lift = 0;

	%rot = GameBase::getRotation(%player);
	%rad = getWord(%rot, 2);
	%x = (-1) * (ixSin(%rad));
	%y = ixCos(%rad);
	%dir = %x @ " " @ %y @ " 0";
	%force = ixDotProd(Vector::neg(%dir),%strength);
	%x = getWord(%force, 0);
	%y = getWord(%force, 1);
	%dir = %x @ " " @ %y @ " " @ %lift;
	Player::applyImpulse(%player,%force);
}

function ixDotProd(%vec, %scalar)
{
	%return = Vector::dot(%vec,%scalar @ " 0 0") @ " " @ Vector::dot(%vec,"0 " @ %scalar @ " 0") @ " " @ Vector::dot(%vec,"0 0 " @ %scalar);
	return %return;
}

function ixSin(%theta) 
{
	return (%theta - (pow(%theta,3)/6) + (pow(%theta,5)/120) - (pow(%theta,7)/5040) + (pow(%theta,9)/362880) - (pow(%theta,11)/39916800));
}

function ixCos(%theta) 
{
	return (1 - (pow(%theta,2)/2) + (pow(%theta,4)/24) - (pow(%theta,6)/720) + (pow(%theta,8)/40320) - (pow(%theta,10)/3628800));
}
 
Back
Top