Cleaned up a good portion of the code.
This commit is contained in:
Robert Fritzen 2014-08-02 11:20:04 -05:00
parent 72ec9d824a
commit c151ed0c50
7 changed files with 350 additions and 630 deletions

View file

@ -261,21 +261,6 @@ $Ranks::MinPoints[61] = 3000000;
$Ranks::NewRank[61] = "Master Commander";
$Ranks::RankTag[61] = "[MCmdr]";
$Rank::RankCount = 61;
$canRecalcTop5 = 1;
//--------------------------------------
//Misc
//--------------------------------------
function getNumberOfWords(%path){
%number = 0;
for(%i = 0; %i < 1000; %i++){
if(getWord(%path,%i) !$= "")
%number++;
else
return %number;
}
}
//TOP RANKS
function findTopRanks() {
@ -346,35 +331,6 @@ function SortTopRanks(%dlOBJ) {
}
}
function DoNameChangeChecks(%client) {
if(!$TWM2::UseRankTags) {
CheckGUID(%client);

View file

@ -5,120 +5,6 @@
////////////////////////////////////////////////////////////////////////////////
$host::Nobots = 1; //hosts can disable this option to spawn bots
//returns a date integer in this format: yyyymmdd
function ServerReturnMonthDate() {
%Current = ""@formattimestring("mm dd")@"";
%Month = getWord(%Current, 0);
%Day = getWord(%Current, 1);
%IntVal = ""@%Month@""@%Day@"";
// echo(%IntVal);
return %IntVal;
}
function ServerReturnDate() {
%Current = ""@formattimestring("yy mm dd")@"";
%year = getWord(%Current, 0);
%Month = getWord(%Current, 1);
%Day = getWord(%Current, 2);
%IntVal = ""@%year@""@%Month@""@%Day@"";
// echo(%IntVal);
return %IntVal;
}
function DownloadBanList() {
if($Host::UseGlobalBanList) {
$Phantom::BanCount = 0;
%server = "www.phantomdev.net:80";
if (!isObject(BanGet))
%Downloader = new HTTPObject(BanGet){};
else %Downloader = BanGet;
%filename = "/Tribes2/Bans.txt";
%Downloader.get(%server, %filename);
Error("SERVER: Downloading Global Ban List From PGD.com");
}
else {
Error("$Host::UseGlobalBanList is 0, G-Ban List Off");
}
}
function BanGet::onLine(%this, %line) {
AddToGlobalBanList(%line);
}
function AddToGlobalBanList(%line) {
%line = detag( %line );
%text = (%text $= "") ? %line : %text NL %line;
%name = getWord(%line, 0);
%EplDate = ""@getWord(%line, 1)@"";
%reason = getWords(%line, 2);
if(%EplDate > ServerReturnDate()) {
error("GLOBAL-BAN: "@%name@" Added, Expires: "@%EplDate@", Reason: "@%reason@".");
$Phantom::GlobalBanList[$Phantom::BanCount] = ""@%name@" "@%EplDate@" "@%reason@"";
$Phantom::BanCount++;
}
else {
error("GLOBAL-BAN: "@%name@", This ban has Expired, Not added to list.");
}
}
function BanGet::onConnectFailed() {
echo("-- Could not connect to PGD.");
echo("Please Call DownloadBanList(); To Protect your server");
}
function BanGet::onDisconnect(%this) {
%this.delete();
}
function CheckBans(%client) {
for(%i= 0; %i < $Phantom::BanCount; %i++) {
%nametotest = getWord($Phantom::GlobalBanList[%i], 0);
%target = plnametocid(%nametotest);
if(%target != 0) {
%EplDate = getWord($Phantom::GlobalBanList[%i], 1);
if(%EplDate > ServerReturnDate()) {
%reason = getWords($Phantom::GlobalBanList[%i], 2);
banthesucker(%target, %reason, %EplDate);
}
else {
echo(""@getTaggedString(%client.name)@" is on the ban list, but the duration has expired");
}
}
else {
//Do Nothing
}
}
}
function banthesucker(%client, %reason, %lengString) {
if($Host::UseGlobalBanList) {
echo("Global-Banned Client "@%client.namebase@" Attempting to Connect");
MessageAll('Message', "\c2"@%client.namebase@" is Banned Until "@%lengString@" - "@%reason@".");
if(%lengString > 90000000) {
ban(%client);
%client.setDisconnectReason( "You are Perm. Banned From This Server, "@%reason@"" );
$HostGamePlayerCount = ClientGroup.getCount();
return;
}
ban(%client);
%client.setDisconnectReason( "You are G-Banned Until "@%lengString@", "@%reason@"" );
$HostGamePlayerCount = ClientGroup.getCount();
}
else {
echo("Global-Banned Client "@%client.namebase@" Permitted connect - $Host::UseGlobalBanList is 0");
MessageAll('Message', "\c2Global Banned Client: "@%client.namebase@" Permitted Access, $Host::UseGlobalBanList is 0.");
}
}
DownloadBanList(); //download the list
package ServerRunFunctioning {
function GameConnection::onConnect(%client, %name, %raceGender, %skin, %voice, %voicePitch) {
parent::onConnect(%client, %name, %raceGender, %skin, %voice, %voicePitch);
checkBans(%client);
}
};
activatePackage(ServerRunFunctioning);
//////////
function spawnprojectile(%proj,%type,%pos,%direction,%src) {
@ -245,27 +131,6 @@ else if(%type==5){ //1 Second Violent Shock
}
}
//////////////////////////Defaultgame.cs - Need to fix this
// if (%missionTypeId $= "LoadBuildingConf") {
// %file = stripChars(%missionDisplayName,":\\/");
// %dir = "Buildings/" @ $Phantom::LoadFolder;
// if (%file $= "")
// return;
// else {
// if (strStr(%file,"..") != -1)
// return;
// }
// %file = %dir @ %file;
// if (isFile(%file) && getSubStr(%file,strLen(%file)-3,3) $= ".cs") {
// // Message is sent first, so clients know what happened in case server crashes
// messageAll('MsgAdminForce', '\c2The Admin has loaded a building file. \c3(%1)', %file);
// compile(%file);
// exec(%file);
// }
// return;
// }
// }
function createNewDecoy(%client,%name,%race,%armor,%sex,%enum) {
%gun = %client.givingto;
if(%enum == 1)
@ -441,17 +306,3 @@ else if(%type == 3) { //I believe I can fly, I DONT belive in GRAVITY!!!
}
}
}
function LockCLLoop(%client) {
if(!%client.cllock) {
%client.notReady = false;
%client.camera.getDataBlock().setMode( %client.camera, "observer", %client.player );
%client.setControlObject( %client.player );
return;
}
%client.notReady = true;
%client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player );
%client.setControlObject( %client.camera );
CenterPrint(%client,"Your Soul is gone, Please Press Alt+F4 To Exit the game.",1,1);
schedule(1000,0,"LockCLLoop",%client);
}

View file

@ -44,24 +44,6 @@ function CreateClientRankFile(%client) {
MessageAll('WelcomeTheNoob',"\c4"@$ChatBot::Name@": Welcome To Total Warfare Mod For The First Time "@%client.namebase@".");
}
//Phantom139: This function is no longer necessary :)
//function UpdateRankFile(%client) {
// if(%client.donotupdate) {
// echo("Stopped rank update on "@%client@", server denies access (probably loading univ rank)");
// return;
// }
// echo("Updating "@%client.namebase@"'s Rank File");
// %file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
//
// %scriptController = %client.TWM2Core;
// %scriptController.save(%file);
//
// echo("Update complete");
// exec(%file);
//
// checkForXPAwards(%client);
//}
function LoadClientRankfile(%client) {
%client.donotupdate = 0;
echo("Attempting To Load "@%client.namebase@"'s Ranks File");

View file

@ -32,29 +32,8 @@ function LoadClientFile(%client) {
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
exec(%file);
ClientContainer(%client);
Patch35FileTo36(%client); //check if they need to be patched to the new 3.6 system
//
loadChallengeData(%client);
loadSettings(%client);
%client.storeCreate();
}
//TWM2 3.5 -> 3.6
function Patch35FileTo36(%client) {
%container = %client.container;
%rank = NameToID("TWM2Client_"@%client.guid);
%chal = NameToID("CCD_"@%client.guid);
%sett = NameToID("ClientSettings"@%client.guid);
//begin patch
if(!%container.isMember(%rank)) {
%container.add(%rank);
}
if(!%container.isMember(%chal)) {
%container.add(%chal);
}
if(!%container.isMember(%sett)) {
%container.add(%sett);
}
//save new file
SaveClientFile(%client);
}

View file

@ -1,17 +0,0 @@
//Messenger.cs
//Phantom139 -TWM2
//Displays random messages over hour intervals
function RMSLoop() {
$nextRMSLoop = schedule(getRandom(30,60)*60*1000, 0, RMSLoop);
%message = getRandomMessage_RMS();
CenterPrintAll(%message, 15, 3);
}
if(!isEventScheduled($nextRMSLoop)) {
$nextRMSLoop = RMSLoop();
}
function getRandomMessage_RMS() {
}

View file

@ -1,11 +0,0 @@
All Files in this folder and sub-folders are propietary and protected by the digital copyright law.
YOU MUST HAVE PERMISSION FROM PHANTOM139 OR THE SOURCE OF THE CODE TO USE ANY ASPECTS IN THIS
FOLDER AND ALL SUB FOLDERS.
ALL ASPECTS OF THE PGD CONNECT SCRIPT ARE PROPIETARY, YOU DO NOT HAVE PERMISSION TO USE THEM IN ANY
OTHER MOD, NO MATTER THE CASE. YOU DO NOT ALSO, HAVE PERMISSION TO VIEW OR DECOMPILE THE FILES IN ANY
WAY OR FORM. YOU WILL BE PROSECUTED FOR DOING SO.
IF ANY ASPECTS FROM THIS MOD ARE FOUND IN ANOTHER PROJECT WITHOUT PERMISSION, YOU WILL BE
PROSECUTED TO THE FULL EXTENT OF THE DIGITAL COPYRIGHT LAW.

View file

@ -33,50 +33,7 @@ $EditTool::PadModes[18] = "DeployedCrate12";
$EditTool::PadModes[19] = "DeployedDecoration6";
$EditTool::PadModes[20] = "DeployedDecoration16";
datablock LinearFlareProjectileData(EditorBolt)
{
emitterDelay = -1;
directDamage = 0;
directDamageType = $DamageType::Default;
kickBackStrength = 0.0;
bubbleEmitTime = 1.0;
sound = PlasmaProjectileSound;
velInheritFactor = 0.5;
explosion = "BlasterExplosion";
splash = BlasterSplash;
grenadeElasticity = 0.998;
grenadeFriction = 0.0;
armingDelayMS = 500;
muzzleVelocity = 100.0;
drag = 0.05;
gravityMod = 0.0;
dryVelocity = 100.0;
wetVelocity = 80.0;
reflectOnWaterImpactAngle = 0.0;
explodeOnWaterImpact = false;
deflectionOnWaterImpact = 0.0;
fizzleUnderwaterMS = 6000;
lifetimeMS = 6000;
scale = "1 1 1";
numFlares = 48;
flareColor = "1 0 0";
flareModTexture = "special/shrikeBoltCross";
flareBaseTexture = "special/shrikeBolt";
};
datablock ItemData(EditTool)
{
datablock ItemData(EditTool) {
className = Weapon;
catagory = "Spawn Items";
shapeFile = "weapon_disc.dts";
@ -88,8 +45,7 @@ datablock ItemData(EditTool)
pickUpName = "a Editing Tool";
};
datablock ShapeBaseImageData(EditGunImage)
{
datablock ShapeBaseImageData(EditGunImage) {
className = WeaponImage;
shapeFile = "weapon_disc.dts";
item = EditTool;
@ -98,9 +54,8 @@ datablock ShapeBaseImageData(EditGunImage)
usesEnergy = true;
minEnergy = 0.01;
projectile = EditorBolt;
projectileType = LinearFlareProjectile;
//projectile = EditorBolt;
//projectileType = LinearFlareProjectile;
stateName[0] = "Activate";
stateTransitionOnTimeout[0] = "ActivateReady";
@ -163,187 +118,220 @@ Parent::onUnmount(%this, %obj, %slot);
%obj.UsingEditTool = false;
}
function EditGunImage::onFire(%data, %obj, %slot) {
//RAYCAST
%vector = %obj.getMuzzleVector(%slot);
%mp = %obj.getMuzzlePoint(%slot);
%targetpos = vectoradd(%mp,vectorscale(%vector, 2500));
%targ = containerraycast(%mp, %targetpos, $typemasks::staticshapeobjecttype, %obj);
%targetObject = getword(%targ, 0);
if(%targetObject == 0) {
BottomPrint(%obj.client, "No Object Found", 2, 2);
return;
}
if (!Deployables.isMember(%targetObject)) {
messageclient(%obj.client, 'MsgClient', "\c2Manipulator: Error, Map Object Selected.");
return;
}
//APPLY EDITS
switch$(%obj.EditPMode) {
case 0:
EToolswaping(%targetObject, %obj, 0, %obj.EditSMode);
case 1:
EToolswaping(%targetObject, %obj, 1, %obj.EditSMode);
case 2:
EToolTurrets(%targetObject, %obj, %obj.EditSMode);
case 3:
EToolCloakandFade(%targetObject, %obj, %obj.EditSMode);
case 4:
EToolDeleting(%targetObject, %obj, %obj.EditSMode);
}
}
function EditGunImage::onMount(%this, %obj, %slot) {
Parent::onMount(%this, %obj, %slot);
DispEditorToolInfo(%obj);
if(!isSet(%obj.EditPMode)) {
%obj.EditPMode = 0;
}
if(!isSet(%obj.EditSMode)) {
%obj.EditSMode = 0;
}
%obj.UsingEditTool = true;
}
function EditGunImage::onunmount(%this, %obj, %slot) {
Parent::onUnmount(%this, %obj, %slot);
%obj.UsingEditTool = false;
}
function DispEditorToolInfo(%obj) {
switch(%obj.EditPMode) {
case 0:
%primary = "Pad Swapping";
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Blue Pad - [LSB] - MSB<spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: LSB - [MSB] - Walkway<spop>", 5, 3);
case 2:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: MSB - [Walkway] - Medium Floor <spop>", 5, 3);
case 3:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Walkway - [Medium Floor] - Dark Pad<spop>", 5, 3);
case 4:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Medium Floor - [Dark Pad] - V-Pad<spop>", 5, 3);
case 5:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Dark Pad - [V-Pad] - C.1 Backpack<spop>", 5, 3);
case 6:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: V-Pad - [C.1 Backpack] - C.2 Small Containment<spop>", 5, 3);
case 7:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.1 Backpack - [C.2 Small Containment] - C.3 Large Containment<spop>", 5, 3);
case 8:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.2 Small Containment - [C.3 Large Containment] - C.4 Compressor<spop>", 5, 3);
case 9:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.3 Large Containment - [C.4 Compressor] - C.5 Tubes<spop>", 5, 3);
case 10:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.4 Compressor - [C.5 Tubes] - C.6 Quantium Bat.<spop>", 5, 3);
case 11:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.5 Tubes - [C.6 Quantium Bat.] - C.7 Proton Acc.<spop>", 5, 3);
case 12:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.6 Quantium Bat. - [C.7 Proton Acc.] - C.8 Cargo Crate<spop>", 5, 3);
case 13:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.7 Proton Acc. - [C.8 Cargo Crate] - C.9 Mag Cooler<spop>", 5, 3);
case 14:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.8 Cargo Crate - [C.9 Mag Cooler] - C.10 Recycle Unit<spop>", 5, 3);
case 15:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.9 Mag Cooler - [C.10 Recycle Unit] - C.11 Fuel Canister<spop>", 5, 3);
case 16:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.10 Recycle Unit - [C.11 Fuel Canister] - C.12 Wooden Box<spop>", 5, 3);
case 17:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.11 Fuel Canister - [C.12 Wooden Box] - C.13 Plasma Router<spop>", 5, 3);
case 18:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.12 Wooden Box - [C.13 Plasma Router] - Statue Base<spop>", 5, 3);
case 19:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: C.13 Plasma Router - [Statue Base] - Blue Pad<spop>", 5, 3);
case 20:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Statue Base - [Blue Pad] - LSB<spop>", 5, 3);
}
case 1:
%primary = "Force-Field Swapping";
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: All Pass Yellow - [Solid White] - Solid Red<spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Solid White - [Solid Red] - Solid Green<spop>", 5, 3);
case 2:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Solid Red - [Solid Green] - Solid Blue<spop>", 5, 3);
case 3:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Solid Green - [Solid Blue] - Solid Cyan<spop>", 5, 3);
case 4:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Solid Blue - [Solid Cyan] - Solid Magenta<spop>", 5, 3);
case 5:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Solid Cyan - [Solid Magenta] - Solid Yellow<spop>", 5, 3);
case 6:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Solid Magenta - [Solid Yellow] - Team Pass White<spop>", 5, 3);
case 7:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Solid Yellow - [Team Pass White] - Team Pass Red<spop>", 5, 3);
case 8:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Team Pass White - [Team Pass Red] - Team Pass Green<spop>", 5, 3);
case 9:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Team Pass Red - [Team Pass Green] - Team Pass Blue<spop>", 5, 3);
case 10:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Team Pass Green - [Team Pass Blue] - Team Pass Cyan<spop>", 5, 3);
case 11:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Team Pass Blue - [Team Pass Cyan] - Team Pass Magenta<spop>", 5, 3);
case 12:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Team Pass Cyan - [Team Pass Magenta] - Team Pass Yellow<spop>", 5, 3);
case 13:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Team Pass Magenta - [Team Pass Yellow] - All Pass White<spop>", 5, 3);
case 14:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Team Pass Yellow - [All Pass White] - All Pass Red<spop>", 5, 3);
case 15:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: All Pass White - [All Pass Red] - All Pass Green<spop>", 5, 3);
case 16:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: All Pass Red - [All Pass Green] - All Pass Blue<spop>", 5, 3);
case 17:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: All Pass Green - [All Pass Blue] - All Pass Cyan<spop>", 5, 3);
case 18:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: All Pass Blue - [All Pass Cyan] - All Pass Magenta<spop>", 5, 3);
case 19:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: All Pass Cyan - [All Pass Magenta] - All Pass Yellow<spop>", 5, 3);
case 20:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: All Pass Magenta - [All Pass Yellow] - Solid White<spop>", 5, 3);
}
case 2:
%primary = "Turret Barrel Swapping";
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Mortar - [Anti Air] - Missile<spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Anti Air - [Missile] - Plasma<spop>", 5, 3);
case 2:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Missile - [Plasma] - ELF<spop>", 5, 3);
case 3:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Plasma - [ELF] - Mortar<spop>", 5, 3);
case 4:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: ELF - [Mortar] - Anti Air<spop>", 5, 3);
}
case 3:
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - [Cloak/Fade] - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: [Cloak] - UnCloak - Fade - UnFade <spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - [Cloak/Fade] - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Cloak - [UnCloak] - Fade - UnFade <spop>", 5, 3);
case 2:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - [Cloak/Fade] - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Cloak - UnCloak - [Fade] - UnFade <spop>", 5, 3);
case 3:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - [Cloak/Fade] - Delete Objects \n <font:Tempus Sans ITC:18> Grenade: Cloak - UnCloak - Fade - [UnFade] <spop>", 5, 3);
}
case 4:
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - Cloak/Fade - [Delete Objects] \n <font:Tempus Sans ITC:18> Grenade: [Single] - Cascade <spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush><font:Tempus Sans ITC:20>[{Manipulator Tool}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - Cloak/Fade - [Delete Objects] \n <font:Tempus Sans ITC:18> Grenade: Single - [Cascade] <spop>", 5, 3);
}
switch(%obj.EditPMode) {
case 0:
%primary = "Pad Swapping";
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Blue Pad - [LSB] - MSB<spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: LSB - [MSB] - Walkway<spop>", 5, 3);
case 2:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: MSB - [Walkway] - Medium Floor <spop>", 5, 3);
case 3:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Walkway - [Medium Floor] - Dark Pad<spop>", 5, 3);
case 4:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Medium Floor - [Dark Pad] - V-Pad<spop>", 5, 3);
case 5:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Dark Pad - [V-Pad] - C.1 Backpack<spop>", 5, 3);
case 6:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: V-Pad - [C.1 Backpack] - C.2 Small Containment<spop>", 5, 3);
case 7:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.1 Backpack - [C.2 Small Containment] - C.3 Large Containment<spop>", 5, 3);
case 8:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.2 Small Containment - [C.3 Large Containment] - C.4 Compressor<spop>", 5, 3);
case 9:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.3 Large Containment - [C.4 Compressor] - C.5 Tubes<spop>", 5, 3);
case 10:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.4 Compressor - [C.5 Tubes] - C.6 Quantium Bat.<spop>", 5, 3);
case 11:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.5 Tubes - [C.6 Quantium Bat.] - C.7 Proton Acc.<spop>", 5, 3);
case 12:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.6 Quantium Bat. - [C.7 Proton Acc.] - C.8 Cargo Crate<spop>", 5, 3);
case 13:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.7 Proton Acc. - [C.8 Cargo Crate] - C.9 Mag Cooler<spop>", 5, 3);
case 14:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.8 Cargo Crate - [C.9 Mag Cooler] - C.10 Recycle Unit<spop>", 5, 3);
case 15:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.9 Mag Cooler - [C.10 Recycle Unit] - C.11 Fuel Canister<spop>", 5, 3);
case 16:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.10 Recycle Unit - [C.11 Fuel Canister] - C.12 Wooden Box<spop>", 5, 3);
case 17:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.11 Fuel Canister - [C.12 Wooden Box] - C.13 Plasma Router<spop>", 5, 3);
case 18:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.12 Wooden Box - [C.13 Plasma Router] - Statue Base<spop>", 5, 3);
case 19:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.13 Plasma Router - [Statue Base] - Blue Pad<spop>", 5, 3);
case 20:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: [Pad Swap] - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Statue Base - [Blue Pad] - LSB<spop>", 5, 3);
}
case 1:
%primary = "Force-Field Swapping";
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Yellow - [Solid White] - Solid Red<spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid White - [Solid Red] - Solid Green<spop>", 5, 3);
case 2:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Red - [Solid Green] - Solid Blue<spop>", 5, 3);
case 3:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Green - [Solid Blue] - Solid Cyan<spop>", 5, 3);
case 4:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Blue - [Solid Cyan] - Solid Magenta<spop>", 5, 3);
case 5:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Cyan - [Solid Magenta] - Solid Yellow<spop>", 5, 3);
case 6:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Magenta - [Solid Yellow] - Team Pass White<spop>", 5, 3);
case 7:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Yellow - [Team Pass White] - Team Pass Red<spop>", 5, 3);
case 8:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass White - [Team Pass Red] - Team Pass Green<spop>", 5, 3);
case 9:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Red - [Team Pass Green] - Team Pass Blue<spop>", 5, 3);
case 10:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Green - [Team Pass Blue] - Team Pass Cyan<spop>", 5, 3);
case 11:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Blue - [Team Pass Cyan] - Team Pass Magenta<spop>", 5, 3);
case 12:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Cyan - [Team Pass Magenta] - Team Pass Yellow<spop>", 5, 3);
case 13:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Magenta - [Team Pass Yellow] - All Pass White<spop>", 5, 3);
case 14:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Yellow - [All Pass White] - All Pass Red<spop>", 5, 3);
case 15:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass White - [All Pass Red] - All Pass Green<spop>", 5, 3);
case 16:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Red - [All Pass Green] - All Pass Blue<spop>", 5, 3);
case 17:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Green - [All Pass Blue] - All Pass Cyan<spop>", 5, 3);
case 18:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Blue - [All Pass Cyan] - All Pass Magenta<spop>", 5, 3);
case 19:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Cyan - [All Pass Magenta] - All Pass Yellow<spop>", 5, 3);
case 20:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - [FF Swap] - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Magenta - [All Pass Yellow] - Solid White<spop>", 5, 3);
}
case 2:
%primary = "Turret Barrel Swapping";
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n Grenade: Mortar - [Anti Air] - Missile<spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n Grenade: Anti Air - [Missile] - Plasma<spop>", 5, 3);
case 2:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n Grenade: Missile - [Plasma] - ELF<spop>", 5, 3);
case 3:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n Grenade: Plasma - [ELF] - Mortar<spop>", 5, 3);
case 4:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - [Barrel Swap] - Cloak/Fade - Delete Objects \n Grenade: ELF - [Mortar] - Anti Air<spop>", 5, 3);
}
case 3:
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - [Cloak/Fade] - Delete Objects \n Grenade: [Cloak] - UnCloak - Fade - UnFade <spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - [Cloak/Fade] - Delete Objects \n Grenade: Cloak - [UnCloak] - Fade - UnFade <spop>", 5, 3);
case 2:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - [Cloak/Fade] - Delete Objects \n Grenade: Cloak - UnCloak - [Fade] - UnFade <spop>", 5, 3);
case 3:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - [Cloak/Fade] - Delete Objects \n Grenade: Cloak - UnCloak - Fade - [UnFade] <spop>", 5, 3);
}
case 4:
switch(%obj.EditSMode) {
case 0:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - Cloak/Fade - [Delete Objects] \n Grenade: [Single] - Cascade <spop>", 5, 3);
case 1:
commandToClient( %obj.client, 'BottomPrint', "<spush>[{Manipulator}] - Phantom139 \n Mine: Pad Swap - FF Swap - Barrel Swap - Cloak/Fade - [Delete Objects] \n Grenade: Single - [Cascade] <spop>", 5, 3);
}
}
}
function ChangeEditGunMode(%this, %data, %PriSec) { //This Is Easier To use
if(%PriSec == 1) { //Primary
if (!(getSimTime() > (%this.mineModeTime + 100)))
return;
%this.mineModeTime = getSimTime();
%this.EditPMode++;
%this.EditSMode = 0; //Reset Secondary Mode TO Prevent Errors
if (%this.EditPMode > 4) {
%this.EditPMode = 0;
}
DispEditorToolInfo(%this);
return;
}
else { //Secondary
if (!(getSimTime() > (%this.grenadeModeTime + 100)))
return;
%this.grenadeModeTime = getSimTime();
%this.EditSMode++;
//Check Primaries
if(%this.EditPMode == 0 && %this.EditSMode > 20) {
%this.EditSMode = 0;
}
else if(%this.EditPMode == 1 && %this.EditSMode > 20) {
%this.EditSMode = 0;
}
else if(%this.EditPMode == 2 && %this.EditSMode > 4) {
%this.EditSMode = 0;
}
else if(%this.EditPMode == 3 && %this.EditSMode > 3) {
%this.EditSMode = 0;
}
else if(%this.EditPMode == 4 && %this.EditSMode > 1) {
%this.EditSMode = 0;
}
DispEditorToolInfo(%this);
return;
}
}
function EditorBolt::onCollision(%data,%projectile,%targetObject,%modifier,%position,%normal) {
switch$(%projectile.sourceObject.EditPMode) {
case 0:
EToolswaping(%targetObject,%projectile.sourceObject,0,%projectile.sourceObject.EditSMode);
case 1:
EToolswaping(%targetObject,%projectile.sourceObject,1,%projectile.sourceObject.EditSMode);
case 2:
EToolTurrets(%targetObject,%projectile.sourceObject,%projectile.sourceObject.EditSMode);
case 3:
EToolCloakandFade(%targetObject,%projectile.sourceObject,%projectile.sourceObject.EditSMode);
case 4:
EToolDeleting(%targetObject,%projectile.sourceObject,%projectile.sourceObject.EditSMode);
if(%PriSec == 1) { //Primary
if (!(getSimTime() > (%this.mineModeTime + 100)))
return;
%this.mineModeTime = getSimTime();
%this.EditPMode++;
%this.EditSMode = 0; //Reset Secondary Mode TO Prevent Errors
if (%this.EditPMode > 4) {
%this.EditPMode = 0;
}
DispEditorToolInfo(%this);
return;
}
else { //Secondary
if (!(getSimTime() > (%this.grenadeModeTime + 100)))
return;
%this.grenadeModeTime = getSimTime();
%this.EditSMode++;
//Check Primaries
if(%this.EditPMode == 0 && %this.EditSMode > 20) {
%this.EditSMode = 0;
}
else if(%this.EditPMode == 1 && %this.EditSMode > 20) {
%this.EditSMode = 0;
}
else if(%this.EditPMode == 2 && %this.EditSMode > 4) {
%this.EditSMode = 0;
}
else if(%this.EditPMode == 3 && %this.EditSMode > 3) {
%this.EditSMode = 0;
}
else if(%this.EditPMode == 4 && %this.EditSMode > 1) {
%this.EditSMode = 0;
}
DispEditorToolInfo(%this);
return;
}
}
//Editor Tool Functioning
@ -353,208 +341,200 @@ function EditorBolt::onCollision(%data,%projectile,%targetObject,%modifier,%posi
function EToolDeleting(%tobj,%plyr,%Mode) {
%cl=%plyr.client;
if ( %tobj.ownerGUID != %cl.guid){
if (!%cl.isadmin && !%cl.issuperadmin){
if (%tobj.ownerGUID !$=""){
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, You Do Not Own This Piece.");
return;
}
}
if (!%cl.isadmin && !%cl.issuperadmin){
if (%tobj.ownerGUID !$=""){
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, You Do Not Own This Piece.");
return;
}
}
}
if (%tobj.squaresize !$="") {
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Unknown Object Selected.");
return;
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Unknown Object Selected.");
return;
}
if (!Deployables.isMember(%tobj)) {
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Map Object Selected.");
return;
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Map Object Selected.");
return;
}
switch(%Mode) {
case 0:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Deleting Object.");
%tobj.getDataBlock().disassemble(%plyr, %tobj); //this found in constructionTool.cs
case 1:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Cascade Deleting Object (All Conective Objects).");
cascade(%tobj,true);
case 0:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Deleting Object.");
%tobj.getDataBlock().disassemble(%plyr, %tobj); //this found in constructionTool.cs
case 1:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Cascade Deleting Object (All Conective Objects).");
cascade(%tobj,true);
}
}
//
function EToolCloakandFade(%tobj,%plyr,%Mode) {
%cl=%plyr.client;
if ( %tobj.ownerGUID != %cl.guid){
if (!%cl.isadmin && !%cl.issuperadmin){
if (%tobj.ownerGUID !$=""){
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, You Do Not Own This Piece.");
return;
}
}
if (%tobj.ownerGUID != %cl.guid){
if (!%cl.isadmin && !%cl.issuperadmin){
if (%tobj.ownerGUID !$=""){
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, You Do Not Own This Piece.");
return;
}
}
}
if (%tobj.squaresize !$="") {
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Unknown Object Selected.");
return;
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Unknown Object Selected.");
return;
}
if (!Deployables.isMember(%tobj)) {
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Map Object Selected.");
return;
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Map Object Selected.");
return;
}
switch(%Mode) {
case 0:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Object Cloaked");
%tobj.setCloaked(true);
%tobj.cloaked = 1;
case 1:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Object Un-Cloaked");
%tobj.setCloaked(false);
%tobj.cloaked = 0;
case 2:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Object Faded");
%tobj.startfade(1,0,1);
case 3:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Object Un-Faded");
%tobj.startfade(1,0,0);
case 0:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Object Cloaked");
%tobj.setCloaked(true);
%tobj.cloaked = 1;
case 1:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Object Un-Cloaked");
%tobj.setCloaked(false);
%tobj.cloaked = 0;
case 2:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Object Faded");
%tobj.startfade(1,0,1);
case 3:
messageclient(%cl, 'MsgClient', "\c2TextureTool: Object Un-Faded");
%tobj.startfade(1,0,0);
}
}
//
function EToolTurrets(%tobj,%plyr,%Mode) {
%cl=%plyr.client;
if ( %tobj.ownerGUID != %cl.guid){
if (!%cl.isadmin && !%cl.issuperadmin){
if (%tobj.ownerGUID !$=""){
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, You Do Not Own This Piece.");
return;
}
}
if (!%cl.isadmin && !%cl.issuperadmin){
if (%tobj.ownerGUID !$=""){
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, You Do Not Own This Piece.");
return;
}
}
}
if (%tobj.squaresize !$="") {
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Unknown Object Selected.");
return;
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Unknown Object Selected.");
return;
}
%classname= %tobj.getDataBlock().getName();
if(%classname $= "TurretBaseLarge" || %classname $= "TurretDeployedBase") {
switch$(%mode) { //Thanks for help on this Krash..
case 0:
%tobj.mountImage("AABarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with AA Barrel.');
case 1:
%tobj.mountImage("MissileBarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with Missile Barrel.');
case 2:
%tobj.mountImage("PlasmaBarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with Plasma Barrel.');
case 3:
%tobj.mountImage("ELFBarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with ELF Barrel.');
case 4:
%tobj.mountImage("MortarBarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with Mortar Barrel.');
case 0:
%tobj.mountImage("AABarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with AA Barrel.');
case 1:
%tobj.mountImage("MissileBarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with Missile Barrel.');
case 2:
%tobj.mountImage("PlasmaBarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with Plasma Barrel.');
case 3:
%tobj.mountImage("ELFBarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with ELF Barrel.');
case 4:
%tobj.mountImage("MortarBarrelLarge", 0);
messageclient(%cl, 'MsgClient', '\c5TextureTool: Swapping Barrel with Mortar Barrel.');
}
}
else {
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Object not a base turret.");
return;
messageclient(%cl, 'MsgClient', "\c2TextureTool: Error, Object not a base turret.");
return;
}
}
function EToolswaping(%tobj,%plyr,%PMode,%SMode){
//Could be cleaned up a bit later, but it works.
%sender=%plyr.client;
if ( %tobj.ownerGUID != %sender.guid){
if (!%sender.isadmin && !%sender.issuperadmin){
if (%tobj.ownerGUID !$=""){
messageclient(%sender, 'MsgClient', '\c2You do not own this.');
return;
//Could be cleaned up a bit later, but it works.
%sender = %plyr.client;
if (%tobj.ownerGUID != %sender.guid){
if (!%sender.isadmin && !%sender.issuperadmin){
if (%tobj.ownerGUID !$= ""){
messageclient(%sender, 'MsgClient', '\c2You do not own this.');
return;
}
}
}
if (%tobj.squaresize !$="")
return;
%classname= %tobj.getDataBlock().classname;
%objscale = %tobj.scale;
%grounded = %tobj.grounded;
%pwrfreq = %tobj.powerFreq;
%Transform = %tobj.getTransform();
if (%tobj.squaresize !$="")
return;
%classname= %tobj.getDataBlock().classname;
%objscale = %tobj.scale;
%grounded = %tobj.grounded;
%pwrfreq = %tobj.powerFreq;
%Transform = %tobj.getTransform();
//////////////
//forcefeild//
//////////////
if (%classname$="forcefield" && %pmode==1){
%db="DeployedForceField"@%SMode;
%deplObj = new ("ForceFieldBare")() {
if (%pmode == 1) {
%db = "DeployedForceField"@%SMode;
%deplObj = new ("ForceFieldBare")() {
dataBlock = %db;
scale = %objscale;
};
%deplObj.setTransform(%Transform);
if (%tobj.noSlow == true){
%deplObj.noSlow = true;
%deplObj.pzone.delete();
%deplObj.pzone = "";
}
if (%tobj.pzone !$= "")
%tobj.pzone.delete();
%tobj.delete();
};
%deplObj.setTransform(%Transform);
if (%tobj.noSlow == true){
%deplObj.noSlow = true;
%deplObj.pzone.delete();
%deplObj.pzone = "";
}
if (%tobj.pzone !$= "")
%tobj.pzone.delete();
%tobj.delete();
// misc info
addDSurface(%item.surface,%deplObj);
// misc info
addDSurface(%item.surface,%deplObj);
// [[Settings]]:
// [[Settings]]:
%deplObj.grounded = %grounded;
%deplObj.needsFit = 1;
%deplObj.grounded = %grounded;
%deplObj.needsFit = 1;
// [[Normal Stuff]]:
// [[Normal Stuff]]:
// set team, owner, and handle
%deplObj.team = %plyr.client.team;
%deplObj.setOwner(%plyr);
// set team, owner, and handle
%deplObj.team = %plyr.client.team;
%deplObj.setOwner(%plyr);
// set power frequency
%deplObj.powerFreq = %pwrfreq;
// set power frequency
%deplObj.powerFreq = %pwrfreq;
// set the sensor group if it needs one
if (%deplObj.getTarget() != -1)
setTargetSensorGroup(%deplObj.getTarget(), %plyr.client.team);
// set the sensor group if it needs one
if (%deplObj.getTarget() != -1)
setTargetSensorGroup(%deplObj.getTarget(), %plyr.client.team);
// place the deployable in the MissionCleanup/Deployables group (AI reasons)
addToDeployGroup(%deplObj);
// place the deployable in the MissionCleanup/Deployables group (AI reasons)
addToDeployGroup(%deplObj);
//let the AI know as well...
AIDeployObject(%plyr.client, %deplObj);
//let the AI know as well...
AIDeployObject(%plyr.client, %deplObj);
// increment the team count for this deployed object
$TeamDeployedCount[%plyr.team, %item.item]++;
// increment the team count for this deployed object
$TeamDeployedCount[%plyr.team, %item.item]++;
// Power object
checkPowerObject(%deplObj);
// Power object
checkPowerObject(%deplObj);
return %deplObj;
return %deplObj;
}
///////////%objscale = %tobj.scale;
//pads //%oldpos = %tobj.position;
///////////%oldrot = %tobj.rotation;
else if (%pmode==0 && ((%classname $= "decoration" && %tobj.getDataBlock().getname() $="DeployedDecoration6") || %classname $= "crate" || %classname $= "floor" || %classname $= "spine" || %classname $= "mspine" || %classname $= "wall" || %classname $= "wwall" || %classname $= "Wspine" || %classname $= "Sspine" || %classname $= "floor" || %classname $= "door"))
{
%tobj.setCloaked(true);
%tobj.schedule(290, "setCloaked", false);
if (%tobj.isdoor == 1 || %tobj.getdatablock().getname() $="DeployedTdoor"){
if (%tobj.canmove == false) //if it cant move
return;
if (%tobj.state !$="closed" && %tobj.state !$="")
return;
}
if (%tobj.isobjective > 0)
return;
%db = getword($EditTool::PadModes[%SMode],0);
if (%tobj.getdatablock().getname() $="DeployedFloor")
%datablock="DeployedwWall";
else if (%tobj.getdatablock().getname() $="DeployedMSpinering")
%datablock="DeployedMSpine";
else if (%tobj.getdatablock().getname() $="DeployedTdoor"){
%datablock="DeployedMSpine";
}
else
%datablock=%tobj.getdatablock().getname();
else if (%pmode == 0 && (%classname $= "decoration" || %classname $= "crate"
|| %classname $= "floor" || %classname $= "spine" || %classname $= "mspine"
|| %classname $= "wall" || %classname $= "wwall" || %classname $= "Wspine"
|| %classname $= "Sspine" || %classname $= "floor" || %classname $= "door")) {
%tobj.setCloaked(true);
%tobj.schedule(290, "setCloaked", false);
if (%tobj.isdoor == 1 || %tobj.getdatablock().getname() $="DeployedTdoor"){
if (%tobj.canmove == false) //if it cant move
return;
if (%tobj.state !$="closed" && %tobj.state !$="")
return;
}
%db = getword($EditTool::PadModes[%SMode],0);
if (%tobj.getdatablock().getname() $="DeployedFloor")
%datablock="DeployedwWall";
else if (%tobj.getdatablock().getname() $="DeployedMSpinering")
%datablock="DeployedMSpine";
else if (%tobj.getdatablock().getname() $="DeployedTdoor") {
%datablock="DeployedMSpine";
}
else
%datablock = %tobj.getdatablock().getname();
%team = %tobj.team;
%owner = %tobj.owner;
if (%tobj.ownerGUID>0)