Throwable Thermal Detonators

This commit is contained in:
Simon 2023-03-08 22:56:21 +00:00
parent f16e6b2e7e
commit 174350d86a
5 changed files with 783 additions and 7 deletions

View File

@ -13629,8 +13629,9 @@ static void PM_Weapon( void )
{
PM_SetAnim( pm, SETANIM_LEGS, BOTH_THERMAL_THROW, SETANIM_FLAG_OVERRIDE|SETANIM_FLAG_HOLD );
}
PM_SetAnim(pm,SETANIM_TORSO,BOTH_THERMAL_THROW,SETANIM_FLAG_OVERRIDE|SETANIM_FLAG_RESTART|SETANIM_FLAG_HOLD);
pm->gent->client->fireDelay = 300;
//Don't require a fire delay as the animation is us actually throwing physically!!
//PM_SetAnim(pm,SETANIM_TORSO,BOTH_THERMAL_THROW,SETANIM_FLAG_OVERRIDE|SETANIM_FLAG_RESTART|SETANIM_FLAG_HOLD);
pm->gent->client->fireDelay = 1;
pm->ps->weaponstate = WEAPON_FIRING;
pm->gent->alt_fire = (qboolean)(pm->cmd.buttons&BUTTON_ALT_ATTACK);
return;

View File

@ -25,6 +25,9 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "g_functions.h"
#include "wp_saber.h"
#include "w_local.h"
#include "bg_local.h"
#include <JKXR/VrClientInfo.h>
#include <JKXR/mathlib.h>
//---------------------
// Thermal Detonator
@ -295,6 +298,10 @@ void WP_ThermalThink( gentity_t *ent )
}
}
#define OLDEST_READING 5
#define NEWEST_READING 2
#define TD_REAL_THROW_VEL_MULT 4.4f
//---------------------------------------------------------
gentity_t *WP_FireThermalDetonator( gentity_t *ent, qboolean alt_fire )
//---------------------------------------------------------
@ -303,10 +310,30 @@ gentity_t *WP_FireThermalDetonator( gentity_t *ent, qboolean alt_fire )
vec3_t dir, start;
float damageScale = 1.0f;
bolt = G_Spawn();
bool realThrow = false;
if ( BG_UseVRPosition(ent) )
{
vec3_t angs;
BG_CalculateVRWeaponPosition(start, angs);
//Caclulate speed between two controller position readings
float distance = VectorDistance(vr->weaponoffset_history[NEWEST_READING], vr->weaponoffset_history[OLDEST_READING]);
float t = vr->weaponoffset_history_timestamp[NEWEST_READING] - vr->weaponoffset_history_timestamp[OLDEST_READING];
float velocity = distance / (t/(float)1000.0);
//Calculate trajectory
VectorSubtract(vr->weaponoffset_history[NEWEST_READING], vr->weaponoffset_history[OLDEST_READING], dir);
VectorNormalize( dir );
BG_ConvertFromVR(dir, NULL, dir);
VectorScale( dir, velocity * TD_REAL_THROW_VEL_MULT, bolt->s.pos.trDelta );
realThrow = true;
}
else {
VectorCopy( forwardVec, dir );
VectorCopy( muzzle, start );
bolt = G_Spawn();
}
bolt->classname = "thermal_detonator";
@ -376,11 +403,15 @@ gentity_t *WP_FireThermalDetonator( gentity_t *ent, qboolean alt_fire )
// normal ones bounce, alt ones explode on impact
bolt->s.pos.trType = TR_GRAVITY;
bolt->owner = ent;
if (!realThrow) {
VectorScale( dir, thrownSpeed * chargeAmount, bolt->s.pos.trDelta );
}
if ( ent->health > 0 )
{
if (!realThrow) {
bolt->s.pos.trDelta[2] += 120;
}
if ( (ent->NPC || (ent->s.number && thisIsAShooter) )
&& ent->enemy )

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,744 @@
// EXTERNAL WEAPON & AMMO DATA
//
// NOTE!!!!!!!!! Weapontype must start the block of weapon data.
// NOTE!!!!!!!!! Ammo must start the block of ammo data.
//
// Weapontype - weapon data is associated with which weapon (must be first)
// WP_SABER, // player and NPC weapon
// WP_BLASTER_PISTOL, // player and NPC weapon
// WP_BLASTER, // player and NPC weapon
// WP_DISRUPTOR, // player and NPC weapon
// WP_BOWCASTER, // NPC weapon - player can pick this up, but never starts with them
// WP_REPEATER, // NPC weapon - player can pick this up, but never starts with them
// WP_DEMP2, // NPC weapon - player can pick this up, but never starts with them
// WP_FLECHETTE, // NPC weapon - player can pick this up, but never starts with them
// WP_ROCKET_LAUNCHER, // NPC weapon - player can pick this up, but never starts with them
// WP_THERMAL, // player and NPC weapon
// WP_TRIP_MINE, // NPC weapon - player can pick this up, but never starts with them
// WP_DET_PACK, // NPC weapon - player can pick this up, but never starts with them
// WP_CONCUSSION, // NPC weapon - player can pick this up, but never starts with them
//extras
// WP_STUN_BATON, // NPC weapon - player can pick this up, but never starts with them
// WP_MELEE, // player and NPC weapon - Any ol' melee attack
// These can never be gotten directly by the player
//NPC weapons
// WP_BRYAR_PISTOL, // NPC weapon - player can pick this up, but never starts with them
// WP_EMPLACED_GUN,
// WP_BOT_LASER, // Probe droid - Laser blast
// WP_TURRET, // turret guns
// WP_ATST_MAIN,
// WP_ATST_SIDE,
// WP_TIE_FIGHTER,
// WP_RAPID_FIRE_CONC,
// WP_JAWA,
// WP_TUSKEN_RIFLE,
// WP_TUSKEN_STAFF,
// WP_SCEPTER,
// WP_NOGHRI_STICK,
//
// Weaponclass - weapon name
// Weaponmodel - weapon model used in game
// weaponicon - interface image
// Ammotype - type of power weapon needs to fire
// 0 - No power
// 1 - Star Fleet power
// 2 - Alien Crystal power
// 3 - Phaser power
// Ammolowcount - amount when "Low ammo" warning appears on screen
// Flashcolor - color generate by weapon flash (R,G,B)
// Firingsound - sound file used when _idling_!
// altfiringsound - sound file used when alt-firing
// flashsound - sound file used by flash
// altflashsound - sound file used by an alt-fire flash
// stopsound - sound file used when a firing sound stops
// Firetime - amount of time between firings
// altfireTime - for alt fire
// Range - range of weapon
// energyPerShot - amount of energy used per shot
// altenergypershot- for alt fire
// barrelcount - number of barrels the model has (weaponname_b?.md3)
// missileModel - missile .md3
// altmissileModel - alternate missile .md3
// missileSound - played while flying
// altmissileSound - alternate missile launch sound
// missileLight - intensity of lightsource for missile - if 0.0 then none (float)
// altmissileLight - alternate missile light
// missileLightColor - color in three float style R, G, B (0.0 to 1.0) - NOTE - if you have a light, you MUST HAVE THESE
// altmissileLightColor - alternate color in three float style R, G, B (0.0 to 1.0)
// missileHitSound - played on impact
// altmissileHitSound - for alt fire
// missileFuncName - missile fly function
// altmissileFuncName - for alt fire
//
// FUNCTION NAMES
// borgfunc
// scavengerfunc
// altscavengerfunc
// stasisfunc
// grenadefunc
// altgrenadefunc
// tetrionfunc
// dreadnoughtfunc
// quantumfunc
// quantumaltfunc
// botrocketfunc
// forgeprojfunc
// forgeprojfunc2
// forgepsychfunc
// parasiteacidfunc
// stasisattackfunc
// loaderlaserfunc
// botprojfunc
//
// For AMMO Types
// ammoicon - STRING
// ammomax - INT
// WP_NULL
{
WEAPONTYPE WP_NONE
}
// WP_STUN_BATON
{
weapontype WP_STUN_BATON
weaponclass weapon_stun_baton
weaponmodel models/weapons2/stun_baton/baton.md3
weaponIcon gfx/hud/w_icon_stunbaton
firingsound sound/weapons/baton/idle.wav
firingforce fffx/weapons/baton/idle
barrelcount 3
ammotype 1
ammolowcount 5
energypershot 0
firetime 400
range 8192
altenergypershot 0
altfiretime 400
altrange 8192
}
// WP_SABER
{
weapontype WP_SABER
weaponclass weapon_saber
weaponmodel models/weapons2/saber/saber_w.md3
weaponIcon gfx/hud/w_icon_lightsaber
firingsound sound/weapons/saber/saberhum1.wav
ammotype 1
ammolowcount 5
energypershot 1
firetime 100
range 8192
altenergypershot 3
altfiretime 100
altrange 8192
missilemodel models/weapons2/saber/saber_w.md3
}
// WP_BRYAR_PISTOL
{
weapontype WP_BRYAR_PISTOL
weaponclass weapon_bryar_pistol
weaponmodel models/weapons2/briar_pistol/briar_pistol.md3
weaponIcon gfx/hud/w_icon_briar
missileFuncName bryar_func
altmissileFuncName bryar_alt_func
ammotype 2
ammolowcount 15
energypershot 1
firetime 400
range 8192
altenergypershot 1
altfiretime 400
altrange 8192
muzzleEffect bryar/muzzle_flash
altmuzzleEffect bryar/altmuzzle_flash
altchargesound sound/weapons/bryar/altcharge.wav
altchargeforce fffx/weapons/bryar/altcharge
selectSound sound/weapons/bryar/select.wav
selectforce fffx/weapons/bryar/select
}
// WP_BLASTER
{
weapontype WP_BLASTER
weaponclass weapon_blaster
weaponmodel models/weapons2/blaster_r/blaster.md3
weaponIcon gfx/hud/w_icon_blaster
ammotype 2
ammolowcount 15
energypershot 1
firetime 350
range 8192
altenergypershot 2
altfiretime 150
altrange 8192
missileFuncName blaster_func
altmissileFuncName blaster_alt_func
muzzleEffect blaster/muzzle_flash
altmuzzleEffect blaster/altmuzzle_flash
selectSound sound/weapons/blaster/select.wav
selectforce fffx/weapons/blaster/select
}
// WP_DISRUPTOR
{
weapontype WP_DISRUPTOR
weaponclass weapon_disruptor
weaponmodel models/weapons2/disruptor/disruptor.md3
weaponIcon gfx/hud/w_icon_disruptor
ammotype 3
ammolowcount 15
energypershot 3
barrelcount 1
firetime 600
range 8192
altenergypershot 3
altfiretime 1300
altrange 8192
muzzleEffect disruptor/muzzle_flash
altmuzzleEffect disruptor/altmuzzle_flash
selectSound sound/weapons/disruptor/select.wav
selectforce fffx/weapons/disruptor/select
altchargesound sound/weapons/disruptor/altCharge.wav
altchargeforce fffx/weapons/disruptor/altcharge
}
// WP_BOWCASTER
{
weapontype WP_BOWCASTER
weaponclass weapon_bowcaster
weaponmodel models/weapons2/bowcaster/bowcaster.md3
weaponIcon gfx/hud/w_icon_bowcaster
altchargesound sound/weapons/bowcaster/altcharge.wav
altchargeforce fffx/weapons/bowcaster/altcharge
ammotype 3
ammolowcount 15
energypershot 5
firetime 750
range 8192
altenergypershot 5
altfiretime 400
altrange 8192
missileFuncName bowcaster_func
altmissileFuncName bowcaster_func
muzzleEffect bowcaster/muzzle_flash
altmuzzleEffect bowcaster/altmuzzle_flash
selectSound sound/weapons/bowcaster/select.wav
selectforce fffx/weapons/bowcaster/select
chargesound sound/weapons/bowcaster/altcharge.wav
chargeforce fffx/weapons/bowcaster/altcharge
}
// WP_REPEATER
{
weapontype WP_REPEATER
weaponclass weapon_repeater
weaponmodel models/weapons2/heavy_repeater/heavy_repeater.md3
weaponIcon gfx/hud/w_icon_repeater
ammotype 4
ammolowcount 25
energypershot 1
firetime 50
range 8192
altenergypershot 8
altfiretime 800
altrange 8192
barrelcount 1
missileFuncName repeater_func
altmissileFuncName repeater_alt_func
muzzleEffect repeater/muzzle_flash
altmuzzleEffect repeater/altmuzzle_flash
selectSound sound/weapons/repeater/select.wav
selectforce fffx/weapons/repeater/select
}
// WP_DEMP2
{
weapontype WP_DEMP2
weaponclass weapon_demp2
weaponmodel models/weapons2/demp2/demp2.md3
weaponIcon gfx/hud/w_icon_demp2
ammotype 3
ammolowcount 15
energypershot 8
firetime 450
range 8192
altenergypershot 10
altfiretime 1200
altrange 8192
missileFuncName demp2_func
muzzleEffect demp2/muzzle_flash
altmissileFuncName demp2_alt_func
altmuzzleEffect demp2/altmuzzle_flash
selectSound sound/weapons/demp2/select.wav
selectforce fffx/weapons/demp2/select
altchargesound sound/weapons/demp2/altCharge.wav
altchargeforce fffx/weapons/demp2/altcharge
}
// WP_FLECHETTE
{
weapontype WP_FLECHETTE
weaponclass weapon_flechette
weaponmodel models/weapons2/golan_arms/golan_arms.md3
barrelcount 1
ammotype 4
ammolowcount 15
firetime 550
energypershot 8
range 8192
weaponIcon gfx/hud/w_icon_flechette
altenergypershot 8
altfiretime 400
altrange 8192
missileFuncName flechette_func
missileModel models/weapons2/golan_arms/projectileMain.md3
altmissileFuncName flechette_alt_func
muzzleEffect flechette/muzzle_flash
altmuzzleEffect flechette/altmuzzle_flash
altmissileModel models/weapons2/golan_arms/projectile.md3
selectSound sound/weapons/flechette/select.wav
selectforce fffx/weapons/flechette/select
}
// WP_ROCKET_LAUNCHER
{
weapontype WP_ROCKET_LAUNCHER
weaponclass weapon_rocket_launcher
weaponmodel models/weapons2/merr_sonn/merr_sonn.md3
ammotype 5
ammolowcount 1
firetime 600
energypershot 1
range 8192
weaponIcon gfx/hud/w_icon_merrsonn
barrelcount 1
altenergypershot 1
altfiretime 1000
altrange 8192
missileLight 125
missileLightColor 1.0 1.0 0.5
altmissileLight 125
altmissileLightColor 1.0 1.0 0.5
missileFuncName rocket_func
altmissileFuncName rocket_alt_func
muzzleEffect rocket/muzzle_flash2
altmuzzleEffect rocket/altmuzzle_flash
missileModel models/weapons2/merr_sonn/projectile.md3
altmissileModel models/weapons2/merr_sonn/projectile.md3
missilesound sound/weapons/rocket/missleloop.wav
altmissilesound sound/weapons/rocket/missleloop.wav
selectSound sound/weapons/rocket/select.wav
selectforce fffx/weapons/rocket/select
}
// WP_CONCUSSION
{
weapontype WP_CONCUSSION
weaponclass weapon_concussion_rifle
weaponmodel models/weapons2/concussion/c_rifle.md3
weaponIcon gfx/hud/w_icon_c_rifle
ammotype 4
ammolowcount 120
energypershot 40
firingsound sound/weapons/concussion/idle_lp.wav
firetime 800
range 8192
missileFuncName conc_func
muzzleEffect concussion/muzzle_flash
missileLight 125
missileLightColor 0.75 0.25 1.0
missilesound sound/weapons/concussion/missleloop.wav
altenergypershot 50
altfiretime 1200
altrange 8192
barrelcount 1
altmuzzleEffect concussion/altmuzzle_flash
selectSound sound/weapons/concussion/select.wav
selectforce fffx/weapons/concussion/select
}
// WP_THERMAL
{
weapontype WP_THERMAL
weaponclass weapon_thermal
weaponmodel models/weapons2/thermal/thermal.md3
weaponIcon gfx/hud/w_icon_thermal
ammotype 7
ammolowcount 1
energypershot 1
firetime 10
range 8192
altenergypershot 1
altfiretime 10
altrange 8192
missileModel models/weapons2/thermal/thermal_proj.md3
altmissileModel models/weapons2/thermal/thermal_proj.md3
barrelcount 0
chargesound sound/weapons/thermal/charge.wav
chargeforce fffx/weapons/thermal/charge
altchargesound sound/weapons/thermal/charge.wav
altchargeforce fffx/weapons/thermal/charge
selectSound sound/weapons/thermal/select.wav
selectforce fffx/weapons/thermal/select
muzzleEffect thermal/muzzle_flash
}
// WP_TRIP_MINE
{
weapontype WP_TRIP_MINE
weaponclass weapon_trip_mine
weaponmodel models/weapons2/laser_trap/laser_trap.md3
weaponIcon gfx/hud/w_icon_tripmine
ammotype 8
ammolowcount 1
energypershot 1
firetime 800
range 8192
altenergypershot 1
altfiretime 400
altrange 8192
missileModel models/weapons2/laser_trap/laser_trap_w.glm
altmissileModel models/weapons2/laser_trap/laser_trap_w.glm
selectSound sound/weapons/detpack/select.wav
selectforce fffx/weapons/detpack/select
muzzleEffect tripmine/muzzle_flash
}
// WP_DET_PACK
{
weapontype WP_DET_PACK
weaponclass weapon_det_pack
weaponmodel models/weapons2/detpack/det_pack.md3
weaponIcon gfx/hud/w_icon_detpack
ammotype 9
ammolowcount 1
energypershot 1
firetime 800
range 8192
altenergypershot 0
altfiretime 400
altrange 8192
missileModel models/weapons2/detpack/det_pack_proj.glm
selectSound sound/weapons/detpack/select.wav
selectforce fffx/weapons/detpack/select
muzzleEffect detpack/muzzle_flash
}
// WP_EMPLACED_GUN
{
weapontype WP_EMPLACED_GUN
weaponclass weapon_emplaced_gun
weaponmodel models/weapons2/noweap/noweap.md3
altenergypershot 1
altrange 8192
missileFuncName emplaced_func
altmissileFuncName emplaced_func
ammotype 6
ammolowcount 15
energypershot 1
firetime 150
altfiretime 150
range 8192
muzzleEffect emplaced/muzzle_flash
muzzleEffect eweb/muzzle_flash
}
// WP_BOT_LASER
{
weapontype WP_BOT_LASER
weaponclass weapon_bryar_pistol
weaponmodel models/weapons2/noweap/noweap.md3
//flashsound sound/weapons/probe/fire.wav
//altflashsound sound/weapons/probe/alt_fire.wav
altenergypershot 0
altrange 8192
missileFuncName bryar_func
ammotype 1
ammolowcount 15
energypershot 2
firetime 1600
range 8192
}
// WP_MELEE
{
weapontype WP_MELEE
weaponclass weapon_melee
weaponmodel models/weapons2/noweap/noweap.md3
weaponIcon gfx/hud/w_icon_melee
ammotype 3
ammolowcount 5
energypershot 0
firetime 1000
range 1024
}
// WP_ATST_MAIN
{
weapontype WP_ATST_MAIN
weaponclass weapon_atst_main
weaponmodel models/weapons2/noweap/noweap.md3
weaponIcon gfx/hud/w_icon_atst
//flashsound sound/weapons/atst/ATSTfire1.wav
//altflashsound sound/weapons/atst/ATSTfire2.wav
altenergypershot 1
altrange 8192
missileFuncName atstmain_func
altmissileFuncName atstmain_func
ammotype 6
ammolowcount 15
energypershot 1
firetime 200
altfiretime 150
range 8192
muzzleEffect emplaced/muzzle_flash
}
// WP_ATST_SIDE
{
weapontype WP_ATST_SIDE
weaponclass weapon_atst_side
weaponmodel models/weapons2/noweap/noweap.md3
weaponIcon gfx/hud/w_icon_atstside
altenergypershot 1
altrange 8192
altmissileModel models/weapons2/merr_sonn/projectile.md3
missileFuncName atst_side_main_func
altmissileFuncName atst_side_alt_func
muzzleEffect emplaced/muzzle_flash
altmuzzleEffect emplaced/muzzle_flash
ammotype 6
ammolowcount 15
energypershot 1
firetime 400
altfiretime 1000
range 8192
}
// WP_TIE_FIGHTER
{
weapontype WP_TIE_FIGHTER
weaponclass weapon_tie_fighter
weaponmodel models/weapons2/noweap/noweap.md3
altenergypershot 1
altrange 8192
missileFuncName emplaced_func
altmissileFuncName emplaced_func
ammotype 6
ammolowcount 15
energypershot 1
firetime 400
altfiretime 400
range 8192
muzzleEffect emplaced/muzzle_flash
}
// WP_RAPID_FIRE_CONC
{
weapontype WP_RAPID_FIRE_CONC
weaponclass weapon_radid_concussion
weaponmodel models/weapons2/noweap/noweap.md3
altenergypershot 1
altrange 8192
missileFuncName emplaced_func
altmissileFuncName repeater_alt_func
ammotype 6
ammolowcount 15
energypershot 1
firetime 400
altfiretime 1000
range 8192
muzzleEffect emplaced/muzzle_flash
}
// WP_BLASTER_PISTOL
{
weapontype WP_BLASTER_PISTOL
weaponclass weapon_blaster_pistol
weaponmodel models/weapons2/blaster_pistol/blaster_pistol.md3
weaponIcon gfx/hud/w_icon_blaster_pistol
missileFuncName bryar_func
altmissileFuncName bryar_alt_func
ammotype 2
ammolowcount 15
energypershot 1
firetime 400
range 8192
altenergypershot 1
altfiretime 400
altrange 8192
muzzleEffect bryar/muzzle_flash
altmuzzleEffect bryar/altmuzzle_flash
altchargesound sound/weapons/bryar/altcharge.wav
selectSound sound/weapons/bryar/select.wav
selectforce fffx/weapons/bryar/select
}
// WP_TURRET
{
weapontype WP_TURRET
weaponclass weapon_turret
weaponmodel models/weapons2/noweap/noweap.md3
altenergypershot 1
altrange 8192
missileFuncName turret_func
ammotype 6
ammolowcount 15
energypershot 1
firetime 400
altfiretime 400
range 8192
muzzleEffect turret/muzzle_flash
}
// WP_JAWA
{
weapontype WP_JAWA
weaponclass weapon_jawa
weaponmodel models/weapons2/jawa/jawa_gun.md3
missileFuncName bryar_func
altmissileFuncName bryar_alt_func
ammotype 2
ammolowcount 15
energypershot 2
firetime 400
range 8192
altenergypershot 2
altfiretime 400
altrange 8192
muzzleEffect bryar/muzzle_flash
}
// WP_TUSKEN_RIFLE
{
weapontype WP_TUSKEN_RIFLE
weaponclass weapon_tusken_rifle
weaponmodel models/weapons2/tusken_rifle/tusken_rifle.md3
ammotype 3
ammolowcount 15
firetime 1000
energypershot 3
firetime 600
missileFuncName tusk_shot_func
missileLight 50
missileLightColor 1.0 0.75 0.25
muzzleEffect tusken/muzzle_flash
altenergypershot 3
altfiretime 1000
altmissileFuncName tusk_shot_func
altmissileLight 50
altmissileLightColor 1.0 0.75 0.25
altmuzzleEffect tusken/muzzle_flash
selectSound sound/weapons/disruptor/select.wav
selectforce fffx/weapons/disruptor/select
}
// WP_TUSKEN_STAFF
{
weapontype WP_TUSKEN_STAFF
weaponclass weapon_tusken_staff
weaponmodel models/weapons2/tusken_staff/tusken_staff.md3
ammotype 3
ammolowcount 5
energypershot 0
firetime 1000
range 1024
}
//WP_SCEPTER
{
weapontype WP_SCEPTER
weaponclass weapon_scepter
weaponmodel models/weapons2/sith_scepter/sith_scepter.md3
ammotype 3
ammolowcount 5
energypershot 0
firetime 1000
range 1024
}
//WP_NOGHRI_STICK
{
weapontype WP_NOGHRI_STICK
weaponclass weapon_noghri_stick
weaponmodel models/weapons2/noghri_stick/noghri_stick.md3
ammotype 3
ammolowcount 5
energypershot 1
firetime 600
missileFuncName noghri_shot_func
muzzleEffect noghri_stick/muzzle_flash
}
// AMMO_NONE
{
AMMO AMMO_NONE
AMMOMAX 0
}
// AMMO_FORCE
{
AMMO AMMO_FORCE
AMMOMAX 100
}
// AMMO_BLASTER
{
AMMO AMMO_BLASTER
AMMOMAX 300
}
// AMMO_POWERCELL
{
AMMO AMMO_POWERCELL
AMMOMAX 300
}
// AMMO_METAL_BOLTS
{
AMMO AMMO_METAL_BOLTS
AMMOMAX 400
}
// AMMO_ROCKETS
{
AMMO AMMO_ROCKETS
AMMOMAX 10
}
// AMMO_EMPLACED
{
AMMO AMMO_EMPLACED
AMMOMAX 999
}
// AMMO_THERMAL
{
AMMO AMMO_THERMAL
AMMOMAX 10
}
// AMMO_TRIPMINE
{
AMMO AMMO_TRIPMINE
AMMOMAX 5
}
// AMMO_DETPACK
{
AMMO AMMO_DETPACK
AMMOMAX 5
}