mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-01-19 19:44:47 +00:00
Killstreak System Update
Nuked a ton of unnecessary code. Made a few minor adjustments.
This commit is contained in:
parent
3f83b309a6
commit
f226c40a54
|
|
@ -54,7 +54,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasAirstrike && !%client.UnlimitedAS) {
|
||||
if(%client.ksListInstance.find("Airstrike") == -1 && !%client.UnlimitedAS) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -79,7 +79,13 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
if(!%client.UnlimitedAS) {
|
||||
%client.HasAirstrike = 0;
|
||||
%newCt = getField(%client.ksListInstance.find("Airstrike"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Airstrike"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Airstrike"), 1), "Airstrike" SPC %newCt);
|
||||
}
|
||||
GainExperience(%client, 35, "Airstrike called in ");
|
||||
}
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Airstrike", 5, 2);
|
||||
|
|
@ -95,7 +101,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasHarrier) {
|
||||
if(%client.ksListInstance.find("Harrier") == -1) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -117,7 +123,13 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%client.HasHarrier = 0;
|
||||
%newCt = getField(%client.ksListInstance.find("Harrier"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Harrier"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Harrier"), 1), "Harrier" SPC %newCt);
|
||||
}
|
||||
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);
|
||||
|
|
@ -132,7 +144,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasNapalmHarrier) {
|
||||
if(%client.ksListInstance.find("Napalm") == -1) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -154,7 +166,13 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%client.HasNapalmHarrier = 0;
|
||||
%newCt = getField(%client.ksListInstance.find("Napalm"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Napalm"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Napalm"), 1), "Napalm" SPC %newCt);
|
||||
}
|
||||
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);
|
||||
|
|
@ -169,7 +187,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasOLS) {
|
||||
if(%client.ksListInstance.find("OLS") == -1) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -183,7 +201,13 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%client.HasOLS = 0;
|
||||
%newCt = getField(%client.ksListInstance.find("OLS"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("OLS"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("OLS"), 1), "OLS" SPC %newCt);
|
||||
}
|
||||
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);
|
||||
|
|
@ -198,7 +222,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasSlthAirstrike) {
|
||||
if(%client.ksListInstance.find("Stealth") == -1) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -220,7 +244,13 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%client.HasSlthAirstrike = 0;
|
||||
%newCt = getField(%client.ksListInstance.find("Stealth"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Stealth"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Stealth"), 1), "Stealth" SPC %newCt);
|
||||
}
|
||||
GainExperience(%client, 150, "Stealth Bomber Airstrike called in ");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Stealth Bomber", 5, 2);
|
||||
StealthAirstrike(%client, %position, %direction);
|
||||
|
|
@ -234,7 +264,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasArtillery) {
|
||||
if(%client.ksListInstance.find("Artillery") == -1) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -248,10 +278,14 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
//if(!%client.UnlimitedAS) {
|
||||
%client.HasArtillery = 0;
|
||||
GainExperience(%client, 250, "Artillery called in ");
|
||||
//}
|
||||
%newCt = getField(%client.ksListInstance.find("Artillery"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("Artillery"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("Artillery"), 1), "Artillery" SPC %newCt);
|
||||
}
|
||||
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);
|
||||
|
|
@ -265,7 +299,7 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasNuke) {
|
||||
if(%client.ksListInstance.find("NukeStrike") == -1) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
|
|
@ -279,10 +313,14 @@ function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
|||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
//if(!%client.UnlimitedAS) {
|
||||
%client.HasNuke = 0;
|
||||
GainExperience(%client, 500, "Nuclear Missile called in ");
|
||||
//}
|
||||
%newCt = getField(%client.ksListInstance.find("NukeStrike"), 1) - 1;
|
||||
if(%newCt == 0) {
|
||||
%client.ksListInstance.removeElement(getField(%client.ksListInstance.find("NukeStrike"), 1));
|
||||
}
|
||||
else {
|
||||
%client.ksListInstance.set(getField(%client.ksListInstance.find("NukeStrike"), 1), "NukeStrike" SPC %newCt);
|
||||
}
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ Error("********************************************");
|
|||
//Mod Systems
|
||||
exec("serverControl.cs"); //Server Settings
|
||||
|
||||
exec("scripts/TWM2/Systems/List.cs"); //List Instance
|
||||
exec("scripts/TWM2/Systems/Directorate.cs"); //Client Container Objects
|
||||
exec("scripts/TWM2/Systems/AdvancedRankSystem.cs"); //Adv. Ranks
|
||||
exec("scripts/TWM2/Systems/MainControl.cs"); //TWM2 Core Functions
|
||||
|
|
|
|||
|
|
@ -295,62 +295,14 @@ function GameConnection::isActiveStreak(%client, %val) {
|
|||
}
|
||||
|
||||
function GiveTWM2Weapons(%client) {
|
||||
if(%client.HasUAV) {
|
||||
%client.player.setInventory(UAVCaller, 1, true);
|
||||
}
|
||||
if(%client.HasAirstrike) {
|
||||
%client.player.setInventory(AirstrikeCaller, 1, true);
|
||||
}
|
||||
if(%client.HasHeli) {
|
||||
%client.player.setInventory(HeliCaller, 1, true);
|
||||
}
|
||||
if(%client.HasAmmoDrop) {
|
||||
%client.player.setInventory(AmmoDropCaller, 1, true);
|
||||
}
|
||||
if(%client.HasGM) {
|
||||
%client.player.setInventory(GMCaller, 1, true);
|
||||
}
|
||||
if(%client.HasHarbinsWrath) {
|
||||
%client.player.setInventory(HarbinsWrathCaller, 1, true);
|
||||
}
|
||||
if(%client.HasChopperGunner) {
|
||||
%client.player.setInventory(ChopperGunnerCaller, 1, true);
|
||||
}
|
||||
if(%client.HasSlthAirstrike) {
|
||||
%client.player.setInventory(StealthAirstrikeCaller, 1, true);
|
||||
}
|
||||
if(%client.HasArtillery) {
|
||||
%client.player.setInventory(ArtilleryCaller, 1, true);
|
||||
}
|
||||
if(%client.HasAcGunner) {
|
||||
%client.player.setInventory(AC130Caller, 1, true);
|
||||
}
|
||||
if(%client.HasNuke) {
|
||||
%client.player.setInventory(NukeCaller, 1, true);
|
||||
}
|
||||
if(%client.HasOLS) {
|
||||
%client.player.setInventory(OLSCaller, 1, true);
|
||||
}
|
||||
if(%client.HasZBomb) {
|
||||
%client.player.setInventory(ZBombCaller, 1, true);
|
||||
}
|
||||
if(%client.HasGunshipHeli) {
|
||||
%client.player.setInventory(GunshipHeliCaller, 1, true);
|
||||
}
|
||||
if(%client.HasHarrier) {
|
||||
%client.player.setInventory(HarrierAirstrikeCaller, 1, true);
|
||||
}
|
||||
if(%client.HasFission) {
|
||||
%client.player.setInventory(FissionBombCaller, 1, true);
|
||||
}
|
||||
if(%client.HasFullTeamRespawn) {
|
||||
%client.player.setInventory(FullTeamRespawnCaller, 1, true);
|
||||
}
|
||||
if(%client.HasMassEMP) {
|
||||
%client.player.setInventory(MassEMPCaller, 1, true);
|
||||
}
|
||||
if(%client.HasNapalmHarrier) {
|
||||
%client.player.setInventory(NapalmHarrierAirstrikeCaller, 1, true);
|
||||
if(%client.ksListInstance.count() > 0) {
|
||||
%client.player.setInventory(KillstreakBeacon, 1, true);
|
||||
}
|
||||
if(!%client.isconfiscated) {
|
||||
if (%client.isAdmin) {
|
||||
|
|
@ -370,75 +322,114 @@ function GameConnection::AwardKillstreak(%client, %streakVal, %plz) {
|
|||
if(!%client.isActiveStreak(%streakVal) && ($Killstreak::Setting != 2) && !$TWM::PlayingHelljump) {
|
||||
return;
|
||||
}
|
||||
if(!%client.ksListInstance) {
|
||||
%client.ksListInstance = initList();
|
||||
}
|
||||
%client.player.setInventory(KillstreakBeacon, 1, true);
|
||||
%cAmt = 0;
|
||||
switch(%streakVal) {
|
||||
case 1:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: UAV Recon at Your Disposal.");
|
||||
%client.HasUAV = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(UAVCaller, 1, true);
|
||||
if(%client.ksListInstance.find("UAV") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("UAV"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("UAV", "UAV "@%cAmt+1);
|
||||
case 2:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Airstrike Standing By.");
|
||||
%client.HasAirstrike = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(AirstrikeCaller, 1, true);
|
||||
if(%client.ksListInstance.find("Airstrike") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Airstrike"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("Airstrike", "Airstrike "@%cAmt+1);
|
||||
case 3:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Guided Missile Strike Standing By.");
|
||||
%client.HasGM = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(GMCaller, 1, true);
|
||||
if(%client.ksListInstance.find("GM") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("GM"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("GM", "GM "@%cAmt+1);
|
||||
case 4:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Helicopter at your disposal.");
|
||||
%client.HasHeli = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(HeliCaller, 1, true);
|
||||
if(%client.ksListInstance.find("AIHeli") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("AIHeli"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("AIHeli", "AIHeli "@%cAmt+1);
|
||||
case 5:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Plasma Harrier Strike at your disposal.");
|
||||
%client.HasHarrier = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(HarrierAirstrikeCaller, 1, true);
|
||||
if(%client.ksListInstance.find("Harrier") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Harrier"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("Harrier", "Harrier "@%cAmt+1);
|
||||
case 6:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Satellite Strike at your disposal.");
|
||||
%client.HasOLS = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(OLSCaller, 1, true);
|
||||
if(%client.ksListInstance.find("OLS") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("OLS"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("OLS", "OLS "@%cAmt+1);
|
||||
case 7:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Gunship Helicopter at your disposal.");
|
||||
%client.HasGunshipHeli = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(GunshipHeliCaller, 1, true);
|
||||
if(%client.ksListInstance.find("AIGunHeli") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("AIGunHeli"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("AIGunHeli", "AIGunHeli "@%cAmt+1);
|
||||
case 8:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Stealth Bomber at your disposal.");
|
||||
%client.HasSlthAirstrike = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(StealthAirstrikeCaller, 1, true);
|
||||
if(%client.ksListInstance.find("Stealth") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Stealth"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("Stealth", "Stealth "@%cAmt+1);
|
||||
case 9:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Harbinger's Wrath Standing By.");
|
||||
%client.HasHarbinsWrath = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(HarbinsWrathCaller, 1, true);
|
||||
if(%client.ksListInstance.find("HarbWrath") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("HarbWrath"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("HarbWrath", "HarbWrath "@%cAmt+1);
|
||||
case 10:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Apache Gunner Standing By.");
|
||||
%client.HasChopperGunner = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(ChopperGunnerCaller, 1, true);
|
||||
if(%client.ksListInstance.find("Apache") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Apache"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("Apache", "Apache "@%cAmt+1);
|
||||
case 11:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: AC-130 Gunner Standing By.");
|
||||
%client.HasAcGunner = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(AC130Caller, 1, true);
|
||||
if(%client.ksListInstance.find("AC130") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("AC130"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("AC130", "AC130 "@%cAmt+1);
|
||||
case 12:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Centaur Bombardment Standing By.");
|
||||
%client.HasArtillery = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(ArtilleryCaller, 1, true);
|
||||
if(%client.ksListInstance.find("Artillery") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Artillery"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("Artillery", "Artillery "@%cAmt+1);
|
||||
case 13:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Mass EMP Standing By.");
|
||||
%client.HasMassEMP = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(MassEMPCaller, 1, true);
|
||||
if(%client.ksListInstance.find("EMP") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("EMP"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("EMP", "EMP "@%cAmt+1);
|
||||
case 14:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Nuclear Strike Standing By.");
|
||||
%client.HasNuke = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(NukeCaller, 1, true);
|
||||
if(%client.ksListInstance.find("NukeStrike") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("NukeStrike"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("NukeStrike", "NukeStrike "@%cAmt+1);
|
||||
case 15:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Zombie Bomb Standing By... wait... holy fuck, you got "@$Killstreak::Kills["ZBomb", 1]@" zombie kills without dying!?!?");
|
||||
%client.HasZBomb = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(ZBombCaller, 1, true);
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Zombie Bomb Standing By.");
|
||||
if(%client.ksListInstance.find("ZBomb") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("ZBomb"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("ZBomb", "ZBomb "@%cAmt+1);
|
||||
case 16:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Fission Bomb Ready... Obliterate everyone!!!");
|
||||
%client.HasFission = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(FissionBombCaller, 1, true);
|
||||
if(%client.ksListInstance.find("FBomb") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("FBomb"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("FBomb", "FBomb "@%cAmt+1);
|
||||
case 17:
|
||||
MessageClient(%client, 'MsgZKill', "\c5TWM2: Napalm Airstrike at your disposal.");
|
||||
%client.HasNapalmHarrier = 1; //heh, now we can use it if we die
|
||||
%client.player.setInventory(NapalmHarrierAirstrikeCaller, 1, true);
|
||||
if(%client.ksListInstance.find("Napalm") != -1) {
|
||||
%cAmt = getWord(getField(%client.ksListInstance.find("Napalm"), 0), 1);
|
||||
}
|
||||
%client.ksListIntance.advancedAdd("Napalm", "Napalm "@%cAmt+1);
|
||||
}
|
||||
if(%plz == 0) {
|
||||
if(%client.IsHighestPLStreak(%streakVal)) {
|
||||
|
|
|
|||
69
scripts/TWM2/Systems/List.cs
Normal file
69
scripts/TWM2/Systems/List.cs
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
// List.cs
|
||||
// Phantom139
|
||||
// TWM2 3.9
|
||||
// Declares a simple container system for list properties.
|
||||
|
||||
function initList() {
|
||||
%list = new ScriptObject() {
|
||||
class = "ListInstance";
|
||||
numberOfElements = 0;
|
||||
};
|
||||
return %list;
|
||||
}
|
||||
|
||||
function ListInstance::advancedAdd(%this, %elementTxt, %newValue) {
|
||||
if(%this.find(%elementTxt) == -1) {
|
||||
%this.addElement(%newValue);
|
||||
}
|
||||
else {
|
||||
%indx = getField(%this.find(%elementTxt), 1);
|
||||
%this.set(%indx, %newValue);
|
||||
}
|
||||
}
|
||||
|
||||
function ListInstance::set(%this, %index, %new) {
|
||||
%this.element[%index] = %new;
|
||||
}
|
||||
|
||||
function ListInstance::addElement(%this, %element) {
|
||||
%this.element[%this.numberOfElements] = %element;
|
||||
%this.numberOfElements++;
|
||||
}
|
||||
|
||||
function ListInstance::removeElement(%this, %index) {
|
||||
if(%index > %this.count() || %index < 0) {
|
||||
error("ListInstance::removeElements("@%index@"): Specified index is out of list bounds.");
|
||||
return;
|
||||
}
|
||||
%this.element[%this.numberOfElements] = "";
|
||||
%this.compactList();
|
||||
}
|
||||
|
||||
function ListInstance::element(%this, %index) {
|
||||
return %this.element[%index];
|
||||
}
|
||||
|
||||
function ListInstance::count(%this) {
|
||||
return %this.numberOfElements;
|
||||
}
|
||||
|
||||
function ListInstance::find(%this, %key) {
|
||||
for(%i = %this.count(); %i >= 0; %i--) {
|
||||
if(strstr(%this.element[%i], %key) == 0) {
|
||||
return %this.element[%i] TAB %i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
function ListInstance::compactList(%this) {
|
||||
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];
|
||||
}
|
||||
%this.numberOfElements--;
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue