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