mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-07-15 16:34:37 +00:00
Removed EditGun Pulse
Replaced the EditGun pulse with a simple raycast call to save an extra datablock, not to mention this functioning is a little more advanced and provides some more control.
This commit is contained in:
parent
e49ad657a3
commit
2a57809c8c
1 changed files with 155 additions and 183 deletions
|
|
@ -33,50 +33,7 @@ $EditTool::PadModes[18] = "DeployedCrate12";
|
||||||
$EditTool::PadModes[19] = "DeployedDecoration6";
|
$EditTool::PadModes[19] = "DeployedDecoration6";
|
||||||
$EditTool::PadModes[20] = "DeployedDecoration16";
|
$EditTool::PadModes[20] = "DeployedDecoration16";
|
||||||
|
|
||||||
|
datablock ItemData(EditTool) {
|
||||||
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)
|
|
||||||
{
|
|
||||||
className = Weapon;
|
className = Weapon;
|
||||||
catagory = "Spawn Items";
|
catagory = "Spawn Items";
|
||||||
shapeFile = "weapon_disc.dts";
|
shapeFile = "weapon_disc.dts";
|
||||||
|
|
@ -88,8 +45,7 @@ datablock ItemData(EditTool)
|
||||||
pickUpName = "a Editing Tool";
|
pickUpName = "a Editing Tool";
|
||||||
};
|
};
|
||||||
|
|
||||||
datablock ShapeBaseImageData(EditGunImage)
|
datablock ShapeBaseImageData(EditGunImage) {
|
||||||
{
|
|
||||||
className = WeaponImage;
|
className = WeaponImage;
|
||||||
shapeFile = "weapon_disc.dts";
|
shapeFile = "weapon_disc.dts";
|
||||||
item = EditTool;
|
item = EditTool;
|
||||||
|
|
@ -98,9 +54,8 @@ datablock ShapeBaseImageData(EditGunImage)
|
||||||
usesEnergy = true;
|
usesEnergy = true;
|
||||||
minEnergy = 0.01;
|
minEnergy = 0.01;
|
||||||
|
|
||||||
projectile = EditorBolt;
|
//projectile = EditorBolt;
|
||||||
projectileType = LinearFlareProjectile;
|
//projectileType = LinearFlareProjectile;
|
||||||
|
|
||||||
|
|
||||||
stateName[0] = "Activate";
|
stateName[0] = "Activate";
|
||||||
stateTransitionOnTimeout[0] = "ActivateReady";
|
stateTransitionOnTimeout[0] = "ActivateReady";
|
||||||
|
|
@ -145,6 +100,37 @@ datablock ShapeBaseImageData(EditGunImage)
|
||||||
stateTransitionOnTimeout[6] = "Ready";
|
stateTransitionOnTimeout[6] = "Ready";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Phantom139: I'll take a datablock over a function any-day...
|
||||||
|
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', "\c2TextureTool: 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) {
|
function EditGunImage::onMount(%this, %obj, %slot) {
|
||||||
Parent::onMount(%this, %obj, %slot);
|
Parent::onMount(%this, %obj, %slot);
|
||||||
DispEditorToolInfo(%obj);
|
DispEditorToolInfo(%obj);
|
||||||
|
|
@ -157,8 +143,7 @@ function EditGunImage::onMount(%this, %obj, %slot) {
|
||||||
%obj.UsingEditTool = true;
|
%obj.UsingEditTool = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function EditGunImage::onunmount(%this,%obj,%slot)
|
function EditGunImage::onunmount(%this,%obj,%slot) {
|
||||||
{
|
|
||||||
Parent::onUnmount(%this, %obj, %slot);
|
Parent::onUnmount(%this, %obj, %slot);
|
||||||
%obj.UsingEditTool = false;
|
%obj.UsingEditTool = false;
|
||||||
}
|
}
|
||||||
|
|
@ -294,8 +279,9 @@ switch(%obj.EditPMode) {
|
||||||
|
|
||||||
function ChangeEditGunMode(%this, %data, %PriSec) { //This Is Easier To use
|
function ChangeEditGunMode(%this, %data, %PriSec) { //This Is Easier To use
|
||||||
if(%PriSec == 1) { //Primary
|
if(%PriSec == 1) { //Primary
|
||||||
if (!(getSimTime() > (%this.mineModeTime + 100)))
|
if (!(getSimTime() > (%this.mineModeTime + 100))) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
%this.mineModeTime = getSimTime();
|
%this.mineModeTime = getSimTime();
|
||||||
%this.EditPMode++;
|
%this.EditPMode++;
|
||||||
%this.EditSMode = 0; //Reset Secondary Mode TO Prevent Errors
|
%this.EditSMode = 0; //Reset Secondary Mode TO Prevent Errors
|
||||||
|
|
@ -306,8 +292,9 @@ DispEditorToolInfo(%this);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else { //Secondary
|
else { //Secondary
|
||||||
if (!(getSimTime() > (%this.grenadeModeTime + 100)))
|
if (!(getSimTime() > (%this.grenadeModeTime + 100))) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
%this.grenadeModeTime = getSimTime();
|
%this.grenadeModeTime = getSimTime();
|
||||||
%this.EditSMode++;
|
%this.EditSMode++;
|
||||||
//Check Primaries
|
//Check Primaries
|
||||||
|
|
@ -331,21 +318,6 @@ 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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Editor Tool Functioning
|
//Editor Tool Functioning
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue