mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-01-19 19:44:47 +00:00
Fixed up the killstreaks
This commit is contained in:
parent
6541acbd7c
commit
e80004bbd8
|
|
@ -275,89 +275,89 @@ function parseSuperAdminCommands(%sender, %command, %args) {
|
|||
}
|
||||
%cAmt = 0;
|
||||
|
||||
%sw = getWord(%args,1);
|
||||
%sw = strlwr(getWord(%args,1));
|
||||
switch$(%sw) {
|
||||
case "UAV":
|
||||
case "uav":
|
||||
%target.AwardKillstreak(1, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a UAV Recon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a UAV Beacon.");
|
||||
case "Airstrike":
|
||||
case "airstrike":
|
||||
%target.AwardKillstreak(2, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" an airstrike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you an airstrike.");
|
||||
case "UAMS":
|
||||
case "uams":
|
||||
%target.AwardKillstreak(3, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a UAMS beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a UAMS Strike.");
|
||||
case "UnlimUAMS":
|
||||
case "unlimuams":
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a fully loaded UAMS.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a fully loaded UAMS.");
|
||||
CreateMissileSat(%target, 1);
|
||||
case "Helicopter":
|
||||
case "helicopter":
|
||||
%target.AwardKillstreak(4, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Helicopter beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Helicopter beacon.");
|
||||
case "HeliGunner":
|
||||
case "heligunner":
|
||||
MakeTheHeli(%target, 1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You made "@%target.namebase@" a chopper gunner.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" has granted you Helicopter Gunner Access.");
|
||||
case "Harbingers":
|
||||
case "harbingers":
|
||||
%target.AwardKillstreak(9, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Harbinger's Wrath beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Harbinger's Wrath beacon.");
|
||||
case "UnlimHarbin":
|
||||
case "unlimharbin":
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" gunship support.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you gunship support.");
|
||||
startHarbingersWrath(%target, 1, 1);
|
||||
case "UnlimAC130":
|
||||
case "unlimac130":
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" AC-130 gunship support.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you AC-130 gunship support.");
|
||||
startAC130(%target, 1, 1);
|
||||
case "GunHeli":
|
||||
case "gunheli":
|
||||
%target.AwardKillstreak(7, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Gunship Helicopter beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Gunship Helicopter beacon.");
|
||||
case "Apache":
|
||||
case "apache":
|
||||
%target.AwardKillstreak(10, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" an Apache Gunner beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you an Apache Gunner beacon.");
|
||||
case "Artillery":
|
||||
case "artillery":
|
||||
%target.AwardKillstreak(12, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Centaur Artillery beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Centaur Artillery beacon.");
|
||||
case "Nuke":
|
||||
case "nuke":
|
||||
%target.AwardKillstreak(14, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Nuclear Strike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Nuclear Strike beacon.");
|
||||
case "ZBomb":
|
||||
case "zbomb":
|
||||
%target.AwardKillstreak(15, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Zombie-Bomb beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Zombie-Bomb beacon.");
|
||||
case "Harrier":
|
||||
case "harrier":
|
||||
%target.AwardKillstreak(5, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Harrier Airstrike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Harrier Airstrike beacon.");
|
||||
case "Stealth":
|
||||
case "stealth":
|
||||
%target.AwardKillstreak(8, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Stealth Airstrike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Stealth Airstrike beacon.");
|
||||
case "AC130":
|
||||
case "ac130":
|
||||
%target.AwardKillstreak(11, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" an AC-130 beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you an AC-130 beacon.");
|
||||
case "SatNuke":
|
||||
case "satnuke":
|
||||
%target.AwardKillstreak(6, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Orbital Laser Strike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Orbital Laser Strike beacon.");
|
||||
case "Fission":
|
||||
case "fission":
|
||||
%target.AwardKillstreak(16, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Fission Bomb :D.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Fission Bomb :D.");
|
||||
case "EMP":
|
||||
case "emp":
|
||||
%target.AwardKillstreak(13, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Mass EMP Beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Mass EMP Beacon.");
|
||||
case "Napalm":
|
||||
case "napalm":
|
||||
%target.AwardKillstreak(17, -1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Napalm Airstrike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Napalm Airstrike beacon.");
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(%client.ksListInstance.find("Airstrike") == -1 && !%client.UnlimitedAS) {
|
||||
if(%client.streakCount[2] <= 0 && !%client.UnlimitedAS) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -79,18 +79,19 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
if(!%client.UnlimitedAS) {
|
||||
%newCt = getField(%client.ksListInstance.find("Airstrike"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Airstrike"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Airstrike"), 1), "Airstrike" SPC %newCt);
|
||||
}
|
||||
%client.streakCount[2]--;
|
||||
GainExperience(%client, 35, "Airstrike called in ");
|
||||
}
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Airstrike", 5, 2);
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: Airstrike Called In From "@%client.namebase@"");
|
||||
Airstrike(%client, %position, %direction);
|
||||
//Post-Fire Checks
|
||||
if(getWordCount(%client.streakList()) == 0 && !%client.UnlimitedAS) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
|
|
@ -101,7 +102,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(%client.ksListInstance.find("Harrier") == -1) {
|
||||
if(%client.streakCount[5] <= 0) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -123,17 +124,18 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%newCt = getField(%client.ksListInstance.find("Harrier"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Harrier"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Harrier"), 1), "Harrier" SPC %newCt);
|
||||
}
|
||||
%client.streakCount[5]--;
|
||||
GainExperience(%client, 150, "Harrier Airstrike called in ");
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: "@%client.namebase@"'s Harrier Airstrike is Approaching.");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Harriers", 5, 2);
|
||||
HarrierAirstrike(%client, %position, %direction);
|
||||
//Post-Fire Checks
|
||||
if(getWordCount(%client.streakList()) == 0) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
|
|
@ -144,7 +146,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(%client.ksListInstance.find("Napalm") == -1) {
|
||||
if(%client.streakCount[17] <= 0) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -166,17 +168,18 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%newCt = getField(%client.ksListInstance.find("Napalm"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Napalm"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Napalm"), 1), "Napalm" SPC %newCt);
|
||||
}
|
||||
%client.streakCount[17]--;
|
||||
GainExperience(%client, 350, "Napalm Airstrike called in ");
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: "@%client.namebase@"'s Napalm Airstrike is coming in hot.");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Strike Fighters", 5, 2);
|
||||
NapalmHarrierAirstrike(%client, %position, %direction);
|
||||
//Post-Fire Checks
|
||||
if(getWordCount(%client.streakList()) == 0) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
|
|
@ -187,7 +190,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(%client.ksListInstance.find("OLS") == -1) {
|
||||
if(%client.streakCount[6] <= 0) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -201,17 +204,18 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%newCt = getField(%client.ksListInstance.find("OLS"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("OLS"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("OLS"), 1), "OLS" SPC %newCt);
|
||||
}
|
||||
%client.streakCount[6]--;
|
||||
GainExperience(%client, 350, "Orbital Laser Strike Called In ");
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: "@%client.namebase@"'s Laser Strike is Incoming.");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Spinning Laser Cannon", 5, 2);
|
||||
OrbitalLaserStrike(%client, %position);
|
||||
//Post-Fire Checks
|
||||
if(getWordCount(%client.streakList()) == 0) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
|
|
@ -222,7 +226,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(%client.ksListInstance.find("Stealth") == -1) {
|
||||
if(%client.streakCount[8] <= 0) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -244,16 +248,17 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%newCt = getField(%client.ksListInstance.find("Stealth"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Stealth"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Stealth"), 1), "Stealth" SPC %newCt);
|
||||
}
|
||||
%client.streakCount[8]--;
|
||||
GainExperience(%client, 150, "Stealth Bomber Airstrike called in ");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Stealth Bomber", 5, 2);
|
||||
StealthAirstrike(%client, %position, %direction);
|
||||
//Post-Fire Checks
|
||||
if(getWordCount(%client.streakList()) == 0) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
|
|
@ -264,7 +269,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(%client.ksListInstance.find("Artillery") == -1) {
|
||||
if(%client.streakCount[12] <= 0) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -278,17 +283,18 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%newCt = getField(%client.ksListInstance.find("Artillery"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Artillery"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Artillery"), 1), "Artillery" SPC %newCt);
|
||||
}
|
||||
%client.streakCount[12]--;
|
||||
GainExperience(%client, 250, "Artillery called in ");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Artillery", 5, 2);
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: Artillery Called In From "@%client.namebase@"");
|
||||
Artillery(%client, %position);
|
||||
//Post-Fire Checks
|
||||
if(getWordCount(%client.streakList()) == 0) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
|
|
@ -299,7 +305,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(%client.ksListInstance.find("NukeStrike") == -1) {
|
||||
if(%client.streakCount[14] <= 0) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -313,17 +319,18 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%newCt = getField(%client.ksListInstance.find("NukeStrike"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("NukeStrike"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("NukeStrike"), 1), "NukeStrike" SPC %newCt);
|
||||
}
|
||||
%client.streakCount[14]--;
|
||||
GainExperience(%client, 500, "Nuclear Missile called in ");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Launching Missile", 5, 2);
|
||||
messageAll('msgDanger', "\c5TWM2 ALERT: "@%client.namebase@" has activated a nuclear missile!!! ~wfx/misc/red_alert.wav");
|
||||
Nuke(%client, %position);
|
||||
//Post-Fire Checks
|
||||
if(getWordCount(%client.streakList()) == 0) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
|
|
|
|||
|
|
@ -155,3 +155,6 @@ Error("********************************************");
|
|||
Error("************* EXECUTE COMPLETE *************");
|
||||
Error("********************************************");
|
||||
Error("********************************************");
|
||||
|
||||
//POST LOAD TASKS.....
|
||||
//OrderStreaks();
|
||||
|
|
|
|||
|
|
@ -18,6 +18,31 @@ $Killstreak[15] = "Z-Bomb\t-1\t"@$Killstreak::Kills["ZBomb", 1]@"\tWipe out all
|
|||
$Killstreak[16] = "Fission Bomb\t"@$Killstreak::Kills["Fission", 0]@"\t-1\t(Matches) End the game with an explosive bang.";
|
||||
$Killstreak[17] = "Napalm Airstrike\t"@$Killstreak::Kills["Napalm", 0]@"\t"@$Killstreak::Kills["Napalm", 1]@"\tQuick destructive airstrike with remaining fire.";
|
||||
|
||||
//Phantom: V3.9: Order the streaks based on killcounts...
|
||||
function OrderStreaks() {
|
||||
echo("Ordering Killstreak List...");
|
||||
for(%i = 1; %i <= $KillstreakCount; %i++) {
|
||||
%cur = getField($Killstreak[%i], 1);
|
||||
|
||||
%temp = $Killstreak[%i];
|
||||
$OrderedKillstreak[%i] = $Killstreak[%i];
|
||||
|
||||
for(%x = 1; %x <= %i; %x++) {
|
||||
%mine = getField($Killstreak[%x], 1);
|
||||
//This streak has a lower count, sift it down
|
||||
if(%mine < %cur) {
|
||||
$OrderedKillstreak[%i] = $Killstreak[%x];
|
||||
$OrderedKillstreak_CONVINDX[%i] = %x;
|
||||
$OrderedKillstreak[%x] = %temp;
|
||||
$OrderedKillstreak_CONVINDX[%x] = %i;
|
||||
}
|
||||
}
|
||||
}
|
||||
echo("Complete...");
|
||||
for(%r = 1; %r <= $KillstreakCount; %r++) {
|
||||
echo(""@%r@": "@$OrderedKillstreak[%r]@" => "@$OrderedKillstreak_CONVINDX[%r]);
|
||||
}
|
||||
}
|
||||
|
||||
function GetStreakDescrip(%val) {
|
||||
%desc = getField($Killstreak[%val], 3);
|
||||
|
|
@ -301,7 +326,7 @@ function GiveTWM2Weapons(%client) {
|
|||
if(%client.HasFullTeamRespawn) {
|
||||
%client.player.setInventory(FullTeamRespawnCaller, 1, true);
|
||||
}
|
||||
if(%client.ksListInstance.count() > 0) {
|
||||
if(getWordCount(%client.streakList()) > 0) {
|
||||
%client.player.setInventory(KillstreakBeacon, 1, true);
|
||||
}
|
||||
if(!%client.isconfiscated) {
|
||||
|
|
@ -311,6 +336,21 @@ function GiveTWM2Weapons(%client) {
|
|||
}
|
||||
}
|
||||
|
||||
function GameConnection::streakList(%client) {
|
||||
%total = "";
|
||||
for(%i = 1; %i <= $KillstreakCount; %i++) {
|
||||
if(%client.streakCount[%i] > 0) {
|
||||
if(%total $= "") {
|
||||
%total = %i;
|
||||
}
|
||||
else {
|
||||
%total = %total @ " " @ %i;
|
||||
}
|
||||
}
|
||||
}
|
||||
return %total;
|
||||
}
|
||||
|
||||
function GameConnection::AwardKillstreak(%client, %streakVal, %plz) {
|
||||
if(%plz $= "") {
|
||||
%plz = 1;
|
||||
|
|
@ -319,117 +359,46 @@ function GameConnection::AwardKillstreak(%client, %streakVal, %plz) {
|
|||
if($Killstreak::Setting == 4) {
|
||||
return;
|
||||
}
|
||||
if(!%client.isActiveStreak(%streakVal) && ($Killstreak::Setting != 2) && !$TWM::PlayingHelljump) {
|
||||
if(%plz != -1 && (!%client.isActiveStreak(%streakVal) && ($Killstreak::Setting != 2) && !$TWM::PlayingHelljump)) {
|
||||
return;
|
||||
}
|
||||
if(!isSet(%client.ksListInstance)) {
|
||||
%client.ksListInstance = initList();
|
||||
}
|
||||
%cAmt = 0;
|
||||
switch(%streakVal) {
|
||||
case 1:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: UAV Recon at Your Disposal.");
|
||||
if(%client.ksListInstance.find("UAV") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("UAV"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("UAV", "UAV "@%cAmt+1);
|
||||
case 2:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Airstrike Standing By.");
|
||||
if(%client.ksListInstance.find("Airstrike") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Airstrike"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("Airstrike", "Airstrike "@%cAmt+1);
|
||||
case 3:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Guided Missile Strike Standing By.");
|
||||
if(%client.ksListInstance.find("GM") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("GM"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("GM", "GM "@%cAmt+1);
|
||||
case 4:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Helicopter at your disposal.");
|
||||
if(%client.ksListInstance.find("AIHeli") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("AIHeli"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("AIHeli", "AIHeli "@%cAmt+1);
|
||||
case 5:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Plasma Harrier Strike at your disposal.");
|
||||
if(%client.ksListInstance.find("Harrier") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Harrier"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("Harrier", "Harrier "@%cAmt+1);
|
||||
case 6:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Satellite Strike at your disposal.");
|
||||
if(%client.ksListInstance.find("OLS") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("OLS"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("OLS", "OLS "@%cAmt+1);
|
||||
case 7:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Gunship Helicopter at your disposal.");
|
||||
if(%client.ksListInstance.find("AIGunHeli") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("AIGunHeli"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("AIGunHeli", "AIGunHeli "@%cAmt+1);
|
||||
case 8:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Stealth Bomber at your disposal.");
|
||||
if(%client.ksListInstance.find("Stealth") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Stealth"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("Stealth", "Stealth "@%cAmt+1);
|
||||
case 9:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Harbinger's Wrath Standing By.");
|
||||
if(%client.ksListInstance.find("HarbWrath") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("HarbWrath"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("HarbWrath", "HarbWrath "@%cAmt+1);
|
||||
case 10:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Apache Gunner Standing By.");
|
||||
if(%client.ksListInstance.find("Apache") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Apache"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("Apache", "Apache "@%cAmt+1);
|
||||
case 11:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: AC-130 Gunner Standing By.");
|
||||
if(%client.ksListInstance.find("AC130") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("AC130"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("AC130", "AC130 "@%cAmt+1);
|
||||
case 12:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Centaur Bombardment Standing By.");
|
||||
if(%client.ksListInstance.find("Artillery") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Artillery"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("Artillery", "Artillery "@%cAmt+1);
|
||||
case 13:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Mass EMP Standing By.");
|
||||
if(%client.ksListInstance.find("EMP") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("EMP"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("EMP", "EMP "@%cAmt+1);
|
||||
case 14:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Nuclear Strike Standing By.");
|
||||
if(%client.ksListInstance.find("NukeStrike") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("NukeStrike"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("NukeStrike", "NukeStrike "@%cAmt+1);
|
||||
case 15:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Zombie Bomb Standing By.");
|
||||
if(%client.ksListInstance.find("ZBomb") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("ZBomb"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("ZBomb", "ZBomb "@%cAmt+1);
|
||||
case 16:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Fission Bomb Ready... Obliterate everyone!!!");
|
||||
if(%client.ksListInstance.find("FBomb") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("FBomb"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("FBomb", "FBomb "@%cAmt+1);
|
||||
case 17:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Napalm Airstrike at your disposal.");
|
||||
if(%client.ksListInstance.find("Napalm") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Napalm"), 0), 1);
|
||||
}
|
||||
%client.ksListInstance.advancedAdd("Napalm", "Napalm "@%cAmt+1);
|
||||
}
|
||||
%client.streakCount[%streakVal]++;
|
||||
if(%plz == 0) {
|
||||
if(%client.IsHighestPLStreak(%streakVal)) {
|
||||
%client.player.killsinarow = 0; //reset for moar killstreaks!
|
||||
|
|
|
|||
|
|
@ -12,10 +12,13 @@ function initList() {
|
|||
}
|
||||
|
||||
function ListInstance::advancedAdd(%this, %elementTxt, %newValue) {
|
||||
echo("AdvancedAdd("@%this@", "@%elementTxt@", "@%newValue@")");
|
||||
if(%this.find(%elementTxt) == -1) {
|
||||
echo("AdvancedAdd: Add New");
|
||||
%this.addElement(%newValue);
|
||||
}
|
||||
else {
|
||||
echo("AdvancedAdd: Replace Old");
|
||||
%indx = getField(%this.find(%elementTxt), 1);
|
||||
%this.set(%indx, %newValue);
|
||||
}
|
||||
|
|
@ -26,6 +29,7 @@ function ListInstance::set(%this, %index, %new) {
|
|||
}
|
||||
|
||||
function ListInstance::addElement(%this, %element) {
|
||||
echo("Add "@%element@" => "@%this.numberOfElements);
|
||||
%this.element[%this.numberOfElements] = %element;
|
||||
%this.numberOfElements++;
|
||||
}
|
||||
|
|
@ -35,7 +39,8 @@ function ListInstance::removeElement(%this, %index) {
|
|||
error("ListInstance::removeElements("@%index@"): Specified index is out of list bounds.");
|
||||
return;
|
||||
}
|
||||
%this.element[%this.numberOfElements] = "";
|
||||
echo(%this@".removeElement("@%index@"): Strip "@%this.element[%index]);
|
||||
%this.element[%index] = "";
|
||||
%this.compactList();
|
||||
}
|
||||
|
||||
|
|
@ -57,12 +62,19 @@ function ListInstance::find(%this, %key) {
|
|||
}
|
||||
|
||||
function ListInstance::compactList(%this) {
|
||||
echo("Compact "@%this@", "@%this.count());
|
||||
for(%i = %this.count(); %i >= 0; %i--) {
|
||||
echo("Test "@%i@": "@%this.element[%i]);
|
||||
if(%this.element[%i] $= "") {
|
||||
echo("Remove Element "@%i);
|
||||
//Strip item, move others forward
|
||||
for(%x = %i; %x < %this.count(); %x++) {
|
||||
echo(%x@" Is Now: "@%this.element[%x+1]);
|
||||
%this.element[%x] = %this.element[%x+1];
|
||||
}
|
||||
//Remove the last item....
|
||||
%this.element[%this.numberOfElements] = "";
|
||||
echo("Subduct "@%this.numberOfElements);
|
||||
%this.numberOfElements--;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,10 +73,7 @@ datablock ShapeBaseImageData(KillstreakBeaconImage) {
|
|||
};
|
||||
|
||||
function KillstreakBeaconImage::onMount(%this, %obj, %slot) {
|
||||
if(!isSet(%obj.client.ksListInstance)) {
|
||||
%obj.client.ksListInstance = initList();
|
||||
}
|
||||
if(%obj.client.ksListInstance.count() <= 0) {
|
||||
if(getWordCount(%obj.client.streakList()) == 0) {
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
|
|
@ -103,74 +100,41 @@ function KillstreakBeaconImage::changeMode(%this, %obj, %key) {
|
|||
case 1:
|
||||
//Mine Modes
|
||||
%obj.KSSetMode++;
|
||||
if(%obj.KSSetMode >= %obj.client.ksListInstance.count()) {
|
||||
if(%obj.KSSetMode >= getWordCount(%obj.client.streakList())) {
|
||||
%obj.KSSetMode = 0;
|
||||
}
|
||||
case 2:
|
||||
//Grenade Modes
|
||||
%obj.KSSetMode--;
|
||||
if(%obj.KSSetMode < 0) {
|
||||
%obj.KSSetMode = %obj.client.ksListInstance.count() - 1;
|
||||
%obj.KSSetMode = getWordCount(%obj.client.streakList());
|
||||
}
|
||||
}
|
||||
DisplayKillstreakInfo(%obj);
|
||||
}
|
||||
|
||||
function DisplayKillstreakInfo(%obj) {
|
||||
%currentStreak = %obj.client.ksListInstance.element(%obj.KSSetMode);
|
||||
%strkName = getWord(%currentStreak, 0);
|
||||
%strkCnt = getWord(%currentStreak, 1);
|
||||
%streakList = %obj.client.streakList();
|
||||
%currentStreak = getWord(%streakList, %obj.KSSetMode);
|
||||
%strkName = getField($Killstreak[%currentStreak], 0);
|
||||
%strkCnt = %obj.client.streakCount[%currentStreak];
|
||||
|
||||
switch$(%strkName) {
|
||||
case "UAV":
|
||||
%msg = "UAV Recon";
|
||||
case "Airstrike":
|
||||
%msg = "Thundersword Airstrike";
|
||||
case "GM":
|
||||
%msg = "UAMS Assault Drone";
|
||||
case "AIHeli":
|
||||
%msg = "Support Helicopter";
|
||||
case "Harrier":
|
||||
%msg = "Plasma Harrier Airstrike";
|
||||
case "OLS":
|
||||
%msg = "Orbital Laser Strike";
|
||||
case "AIGunHeli":
|
||||
%msg = "Gunship Helicopter Support";
|
||||
case "Stealth":
|
||||
%msg = "Stealth Bomber Airstrike";
|
||||
case "HarbWrath":
|
||||
%msg = "Harbinger's Wrath";
|
||||
case "Apache":
|
||||
%msg = "Apache Gunner";
|
||||
case "AC130":
|
||||
%msg = "AC-130 Gunner";
|
||||
case "Artillery":
|
||||
%msg = "Centaur Artillery Bombardment";
|
||||
case "EMP":
|
||||
%msg = "EMP Strike";
|
||||
case "NukeStrike":
|
||||
%msg = "Tactical Nuke Strike";
|
||||
case "ZBomb":
|
||||
%msg = "Anti-Zombie Bomb";
|
||||
case "FBomb":
|
||||
%msg = "Fission Bomb Strike";
|
||||
case "Napalm":
|
||||
%msg = "Napalm Airstrike";
|
||||
}
|
||||
|
||||
commandToClient(%obj.client, 'BottomPrint', "<font:Sui Generis:14>>>>Killstreak Beacon<<<\n<font:Arial:14>"@%msg@" ["@%strkCnt@" Available]\n<font:Arial:12>Press Mine to select next streak, Grenade to select previous streak.", 3, 3);
|
||||
commandToClient(%obj.client, 'BottomPrint', "<font:Sui Generis:14>>>>Killstreak Beacon<<<\n<font:Arial:14>"@%strkName@" ["@%strkCnt@" Available]\n<font:Arial:12>Press Mine to select next streak, Grenade to select previous streak.", 3, 3);
|
||||
}
|
||||
|
||||
function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
||||
%currentStreak = %obj.client.ksListInstance.element(%obj.KSSetMode);
|
||||
%strkName = getWord(%currentStreak, 0);
|
||||
%strkCnt = getWord(%currentStreak, 1);
|
||||
%streakList = %obj.client.streakList();
|
||||
%currentStreak = getWord(%streakList, %obj.KSSetMode);
|
||||
%strkName = getField($Killstreak[%currentStreak], 0);
|
||||
%strkCnt = %obj.client.streakCount[%currentStreak];
|
||||
%newCt = %strkCnt - 1;
|
||||
|
||||
echo("KSBeacon::Fire("@%data@", "@%obj@", "@%slot@"): "@%strkName@" "@%strkCnt@" => "@%newCt);
|
||||
if(%strkCnt <= 0) {
|
||||
//Oops...
|
||||
messageClient(%obj.client, 'msgError', "\c5TWM2: Nice Try...");
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
if(%obj.client.ksListInstance.count() <= 0) {
|
||||
//%obj.client.streakCount[%currentStreak]--;
|
||||
if(getWordCount(%obj.client.streakList()) == 0) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
|
|
@ -179,24 +143,19 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
return;
|
||||
}
|
||||
|
||||
switch$(%strkName) {
|
||||
switch(%currentStreak) {
|
||||
//
|
||||
//
|
||||
// UAV
|
||||
//
|
||||
//
|
||||
case "UAV":
|
||||
case 1:
|
||||
GainExperience(%obj.client, 25, "UAV Called in ");
|
||||
%obj.client.TWM2Core.UAVCalls++;
|
||||
UpdateSWBeaconFile(%obj.client, "UAV");
|
||||
|
||||
%obj.client.OnUseKillstreak(1);
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
%count = 0;
|
||||
if(!$TWM2::FFAMode) {
|
||||
%obj.team.UAVLoop = UAVLoop(%obj, %obj.client.team, %count);
|
||||
|
|
@ -228,7 +187,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Airstrike
|
||||
//
|
||||
//
|
||||
case "Airstrike":
|
||||
case 2:
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -244,7 +203,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// UAMS
|
||||
//
|
||||
//
|
||||
case "GM":
|
||||
case 3:
|
||||
GainExperience(%obj.client, 50, "UAMS Called in ");
|
||||
%obj.client.TWM2Core.GMCalls++;
|
||||
%obj.client.OnUseKillstreak(3);
|
||||
|
|
@ -259,19 +218,15 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
}
|
||||
}
|
||||
CreateMissileSat(%obj.client);
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
|
||||
|
||||
//
|
||||
//
|
||||
// Helicopter
|
||||
//
|
||||
//
|
||||
case "AIHeli":
|
||||
case 4:
|
||||
if(Game.CheckModifier("Scrambler") == 1) {
|
||||
for(%i = 0; %i < MissionCleanup.getCount(); %i++) {
|
||||
%obj = MissionCleanup.getObject(%i);
|
||||
|
|
@ -298,12 +253,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy Helicopter Inbound");
|
||||
}
|
||||
}
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
MakeTheHeli(%obj.client);
|
||||
|
||||
//
|
||||
|
|
@ -311,7 +261,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Harrier
|
||||
//
|
||||
//
|
||||
case "Harrier":
|
||||
case 5:
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -327,7 +277,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// OLS
|
||||
//
|
||||
//
|
||||
case "OLS":
|
||||
case 6:
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -343,7 +293,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Gunship Helicopter
|
||||
//
|
||||
//
|
||||
case "AIGunHeli":
|
||||
case 7:
|
||||
if(Game.CheckModifier("Scrambler") == 1) {
|
||||
for(%i = 0; %i < MissionCleanup.getCount(); %i++) {
|
||||
%obj = MissionCleanup.getObject(%i);
|
||||
|
|
@ -370,12 +320,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy Gunship Helicopter Inbound!!!");
|
||||
}
|
||||
}
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
MakeTheHeli2(%obj.client, 0);
|
||||
|
||||
//
|
||||
|
|
@ -383,7 +328,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Stealth Airstrike
|
||||
//
|
||||
//
|
||||
case "Stealth":
|
||||
case 8:
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -399,7 +344,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Harbinger Gunship
|
||||
//
|
||||
//
|
||||
case "HarbWrath":
|
||||
case 9:
|
||||
GainExperience(%obj.client, 100, "Harbinger Gunship Called In ");
|
||||
if($CurrentMission $= "ChristmasMall09") {
|
||||
CompleteNWChallenge(%CallerClient, "GunshipMall");
|
||||
|
|
@ -416,12 +361,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy Gunship... INCOMING!!!");
|
||||
}
|
||||
}
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
if($TWM2::UnmannedGunship) {
|
||||
StartHarbingersWrath(%obj.client, 1);
|
||||
}
|
||||
|
|
@ -434,7 +374,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Apache
|
||||
//
|
||||
//
|
||||
case "Apache":
|
||||
case 10:
|
||||
GainExperience(%obj.client, 100, "Apache Gunner Called in ");
|
||||
%obj.client.OnUseKillstreak(10);
|
||||
%obj.client.TWM2Core.CGCalls++;
|
||||
|
|
@ -448,12 +388,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy Apache... INCOMING!!!");
|
||||
}
|
||||
}
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
MakeTheHeli(%obj.client, 1);
|
||||
|
||||
//
|
||||
|
|
@ -461,7 +396,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// AC130
|
||||
//
|
||||
//
|
||||
case "AC130":
|
||||
case 11:
|
||||
GainExperience(%obj.client, 100, "AC130 Called in ");
|
||||
if($CurrentMission $= "ChristmasMall09") {
|
||||
CompleteNWChallenge(%CallerClient, "GunshipMall");
|
||||
|
|
@ -478,12 +413,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy AC130 ABOVE!!!");
|
||||
}
|
||||
}
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
if($TWM2::UnmannedGunship) {
|
||||
StartAC130(%obj.client, 1);
|
||||
}
|
||||
|
|
@ -496,7 +426,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Artillery
|
||||
//
|
||||
//
|
||||
case "Artillery":
|
||||
case 12:
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -512,7 +442,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// EMP
|
||||
//
|
||||
//
|
||||
case "EMP":
|
||||
case 13:
|
||||
%obj.client.TWM2Core.EMPCalls++;
|
||||
UpdateSWBeaconFile(%obj.client, "EMP");
|
||||
GainExperience(%obj.client, 1000, "Mass EMP Called in ");
|
||||
|
|
@ -540,19 +470,14 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
}
|
||||
}
|
||||
}
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
|
||||
//
|
||||
//
|
||||
// Nuke
|
||||
//
|
||||
//
|
||||
case "NukeStrike":
|
||||
case 14:
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -568,7 +493,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// ZBomb
|
||||
//
|
||||
//
|
||||
case "ZBomb":
|
||||
case 15:
|
||||
GainExperience(%obj.client, 1000, "Zombie Annihilation Bomb Activated ");
|
||||
MessageAll('msgWohoo', "\c5TWM2: "@%obj.client.namebase@" has activated a Z-Bomb, eliminating all zombies");
|
||||
%obj.client.OnUseKillstreak(15);
|
||||
|
|
@ -595,19 +520,14 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
%flcl.player.setWhiteout(1.8);
|
||||
}
|
||||
}
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
|
||||
//
|
||||
//
|
||||
// Fission
|
||||
//
|
||||
//
|
||||
case "FBomb":
|
||||
case 16:
|
||||
%obj.client.HasFission = 0;
|
||||
GainExperience(%obj.client, 25000, "Anti-Matter Based Fission Bomb Activated ");
|
||||
%obj.client.OnUseKillstreak(16);
|
||||
|
|
@ -616,19 +536,14 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
CompleteNWChallenge(%obj.client, "GameEnder");
|
||||
MessageAll('msgItsOva', "\c5COMMAND: FISSION BOMB!!! IT'S OVER!! RUN!!!!!! ~wfx/misc/red_alert_short.wav");
|
||||
FissionBombLoop(%obj.client, %obj, %obj.getPosition(), 30);
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
|
||||
//
|
||||
//
|
||||
// Napalm
|
||||
//
|
||||
//
|
||||
case "Napalm":
|
||||
case 17:
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -640,7 +555,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
CameraMessageLoop(%obj.client, %ASCam, %ASCam.mode);
|
||||
}
|
||||
//Post-Fire Checks
|
||||
if(%obj.client.ksListInstance.count() <= 0) {
|
||||
if(getWordCount(%obj.client.streakList()) == 0) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
|
|
|
|||
Loading…
Reference in a new issue