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:
Robert Fritzen 2017-06-30 13:24:52 -05:00
parent fee3eb044b
commit b316f2fdbe
16 changed files with 1031 additions and 2211 deletions

View file

@ -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;

View file

@ -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 {

View file

@ -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;

View file

@ -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");
} }

View file

@ -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

View file

@ -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);

View file

@ -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.");

View file

@ -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

View file

@ -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, "");

View file

@ -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

View file

@ -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;

View file

@ -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;
}

View file

@ -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";

View file

@ -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