mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-07-13 23:44:38 +00:00
Prep for July 4th
Added in the necessary hooks to the daily challenge system for the July 4th event.
This commit is contained in:
parent
04f85e58a6
commit
66218bf83b
5 changed files with 230 additions and 203 deletions
2
JTLdelDSO.bat
Normal file
2
JTLdelDSO.bat
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
del /s /q "..\base\*.dso"
|
||||||
|
del /s /q "*.dso"
|
||||||
|
|
@ -427,6 +427,12 @@ function HordeNextWave(%game, %wave) {
|
||||||
$HordeGame::RevivesLeft++;
|
$HordeGame::RevivesLeft++;
|
||||||
}
|
}
|
||||||
$HordeGame::CurrentWave = %wave;
|
$HordeGame::CurrentWave = %wave;
|
||||||
|
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||||
|
%cl = ClientGroup.getObject(%i);
|
||||||
|
if(%wave != 1) {
|
||||||
|
recordAction(%cl, "HORDEWAVE", %wave-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
HordeKillAllZombies(); //Cleans up the server
|
HordeKillAllZombies(); //Cleans up the server
|
||||||
if($HordeGame::CurrentWave == 51) { //Victory
|
if($HordeGame::CurrentWave == 51) { //Victory
|
||||||
for (%i = 0; %i < ClientGroup.getCount(); %i++) {
|
for (%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||||
|
|
|
||||||
|
|
@ -127,80 +127,86 @@ function doChallengeKillRecording(%sourceObject, %targetObject) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function recordAction(%client, %action, %variables) {
|
function recordAction(%client, %action, %variables) {
|
||||||
%ymd = formattimestring("yymmdd");
|
%ymd = formattimestring("yymmdd");
|
||||||
%so = %client.TWM2Controller;
|
%so = %client.TWM2Controller;
|
||||||
//echo(""@%client@" - "@%action@" - "@%variables@"");
|
//echo(""@%client@" - "@%action@" - "@%variables@"");
|
||||||
//
|
//
|
||||||
switch$(%action) {
|
switch$(%action) {
|
||||||
case "CCMP":
|
case "CCMP":
|
||||||
%so.completed[getField(%variables, 0), %ymd] = getField(%variables, 1);
|
%so.completed[getField(%variables, 0), %ymd] = getField(%variables, 1);
|
||||||
case "BOSS":
|
case "BOSS":
|
||||||
%so.bossSlayCount[getField(%variables, 0), %ymd] += 1;
|
%so.bossSlayCount[getField(%variables, 0), %ymd] += 1;
|
||||||
case "PKC":
|
case "PKC":
|
||||||
//player kill count
|
//player kill count
|
||||||
if(getField(%variables, 0) $= "total") {
|
if(getField(%variables, 0) $= "total") {
|
||||||
%so.totalPlayerKillCount[%ymd] += getField(%variables, 1);
|
%so.totalPlayerKillCount[%ymd] += getField(%variables, 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
%so.PlayerKillCount[%ymd, getField(%variables, 1)] += getField(%variables, 2);
|
%so.PlayerKillCount[%ymd, getField(%variables, 1)] += getField(%variables, 2);
|
||||||
}
|
}
|
||||||
case "ZKC":
|
case "ZKC":
|
||||||
if(getField(%variables, 0) $= "total") {
|
if(getField(%variables, 0) $= "total") {
|
||||||
%so.totalZombieKillCount[%ymd] += getField(%variables, 1);
|
%so.totalZombieKillCount[%ymd] += getField(%variables, 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//a 3-case would have all of these filed
|
//a 3-case would have all of these filed
|
||||||
if(!isSet(getField(%variables, 3))) {
|
if(!isSet(getField(%variables, 3))) {
|
||||||
%so.ZombieKillCount[%ymd, 0, getField(%variables, 1)] += getField(%variables, 2);
|
%so.ZombieKillCount[%ymd, 0, getField(%variables, 1)] += getField(%variables, 2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
%so.ZombieKillCount[%ymd, getField(%variables, 1), getField(%variables, 2)] += getField(%variables, 3);
|
%so.ZombieKillCount[%ymd, getField(%variables, 1), getField(%variables, 2)] += getField(%variables, 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "HSC":
|
case "HSC":
|
||||||
if(getField(%variables, 0) !$= "zombie") {
|
if(getField(%variables, 0) !$= "zombie") {
|
||||||
%so.playerHeadshots[%ymd] += getField(%variables, 1);
|
%so.playerHeadshots[%ymd] += getField(%variables, 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
%so.zombieHeadshots[%ymd] += getField(%variables, 1);
|
%so.zombieHeadshots[%ymd] += getField(%variables, 1);
|
||||||
}
|
}
|
||||||
case "KSCC":
|
case "KSCC":
|
||||||
%so.killstreakCalls[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
%so.killstreakCalls[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
||||||
case "KSKC":
|
case "KSKC":
|
||||||
%so.killstreakKills[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
%so.killstreakKills[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
||||||
case "SKC":
|
case "SKC":
|
||||||
%so.successiveSolo[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
%so.successiveSolo[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
||||||
case "SKSC":
|
case "SKSC":
|
||||||
%so.successiveStreak[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
%so.successiveStreak[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
||||||
case "BOMBARM":
|
case "BOMBARM":
|
||||||
%so.bombArm[%ymd, $CurrentMission] += 1;
|
%so.bombArm[%ymd, $CurrentMission] += 1;
|
||||||
%so.bombArmTotal[%ymd] += 1;
|
%so.bombArmTotal[%ymd] += 1;
|
||||||
case "BOMBDIS":
|
case "BOMBDIS":
|
||||||
%so.bombDisarm[%ymd, $CurrentMission] += 1;
|
%so.bombDisarm[%ymd, $CurrentMission] += 1;
|
||||||
%so.bombDisarmTotal[%ymd] += 1;
|
%so.bombDisarmTotal[%ymd] += 1;
|
||||||
case "SABWIN":
|
case "SABWIN":
|
||||||
%so.sabotageRoundWins[%ymd, $CurrentMission] += 1;
|
%so.sabotageRoundWins[%ymd, $CurrentMission] += 1;
|
||||||
%so.sabotageRoundWinTotal[%ymd] += 1;
|
%so.sabotageRoundWinTotal[%ymd] += 1;
|
||||||
case "AREACAP":
|
case "AREACAP":
|
||||||
%so.areaCapture[%ymd, $CurrentMission] += 1;
|
%so.areaCapture[%ymd, $CurrentMission] += 1;
|
||||||
%so.areaCaptureTotal[%ymd] += 1;
|
%so.areaCaptureTotal[%ymd] += 1;
|
||||||
case "DOMWIN":
|
case "HORDEWAVE":
|
||||||
%so.dominationRoundWins[%ymd, $CurrentMission] += 1;
|
%so.totalHordeWavesCompleted[%ymd] += 1;
|
||||||
%so.dominationRoundWinTotal[%ymd] += 1;
|
%cWave = getField(%variables, 0);
|
||||||
case "EXPGAIN":
|
if(%cWave > %so.highestHordeWave[%ymd]) {
|
||||||
%so.dailyEXPGain[%ymd] += getField(%variables, 0);
|
%so.highestHordeWave[%ymd] = %cWave;
|
||||||
case "BACK":
|
}
|
||||||
if(getField(%variables, 0) $= "zombie") {
|
case "DOMWIN":
|
||||||
%so.zombieBackstabs[%ymd] += 1;
|
%so.dominationRoundWins[%ymd, $CurrentMission] += 1;
|
||||||
}
|
%so.dominationRoundWinTotal[%ymd] += 1;
|
||||||
else {
|
case "EXPGAIN":
|
||||||
%so.playerBackstabs[%ymd] += 1;
|
%so.dailyEXPGain[%ymd] += getField(%variables, 0);
|
||||||
}
|
case "BACK":
|
||||||
default:
|
if(getField(%variables, 0) $= "zombie") {
|
||||||
//no action recorded
|
%so.zombieBackstabs[%ymd] += 1;
|
||||||
}
|
}
|
||||||
allCheckCompletion(%client);
|
else {
|
||||||
updateChallengeFile(%client);
|
%so.playerBackstabs[%ymd] += 1;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
//no action recorded
|
||||||
|
}
|
||||||
|
allCheckCompletion(%client);
|
||||||
|
updateChallengeFile(%client);
|
||||||
}
|
}
|
||||||
|
|
||||||
function cleanChallenges() {
|
function cleanChallenges() {
|
||||||
|
|
@ -239,129 +245,139 @@ function allCheckCompletion(%client) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkCompletion(%client, %cID) {
|
function checkCompletion(%client, %cID) {
|
||||||
%challenge = $Challenges::Challenge[%cID];
|
%challenge = $Challenges::Challenge[%cID];
|
||||||
%cType = trim(getField(%challenge, 0));
|
%cType = trim(getField(%challenge, 0));
|
||||||
%cCond = getsubstr(getField(%challenge, 3), 1, strlen(getField(%challenge, 3)));
|
%cCond = getsubstr(getField(%challenge, 3), 1, strlen(getField(%challenge, 3)));
|
||||||
%so = %client.TWM2Controller;
|
%so = %client.TWM2Controller;
|
||||||
%dateStr = formattimestring("yymmdd");
|
%dateStr = formattimestring("yymmdd");
|
||||||
//cannot complete the same one twice :P
|
//cannot complete the same one twice :P
|
||||||
if(%so.completed[%cid, %dateStr]) {
|
if(%so.completed[%cid, %dateStr]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
switch$(getWord(%cCond, 0)) {
|
switch$(getWord(%cCond, 0)) {
|
||||||
case "E":
|
case "E":
|
||||||
%killCount = getWord(%cCond, 1);
|
%killCount = getWord(%cCond, 1);
|
||||||
%killDB = getWord(%cCond, 2) $= "A" ? 0 : getWord(%cCond, 2);
|
%killDB = getWord(%cCond, 2) $= "A" ? 0 : getWord(%cCond, 2);
|
||||||
if(%killDB != 0) {
|
if(%killDB != 0) {
|
||||||
if(%so.PlayerKillCount[%dateStr, %killDB] >= %killCount) {
|
if(%so.PlayerKillCount[%dateStr, %killDB] >= %killCount) {
|
||||||
%done = true;
|
%done = true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(%so.totalPlayerKillCount[%dateStr] >= %killCount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case "Z":
|
|
||||||
%killCount = getWord(%cCond, 1);
|
|
||||||
%killedType = getWord(%cCond, 2) $= "A" ? -1 : getWord(%cCond, 2);
|
|
||||||
%killDB = getWord(%cCond, 3) $= "A" ? 0 : getWord(%cCond, 3);
|
|
||||||
if(%killDB != 0) {
|
|
||||||
if(%killedType != -1) {
|
|
||||||
if(%so.ZombieKillCount[%dateStr, %killDB, %killedType] >= %killCount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(%so.ZombieKillCount[%dateStr, %killDB, ""] >= %killCount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(%killedType != -1) {
|
|
||||||
if(%so.ZombieKillCount[%dateStr, 0, %killedType] >= %killCount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(%so.totalZombieKillCount[%dateStr] >= %killCount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case "HS":
|
|
||||||
%counter = getWord(%cCond, 1);
|
|
||||||
%type = getWord(%cCond, 2) $= "E" ? "E" : "Z";
|
|
||||||
if(%type $= "E") {
|
|
||||||
if(%so.playerHeadshots[%dateStr] >= %counter) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(%so.zombieHeadshots[%dateStr] >= %counter) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case "KS":
|
|
||||||
%type = getWord(%cCond, 1);
|
|
||||||
%ammount = getWord(%cCond, 2);
|
|
||||||
if(%so.killstreakCalls[%dateStr, %type] >= %ammount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
case "KSK":
|
|
||||||
%type = getWord(%cCond, 1);
|
|
||||||
%ammount = getWord(%cCond, 2);
|
|
||||||
if(%so.killstreakKills[%dateStr, %type] >= %ammount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
case "SK":
|
|
||||||
%soloType = getWord(%cCond, 1);
|
|
||||||
%ammount = getWord(%cCond, 2);
|
|
||||||
if(%so.successiveSolo[%dateStr, %soloType] >= %ammount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
case "SKS":
|
|
||||||
%streakType = getWord(%cCond, 1);
|
|
||||||
%ammount = getWord(%cCond, 2);
|
|
||||||
if(%so.successiveStreak[%dateStr, %streakType] >= %ammount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
case "Prestige":
|
|
||||||
%level = getWord(%cCond, 1);
|
|
||||||
if(%client.TWM2Core.officer >= %level) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
case "Boss":
|
|
||||||
%name = getWord(%cCond, 1);
|
|
||||||
%amount = getWord(%cCond, 2);
|
|
||||||
if(%so.bossSlayCount[%name, %dateStr] >= %amount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
|
||||||
case "Back":
|
|
||||||
%zOrA = getWord(%cCond, 1);
|
|
||||||
%amount = getWord(%cCond, 2);
|
|
||||||
if(%zOrA $= "Z") {
|
|
||||||
if(%so.zombieBackstabs[%dateStr] >= %amount) {
|
|
||||||
%done = true;
|
|
||||||
}
|
}
|
||||||
}
|
else {
|
||||||
else {
|
if(%so.totalPlayerKillCount[%dateStr] >= %killCount) {
|
||||||
if(%so.playerBackstabs[%dateStr] >= %amount) {
|
%done = true;
|
||||||
%done = true;
|
}
|
||||||
}
|
}
|
||||||
}
|
case "Z":
|
||||||
default:
|
%killCount = getWord(%cCond, 1);
|
||||||
error("Unknown challenge in parser...");
|
%killedType = getWord(%cCond, 2) $= "A" ? -1 : getWord(%cCond, 2);
|
||||||
}
|
%killDB = getWord(%cCond, 3) $= "A" ? 0 : getWord(%cCond, 3);
|
||||||
if(%done) {
|
if(%killDB != 0) {
|
||||||
%cName = getField(%challenge, 1);
|
if(%killedType != -1) {
|
||||||
%CRewd = getField(%challenge, 4);
|
if(%so.ZombieKillCount[%dateStr, %killDB, %killedType] >= %killCount) {
|
||||||
CenterPrint(%client, "CHALLENGE COMPLETED\n"@%cName@"", 3, 3);
|
%done = true;
|
||||||
GainExperience(%client, %cRewd, %cName@" Challenge Completed");
|
}
|
||||||
recordAction(%client, "CCMP", ""@%cid@"\t1");
|
}
|
||||||
}
|
else {
|
||||||
|
if(%so.ZombieKillCount[%dateStr, %killDB, ""] >= %killCount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(%killedType != -1) {
|
||||||
|
if(%so.ZombieKillCount[%dateStr, 0, %killedType] >= %killCount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(%so.totalZombieKillCount[%dateStr] >= %killCount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "HS":
|
||||||
|
%counter = getWord(%cCond, 1);
|
||||||
|
%type = getWord(%cCond, 2) $= "E" ? "E" : "Z";
|
||||||
|
if(%type $= "E") {
|
||||||
|
if(%so.playerHeadshots[%dateStr] >= %counter) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(%so.zombieHeadshots[%dateStr] >= %counter) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "KS":
|
||||||
|
%type = getWord(%cCond, 1);
|
||||||
|
%amount = getWord(%cCond, 2);
|
||||||
|
if(%so.killstreakCalls[%dateStr, %type] >= %amount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
case "KSK":
|
||||||
|
%type = getWord(%cCond, 1);
|
||||||
|
%amount = getWord(%cCond, 2);
|
||||||
|
if(%so.killstreakKills[%dateStr, %type] >= %amount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
case "SK":
|
||||||
|
%soloType = getWord(%cCond, 1);
|
||||||
|
%amount = getWord(%cCond, 2);
|
||||||
|
if(%so.successiveSolo[%dateStr, %soloType] >= %ammount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
case "SKS":
|
||||||
|
%streakType = getWord(%cCond, 1);
|
||||||
|
%amount = getWord(%cCond, 2);
|
||||||
|
if(%so.successiveStreak[%dateStr, %streakType] >= %ammount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
case "Horde":
|
||||||
|
%waveNum = getWord(%cCond, 1);
|
||||||
|
if(%so.highestHordeWave[%dateStr] >= %waveNum) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
case "HordeWaves":
|
||||||
|
%amount = getWord(%cCond, 1);
|
||||||
|
if(%so.totalHordeWavesCompleted[%dateStr] >= %amount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
case "Prestige":
|
||||||
|
%level = getWord(%cCond, 1);
|
||||||
|
if(%client.TWM2Core.officer >= %level) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
case "Boss":
|
||||||
|
%name = getWord(%cCond, 1);
|
||||||
|
%amount = getWord(%cCond, 2);
|
||||||
|
if(%so.bossSlayCount[%name, %dateStr] >= %amount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
case "Back":
|
||||||
|
%zOrA = getWord(%cCond, 1);
|
||||||
|
%amount = getWord(%cCond, 2);
|
||||||
|
if(%zOrA $= "Z") {
|
||||||
|
if(%so.zombieBackstabs[%dateStr] >= %amount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(%so.playerBackstabs[%dateStr] >= %amount) {
|
||||||
|
%done = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
error("Unknown challenge in parser...");
|
||||||
|
}
|
||||||
|
if(%done) {
|
||||||
|
%cName = getField(%challenge, 1);
|
||||||
|
%CRewd = getField(%challenge, 4);
|
||||||
|
CenterPrint(%client, "CHALLENGE COMPLETED\n"@%cName@"", 3, 3);
|
||||||
|
GainExperience(%client, %cRewd, %cName@" Challenge Completed");
|
||||||
|
recordAction(%client, "CCMP", ""@%cid@"\t1");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Check Multi-Completion (handles weekly & monthly challenges)
|
//Check Multi-Completion (handles weekly & monthly challenges)
|
||||||
|
|
@ -441,7 +457,7 @@ function checkMultiCompletion(%client, %cID) {
|
||||||
%done = true;
|
%done = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(getCurrentMonthTotal(%client, ZombieKillCount, 0 SPC %killedType) >= %killCount) {
|
if(getCurrentMonthTotal(%client, ZombieKillCount, 0 SPC %killedType) >= %killCount) {
|
||||||
%done = true;
|
%done = true;
|
||||||
}
|
}
|
||||||
|
|
@ -459,7 +475,7 @@ function checkMultiCompletion(%client, %cID) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "HS":
|
case "HS":
|
||||||
%counter = getWord(%cCond, 1);
|
%counter = getWord(%cCond, 1);
|
||||||
%type = getWord(%cCond, 2) $= "E" ? "E" : "Z";
|
%type = getWord(%cCond, 2) $= "E" ? "E" : "Z";
|
||||||
|
|
|
||||||
|
|
@ -690,18 +690,25 @@ function TWM2Damage(%projectile, %target, %amount, %dType, %damLoc, %type) {
|
||||||
if(strStr(%SDB.getClassName(), "Turret") != -1) {
|
if(strStr(%SDB.getClassName(), "Turret") != -1) {
|
||||||
if(%SDB.getName() $= "HarbingerGunshipTurret") {
|
if(%SDB.getName() $= "HarbingerGunshipTurret") {
|
||||||
%projectile.sourceObject = %projectile.sourceObject.mountobj;
|
%projectile.sourceObject = %projectile.sourceObject.mountobj;
|
||||||
|
%sourceObject = %projectile.sourceObject;
|
||||||
|
%SDB = %sourceObject.getDataBlock();
|
||||||
}
|
}
|
||||||
else if(%SDB.getName() $= "AC130GunshipTurret") {
|
else if(%SDB.getName() $= "AC130GunshipTurret") {
|
||||||
%projectile.sourceObject = %projectile.sourceObject.mountobj;
|
%projectile.sourceObject = %projectile.sourceObject.mountobj;
|
||||||
|
%sourceObject = %projectile.sourceObject;
|
||||||
|
%SDB = %sourceObject.getDataBlock();
|
||||||
}
|
}
|
||||||
else if(%SDB.getName() $= "CentaurTurret") {
|
else if(%SDB.getName() $= "CentaurTurret") {
|
||||||
%projectile.sourceObject = %projectile.sourceObject.source;
|
%projectile.sourceObject = %projectile.sourceObject.source;
|
||||||
|
%sourceObject = %projectile.sourceObject;
|
||||||
|
%SDB = %sourceObject.getDataBlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
//vehicle kill checking
|
//vehicle kill checking
|
||||||
|
//NOTE: THIS DOESN'T GO HERE!!!
|
||||||
if(strStr(%SDB.getClassName(), "Vehicle") != -1) {
|
if(strStr(%SDB.getClassName(), "Vehicle") != -1) {
|
||||||
if(%target.isPlayer() && %target.getState() $= "dead") {
|
if((%target.getType() & ($TypeMasks::PlayerObjectType)) && %target.getState() $= "dead") {
|
||||||
%pl = %sourceObject.getMountNodeObject(0); //the pilot
|
%pl = %sourceObject.getMountNodeObject(0); //the pilot
|
||||||
%cl = %pl.client;
|
%cl = %pl.client;
|
||||||
if(%cl !$= "") {
|
if(%cl !$= "") {
|
||||||
|
|
@ -717,9 +724,7 @@ function TWM2Damage(%projectile, %target, %amount, %dType, %damLoc, %type) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!%target.isAllyBot) {
|
UpdateVehicleKillFile(%cl, %SDB.getName());
|
||||||
UpdateVehicleKillFile(%cl, %SDB.getName());
|
|
||||||
}
|
|
||||||
//
|
//
|
||||||
if(%TDB $= "DemonMotherZombieArmor" && %SDB $= "CentaurVehicle") {
|
if(%TDB $= "DemonMotherZombieArmor" && %SDB $= "CentaurVehicle") {
|
||||||
%cl.CDLKills++;
|
%cl.CDLKills++;
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,9 @@ function GetWeaponChallenges(%Image, %number) {
|
||||||
|
|
||||||
function UpdateVehicleKillFile(%client, %VDB) {
|
function UpdateVehicleKillFile(%client, %VDB) {
|
||||||
if(%VDB $= "") { //Phantom139: Ha!! No more invalid Files!!!
|
if(%VDB $= "") { //Phantom139: Ha!! No more invalid Files!!!
|
||||||
//echo("No Vehicle Datablock");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(%client $= "") { //Phantom139: Ha! No More UE on Invalid File
|
if(%client $= "") { //Phantom139: Ha! No More UE on Invalid File
|
||||||
//echo("No Client");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue