mirror of
https://github.com/Ragora/TribesReplay.git
synced 2026-01-20 01:54:47 +00:00
552 lines
17 KiB
C#
552 lines
17 KiB
C#
|
|
function aiConnectByIndex(%index, %team)
|
||
|
|
{
|
||
|
|
if (%index < 0 || $BotProfile[%index, name] $= "")
|
||
|
|
return;
|
||
|
|
|
||
|
|
if (%team $= "")
|
||
|
|
%team = -1;
|
||
|
|
|
||
|
|
//initialize the profile, if required
|
||
|
|
if ($BotProfile[%index, skill] $= "")
|
||
|
|
$BotProfile[%index, skill] = 0.5;
|
||
|
|
|
||
|
|
return aiConnect($BotProfile[%index, name], %team, $BotProfile[%index, skill], $BotProfile[%index, offense], $BotProfile[%index, voice], $BotProfile[%index, voicePitch]);
|
||
|
|
}
|
||
|
|
|
||
|
|
function aiConnectByName(%name, %team)
|
||
|
|
{
|
||
|
|
if (%name $= "")
|
||
|
|
return;
|
||
|
|
|
||
|
|
if (%team $= "")
|
||
|
|
%team = -1;
|
||
|
|
|
||
|
|
%foundIndex = -1;
|
||
|
|
%index = 0;
|
||
|
|
while ($BotProfile[%index, name] !$= "")
|
||
|
|
{
|
||
|
|
if ($BotProfile[%index, name] $= %name)
|
||
|
|
{
|
||
|
|
%foundIndex = %index;
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
%index++;
|
||
|
|
}
|
||
|
|
|
||
|
|
//see if we found our bot
|
||
|
|
if (%foundIndex >= 0)
|
||
|
|
return aiConnectByIndex(%foundIndex, %team);
|
||
|
|
|
||
|
|
//else add a new bot profile
|
||
|
|
else
|
||
|
|
{
|
||
|
|
$BotProfile[%index, name] = %name;
|
||
|
|
return aiConnectByIndex(%index, %team);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function aiBotAlreadyConnected(%name)
|
||
|
|
{
|
||
|
|
%count = ClientGroup.getCount();
|
||
|
|
for (%i = 0; %i < %count; %i++)
|
||
|
|
{
|
||
|
|
%client = ClientGroup.getObject(%i);
|
||
|
|
if (%name $= getTaggedString(%client.name))
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
|
||
|
|
function aiConnectMultiple(%numToConnect, %minSkill, %maxSkill, %team)
|
||
|
|
{
|
||
|
|
//validate the args
|
||
|
|
if (%numToConnect <= 0)
|
||
|
|
return;
|
||
|
|
|
||
|
|
if (%maxSkill < 0)
|
||
|
|
%maxSkill = 0;
|
||
|
|
|
||
|
|
if (%minSkill >= %maxSkill)
|
||
|
|
%minSkill = %maxSkill - 0.01;
|
||
|
|
|
||
|
|
if (%team $= "")
|
||
|
|
%team = -1;
|
||
|
|
|
||
|
|
//loop through the profiles, and set the flags and initialize
|
||
|
|
%numBotsAlreadyConnected = 0;
|
||
|
|
%index = 0;
|
||
|
|
while ($BotProfile[%index, name] !$= "")
|
||
|
|
{
|
||
|
|
//initialize the profile if required
|
||
|
|
if ($BotProfile[%index, skill] $= "")
|
||
|
|
$BotProfile[%index, skill] = 0.5;
|
||
|
|
|
||
|
|
//if the bot is already playing, it shouldn't be reselected
|
||
|
|
if (aiBotAlreadyConnected($BotProfile[%index, name]))
|
||
|
|
{
|
||
|
|
$BotProfile[%index, canSelect] = false;
|
||
|
|
%numBotsAlreadyConnected++;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
$BotProfile[%index, canSelect] = true;
|
||
|
|
|
||
|
|
%index++;
|
||
|
|
}
|
||
|
|
|
||
|
|
//make sure we're not trying to add more bots than we have...
|
||
|
|
if (%numToConnect > (%index - %numBotsAlreadyConnected))
|
||
|
|
%numToConnect = (%index - %numBotsAlreadyConnected);
|
||
|
|
|
||
|
|
//build the array of possible candidates...
|
||
|
|
%index = 0;
|
||
|
|
%tableCount = 0;
|
||
|
|
while ($BotProfile[%index, name] !$= "")
|
||
|
|
{
|
||
|
|
%botSkill = $BotProfile[%index, skill];
|
||
|
|
|
||
|
|
//see if the skill is within range
|
||
|
|
if ($BotProfile[%index, canSelect] && %botSkill >= %minSkill && %botSkill <= %maxSkill)
|
||
|
|
{
|
||
|
|
$BotSelectTable[%tableCount] = %index;
|
||
|
|
%tableCount++;
|
||
|
|
$BotProfile[%index, canSelect] = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
//check the next bot
|
||
|
|
%index++;
|
||
|
|
}
|
||
|
|
|
||
|
|
//if we didn't find enough bots, we'll have to search the rest of the profiles...
|
||
|
|
%searchMinSkill = %minSkill;
|
||
|
|
while ((%tableCount < %numToConnect) && (%searchMinSkill > 0))
|
||
|
|
{
|
||
|
|
%index = 0;
|
||
|
|
while ($BotProfile[%index, name] !$= "")
|
||
|
|
{
|
||
|
|
%botSkill = $BotProfile[%index, skill];
|
||
|
|
|
||
|
|
//see if the skill is within range
|
||
|
|
if ($BotProfile[%index, canSelect] && %botSkill >= (%searchMinSkill - 0.1) && %botSkill <= %searchMinSkill)
|
||
|
|
{
|
||
|
|
$BotSelectTable[%tableCount] = %index;
|
||
|
|
%tableCount++;
|
||
|
|
$BotProfile[%index, canSelect] = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
//check the next bot
|
||
|
|
%index++;
|
||
|
|
}
|
||
|
|
|
||
|
|
//now lower the search min Skill, and take another pass at a lower skill level
|
||
|
|
%searchMinSkill = %searchMinSkill - 0.1;
|
||
|
|
}
|
||
|
|
|
||
|
|
//if we're still short of bots, search the higher skill levels
|
||
|
|
%searchMaxSkill = %maxSkill;
|
||
|
|
while ((%tableCount < %numToConnect) && (%searchMaxSkill < 1.0))
|
||
|
|
{
|
||
|
|
%index = 0;
|
||
|
|
while ($BotProfile[%index, name] !$= "")
|
||
|
|
{
|
||
|
|
%botSkill = $BotProfile[%index, skill];
|
||
|
|
//see if the skill is within range
|
||
|
|
if ($BotProfile[%index, canSelect] && %botSkill >= %searchMaxSkill && %botSkill <= (%searchMaxSkill + 0.1))
|
||
|
|
{
|
||
|
|
$BotSelectTable[%tableCount] = %index;
|
||
|
|
%tableCount++;
|
||
|
|
$BotProfile[%index, canSelect] = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
//check the next bot
|
||
|
|
%index++;
|
||
|
|
}
|
||
|
|
|
||
|
|
//now raise the search max Skill, and take another pass at a higher skill level
|
||
|
|
%searchMaxSkill = %searchMaxSkill + 0.1;
|
||
|
|
}
|
||
|
|
|
||
|
|
//since the numToConnect was capped at the table size, we should have enough bots in the
|
||
|
|
//table to fulfill the quota
|
||
|
|
|
||
|
|
//loop through five times, picking random indices, and adding them until we've added enough
|
||
|
|
%numBotsConnected = 0;
|
||
|
|
for (%i = 0; %i < 5; %i++)
|
||
|
|
{
|
||
|
|
for (%j = 0; %j < %numToConnect; %j++)
|
||
|
|
{
|
||
|
|
%selectedIndex = mFloor(getRandom() * (%tableCount - 0.1));
|
||
|
|
if ($BotSelectTable[%selectedIndex] >= 0)
|
||
|
|
{
|
||
|
|
//connect the bot
|
||
|
|
%botClient = aiConnectByIndex($BotSelectTable[%selectedIndex], %team);
|
||
|
|
%numBotsConnected++;
|
||
|
|
|
||
|
|
//adjust the skill level, if required
|
||
|
|
%botSkill = %botClient.getSkillLevel();
|
||
|
|
if (%botSkill < %minSkill || %botSkill > %maxSkill)
|
||
|
|
{
|
||
|
|
%newSkill = %minSKill + (getRandom() * (%maxSkill - %minSkill));
|
||
|
|
%botClient.setSkillLevel(%newSkill);
|
||
|
|
}
|
||
|
|
|
||
|
|
//clear the table entry to avoid connecting duplicates
|
||
|
|
$BotSelectTable[%selectedIndex] = -1;
|
||
|
|
|
||
|
|
//see if we've connected enough
|
||
|
|
if (%numBotsConnected == %numToConnect)
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
//at this point, we've looped though the table, and kept hitting duplicates, search the table sequentially
|
||
|
|
for (%i = 0; %i < %tableCount; %i++)
|
||
|
|
{
|
||
|
|
if ($BotSelectTable[%i] >= 0)
|
||
|
|
{
|
||
|
|
//connect the bot
|
||
|
|
%botClient = aiConnectByIndex($BotSelectTable[%i], %team);
|
||
|
|
%numBotsConnected++;
|
||
|
|
|
||
|
|
//adjust the skill level, if required
|
||
|
|
%botSkill = %botClient.getSkillLevel();
|
||
|
|
if (%botSkill < %minSkill || %botSkill > %maxSkill)
|
||
|
|
{
|
||
|
|
%newSkill = %minSKill + (getRandom() * (%maxSkill - %minSkill));
|
||
|
|
%botClient.setSkillLevel(%newSkill);
|
||
|
|
}
|
||
|
|
|
||
|
|
//clear the table entry to avoid connecting duplicates
|
||
|
|
$BotSelectTable[%i] = -1;
|
||
|
|
|
||
|
|
//see if we've connected enough
|
||
|
|
if (%numBotsConnected == %numToConnect)
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
$BotProfile[0, name] = "Kidney BOT";
|
||
|
|
$BotProfile[0, skill] = 0.99;
|
||
|
|
$BotProfile[0, offense] = true;
|
||
|
|
$BotProfile[0, voicePitch] = 0.875;
|
||
|
|
$BotProfile[1, name] = "BOT Milk?";
|
||
|
|
$BotProfile[1, skill] = 0.99;
|
||
|
|
$BotProfile[1, offense] = true;
|
||
|
|
$BotProfile[1, voicePitch] = 0.89;
|
||
|
|
$BotProfile[2, name] = "UberBOT";
|
||
|
|
$BotProfile[2, skill] = 0.99;
|
||
|
|
$BotProfile[2, offense] = true;
|
||
|
|
$BotProfile[2, voicePitch] = 0.95;
|
||
|
|
$BotProfile[3, name] = "SymBOT";
|
||
|
|
$BotProfile[3, skill] = 0.99;
|
||
|
|
$BotProfile[3, offense] = true;
|
||
|
|
$BotProfile[3, voicePitch] = 1.1;
|
||
|
|
$BotProfile[4, name] = "QIX BOT";
|
||
|
|
$BotProfile[4, skill] = 0.99;
|
||
|
|
$BotProfile[4, offense] = false;
|
||
|
|
$BotProfile[4, voicePitch] = 1.12;
|
||
|
|
$BotProfile[5, name] = "Rated BOT";
|
||
|
|
$BotProfile[5, skill] = 0.99;
|
||
|
|
$BotProfile[5, offense] = true;
|
||
|
|
$BotProfile[5, voicePitch] = 0.92;
|
||
|
|
$BotProfile[6, name] = "Dr.BOTward";
|
||
|
|
$BotProfile[6, skill] = 0.99;
|
||
|
|
$BotProfile[6, offense] = true;
|
||
|
|
$BotProfile[6, voicePitch] = 0.96;
|
||
|
|
$BotProfile[7, name] = "Frank BOTzo";
|
||
|
|
$BotProfile[7, skill] = 0.99;
|
||
|
|
$BotProfile[7, offense] = true;
|
||
|
|
$BotProfile[7, voicePitch] = 0.88;
|
||
|
|
$BotProfile[8, name] = "Missing BOT";
|
||
|
|
$BotProfile[8, skill] = 0.99;
|
||
|
|
$BotProfile[8, offense] = true;
|
||
|
|
$BotProfile[8, voicePitch] = 1.125;
|
||
|
|
$BotProfile[9, name] = "Jett BOT";
|
||
|
|
$BotProfile[9, skill] = 0.99;
|
||
|
|
$BotProfile[9, offense] = false;
|
||
|
|
$BotProfile[9, voicePitch] = 1.12;
|
||
|
|
$BotProfile[10, name] = "HexaBOTic";
|
||
|
|
$BotProfile[10, skill] = 1.99;
|
||
|
|
$BotProfile[10, offense] = true;
|
||
|
|
$BotProfile[10, voicePitch] = 0.895;
|
||
|
|
$BotProfile[11, name] = "Sne/\kBOT";
|
||
|
|
$BotProfile[11, skill] = 0.99;
|
||
|
|
$BotProfile[11, offense] = true;
|
||
|
|
$BotProfile[11, voicePitch] = 0.885;
|
||
|
|
$BotProfile[12, name] = "DiamondBOT";
|
||
|
|
$BotProfile[12, skill] = 0.99;
|
||
|
|
$BotProfile[12, offense] = true;
|
||
|
|
$BotProfile[12, voicePitch] = 1.05;
|
||
|
|
$BotProfile[13, name] = "Jimmy BOT";
|
||
|
|
$BotProfile[13, skill] = 0.99;
|
||
|
|
$BotProfile[13, offense] = true;
|
||
|
|
$BotProfile[13, voicePitch] = 1.09;
|
||
|
|
$BotProfile[14, name] = "Skeet BOT";
|
||
|
|
$BotProfile[14, skill] = 0.99;
|
||
|
|
$BotProfile[14, offense] = false;
|
||
|
|
$BotProfile[14, voicePitch] = 1.0;
|
||
|
|
$BotProfile[15, name] = "BigBOTDawg";
|
||
|
|
$BotProfile[15, skill] = 0.99;
|
||
|
|
$BotProfile[15, offense] = true;
|
||
|
|
$BotProfile[15, voicePitch] = 0.9;
|
||
|
|
$BotProfile[16, name] = "BOTIN8R";
|
||
|
|
$BotProfile[16, skill] = 0.99;
|
||
|
|
$BotProfile[16, offense] = true;
|
||
|
|
$BotProfile[16, voicePitch] = 0.97;
|
||
|
|
$BotProfile[17, name] = "OrphanKazBOT";
|
||
|
|
$BotProfile[17, skill] = 0.99;
|
||
|
|
$BotProfile[17, offense] = true;
|
||
|
|
$BotProfile[17, voicePitch] = 0.925;
|
||
|
|
$BotProfile[18, name] = "Terrible BOT";
|
||
|
|
$BotProfile[18, skill] = 0.99;
|
||
|
|
$BotProfile[18, offense] = true;
|
||
|
|
$BotProfile[18, voicePitch] = 1.115;
|
||
|
|
$BotProfile[19, name] = "Mongo BOT";
|
||
|
|
$BotProfile[19, skill] = 0.99;
|
||
|
|
$BotProfile[19, offense] = false;
|
||
|
|
$BotProfile[19, voicePitch] = 1.12;
|
||
|
|
$BotProfile[20, name] = "East BOT";
|
||
|
|
$BotProfile[20, skill] = 0.99;
|
||
|
|
$BotProfile[20, offense] = true;
|
||
|
|
$BotProfile[20, voicePitch] = 1.125;
|
||
|
|
$BotProfile[21, name] = "Snow LeoBOT";
|
||
|
|
$BotProfile[21, skill] = 0.99;
|
||
|
|
$BotProfile[21, offense] = true;
|
||
|
|
$BotProfile[21, voicePitch] = 1.05;
|
||
|
|
$BotProfile[22, name] = "Twitch BOT";
|
||
|
|
$BotProfile[22, skill] = 0.99;
|
||
|
|
$BotProfile[22, offense] = true;
|
||
|
|
$BotProfile[22, voicePitch] = 0.893;
|
||
|
|
$BotProfile[23, name] = "ShazBOT";
|
||
|
|
$BotProfile[23, skill] = 0.99;
|
||
|
|
$BotProfile[23, offense] = true;
|
||
|
|
$BotProfile[23, voicePitch] = 0.879;
|
||
|
|
|
||
|
|
$BotProfile[24, name] = "Fishbait";
|
||
|
|
$BotProfile[24, skill] = 0.00;
|
||
|
|
$BotProfile[24, offense] = true;
|
||
|
|
$BotProfile[24, voicePitch] = 1.125;
|
||
|
|
$BotProfile[25, name] = "Skulker";
|
||
|
|
$BotProfile[25, skill] = 0.00;
|
||
|
|
$BotProfile[25, offense] = false;
|
||
|
|
$BotProfile[25, voicePitch] = 1.1;
|
||
|
|
$BotProfile[26, name] = "Dogstar";
|
||
|
|
$BotProfile[26, skill] = 0.00;
|
||
|
|
$BotProfile[26, offense] = false;
|
||
|
|
$BotProfile[26, voicePitch] = 1.02;
|
||
|
|
$BotProfile[27, name] = "Bonehead";
|
||
|
|
$BotProfile[27, skill] = 0.00;
|
||
|
|
$BotProfile[27, offense] = false;
|
||
|
|
$BotProfile[27, voicePitch] = 0.975;
|
||
|
|
$BotProfile[28, name] = "Torus";
|
||
|
|
$BotProfile[28, skill] = 0.00;
|
||
|
|
$BotProfile[28, offense] = false;
|
||
|
|
$BotProfile[28, voicePitch] = 0.9;
|
||
|
|
$BotProfile[29, name] = "Glitter";
|
||
|
|
$BotProfile[29, skill] = 0.05;
|
||
|
|
$BotProfile[29, offense] = true;
|
||
|
|
$BotProfile[29, voicePitch] = 1.1;
|
||
|
|
$BotProfile[30, name] = "Wirehead";
|
||
|
|
$BotProfile[30, skill] = 0.05;
|
||
|
|
$BotProfile[30, offense] = false;
|
||
|
|
$BotProfile[30, voicePitch] = 1.03;
|
||
|
|
$BotProfile[31, name] = "Ironbreath";
|
||
|
|
$BotProfile[31, skill] = 0.10;
|
||
|
|
$BotProfile[31, offense] = false;
|
||
|
|
$BotProfile[31, voicePitch] = 1.02;
|
||
|
|
$BotProfile[32, name] = "Hagstomper";
|
||
|
|
$BotProfile[32, skill] = 0.10;
|
||
|
|
$BotProfile[32, offense] = false;
|
||
|
|
$BotProfile[32, voicePitch] = 0.899;
|
||
|
|
$BotProfile[33, name] = "Doormat";
|
||
|
|
$BotProfile[33, skill] = 0.15;
|
||
|
|
$BotProfile[33, offense] = false;
|
||
|
|
$BotProfile[33, voicePitch] = 0.97;
|
||
|
|
$BotProfile[34, name] = "TickTock";
|
||
|
|
$BotProfile[34, skill] = 0.15;
|
||
|
|
$BotProfile[34, offense] = true;
|
||
|
|
$BotProfile[34, voicePitch] = 1.07;
|
||
|
|
$BotProfile[35, name] = "ElectroJag";
|
||
|
|
$BotProfile[35, skill] = 0.20;
|
||
|
|
$BotProfile[35, offense] = false;
|
||
|
|
$BotProfile[35, voicePitch] = 0.915;
|
||
|
|
$BotProfile[36, name] = "Jetsam";
|
||
|
|
$BotProfile[36, skill] = 0.20;
|
||
|
|
$BotProfile[36, offense] = false;
|
||
|
|
$BotProfile[36, voicePitch] = 1.09;
|
||
|
|
$BotProfile[37, name] = "Newguns";
|
||
|
|
$BotProfile[37, skill] = 0.25;
|
||
|
|
$BotProfile[37, offense] = false;
|
||
|
|
$BotProfile[37, voicePitch] = 0.885;
|
||
|
|
$BotProfile[38, name] = "WrongWay";
|
||
|
|
$BotProfile[38, skill] = 0.25;
|
||
|
|
$BotProfile[38, offense] = false;
|
||
|
|
$BotProfile[38, voicePitch] = 0.875;
|
||
|
|
$BotProfile[39, name] = "Ragbinder";
|
||
|
|
$BotProfile[39, skill] = 0.30;
|
||
|
|
$BotProfile[39, offense] = true;
|
||
|
|
$BotProfile[39, voicePitch] = 1.1;
|
||
|
|
$BotProfile[40, name] = "Retch";
|
||
|
|
$BotProfile[40, skill] = 0.30;
|
||
|
|
$BotProfile[40, offense] = false;
|
||
|
|
$BotProfile[40, voicePitch] = 1.12;
|
||
|
|
$BotProfile[41, name] = "Hotfoot";
|
||
|
|
$BotProfile[41, skill] = 0.35;
|
||
|
|
$BotProfile[41, offense] = false;
|
||
|
|
$BotProfile[41, voicePitch] = 0.93;
|
||
|
|
$BotProfile[42, name] = "Trail of Rust";
|
||
|
|
$BotProfile[42, skill] = 0.35;
|
||
|
|
$BotProfile[42, offense] = false;
|
||
|
|
$BotProfile[42, voicePitch] = 0.88;
|
||
|
|
$BotProfile[43, name] = "Zigzag";
|
||
|
|
$BotProfile[43, skill] = 0.40;
|
||
|
|
$BotProfile[43, offense] = false;
|
||
|
|
$BotProfile[43, voicePitch] = 0.89;
|
||
|
|
$BotProfile[44, name] = "Gray Sabot";
|
||
|
|
$BotProfile[44, skill] = 0.40;
|
||
|
|
$BotProfile[44, offense] = true;
|
||
|
|
$BotProfile[44, voicePitch] = 0.879;
|
||
|
|
$BotProfile[45, name] = "Hellefleur";
|
||
|
|
$BotProfile[45, skill] = 0.45;
|
||
|
|
$BotProfile[45, offense] = false;
|
||
|
|
$BotProfile[45, voicePitch] = 1.11;
|
||
|
|
$BotProfile[46, name] = "Slicer";
|
||
|
|
$BotProfile[46, skill] = 0.45;
|
||
|
|
$BotProfile[46, offense] = false;
|
||
|
|
$BotProfile[46, voicePitch] = 1.12;
|
||
|
|
$BotProfile[47, name] = "Rampant";
|
||
|
|
$BotProfile[47, skill] = 0.45;
|
||
|
|
$BotProfile[47, offense] = false;
|
||
|
|
$BotProfile[47, voicePitch] = 0.935;
|
||
|
|
$BotProfile[48, name] = "Troglodyte";
|
||
|
|
$BotProfile[48, skill] = 0.45;
|
||
|
|
$BotProfile[48, offense] = true;
|
||
|
|
$BotProfile[48, voicePitch] = 1.121;
|
||
|
|
$BotProfile[49, name] = "Evenkill";
|
||
|
|
$BotProfile[49, skill] = 0.50;
|
||
|
|
$BotProfile[49, offense] = false;
|
||
|
|
$BotProfile[49, voicePitch] = 1.05;
|
||
|
|
$BotProfile[50, name] = "Simrionic";
|
||
|
|
$BotProfile[50, skill] = 0.50;
|
||
|
|
$BotProfile[50, offense] = false;
|
||
|
|
$BotProfile[50, voicePitch] = 0.895;
|
||
|
|
$BotProfile[51, name] = "Cathode Kiss";
|
||
|
|
$BotProfile[51, skill] = 0.50;
|
||
|
|
$BotProfile[51, offense] = false;
|
||
|
|
$BotProfile[51, voicePitch] = 0.97;
|
||
|
|
$BotProfile[52, name] = "So Dark";
|
||
|
|
$BotProfile[52, skill] = 0.55;
|
||
|
|
$BotProfile[52, offense] = true;
|
||
|
|
$BotProfile[52, voicePitch] = 1.01;
|
||
|
|
$BotProfile[53, name] = "Deathwind";
|
||
|
|
$BotProfile[53, skill] = 0.55;
|
||
|
|
$BotProfile[53, offense] = false;
|
||
|
|
$BotProfile[53, voicePitch] = 1.12;
|
||
|
|
$BotProfile[54, name] = "Dharmic Sword";
|
||
|
|
$BotProfile[54, skill] = 0.55;
|
||
|
|
$BotProfile[54, offense] = false;
|
||
|
|
$BotProfile[54, voicePitch] = 1.0;
|
||
|
|
$BotProfile[55, name] = "Demonshriek";
|
||
|
|
$BotProfile[55, skill] = 0.60;
|
||
|
|
$BotProfile[55, offense] = false;
|
||
|
|
$BotProfile[55, voicePitch] = 1.05;
|
||
|
|
$BotProfile[56, name] = "Terrapin";
|
||
|
|
$BotProfile[56, skill] = 0.60;
|
||
|
|
$BotProfile[56, offense] = true;
|
||
|
|
$BotProfile[56, voicePitch] = 1.085;
|
||
|
|
$BotProfile[57, name] = "No-Dachi";
|
||
|
|
$BotProfile[57, skill] = 0.60;
|
||
|
|
$BotProfile[57, offense] = true;
|
||
|
|
$BotProfile[57, voicePitch] = 0.905;
|
||
|
|
$BotProfile[58, name] = "Irrelevant Smoke";
|
||
|
|
$BotProfile[58, skill] = 0.65;
|
||
|
|
$BotProfile[58, offense] = false;
|
||
|
|
$BotProfile[58, voicePitch] = 0.935;
|
||
|
|
$BotProfile[59, name] = "Red Ghost";
|
||
|
|
$BotProfile[59, skill] = 0.65;
|
||
|
|
$BotProfile[59, offense] = false;
|
||
|
|
$BotProfile[59, voicePitch] = 1.21;
|
||
|
|
$BotProfile[60, name] = "Perilous";
|
||
|
|
$BotProfile[60, skill] = 0.65;
|
||
|
|
$BotProfile[60, offense] = true;
|
||
|
|
$BotProfile[60, voicePitch] = 0.895;
|
||
|
|
$BotProfile[61, name] = "The Golden";
|
||
|
|
$BotProfile[61, skill] = 0.70;
|
||
|
|
$BotProfile[61, offense] = true;
|
||
|
|
$BotProfile[61, voicePitch] = 0.88;
|
||
|
|
$BotProfile[62, name] = "Vanguard";
|
||
|
|
$BotProfile[62, skill] = 0.70;
|
||
|
|
$BotProfile[62, offense] = false;
|
||
|
|
$BotProfile[62, voicePitch] = 1.1;
|
||
|
|
$BotProfile[63, name] = "Heretik";
|
||
|
|
$BotProfile[63, skill] = 0.70;
|
||
|
|
$BotProfile[63, offense] = true;
|
||
|
|
$BotProfile[63, voicePitch] = 0.945;
|
||
|
|
$BotProfile[64, name] = "Akhiles";
|
||
|
|
$BotProfile[64, skill] = 0.75;
|
||
|
|
$BotProfile[64, offense] = true;
|
||
|
|
$BotProfile[64, voicePitch] = 0.915;
|
||
|
|
$BotProfile[65, name] = "Nova-9";
|
||
|
|
$BotProfile[65, skill] = 0.75;
|
||
|
|
$BotProfile[65, offense] = false;
|
||
|
|
$BotProfile[65, voicePitch] = 1.12;
|
||
|
|
$BotProfile[66, name] = "Hotspur";
|
||
|
|
$BotProfile[66, skill] = 0.75;
|
||
|
|
$BotProfile[66, offense] = true;
|
||
|
|
$BotProfile[66, voicePitch] = 1.11;
|
||
|
|
$BotProfile[67, name] = "DustWitch";
|
||
|
|
$BotProfile[67, skill] = 0.80;
|
||
|
|
$BotProfile[67, offense] = true;
|
||
|
|
$BotProfile[67, voicePitch] = 0.875;
|
||
|
|
$BotProfile[68, name] = "Mojo Savage";
|
||
|
|
$BotProfile[68, skill] = 0.80;
|
||
|
|
$BotProfile[68, offense] = true;
|
||
|
|
$BotProfile[68, voicePitch] = 1.05;
|
||
|
|
$BotProfile[69, name] = "Velomancer";
|
||
|
|
$BotProfile[69, skill] = 0.80;
|
||
|
|
$BotProfile[69, offense] = false;
|
||
|
|
$BotProfile[69, voicePitch] = 1.085;
|
||
|
|
$BotProfile[70, name] = "Mohican";
|
||
|
|
$BotProfile[70, skill] = 0.85;
|
||
|
|
$BotProfile[70, offense] = true;
|
||
|
|
$BotProfile[70, voicePitch] = 1.045;
|
||
|
|
$BotProfile[71, name] = "Widowmaker";
|
||
|
|
$BotProfile[71, skill] = 0.85;
|
||
|
|
$BotProfile[71, offense] = true;
|
||
|
|
$BotProfile[71, voicePitch] = 1.04;
|
||
|
|
$BotProfile[72, name] = "Punch";
|
||
|
|
$BotProfile[72, skill] = 0.85;
|
||
|
|
$BotProfile[72, offense] = true;
|
||
|
|
$BotProfile[72, voicePitch] = 0.89;
|
||
|
|
$BotProfile[73, name] = "Mameluke";
|
||
|
|
$BotProfile[73, skill] = 0.90;
|
||
|
|
$BotProfile[73, offense] = false;
|
||
|
|
$BotProfile[73, voicePitch] = 0.882;
|
||
|
|
$BotProfile[74, name] = "King Snake";
|
||
|
|
$BotProfile[74, skill] = 0.90;
|
||
|
|
$BotProfile[74, offense] = true;
|
||
|
|
$BotProfile[74, voicePitch] = 1.05;
|
||
|
|
$BotProfile[75, name] = "Sorrow";
|
||
|
|
$BotProfile[75, skill] = 0.90;
|
||
|
|
$BotProfile[75, offense] = true;
|
||
|
|
$BotProfile[75, voicePitch] = 1.09;
|
||
|
|
$BotProfile[76, name] = "Devourer";
|
||
|
|
$BotProfile[76, skill] = 0.95;
|
||
|
|
$BotProfile[76, offense] = true;
|
||
|
|
$BotProfile[76, voicePitch] = 0.929;
|
||
|
|
$BotProfile[77, name] = "Fated to Glory";
|
||
|
|
$BotProfile[77, skill] = 0.95;
|
||
|
|
$BotProfile[77, offense] = true;
|
||
|
|
$BotProfile[77, voicePitch] = 0.915;
|
||
|
|
$BotProfile[78, name] = "Neon Blossom";
|
||
|
|
$BotProfile[78, skill] = 0.95;
|
||
|
|
$BotProfile[78, offense] = false;
|
||
|
|
$BotProfile[78, voicePitch] = 1.125;
|
||
|
|
$BotProfile[79, name] = "Shiver";
|
||
|
|
$BotProfile[79, skill] = 0.95;
|
||
|
|
$BotProfile[79, offense] = true;
|
||
|
|
$BotProfile[79, voicePitch] = 0.875;
|