Differences from DFULTBOT
- levels up when is killed (one level only)
- levels down when is killed multiple times (one level only)
- taunts
Decompiled botc code
#!botc 1.0.0
#include "botc_defs.bts"
var int $global0;
var int $global2;
var int $global3;
var int $global4;
var int $global5;
var int $globalArray1[];
event "Intermission" {
if (!IsSpectating()) {
changestate(14);
}
}
event "Spectating" {
changestate(15);
}
event "DuelStartingCountdown" {
if (!IsSpectating()) {
changestate(0);
}
}
event "DuelFight" {
if (!IsSpectating()) {
if ((LookForWeapons(0, true) != -1)) {
changestate(2);
} else {
changestate(1);
}
}
}
event "DuelWinSequence" {
if (!IsSpectating()) {
changestate(16);
}
}
event "LMSStartingCountdown" {
if (!IsSpectating()) {
changestate(0);
}
}
event "LMSFight" {
if (!IsSpectating()) {
if ((LookForWeapons(0, true) != -1)) {
changestate(2);
} else {
changestate(1);
}
}
}
event "LMSWinSequence" {
if (!IsSpectating()) {
if (!IsDead()) {
if (ChatSectionExistsInChatLump("WinStrings")) {
BeginChatting();
delay(Random(15, 45));
SayFromChatLump("WinStrings");
}
} else {
if (ChatSectionExistsInChatLump("LoseStrings")) {
BeginChatting();
delay(Random(15, 45));
SayFromChatLump("LoseStrings");
}
}
}
}
state "stateSpawn": // 0
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
$global2 = 100;
$global3 = 35 * 3;
$global4 = 0;
$global5 = 0;
delay(Random(0, 17));
if (ChatSectionExistsInChatLump("IntroStrings")) {
BeginChatting();
delay(Random(15, 35));
SayFromChatLump("IntroStrings");
}
$global0 = (35 * 5);
if ((LookForWeapons(0, true) != -1)) {
changestate(2);
} else {
changestate(1);
}
}
mainloop {
}
onexit {
StopChatting();
}
state "stateStandardRoam": // 1
var int $local1;
var int $local2;
var int $local3;
var int $local4;
var int $local5;
var int $local6;
var int $local7;
var int $local8;
var int $local9;
var int $local10;
var int $local11;
var int $local12;
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
event "DamagedByPlayer" {
if (!StringsAreEqual(GetCurrentWeapon(), "Pistol")) {
SetEnemy(GetPlayerDamagedBy());
changestate(9);
}
}
onenter {
$local1 = 0;
$local2 = 0;
$local3 = 0;
$local4 = 0;
$local5 = 0;
$local6 = 0;
$local8 = 0;
$local11 = 0;
$local12 = 0;
memset(1, 1, 32768);
$local7 = (2 * 35);
}
mainloop {
switch ($local8) {
case 6:
$local8 = 0;
break;
case 5:
if ((LookForSuperArmor($local6, true) != -1)) {
if ($globalArray1[$local6] != 0) {
$local6 = LookForSuperArmor($local6, true);
if ((GetPathingCostToItem($local6) >= 0)) {
changestate(7);
} else {
$globalArray1[$local6] = 0;
}
}
$local6++;
} else {
$local6 = 0;
$local8++;
}
break;
case 4:
if ((LookForSuperHealth($local5, true) != -1)) {
if ($globalArray1[$local5] != 0) {
$local5 = LookForSuperHealth($local5, true);
if ((GetPathingCostToItem($local5) >= 0)) {
changestate(6);
} else {
$globalArray1[$local5] = 0;
}
}
$local5++;
} else {
$local5 = 0;
$local8++;
}
break;
case 3:
if ((GetArmor() < GetBaseArmor())) {
if ((LookForBaseArmor($local4, true) != -1)) {
if ($globalArray1[$local4] != 0) {
$local4 = LookForBaseArmor($local4, true);
if ((GetPathingCostToItem($local4) >= 0)) {
changestate(5);
} else {
$globalArray1[$local4] = 0;
}
}
$local4++;
} else {
$local4 = 0;
$local8++;
}
} else {
$local8++;
}
break;
case 2:
if ((GetHealth() < GetBaseHealth())) {
if ((LookForBaseHealth($local3, true) != -1)) {
if ($globalArray1[$local3] != 0) {
$local3 = LookForBaseHealth($local3, true);
if ((GetPathingCostToItem($local3) >= 0)) {
changestate(4);
} else {
$globalArray1[$local3] = 0;
}
}
$local3++;
} else {
$local3 = 0;
$local8++;
}
} else {
$local8++;
}
break;
case 1:
if ((LookForPowerups($local2, true) != -1)) {
if ($globalArray1[$local2] != 0) {
$local2 = LookForPowerups($local2, true);
if ((GetPathingCostToItem($local2) >= 0)) {
changestate(3);
} else {
$globalArray1[$local2] = 0;
}
}
$local2++;
} else {
$local2 = 0;
$local8++;
}
break;
case 0:
if ((LookForWeapons($local1, true) != -1)) {
if ($globalArray1[$local1] != 0) {
$local1 = LookForWeapons($local1, true);
if (((IsWeaponOwned($local1) == 0) && (GetPathingCostToItem($local1) >= 0))) {
changestate(2);
} else {
$globalArray1[$local1] = 0;
}
}
$local1++;
} else {
$local1 = 0;
$local8++;
}
break;
}
if (!StringsAreEqual(GetCurrentWeapon(), "Pistol")) {
$local9 = GetClosestPlayerEnemy();
if (($local9 != -1)) {
SetEnemy($local9);
changestate(9);
}
}
// dropped 'Roam(100)';
if (($local7 > 0)) {
$local7--;
} else {
memset(1, 1, 32768);
$local7 = (2 * 35);
}
if (($global0 > 0)) {
$global0--;
} else {
if (($local11 == 0)) {
$local10 = GetChatFrequency();
if (($local10 > 0)) {
$local10 = ((100 - $local10) * 7);
if (($local10 < 35)) {
$local10 = 35;
}
if ((Random(0, $local10) == 0)) {
if (ChatSectionExistsInChatLump("RoamingStrings")) {
BeginChatting();
delay(Random(15, 45));
if ((Random(0, 100) == 0)) {
if (ChatSectionExistsInChatLump("RareRoamingStrings")) {
SayFromChatLump("RareRoamingStrings");
} else {
SayFromChatLump("RoamingStrings");
}
} else {
if ((GetSpread() < 0)) {
if ((Random(0, 3) == 0)) {
if (ChatSectionExistsInChatLump("LosingRoamingStrings")) {
SayFromChatLump("LosingRoamingStrings");
} else {
SayFromChatLump("RoamingStrings");
}
} else {
SayFromChatLump("RoamingStrings");
}
} else {
SayFromChatLump("RoamingStrings");
}
}
}
$global0 = (35 * 5);
}
}
}
}
if (($global5 > 0)) {
$global5--;
if (($global5 == 0)) {
SetSkillDecrease(false);
$global2 = 100;
$global3 = 35 * 3;
}
} else {
if (($global4 > 0)) {
$global4--;
if (($global4 == 0)) {
SetSkillIncrease(false);
$global2 = 100;
$global3 = 35 * 3;
}
} else {
if (($global3 > 0)) {
$global3--;
} else {
$global2++;
if (($global2 > 100)) {
$global2 = 100;
}
$global3 = 35 * 3;
}
}
}
if (($local11 > 0)) {
if (($local12 == 0)) {
Taunt();
$local12 = Random(4, 8);
} else {
$local12--;
}
$local11--;
} else {
if ((Random(0, (35 * 20)) == 0)) {
$local11 = Random(35 * 3, (35 * 5));
}
}
}
onexit {
StopChatting();
}
state "stateSortThroughWeapons": // 2
var int $local0;
var int $local1;
var int $local2;
var int $local3;
var bool $local4;
var int $local5;
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
$local0 = 0;
$local1 = -1;
if (!StringsAreEqual(GetCurrentWeapon(), "Pistol")) {
$local4 = true;
} else {
$local4 = true;
}
}
mainloop {
$local0 = LookForWeapons($local0, $local4);
if (($local0 == -1)) {
if (($local1 != -1)) {
SetGoal($local1);
changestate(8);
} else {
changestate(1);
}
}
if (IsWeaponOwned($local0)) {
$local0++;
} else {
$local2 = GetPathingCostToItem($local0);
if (($local2 < 0)) {
$local0++;
} else {
if (($local1 == -1)) {
$local1 = $local0;
$local3 = $local2;
$local0++;
} else {
$local5 = 0;
if (($local2 < $local3)) {
$local5++;
} else {
$local5--;
}
if (($local5 > 0)) {
$local1 = $local0;
$local3 = $local2;
}
$local0++;
}
}
}
}
state "stateSortThroughPowerups": // 3
var int $local0;
var int $local1;
var int $local2;
var int $local3;
var int $local4;
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
$local0 = 0;
$local1 = -1;
}
mainloop {
$local0 = LookForPowerups($local0, true);
if (($local0 == -1)) {
if (($local1 != -1)) {
SetGoal($local1);
changestate(8);
} else {
changestate(1);
}
}
$local2 = GetPathingCostToItem($local0);
if (($local2 < 0)) {
$local0++;
} else {
if (($local1 == -1)) {
$local1 = $local0;
$local3 = $local2;
$local0++;
} else {
$local4 = 0;
if (($local2 < $local3)) {
$local4++;
} else {
$local4--;
}
if (($local4 > 0)) {
$local1 = $local0;
$local3 = $local2;
}
$local0++;
}
}
}
state "stateSortThroughBaseHealth": // 4
var int $local0;
var int $local1;
var int $local2;
var int $local3;
var int $local4;
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
$local0 = 0;
$local1 = -1;
}
mainloop {
$local0 = LookForBaseHealth($local0, true);
if (($local0 == -1)) {
if (($local1 != -1)) {
SetGoal($local1);
changestate(8);
} else {
changestate(1);
}
}
$local2 = GetPathingCostToItem($local0);
if (($local2 < 0)) {
$local0++;
} else {
if (($local1 == -1)) {
$local1 = $local0;
$local3 = $local2;
$local0++;
} else {
$local4 = 0;
if (($local2 < $local3)) {
$local4++;
} else {
$local4--;
}
if (($local4 > 0)) {
$local1 = $local0;
$local3 = $local2;
}
$local0++;
}
}
}
state "stateSortThroughBaseArmor": // 5
var int $local0;
var int $local1;
var int $local2;
var int $local3;
var int $local4;
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
$local0 = 0;
$local1 = -1;
}
mainloop {
$local0 = LookForBaseArmor($local0, true);
if (($local0 == -1)) {
if (($local1 != -1)) {
SetGoal($local1);
changestate(8);
} else {
changestate(1);
}
}
$local2 = GetPathingCostToItem($local0);
if (($local2 < 0)) {
$local0++;
} else {
if (($local1 == -1)) {
$local1 = $local0;
$local3 = $local2;
$local0++;
} else {
$local4 = 0;
if (($local2 < $local3)) {
$local4++;
} else {
$local4--;
}
if (($local4 > 0)) {
$local1 = $local0;
$local3 = $local2;
}
$local0++;
}
}
}
state "stateSortThroughSuperHealth": // 6
var int $local0;
var int $local1;
var int $local2;
var int $local3;
var int $local4;
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
$local0 = 0;
$local1 = -1;
}
mainloop {
$local0 = LookForSuperHealth($local0, true);
if (($local0 == -1)) {
if (($local1 != -1)) {
SetGoal($local1);
changestate(8);
} else {
changestate(1);
}
}
$local2 = GetPathingCostToItem($local0);
if (($local2 < 0)) {
$local0++;
} else {
if (($local1 == -1)) {
$local1 = $local0;
$local3 = $local2;
$local0++;
} else {
$local4 = 0;
if (($local2 < $local3)) {
$local4++;
} else {
$local4--;
}
if (($local4 > 0)) {
$local1 = $local0;
$local3 = $local2;
}
$local0++;
}
}
}
state "stateSortThroughSuperArmor": // 7
var int $local0;
var int $local1;
var int $local2;
var int $local3;
var int $local4;
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
$local0 = 0;
$local1 = -1;
}
mainloop {
$local0 = LookForSuperArmor($local0, true);
if (($local0 == -1)) {
if (($local1 != -1)) {
SetGoal($local1);
changestate(8);
} else {
changestate(1);
}
}
$local2 = GetPathingCostToItem($local0);
if (($local2 < 0)) {
$local0++;
} else {
if (($local1 == -1)) {
$local1 = $local0;
$local3 = $local2;
$local0++;
} else {
$local4 = 0;
if (($local2 < $local3)) {
$local4++;
} else {
$local4--;
}
if (($local4 > 0)) {
$local1 = $local0;
$local3 = $local2;
}
$local0++;
}
}
}
state "statePathToGoal": // 8
var int $local0;
var int $local1;
var int $local2;
var int $local3;
var int $local4;
event "ReachedGoal" {
changestate(1);
}
event "GoalRemoved" {
changestate(1);
}
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
event "DamagedByPlayer" {
if (!StringsAreEqual(GetCurrentWeapon(), "Pistol")) {
SetEnemy(GetPlayerDamagedBy());
changestate(9);
}
}
onenter {
$local0 = 0;
$local1 = 0;
}
mainloop {
$local4 = PathToGoal(100);
switch ($local4) {
case -1:
changestate(1);
break;
}
if (!StringsAreEqual(GetCurrentWeapon(), "Pistol")) {
$local2 = LookForPlayerEnemies(0);
if (($local2 != -1)) {
SetEnemy($local2);
changestate(9);
}
}
if (($global0 > 0)) {
$global0--;
} else {
if (($local0 == 0)) {
$local3 = GetChatFrequency();
if (($local3 > 0)) {
$local3 = ((100 - $local3) * 7);
if (($local3 < 35)) {
$local3 = 35;
}
if ((Random(0, $local3) == 0)) {
if (ChatSectionExistsInChatLump("RoamingStrings")) {
BeginChatting();
delay(Random(15, 45));
if ((Random(0, 100) == 0)) {
if (ChatSectionExistsInChatLump("RareRoamingStrings")) {
SayFromChatLump("RareRoamingStrings");
} else {
SayFromChatLump("RoamingStrings");
}
} else {
if ((GetSpread() < 0)) {
if ((Random(0, 3) == 0)) {
if (ChatSectionExistsInChatLump("LosingRoamingStrings")) {
SayFromChatLump("LosingRoamingStrings");
} else {
SayFromChatLump("RoamingStrings");
}
} else {
SayFromChatLump("RoamingStrings");
}
} else {
SayFromChatLump("RoamingStrings");
}
}
}
$global0 = (35 * 5);
}
}
}
}
if (($global5 > 0)) {
$global5--;
if (($global5 == 0)) {
SetSkillDecrease(false);
$global2 = 100;
$global3 = 35 * 3;
}
} else {
if (($global4 > 0)) {
$global4--;
if (($global4 == 0)) {
SetSkillIncrease(false);
$global2 = 100;
$global3 = 35 * 3;
}
} else {
if (($global3 > 0)) {
$global3--;
} else {
$global2++;
if (($global2 > 100)) {
$global2 = 100;
}
$global3 = 35 * 3;
}
}
}
if (($local0 > 0)) {
if (($local1 == 0)) {
Taunt();
$local1 = Random(4, 8);
} else {
$local1--;
}
$local0--;
} else {
if ((Random(0, (35 * 20)) == 0)) {
$local0 = Random(35 * 3, (35 * 5));
}
}
}
onexit {
StopChatting();
}
state "stateEngageEnemy": // 9
var int $local0;
var bool $local1;
var int $local2;
var int $local3;
var int $local4;
var int $local5;
var int $local6;
var int $local7;
var int $local8;
event "EnemyKilled" {
changestate(13);
}
event "EnemyFiredShotgun" {
$local4 = (37 - 17);
}
event "EnemyFiredSSG" {
$local4 = (57 - 17);
}
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
BeginFiringWeapon();
BeginAimingAtEnemy();
$local3 = 0;
$local1 = Random(0, 1) != 0;
$local2 = Random(1, 62);
if ($local1) {
MoveLeft(100);
} else {
MoveRight(100);
}
$local4 = 0;
$local5 = 0;
}
mainloop {
if (!IsEnemyVisible()) {
$local8 = GetClosestPlayerEnemy();
if (($local8 == -1)) {
changestate(10);
} else {
SetEnemy($local8);
changestate(9);
}
}
if (!IsEnemyAlive()) {
ClearEnemy();
changestate(1);
}
if ($local4 != 0) {
$local4--;
if (($local4 == 0)) {
$local5 = Random(12, 35);
$local6 = Random(0, 8);
StopMovement();
switch ($local6) {
case 7:
MoveForward(100);
MoveLeft(100);
break;
case 6:
MoveLeft(100);
break;
case 5:
MoveBackwards(100);
MoveLeft(100);
break;
case 4:
MoveBackwards(100);
break;
case 3:
MoveBackwards(100);
MoveRight(100);
break;
case 2:
MoveRight(100);
break;
case 1:
MoveForward(100);
MoveRight(100);
break;
case 0:
MoveForward(100);
break;
}
}
}
if (($local5 == 0)) {
$local0 = GetDistanceToEnemy();
if (StringsAreEqual(GetCurrentWeapon(), "Chaingun")) {
if (($local0 < 256)) {
MoveBackwards(100);
} else {
StopForwardMovement();
}
} else {
if (($local0 > 384)) {
MoveForward(100);
} else {
if (($local0 < 128)) {
MoveBackwards(100);
} else {
$local7 = Random(0, 1);
if (($local7 == 0)) {
MoveForward(100);
} else {
MoveBackwards(100);
}
}
}
}
$local2--;
if (($local2 == 0)) {
$local1 = (!$local1);
if ($local1) {
MoveLeft(100);
} else {
MoveRight(100);
}
$local2 = Random(1, 62);
}
} else {
$local5--;
}
if (StringsAreEqual(GetCurrentWeapon(), "Chaingun")) {
StopFiringWeapon();
if ($local3 != 0) {
$local3--;
}
if (($local3 == 0)) {
FireWeapon();
$local3 = 9;
}
} else {
BeginFiringWeapon();
}
if (($global5 > 0)) {
$global5--;
if (($global5 == 0)) {
SetSkillDecrease(false);
$global2 = 100;
$global3 = 35 * 3;
}
} else {
if (($global4 > 0)) {
$global4--;
if (($global4 == 0)) {
SetSkillIncrease(false);
$global2 = 100;
$global3 = 35 * 3;
}
} else {
if (($global3 > 0)) {
$global3--;
} else {
$global2++;
if (($global2 > 100)) {
$global2 = 100;
}
$global3 = 35 * 3;
}
}
}
}
onexit {
StopMovement();
StopFiringWeapon();
StopAimingAtEnemy();
}
state "stateChaseEnemy": // 10
var int $local0;
var int $local1;
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
event "DamagedByPlayer" {
if (!StringsAreEqual(GetCurrentWeapon(), "Pistol")) {
SetEnemy(GetPlayerDamagedBy());
changestate(9);
}
}
mainloop {
$local0 = GetClosestPlayerEnemy();
if (($local0 != -1)) {
SetEnemy($local0);
changestate(9);
}
$local1 = PathToLastKnownEnemyPosition(100);
switch ($local1) {
case 2:
ClearEnemy();
changestate(1);
break;
case -1:
ClearEnemy();
changestate(1);
break;
}
if (($global5 > 0)) {
$global5--;
if (($global5 == 0)) {
SetSkillDecrease(false);
$global2 = 100;
$global3 = 35 * 3;
}
} else {
if (($global4 > 0)) {
$global4--;
if (($global4 == 0)) {
SetSkillIncrease(false);
$global2 = 100;
$global3 = 35 * 3;
}
} else {
if (($global3 > 0)) {
$global3--;
} else {
$global2++;
if (($global2 > 100)) {
$global2 = 100;
}
$global3 = 35 * 3;
}
}
}
}
state "stateKilled": // 11
var int $local0;
var int $local1;
event "Respawned" {
changestate(12);
}
event "ReceivedMedal" {
$local1 = GetReceivedMedal();
switch ($local1) {
case 12:
case 11:
$global2 -= 25;
break;
}
}
onenter {
delay(Random(5, 15));
$global2 -= 15;
if ((!IsSkillDecreased() && ($global2 < 0))) {
if (IsSkillIncreased()) {
SetSkillDecrease(true);
SetSkillIncrease(false);
if (ChatSectionExistsInChatLump("DemoralizedStrings")) {
BeginChatting();
delay(Random(15, 45));
SayFromChatLump("DemoralizedStrings");
}
$global0 = (35 * 5);
$global5 = (35 * 60);
$global4 = 0;
} else {
SetSkillIncrease(true);
SetSkillDecrease(false);
if (ChatSectionExistsInChatLump("EnragedStrings")) {
BeginChatting();
delay(Random(15, 45));
SayFromChatLump("EnragedStrings");
}
$global0 = (35 * 5);
$global4 = (35 * 60);
$global5 = 0;
$global2 = 75;
}
} else {
$local0 = GetChatFrequency();
if ((($local0 > 0) && ($global0 == 0))) {
$local0 = ((100 - $local0) / 5);
if (($local0 < 2)) {
$local0 = 2;
}
if ((Random(0, $local0) == 0)) {
if (ChatSectionExistsInChatLump("KilledStrings")) {
BeginChatting();
delay(Random(15, 45));
SayFromChatLump("KilledStrings");
}
$global0 = (35 * 5);
}
}
}
}
mainloop {
Respawn();
}
onexit {
StopChatting();
}
state "stateRespawn": // 12
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
if ((LookForWeapons(0, false) != -1)) {
changestate(2);
} else {
changestate(1);
}
}
mainloop {
}
state "stateKilledEnemy": // 13
var int $local0;
var int $local1;
var int $local2;
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
event "ReceivedMedal" {
$local2 = GetReceivedMedal();
switch ($local2) {
case 7:
case 6:
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
$global2 += 15;
break;
}
}
onenter {
$global2 += 10;
if (($global2 > 100)) {
$global2 = 100;
}
$local0 = GetClosestPlayerEnemy();
if (($local0 != -1)) {
SetEnemy($local0);
changestate(9);
}
$local1 = GetChatFrequency();
if ((($local1 > 0) && ($global0 == 0))) {
$local1 = ((100 - $local1) / 6);
if (($local1 < 2)) {
$local1 = 2;
}
if ((Random(0, $local1) == 0)) {
if (ChatSectionExistsInChatLump("FragStrings")) {
BeginChatting();
delay(Random(15, 45));
SayFromChatLump("FragStrings");
}
$global0 = (35 * 5);
} else {
if ((Random(0, 4) == 0)) {
Taunt();
}
}
}
ClearEnemy();
changestate(1);
}
mainloop {
}
onexit {
StopChatting();
}
state "stateIntermission": // 14
event "NewMap" {
changestate(1);
}
event "KilledByEnemy" {
changestate(11);
}
event "KilledByPlayer" {
changestate(11);
}
event "KilledBySelf" {
changestate(11);
}
event "KilledByEnvironment" {
changestate(11);
}
onenter {
delay(Random(35, 70));
if ((GetSpread() >= 0)) {
if (ChatSectionExistsInChatLump("WinStrings")) {
SayFromChatLump("WinStrings");
}
} else {
if (ChatSectionExistsInChatLump("LoseStrings")) {
SayFromChatLump("LoseStrings");
}
}
}
mainloop {
}
state "stateSpectating": // 15
event "JoinedGame" {
changestate(0);
}
onenter {
TryToJoinGame();
}
mainloop {
}
state "stateDuelWinSequence": // 16
onenter {
if ((GetSpread() > 0)) {
if (ChatSectionExistsInChatLump("WinStrings")) {
BeginChatting();
delay(Random(15, 45));
SayFromChatLump("WinStrings");
}
} else {
if (ChatSectionExistsInChatLump("LoseStrings")) {
BeginChatting();
delay(Random(15, 45));
SayFromChatLump("LoseStrings");
}
}
}
mainloop {
}