mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-01-19 19:44:47 +00:00
Bug fixes, removal of rank requirements on officer guns
This commit is contained in:
parent
c6163b6223
commit
fec522606f
|
|
@ -79,6 +79,8 @@ PLEASE NOTE: For the Legacy (Pre-GitHub Versions) Changelogs, please see LEGACY
|
|||
* Addressed the bug with Vardison 2.0 that made his Shadow Rift invincible
|
||||
* Removed two un-used game objects that were never completed, the Medal Seal and the UAV Control Panel
|
||||
* Removed a few erraneous exec calls to non-existent files in the mod load script
|
||||
* Fixed a bug when users reached an EXP value over 1,000,000 that would cause all of the EXP to be processed additionally from 1,000,000
|
||||
* For example, let's say I was 900,001 and gained 100,000 EXP, I would be placed at 1,100,000 instead of the correct value of 1,000,001
|
||||
* Depricated the F2 Inventory Screen (Nobody ever used this)
|
||||
* Fixed a few bugs in the F2 Menu
|
||||
* Incorrect links
|
||||
|
|
@ -122,7 +124,7 @@ PLEASE NOTE: For the Legacy (Pre-GitHub Versions) Changelogs, please see LEGACY
|
|||
* Fixed a console warning bug caused by zombie objects despawning and then calling a scan method
|
||||
* Shifter Zombies now have a randomzied element in their teleport method
|
||||
* Fixed a code bug with Lord Yvex which caused his death pulse to be replaced by nightmare missiles
|
||||
* Plasma Torpedo Cannon now requires officer level 9 (Was 4)
|
||||
* Officer Weapons no longer require a rank to use, you only need to reach the officer level in question and you've got it!
|
||||
* Addressed the bug preventing the challenges for reaching officer ranks from completing
|
||||
* Weapon Balancing Pass
|
||||
* Grapple Hook
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ function LoadRanksBase() {
|
|||
}
|
||||
|
||||
function CreateClientRankFile(%client) {
|
||||
if(!isSet(%client)) {
|
||||
if(!isSet(%client) || %client.guid $= "") {
|
||||
return;
|
||||
}
|
||||
if(%client.donotupdate) {
|
||||
|
|
@ -44,72 +44,80 @@ function CreateClientRankFile(%client) {
|
|||
}
|
||||
|
||||
function LoadClientRankfile(%client) {
|
||||
%client.donotupdate = 0;
|
||||
echo("Attempting To Load "@%client.namebase@"'s Ranks File");
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
if(!isFile(%file)) {
|
||||
echo(""@%client.namebase@" does not have a save file, creating one.");
|
||||
CreateClientRankFile(%client);
|
||||
}
|
||||
else {
|
||||
LoadClientFile(%client);
|
||||
}
|
||||
//define a new script object for the client, if it does not yet exist
|
||||
%soNAME = "Container_"@%client.guid@"/TWM2Client_"@%client.guid@"";
|
||||
%object = nameToId(%soNAME);
|
||||
if(!isObject(%object)) {
|
||||
echo("TWM2 Rank/Setting Client Controller Object is non-existant, creating");
|
||||
%client.TWM2Core = new ScriptObject("TWM2Client_"@%client.guid) {};
|
||||
%client.container.add(%client.TWM2Core);
|
||||
}
|
||||
else {
|
||||
echo("Found TWM2 Rank/Setting Client Controller for "@%client@" -> "@%object@"");
|
||||
%client.TWM2Core = %object;
|
||||
}
|
||||
//Check Officer Challenges.
|
||||
for(%i = %client.TWM2Core.officer; %i > 0; %i--) {
|
||||
%oChN = "Prestige"@%i;
|
||||
CompleteNWChallenge(%client, %oChN);
|
||||
}
|
||||
TWM2Lib_MainControl("PlayerTimeLoop", %client); //post load functions
|
||||
if(!isSet(%client) || %client.guide $= "") {
|
||||
messageClient(%player.client, 'LeaveMissionArea', '\c1Alert: No GUID detected on your client object, please re-connect to the server...~wfx/misc/warning_beep.wav');
|
||||
return;
|
||||
}
|
||||
%client.donotupdate = 0;
|
||||
echo("Attempting To Load "@%client.namebase@"'s Ranks File");
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
if(!isFile(%file)) {
|
||||
echo(""@%client.namebase@" does not have a save file, creating one.");
|
||||
CreateClientRankFile(%client);
|
||||
}
|
||||
else {
|
||||
LoadClientFile(%client);
|
||||
}
|
||||
//define a new script object for the client, if it does not yet exist
|
||||
%soNAME = "Container_"@%client.guid@"/TWM2Client_"@%client.guid@"";
|
||||
%object = nameToId(%soNAME);
|
||||
if(!isObject(%object)) {
|
||||
echo("TWM2 Rank/Setting Client Controller Object is non-existant, creating");
|
||||
%client.TWM2Core = new ScriptObject("TWM2Client_"@%client.guid) {};
|
||||
%client.container.add(%client.TWM2Core);
|
||||
}
|
||||
else {
|
||||
echo("Found TWM2 Rank/Setting Client Controller for "@%client@" -> "@%object@"");
|
||||
%client.TWM2Core = %object;
|
||||
}
|
||||
//Check Officer Challenges.
|
||||
for(%i = %client.TWM2Core.officer; %i > 0; %i--) {
|
||||
%oChN = "Prestige"@%i;
|
||||
CompleteNWChallenge(%client, %oChN);
|
||||
}
|
||||
TWM2Lib_MainControl("PlayerTimeLoop", %client); //post load functions
|
||||
}
|
||||
|
||||
function UpdateClientRank(%client) {
|
||||
if(!isSet(%client) || %client.guid $= "") {
|
||||
return;
|
||||
}
|
||||
if(%client.donotupdate) {
|
||||
echo("Stopped rank up check on "@%client@", server denies access (probably loading univ rank)");
|
||||
return;
|
||||
}
|
||||
%scriptController = %client.TWM2Core;
|
||||
if($XPArray[%client] <= 0) {
|
||||
return; //kill it here, no need to go into the loop
|
||||
}
|
||||
if(%scriptController.officer $= "") {
|
||||
%scriptController.officer = 0;
|
||||
}
|
||||
//anti-Hack system.
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
//If I ever do so implement an EXP cap, here is where it is placed
|
||||
%multi = $EXPMulti[$TWM2Core_Code, formattimestring("yymmdd"), sha1sum($TWM2Core_Code TAB TWM2Lib_MainControl("FormatTWM2Time", formattimestring("yymmdd")))];
|
||||
if(!isSet(%multi) || %multi < 1) {
|
||||
%multi = 1;
|
||||
}
|
||||
// convert it to second form
|
||||
if(!isSet(%scriptController.millionxp)) {
|
||||
%scriptController.millionxp = 0;
|
||||
}
|
||||
if((%scriptController.xp + $XPArray[%client]) >= 1000000) {
|
||||
%scriptController.xp = 0;
|
||||
%scriptController.millionxp++;
|
||||
}
|
||||
%scriptController.xp += $XPArray[%client];
|
||||
if(!isSet(%client) || %client.guid $= "") {
|
||||
return;
|
||||
}
|
||||
if(%client.donotupdate) {
|
||||
echo("Stopped rank up check on "@%client@", server denies access (probably loading univ rank)");
|
||||
return;
|
||||
}
|
||||
%scriptController = %client.TWM2Core;
|
||||
if($XPArray[%client] <= 0) {
|
||||
return; //kill it here, no need to go into the loop
|
||||
}
|
||||
if(%scriptController.officer $= "") {
|
||||
%scriptController.officer = 0;
|
||||
}
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
//If I ever do so implement an EXP cap, here is where it is placed
|
||||
%multi = $EXPMulti[$TWM2Core_Code, formattimestring("yymmdd"), sha1sum($TWM2Core_Code TAB TWM2Lib_MainControl("FormatTWM2Time", formattimestring("yymmdd")))];
|
||||
if(!isSet(%multi) || %multi < 1) {
|
||||
%multi = 1;
|
||||
}
|
||||
// convert it to second form
|
||||
if(!isSet(%scriptController.millionxp)) {
|
||||
%scriptController.millionxp = 0;
|
||||
}
|
||||
if((%scriptController.xp + $XPArray[%client]) >= 1000000) {
|
||||
%scriptController.xp = 0;
|
||||
%scriptController.millionxp++;
|
||||
$XPArray[%client] = (%scriptController.xp + $XPArray[%client]) - 1000000;
|
||||
if($XPArray[%client] < 0) {
|
||||
//Hmmm.... something wierd going on here...
|
||||
$XPArray[%client] = 0;
|
||||
}
|
||||
}
|
||||
%scriptController.xp += $XPArray[%client];
|
||||
|
||||
checkForXPAwards(%client);
|
||||
$XPArray[%client] = 0;
|
||||
%j = $Rank::RankCount;
|
||||
runRankUpdateLoop(%client, %j, 1);
|
||||
checkForXPAwards(%client);
|
||||
$XPArray[%client] = 0;
|
||||
%j = $Rank::RankCount;
|
||||
runRankUpdateLoop(%client, %j, 1);
|
||||
}
|
||||
|
||||
function runRankUpdateLoop(%client, %j, %continue) {
|
||||
|
|
@ -136,6 +144,9 @@ function runRankUpdateLoop(%client, %j, %continue) {
|
|||
messageclient(%client, 'Msgclient', "~wfx/Bonuses/Nouns/General.wav");
|
||||
bottomPrint(%client, "Excelent work "@%name@", you have been promoted to the rank of: "@$Prestige::Name[%scriptController.officer]@""@$Ranks::NewRank[%j]@"!", 5, 2 );
|
||||
echo("Promotion: "@%name@" to Rank "@$Ranks::NewRank[%j]@", XP: "@getCurrentEXP(%client)@".");
|
||||
if(%j == $Rank::RankCount && %scriptController.officer < $OfficerCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))]) {
|
||||
messageclient(%client, 'Msgclient', "\c5Congratulations, you have reached the maximum rank in TWM2 and have unlocked the ability to enter an officer rank. To proceed, open the [F2] menu and select the Settings option.");
|
||||
}
|
||||
SaveClientFile(%client);
|
||||
//
|
||||
if(!$TWM2::PGDConnectDisabled) {
|
||||
|
|
@ -294,7 +305,7 @@ function GainExperience(%client, %variable, %tagToGain) {
|
|||
%variable = mFloor(%variable);
|
||||
//
|
||||
if(%multi > 1) {
|
||||
messageClient(%client, 'msgClient', "\c5TWM2: "@%tagToGain@"\c3+"@%variable@" EXP (X"@%multi@")");
|
||||
messageClient(%client, 'msgClient', "\c5TWM2: "@%tagToGain@"\c3+"@%variable@" EXP (Bonus Multiplier: "@%multi@")");
|
||||
}
|
||||
else {
|
||||
messageClient(%client, 'msgClient', "\c5TWM2: "@%tagToGain@"\c3+"@%variable@" EXP");
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ datablock ShapeBaseImageData(PlasmaTorpedoImage) {
|
|||
|
||||
emap = true;
|
||||
|
||||
RankRequire = $TWM2::RankRequire["SCD343"];
|
||||
//RankRequire = $TWM2::RankRequire["SCD343"];
|
||||
PrestigeRequire = 9;
|
||||
|
||||
HasChallenges = 1;
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ datablock ShapeBaseImageData(CrimsonHawkImage)
|
|||
HellClipCount = 10;
|
||||
//
|
||||
|
||||
RankRequire = $TWM2::RankRequire["CrimsonHawk"];
|
||||
//RankRequire = $TWM2::RankRequire["CrimsonHawk"];
|
||||
PrestigeRequire = 5;
|
||||
|
||||
//Challenges
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ datablock ShapeBaseImageData(PulseRifleImage)
|
|||
GunName = "Pulse Semi-Automatic Rifle";
|
||||
//
|
||||
|
||||
RankRequire = $TWM2::RankRequire["G41"];
|
||||
//RankRequire = $TWM2::RankRequire["G41"];
|
||||
PrestigeRequire = 2;
|
||||
|
||||
casing = ShellDebris;
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ datablock ShapeBaseImageData(PulseSMGImage)
|
|||
Upgrade[3] = "Silencer";
|
||||
GunName = "Pulse SMG";
|
||||
|
||||
RankRequire = $TWM2::RankRequire["Pg700"];
|
||||
//RankRequire = $TWM2::RankRequire["Pg700"];
|
||||
PrestigeRequire = 3;
|
||||
|
||||
casing = ShellDebris;
|
||||
|
|
|
|||
|
|
@ -156,7 +156,6 @@ $TWM2::BossName["GoL"] = "The Ghost Of Lightning";
|
|||
$TWM2::BossName["Vegenor"] = "General Vegenor";
|
||||
$TWM2::BossName["Insignia"] = "Major Insignia";
|
||||
$TWM2::BossName["Vardison"] = "Lord Vardison";
|
||||
$TWM2::BossName["DAVardison"] = "Dark Archmage Vardison";
|
||||
$TWM2::BossName["Trevor"] = "Lordranius Trevor";
|
||||
$TWM2::BossName["GoF"] = CollapseEscape("\c7The Ghost Of Fire");
|
||||
$TWM2::BossName["Stormrider"] = "Commander Stormrider";
|
||||
|
|
@ -204,7 +203,6 @@ $TWM2::BossXPAward["Insignia"] = 35000; // 35000
|
|||
$TWM2::BossXPAward["Stormrider"] = 45000; // 45000
|
||||
$TWM2::BossXPAward["GhostOfFire"] = 65000; // 65000
|
||||
$TWM2::BossXPAward["ShadeLord"] = 70000; // 70000
|
||||
$TWM2::BossXPAward["DAVardison"] = 75000; // 75000
|
||||
$TWM2::BossXPAward["Vardison3"] = 75000; // 75000
|
||||
|
||||
$Host::UseDevelopersList = 1;
|
||||
|
|
@ -261,7 +259,6 @@ $TWM2::RankRequire["M4A1"] = 15;
|
|||
$TWM2::RankRequire["SCD343"] = 59;
|
||||
$TWM2::RankRequire["P90"] = 56;
|
||||
$TWM2::RankRequire["ALSWP"] = 49;
|
||||
$TWM2::RankRequire["CrimsonHawk"] = 61;
|
||||
$TWM2::RankRequire["Stinger"] = 30;
|
||||
$TWM2::RankRequire["MRXX"] = 35;
|
||||
$TWM2::RankRequire["NapalmLauncher"] = 42;
|
||||
|
|
|
|||
Loading…
Reference in a new issue