mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-01-19 19:44:47 +00:00
3.9.1
This commit is contained in:
commit
26ff02fd38
File diff suppressed because it is too large
Load diff
|
|
@ -831,7 +831,7 @@ function parsePublicCommands(%sender, %command, %args) {
|
|||
}
|
||||
else if (!isBoss(strlwr(%Boss))) {
|
||||
messageclient(%sender, 'MsgClient', '\c2Invalid Boss Name.');
|
||||
messageclient(%sender, 'MsgClient', '\c2Bosses: Yvex, CnlWindshear, GOL, GOF, Stormrider, DAVardison.');
|
||||
messageclient(%sender, 'MsgClient', '\c2Bosses: Yvex, CnlWindshear, GOL, GOF, Stormrider.');
|
||||
messageclient(%sender, 'MsgClient', '\c2GenVeg, LordRog, Insignia, Trebor, Vardison, ShadeLord.');
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,10 +143,6 @@ function parseSuperAdminCommands(%sender, %command, %args) {
|
|||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
StartVardison1(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Lord Vardison, go hide noobs.");
|
||||
case "DAVardison":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
StartDAVardison(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Dark Archmage Vardison, run in fear n0bs.");
|
||||
case "ShadeLord":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
SpawnShadeLord(%pos);
|
||||
|
|
@ -155,7 +151,7 @@ function parseSuperAdminCommands(%sender, %command, %args) {
|
|||
messageclient(%sender, 'MsgClient', '\c2Invalid Boss Name.');
|
||||
messageclient(%sender, 'MsgClient', '\c2Bosses: Yvex, CnlWindshear, GhostOfLightning.');
|
||||
messageclient(%sender, 'MsgClient', '\c2GenVegenor, LordRog, Insignia, Trebor, Vardison.');
|
||||
messageclient(%sender, 'MsgClient', '\c2Stormrider, GhostOfFire, ShadeLord, DAVardison.');
|
||||
messageclient(%sender, 'MsgClient', '\c2Stormrider, GhostOfFire, ShadeLord.');
|
||||
}
|
||||
return 1;
|
||||
|
||||
|
|
@ -269,90 +265,96 @@ function parseSuperAdminCommands(%sender, %command, %args) {
|
|||
messageclient(%sender, 'MsgClient', '\c2No such player.');
|
||||
return 1;
|
||||
}
|
||||
%sw = getWord(%args,1);
|
||||
|
||||
if(!isSet(%target.ksListInstance)) {
|
||||
%target.ksListInstance = initList();
|
||||
}
|
||||
%cAmt = 0;
|
||||
|
||||
%sw = strlwr(getWord(%args,1));
|
||||
switch$(%sw) {
|
||||
case "UAV":
|
||||
%target.HasUAV = 1;
|
||||
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":
|
||||
%target.HasAirstrike = 1;
|
||||
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":
|
||||
%target.HasGM = 1;
|
||||
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":
|
||||
%target.HasHeli = 1;
|
||||
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":
|
||||
%target.HasHarbinsWrath = 1;
|
||||
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":
|
||||
%target.HasGunshipHeli = 1;
|
||||
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":
|
||||
%target.HasChopperGunner = 1;
|
||||
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":
|
||||
%target.HasArtillery = 1;
|
||||
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":
|
||||
%target.HasNuke = 1;
|
||||
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":
|
||||
%target.HasZBomb = 1;
|
||||
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":
|
||||
%target.HasHarrier = 1;
|
||||
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":
|
||||
%target.HasSlthAirstrike = 1;
|
||||
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":
|
||||
%target.HasAcGunner = 1;
|
||||
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":
|
||||
%target.HasOLS = 1;
|
||||
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":
|
||||
%target.HasFission = 1;
|
||||
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":
|
||||
%target.HasMassEMP = 1;
|
||||
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":
|
||||
%target.HasNapalmHarrier = 1;
|
||||
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.");
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -54,7 +54,11 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
<<<<<<< HEAD
|
||||
if(%client.ksListInstance.find("Airstrike") == -1 && !%client.UnlimitedAS) {
|
||||
=======
|
||||
if(%client.streakCount[2] <= 0 && !%client.UnlimitedAS) {
|
||||
>>>>>>> origin/development
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -79,6 +83,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
if(!%client.UnlimitedAS) {
|
||||
<<<<<<< HEAD
|
||||
%newCt = getField(%client.ksListInstance.find("Airstrike"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Airstrike"), 1));
|
||||
|
|
@ -86,11 +91,21 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Airstrike"), 1), "Airstrike" SPC %newCt);
|
||||
}
|
||||
=======
|
||||
%client.streakCount[2]--;
|
||||
>>>>>>> origin/development
|
||||
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 +116,11 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
<<<<<<< HEAD
|
||||
if(%client.ksListInstance.find("Harrier") == -1) {
|
||||
=======
|
||||
if(%client.streakCount[5] <= 0) {
|
||||
>>>>>>> origin/development
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -123,6 +142,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
<<<<<<< HEAD
|
||||
%newCt = getField(%client.ksListInstance.find("Harrier"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Harrier"), 1));
|
||||
|
|
@ -130,10 +150,20 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Harrier"), 1), "Harrier" SPC %newCt);
|
||||
}
|
||||
=======
|
||||
%client.streakCount[5]--;
|
||||
>>>>>>> origin/development
|
||||
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 +174,11 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
<<<<<<< HEAD
|
||||
if(%client.ksListInstance.find("Napalm") == -1) {
|
||||
=======
|
||||
if(%client.streakCount[17] <= 0) {
|
||||
>>>>>>> origin/development
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -166,6 +200,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
<<<<<<< HEAD
|
||||
%newCt = getField(%client.ksListInstance.find("Napalm"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Napalm"), 1));
|
||||
|
|
@ -173,10 +208,20 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Napalm"), 1), "Napalm" SPC %newCt);
|
||||
}
|
||||
=======
|
||||
%client.streakCount[17]--;
|
||||
>>>>>>> origin/development
|
||||
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 +232,11 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
<<<<<<< HEAD
|
||||
if(%client.ksListInstance.find("OLS") == -1) {
|
||||
=======
|
||||
if(%client.streakCount[6] <= 0) {
|
||||
>>>>>>> origin/development
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -201,6 +250,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
<<<<<<< HEAD
|
||||
%newCt = getField(%client.ksListInstance.find("OLS"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("OLS"), 1));
|
||||
|
|
@ -208,10 +258,20 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("OLS"), 1), "OLS" SPC %newCt);
|
||||
}
|
||||
=======
|
||||
%client.streakCount[6]--;
|
||||
>>>>>>> origin/development
|
||||
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 +282,11 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
<<<<<<< HEAD
|
||||
if(%client.ksListInstance.find("Stealth") == -1) {
|
||||
=======
|
||||
if(%client.streakCount[8] <= 0) {
|
||||
>>>>>>> origin/development
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -244,6 +308,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
<<<<<<< HEAD
|
||||
%newCt = getField(%client.ksListInstance.find("Stealth"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Stealth"), 1));
|
||||
|
|
@ -251,9 +316,19 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Stealth"), 1), "Stealth" SPC %newCt);
|
||||
}
|
||||
=======
|
||||
%client.streakCount[8]--;
|
||||
>>>>>>> origin/development
|
||||
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 +339,11 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
<<<<<<< HEAD
|
||||
if(%client.ksListInstance.find("Artillery") == -1) {
|
||||
=======
|
||||
if(%client.streakCount[12] <= 0) {
|
||||
>>>>>>> origin/development
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -278,6 +357,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
<<<<<<< HEAD
|
||||
%newCt = getField(%client.ksListInstance.find("Artillery"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Artillery"), 1));
|
||||
|
|
@ -285,10 +365,20 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Artillery"), 1), "Artillery" SPC %newCt);
|
||||
}
|
||||
=======
|
||||
%client.streakCount[12]--;
|
||||
>>>>>>> origin/development
|
||||
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 +389,11 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
<<<<<<< HEAD
|
||||
if(%client.ksListInstance.find("NukeStrike") == -1) {
|
||||
=======
|
||||
if(%client.streakCount[14] <= 0) {
|
||||
>>>>>>> origin/development
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -313,6 +407,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
<<<<<<< HEAD
|
||||
%newCt = getField(%client.ksListInstance.find("NukeStrike"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("NukeStrike"), 1));
|
||||
|
|
@ -320,10 +415,20 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("NukeStrike"), 1), "NukeStrike" SPC %newCt);
|
||||
}
|
||||
=======
|
||||
%client.streakCount[14]--;
|
||||
>>>>>>> origin/development
|
||||
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();
|
||||
|
|
|
|||
|
|
@ -3,6 +3,15 @@ function InitiateBoss(%Boss, %name) {
|
|||
error("SERVER: Cannot initiate boss, in horde/helljump");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isObject($TWM2::BossManager)) {
|
||||
$TWM2::BossManager = new scriptObject() {
|
||||
class = "BossManager";
|
||||
};
|
||||
}
|
||||
$TWM2::BossManager.bossKills = 0;
|
||||
$TWM2::BossManager.bossObject = %Boss;
|
||||
$TWM2::BossManager.activeBoss = %name;
|
||||
|
||||
$TWM2::BossGoing = 1;
|
||||
switch$(%name) {
|
||||
|
|
@ -21,9 +30,9 @@ function InitiateBoss(%Boss, %name) {
|
|||
case "Vardison1":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n LORD VARDISON";
|
||||
case "Vardison2":
|
||||
%print = "<color:FF0000>!DANGER! \n VARDISON HAS TRANSFORMED \n AIR FORM";
|
||||
%print = "<color:FF0000>BOSS ALERT \n LORD VARDISON HAS ENTERED HIS SECOND FORM";
|
||||
case "Vardison3":
|
||||
%print = "<color:FF0000>!DANGER! \n VARDISON HAS TRANSFORMED AGAIN \n DEMON FORM";
|
||||
%print = "<color:FF0000>BOSS ALERT \n LORD VARDISON HAS ENTERED HIS FINAL FORM";
|
||||
case "Trebor":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n LORDRANIUS TREVOR";
|
||||
case "Stormrider":
|
||||
|
|
@ -49,11 +58,11 @@ function InitiateBoss(%Boss, %name) {
|
|||
}
|
||||
|
||||
function BossCheckUp(%boss, %name) {
|
||||
%percentage = (mFloor(%boss.getDamageLeft()*100) / mFloor(%boss.getMaxDamage()*100)) * 100;
|
||||
MessageAll('MsgSPCurrentObjective1', "", "Boss Battle: "@$TWM2::BossName[%name]@" [Boss Kill Count: "@$TWM2::BossManager.bossKills@"]");
|
||||
MessageAll('MsgSPCurrentObjective2', "", "Boss HP: "@mFloor(%boss.getDamageLeft()*100)@"/"@mFloor(%boss.getMaxDamage()*100)@" ("@%percentage@"%)");
|
||||
|
||||
MessageAll('MsgSPCurrentObjective1', "", "Boss Battle: "@$TWM2::BossName[%name]@"");
|
||||
MessageAll('MsgSPCurrentObjective2', "", "Boss HP: "@mFloor(%boss.getDamageLeft()*100)@"/"@mFloor(%boss.getMaxDamage()*100)@"");
|
||||
|
||||
if(%name !$= "CnlWindshear" && %name !$= "Vardison2" && %name !$= "Trebor" && %name !$= "Stormrider") {
|
||||
if(%name !$= "CnlWindshear" && %name !$= "Trebor" && %name !$= "Stormrider") {
|
||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||
if(%name $= "Vardison1") {
|
||||
%count = ClientGroup.getCount();
|
||||
|
|
@ -61,7 +70,16 @@ function BossCheckUp(%boss, %name) {
|
|||
%cl = ClientGroup.getObject(%i);
|
||||
recordAction(%cl, "BOSS", "Vardison1");
|
||||
}
|
||||
StartVardison2(%boss.getPosition());
|
||||
SpawnVardison2(%boss.getPosition());
|
||||
return;
|
||||
}
|
||||
if(%name $= "Vardison2") {
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
recordAction(%cl, "BOSS", "Vardison2");
|
||||
}
|
||||
SpawnVardison3(%boss.getPosition());
|
||||
return;
|
||||
}
|
||||
//the boss has been defeated, horrah!!!
|
||||
|
|
@ -81,17 +99,6 @@ function BossCheckUp(%boss, %name) {
|
|||
}
|
||||
else {
|
||||
if(!isObject(%boss)) {
|
||||
//the boss has been defeated, horrah!!!
|
||||
if(%name $= "Vardison2") {
|
||||
//but not quite so xD
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
recordAction(%cl, "BOSS", "Vardison2");
|
||||
}
|
||||
StartVardison3("0 0 200");
|
||||
return;
|
||||
}
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
|
|
@ -167,11 +174,27 @@ function GameConnection::GiveBossAward(%client, %bossName) {
|
|||
}
|
||||
|
||||
function FindValidTarget(%boss, %counter) { //This is usefull
|
||||
%client = ClientGroup.getObject(GetRandom()*ClientGroup.getCount());
|
||||
if(!isObject(%client.player) || %client.player.getState() $= "dead" || %boss == %client.player) {
|
||||
return schedule(500,0,"FindValidTarget", %boss, %counter++); //Keep Looking;
|
||||
if(%counter $= "") {
|
||||
%counter = 10; //10 attempts
|
||||
}
|
||||
return %client; //target is good
|
||||
for(%i = 0; %i < %counter; %i++) {
|
||||
%test = ClientGroup.getObject(getRandom(0, ClientGroup.getCount()));
|
||||
if(isObject(%test)) {
|
||||
%tPL = %test.getControlObject();
|
||||
if(isObject(%tPL)) {
|
||||
if(isPlayer(%tPL)) {
|
||||
if(%tPL.getState() !$= "dead") {
|
||||
//Got one!
|
||||
return %test;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return %test;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1; //Found nothing.
|
||||
}
|
||||
|
||||
function CheckBossChallenge(%client, %boss) {
|
||||
|
|
@ -430,9 +453,46 @@ function GenerateBossChallengeMenu(%client, %tag, %index) {
|
|||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("VardEasy")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "The Standard Experience - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "The Standard Experience - Defeat Lord Vardison on Easy Difficulty");
|
||||
%index++;
|
||||
}
|
||||
if(%client.CheckNWChallengeCompletion("VardNorm")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Demon Hunter - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Demon Hunter - Defeat Lord Vardison on Normal Difficulty");
|
||||
%index++;
|
||||
}
|
||||
if(%client.CheckNWChallengeCompletion("VardHard")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Master Demon Slayer - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Master Demon Slayer - Defeat Lord Vardison on Hard Difficulty");
|
||||
%index++;
|
||||
}
|
||||
if(%client.CheckNWChallengeCompletion("VardWtf")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "God of the Shadow Realm - Done [You are a freaking boss master]");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "God of the Shadow Realm - Against all odds, emerge victorious against WTF difficulty Lord Vardison");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
return %index;
|
||||
}
|
||||
|
||||
function BossManager::addKill(%this, %tObj) {
|
||||
%this.bossKills++;
|
||||
}
|
||||
|
||||
//Load The Boss Files
|
||||
exec("scripts/TWM2/Bosses/LordYvex.cs");
|
||||
exec("scripts/TWM2/Bosses/ColonelWindshear.cs");
|
||||
|
|
|
|||
|
|
@ -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,11 @@ function GiveTWM2Weapons(%client) {
|
|||
if(%client.HasFullTeamRespawn) {
|
||||
%client.player.setInventory(FullTeamRespawnCaller, 1, true);
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
if(%client.ksListInstance.count() > 0) {
|
||||
=======
|
||||
if(getWordCount(%client.streakList()) > 0) {
|
||||
>>>>>>> origin/development
|
||||
%client.player.setInventory(KillstreakBeacon, 1, true);
|
||||
}
|
||||
if(!%client.isconfiscated) {
|
||||
|
|
@ -311,6 +340,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,7 +363,7 @@ 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(!%client.ksListInstance) {
|
||||
|
|
@ -330,6 +374,7 @@ function GameConnection::AwardKillstreak(%client, %streakVal, %plz) {
|
|||
switch(%streakVal) {
|
||||
case 1:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: UAV Recon at Your Disposal.");
|
||||
<<<<<<< HEAD
|
||||
if(%client.ksListInstance.find("UAV") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("UAV"), 0), 1);
|
||||
}
|
||||
|
|
@ -430,12 +475,50 @@ function GameConnection::AwardKillstreak(%client, %streakVal, %plz) {
|
|||
%cAmt = getWord(getField(%client.ksListInstance.find("Napalm"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("Napalm", "Napalm "@%cAmt+1);
|
||||
=======
|
||||
case 2:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Airstrike Standing By.");
|
||||
case 3:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Guided Missile Strike Standing By.");
|
||||
case 4:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Helicopter at your disposal.");
|
||||
case 5:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Plasma Harrier Strike at your disposal.");
|
||||
case 6:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Satellite Strike at your disposal.");
|
||||
case 7:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Gunship Helicopter at your disposal.");
|
||||
case 8:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Stealth Bomber at your disposal.");
|
||||
case 9:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Harbinger's Wrath Standing By.");
|
||||
case 10:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Apache Gunner Standing By.");
|
||||
case 11:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: AC-130 Gunner Standing By.");
|
||||
case 12:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Centaur Bombardment Standing By.");
|
||||
case 13:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Mass EMP Standing By.");
|
||||
case 14:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Nuclear Strike Standing By.");
|
||||
case 15:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Zombie Bomb Standing By.");
|
||||
case 16:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Fission Bomb Ready... Obliterate everyone!!!");
|
||||
case 17:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Napalm Airstrike at your disposal.");
|
||||
>>>>>>> origin/development
|
||||
}
|
||||
%client.streakCount[%streakVal]++;
|
||||
if(%plz == 0) {
|
||||
if(%client.IsHighestPLStreak(%streakVal)) {
|
||||
%client.player.killsinarow = 0; //reset for moar killstreaks!
|
||||
}
|
||||
}
|
||||
else if(%plz == -1) {
|
||||
//From //giveKSSW
|
||||
}
|
||||
else {
|
||||
if(!$TWM::PlayingHellJump) {
|
||||
if(%client.IsHighestZStreak(%streakVal)) {
|
||||
|
|
@ -443,6 +526,7 @@ function GameConnection::AwardKillstreak(%client, %streakVal, %plz) {
|
|||
}
|
||||
}
|
||||
}
|
||||
%client.player.setInventory(KillstreakBeacon, 1, true);
|
||||
}
|
||||
|
||||
//Modified 12-17-09 to take into consideration of hosts changing the kill values
|
||||
|
|
|
|||
|
|
@ -12,10 +12,20 @@ function initList() {
|
|||
}
|
||||
|
||||
function ListInstance::advancedAdd(%this, %elementTxt, %newValue) {
|
||||
<<<<<<< HEAD
|
||||
if(%this.find(%elementTxt) == -1) {
|
||||
%this.addElement(%newValue);
|
||||
}
|
||||
else {
|
||||
=======
|
||||
echo("AdvancedAdd("@%this@", "@%elementTxt@", "@%newValue@")");
|
||||
if(%this.find(%elementTxt) == -1) {
|
||||
echo("AdvancedAdd: Add New");
|
||||
%this.addElement(%newValue);
|
||||
}
|
||||
else {
|
||||
echo("AdvancedAdd: Replace Old");
|
||||
>>>>>>> origin/development
|
||||
%indx = getField(%this.find(%elementTxt), 1);
|
||||
%this.set(%indx, %newValue);
|
||||
}
|
||||
|
|
@ -26,6 +36,10 @@ function ListInstance::set(%this, %index, %new) {
|
|||
}
|
||||
|
||||
function ListInstance::addElement(%this, %element) {
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
echo("Add "@%element@" => "@%this.numberOfElements);
|
||||
>>>>>>> origin/development
|
||||
%this.element[%this.numberOfElements] = %element;
|
||||
%this.numberOfElements++;
|
||||
}
|
||||
|
|
@ -35,7 +49,12 @@ function ListInstance::removeElement(%this, %index) {
|
|||
error("ListInstance::removeElements("@%index@"): Specified index is out of list bounds.");
|
||||
return;
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
%this.element[%this.numberOfElements] = "";
|
||||
=======
|
||||
echo(%this@".removeElement("@%index@"): Strip "@%this.element[%index]);
|
||||
%this.element[%index] = "";
|
||||
>>>>>>> origin/development
|
||||
%this.compactList();
|
||||
}
|
||||
|
||||
|
|
@ -57,12 +76,28 @@ function ListInstance::find(%this, %key) {
|
|||
}
|
||||
|
||||
function ListInstance::compactList(%this) {
|
||||
<<<<<<< HEAD
|
||||
for(%i = %this.count(); %i >= 0; %i--) {
|
||||
if(%this.element[%i] $= "") {
|
||||
//Strip item, move others forward
|
||||
for(%x = %i; %x < %this.count(); %x++) {
|
||||
%this.element[%x] = %this.element[%x+1];
|
||||
}
|
||||
=======
|
||||
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);
|
||||
>>>>>>> origin/development
|
||||
%this.numberOfElements--;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,6 +80,10 @@ $Challenge::Info["Treb3"] = "Tank Halter\t2\t10000\tNone";
|
|||
$Challenge::Info["Vard1"] = "Shining Star\t2\t3500\tNone";
|
||||
$Challenge::Info["Vard2"] = "Glare The Dark\t2\t7000\tNone";
|
||||
$Challenge::Info["Vard3"] = "Outevil The Wicked\t2\t12500\tLord Vardison Recruitable Ally";
|
||||
$Challenge::Info["VardEasy"] = "The Standard Experience\t2\t7000\tNone";
|
||||
$Challenge::Info["VardNorm"] = "Demon Hunter\t2\t1500\tNone";
|
||||
$Challenge::Info["VardHard"] = "Master Demon Slayer\t2\t25000\tNone";
|
||||
$Challenge::Info["VardWtf"] = "God of the Shadow Realm\t2\t50000\tNone";
|
||||
//Blacklist
|
||||
$Challenge::Info["Acceptance"] = "Acceptance\t3\t1000\tNone";
|
||||
$Challenge::Info["ListHit"] = "Hitlister of The List\t3\t2500\tNone";
|
||||
|
|
|
|||
|
|
@ -182,10 +182,10 @@ function ZPCreateZombie(%obj){
|
|||
function StartAZombie(%pos, %type){
|
||||
if(!isObject(Game)) {
|
||||
error("UE Blocked...");
|
||||
return;
|
||||
return -1;
|
||||
}
|
||||
if($Game::ZombieCount > $TWM2::MaxZombies || !$TWM2::CanSpawnZ) {
|
||||
return;
|
||||
return -1;
|
||||
}
|
||||
//
|
||||
if(%type $= "") {
|
||||
|
|
|
|||
|
|
@ -286,8 +286,6 @@ function BossFullname(%BossAbbr)
|
|||
return "Ghost of Fire";
|
||||
case "vardison":
|
||||
return "Lord Vardison";
|
||||
case "davardison":
|
||||
return "Dark Archmage Vardison";
|
||||
case "shadelord":
|
||||
return "The Shade Lord";
|
||||
}
|
||||
|
|
@ -317,8 +315,6 @@ function isBoss(%Boss)
|
|||
return 1;
|
||||
case "vardison":
|
||||
return 1;
|
||||
case "davardison":
|
||||
return 1;
|
||||
case "shadelord":
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ function Medrepair(%obj, %targets){
|
|||
if(%obj.isreping == 0)
|
||||
return;
|
||||
if(%targets !$= ""){
|
||||
%numtrgs = getNumberOfWords(%targets);
|
||||
%numtrgs = getWordCount(%targets);
|
||||
for(%i = 0; %i < %numtrgs; %i++){
|
||||
%target = getWord(%targets, %i);
|
||||
if(vectorDist(%obj.getWorldBoxCenter(), %target.getWorldBoxCenter()) <= 10 && %target.getDamageLevel() > 0.0){
|
||||
|
|
@ -267,7 +267,7 @@ function Medrepair(%obj, %targets){
|
|||
function MedstopRepair(%obj){
|
||||
%obj.isreping = 0;
|
||||
if(%obj.reptargets !$= ""){
|
||||
%numtrgs = getNumberOfWords(%obj.reptargets);
|
||||
%numtrgs = getWordCount(%obj.reptargets);
|
||||
for(%i = 0; %i < %numtrgs; %i++){
|
||||
%target = getWord(%obj.reptargets, %i);
|
||||
if(%target.reping == 1){
|
||||
|
|
@ -305,6 +305,10 @@ function checkrevive(%obj){
|
|||
messageclient(%obj.client, 'MsgClient', "\c2This body is destroyed.");
|
||||
return;
|
||||
}
|
||||
if(%Tobj.isBoss == 1){
|
||||
messageclient(%obj.client, 'MsgClient', "\c2ARE YOU INSANE!?!??! YEAH... LETS JUST REVIVE THE DAMNED BOSS THAT JUST REKT YOU ABOUT 100 TIMES!!!!");
|
||||
return;
|
||||
}
|
||||
if(%Tobj.infected || %Tobj.isZombie) {
|
||||
messageclient(%obj.client, 'MsgClient', "\c2WHOA!!! We don't want to make the Undead.... UnDead AGAIN.");
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -26,8 +26,51 @@ datablock AudioProfile(ZombieHOWL)
|
|||
preload = true;
|
||||
};
|
||||
|
||||
//USED IN FLAMETHROWER
|
||||
//USED IN FLAMETHROWER / NMM
|
||||
//DO NOT REMOVE: NEEDED HERE
|
||||
datablock ParticleData(NMMissileBaseParticle) {
|
||||
dragCoeffiecient = 0.0;
|
||||
gravityCoefficient = -0.2;
|
||||
inheritedVelFactor = 0.0;
|
||||
|
||||
lifetimeMS = 800;
|
||||
lifetimeVarianceMS = 500;
|
||||
|
||||
useInvAlpha = false;
|
||||
spinRandomMin = -160.0;
|
||||
spinRandomMax = 160.0;
|
||||
|
||||
animateTexture = true;
|
||||
framesPerSec = 15;
|
||||
|
||||
textureName = "special/cloudflash";
|
||||
|
||||
colors[0] = "0.5 0.1 0.9 1.0";
|
||||
colors[1] = "0.5 0.1 0.9 1.0";
|
||||
colors[2] = "0.5 0.1 0.9 1.0";
|
||||
|
||||
sizes[0] = 2.5;
|
||||
sizes[1] = 2.7;
|
||||
sizes[2] = 3.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.7;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(NMMissileBaseEmitter) {
|
||||
ejectionPeriodMS = 10;
|
||||
periodVarianceMS = 0;
|
||||
|
||||
ejectionVelocity = 1.5;
|
||||
velocityVariance = 0.3;
|
||||
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 30.0;
|
||||
|
||||
particles = "NMMissileBaseParticle";
|
||||
};
|
||||
|
||||
datablock ParticleData(ThrowerBaseParticle) {
|
||||
dragCoeffiecient = 0.0;
|
||||
gravityCoefficient = -0.2;
|
||||
|
|
|
|||
|
|
@ -3585,6 +3585,17 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am
|
|||
|
||||
//now call the "onKilled" function if the client was... you know...
|
||||
if(%targetObject.getState() $= "Dead") {
|
||||
//Is there a boss going?
|
||||
if(!%targetObject.isZombie && !%targetObject.isBossMinion) {
|
||||
if($TWM2::BossGoing) {
|
||||
//Chalk up the kill count :P
|
||||
$TWM2::BossManager.addKill(%targetObject);
|
||||
}
|
||||
}
|
||||
if(%targetObject.isVardisonMinion) {
|
||||
$TWM2::VardisonManager.minionCount--;
|
||||
}
|
||||
|
||||
if($TWM2::PlayingSabo) {
|
||||
if(Game.Bomb.Carrier == %targetObject) {
|
||||
if(%damageType == $DamageType::FellOff) {
|
||||
|
|
|
|||
|
|
@ -102,7 +102,6 @@ datablock ShapeBaseImageData(EditGunImage) {
|
|||
|
||||
function EditGunImage::onMount(%this, %obj, %slot) {
|
||||
Parent::onMount(%this, %obj, %slot);
|
||||
DispEditorToolInfo(%obj);
|
||||
if(!isSet(%obj.EditPMode)) {
|
||||
%obj.EditPMode = 0;
|
||||
}
|
||||
|
|
@ -114,7 +113,11 @@ function EditGunImage::onMount(%this, %obj, %slot) {
|
|||
%obj.hasGrenadeModes = 1;
|
||||
//Phantom139: End
|
||||
%obj.UsingEditTool = true;
|
||||
<<<<<<< HEAD
|
||||
displayWeaponInfo(%this, %obj, %obj.client.EditPMode, %obj.client.EditSMode);
|
||||
=======
|
||||
displayWeaponInfo(%this, %obj, %obj.EditPMode, %obj.EditSMode);
|
||||
>>>>>>> origin/development
|
||||
}
|
||||
|
||||
function EditGunImage::onunmount(%this,%obj,%slot) {
|
||||
|
|
@ -160,6 +163,7 @@ function EditGunImage::changeMode(%this, %obj, %key) {
|
|||
switch(%key) {
|
||||
case 1:
|
||||
//Mine Modes
|
||||
<<<<<<< HEAD
|
||||
%obj.client.EditPMode++;
|
||||
%obj.client.EditSMode = 0;
|
||||
if (%obj.client.EditPMode >= 5)
|
||||
|
|
@ -179,6 +183,27 @@ function EditGunImage::changeMode(%this, %obj, %key) {
|
|||
%obj.client.EditSMode = 0;
|
||||
}
|
||||
displayWeaponInfo(%this, %obj, %obj.client.EditPMode, %obj.client.EditSMode);
|
||||
=======
|
||||
%obj.EditPMode++;
|
||||
%obj.EditSMode = 0;
|
||||
if (%obj.EditPMode >= 5)
|
||||
%obj.EditPMode = 0;
|
||||
case 2:
|
||||
//Grenade Modes
|
||||
%obj.EditSMode++;
|
||||
if (%obj.EditPMode == 0 && %obj.EditSMode == 21)
|
||||
%obj.EditSMode = 0;
|
||||
if (%obj.EditPMode == 1 && %obj.EditSMode == 21)
|
||||
%obj.EditSMode = 0;
|
||||
if (%obj.EditPMode == 2 && %obj.EditSMode == 5)
|
||||
%obj.EditSMode = 0;
|
||||
if (%obj.EditPMode == 3 && %obj.EditSMode == 4)
|
||||
%obj.EditSMode = 0;
|
||||
if (%obj.EditPMode == 4 && %obj.EditSMode == 2)
|
||||
%obj.EditSMode = 0;
|
||||
}
|
||||
displayWeaponInfo(%this, %obj, %obj.EditPMode, %obj.EditSMode);
|
||||
>>>>>>> origin/development
|
||||
}
|
||||
|
||||
//Editor Tool Functioning
|
||||
|
|
|
|||
|
|
@ -135,6 +135,7 @@ function ConstructionToolImage::changeMode(%this, %obj, %key) {
|
|||
switch(%key) {
|
||||
case 1:
|
||||
//Mine Modes
|
||||
<<<<<<< HEAD
|
||||
%obj.client.constructionToolMode++;
|
||||
%obj.client.constructionToolMode2 = 0;
|
||||
if (%obj.client.constructionToolMode >= 4)
|
||||
|
|
@ -152,6 +153,25 @@ function ConstructionToolImage::changeMode(%this, %obj, %key) {
|
|||
%obj.client.constructionToolMode2 = 0;
|
||||
}
|
||||
displayWeaponInfo(%this, %obj, %obj.client.constructionToolMode, %obj.client.constructionToolMode2, "[REPA] "@%obj.client.RotateAngle);
|
||||
=======
|
||||
%obj.constructionToolMode++;
|
||||
%obj.constructionToolMode2 = 0;
|
||||
if (%obj.constructionToolMode >= 4)
|
||||
%obj.constructionToolMode = 0;
|
||||
case 2:
|
||||
//Grenade Modes
|
||||
%obj.constructionToolMode2++;
|
||||
if (%obj.constructionToolMode == 0 && %obj.constructionToolMode2 == 2)
|
||||
%obj.constructionToolMode2 = 0;
|
||||
if (%obj.constructionToolMode == 1 && %obj.constructionToolMode2 == 2)
|
||||
%obj.constructionToolMode2 = 0;
|
||||
if (%obj.constructionToolMode == 2 && %obj.constructionToolMode2 == 6)
|
||||
%obj.constructionToolMode2 = 0;
|
||||
if (%obj.constructionToolMode == 3 && %obj.constructionToolMode2 == 4)
|
||||
%obj.constructionToolMode2 = 0;
|
||||
}
|
||||
displayWeaponInfo(%this, %obj, %obj.constructionToolMode, %obj.constructionToolMode2, "[REPA] "@%obj.client.RotateAngle);
|
||||
>>>>>>> origin/development
|
||||
}
|
||||
//Phantom139: End
|
||||
|
||||
|
|
@ -221,10 +241,17 @@ function ConstructionToolImage::onMount(%this,%obj,%slot) {
|
|||
%obj.errMsgSent = false;
|
||||
%obj.client.setWeaponsHudActive(%this.item);
|
||||
%obj.usingConstructionTool = true;
|
||||
<<<<<<< HEAD
|
||||
if (!%obj.constructionToolMode)
|
||||
%obj.constructionToolMode = 0;
|
||||
if (!%obj.constructionToolMode2)
|
||||
%obj.constructionToolMode2 = 0;
|
||||
=======
|
||||
if (!isSet(%obj.client.constructionToolMode))
|
||||
%obj.client.constructionToolMode = 0;
|
||||
if (!isSet(%obj.client.constructionToolMode2))
|
||||
%obj.client.constructionToolMode2 = 0;
|
||||
>>>>>>> origin/development
|
||||
//Phantom139: Added
|
||||
%obj.hasMineModes = 1;
|
||||
%obj.hasGrenadeModes = 1;
|
||||
|
|
|
|||
|
|
@ -545,10 +545,17 @@ function MergeToolImage::onFire(%data,%obj,%slot)
|
|||
|
||||
function MergeToolImage::onMount(%this,%obj,%slot)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
if(%obj.MTMode $= "")
|
||||
%obj.MTMode = 0;
|
||||
if(%obj.MTSubMode $= "")
|
||||
%obj.MTSubMode = 0;
|
||||
=======
|
||||
if(%obj.client.MTMode $= "")
|
||||
%obj.client.MTMode = 0;
|
||||
if(%obj.client.MTSubMode $= "")
|
||||
%obj.client.MTSubMode = 0;
|
||||
>>>>>>> origin/development
|
||||
%obj.usingMTelec = 1;
|
||||
//Phantom139: Added
|
||||
%obj.hasMineModes = 1;
|
||||
|
|
|
|||
|
|
@ -216,7 +216,11 @@ function SuperChaingunImage::onMount(%this,%obj,%slot) {
|
|||
%obj.superChaingunMode2 = 0;
|
||||
%obj.hasMineModes = 1;
|
||||
%obj.hasGrenadeModes = 1;
|
||||
<<<<<<< HEAD
|
||||
displayWeaponInfo(%this, %obj, %obj.client.superChaingunMode, %obj.client.superChaingunMode2);
|
||||
=======
|
||||
displayWeaponInfo(%this, %obj, %obj.superChaingunMode, %obj.superChaingunMode2);
|
||||
>>>>>>> origin/development
|
||||
WeaponImage::onMount(%this,%obj,%slot);
|
||||
}
|
||||
|
||||
|
|
@ -231,6 +235,7 @@ function SuperChaingunImage::changeMode(%this, %obj, %key) {
|
|||
switch(%key) {
|
||||
case 1:
|
||||
//Mine Modes
|
||||
<<<<<<< HEAD
|
||||
%obj.client.superChaingunMode++;
|
||||
%obj.client.superChaingunMode2 = 0;
|
||||
if (%obj.client.superChaingunMode > 6 - (5 * $host::nopulseSCG))
|
||||
|
|
@ -242,4 +247,19 @@ function SuperChaingunImage::changeMode(%this, %obj, %key) {
|
|||
%obj.client.superChaingunMode2 = 0;
|
||||
}
|
||||
displayWeaponInfo(%this, %obj, %obj.client.superChaingunMode, %obj.client.superChaingunMode2);
|
||||
=======
|
||||
%obj.superChaingunMode++;
|
||||
%obj.superChaingunMode2 = 0;
|
||||
if (%obj.superChaingunMode > 6 - (5 * $host::nopulseSCG))
|
||||
%obj.superChaingunMode = 0;
|
||||
case 2:
|
||||
//Grenade Modes
|
||||
%obj.superChaingunMode2++;
|
||||
if(%obj.superChaingunMode != 1)
|
||||
%obj.superChaingunMode2 = 0;
|
||||
if (%obj.superChaingunMode == 1 && %obj.superChaingunMode2 == 2)
|
||||
%obj.superChaingunMode2 = 0;
|
||||
}
|
||||
displayWeaponInfo(%this, %obj, %obj.superChaingunMode, %obj.superChaingunMode2);
|
||||
>>>>>>> origin/development
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ datablock ItemData(KillstreakBeacon) {
|
|||
friction = 0.6;
|
||||
pickupRadius = 2;
|
||||
pickUpName = "a targeting laser rifle";
|
||||
|
||||
|
||||
isKSSW = 1;
|
||||
|
||||
computeCRC = true;
|
||||
|
|
@ -31,7 +31,7 @@ datablock ShapeBaseImageData(KillstreakBeaconImage) {
|
|||
shapeFile = "weapon_targeting.dts";
|
||||
item = KillstreakBeacon;
|
||||
offset = "0 0 0";
|
||||
|
||||
|
||||
isKSSW = 1;
|
||||
|
||||
projectile = BasicTargeter;
|
||||
|
|
@ -73,6 +73,14 @@ datablock ShapeBaseImageData(KillstreakBeaconImage) {
|
|||
};
|
||||
|
||||
function KillstreakBeaconImage::onMount(%this, %obj, %slot) {
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
if(getWordCount(%obj.client.streakList()) == 0) {
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
}
|
||||
>>>>>>> origin/development
|
||||
Parent::onMount(%this, %obj, %slot);
|
||||
%obj.hasMineModes = 1;
|
||||
%obj.hasGrenadeModes = 1;
|
||||
|
|
@ -82,6 +90,7 @@ function KillstreakBeaconImage::onMount(%this, %obj, %slot) {
|
|||
}
|
||||
%obj.usingKSBeacon = true;
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
|
||||
function KillstreakBeaconImage::onunmount(%this,%obj,%slot) {
|
||||
Parent::onUnmount(%this, %obj, %slot);
|
||||
|
|
@ -189,6 +198,77 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
else {
|
||||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
=======
|
||||
|
||||
function KillstreakBeaconImage::onunmount(%this,%obj,%slot) {
|
||||
Parent::onUnmount(%this, %obj, %slot);
|
||||
%obj.hasMineModes = 0;
|
||||
%obj.hasGrenadeModes = 0;
|
||||
%obj.usingKSBeacon = false;
|
||||
}
|
||||
|
||||
function KillstreakBeaconImage::changeMode(%this, %obj, %key) {
|
||||
switch(%key) {
|
||||
case 1:
|
||||
//Mine Modes
|
||||
%obj.KSSetMode++;
|
||||
if(%obj.KSSetMode >= getWordCount(%obj.client.streakList())) {
|
||||
%obj.KSSetMode = 0;
|
||||
}
|
||||
case 2:
|
||||
//Grenade Modes
|
||||
%obj.KSSetMode--;
|
||||
if(%obj.KSSetMode < 0) {
|
||||
%obj.KSSetMode = getWordCount(%obj.client.streakList());
|
||||
}
|
||||
}
|
||||
DisplayKillstreakInfo(%obj);
|
||||
}
|
||||
|
||||
function DisplayKillstreakInfo(%obj) {
|
||||
%streakList = %obj.client.streakList();
|
||||
%currentStreak = getWord(%streakList, %obj.KSSetMode);
|
||||
%strkName = getField($Killstreak[%currentStreak], 0);
|
||||
%strkCnt = %obj.client.streakCount[%currentStreak];
|
||||
|
||||
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) {
|
||||
%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.streakCount[%currentStreak]--;
|
||||
if(getWordCount(%obj.client.streakList()) == 0) {
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
%obj.setInventory(KillstreakBeacon, 0, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
switch(%currentStreak) {
|
||||
//
|
||||
//
|
||||
// UAV
|
||||
//
|
||||
//
|
||||
case 1:
|
||||
GainExperience(%obj.client, 25, "UAV Called in ");
|
||||
%obj.client.TWM2Core.UAVCalls++;
|
||||
UpdateSWBeaconFile(%obj.client, "UAV");
|
||||
|
||||
%obj.client.OnUseKillstreak(1);
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
>>>>>>> origin/development
|
||||
%count = 0;
|
||||
if(!$TWM2::FFAMode) {
|
||||
%obj.team.UAVLoop = UAVLoop(%obj, %obj.client.team, %count);
|
||||
|
|
@ -214,13 +294,21 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
}
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> origin/development
|
||||
//
|
||||
//
|
||||
// Airstrike
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "Airstrike":
|
||||
=======
|
||||
case 2:
|
||||
>>>>>>> origin/development
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -230,13 +318,21 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
%ASCam.mode = "AirstrikeCall";
|
||||
%obj.client.setControlObject(%ASCam);
|
||||
CameraMessageLoop(%obj.client, %ASCam, %ASCam.mode);
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> origin/development
|
||||
//
|
||||
//
|
||||
// UAMS
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "GM":
|
||||
=======
|
||||
case 3:
|
||||
>>>>>>> origin/development
|
||||
GainExperience(%obj.client, 50, "UAMS Called in ");
|
||||
%obj.client.TWM2Core.GMCalls++;
|
||||
%obj.client.OnUseKillstreak(3);
|
||||
|
|
@ -251,6 +347,7 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
}
|
||||
}
|
||||
CreateMissileSat(%obj.client);
|
||||
<<<<<<< HEAD
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
|
|
@ -258,12 +355,21 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
|
||||
=======
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
|
||||
|
||||
>>>>>>> origin/development
|
||||
//
|
||||
//
|
||||
// Helicopter
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "AIHeli":
|
||||
=======
|
||||
case 4:
|
||||
>>>>>>> origin/development
|
||||
if(Game.CheckModifier("Scrambler") == 1) {
|
||||
for(%i = 0; %i < MissionCleanup.getCount(); %i++) {
|
||||
%obj = MissionCleanup.getObject(%i);
|
||||
|
|
@ -290,12 +396,16 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy Helicopter Inbound");
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
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]--;
|
||||
>>>>>>> origin/development
|
||||
MakeTheHeli(%obj.client);
|
||||
|
||||
//
|
||||
|
|
@ -303,7 +413,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Harrier
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "Harrier":
|
||||
=======
|
||||
case 5:
|
||||
>>>>>>> origin/development
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -319,7 +433,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// OLS
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "OLS":
|
||||
=======
|
||||
case 6:
|
||||
>>>>>>> origin/development
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -335,7 +453,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Gunship Helicopter
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "AIGunHeli":
|
||||
=======
|
||||
case 7:
|
||||
>>>>>>> origin/development
|
||||
if(Game.CheckModifier("Scrambler") == 1) {
|
||||
for(%i = 0; %i < MissionCleanup.getCount(); %i++) {
|
||||
%obj = MissionCleanup.getObject(%i);
|
||||
|
|
@ -362,12 +484,16 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy Gunship Helicopter Inbound!!!");
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
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]--;
|
||||
>>>>>>> origin/development
|
||||
MakeTheHeli2(%obj.client, 0);
|
||||
|
||||
//
|
||||
|
|
@ -375,7 +501,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Stealth Airstrike
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "Stealth":
|
||||
=======
|
||||
case 8:
|
||||
>>>>>>> origin/development
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -391,7 +521,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Harbinger Gunship
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "HarbWrath":
|
||||
=======
|
||||
case 9:
|
||||
>>>>>>> origin/development
|
||||
GainExperience(%obj.client, 100, "Harbinger Gunship Called In ");
|
||||
if($CurrentMission $= "ChristmasMall09") {
|
||||
CompleteNWChallenge(%CallerClient, "GunshipMall");
|
||||
|
|
@ -408,12 +542,16 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy Gunship... INCOMING!!!");
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
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]--;
|
||||
>>>>>>> origin/development
|
||||
if($TWM2::UnmannedGunship) {
|
||||
StartHarbingersWrath(%obj.client, 1);
|
||||
}
|
||||
|
|
@ -426,7 +564,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Apache
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "Apache":
|
||||
=======
|
||||
case 10:
|
||||
>>>>>>> origin/development
|
||||
GainExperience(%obj.client, 100, "Apache Gunner Called in ");
|
||||
%obj.client.OnUseKillstreak(10);
|
||||
%obj.client.TWM2Core.CGCalls++;
|
||||
|
|
@ -440,12 +582,16 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy Apache... INCOMING!!!");
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
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]--;
|
||||
>>>>>>> origin/development
|
||||
MakeTheHeli(%obj.client, 1);
|
||||
|
||||
//
|
||||
|
|
@ -453,7 +599,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// AC130
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "AC130":
|
||||
=======
|
||||
case 11:
|
||||
>>>>>>> origin/development
|
||||
GainExperience(%obj.client, 100, "AC130 Called in ");
|
||||
if($CurrentMission $= "ChristmasMall09") {
|
||||
CompleteNWChallenge(%CallerClient, "GunshipMall");
|
||||
|
|
@ -470,12 +620,16 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
messageClient(%cl, 'msgHeliComing', "\c5TWM2: Enemy AC130 ABOVE!!!");
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
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]--;
|
||||
>>>>>>> origin/development
|
||||
if($TWM2::UnmannedGunship) {
|
||||
StartAC130(%obj.client, 1);
|
||||
}
|
||||
|
|
@ -488,7 +642,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// Artillery
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "Artillery":
|
||||
=======
|
||||
case 12:
|
||||
>>>>>>> origin/development
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -504,7 +662,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// EMP
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "EMP":
|
||||
=======
|
||||
case 13:
|
||||
>>>>>>> origin/development
|
||||
%obj.client.TWM2Core.EMPCalls++;
|
||||
UpdateSWBeaconFile(%obj.client, "EMP");
|
||||
GainExperience(%obj.client, 1000, "Mass EMP Called in ");
|
||||
|
|
@ -532,19 +694,27 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
}
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
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]--;
|
||||
>>>>>>> origin/development
|
||||
|
||||
//
|
||||
//
|
||||
// Nuke
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "NukeStrike":
|
||||
=======
|
||||
case 14:
|
||||
>>>>>>> origin/development
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -560,7 +730,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
// ZBomb
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "ZBomb":
|
||||
=======
|
||||
case 15:
|
||||
>>>>>>> origin/development
|
||||
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);
|
||||
|
|
@ -587,19 +761,27 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
%flcl.player.setWhiteout(1.8);
|
||||
}
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
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]--;
|
||||
>>>>>>> origin/development
|
||||
|
||||
//
|
||||
//
|
||||
// Fission
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "FBomb":
|
||||
=======
|
||||
case 16:
|
||||
>>>>>>> origin/development
|
||||
%obj.client.HasFission = 0;
|
||||
GainExperience(%obj.client, 25000, "Anti-Matter Based Fission Bomb Activated ");
|
||||
%obj.client.OnUseKillstreak(16);
|
||||
|
|
@ -608,6 +790,7 @@ 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);
|
||||
<<<<<<< HEAD
|
||||
if(%newCt == 0) {
|
||||
%obj.client.ksListInstance.removeElement(getField(%obj.client.ksListInstance.find(%strkName), 1));
|
||||
}
|
||||
|
|
@ -615,12 +798,20 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
%obj.client.ksListInstance.set(getField(%obj.client.ksListInstance.find(%strkName), 1), %strkName SPC %newCt);
|
||||
}
|
||||
|
||||
=======
|
||||
%obj.client.streakCount[%currentStreak]--;
|
||||
|
||||
>>>>>>> origin/development
|
||||
//
|
||||
//
|
||||
// Napalm
|
||||
//
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
case "Napalm":
|
||||
=======
|
||||
case 17:
|
||||
>>>>>>> origin/development
|
||||
%ASCam = new Camera() {
|
||||
dataBlock = TWM2ControlCamera;
|
||||
};
|
||||
|
|
@ -632,7 +823,11 @@ function KillstreakBeaconImage::OnFire(%data, %obj, %slot) {
|
|||
CameraMessageLoop(%obj.client, %ASCam, %ASCam.mode);
|
||||
}
|
||||
//Post-Fire Checks
|
||||
<<<<<<< HEAD
|
||||
if(%obj.client.ksListInstance.count() <= 0) {
|
||||
=======
|
||||
if(getWordCount(%obj.client.streakList()) == 0) {
|
||||
>>>>>>> origin/development
|
||||
//No more streaks in the list...
|
||||
%obj.throwWeapon(1);
|
||||
%obj.throwWeapon(0);
|
||||
|
|
@ -720,7 +915,11 @@ function ConstantBomberTurningLoop(%obj, %TPos) {
|
|||
%SwapA = -1 * getWord(%target, 0);
|
||||
%TVector = getWord(%target, 1)@" "@%SwapA@" 0";
|
||||
%obj.setRotation(fullrot("0 0 0",%TVector));
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> origin/development
|
||||
%dist = vectorDist(%TPos, %BPos);
|
||||
if(%dist < 75) {
|
||||
%obj.ReachedDest = 1;
|
||||
|
|
@ -739,7 +938,7 @@ function Airstrike(%CallerClient, %position, %dirFrom) {
|
|||
%CallerClient.TWM2Core.AirstrikeCalls++;
|
||||
UpdateSWBeaconFile(%CallerClient, "AirStrike");
|
||||
}
|
||||
|
||||
|
||||
//new stuff TWM2 2.6
|
||||
//%dirFrom = Spawn Position of Aircraft
|
||||
%THeight = getTerrainHeight(%dirFrom);
|
||||
|
|
@ -836,7 +1035,7 @@ function MakeTheHeli(%cl, %gunner) {
|
|||
if(%gunner $= "") {
|
||||
%gunner = 0;
|
||||
}
|
||||
|
||||
|
||||
if(%gunner) {
|
||||
%Heli = new FlyingVehicle() {
|
||||
dataBlock = ApacheHelicopter;
|
||||
|
|
@ -953,7 +1152,7 @@ function HeliBeginAttack(%heli, %target) {
|
|||
%heli.Targeting = schedule(500, 0, "HeliScan", %heli);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
schedule(500, 0, "HeliBeginAttack", %heli, %target);
|
||||
%clpos = %target.getPosition();
|
||||
if(vectorDist(%clpos, %pos) < 125) {
|
||||
|
|
@ -1121,7 +1320,7 @@ function MakeTheHeli2(%cl, %harrier) {
|
|||
%Heli.doneAttack = 0;
|
||||
//
|
||||
%Heli.team = %cl.team;
|
||||
|
||||
|
||||
%heli.canFireMissiles = 1;
|
||||
|
||||
%heli.Targeting = GunshipHeliScan(%heli);
|
||||
|
|
|
|||
|
|
@ -1,46 +1,3 @@
|
|||
datablock ParticleData(NMMissileBaseParticle) {
|
||||
dragCoeffiecient = 0.0;
|
||||
gravityCoefficient = -0.2;
|
||||
inheritedVelFactor = 0.0;
|
||||
|
||||
lifetimeMS = 800;
|
||||
lifetimeVarianceMS = 500;
|
||||
|
||||
useInvAlpha = false;
|
||||
spinRandomMin = -160.0;
|
||||
spinRandomMax = 160.0;
|
||||
|
||||
animateTexture = true;
|
||||
framesPerSec = 15;
|
||||
|
||||
textureName = "special/cloudflash";
|
||||
|
||||
colors[0] = "0.5 0.1 0.9 1.0";
|
||||
colors[1] = "0.5 0.1 0.9 1.0";
|
||||
colors[2] = "0.5 0.1 0.9 1.0";
|
||||
|
||||
sizes[0] = 2.5;
|
||||
sizes[1] = 2.7;
|
||||
sizes[2] = 3.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.7;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(NMMissileBaseEmitter) {
|
||||
ejectionPeriodMS = 10;
|
||||
periodVarianceMS = 0;
|
||||
|
||||
ejectionVelocity = 1.5;
|
||||
velocityVariance = 0.3;
|
||||
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 30.0;
|
||||
|
||||
particles = "NMMissileBaseParticle";
|
||||
};
|
||||
|
||||
datablock LinearFlareProjectileData(ShadowRifleBolt) {
|
||||
projectileShapeName = "turret_muzzlepoint.dts";
|
||||
scale = "1.0 1.0 1.0";
|
||||
|
|
|
|||
BIN
terrains/Flatland.nav
Normal file
BIN
terrains/Flatland.nav
Normal file
Binary file not shown.
BIN
terrains/Flatland.spn
Normal file
BIN
terrains/Flatland.spn
Normal file
Binary file not shown.
1
terrains/Flatland.ter
Normal file
1
terrains/Flatland.ter
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue