Adjusted Weapon Mode System

This commit is contained in:
Robert Fritzen 2014-08-02 13:20:51 -05:00
parent c151ed0c50
commit 41d267c826
7 changed files with 291 additions and 478 deletions

View file

@ -32,6 +32,7 @@ exec("scripts/TWM2/Systems/PieceData.cs"); //Piece Data, /undo Command
exec("scripts/TWM2/Systems/DChalg.cs"); //Daily Challenges
exec("scripts/TWM2/Systems/ArmorEnergyShields.cs"); //Armor Shields
exec("scripts/TWM2/Systems/Store.cs"); //Mula
exec("scripts/TWM2/Systems/weaponModes.cs"); //Global Defines for Weapon Modes
exec("scripts/TWM2/AI/DroneAI.cs"); //Drones

View file

@ -0,0 +1,140 @@
// WeaponModes.cs
// Phantom139
// TWM2 3.9
// Declares weapon mode print tags for weapons (Where necessary)
//This value defines how often a player may switch modes. (In Miliseconds)
$WeaponModes::SwitchDelay = 75;
function displayWeaponInfo(%this, %obj, %pMode, %sMode, %replaceTags) {
%imageName = %this.getName();
%printMsg = "";
if($WeaponModesTag[%imageName] !$= "") {
%printMsg = $WeaponModesTag[%imageName];
%printMsg = strReplace(%printMsg, "[XMSG]", $WeaponModes[%imageName, %pMode, %sMode]);
}
else {
%printMsg = $WeaponModes[%imageName, %pMode, %sMode];
}
//Replace tags is a special field used to replace instances with other instances.
// Essentially, when using this param, you want the first word to be [TAG] and then everything up to the \t to be what you want.
for(%i = 0; %i < getFieldCount(%replaceTags); %i++) {
%replaceA = getWord(getField(%replaceTags, %i), 0);
%replaceB = getWords(getField(%replaceTags, %i), 1, getWordCount(getField(%replaceTags, %i)));
%printMsg = strReplace(%printMsg, %replaceA, %replaceB);
}
CommandToClient(%obj.client, 'BottomPrint', %printMsg, 3, 3);
}
//This is where you can define the print messages for your weapons. There are two options for coding these tags.
// 1. Use $WeaponModesTag[Image]: to declare a standard text for all prints. The only difference is in the [X] tag. If you don't define this, the system uses #2 by default.
// 2. Use $WeaponModes[Image, Pri, Sec]: To declare individual modes, if $WeaponModesTag is defined, this replaces [X], otherwise this is the text used.
//Construction Tool
$WeaponModesTag[ConstructionToolImage] = "<font:Sui Generis:14>>>>Construction Tool<<<\n<font:Arial:14>[XMSG]\nLuCiD, Mostlikely, JackTL.";
$WeaponModes[ConstructionToolImage, 0, 0] = "Mode: Deconstruction | Sub Mode: Normal Deconstruction";
$WeaponModes[ConstructionToolImage, 0, 1] = "Mode: Deconstruction | Sub Mode: Cascading Deconstruction";
$WeaponModes[ConstructionToolImage, 1, 0] = "Mode: Rotate | Sub Mode: Push [REPA] Degrees";
$WeaponModes[ConstructionToolImage, 1, 1] = "Mode: Rotate | Sub Mode: Pull [REPA] Degrees";
$WeaponModes[ConstructionToolImage, 2, 0] = "Mode: Advanced Rotation | Sub Mode: Select Center Of Rotation";
$WeaponModes[ConstructionToolImage, 2, 1] = "Mode: Advanced Rotation | Sub Mode: Add Object To Rotation List";
$WeaponModes[ConstructionToolImage, 2, 2] = "Mode: Advanced Rotation | Sub Mode: Select Rotation Speed";
$WeaponModes[ConstructionToolImage, 2, 3] = "Mode: Advanced Rotation | Sub Mode: Apply Rotation";
$WeaponModes[ConstructionToolImage, 2, 4] = "Mode: Advanced Rotation | Sub Mode: Flash Selected Items";
$WeaponModes[ConstructionToolImage, 2, 5] = "Mode: Advanced Rotation | Sub Mode: Clear Rotation List";
$WeaponModes[ConstructionToolImage, 3, 0] = "Mode: Power Management | Sub Mode: Toggle Power Generation Object";
$WeaponModes[ConstructionToolImage, 3, 1] = "Mode: Power Management | Sub Mode: Increase Current Power Frequency";
$WeaponModes[ConstructionToolImage, 3, 2] = "Mode: Power Management | Sub Mode: Decrease Current Power Frequency";
$WeaponModes[ConstructionToolImage, 3, 3] = "Mode: Power Management | Sub Mode: Read Object Power Information";
//Manipulator Gun
$WeaponModesTag[EditGunImage] = "<font:Sui Generis:14>>>>Manipulator<<< - Phantom139\n<font:Arial:14>[XMSG]";
$WeaponModes[EditGunImage, 0, 0] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Blue Pad - [LSB] - MSB";
$WeaponModes[EditGunImage, 0, 1] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: LSB - [MSB] - Walkway";
$WeaponModes[EditGunImage, 0, 2] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: MSB - [Walkway] - Medium Floor";
$WeaponModes[EditGunImage, 0, 3] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Walkway - [Medium Floor] - Dark Pad";
$WeaponModes[EditGunImage, 0, 4] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Medium Floor - [Dark Pad] - V-Pad";
$WeaponModes[EditGunImage, 0, 5] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Dark Pad - [V-Pad] - C.1 Backpack";
$WeaponModes[EditGunImage, 0, 6] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: V-Pad - [C.1 Backpack] - C.2 Small Containment";
$WeaponModes[EditGunImage, 0, 7] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.1 Backpack - [C.2 Small Containment] - C.3 Large Containment";
$WeaponModes[EditGunImage, 0, 8] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.2 Small Containment - [C.3 Large Containment] - C.4 Compressor";
$WeaponModes[EditGunImage, 0, 9] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.3 Large Containment - [C.4 Compressor] - C.5 Tubes";
$WeaponModes[EditGunImage, 0, 10] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.4 Compressor - [C.5 Tubes] - C.6 Quantium Battery";
$WeaponModes[EditGunImage, 0, 11] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.5 Tubes - [C.6 Quantium Battery] - C.7 Proton Acc.";
$WeaponModes[EditGunImage, 0, 12] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.6 Quantium Battery - [C.7 Proton Acc.] - C.8 Cargo Crate";
$WeaponModes[EditGunImage, 0, 13] = " 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";
$WeaponModes[EditGunImage, 0, 14] = " 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";
$WeaponModes[EditGunImage, 0, 15] = " 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";
$WeaponModes[EditGunImage, 0, 16] = " 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";
$WeaponModes[EditGunImage, 0, 17] = " 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";
$WeaponModes[EditGunImage, 0, 18] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.12 Wooden Box - [C.13 Plasma Router] - Statue Base";
$WeaponModes[EditGunImage, 0, 19] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: C.13 Plasma Router - [Statue Base] - Blue Pad";
$WeaponModes[EditGunImage, 0, 20] = " Mine: <Pad Swap> - FF Swap - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Statue Base - [Blue Pad] - LSB";
$WeaponModes[EditGunImage, 1, 0] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Yellow - [Solid White] - Solid Red";
$WeaponModes[EditGunImage, 1, 1] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid White - [Solid Red] - Solid Green";
$WeaponModes[EditGunImage, 1, 2] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Red - [Solid Green] - Solid Blue";
$WeaponModes[EditGunImage, 1, 3] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Green - [Solid Blue] - Solid Cyan";
$WeaponModes[EditGunImage, 1, 4] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Blue - [Solid Cyan] - Solid Magenta";
$WeaponModes[EditGunImage, 1, 5] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Cyan - [Solid Magenta] - Solid Yellow";
$WeaponModes[EditGunImage, 1, 6] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Magenta - [Solid Yellow] - Team Pass White";
$WeaponModes[EditGunImage, 1, 7] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Solid Yellow - [Team Pass White] - Team Pass Red";
$WeaponModes[EditGunImage, 1, 8] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass White - [Team Pass Red] - Team Pass Green";
$WeaponModes[EditGunImage, 1, 9] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Red - [Team Pass Green] - Team Pass Blue";
$WeaponModes[EditGunImage, 1, 10] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Green - [Team Pass Blue] - Team Pass Cyan";
$WeaponModes[EditGunImage, 1, 11] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Blue - [Team Pass Cyan] - Team Pass Magenta";
$WeaponModes[EditGunImage, 1, 12] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Cyan - [Team Pass Magenta] - Team Pass Yellow";
$WeaponModes[EditGunImage, 1, 13] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Magenta - [Team Pass Yellow] - All Pass White";
$WeaponModes[EditGunImage, 1, 14] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: Team Pass Yellow - [All Pass White] - All Pass Red";
$WeaponModes[EditGunImage, 1, 15] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass White - [All Pass Red] - All Pass Green";
$WeaponModes[EditGunImage, 1, 16] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Red - [All Pass Green] - All Pass Blue";
$WeaponModes[EditGunImage, 1, 17] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Green - [All Pass Blue] - All Pass Cyan";
$WeaponModes[EditGunImage, 1, 18] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Blue - [All Pass Cyan] - All Pass Magenta";
$WeaponModes[EditGunImage, 1, 19] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Cyan - [All Pass Magenta] - All Pass Yellow";
$WeaponModes[EditGunImage, 1, 20] = " Mine: Pad Swap - <FF Swap> - Barrel Swap - Cloak/Fade - Delete Objects \n Grenade: All Pass Magenta - [All Pass Yellow] - Solid White";
$WeaponModes[EditGunImage, 2, 0] = " Mine: Pad Swap - FF Swap - <Barrel Swap> - Cloak/Fade - Delete Objects \n Grenade: Mortar - [Anti Air] - Missile";
$WeaponModes[EditGunImage, 2, 1] = " Mine: Pad Swap - FF Swap - <Barrel Swap> - Cloak/Fade - Delete Objects \n Grenade: Anti Air - [Missile] - Plasma";
$WeaponModes[EditGunImage, 2, 2] = " Mine: Pad Swap - FF Swap - <Barrel Swap> - Cloak/Fade - Delete Objects \n Grenade: Missile - [Plasma] - ELF";
$WeaponModes[EditGunImage, 2, 3] = " Mine: Pad Swap - FF Swap - <Barrel Swap> - Cloak/Fade - Delete Objects \n Grenade: Plasma - [ELF] - Mortar";
$WeaponModes[EditGunImage, 2, 4] = " Mine: Pad Swap - FF Swap - <Barrel Swap> - Cloak/Fade - Delete Objects \n Grenade: ELF - [Mortar] - Anti Air";
$WeaponModes[EditGunImage, 3, 0] = " Mine: Pad Swap - FF Swap - Barrel Swap - <Cloak/Fade> - Delete Objects \n Grenade: [Cloak] - UnCloak - Fade - UnFade";
$WeaponModes[EditGunImage, 3, 1] = " Mine: Pad Swap - FF Swap - Barrel Swap - <Cloak/Fade> - Delete Objects \n Grenade: Cloak - [UnCloak] - Fade - UnFade";
$WeaponModes[EditGunImage, 3, 2] = " Mine: Pad Swap - FF Swap - Barrel Swap - <Cloak/Fade> - Delete Objects \n Grenade: Cloak - UnCloak - [Fade] - UnFade";
$WeaponModes[EditGunImage, 3, 3] = " Mine: Pad Swap - FF Swap - Barrel Swap - <Cloak/Fade> - Delete Objects \n Grenade: Cloak - UnCloak - Fade - [UnFade]";
$WeaponModes[EditGunImage, 4, 0] = " Mine: Pad Swap - FF Swap - Barrel Swap - Cloak/Fade - <Delete Objects> \n Grenade: [Single] - Cascade";
$WeaponModes[EditGunImage, 4, 1] = " Mine: Pad Swap - FF Swap - Barrel Swap - Cloak/Fade - <Delete Objects> \n Grenade: Single - [Cascade]";
//Merge Tool
$WeaponModesTag[MergeToolImage] = "<font:Sui Generis:14>>>>M/I/S Tool<<<\n<font:Arial:14>[XMSG]\nCoded by Electricutioner.";
$WeaponModes[MergeToolImage, 0, 0] = "Mode: Merge. Fire the tool at two pieces. If possible, they will merge. Tolerance: " @ $ElecMod::MergeTool::Tolerance @ " meters.";
$WeaponModes[MergeToolImage, 0, 1] = "Mode: Merge. Fire the tool at two pieces. If possible, they will merge. Tolerance: " @ $ElecMod::MergeTool::HighTolerance @ " meters.";
$WeaponModes[MergeToolImage, 1, 0] = "Mode: Isometric. Fire the tool at a piece to isometrically rotate them. Rotate: Default.";
$WeaponModes[MergeToolImage, 1, 1] = "Mode: Isometric. Fire the tool at a piece to isometrically rotate them. Rotate: Z-Axis.";
$WeaponModes[MergeToolImage, 2, 0] = "Mode: Split. Fire at a piece to split it in half. Axis: Automatic.";
$WeaponModes[MergeToolImage, 2, 1] = "Mode: Split. Fire at a piece to split it on crosshair. Axis: Automatic.";
$WeaponModes[MergeToolImage, 2, 2] = "Mode: Split. Fire at a piece to split it in half. Axis: X.";
$WeaponModes[MergeToolImage, 2, 3] = "Mode: Split. Fire at a piece to split it in half. Axis: Y.";
$WeaponModes[MergeToolImage, 2, 4] = "Mode: Split. Fire at a piece to split it in half. Axis: Z.";
$WeaponModes[MergeToolImage, 2, 5] = "Mode: Split. Fire at a piece to split it on crosshair. Axis: X.";
$WeaponModes[MergeToolImage, 2, 6] = "Mode: Split. Fire at a piece to split it on crosshair. Axis: Y.";
$WeaponModes[MergeToolImage, 2, 7] = "Mode: Split. Fire at a piece to split it on crosshair. Axis: Z.";
$WeaponModes[MergeToolImage, 3, 0] = "Mode: Nudge. Fire at a piece to move it. Nudge [REPA]M +X Axis.";
$WeaponModes[MergeToolImage, 3, 1] = "Mode: Nudge. Fire at a piece to move it. Nudge [REPA]M +Y Axis.";
$WeaponModes[MergeToolImage, 3, 2] = "Mode: Nudge. Fire at a piece to move it. Nudge [REPA]M +Z Axis.";
$WeaponModes[MergeToolImage, 3, 3] = "Mode: Nudge. Fire at a piece to move it. Nudge [REPA]M -X Axis.";
$WeaponModes[MergeToolImage, 3, 4] = "Mode: Nudge. Fire at a piece to move it. Nudge [REPA]M -Y Axis.";
$WeaponModes[MergeToolImage, 3, 5] = "Mode: Nudge. Fire at a piece to move it. Nudge [REPA]M -Z Axis.";
$WeaponModes[MergeToolImage, 4, 0] = "Mode: Full Scale. Fire at a piece to scale it. Grow .01M.";
$WeaponModes[MergeToolImage, 4, 1] = "Mode: Full Scale. Fire at a piece to scale it. Shrink .01M.";
//Super Chain Gun
$WeaponModesTag[SuperChaingunImage] = "<font:Sui Generis:14>>>>Super Chaingun<<<\n<font:Arial:14>[XMSG]\nConstruct, Mostlikely, JackTL.";
$WeaponModes[SuperChaingunImage, 0, 0] = "Rapid Fire O.P. Insta-Kill Bullets";
$WeaponModes[SuperChaingunImage, 1, 0] = "Ion Shots: Ion Progression Disabled";
$WeaponModes[SuperChaingunImage, 1, 1] = "Ion Shots: Ion Progression Enabled";
$WeaponModes[SuperChaingunImage, 2, 0] = "Repair Pulse";
$WeaponModes[SuperChaingunImage, 3, 0] = "Cloak Pulse";
$WeaponModes[SuperChaingunImage, 4, 0] = "Deconstruction Pulse";
$WeaponModes[SuperChaingunImage, 5, 0] = "EMP Pulse";
$WeaponModes[SuperChaingunImage, 6, 0] = "Morphing Pulse";

View file

@ -156,146 +156,18 @@ function ShapeBase::throw(%this,%data)
}
function ShapeBase::use(%this, %data) {
// if(%data.class $= "Weapon")
// error("ShapeBase::use " @ %data);
if(%data $= Grenade) {
// Weapon modes
//[most] 'ey lets do some unification here.. :D
if(%this.getMountedImage(0) && GetWord($weaponSettings1[%this.getMountedImage(0).getName()],0)) {
if (!(GetSimTime() > (%this.grenadeModeTime + 100)))
return;
%this.grenadeModeTime = getSimTime(); //not 'that' unified.. ;)
return %this.getMountedImage(0).ChangeMode(%this,1,2); //looksie.. 2 stands for weapons (level 1)
}
//[most]
if (%this.getMountedImage(0) !$= "") {
if (%this.getMountedImage(0).getname() $= "MergeToolImage") {
%this.client.MTSubMode++;
if (%this.client.MTMode == 0 && %this.client.MTSubMode == 2)
%this.client.MTSubMode = 0;
if (%this.client.MTMode == 1 && %this.client.MTSubMode == 2)
%this.client.MTSubMode = 0;
if (%this.client.MTMode == 2 && %this.client.MTSubMode == 8)
%this.client.MTSubMode = 0;
if (%this.client.MTMode == 3 && %this.client.MTSubMode == 6)
%this.client.MTSubMode = 0;
if (%this.client.MTMode == 4 && %this.client.MTSubMode == 2)
%this.client.MTSubMode = 0;
MTShowStatus(%this.client);
return;
}
}
//end of modifier modes
if (%this.usingConstructionTool == 1 && getSimTime() > (%this.grenadeModeTime + 100) && %this.performing == 0) {
%this.grenadeModeTime = getSimTime();
if (%this.constructionToolMode == 0) {
if (%this.constructionToolMode2 == 1) {
%this.constructionToolMode2 = 0;
bottomPrint(%this.client,"Normal deconstruction",2,1);
return;
}
else {
%this.constructionToolMode2 = 1;
bottomPrint(%this.client,"Cascading deconstruction",2,1);
return;
}
}
else if (%this.constructionToolMode == 1) {
if(%this.client.RotateAngle $= "") {
%this.client.RotateAngle = 22.5;
}
if (%this.constructionToolMode2 == 1) {
%this.constructionToolMode2 = 0;
bottomPrint(%this.client,"Rotate push ("@mfloor(%this.client.RotateAngle)@" Degrees)",2,1);
return;
}
else {
%this.constructionToolMode2 = 1;
bottomPrint(%this.client,"Rotate pull ("@mfloor(%this.client.RotateAngle)@" Degrees)",2,1);
return;
}
}
else if (%this.constructionToolMode == 2) {
if (%this.constructionToolMode2 == 5) {
%this.constructionToolMode2 = 0;
bottomPrint(%this.client,"Select target as center of rotation",2,1);
return;
}
else if (%this.constructionToolMode2 == 0) {
%this.constructionToolMode2 = 1;
bottomPrint(%this.client,"Select objects to rotate",2,1);
return;
}
else if (%this.constructionToolMode2 == 1) {
%this.constructionToolMode2 = 2;
bottomPrint(%this.client,"Select rotation speed",2,1);
return;
}
else if (%this.constructionToolMode2 == 2) {
%this.constructionToolMode2 = 3;
bottomPrint(%this.client,"Apply rotation",2,1);
return;
}
else if (%this.constructionToolMode2 == 3) {
%this.constructionToolMode2 = 4;
bottomPrint(%this.client,"Display selection",2,1);
return;
}
else {
%this.constructionToolMode2 = 5;
bottomPrint(%this.client,"Clear list",2,1);
return;
}
}
else {
if (%this.constructionToolMode2 == 3) {
%this.constructionToolMode2 = 0;
bottomPrint(%this.client,"Toggle generator power state",2,1);
return;
}
else if (%this.constructionToolMode2 == 0) {
%this.constructionToolMode2 = 1;
bottomPrint(%this.client,"Increase current frequency",2,1);
return;
}
else if (%this.constructionToolMode2 == 1) {
%this.constructionToolMode2 = 2;
bottomPrint(%this.client,"Decrease current frequency",2,1);
return;
}
else {
%this.constructionToolMode2 = 3;
bottomPrint(%this.client,"Read power state",2,1);
return;
}
}
}
if(%this.UsingEditTool == 1) {
ChangeEditGunMode(%this, %data, 2); //Secondary Modes
//[3.9] Phantom139: Stripped out all of the x specific stuff here in favor of a cleaner system
if(%this.hasGrenadeModes) {
//2: Grenade Modes
if(getSimTime() > (%this.changeModeTime + $WeaponModes::SwitchDelay)) {
%this.getMountedImage($WeaponSlot).changeMode(%this, 2);
%this.changeModeTime = getSimTime();
}
if(%this.changingModeBlocksUse) {
return;
}
}
if (%this.usingSuperChaingun == 1) {
if (!(getSimTime() > (%this.grenadeModeTime + 100)))
return;
%this.grenadeModeTime = getSimTime();
if (%this.superChaingunMode == 1) {
if ($Ion::StopIon == 1) {
$Ion::StopIon = 0;
displaySCGStatus(%this);
return;
}
else {
$Ion::StopIon = 1;
displaySCGStatus(%this);
return;
}
}
}
// figure out which grenade type you're using
for(%x = 0; $InvGrenade[%x] !$= ""; %x++) {
if(%this.inv[$NameToInv[$InvGrenade[%x]]] > 0) {
@ -447,73 +319,17 @@ function ShapeBase::use(%this, %data) {
}
// Weapon modes
if (%data $= "Mine") {
//[most] 'ey lets do some more unification here.. :D
if(%this.getMountedImage(0) && GetWord($weaponSettings2[%this.getMountedImage(0).getName()],0)) {
if(!GetSimTime() > (%this.grenadeModeTime + 100))
return;
%this.grenadeModeTime = getSimTime(); //not 'that' unified.. ;)
return %this.getMountedImage(0).ChangeMode(%this,1,3); //looksie.. 3 stands for weapons (level 2)
}
//[most]
//modifier tool
if (%this.getMountedImage(0) !$= "") {
if (%this.getMountedImage(0).getname() $= "MergeToolImage") {
%this.client.MTMode++;
%this.client.MTSubMode = 0;
if (%this.client.MTMode >= 5)
%this.client.MTMode = 0;
MTShowStatus(%this.client);
return;
}
//[3.9] Phantom139: Stripped out all of the x specific stuff here in favor of a cleaner system
if(%this.hasMineModes) {
//1: Mine Modes
if(getSimTime() > (%this.changeModeTime + $WeaponModes::SwitchDelay)) {
%this.getMountedImage($WeaponSlot).changeMode(%this, 1);
%this.changeModeTime = getSimTime();
}
if(%this.changingModeBlocksUse) {
return;
}
}
//end modifier tool
if (%this.usingConstructionTool == 1 && getSimTime() > (%this.mineModeTime + 100) && %this.performing == 0) {
%this.mineModeTime = getSimTime();
if (%this.constructionToolMode == 3) {
%this.constructionToolMode = 0;
bottomPrint(%this.client,"Construction Tool mode set to deconstruct",2,1);
}
else if (%this.constructionToolMode == 0) {
%this.constructionToolMode = 1;
if(%this.client.RotateAngle $= "") {
%this.client.RotateAngle = 22.5;
}
bottomPrint(%this.client,"Construction Tool mode set to rotate ("@%this.client.RotateAngle@" Degrees)",2,1);
}
else if (%this.constructionToolMode == 1) {
%this.constructionToolMode = 2;
bottomPrint(%this.client,"Construction Tool mode set to advanced rotate",2,1);
}
else {
%powerFreq = %this.powerFreq;
if (%powerFreq < 1 || %powerFreq > upperPowerFreq(%this) || !%powerFreq)
%powerFreq = 1;
%this.powerFreq = %powerFreq;
%this.constructionToolMode = 3;
bottomPrint(%this.client,"Construction Tool mode set to power management\nPower frequency currently set to: " @ %this.powerFreq,2,2);
}
%this.constructionToolMode2 = 0;
return;
}
if(%this.UsingEditTool == 1) {
ChangeEditGunMode(%this, %data, 1); //Primary Modes
}
if (%this.usingSuperChaingun == 1) {
if (!(getSimTime() > (%this.mineModeTime + 100)))
return;
%this.mineModeTime = getSimTime();
%this.superChaingunMode++;
if (%this.superChaingunMode > 6 - (5 * $host::nopulseSCG)) {
%this.superChaingunMode = 0;
}
displaySCGStatus(%this);
%this.superChaingunMode2 = 0;
return;
}
}
// default case
if (isObject(%data)) {

View file

@ -109,13 +109,21 @@ function EditGunImage::onMount(%this, %obj, %slot) {
if(!isSet(%obj.EditSMode)) {
%obj.EditSMode = 0;
}
//Phantom139: Added
%obj.hasMineModes = 1;
%obj.hasGrenadeModes = 1;
//Phantom139: End
%obj.UsingEditTool = true;
displayWeaponInfo(%this, %obj, %obj.client.EditPMode, %obj.client.EditSMode);
}
function EditGunImage::onunmount(%this,%obj,%slot)
{
Parent::onUnmount(%this, %obj, %slot);
%obj.UsingEditTool = false;
function EditGunImage::onunmount(%this,%obj,%slot) {
Parent::onUnmount(%this, %obj, %slot);
%obj.UsingEditTool = false;
//Phantom139: Added
%obj.hasMineModes = 0;
%obj.hasGrenadeModes = 0;
//Phantom139: End
}
function EditGunImage::onFire(%data, %obj, %slot) {
@ -148,190 +156,29 @@ function EditGunImage::onFire(%data, %obj, %slot) {
}
}
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>[{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);
}
function EditGunImage::changeMode(%this, %obj, %key) {
switch(%key) {
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);
}
//Mine Modes
%obj.client.EditPMode++;
%obj.client.EditSMode = 0;
if (%obj.client.EditPMode >= 5)
%obj.client.EditPMode = 0;
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;
//Grenade Modes
%obj.client.EditSMode++;
if (%obj.client.EditPMode == 0 && %obj.client.EditSMode == 21)
%obj.client.EditSMode = 0;
if (%obj.client.EditPMode == 1 && %obj.client.EditSMode == 21)
%obj.client.EditSMode = 0;
if (%obj.client.EditPMode == 2 && %obj.client.EditSMode == 5)
%obj.client.EditSMode = 0;
if (%obj.client.EditPMode == 3 && %obj.client.EditSMode == 4)
%obj.client.EditSMode = 0;
if (%obj.client.EditPMode == 4 && %obj.client.EditSMode == 2)
%obj.client.EditSMode = 0;
}
displayWeaponInfo(%this, %obj, %obj.client.EditPMode, %obj.client.EditSMode);
}
//Editor Tool Functioning

View file

@ -126,6 +126,35 @@ datablock ShapeBaseImageData(ConstructionToolImage) {
stateTransitionOnTimeout[5] = "ActivateReady";
};
//Phantom139: Added Weapon Mode Code Here.
function ConstructionToolImage::changeMode(%this, %obj, %key) {
if(%obj.performing) {
commandToClient(%obj.client, 'bottomPrint', "Construction Tool\nCannot Change Modes While Performing.", 3, 3);
return;
}
switch(%key) {
case 1:
//Mine Modes
%obj.client.constructionToolMode++;
%obj.client.constructionToolMode2 = 0;
if (%obj.client.constructionToolMode >= 4)
%obj.client.constructionToolMode = 0;
case 2:
//Grenade Modes
%obj.client.constructionToolMode2++;
if (%obj.client.constructionToolMode == 0 && %obj.client.constructionToolMode2 == 2)
%obj.client.constructionToolMode2 = 0;
if (%obj.client.constructionToolMode == 1 && %obj.client.constructionToolMode2 == 2)
%obj.client.constructionToolMode2 = 0;
if (%obj.client.constructionToolMode == 2 && %obj.client.constructionToolMode2 == 6)
%obj.client.constructionToolMode2 = 0;
if (%obj.client.constructionToolMode == 3 && %obj.client.constructionToolMode2 == 4)
%obj.client.constructionToolMode2 = 0;
}
displayWeaponInfo(%this, %obj, %obj.client.constructionToolMode, %obj.client.constructionToolMode2, "[REPA] "@%obj.client.RotateAngle);
}
//Phantom139: End
function ConstructionToolImage::onActivate(%this,%obj,%slot) {
}
@ -186,6 +215,9 @@ function ConstructionToolImage::onMount(%this,%obj,%slot) {
%curWeap = ( %obj.getMountedImage($WeaponSlot) == 0 ) ? "" : %obj.getMountedImage($WeaponSlot).getName().item.pickUpName;
BottomPrint(%obj.client, "Now using " @ %curWeap, 2, 1 );
}
if(%obj.client.RotateAngle $= "") {
%obj.client.RotateAngle = 22.5;
}
%obj.errMsgSent = false;
%obj.client.setWeaponsHudActive(%this.item);
%obj.usingConstructionTool = true;
@ -193,6 +225,10 @@ function ConstructionToolImage::onMount(%this,%obj,%slot) {
%obj.constructionToolMode = 0;
if (!%obj.constructionToolMode2)
%obj.constructionToolMode2 = 0;
//Phantom139: Added
%obj.hasMineModes = 1;
%obj.hasGrenadeModes = 1;
//Phantom139: End
WeaponImage::onMount(%this,%obj,%slot);
}
@ -203,6 +239,10 @@ function ConstructionToolImage::onUnmount(%data, %obj, %slot) {
stopPerforming(%obj);
messageClient(%player.client, 'msgClient', '\c2Construction Tool stopped.');
}
//Phantom139: Added
%obj.hasMineModes = 0;
%obj.hasGrenadeModes = 0;
//Phantom139: End
%obj.errMsgSent = false;
Parent::deconstruct(%data, %obj, %slot);
WeaponImage::onUnmount(%data, %obj, %slot);

View file

@ -545,91 +545,56 @@ function MergeToolImage::onFire(%data,%obj,%slot)
function MergeToolImage::onMount(%this,%obj,%slot)
{
if(%obj.MTMode $= "")
%obj.MTMode = 0;
if(%obj.MTSubMode $= "")
%obj.MTSubMode = 0;
%obj.usingMTelec = 1;
//Phantom139: Added
%obj.hasMineModes = 1;
%obj.hasGrenadeModes = 1;
//Phantom139: End
Parent::onMount(%this, %obj, %slot);
%obj.mountImage(MergeToolImage, 0);
MTShowStatus(%obj.client);
displayWeaponInfo(%this, %obj, %obj.client.MTMode, %obj.client.MTSubMode, "[REPA] "@%obj.client.MoveSetting);
}
function MergeToolImage::onUnmount(%this,%obj,%slot)
{
Parent::onUnmount(%this, %obj, %slot);
%obj.usingMTelec = 0;
//Phantom139: Added
%obj.hasMineModes = 0;
%obj.hasGrenadeModes = 0;
//Phantom139: End
}
function MTShowStatus(%client)
{
if (%client.MTMode $= "")
%client.MTMode = 0;
if (%client.MTSubMode $= "")
%client.MTSubMode = 0;
switch (%client.MTMode)
{
case 0:
switch (%client.MTSubMode)
{
case 0:
%status = "<font:Arial:14>Mode: Merge. Fire the tool at two pieces. If possible, they will merge. Tolerance: " @ $ElecMod::MergeTool::Tolerance @ " meters.";
case 1:
%status = "<font:Arial:14>Mode: Merge. Fire the tool at two pieces. If possible, they will merge. Tolerance: " @ $ElecMod::MergeTool::HighTolerance @ " meters.";
}
case 1:
switch (%client.MTSubMode)
{
case 0:
%status = "<font:Arial:14>Mode: Isometric. Fire the tool at a piece to isometrically rotate them. Rotate: Default.";
case 1:
%status = "<font:Arial:14>Mode: Isometric. Fire the tool at a piece to isometrically rotate them. Rotate: Z Axis.";
}
case 2:
switch (%client.MTSubMode)
{
case 0:
%status = "<font:Arial:14>Mode: Split. Fire at a piece to split it in half. Axis: Automatic.";
case 1:
%status = "<font:Arial:14>Mode: Split. Fire at a piece to split it on crosshair. Axis: Automatic.";
case 2:
%status = "<font:Arial:14>Mode: Split. Fire at a piece to split it in half. Axis: X.";
case 3:
%status = "<font:Arial:14>Mode: Split. Fire at a piece to split it in half. Axis: Y.";
case 4:
%status = "<font:Arial:14>Mode: Split. Fire at a piece to split it in half. Axis: Z.";
case 5:
%status = "<font:Arial:14>Mode: Split. Fire at a piece to split it on crosshair. Axis: X.";
case 6:
%status = "<font:Arial:14>Mode: Split. Fire at a piece to split it on crosshair. Axis: Y.";
case 7:
%status = "<font:Arial:14>Mode: Split. Fire at a piece to split it on crosshair. Axis: Z.";
}
case 3:
if(%client.MoveSetting $= "") {
%client.MoveSetting = 0.1;
}
switch (%client.MTSubMode) {
case 0:
%status = "<font:Arial:14>Mode: Nudge. Fire at a piece to move it. Nudge "@%client.MoveSetting@"M +X Axis.";
case 1:
%status = "<font:Arial:14>Mode: Nudge. Fire at a piece to move it. Nudge "@%client.MoveSetting@"M -X Axis.";
case 2:
%status = "<font:Arial:14>Mode: Nudge. Fire at a piece to move it. Nudge "@%client.MoveSetting@"M +Y Axis.";
case 3:
%status = "<font:Arial:14>Mode: Nudge. Fire at a piece to move it. Nudge "@%client.MoveSetting@"M -Y Axis.";
case 4:
%status = "<font:Arial:14>Mode: Nudge. Fire at a piece to move it. Nudge "@%client.MoveSetting@"M +Z Axis.";
case 5:
%status = "<font:Arial:14>Mode: Nudge. Fire at a piece to move it. Nudge "@%client.MoveSetting@"M -Z Axis.";
}
case 4:
switch (%client.MTSubMode) {
case 0:
%status = "<font:Arial:14>Mode: Full Scale. Fire at a piece to scale it. Grow .01M.";
case 1:
%status = "<font:Arial:14>Mode: Full Scale. Fire at a piece to scale it. Shrink .01M.";
}
}
CommandToClient(%client, 'BottomPrint', "<font:Sui Generis:14>>>>M/I/S Tool<<<\n<font:Arial:14>" @ %status @ "\nCoded by Electricutioner.", 3, 3 );
//Phantom139: Added Weapon Mode Code Here.
function MergeToolImage::changeMode(%this, %obj, %key) {
switch(%key) {
case 1:
//Mine Modes
%obj.client.MTMode++;
%obj.client.MTSubMode = 0;
if (%obj.client.MTMode >= 5)
%obj.client.MTMode = 0;
case 2:
//Grenade Modes
%obj.client.MTSubMode++;
if (%obj.client.MTMode == 0 && %obj.client.MTSubMode == 2)
%obj.client.MTSubMode = 0;
if (%obj.client.MTMode == 1 && %obj.client.MTSubMode == 2)
%obj.client.MTSubMode = 0;
if (%obj.client.MTMode == 2 && %obj.client.MTSubMode == 8)
%obj.client.MTSubMode = 0;
if (%obj.client.MTMode == 3 && %obj.client.MTSubMode == 6)
%obj.client.MTSubMode = 0;
if (%obj.client.MTMode == 4 && %obj.client.MTSubMode == 2)
%obj.client.MTSubMode = 0;
}
displayWeaponInfo(%this, %obj, %obj.client.MTMode, %obj.client.MTSubMode, "[REPA] "@%obj.client.MoveSetting);
}
//Phantom139: End
//Split code begins here.
//The goal of this is to be a semi-inverse of the merge...

View file

@ -214,28 +214,32 @@ function SuperChaingunImage::onMount(%this,%obj,%slot) {
%obj.superChaingunMode = 0;
if (!%obj.superChaingunMode2)
%obj.superChaingunMode2 = 0;
displaySCGStatus(%obj);
%obj.hasMineModes = 1;
%obj.hasGrenadeModes = 1;
displayWeaponInfo(%this, %obj, %obj.client.superChaingunMode, %obj.client.superChaingunMode2);
WeaponImage::onMount(%this,%obj,%slot);
}
function SuperChaingunImage::onUnmount(%data, %obj, %slot) {
%obj.usingSuperChaingun = false;
%obj.hasMineModes = 0;
%obj.hasGrenadeModes = 0;
WeaponImage::onUnmount(%data, %obj, %slot);
}
function displaySCGStatus(%obj) {
if (%obj.superChaingunMode == 1)
bottomPrint(%obj.client,"<spush><font:Sui Generis:14>>>>Super Chain Gun<<<<spop>\n<spush><font:Arial:14>Ions. Progression: " @ ($Ion::StopIon ? "disabled" : "enabled") @ ".<spop>",2,2);
else if (%obj.superChaingunMode == 2)
bottomPrint(%obj.client,"<spush><font:Sui Generis:14>>>>Super Chain Gun<<<<spop>\n<spush><font:Arial:14>Repair Pulse.<spop>",2,2);
else if (%obj.superChaingunMode == 3)
bottomPrint(%obj.client,"<spush><font:Sui Generis:14>>>>Super Chain Gun<<<<spop>\n<spush><font:Arial:14>Cloak Pulse.<spop>",2,2);
else if (%obj.superChaingunMode == 4)
bottomPrint(%obj.client,"<spush><font:Sui Generis:14>>>>Super Chain Gun<<<<spop>\n<spush><font:Arial:14>Deconstruction Pulse<spop>",2,2);
else if (%obj.superChaingunMode == 5)
bottomPrint(%obj.client,"<spush><font:Sui Generis:14>>>>Super Chain Gun<<<<spop>\n<spush><font:Arial:14>Electro-static Pulse.<spop>",2,2);
else if (%obj.superChaingunMode == 6)
bottomPrint(%obj.client,"<spush><font:Sui Generis:14>>>>Super Chain Gun<<<<spop>\n<spush><font:Arial:14>Morph Pulse.<spop>",2,2);
else
bottomPrint(%obj.client,"<spush><font:Sui Generis:14>>>>Super Chain Gun<<<<spop>\n<spush><font:Arial:14>Rapid fire bullets.<spop>",2,2);
function SuperChaingunImage::changeMode(%this, %obj, %key) {
switch(%key) {
case 1:
//Mine Modes
%obj.client.superChaingunMode++;
%obj.client.superChaingunMode2 = 0;
if (%obj.client.superChaingunMode > 6 - (5 * $host::nopulseSCG))
%obj.client.superChaingunMode = 0;
case 2:
//Grenade Modes
%obj.client.superChaingunMode2++;
if (%obj.client.superChaingunMode == 1 && %obj.client.superChaingunMode2 == 2)
%obj.client.superChaingunMode2 = 0;
}
displayWeaponInfo(%this, %obj, %obj.client.superChaingunMode, %obj.client.superChaingunMode2);
}