Files
IL-GSC/MW3/PC/SP/maps/_missions.gsc
InfinityLoader d559c1d414 Added MW3 Scripts
2023-10-27 03:47:01 -04:00

320 lines
6.9 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\_missions.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: PC
* Function Count: 17
* Decompile Time: 258 ms
* Timestamp: 10/27/2023 2:19:15 AM
*******************************************************************/
//Function Number: 1
init()
{
foreach(var_01 in level.players)
{
var_01 initnotifymessage();
}
}
//Function Number: 2
monitor_challenges()
{
}
//Function Number: 3
challenge_targetval(param_00,param_01,param_02)
{
var_03 = tablelookup(param_00,0,param_01,6 + param_02 - 1 * 2);
return int(var_03);
}
//Function Number: 4
challenge_rewardval(param_00,param_01,param_02)
{
var_03 = tablelookup(param_00,0,param_01,7 + param_02 - 1 * 2);
return int(var_03);
}
//Function Number: 5
getchallengestatus(param_00)
{
if(isdefined(self.challengedata[param_00]))
{
return self.challengedata[param_00];
}
return 0;
}
//Function Number: 6
ch_getprogress(param_00)
{
return self getplayerdata("challengeProgress",param_00);
}
//Function Number: 7
ch_getstate(param_00)
{
return self getplayerdata("challengeState",param_00);
}
//Function Number: 8
ch_setprogress(param_00,param_01)
{
return self setplayerdata("challengeProgress",param_00,param_01);
}
//Function Number: 9
ch_setstate(param_00,param_01)
{
return self setplayerdata("challengeState",param_00,param_01);
}
//Function Number: 10
ch_gettarget(param_00,param_01)
{
return int(tablelookup("sp/allChallengesTable.csv",0,param_00,6 + param_01 - 1 * 2));
}
//Function Number: 11
buildchallengetableinfo(param_00,param_01)
{
var_02 = 0;
var_03 = tablelookupbyrow(param_00,0,0);
for(var_04 = 1;var_03 != "";var_04++)
{
level.challengeinfo[var_03] = [];
level.challengeinfo[var_03]["targetval"] = [];
level.challengeinfo[var_03]["reward"] = [];
level.challengeinfo[var_03]["type"] = param_01;
for(var_05 = 1;var_05 < 11;var_05++)
{
var_06 = challenge_targetval(param_00,var_03,var_05);
var_07 = challenge_rewardval(param_00,var_03,var_05);
if(var_06 == 0)
{
break;
}
level.challengeinfo[var_03]["targetval"][var_05] = var_06;
level.challengeinfo[var_03]["reward"][var_05] = var_07;
var_02 = var_02 + var_07;
}
var_03 = tablelookupbyrow(param_00,var_04,0);
}
return int(var_02);
}
//Function Number: 12
buildchallengeinfo()
{
level.challengeinfo = [];
var_00 = 0;
var_00 = var_00 + buildchallengetableinfo("sp/allchallengesTable.csv",0);
var_01 = tablelookupbyrow("sp/challengeTable.csv",0,4);
for(var_02 = 1;var_01 != "";var_02++)
{
var_03 = tablelookupbyrow(var_01,0,0);
for(var_04 = 1;var_03 != "";var_04++)
{
var_05 = tablelookup(var_01,0,var_03,1);
if(var_05 != "")
{
level.challengeinfo[var_03]["requirement"] = var_05;
}
var_03 = tablelookupbyrow(var_01,var_04,0);
}
var_01 = tablelookupbyrow("sp/challengeTable.csv",var_02,4);
}
}
//Function Number: 13
challengesplashnotify(param_00)
{
self endon("disconnect");
waittillframeend;
wait 0.05;
var_01 = ch_getstate(param_00) - 1;
var_02 = ch_gettarget(param_00,var_01);
if(var_02 == 0)
{
var_02 = 1;
}
var_03 = spawnstruct();
var_03.type = "challenge";
var_03.optionalnumber = var_02;
var_03.name = param_00;
var_03.sound = tablelookup("sp/splashTable.csv",0,var_03.name,9);
var_03.slot = 0;
thread maps\_rank::actionnotify(var_03);
}
//Function Number: 14
updatechallenges()
{
self.challengedata = [];
wait 0.05;
foreach(var_04, var_01 in level.challengeinfo)
{
self.challengedata[var_04] = 0;
if(!self isitemunlocked(var_04))
{
continue;
}
if(isdefined(var_01["requirement"]) && !self isitemunlocked(var_01["requirement"]))
{
continue;
}
var_02 = 0;
var_03 = var_04;
var_02 = ch_getstate(var_04);
if(var_02 == 0)
{
ch_setstate(var_04,1);
var_02 = 1;
}
self.challengedata[var_04] = var_02;
}
}
//Function Number: 15
giverankxpafterwait(param_00,param_01)
{
self endon("death");
self endon("disconnect");
wait 0.25;
maps\_utility::givexp("challenge",level.challengeinfo[param_00]["reward"][param_01]);
}
//Function Number: 16
processchallenge(param_00,param_01,param_02)
{
if(!isdefined(param_01))
{
param_01 = 1;
}
var_03 = getchallengestatus(param_00);
if(var_03 == 0)
{
return;
}
if(var_03 > level.challengeinfo[param_00]["targetval"].size)
{
return;
}
var_04 = ch_getprogress(param_00);
if(isdefined(param_02) && param_02)
{
var_05 = param_01;
}
else
{
var_05 = var_05 + param_02;
}
var_06 = level.challengeinfo[param_00]["targetval"][var_03];
if(var_05 >= var_06)
{
var_07 = 1;
var_05 = var_06;
}
else
{
var_07 = 0;
}
if(var_04 < var_05)
{
ch_setprogress(param_00,var_05);
}
if(var_07)
{
thread giverankxpafterwait(param_00,var_03);
var_03++;
ch_setstate(param_00,var_03);
self.challengedata[param_00] = var_03;
thread challengesplashnotify(param_00);
}
}
//Function Number: 17
initnotifymessage()
{
if(maps\_utility::is_coop())
{
var_00 = 2.5;
var_01 = 1.75;
var_02 = 24;
var_03 = "objective";
var_04 = "TOP";
var_05 = "BOTTOM";
var_06 = 30;
var_07 = 0;
}
else
{
var_00 = 2.5;
var_01 = 1.75;
var_02 = 30;
var_03 = "objective";
var_04 = "TOP";
var_05 = "BOTTOM";
var_06 = 30;
var_07 = 0;
}
self.notifytitle = maps\_hud_util::createclientfontstring(var_03,var_00);
self.notifytitle maps\_hud_util::setpoint(var_04,undefined,var_07,var_06);
self.notifytitle.glowcolor = (0.2,0.3,0.7);
self.notifytitle.glowalpha = 1;
self.notifytitle.hidewheninmenu = 1;
self.notifytitle.archived = 0;
self.notifytitle.alpha = 0;
self.notifytext = maps\_hud_util::createclientfontstring(var_03,var_01);
self.notifytext maps\_hud_util::setparent(self.notifytitle);
self.notifytext maps\_hud_util::setpoint(var_04,var_05,0,0);
self.notifytext.glowcolor = (0.2,0.3,0.7);
self.notifytext.glowalpha = 1;
self.notifytext.hidewheninmenu = 1;
self.notifytext.archived = 0;
self.notifytext.alpha = 0;
self.notifytext2 = maps\_hud_util::createclientfontstring(var_03,var_01);
self.notifytext2 maps\_hud_util::setparent(self.notifytitle);
self.notifytext2 maps\_hud_util::setpoint(var_04,var_05,0,0);
self.notifytext2.glowcolor = (0.2,0.3,0.7);
self.notifytext2.glowalpha = 1;
self.notifytext2.hidewheninmenu = 1;
self.notifytext2.archived = 0;
self.notifytext2.alpha = 0;
self.notifyicon = maps\_hud_util::createclienticon("white",var_02,var_02);
self.notifyicon maps\_hud_util::setparent(self.notifytext2);
self.notifyicon maps\_hud_util::setpoint(var_04,var_05,0,0);
self.notifyicon.hidewheninmenu = 1;
self.notifyicon.archived = 0;
self.notifyicon.alpha = 0;
self.doingnotify = 0;
self.notifyqueue = [];
self.doingsplash = [];
self.doingsplash[0] = undefined;
self.doingsplash[1] = undefined;
self.doingsplash[2] = undefined;
self.doingsplash[3] = undefined;
self.splashqueue = [];
self.splashqueue[0] = [];
self.splashqueue[1] = [];
self.splashqueue[2] = [];
self.splashqueue[3] = [];
}