mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-01-19 19:44:47 +00:00
Fixed Trevor's Internal Tags, Implemented New Challenge Menu Code
Fixed the internal tags for Lordranius Trevor, Grapple Hook balance, round 2, implemented automenu system for challenges (No more mega files, yay!)
This commit is contained in:
parent
fee3eb044b
commit
b316f2fdbe
|
|
@ -1,4 +1,4 @@
|
||||||
datablock HoverVehicleData(TreborTank) : CentaurVehicle {
|
datablock HoverVehicleData(TrevorTank) : CentaurVehicle {
|
||||||
spawnOffset = "0 0 4";
|
spawnOffset = "0 0 4";
|
||||||
canControl = true;
|
canControl = true;
|
||||||
floatingGravMag = 4.5;
|
floatingGravMag = 4.5;
|
||||||
|
|
@ -30,13 +30,13 @@ datablock HoverVehicleData(TreborTank) : CentaurVehicle {
|
||||||
ShieldDamageScale[$DamageType::Bullet] = 0.01; //I deny you shrike n0bs
|
ShieldDamageScale[$DamageType::Bullet] = 0.01; //I deny you shrike n0bs
|
||||||
};
|
};
|
||||||
|
|
||||||
function StartTrebor(%pos){
|
function StartTrevor(%pos){
|
||||||
%team = 6;
|
%team = 6;
|
||||||
%rotation = "1 0 0 0";
|
%rotation = "1 0 0 0";
|
||||||
%skill = 10;
|
%skill = 10;
|
||||||
|
|
||||||
%tank = new HoverVehicle() {
|
%tank = new HoverVehicle() {
|
||||||
dataBlock = TreborTank;
|
dataBlock = TrevorTank;
|
||||||
position = %pos;
|
position = %pos;
|
||||||
rotation = %rotation;
|
rotation = %rotation;
|
||||||
team = %team;
|
team = %team;
|
||||||
|
|
@ -49,16 +49,16 @@ function StartTrebor(%pos){
|
||||||
|
|
||||||
%tank.CanUseSpec = 1;
|
%tank.CanUseSpec = 1;
|
||||||
%tank.SpecTicks = 0;
|
%tank.SpecTicks = 0;
|
||||||
InitiateBoss(%tank, "Trebor");
|
InitiateBoss(%tank, "Trevor");
|
||||||
|
|
||||||
TreborDetermineAttack(%tank);
|
TrevorDetermineAttack(%tank);
|
||||||
TreborMove(%tank);
|
TrevorMove(%tank);
|
||||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": It's time to test the harbinger clan's ultimate siege weapon. ON YOU!");
|
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trevor"]@": It's time to test the harbinger clan's ultimate siege weapon. ON YOU!");
|
||||||
|
|
||||||
return %tank;
|
return %tank;
|
||||||
}
|
}
|
||||||
|
|
||||||
function TreborTank::onAdd(%this, %obj) {
|
function TrevorTank::onAdd(%this, %obj) {
|
||||||
Parent::onAdd(%this, %obj);
|
Parent::onAdd(%this, %obj);
|
||||||
|
|
||||||
%turret = TurretData::create(CentaurTurret);
|
%turret = TurretData::create(CentaurTurret);
|
||||||
|
|
@ -85,11 +85,11 @@ function TreborTank::onAdd(%this, %obj) {
|
||||||
setTargetSensorGroup(%turret.getTarget(), 6);
|
setTargetSensorGroup(%turret.getTarget(), 6);
|
||||||
setTargetAlwaysVisMask(%turret.getTarget(), 0xffffffff);
|
setTargetAlwaysVisMask(%turret.getTarget(), 0xffffffff);
|
||||||
}
|
}
|
||||||
function TreborTank::deleteAllMounted(%data, %obj) {
|
function TrevorTank::deleteAllMounted(%data, %obj) {
|
||||||
CentaurVehicle::deleteAllMounted(%data, %obj);
|
CentaurVehicle::deleteAllMounted(%data, %obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
function TreborLocateTarget(%tank) {
|
function TrevorLocateTarget(%tank) {
|
||||||
%wbpos = %tank.getworldboxcenter();
|
%wbpos = %tank.getworldboxcenter();
|
||||||
%count = ClientGroup.getCount();
|
%count = ClientGroup.getCount();
|
||||||
%closestClient = -1;
|
%closestClient = -1;
|
||||||
|
|
@ -108,7 +108,7 @@ function TreborLocateTarget(%tank) {
|
||||||
return %closestClient SPC %closestDistance;
|
return %closestClient SPC %closestDistance;
|
||||||
}
|
}
|
||||||
|
|
||||||
function TreborRotateAndVec(%tank, %tPl){
|
function TrevorRotateAndVec(%tank, %tPl){
|
||||||
if(!isObject(%tPl)) {
|
if(!isObject(%tPl)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -126,20 +126,20 @@ function TreborRotateAndVec(%tank, %tPl){
|
||||||
return %set;
|
return %set;
|
||||||
}
|
}
|
||||||
|
|
||||||
function TreborMove(%tank) {
|
function TrevorMove(%tank) {
|
||||||
if(!isObject(%tank)) {
|
if(!isObject(%tank)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(%tank.performingSpec) { //Specials make the tank do things that this must be off to work
|
if(%tank.performingSpec) { //Specials make the tank do things that this must be off to work
|
||||||
schedule(250, 0, "TreborMove", %tank);
|
schedule(250, 0, "TrevorMove", %tank);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
%target = TreborLocateTarget(%tank);
|
%target = TrevorLocateTarget(%tank);
|
||||||
if(!isObject(%target.player)) {
|
if(!isObject(%target.player)) {
|
||||||
schedule(100, 0, "TreborMove", %tank);
|
schedule(100, 0, "TrevorMove", %tank);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
%vec = TreborRotateAndVec(%tank, %target.player); //turns the tank
|
%vec = TrevorRotateAndVec(%tank, %target.player); //turns the tank
|
||||||
%dist = VectorDist(%target.player.getPosition(), %tank.getPosition()); //The all important
|
%dist = VectorDist(%target.player.getPosition(), %tank.getPosition()); //The all important
|
||||||
//don't ask how we would get this far
|
//don't ask how we would get this far
|
||||||
//but we simply move
|
//but we simply move
|
||||||
|
|
@ -159,26 +159,26 @@ function TreborMove(%tank) {
|
||||||
if(%dist < 10 && !%tank.teleporting) {
|
if(%dist < 10 && !%tank.teleporting) {
|
||||||
//interesting... trying to cut it close?
|
//interesting... trying to cut it close?
|
||||||
%tank.teleporting = 1;
|
%tank.teleporting = 1;
|
||||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Trying to do that huhn? I think not!");
|
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trevor"]@": Trying to do that huhn? I think not!");
|
||||||
PhaseShift(%tank);
|
PhaseShift(%tank);
|
||||||
}
|
}
|
||||||
%vector = vectorscale(%tank.getForwardVector(), 1150);
|
%vector = vectorscale(%tank.getForwardVector(), 1150);
|
||||||
%tank.applyImpulse(%tank.getPosition(), %vector);
|
%tank.applyImpulse(%tank.getPosition(), %vector);
|
||||||
}
|
}
|
||||||
schedule(100, 0, "TreborMove", %tank);
|
schedule(100, 0, "TrevorMove", %tank);
|
||||||
}
|
}
|
||||||
|
|
||||||
function TreborDetermineAttack(%tank) {
|
function TrevorDetermineAttack(%tank) {
|
||||||
if(!isObject(%tank)) {
|
if(!isObject(%tank)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(%tank.performingSpec) { //Specials make the tank do things that this must be off to work
|
if(%tank.performingSpec) { //Specials make the tank do things that this must be off to work
|
||||||
schedule(250, 0, "TreborDetermineAttack", %tank);
|
schedule(250, 0, "TrevorDetermineAttack", %tank);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
%target = TreborLocateTarget(%tank);
|
%target = TrevorLocateTarget(%tank);
|
||||||
if(!isObject(%target)) {
|
if(!isObject(%target)) {
|
||||||
schedule(250, 0, "TreborDetermineAttack", %tank);
|
schedule(250, 0, "TrevorDetermineAttack", %tank);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
%dist = VectorDist(%target.player.getPosition(), %tank.getPosition()); //The all important
|
%dist = VectorDist(%target.player.getPosition(), %tank.getPosition()); //The all important
|
||||||
|
|
@ -215,13 +215,13 @@ function TreborDetermineAttack(%tank) {
|
||||||
//3. Phase Shift: Tank Shifts to collider range
|
//3. Phase Shift: Tank Shifts to collider range
|
||||||
switch(%attackNum) {
|
switch(%attackNum) {
|
||||||
case 1:
|
case 1:
|
||||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Dodge this "@getTaggedString(%target.name)@"!!!");
|
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trevor"]@": Dodge this "@getTaggedString(%target.name)@"!!!");
|
||||||
RammingSpeed(%tank, %target);
|
RammingSpeed(%tank, %target);
|
||||||
case 2:
|
case 2:
|
||||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Engage sideswipe boosters");
|
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trevor"]@": Engage sideswipe boosters");
|
||||||
SlideTarget(%tank, %target);
|
SlideTarget(%tank, %target);
|
||||||
case 3:
|
case 3:
|
||||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Engage Phase Shift!");
|
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trevor"]@": Engage Phase Shift!");
|
||||||
PhaseShift(%tank);
|
PhaseShift(%tank);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -230,18 +230,18 @@ function TreborDetermineAttack(%tank) {
|
||||||
%attackNum = getRandom(1,3);
|
%attackNum = getRandom(1,3);
|
||||||
switch(%attackNum) {
|
switch(%attackNum) {
|
||||||
case 1:
|
case 1:
|
||||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Engage missile storm on "@getTaggedString(%target.name)@"!!!");
|
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trevor"]@": Engage missile storm on "@getTaggedString(%target.name)@"!!!");
|
||||||
MissileStorm(%tank, %target);
|
MissileStorm(%tank, %target);
|
||||||
case 2:
|
case 2:
|
||||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Let a firey storm of missiles rain upon you, "@getTaggedString(%target.name)@"!!!");
|
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trevor"]@": Let a firey storm of missiles rain upon you, "@getTaggedString(%target.name)@"!!!");
|
||||||
MissileRain(%tank, %target);
|
MissileRain(%tank, %target);
|
||||||
case 3:
|
case 3:
|
||||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Engage missile storm on "@getTaggedString(%target.name)@"!!!");
|
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trevor"]@": Engage missile storm on "@getTaggedString(%target.name)@"!!!");
|
||||||
MissileStorm(%tank, %target);
|
MissileStorm(%tank, %target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
schedule(250, 0, "TreborDetermineAttack", %tank);
|
schedule(250, 0, "TrevorDetermineAttack", %tank);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Attackz0rs
|
//Attackz0rs
|
||||||
|
|
@ -266,7 +266,7 @@ function RammingSpeed(%tank, %target) {
|
||||||
%tank.turretObject.schedule(100, "unMountImage", 0);
|
%tank.turretObject.schedule(100, "unMountImage", 0);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
%vec = TreborRotateAndVec(%tank, %target.player); //turns the tank
|
%vec = TrevorRotateAndVec(%tank, %target.player); //turns the tank
|
||||||
%vector = vectorscale(%tank.getForwardVector(), 15000);
|
%vector = vectorscale(%tank.getForwardVector(), 15000);
|
||||||
%tank.applyImpulse(%tank.getPosition(), %vector);
|
%tank.applyImpulse(%tank.getPosition(), %vector);
|
||||||
//%tank.setImageTrigger(3, true);
|
//%tank.setImageTrigger(3, true);
|
||||||
|
|
@ -296,7 +296,7 @@ function SlideTarget(%tank, %target) {
|
||||||
%tank.performingSpec = 1;
|
%tank.performingSpec = 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
%vec = TreborRotateAndVec(%tank, %target.player); //turns the tank
|
%vec = TrevorRotateAndVec(%tank, %target.player); //turns the tank
|
||||||
%x = Getword(%vec,0);
|
%x = Getword(%vec,0);
|
||||||
%y = Getword(%vec,1);
|
%y = Getword(%vec,1);
|
||||||
%nv1 = %y;
|
%nv1 = %y;
|
||||||
|
|
@ -905,7 +905,7 @@ function parsePublicCommands(%sender, %command, %args) {
|
||||||
else if (!isBoss(strlwr(%Boss))) {
|
else if (!isBoss(strlwr(%Boss))) {
|
||||||
messageclient(%sender, 'MsgClient', '\c2Invalid Boss Name.');
|
messageclient(%sender, 'MsgClient', '\c2Invalid Boss Name.');
|
||||||
messageclient(%sender, 'MsgClient', '\c2Bosses: Yvex, CnlWindshear, GOL, GOF, Stormrider.');
|
messageclient(%sender, 'MsgClient', '\c2Bosses: Yvex, CnlWindshear, GOL, GOF, Stormrider.');
|
||||||
messageclient(%sender, 'MsgClient', '\c2GenVeg, LordRog, Insignia, Trebor, Vardison, ShadeLord.');
|
messageclient(%sender, 'MsgClient', '\c2GenVeg, LordRog, Insignia, Trevor, Vardison, ShadeLord.');
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
||||||
|
|
@ -120,10 +120,10 @@ function parseSuperAdminCommands(%sender, %command, %args) {
|
||||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||||
SpawnInsignia(%pos);
|
SpawnInsignia(%pos);
|
||||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Rog's major insignia.");
|
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Rog's major insignia.");
|
||||||
case "Trebor":
|
case "Trevor":
|
||||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 15");
|
%pos = VectorAdd(%sender.player.getPosition(), "0 0 15");
|
||||||
StartTrebor(%pos);
|
StartTrevor(%pos);
|
||||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Lordranius Trebor, leader of the harbinger clan.");
|
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Lordranius Trevor, leader of the harbinger clan.");
|
||||||
case "GhostOfFire":
|
case "GhostOfFire":
|
||||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 15");
|
%pos = VectorAdd(%sender.player.getPosition(), "0 0 15");
|
||||||
StartGhostFire(%pos);
|
StartGhostFire(%pos);
|
||||||
|
|
@ -143,7 +143,7 @@ function parseSuperAdminCommands(%sender, %command, %args) {
|
||||||
default:
|
default:
|
||||||
messageclient(%sender, 'MsgClient', '\c2Invalid Boss Name.');
|
messageclient(%sender, 'MsgClient', '\c2Invalid Boss Name.');
|
||||||
messageclient(%sender, 'MsgClient', '\c2Bosses: Yvex, CnlWindshear, GhostOfLightning.');
|
messageclient(%sender, 'MsgClient', '\c2Bosses: Yvex, CnlWindshear, GhostOfLightning.');
|
||||||
messageclient(%sender, 'MsgClient', '\c2GenVegenor, LordRog, Insignia, Trebor, Vardison.');
|
messageclient(%sender, 'MsgClient', '\c2GenVegenor, LordRog, Insignia, Trevor, Vardison.');
|
||||||
messageclient(%sender, 'MsgClient', '\c2Stormrider, GhostOfFire, ShadeLord.');
|
messageclient(%sender, 'MsgClient', '\c2Stormrider, GhostOfFire, ShadeLord.');
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
||||||
|
|
@ -145,32 +145,32 @@ function CheckMissionRequirement(%client, %mission) {
|
||||||
function CreateTWM2Mission(%client, %mission) {
|
function CreateTWM2Mission(%client, %mission) {
|
||||||
%group = NameToID("TWM2Mission");
|
%group = NameToID("TWM2Mission");
|
||||||
if(%group.inProgress) {
|
if(%group.inProgress) {
|
||||||
messageClient(%client, 'msgNope', "\c5MISSION: A mission has been ordered or is in progress.");
|
messageClient(%client, 'msgNope', "\c5OPERATION: A operation has been ordered or is currently in progress, please try again later.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!isObject(%client.player) || %client.player.getState() $= "Dead") {
|
if(!isObject(%client.player) || %client.player.getState() $= "Dead") {
|
||||||
messageClient(%client, 'msgNope', "\c5MISSION: Dead people cannot order missions.");
|
messageClient(%client, 'msgNope', "\c5OPERATION: Dead people cannot order operations.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(getCurrentEXP(%client) < $Ranks::MinPoints[59] && %client.TWM2Core.officer < 1) {
|
if(getCurrentEXP(%client) < $Ranks::MinPoints[49] && %client.TWM2Core.officer < 1) {
|
||||||
messageClient(%client, 'msgNope', "\c5MISSION: You must be a Commanding Officer (or Higher) to order missions.");
|
messageClient(%client, 'msgNope', "\c5OPERATION: You must be a General (or Higher) to order operations.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if($CurrentMissionType !$= "Construction") {
|
if($CurrentMissionType !$= "Construction") {
|
||||||
error("TWM2 Mission: Must be in construction, aborted.");
|
error("TWM2 Mission: Must be in construction, aborted.");
|
||||||
messageClient(%client, 'msgNope', "\c5MISSION: Missions an only be ordered in the construction game mode.");
|
messageClient(%client, 'msgNope', "\c5OPERATION: Operations an only be ordered in the construction game mode.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if($CurrentMission !$= "FlatlandBig" && $CurrentMission !$= "Flatland") {
|
if($CurrentMission !$= "FlatlandBig" && $CurrentMission !$= "Flatland") {
|
||||||
error("TWM2 Mission: Must be in FLBig, aborted.");
|
error("TWM2 Mission: Must be in FLBig, aborted.");
|
||||||
messageClient(%client, 'msgNope', "\c5MISSION: Missions can only be ordered on Flatland.");
|
messageClient(%client, 'msgNope', "\c5OPERATION: This map is incompatible with operations, please request a map change.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
%timeleft = $Mission::VarSet[%mission, "TimeLimit"];
|
%timeleft = $Mission::VarSet[%mission, "TimeLimit"];
|
||||||
%playerlimit = $Mission::VarSet[%mission, "PlayerLimit"];
|
%playerlimit = $Mission::VarSet[%mission, "PlayerLimit"];
|
||||||
%playerreq = $Mission::VarSet[%mission, "PlayerReq"];
|
%playerreq = $Mission::VarSet[%mission, "PlayerReq"];
|
||||||
%missionname = GetField($Mission::VarSet[%mission, "TaskDetails"], 0);
|
%missionname = GetField($Mission::VarSet[%mission, "TaskDetails"], 0);
|
||||||
messageClient(%client, 'msgNope', "\c5MISSION: Issuing request to initiate mission: "@%missionname@".");
|
messageClient(%client, 'msgNope', "\c5OPERATION: Issuing request to initiate operation: "@%missionname@".");
|
||||||
%group = new ScriptObject(TWM2Mission) {
|
%group = new ScriptObject(TWM2Mission) {
|
||||||
class = "TWM2MissionClass";
|
class = "TWM2MissionClass";
|
||||||
|
|
||||||
|
|
@ -196,7 +196,7 @@ function CreateTWM2Mission(%client, %mission) {
|
||||||
%group.schedule(%group.timeToBegin * 1000, "StartTWM2MissionTimer");
|
%group.schedule(%group.timeToBegin * 1000, "StartTWM2MissionTimer");
|
||||||
if(%group.playerLimit > 1) {
|
if(%group.playerLimit > 1) {
|
||||||
//Phantom139: Added TWM2 3.8, obviously we don't want to ask people to join a 1 player mission.
|
//Phantom139: Added TWM2 3.8, obviously we don't want to ask people to join a 1 player mission.
|
||||||
messageAll('msgMission', "\c5MISSION: "@%client.namebase@" has ordered a mission, press [F2] -> Mission to join in.");
|
messageAll('msgMission', "\c5OPERATION: "@%client.namebase@" has ordered an operation, press [F2] -> Operations to join in.");
|
||||||
CompleteNWChallenge(%client, "SimonSays");
|
CompleteNWChallenge(%client, "SimonSays");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -204,26 +204,26 @@ function CreateTWM2Mission(%client, %mission) {
|
||||||
function AddClientToMission(%client) {
|
function AddClientToMission(%client) {
|
||||||
%group = nameToID("TWM2Mission");
|
%group = nameToID("TWM2Mission");
|
||||||
if(%group.InProgress == 0) {
|
if(%group.InProgress == 0) {
|
||||||
messageClient(%client, 'msgFailed', "\c5MISSION: There is no mission to join.");
|
messageClient(%client, 'msgFailed', "\c5OPERATION: There is no active operation to join.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(%group.InProgress == 1) {
|
if(%group.InProgress == 1) {
|
||||||
messageClient(%client, 'msgFailed', "\c5MISSION: You cannot join a mission in progress.");
|
messageClient(%client, 'msgFailed', "\c5OPERATION: You cannot join an operation already in progress.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!isObject(%client.player) || %client.player.getState() $= "Dead") {
|
if(!isObject(%client.player) || %client.player.getState() $= "Dead") {
|
||||||
messageClient(%client, 'msgNope', "\c5MISSION: Dead people cannot join missions.");
|
messageClient(%client, 'msgNope', "\c5OPERATION: Dead people cannot join operations.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//add them
|
//add them
|
||||||
if(%group.Participants >= %group.playerLimit) {
|
if(%group.Participants >= %group.playerLimit) {
|
||||||
messageClient(%client, 'msgFailed', "\c5MISSION: This mission cannot take any more soldiers.");
|
messageClient(%client, 'msgFailed', "\c5OPERATION: The fireteam for this operation is to capacity.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//last check, for lulz
|
//last check, for lulz
|
||||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||||
if(%client == %group.Participant[%i]) {
|
if(%client == %group.Participant[%i]) {
|
||||||
messageClient(%client, 'msgFailed', "\c5MISSION: Trying to join twice eh?");
|
messageClient(%client, 'msgFailed', "\c5OPERATION: You're already in the operation fireteam, prepare for deployment...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -231,7 +231,7 @@ function AddClientToMission(%client) {
|
||||||
%group.Participants++;
|
%group.Participants++;
|
||||||
%group.Participant[%group.Participants] = %client;
|
%group.Participant[%group.Participants] = %client;
|
||||||
%group.ParticipantAlive[%group.Participants] = true;
|
%group.ParticipantAlive[%group.Participants] = true;
|
||||||
messageClient(%client, 'msgFailed', "\c5MISSION: Added to the mission squad, prepare for orders.");
|
messageClient(%client, 'msgFailed', "\c5OPERATION: Added to the operation fireteam, prepare for orders.");
|
||||||
CompleteNWChallenge(%client, "FromTheTop");
|
CompleteNWChallenge(%client, "FromTheTop");
|
||||||
CompleteNWChallenge(%group.Participant[1], "NaturalLeader");
|
CompleteNWChallenge(%group.Participant[1], "NaturalLeader");
|
||||||
}
|
}
|
||||||
|
|
@ -244,11 +244,11 @@ function TWM2MissionClass::StartTWM2MissionTimer(%group) {
|
||||||
for(%r = 1; %r <= %counter; %r++) {
|
for(%r = 1; %r <= %counter; %r++) {
|
||||||
if(%cl == %group.Participant[%r]) {
|
if(%cl == %group.Participant[%r]) {
|
||||||
if(!isObject(%cl.player) || %cl.player.getState() $= "Dead") {
|
if(!isObject(%cl.player) || %cl.player.getState() $= "Dead") {
|
||||||
messageClient(%cl, 'msgNope', "\c5MISSION: You have been released from the mission for being dead.");
|
messageClient(%cl, 'msgNope', "\c5OPERATION: You have been released from the operation fireteam for being dead.");
|
||||||
%cl.missionReady = false;
|
%cl.missionReady = false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
messageClient(%cl, 'msgNope', "\c5MISSION: Standby.... Relaying orders....");
|
messageClient(%cl, 'msgNope', "\c5OPERATION: Standby.... Relaying orders....");
|
||||||
%cl.missionReady = true;
|
%cl.missionReady = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -270,7 +270,7 @@ function TWM2MissionClass::StartTWM2MissionTimer(%group) {
|
||||||
//echo("checking 2");
|
//echo("checking 2");
|
||||||
if(%group.Participants < %req) {
|
if(%group.Participants < %req) {
|
||||||
for(%lol = 1; %lol <= %group.Participants; %lol++) {
|
for(%lol = 1; %lol <= %group.Participants; %lol++) {
|
||||||
messageClient(%group.Participant[%lol], 'msgFailed', "\c5MISSION: Not enough participants, Aborted.");
|
messageClient(%group.Participant[%lol], 'msgFailed', "\c5OPERATION: Not enough participants in the fireteam, operation aborted.");
|
||||||
}
|
}
|
||||||
%group.EndTWM2Mission();
|
%group.EndTWM2Mission();
|
||||||
//echo("NaP");
|
//echo("NaP");
|
||||||
|
|
@ -324,7 +324,7 @@ function TWM2MissionClass::EndTWM2Mission(%group) {
|
||||||
if(%group.Status $= "Failed") {
|
if(%group.Status $= "Failed") {
|
||||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||||
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@%group.failMessage@"~wfx/misc/flag_lost.wav");
|
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@%group.failMessage@"~wfx/misc/flag_lost.wav");
|
||||||
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - Mission Failed");
|
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - Operation Failed");
|
||||||
schedule(5000, 0, messageClient, %group.Participant[%i], 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
schedule(5000, 0, messageClient, %group.Participant[%i], 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
||||||
CompleteNWChallenge(%group.Participant[%i], "EpicFailure");
|
CompleteNWChallenge(%group.Participant[%i], "EpicFailure");
|
||||||
}
|
}
|
||||||
|
|
@ -333,8 +333,8 @@ function TWM2MissionClass::EndTWM2Mission(%group) {
|
||||||
if(%group.timer > 0) {
|
if(%group.timer > 0) {
|
||||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||||
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@%group.BonusCompleteMessage@"~wfx/misc/hunters_horde.wav");
|
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@%group.BonusCompleteMessage@"~wfx/misc/hunters_horde.wav");
|
||||||
GainExperience(%group.Participant[%i], %group.bonusEXP + %group.completionEXP, "Mission Accomplished, Bonus EXP Recieved ");
|
GainExperience(%group.Participant[%i], %group.bonusEXP + %group.completionEXP, "Operation Accomplished, Bonus EXP Recieved ");
|
||||||
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - Mission Accomplished (Time!)");
|
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - Operation Accomplished (Time Bonus Achieved)");
|
||||||
schedule(5000, 0, messageClient, %group.Participant[%i], 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
schedule(5000, 0, messageClient, %group.Participant[%i], 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
||||||
CompleteNWChallenge(%group.Participant[%i], "GoldStar");
|
CompleteNWChallenge(%group.Participant[%i], "GoldStar");
|
||||||
}
|
}
|
||||||
|
|
@ -342,8 +342,8 @@ function TWM2MissionClass::EndTWM2Mission(%group) {
|
||||||
else {
|
else {
|
||||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||||
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@%group.CompleteMessageNoTime@"~wfx/misc/flag_capture.wav");
|
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@%group.CompleteMessageNoTime@"~wfx/misc/flag_capture.wav");
|
||||||
GainExperience(%group.Participant[%i], %group.completionEXP, "Mission Accomplished! ");
|
GainExperience(%group.Participant[%i], %group.completionEXP, "Operation Accomplished! ");
|
||||||
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - Mission Accomplished");
|
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - Operation Accomplished");
|
||||||
schedule(5000, 0, messageClient, %group.Participant[%i], 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
schedule(5000, 0, messageClient, %group.Participant[%i], 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
||||||
CompleteNWChallenge(%group.Participant[%i], "Faster");
|
CompleteNWChallenge(%group.Participant[%i], "Faster");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ function InitiateBoss(%Boss, %name) {
|
||||||
%print = "<color:FF0000>BOSS ALERT \n LORD VARDISON HAS ENTERED HIS SECOND FORM";
|
%print = "<color:FF0000>BOSS ALERT \n LORD VARDISON HAS ENTERED HIS SECOND FORM";
|
||||||
case "Vardison3":
|
case "Vardison3":
|
||||||
%print = "<color:FF0000>BOSS ALERT \n LORD VARDISON HAS ENTERED HIS FINAL FORM";
|
%print = "<color:FF0000>BOSS ALERT \n LORD VARDISON HAS ENTERED HIS FINAL FORM";
|
||||||
case "Trebor":
|
case "Trevor":
|
||||||
%print = "<color:FF0000>BOSS BATTLE \n LORDRANIUS TREVOR";
|
%print = "<color:FF0000>BOSS BATTLE \n LORDRANIUS TREVOR";
|
||||||
case "Stormrider":
|
case "Stormrider":
|
||||||
%print = "<color:FF0000>CLASSIC BOSS BATTLE \n COMMANDER STORMRIDER";
|
%print = "<color:FF0000>CLASSIC BOSS BATTLE \n COMMANDER STORMRIDER";
|
||||||
|
|
@ -64,7 +64,7 @@ function BossCheckUp(%boss, %name) {
|
||||||
MessageAll('MsgSPCurrentObjective1', "", "Boss Battle: "@$TWM2::BossName[%name]@" [Boss Kill Count: "@$TWM2::BossManager.bossKills@"]");
|
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('MsgSPCurrentObjective2', "", "Boss HP: "@mFloor(%boss.getDamageLeft()*100)@"/"@mFloor(%boss.getMaxDamage()*100)@" ("@%percentage@"%)");
|
||||||
|
|
||||||
if(%name !$= "CnlWindshear" && %name !$= "Trebor" && %name !$= "Stormrider") {
|
if(%name !$= "CnlWindshear" && %name !$= "Trevor" && %name !$= "Stormrider") {
|
||||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||||
if(%name $= "Vardison1") {
|
if(%name $= "Vardison1") {
|
||||||
%count = ClientGroup.getCount();
|
%count = ClientGroup.getCount();
|
||||||
|
|
@ -175,7 +175,7 @@ function GameConnection::GiveBossAward(%client, %bossName) {
|
||||||
CompleteNWChallenge(%client, "VardWtf");
|
CompleteNWChallenge(%client, "VardWtf");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(%bossName $= "Trebor") {
|
else if(%bossName $= "Trevor") {
|
||||||
AwardClient(%client, 15);
|
AwardClient(%client, 15);
|
||||||
}
|
}
|
||||||
//rank writing
|
//rank writing
|
||||||
|
|
@ -310,15 +310,15 @@ function CheckBossChallenge(%client, %boss) {
|
||||||
if(%dc >= 10) {
|
if(%dc >= 10) {
|
||||||
CompleteNWChallenge(%client, "Stormrider3");
|
CompleteNWChallenge(%client, "Stormrider3");
|
||||||
}
|
}
|
||||||
case "Trebor":
|
case "Trevor":
|
||||||
if(%dc >= 2) {
|
if(%dc >= 2) {
|
||||||
CompleteNWChallenge(%client, "Treb1");
|
CompleteNWChallenge(%client, "Trev1");
|
||||||
}
|
}
|
||||||
if(%dc >= 4) {
|
if(%dc >= 4) {
|
||||||
CompleteNWChallenge(%client, "Treb2");
|
CompleteNWChallenge(%client, "Trev2");
|
||||||
}
|
}
|
||||||
if(%dc >= 7) {
|
if(%dc >= 7) {
|
||||||
CompleteNWChallenge(%client, "Treb3");
|
CompleteNWChallenge(%client, "Trev3");
|
||||||
}
|
}
|
||||||
case "ShadeLord":
|
case "ShadeLord":
|
||||||
if(%dc >= 1) {
|
if(%dc >= 1) {
|
||||||
|
|
@ -344,7 +344,7 @@ exec("scripts/TWM2/Bosses/GhostOfLightning.cs");
|
||||||
exec("scripts/TWM2/Bosses/GeneralVegenor.cs");
|
exec("scripts/TWM2/Bosses/GeneralVegenor.cs");
|
||||||
exec("scripts/TWM2/Bosses/LordRog.cs");
|
exec("scripts/TWM2/Bosses/LordRog.cs");
|
||||||
exec("scripts/TWM2/Bosses/MajorInsignia.cs");
|
exec("scripts/TWM2/Bosses/MajorInsignia.cs");
|
||||||
exec("scripts/TWM2/Bosses/LordraniusTrebor.cs");
|
exec("scripts/TWM2/Bosses/LordraniusTrevor.cs");
|
||||||
exec("scripts/TWM2/Bosses/Stormrider.cs");
|
exec("scripts/TWM2/Bosses/Stormrider.cs");
|
||||||
exec("scripts/TWM2/Bosses/GhostOfFire.cs");
|
exec("scripts/TWM2/Bosses/GhostOfFire.cs");
|
||||||
exec("scripts/TWM2/Bosses/ShadeLord.cs");
|
exec("scripts/TWM2/Bosses/ShadeLord.cs");
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -746,10 +746,16 @@ function GenerateDWMChallengeMenu(%client, %tag, %index) {
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Uncolored Indicates An Active Challenge");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "Uncolored Indicates An Active Challenge");
|
||||||
%index++;
|
%index++;
|
||||||
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "");
|
||||||
|
%index++;
|
||||||
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "PGD Daily Challenge News:");
|
||||||
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "6/29/17: PGD Challenges reacitvated, now running 5x daily");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "6/29/17: PGD Challenges reacitvated, now running 5x daily");
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "4/20/16: New Daily Challenge System is Live!");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "4/20/16: New Daily Challenge System is Live!");
|
||||||
%index++;
|
%index++;
|
||||||
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "==========================");
|
||||||
|
%index++;
|
||||||
for(%i = 1; isSet($Challenges::Challenge[%i]); %i++) {
|
for(%i = 1; isSet($Challenges::Challenge[%i]); %i++) {
|
||||||
%challenge = $Challenges::Challenge[%i];
|
%challenge = $Challenges::Challenge[%i];
|
||||||
%cType = getField(%challenge, 0);
|
%cType = getField(%challenge, 0);
|
||||||
|
|
|
||||||
|
|
@ -206,6 +206,22 @@ function TWM2Lib_MainControl(%functionName, %arguments) {
|
||||||
%PositionF = getWord(%Position, 0) SPC getWord(%Position, 1) SPC %Z;
|
%PositionF = getWord(%Position, 0) SPC getWord(%Position, 1) SPC %Z;
|
||||||
|
|
||||||
return %PositionF;
|
return %PositionF;
|
||||||
|
|
||||||
|
case "getstrtrailingnumber":
|
||||||
|
%str = trim(StrReplace(%arguments, " ", ""));
|
||||||
|
%len = strLen(%str);
|
||||||
|
%trailingNum = "";
|
||||||
|
for(%i = %len-1; %i >= 0; %i--) {
|
||||||
|
%ch = strcmp(getSubStr(%str, %i, 1), "");
|
||||||
|
if(%ch > 48 && %ch < 57) {
|
||||||
|
//Number, remember, we're reading backwards, so write backwards.
|
||||||
|
%trailingNum = getSubStr(%str, %i, 1) @ %trailingNum;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return %trailingNum;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
error("TWM2Lib_MainControl(): Error, unknown function "@%functionName@" sent to command.");
|
error("TWM2Lib_MainControl(): Error, unknown function "@%functionName@" sent to command.");
|
||||||
|
|
|
||||||
|
|
@ -89,10 +89,6 @@ function GetClientMedals(%client, %target, %tag, %index) {
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*About Damn Time: Reach the Final Rank (3,000,000 EXP)");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "*About Damn Time: Reach the Final Rank (3,000,000 EXP)");
|
||||||
%index++;
|
%index++;
|
||||||
}
|
}
|
||||||
if(%target.hasMedal(29)) {
|
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Daily Max: Earn the maximum amount of EXP for a given day");
|
|
||||||
%index++;
|
|
||||||
}
|
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "***Boss Medals***");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "***Boss Medals***");
|
||||||
%index++;
|
%index++;
|
||||||
if(%target.hasMedal(1)) {
|
if(%target.hasMedal(1)) {
|
||||||
|
|
@ -169,7 +165,7 @@ function GetClientMedals(%client, %target, %tag, %index) {
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Glorious Fire: accumulate 250 kills with the A|V|X Flamethrower");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Glorious Fire: accumulate 250 kills with the A|V|X Flamethrower");
|
||||||
%index++;
|
%index++;
|
||||||
}
|
}
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "***Mission Medals***");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "***Operation Medals***");
|
||||||
%index++;
|
%index++;
|
||||||
if(%target.hasMedal(32)) {
|
if(%target.hasMedal(32)) {
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*AC-130 Expert: Complete 'Rain Down'.");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "*AC-130 Expert: Complete 'Rain Down'.");
|
||||||
|
|
@ -212,7 +208,7 @@ function GetClientMedals(%client, %target, %tag, %index) {
|
||||||
%index++;
|
%index++;
|
||||||
}
|
}
|
||||||
if(%target.hasMedal(42)) {
|
if(%target.hasMedal(42)) {
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Rog's Vengeance: Complete All 4 Rog's Vengeance Missions");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Rog's Vengeance: Complete All 4 Rog's Vengeance Operations");
|
||||||
%index++;
|
%index++;
|
||||||
}
|
}
|
||||||
if(%target.hasMedal(31)) {
|
if(%target.hasMedal(31)) {
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -46,13 +46,13 @@ function ConstructionGame::processGameLink(%game, %client, %arg1, %arg2, %arg3,
|
||||||
|
|
||||||
case "OrderMisSub":
|
case "OrderMisSub":
|
||||||
%client.SCMPage = "SM";
|
%client.SCMPage = "SM";
|
||||||
messageClient( %client, 'SetScoreHudSubheader', "", "Missions" );
|
messageClient( %client, 'SetScoreHudSubheader', "", "Operations" );
|
||||||
if(getCurrentEXP(%client) < $Ranks::MinPoints[59] && %scriptController.officer < 1) {
|
if(getCurrentEXP(%client) < $Ranks::MinPoints[49] && %scriptController.officer < 1) {
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "You must have the 'Commanding Officer' Rank To Order Missions.");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "You must have the 'General' Rank To Order Operations.");
|
||||||
%index++;
|
%index++;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Order A Mission, Select a Mission");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "Select an Operation");
|
||||||
%index++;
|
%index++;
|
||||||
%xI = 0;
|
%xI = 0;
|
||||||
while(isSet($Mission::TWM2Mision[%xI])) {
|
while(isSet($Mission::TWM2Mision[%xI])) {
|
||||||
|
|
@ -77,13 +77,13 @@ function ConstructionGame::processGameLink(%game, %client, %arg1, %arg2, %arg3,
|
||||||
%task = %arg3;
|
%task = %arg3;
|
||||||
switch(%task) {
|
switch(%task) {
|
||||||
case 1:
|
case 1:
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Mission: "@getField($Mission::VarSet[""@%mission@"", "TaskDetails"], 0)@"");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "Operation: "@getField($Mission::VarSet[""@%mission@"", "TaskDetails"], 0)@"");
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Details: "@getField($Mission::VarSet[""@%mission@"", "TaskDetails"], 1)@"");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "Details: "@getField($Mission::VarSet[""@%mission@"", "TaskDetails"], 1)@"");
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Difficulty: "@$Mission::VarSet[""@%mission@"", "Difficulty"]@"");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "Difficulty: "@$Mission::VarSet[""@%mission@"", "Difficulty"]@"");
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Mission Time Window: "@$Mission::VarSet[""@%mission@"", "TimeLimit"] / 60@" Minutes");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "Operation Time Window: "@$Mission::VarSet[""@%mission@"", "TimeLimit"] / 60@" Minutes");
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Required Players: "@$Mission::VarSet[""@%mission@"", "PlayerReq"]@"");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "Required Players: "@$Mission::VarSet[""@%mission@"", "PlayerReq"]@"");
|
||||||
%index++;
|
%index++;
|
||||||
|
|
@ -91,9 +91,9 @@ function ConstructionGame::processGameLink(%game, %client, %arg1, %arg2, %arg3,
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "");
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOrderMis\t"@%mission@"\t2>Order Mission</a>");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOrderMis\t"@%mission@"\t2>Order This Operation</a>");
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tOrderMisSub\t1>Select A Different Mission</a>');
|
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tOrderMisSub\t1>Select A Different Operation</a>');
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tGTP\t1>Return To Main Menu</a>');
|
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tGTP\t1>Return To Main Menu</a>');
|
||||||
%index++;
|
%index++;
|
||||||
|
|
@ -110,18 +110,18 @@ function ConstructionGame::processGameLink(%game, %client, %arg1, %arg2, %arg3,
|
||||||
|
|
||||||
case "Missions":
|
case "Missions":
|
||||||
%client.SCMPage = "SM";
|
%client.SCMPage = "SM";
|
||||||
messageClient( %client, 'SetScoreHudSubheader', "", "Missions" );
|
messageClient( %client, 'SetScoreHudSubheader', "", "Operations" );
|
||||||
if(getCurrentEXP(%client) < $Ranks::MinPoints[59] && %scriptController.officer < 1) {
|
if(getCurrentEXP(%client) < $Ranks::MinPoints[49] && %scriptController.officer < 1) {
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "You must have the 'Commanding Officer' Rank To Order Missions.");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "Order Operation: LOCKED, Requires 'General' Rank.");
|
||||||
%index++;
|
%index++;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tOrderMisSub\t1>Order A Mission</a>');
|
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tOrderMisSub\t1>Order An Operation</a>');
|
||||||
%index++;
|
%index++;
|
||||||
}
|
}
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, '');
|
messageClient( %client, 'SetLineHud', "", %tag, %index, '');
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tJoinMis\t1>Join The Mission About To Begin</a>');
|
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tJoinMis\t1>Join The Operation About To Begin</a>');
|
||||||
%index++;
|
%index++;
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tGTP\t1>Return To Main Menu</a>');
|
messageClient( %client, 'SetLineHud', "", %tag, %index, '<a:gamelink\tGTP\t1>Return To Main Menu</a>');
|
||||||
%index++;
|
%index++;
|
||||||
|
|
@ -640,7 +640,7 @@ function ConstructionGame::processGameLink(%game, %client, %arg1, %arg2, %arg3,
|
||||||
%index++;
|
%index++;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, 'PGD Connect Status: <color:33FF00>Connected</color>');
|
messageClient( %client, 'SetLineHud', "", %tag, %index, 'PGD Connect Status: <color:33FF00>Connected');
|
||||||
%index++;
|
%index++;
|
||||||
}
|
}
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "");
|
messageClient( %client, 'SetLineHud', "", %tag, %index, "");
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
CMD TSSF TWM 2, The Story Continues
|
CMD TSSF TWM 2, The Story Continues
|
||||||
CMD MAINPAGE TWM 2 News
|
CMD MAINPAGE TWM 2 News
|
||||||
CMD PersControl Settings
|
CMD PersControl Settings
|
||||||
CMD Missions Missions
|
CMD Missions Operations
|
||||||
CMD PC Piece Count
|
CMD PC Piece Count
|
||||||
CMD ContSave Content Saving System
|
CMD ContSave Content Saving System
|
||||||
CMD BL15 Blacklist 15
|
CMD BL15 Blacklist 15
|
||||||
|
|
|
||||||
|
|
@ -247,9 +247,9 @@ function VoteBoss_StartBoss(%BossAbbr)
|
||||||
SpawnLordRog(%pos);
|
SpawnLordRog(%pos);
|
||||||
case "Insignia":
|
case "Insignia":
|
||||||
SpawnInsignia(%pos);
|
SpawnInsignia(%pos);
|
||||||
case "Trebor":
|
case "Trevor":
|
||||||
%pos = VectorAdd(%pos, "0 20 0"); // so trebor doesn't land right on top of them..
|
%pos = VectorAdd(%pos, "0 20 0"); // so trevor doesn't land right on top of them..
|
||||||
StartTrebor(%pos); // its lots of lulz though!
|
StartTrevor(%pos); // its lots of lulz though!
|
||||||
case "Vardison":
|
case "Vardison":
|
||||||
StartVardison1(%pos);
|
StartVardison1(%pos);
|
||||||
case "DAVardison":
|
case "DAVardison":
|
||||||
|
|
@ -278,8 +278,8 @@ function BossFullname(%BossAbbr)
|
||||||
return "Lord Rog";
|
return "Lord Rog";
|
||||||
case "insignia":
|
case "insignia":
|
||||||
return "Major Insignia";
|
return "Major Insignia";
|
||||||
case "trebor":
|
case "trevor":
|
||||||
return "Lordranius Trebor";
|
return "Lordranius Trevor";
|
||||||
case "stormrider":
|
case "stormrider":
|
||||||
return "Commander Stormrider";
|
return "Commander Stormrider";
|
||||||
case "gof":
|
case "gof":
|
||||||
|
|
@ -311,7 +311,7 @@ function isBoss(%Boss)
|
||||||
return 1;
|
return 1;
|
||||||
case "insignia":
|
case "insignia":
|
||||||
return 1;
|
return 1;
|
||||||
case "trebor":
|
case "trevor":
|
||||||
return 1;
|
return 1;
|
||||||
case "vardison":
|
case "vardison":
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
||||||
|
|
@ -370,75 +370,4 @@ function serverCmdScopeCommanderMap(%client, %scope)
|
||||||
%client.scopeCommanderMap(%scope);
|
%client.scopeCommanderMap(%scope);
|
||||||
|
|
||||||
commandToClient(%client, 'ScopeCommanderMap', %scope);
|
commandToClient(%client, 'ScopeCommanderMap', %scope);
|
||||||
}
|
}
|
||||||
|
|
||||||
//From Battlelord:
|
|
||||||
function GetHigherNumber(%num1, %num2) {
|
|
||||||
//Are they equal?
|
|
||||||
if(%num1 == %num2) {
|
|
||||||
return %num1;
|
|
||||||
}
|
|
||||||
else if(%num1 > %num2) {
|
|
||||||
return %num1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return %num2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//EXP
|
|
||||||
function getMaxGainedEXP(%client) {
|
|
||||||
if($MaxGainable $= "") {
|
|
||||||
%num1 = $TWM2::BossXPAward["Yvex"];
|
|
||||||
%num2 = $TWM2::BossXPAward["CnlWindshear"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["GhostOfLightning"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Vengenor"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["LordRog"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Insignia"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Stormrider"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Trebor"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["GhostOfFire"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Vardison3"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
$MaxGainable = %num1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
%num1 = $TWM2::BossXPAward["Yvex"];
|
|
||||||
%num2 = $TWM2::BossXPAward["CnlWindshear"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["GhostOfLightning"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Vengenor"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["LordRog"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Insignia"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Stormrider"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Trebor"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["GhostOfFire"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
%num2 = $TWM2::BossXPAward["Vardison3"];
|
|
||||||
%num1 = GetHigherNumber(%num1, %num2);
|
|
||||||
//Sirens!!! We have a hack in!
|
|
||||||
//Close the server and inform Phantom139
|
|
||||||
if($MaxGainable != %num1) {
|
|
||||||
MessageAll('MsgAlert', "\c5TWM2: Server Hack-In Detected, Max EXP Has been Tampered. ~wfx/misc/red_alert.wav");
|
|
||||||
MessageAll('MsgAlert', "\c5TWM2: This server is forced to Satellite Mode, all EXP Gain has been canceled.");
|
|
||||||
MessageAll('MsgAlert', "\c5TWM2: An E-Mail has been dispatched to \c3Phantom139\c5 Server Shutdown in 5 Seconds.");
|
|
||||||
schedule(5000, 0, "DestroyServer");
|
|
||||||
schedule(8000, 0, "Quit");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return %num1;
|
|
||||||
}
|
|
||||||
|
|
@ -112,7 +112,7 @@ datablock ShapeBaseImageData(GrappleHookImage) {
|
||||||
|
|
||||||
stateName[3] = "Fire";
|
stateName[3] = "Fire";
|
||||||
stateTransitionOnTimeout[3] = "Reload";
|
stateTransitionOnTimeout[3] = "Reload";
|
||||||
stateTimeoutValue[3] = 0.5;
|
stateTimeoutValue[3] = 5.0;
|
||||||
stateFire[3] = true;
|
stateFire[3] = true;
|
||||||
stateAllowImageChange[3] = false;
|
stateAllowImageChange[3] = false;
|
||||||
stateSequence[3] = "Fire";
|
stateSequence[3] = "Fire";
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,7 @@ $TWM2::BossName["Vegenor"] = "General Vegenor";
|
||||||
$TWM2::BossName["Insignia"] = "Major Insignia";
|
$TWM2::BossName["Insignia"] = "Major Insignia";
|
||||||
$TWM2::BossName["Vardison"] = "Lord Vardison";
|
$TWM2::BossName["Vardison"] = "Lord Vardison";
|
||||||
$TWM2::BossName["DAVardison"] = "Dark Archmage Vardison";
|
$TWM2::BossName["DAVardison"] = "Dark Archmage Vardison";
|
||||||
$TWM2::BossName["Trebor"] = "Lordranius Trevor";
|
$TWM2::BossName["Trevor"] = "Lordranius Trevor";
|
||||||
$TWM2::BossName["GoF"] = CollapseEscape("\c7The Ghost Of Fire");
|
$TWM2::BossName["GoF"] = CollapseEscape("\c7The Ghost Of Fire");
|
||||||
$TWM2::BossName["Stormrider"] = "Commander Stormrider";
|
$TWM2::BossName["Stormrider"] = "Commander Stormrider";
|
||||||
|
|
||||||
|
|
@ -168,7 +168,7 @@ $TWM2::BossName["CnlWindshear"] = "Colonel Windshear";
|
||||||
$TWM2::BossName["Vegenor"] = "General Vegenor";
|
$TWM2::BossName["Vegenor"] = "General Vegenor";
|
||||||
$TWM2::BossName["Insignia"] = "Major Insignia";
|
$TWM2::BossName["Insignia"] = "Major Insignia";
|
||||||
$TWM2::BossName["Vardison"] = "Lord Vardison";
|
$TWM2::BossName["Vardison"] = "Lord Vardison";
|
||||||
$TWM2::BossName["Trebor"] = "Lordranius Trevor";
|
$TWM2::BossName["Trevor"] = "Lordranius Trevor";
|
||||||
$TWM2::BossName["GhostOfFire"] = "The Ghost Of Fire";
|
$TWM2::BossName["GhostOfFire"] = "The Ghost Of Fire";
|
||||||
$TWM2::BossName["Stormrider"] = "Commander Stormrider";
|
$TWM2::BossName["Stormrider"] = "Commander Stormrider";
|
||||||
$TWM2::BossName["GhostOfLightning"] = "The Ghost Of Lightning";
|
$TWM2::BossName["GhostOfLightning"] = "The Ghost Of Lightning";
|
||||||
|
|
@ -198,7 +198,7 @@ $TWM2::BossXPAward["CnlWindshear"] = 12500; // 12500
|
||||||
$TWM2::BossXPAward["CnlWindshearAlly"] = 1000; // 1000
|
$TWM2::BossXPAward["CnlWindshearAlly"] = 1000; // 1000
|
||||||
$TWM2::BossXPAward["GhostOfLightning"] = 20000; // 20000
|
$TWM2::BossXPAward["GhostOfLightning"] = 20000; // 20000
|
||||||
$TWM2::BossXPAward["Vengenor"] = 25000; // 25000
|
$TWM2::BossXPAward["Vengenor"] = 25000; // 25000
|
||||||
$TWM2::BossXPAward["Trebor"] = 25000; // 25000
|
$TWM2::BossXPAward["Trevor"] = 25000; // 25000
|
||||||
$TWM2::BossXPAward["LordRog"] = 30000; // 30000
|
$TWM2::BossXPAward["LordRog"] = 30000; // 30000
|
||||||
$TWM2::BossXPAward["Insignia"] = 35000; // 35000
|
$TWM2::BossXPAward["Insignia"] = 35000; // 35000
|
||||||
$TWM2::BossXPAward["Stormrider"] = 45000; // 45000
|
$TWM2::BossXPAward["Stormrider"] = 45000; // 45000
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue