mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-07-11 14:14:33 +00:00
Comp Reversions
This commit is contained in:
parent
d5a0cad2a2
commit
e96039866f
11 changed files with 135 additions and 150 deletions
|
|
@ -37,7 +37,7 @@ datablock ItemData(FlashGrenadeThrown)
|
|||
radiusDamageType = $DamageType::Grenade;
|
||||
kickBackStrength = 1000;
|
||||
computeCRC = true;
|
||||
maxWhiteout = 0.78; // z0dd - ZOD, 9/8/02. Was 1.2 //Reduced. Was 0.9 Choco
|
||||
maxWhiteout = 0.9; // z0dd - ZOD, 9/8/02. Was 1.2
|
||||
};
|
||||
|
||||
datablock ItemData(FlashGrenade)
|
||||
|
|
|
|||
|
|
@ -2,6 +2,37 @@
|
|||
// Missile launcher
|
||||
//--------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Force-Feedback Effects
|
||||
//--------------------------------------
|
||||
datablock EffectProfile(MissileSwitchEffect)
|
||||
{
|
||||
effectname = "weapons/missile_launcher_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 2.5;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MissileFireEffect)
|
||||
{
|
||||
effectname = "weapons/missile_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MissileDryFireEffect)
|
||||
{
|
||||
effectname = "weapons/missile_launcher_dryfire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 2.5;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MissileExplosionEffect)
|
||||
{
|
||||
effectname = "explosions/explosion.xpl23";
|
||||
minDistance = 10;
|
||||
maxDistance = 30;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------
|
||||
|
|
@ -10,6 +41,7 @@ datablock AudioProfile(MissileSwitchSound)
|
|||
filename = "fx/weapons/missile_launcher_activate.wav";
|
||||
description = AudioClosest3d;
|
||||
preload = true;
|
||||
effect = MissileSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MissileFireSound)
|
||||
|
|
@ -17,6 +49,7 @@ datablock AudioProfile(MissileFireSound)
|
|||
filename = "fx/weapons/missile_fire.WAV";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = MissileFireEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MissileProjectileSound)
|
||||
|
|
@ -45,6 +78,7 @@ datablock AudioProfile(MissileExplosionSound)
|
|||
filename = "fx/explosions/explosion.xpl23.wav";
|
||||
description = AudioBIGExplosion3d;
|
||||
preload = true;
|
||||
effect = MissileExplosionEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MissileDryFireSound)
|
||||
|
|
@ -52,6 +86,7 @@ datablock AudioProfile(MissileDryFireSound)
|
|||
filename = "fx/weapons/missile_launcher_dryfire.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = MissileDryFireEffect;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -727,9 +762,9 @@ datablock ShapeBaseImageData(MissileLauncherImage)
|
|||
stateSequence[0] = "Activate";
|
||||
stateSound[0] = MissileSwitchSound;
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateTransitionOnAmmo[1] = "Ready";
|
||||
stateTransitionOnNoAmmo[1] = "FirstLoad";
|
||||
stateName[1] = "ActivateReady";
|
||||
stateTransitionOnLoaded[1] = "Ready";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
|
@ -792,9 +827,6 @@ datablock ShapeBaseImageData(MissileLauncherImage)
|
|||
stateSequence[10] = "Fire";
|
||||
stateScript[10] = "onDumbFire";
|
||||
stateSound[10] = MissileFireSound;
|
||||
|
||||
stateName[11] = "FirstLoad";
|
||||
stateTransitionOnAmmo[11] = "Ready";
|
||||
};
|
||||
|
||||
function MissileLauncherImage::onDumbFire(%data,%obj,%slot)
|
||||
|
|
@ -815,42 +847,3 @@ function MissileLauncherImage::onDumbFire(%data,%obj,%slot)
|
|||
%obj.decInventory(%data.ammo, 1);
|
||||
return %p;
|
||||
}
|
||||
function MissileLauncherImage::onUnmount(%this,%obj,%slot){
|
||||
parent::onUnmount(%this,%obj,%slot);
|
||||
if(isEventPending(%obj.reloadDelaySch))
|
||||
cancel(%obj.reloadDelaySch);
|
||||
}
|
||||
function MissileLauncherImage::onMount(%this,%obj,%slot){
|
||||
|
||||
if(%obj.getClassName() !$= "Player")
|
||||
return;
|
||||
|
||||
if (%this.armthread $= "")
|
||||
%obj.setArmThread(look);
|
||||
else
|
||||
%obj.setArmThread(%this.armThread);
|
||||
|
||||
if(%obj.getMountedImage($WeaponSlot).ammo !$= ""){
|
||||
if (%obj.getInventory(%this.ammo)){
|
||||
|
||||
%fireAndReloadTime = mFloor((%this.stateTimeoutValue[4] + %this.stateTimeoutValue[3]) * 1000);
|
||||
|
||||
if(%obj.lfireTime[%this.getName()] && (getSimTime() - %obj.lfireTime[%this.getName()]) < %fireAndReloadTime){
|
||||
if(isEventPending(%obj.reloadDelaySch)){
|
||||
cancel(%obj.reloadDelaySch);
|
||||
}
|
||||
%time = mFloor(%fireAndReloadTime - (getSimTime() - %obj.lfireTime[%this.getName()]));
|
||||
%obj.reloadDelaySch = schedule(%time, 0, "ammoStateDelay", %obj, %slot, true);
|
||||
}
|
||||
else{
|
||||
%obj.setImageAmmo(%slot,true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
%obj.client.setWeaponsHudActive(%this.item);
|
||||
if(%obj.getMountedImage($WeaponSlot).ammo !$= "")
|
||||
%obj.client.setAmmoHudCount(%obj.getInventory(%this.ammo));
|
||||
else
|
||||
%obj.client.setAmmoHudCount(-1);
|
||||
}
|
||||
|
|
@ -2,6 +2,44 @@
|
|||
// Mortar
|
||||
//--------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Force-Feedback Effects
|
||||
//--------------------------------------
|
||||
datablock EffectProfile(MortarSwitchEffect)
|
||||
{
|
||||
effectname = "weapons/mortar_activate";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 2.5;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MortarFireEffect)
|
||||
{
|
||||
effectname = "weapons/mortar_fire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 5.0;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MortarReloadEffect)
|
||||
{
|
||||
effectname = "weapons/mortar_reload";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 2.5;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MortarDryFireEffect)
|
||||
{
|
||||
effectname = "weapons/mortar_dryfire";
|
||||
minDistance = 2.5;
|
||||
maxDistance = 2.5;
|
||||
};
|
||||
|
||||
datablock EffectProfile(MortarExplosionEffect)
|
||||
{
|
||||
effectname = "explosions/explosion.xpl03";
|
||||
minDistance = 30;
|
||||
maxDistance = 65;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Sounds
|
||||
//--------------------------------------
|
||||
|
|
@ -10,6 +48,7 @@ datablock AudioProfile(MortarSwitchSound)
|
|||
filename = "fx/weapons/mortar_activate.wav";
|
||||
description = AudioClosest3d;
|
||||
preload = true;
|
||||
effect = MortarSwitchEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MortarReloadSound)
|
||||
|
|
@ -17,6 +56,7 @@ datablock AudioProfile(MortarReloadSound)
|
|||
filename = "fx/weapons/mortar_reload.wav";
|
||||
description = AudioClosest3d;
|
||||
preload = true;
|
||||
effect = MortarReloadEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MortarIdleSound)
|
||||
|
|
@ -25,6 +65,7 @@ datablock AudioProfile(MortarIdleSound)
|
|||
filename = "fx/weapons/plasma_rifle_idle.wav";
|
||||
description = ClosestLooping3d;
|
||||
preload = true;
|
||||
effect = PlasmaIdleEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MortarFireSound)
|
||||
|
|
@ -32,6 +73,7 @@ datablock AudioProfile(MortarFireSound)
|
|||
filename = "fx/weapons/mortar_fire.wav";
|
||||
description = AudioDefault3d;
|
||||
preload = true;
|
||||
effect = MortarFireEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MortarProjectileSound)
|
||||
|
|
@ -46,6 +88,7 @@ datablock AudioProfile(MortarExplosionSound)
|
|||
filename = "fx/weapons/mortar_explode.wav";
|
||||
description = AudioBIGExplosion3d;
|
||||
preload = true;
|
||||
effect = MortarExplosionEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(UnderwaterMortarExplosionSound)
|
||||
|
|
@ -53,6 +96,7 @@ datablock AudioProfile(UnderwaterMortarExplosionSound)
|
|||
filename = "fx/weapons/mortar_explode_UW.wav";
|
||||
description = AudioBIGExplosion3d;
|
||||
preload = true;
|
||||
effect = MortarExplosionEffect;
|
||||
};
|
||||
|
||||
datablock AudioProfile(MortarDryFireSound)
|
||||
|
|
@ -60,6 +104,7 @@ datablock AudioProfile(MortarDryFireSound)
|
|||
filename = "fx/weapons/mortar_dryfire.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
effect = MortarDryFireEffect;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
|
@ -740,8 +785,8 @@ datablock ShapeBaseImageData(MortarImage)
|
|||
stateSound[0] = MortarSwitchSound;
|
||||
|
||||
stateName[1] = "ActivateReady";
|
||||
stateTransitionOnAmmo[1] = "Ready";
|
||||
stateTransitionOnNoAmmo[1] = "FirstLoad";
|
||||
stateTransitionOnLoaded[1] = "Ready";
|
||||
stateTransitionOnNoAmmo[1] = "NoAmmo";
|
||||
|
||||
stateName[2] = "Ready";
|
||||
stateTransitionOnNoAmmo[2] = "NoAmmo";
|
||||
|
|
@ -775,50 +820,4 @@ datablock ShapeBaseImageData(MortarImage)
|
|||
stateSound[6] = MortarDryFireSound;
|
||||
stateTimeoutValue[6] = 1.5;
|
||||
stateTransitionOnTimeout[6] = "NoAmmo";
|
||||
|
||||
stateName[7] = "FirstLoad";
|
||||
stateTransitionOnAmmo[7] = "Ready";
|
||||
};
|
||||
|
||||
function MortarImage::onUnmount(%this,%obj,%slot){
|
||||
parent::onUnmount(%this,%obj,%slot);
|
||||
if(isEventPending(%obj.reloadDelaySch))
|
||||
cancel(%obj.reloadDelaySch);
|
||||
}
|
||||
function MortarImage::onMount(%this,%obj,%slot){
|
||||
|
||||
if(%obj.getClassName() !$= "Player")
|
||||
return;
|
||||
|
||||
if (%this.armthread $= "")
|
||||
%obj.setArmThread(look);
|
||||
else
|
||||
%obj.setArmThread(%this.armThread);
|
||||
|
||||
if(%obj.getMountedImage($WeaponSlot).ammo !$= ""){
|
||||
if (%obj.getInventory(%this.ammo)){
|
||||
%fireAndReloadTime = mFloor((%this.stateTimeoutValue[4] + %this.stateTimeoutValue[3]) * 1000);
|
||||
if(%obj.lfireTime[%this.getName()] && (getSimTime() - %obj.lfireTime[%this.getName()]) < %fireAndReloadTime){
|
||||
if(isEventPending(%obj.reloadDelaySch)){
|
||||
cancel(%obj.reloadDelaySch);
|
||||
}
|
||||
%time = mFloor(%fireAndReloadTime - (getSimTime() - %obj.lfireTime[%this.getName()]));
|
||||
%obj.reloadDelaySch = schedule(%time, 0, "ammoStateDelay", %obj, %slot, true);
|
||||
}
|
||||
else{
|
||||
%obj.setImageAmmo(%slot,true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
%obj.client.setWeaponsHudActive(%this.item);
|
||||
if(%obj.getMountedImage($WeaponSlot).ammo !$= "")
|
||||
%obj.client.setAmmoHudCount(%obj.getInventory(%this.ammo));
|
||||
else
|
||||
%obj.client.setAmmoHudCount(-1);
|
||||
}
|
||||
|
||||
function ammoStateDelay(%obj, %slot, %state){
|
||||
if(isObject(%obj) && %obj.getState() !$= "Dead")
|
||||
%obj.setImageAmmo(%slot, %state);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue