Adjusted Weapon Mode System

This commit is contained in:
Robert Fritzen 2014-08-02 13:20:51 -05:00
parent 447b06f969
commit 3f83b309a6
7 changed files with 291 additions and 478 deletions

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