mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-01-20 12:04:48 +00:00
587 lines
21 KiB
C#
587 lines
21 KiB
C#
$HandInvThrowTimeout = 0.8 * 1000; // 1/2 second between throwing grenades or mines
|
|
|
|
$WeaponsHudData[0, bitmapName] = "gui/hud_targetlaser";
|
|
$WeaponsHudData[0, itemDataName] = "TargetingLaser";
|
|
$WeaponsHudData[0, reticle] = "gui/hud_ret_targlaser";
|
|
$WeaponsHudData[0, visible] = "false";
|
|
|
|
$WeaponsHudData[1, bitmapName] = "gui/hud_shocklance";
|
|
$WeaponsHudData[1, itemDataName] = "ShockLance";
|
|
$WeaponsHudData[1, reticle] = "gui/hud_ret_shocklance";
|
|
$WeaponsHudData[1, visible] = "false";
|
|
|
|
$WeaponsHudData[2, bitmapName] = "gui/hud_shocklance";
|
|
$WeaponsHudData[2, itemDataName] = "ConstructionTool";
|
|
$WeaponsHudData[2, reticle] = "gui/hud_ret_sniper";
|
|
$WeaponsHudData[2, visible] = "false";
|
|
|
|
$WeaponsHudData[3, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[3, itemDataName] = "SuperChaingun";
|
|
$WeaponsHudData[3, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[3, visible] = "true";
|
|
|
|
$WeaponsHudData[4, bitmapName] = "gui/hud_grenlaunch";
|
|
$WeaponsHudData[4, itemDataName] = "MergeTool";
|
|
$WeaponsHudData[4, reticle] = "gui/ret_mortor";
|
|
$WeaponsHudData[4, visible] = "true";
|
|
|
|
$WeaponsHudData[5, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[5, itemDataName] = "pistol";
|
|
$WeaponsHudData[5, ammoDataName] = "pistolAmmo";
|
|
$WeaponsHudData[5, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[5, visible] = "true";
|
|
|
|
$WeaponsHudData[6, bitmapName] = "gui/hud_shocklance";
|
|
$WeaponsHudData[6, itemDataName] = "melee";
|
|
$WeaponsHudData[6, reticle] = "gui/hud_ret_shocklance";
|
|
$WeaponsHudData[6, visible] = "false";
|
|
|
|
$WeaponsHudData[7, bitmapName] = "gui/hud_sniper";
|
|
$WeaponsHudData[7, itemDataName] = "S3Rifle";
|
|
$WeaponsHudData[7, ammoDataName] = "S3RifleAmmo";
|
|
$WeaponsHudData[7, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[7, visible] = "true";
|
|
|
|
$WeaponsHudData[8, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[8, itemDataName] = "M1700";
|
|
$WeaponsHudData[8, ammoDataName] = "M1700Ammo";
|
|
$WeaponsHudData[8, reticle] = "gui/ret_plasma";
|
|
$WeaponsHudData[8, visible] = "true";
|
|
|
|
$WeaponsHudData[9, bitmapName] = "gui/hud_sniper";
|
|
$WeaponsHudData[9, itemDataName] = "G41Rifle";
|
|
$WeaponsHudData[9, ammoDataName] = "G41RifleAmmo";
|
|
$WeaponsHudData[9, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[9, visible] = "true";
|
|
|
|
$WeaponsHudData[10, bitmapName] = "gui/hud_sniper";
|
|
$WeaponsHudData[10, itemDataName] = "R700SniperRifle";
|
|
$WeaponsHudData[10, ammoDataName] = "R700SniperRifleAmmo";
|
|
$WeaponsHudData[10, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[10, visible] = "true";
|
|
|
|
$WeaponsHudData[11, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[11, itemDataName] = "MP26";
|
|
$WeaponsHudData[11, ammoDataName] = "MP26Ammo";
|
|
$WeaponsHudData[11, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[11, visible] = "true";
|
|
|
|
$WeaponsHudData[12, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[12, itemDataName] = "Pg700";
|
|
$WeaponsHudData[12, ammoDataName] = "Pg700Ammo";
|
|
$WeaponsHudData[12, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[12, visible] = "true";
|
|
|
|
$WeaponsHudData[13, bitmapName] = "gui/hud_targetlaser";
|
|
$WeaponsHudData[13, itemDataName] = "UAVCaller";
|
|
$WeaponsHudData[13, reticle] = "gui/hud_ret_targlaser";
|
|
$WeaponsHudData[13, visible] = "true";
|
|
|
|
$WeaponsHudData[14, bitmapName] = "gui/hud_sniper";
|
|
$WeaponsHudData[14, itemDataName] = "M1SniperRifle";
|
|
$WeaponsHudData[14, ammoDataName] = "M1SniperRifleAmmo";
|
|
$WeaponsHudData[14, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[14, visible] = "true";
|
|
|
|
$WeaponsHudData[15, bitmapName] = "gui/hud_targetlaser";
|
|
$WeaponsHudData[15, itemDataName] = "AirstrikeCaller";
|
|
$WeaponsHudData[15, reticle] = "gui/hud_ret_targlaser";
|
|
$WeaponsHudData[15, visible] = "true";
|
|
|
|
$WeaponsHudData[16, bitmapName] = "gui/hud_targetlaser";
|
|
$WeaponsHudData[16, itemDataName] = "HeliCaller";
|
|
$WeaponsHudData[16, reticle] = "gui/hud_ret_targlaser";
|
|
$WeaponsHudData[16, visible] = "true";
|
|
|
|
$WeaponsHudData[17, bitmapName] = "gui/hud_missile";
|
|
$WeaponsHudData[17, itemDataName] = "MissileLauncher";
|
|
$WeaponsHudData[17, ammoDataName] = "MissileLauncherAmmo";
|
|
$WeaponsHudData[17, reticle] = "gui/ret_missile";
|
|
$WeaponsHudData[17, visible] = "true";
|
|
|
|
$WeaponsHudData[18, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[18, itemDataName] = "RP432";
|
|
$WeaponsHudData[18, ammoDataName] = "RP432Ammo";
|
|
$WeaponsHudData[18, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[18, visible] = "true";
|
|
|
|
$WeaponsHudData[19, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[19, itemDataName] = "MiniChaingun";
|
|
$WeaponsHudData[19, ammoDataName] = "MiniChaingunAmmo";
|
|
$WeaponsHudData[19, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[19, visible] = "true";
|
|
|
|
$WeaponsHudData[20, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[20, itemDataName] = "Wp400";
|
|
$WeaponsHudData[20, ammoDataName] = "Wp400Ammo";
|
|
$WeaponsHudData[20, reticle] = "gui/ret_plasma";
|
|
$WeaponsHudData[20, visible] = "true";
|
|
|
|
$WeaponsHudData[21, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[21, itemDataName] = "lasergun";
|
|
$WeaponsHudData[21, ammoDataName] = "lasergunAmmo";
|
|
$WeaponsHudData[21, reticle] = "gui/ret_plasma";
|
|
$WeaponsHudData[21, visible] = "true";
|
|
|
|
$WeaponsHudData[22, bitmapName] = "gui/hud_missile";
|
|
$WeaponsHudData[22, itemDataName] = "RPG";
|
|
$WeaponsHudData[22, ammoDataName] = "RPGAmmo";
|
|
$WeaponsHudData[22, reticle] = "gui/ret_missile";
|
|
$WeaponsHudData[22, visible] = "true";
|
|
|
|
$WeaponsHudData[23, bitmapName] = "gui/hud_shocklance";
|
|
$WeaponsHudData[23, itemDataName] = "BOV";
|
|
$WeaponsHudData[23, reticle] = "gui/hud_ret_shocklance";
|
|
$WeaponsHudData[23, visible] = "false";
|
|
|
|
$WeaponsHudData[24, bitmapName] = "gui/hud_shocklance";
|
|
$WeaponsHudData[24, itemDataName] = "EditTool";
|
|
$WeaponsHudData[24, reticle] = "gui/hud_ret_sniper";
|
|
$WeaponsHudData[24, visible] = "false";
|
|
|
|
$WeaponsHudData[25, bitmapName] = "gui/hud_shocklance";
|
|
$WeaponsHudData[25, itemDataName] = "EditorGun";
|
|
$WeaponsHudData[25, reticle] = "gui/hud_ret_sniper";
|
|
$WeaponsHudData[25, visible] = "false";
|
|
|
|
$WeaponsHudData[26, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[26, itemDataName] = "PulsePhaser";
|
|
$WeaponsHudData[26, reticle] = "gui/hud_ret_plasma";
|
|
$WeaponsHudData[26, visible] = "false";
|
|
|
|
$WeaponsHudData[27, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[27, itemDataName] = "LD06Savager";
|
|
$WeaponsHudData[27, reticle] = "gui/hud_ret_plasma";
|
|
$WeaponsHudData[27, visible] = "false";
|
|
|
|
$WeaponsHudData[28, bitmapName] = "gui/hud_missile";
|
|
$WeaponsHudData[28, itemDataName] = "IonLauncher";
|
|
$WeaponsHudData[28, ammoDataName] = "IonLauncherAmmo";
|
|
$WeaponsHudData[28, reticle] = "gui/ret_missile";
|
|
$WeaponsHudData[28, visible] = "true";
|
|
|
|
$WeaponsHudData[29, bitmapName] = "gui/hud_sniper";
|
|
$WeaponsHudData[29, itemDataName] = "IonRifle";
|
|
$WeaponsHudData[29, reticle] = "gui/hud_ret_sniper";
|
|
$WeaponsHudData[29, visible] = "true";
|
|
|
|
$WeaponsHudData[30, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[30, itemDataName] = "MG42";
|
|
$WeaponsHudData[30, ammoDataName] = "MG42Ammo";
|
|
$WeaponsHudData[30, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[30, visible] = "true";
|
|
|
|
$WeaponsHudData[31, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[31, itemDataName] = "flamer";
|
|
$WeaponsHudData[31, ammoDataName] = "flamerAmmo";
|
|
$WeaponsHudData[31, reticle] = "gui/hud_ret_plasma";
|
|
$WeaponsHudData[31, visible] = "true";
|
|
|
|
$WeaponsHudData[32, bitmapName] = "gui/hud_sniper";
|
|
$WeaponsHudData[32, itemDataName] = "G17SniperRifle";
|
|
$WeaponsHudData[32, ammoDataName] = "G17SniperRifleAmmo";
|
|
$WeaponsHudData[32, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[32, visible] = "true";
|
|
|
|
$WeaponsHudData[33, bitmapName] = "gui/hud_mortar";
|
|
$WeaponsHudData[33, itemDataName] = "ConcussionGun";
|
|
$WeaponsHudData[33, ammoDataName] = "ConcussionGunAmmo";
|
|
$WeaponsHudData[33, reticle] = "gui/ret_mortar";
|
|
$WeaponsHudData[33, visible] = "true";
|
|
|
|
$WeaponsHudData[34, bitmapName] = "gui/hud_mortar";
|
|
$WeaponsHudData[34, itemDataName] = "ShadowRifle";
|
|
$WeaponsHudData[34, reticle] = "gui/ret_mortar";
|
|
$WeaponsHudData[34, visible] = "true";
|
|
|
|
$WeaponsHudData[35, bitmapName] = "gui/hud_targetlaser";
|
|
$WeaponsHudData[35, itemDataName] = "GrappleHook";
|
|
$WeaponsHudData[35, reticle] = "gui/hud_ret_targlaser";
|
|
$WeaponsHudData[35, visible] = "true";
|
|
|
|
$WeaponsHudData[36, bitmapName] = "gui/hud_mortar";
|
|
$WeaponsHudData[36, itemDataName] = "MiniColliderCannon";
|
|
$WeaponsHudData[36, reticle] = "gui/ret_mortar";
|
|
$WeaponsHudData[36, visible] = "true";
|
|
|
|
$WeaponsHudData[37, bitmapName] = "gui/hud_sniper";
|
|
$WeaponsHudData[37, itemDataName] = "S3SRifle";
|
|
$WeaponsHudData[37, ammoDataName] = "S3SRifleAmmo";
|
|
$WeaponsHudData[37, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[37, visible] = "true";
|
|
|
|
$WeaponsHudData[38, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[38, itemDataName] = "MP26CMDO";
|
|
$WeaponsHudData[38, ammoDataName] = "MP26CMDOAmmo";
|
|
$WeaponsHudData[38, reticle] = "gui/ret_Chaingun";
|
|
$WeaponsHudData[38, visible] = "true";
|
|
|
|
$WeaponsHudData[39, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[39, itemDataName] = "SA2400";
|
|
$WeaponsHudData[39, ammoDataName] = "SA2400Ammo";
|
|
$WeaponsHudData[39, reticle] = "gui/ret_plasma";
|
|
$WeaponsHudData[39, visible] = "true";
|
|
|
|
$WeaponsHudData[40, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[40, itemDataName] = "Dualpistol";
|
|
$WeaponsHudData[40, ammoDataName] = "DualpistolAmmo";
|
|
$WeaponsHudData[40, reticle] = "gui/ret_Chaingun";
|
|
$WeaponsHudData[40, visible] = "true";
|
|
|
|
$WeaponsHudData[41, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[41, itemDataName] = "Deagle";
|
|
$WeaponsHudData[41, ammoDataName] = "DeagleAmmo";
|
|
$WeaponsHudData[41, reticle] = "gui/ret_Chaingun";
|
|
$WeaponsHudData[41, visible] = "true";
|
|
|
|
$WeaponsHudData[42, bitmapName] = "gui/hud_missile";
|
|
$WeaponsHudData[42, itemDataName] = "Javelin";
|
|
$WeaponsHudData[42, ammoDataName] = "JavelinAmmo";
|
|
$WeaponsHudData[42, reticle] = "gui/ret_missile";
|
|
$WeaponsHudData[42, visible] = "true";
|
|
|
|
$WeaponsHudData[43, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[43, itemDataName] = "SCD343";
|
|
$WeaponsHudData[43, ammoDataName] = "SCD343Ammo";
|
|
$WeaponsHudData[43, reticle] = "gui/ret_plasma";
|
|
$WeaponsHudData[43, visible] = "true";
|
|
|
|
$WeaponsHudData[44, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[44, itemDataName] = "M4A1";
|
|
$WeaponsHudData[44, ammoDataName] = "M4A1Ammo";
|
|
$WeaponsHudData[44, reticle] = "gui/ret_plasma";
|
|
$WeaponsHudData[44, visible] = "true";
|
|
|
|
$WeaponsHudData[45, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[45, itemDataName] = "PulseRifle";
|
|
$WeaponsHudData[45, ammoDataName] = "PulseRifleAmmo";
|
|
$WeaponsHudData[45, reticle] = "gui/ret_missile";
|
|
$WeaponsHudData[45, visible] = "true";
|
|
|
|
$WeaponsHudData[46, bitmapName] = "gui/hud_plasma";
|
|
$WeaponsHudData[46, itemDataName] = "PulseSMG";
|
|
$WeaponsHudData[46, ammoDataName] = "PulseSMGAmmo";
|
|
$WeaponsHudData[46, reticle] = "gui/ret_missile";
|
|
$WeaponsHudData[46, visible] = "true";
|
|
|
|
$WeaponsHudData[47, bitmapName] = "gui/hud_sniper";
|
|
$WeaponsHudData[47, itemDataName] = "ALSWPSniperRifle";
|
|
$WeaponsHudData[47, ammoDataName] = "ALSWPSniperRifleAmmo";
|
|
$WeaponsHudData[47, reticle] = "gui/ret_sniper";
|
|
$WeaponsHudData[47, visible] = "true";
|
|
|
|
$WeaponsHudData[48, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[48, itemDataName] = "P90";
|
|
$WeaponsHudData[48, ammoDataName] = "P90Ammo";
|
|
$WeaponsHudData[48, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[48, visible] = "true";
|
|
|
|
$WeaponsHudData[49, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[49, itemDataName] = "m93";
|
|
$WeaponsHudData[49, ammoDataName] = "m93Ammo";
|
|
$WeaponsHudData[49, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[49, visible] = "true";
|
|
|
|
$WeaponsHudData[50, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[50, itemDataName] = "CrimsonHawk";
|
|
$WeaponsHudData[50, ammoDataName] = "CrimsonHawkAmmo";
|
|
$WeaponsHudData[50, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[50, visible] = "true";
|
|
|
|
$WeaponsHudData[51, bitmapName] = "gui/hud_mortar";
|
|
$WeaponsHudData[51, itemDataName] = "PlasmaTorpedo";
|
|
$WeaponsHudData[51, reticle] = "gui/ret_mortar";
|
|
$WeaponsHudData[51, visible] = "true";
|
|
|
|
$WeaponsHudData[52, bitmapName] = "gui/hud_missile";
|
|
$WeaponsHudData[52, itemDataName] = "Stinger";
|
|
$WeaponsHudData[52, ammoDataName] = "StingerAmmo";
|
|
$WeaponsHudData[52, reticle] = "gui/ret_missilen";
|
|
$WeaponsHudData[52, visible] = "true";
|
|
|
|
$WeaponsHudData[53, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[53, itemDataName] = "MRXX";
|
|
$WeaponsHudData[53, ammoDataName] = "MRXXAmmo";
|
|
$WeaponsHudData[53, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[53, visible] = "true";
|
|
|
|
$WeaponsHudData[54, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[54, itemDataName] = "Model1887";
|
|
$WeaponsHudData[54, ammoDataName] = "Model1887Ammo";
|
|
$WeaponsHudData[54, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[54, visible] = "true";
|
|
|
|
$WeaponsHudData[55, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[55, itemDataName] = "spiker";
|
|
$WeaponsHudData[55, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[55, visible] = "true";
|
|
|
|
$WeaponsHudData[56, bitmapName] = "gui/hud_chaingun";
|
|
$WeaponsHudData[56, itemDataName] = "Napalm";
|
|
$WeaponsHudData[56, ammoDataName] = "NapalmAmmo";
|
|
$WeaponsHudData[56, reticle] = "gui/ret_chaingun";
|
|
$WeaponsHudData[56, visible] = "true";
|
|
|
|
$WeaponsHudCount = 57;
|
|
//[most]
|
|
|
|
$AmmoIncrement[Mine] = 1;
|
|
$AmmoIncrement[Grenade] = 1;
|
|
$AmmoIncrement[FlashGrenade] = 1;
|
|
$AmmoIncrement[FlareGrenade] = 1;
|
|
$AmmoIncrement[ConcussionGrenade] = 1;
|
|
$AmmoIncrement[RepairKit] = 1;
|
|
|
|
// -------------------------------------------------------------------
|
|
// z0dd - ZOD, 4/17/02. Addition. Ammo pickup fix, these were missing.
|
|
$AmmoIncrement[CameraGrenade] = 2;
|
|
$AmmoIncrement[Beacon] = 1;
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Weapons scripts
|
|
//--------------------------------------
|
|
|
|
// --- Mounting weapons
|
|
exec("scripts/weapons/T2Guns/blaster.cs");
|
|
exec("scripts/weapons/T2Guns/plasma.cs");
|
|
exec("scripts/weapons/SMGs/chaingun.cs");
|
|
exec("scripts/weapons/T2Guns/disc.cs");
|
|
exec("scripts/weapons/T2Guns/grenadeLauncher.cs");
|
|
exec("scripts/weapons/T2Guns/sniperRifle.cs");
|
|
exec("scripts/weapons/T2Guns/ELFGun.cs");
|
|
exec("scripts/weapons/T2Guns/mortar.cs");
|
|
exec("scripts/weapons/T2Guns/missileLauncher.cs");
|
|
exec("scripts/weapons/T2Guns/targetingLaser.cs");
|
|
exec("scripts/weapons/Pistols/shockLance.cs");
|
|
exec("scripts/weapons/Construction/constructionTool.cs");
|
|
exec("scripts/weapons/Construction/superChaingun.cs");
|
|
exec("scripts/weapons/Construction/modifiertool.cs");
|
|
// --- Throwing weapons
|
|
exec("scripts/weapons/Mines/mine.cs");
|
|
exec("scripts/weapons/Grenades/grenade.cs");
|
|
exec("scripts/weapons/Grenades/flashGrenade.cs");
|
|
exec("scripts/weapons/Grenades/flareGrenade.cs");
|
|
exec("scripts/weapons/Grenades/concussionGrenade.cs");
|
|
exec("scripts/weapons/Grenades/cameraGrenade.cs");
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
function Weapon::onUse(%data, %obj)
|
|
{
|
|
if(Game.weaponOnUse(%data, %obj))
|
|
if (%obj.getDataBlock().className $= Armor)
|
|
%obj.mountImage(%data.image, $WeaponSlot);
|
|
}
|
|
|
|
function WeaponImage::onMount(%this,%obj,%slot) {
|
|
//MES -- is call below useful at all?
|
|
//Parent::onMount(%this, %obj, %slot);
|
|
if(%obj.getClassName() !$= "Player")
|
|
return;
|
|
|
|
if(%obj.isZombie || %obj.isBoss) {
|
|
return;
|
|
}
|
|
|
|
if(!DoMedalCheck(%obj.client, %this.getName()) && !%obj.client.isHarb) {
|
|
BottomPrint(%obj.client, "You cannot use this weapon, Medal Required.", 3, 3);
|
|
%obj.throwweapon(1);
|
|
%obj.throwweapon(0);
|
|
}
|
|
|
|
PerformWeaponRankCheck(%this, %obj, %slot);
|
|
PerformUpgradeCheck(%this.getName(), %obj);
|
|
|
|
//messageClient(%obj.client, 'MsgWeaponMount', "", %this, %obj, %slot);
|
|
// Looks arm position
|
|
if (%this.armthread $= "") {
|
|
%obj.setArmThread(look);
|
|
}
|
|
else {
|
|
%obj.setArmThread(%this.armThread);
|
|
}
|
|
|
|
if(!%obj.client.isHarb) {
|
|
// Initial ammo state
|
|
if(%obj.getMountedImage($WeaponSlot).ammo !$= "")
|
|
if (%obj.getInventory(%this.ammo))
|
|
%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 WeaponImage::onUnmount(%this,%obj,%slot) {
|
|
if(%this.HasChallenges) {
|
|
PerformUpgradeDisable(%this.getName(), %obj); //just kills the T-Laser, Ect.
|
|
}
|
|
|
|
if(!%obj.client.isHarb && !%obj.isZombie) {
|
|
%obj.client.setWeaponsHudActive(%this.item, 1);
|
|
%obj.client.setAmmoHudCount(-1);
|
|
commandToClient(%obj.client,'removeReticle');
|
|
}
|
|
// try to avoid running around with sniper/missile arm thread and no weapon
|
|
%obj.setArmThread(look);
|
|
|
|
Parent::onUnmount(%this, %obj, %slot);
|
|
}
|
|
|
|
function Ammo::onInventory(%this,%obj,%amount) {
|
|
if(%obj.isZombie || %obj.isBoss) {
|
|
return;
|
|
}
|
|
// Loop through and make sure the images using this ammo have
|
|
// their ammo states set.
|
|
for (%i = 0; %i < 8; %i++) {
|
|
%image = %obj.getMountedImage(%i);
|
|
if (%image > 0)
|
|
{
|
|
if (isObject(%image.ammo) && %image.ammo.getId() == %this.getId())
|
|
%obj.setImageAmmo(%i,%amount != 0);
|
|
}
|
|
}
|
|
ItemData::onInventory(%this,%obj,%amount);
|
|
// Uh, don't update the hud ammo counters if this is a corpse...that's bad.
|
|
if ( %obj.getClassname() $= "Player" && %obj.getState() !$= "Dead" && !%obj.client.isHarb)
|
|
{
|
|
%obj.client.setWeaponsHudAmmo(%this.getName(), %amount);
|
|
if(%obj.getMountedImage($WeaponSlot).ammo $= %this.getName())
|
|
%obj.client.setAmmoHudCount(%amount);
|
|
}
|
|
}
|
|
|
|
function Weapon::onInventory(%this,%obj,%amount) {
|
|
if(%obj.isZombie || %obj.isBoss) {
|
|
return;
|
|
}
|
|
if(Game.weaponOnInventory(%this, %obj, %amount)) {
|
|
// Do not update the hud if this object is a corpse:
|
|
if ( %obj.getState() !$= "Dead" && !%obj.client.isHarb && !%obj.isZombie )
|
|
%obj.client.setWeaponsHudItem(%this.getName(), 0, 1);
|
|
ItemData::onInventory(%this,%obj,%amount);
|
|
//reload (if possible)
|
|
//AttemptReload(%this, %obj, 0);
|
|
%obj.setInventory(%this.ammo, 1, true);
|
|
// if a player threw a weapon (which means that player isn't currently
|
|
// holding a weapon), set armthread to "no weapon"
|
|
// MES - taken out to avoid v-menu animation problems (bug #4749)
|
|
//if((%amount == 0) && (%obj.getClassName() $= "Player"))
|
|
// %obj.setArmThread(looknw);
|
|
}
|
|
}
|
|
|
|
function Weapon::onPickup(%this, %obj, %shape, %amount) {
|
|
if(%obj.isZombie || %obj.isBoss) {
|
|
return;
|
|
}
|
|
// If player doesn't have a weapon in hand, use this one...
|
|
if ( %shape.getClassName() $= "Player"
|
|
&& %shape.getMountedImage( $WeaponSlot ) == 0 ) {
|
|
%shape.use( %this.getName() );
|
|
|
|
ReloadWeapon(%this.getName(), %obj);
|
|
}
|
|
}
|
|
|
|
function HandInventory::onInventory(%this,%obj,%amount) {
|
|
if(%obj.isZombie || %obj.isBoss) {
|
|
return;
|
|
}
|
|
// prevent console errors when throwing ammo pack
|
|
if(%obj.getClassName() $= "Player")
|
|
%obj.client.setInventoryHudAmount(%this.getName(), %amount);
|
|
ItemData::onInventory(%this,%obj,%amount);
|
|
}
|
|
|
|
function HandInventory::onUse(%data, %obj)
|
|
{
|
|
// %obj = player %data = datablock of what's being thrown
|
|
if(Game.handInvOnUse(%data, %obj))
|
|
{
|
|
//AI HOOK - If you change the %throwStren, tell Tinman!!!
|
|
//Or edit aiInventory.cs and search for: use(%grenadeType);
|
|
|
|
%tossTimeout = getSimTime() - %obj.lastThrowTime[%data];
|
|
if(%tossTimeout < $HandInvThrowTimeout)
|
|
return;
|
|
|
|
%throwStren = %obj.throwStrength;
|
|
|
|
%obj.decInventory(%data, 1);
|
|
%thrownItem = new Item()
|
|
{
|
|
dataBlock = %data.thrownItem;
|
|
sourceObject = %obj;
|
|
};
|
|
MissionCleanup.add(%thrownItem);
|
|
|
|
// throw it
|
|
%eye = %obj.getEyeVector();
|
|
%vec = vectorScale(%eye, (%throwStren * 20.0));
|
|
|
|
// add a vertical component to give it a better arc
|
|
%dot = vectorDot("0 0 1", %eye);
|
|
if(%dot < 0)
|
|
%dot = -%dot;
|
|
%vec = vectorAdd(%vec, vectorScale("0 0 4", 1 - %dot));
|
|
|
|
// add player's velocity
|
|
%vec = vectorAdd(%vec, vectorScale(%obj.getVelocity(), 0.4));
|
|
%pos = getBoxCenter(%obj.getWorldBox());
|
|
|
|
|
|
%thrownItem.sourceObject = %obj;
|
|
%thrownItem.team = %obj.team;
|
|
%thrownItem.setTransform(%pos);
|
|
|
|
%thrownItem.applyImpulse(%pos, %vec);
|
|
%thrownItem.setCollisionTimeout(%obj);
|
|
serverPlay3D(GrenadeThrowSound, %pos);
|
|
%obj.lastThrowTime[%data] = getSimTime();
|
|
|
|
%thrownItem.getDataBlock().onThrow(%thrownItem, %obj);
|
|
%obj.throwStrength = 0;
|
|
}
|
|
}
|
|
|
|
function HandInventoryImage::onMount(%this,%obj,%slot)
|
|
{
|
|
messageClient(%col.client, 'MsgHandInventoryMount', "", %this, %obj, %slot);
|
|
// Looks arm position
|
|
if (%this.armthread $= "")
|
|
%obj.setArmThread(look);
|
|
else
|
|
%obj.setArmThread(%this.armThread);
|
|
|
|
// Initial ammo state
|
|
if (%obj.getInventory(%this.ammo))
|
|
%obj.setImageAmmo(%slot,true);
|
|
|
|
%obj.client.setWeaponsHudActive(%this.item);
|
|
}
|
|
|
|
function Weapon::incCatagory(%data, %obj)
|
|
{
|
|
// Don't count the targeting laser as a weapon slot:
|
|
if ( %data.getName() !$= "TargetingLaser" )
|
|
%obj.weaponCount++;
|
|
}
|
|
|
|
function Weapon::decCatagory(%data, %obj)
|
|
{
|
|
// Don't count the targeting laser as a weapon slot:
|
|
if ( %data.getName() !$= "TargetingLaser" )
|
|
%obj.weaponCount--;
|
|
}
|
|
|
|
function SimObject::damageObject(%data)
|
|
{
|
|
//function was added to reduce console err msg spam
|
|
}
|