summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/models/weapons/flamer/weapon.cfg15
-rw-r--r--src/game/bg_misc.c10
-rw-r--r--src/game/bg_pmove.c85
-rw-r--r--src/game/g_missile.c2
-rw-r--r--src/game/g_weapon.c31
-rw-r--r--src/game/tremulous.h7
6 files changed, 9 insertions, 141 deletions
diff --git a/assets/models/weapons/flamer/weapon.cfg b/assets/models/weapons/flamer/weapon.cfg
index c4cb053..1cc11c8 100644
--- a/assets/models/weapons/flamer/weapon.cfg
+++ b/assets/models/weapons/flamer/weapon.cfg
@@ -6,21 +6,6 @@ crosshair 64 gfx/2d/crosshair-flamer_s
primary
{
missileSound models/weapons/flamer/fireloop.wav
- missileSprite 50 gfx/flamer/primarycharge
- missileParticleSystem models/weapons/flamer/pMissilePS
- missileTrailSystem models/weapons/flamer/missileTS
- flashDlightColor 0.25 0.1 0.0
- missileDlightColor 0.25 0.1 0.0
- missileDlight 250
- impactMark 100 gfx/marks/burn_mrk
- impactParticleSystem models/weapons/flamer/impactbigPS
- impactSound 0 models/weapons/flamer/fireball_ye.wav
-
-}
-
-secondary
-{
- missileSound models/weapons/flamer/fireloop.wav
flashDlightColor 0.25 0.1 0.0
continuousFlash
diff --git a/src/game/bg_misc.c b/src/game/bg_misc.c
index 8a993aa..0780ab8 100644
--- a/src/game/bg_misc.c
+++ b/src/game/bg_misc.c
@@ -3336,12 +3336,12 @@ static const weaponAttributes_t bg_weapons[ ] =
qfalse, //int infiniteAmmo;
qfalse, //int usesEnergy;
FLAMER_REPEAT, //int repeatRate1;
- FLAMER_SECONDARY_REPEAT, //int repeatRate2;
- FLAMER_REPEAT, //int repeatRate3;
+ 0, //int repeatRate2;
+ 0, //int repeatRate3;
3000, //int reloadTime;
FLAMER_K_SCALE, //float knockbackScale;
- qtrue, //qboolean hasAltMode;
- qtrue, //qboolean hasThirdMode;
+ qfalse, //qboolean hasAltMode;
+ qfalse, //qboolean hasThirdMode;
qfalse, //qboolean canZoom;
90.0f, //float zoomFov;
qtrue, //qboolean purchasable;
@@ -4646,7 +4646,7 @@ BG_PlayerCanChangeWeapon
qboolean BG_PlayerCanChangeWeapon( playerState_t *ps )
{
// Do not allow Lucifer Cannon "canceling" via weapon switch
- if( (ps->weapon == WP_LUCIFER_CANNON || ps->weapon == WP_FLAMER) &&
+ if( ps->weapon == WP_LUCIFER_CANNON &&
ps->stats[ STAT_MISC ] > LCANNON_CHARGE_TIME_MIN )
return qfalse;
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c
index 16132c3..3b36d9e 100644
--- a/src/game/bg_pmove.c
+++ b/src/game/bg_pmove.c
@@ -2872,7 +2872,7 @@ static void PM_BeginWeaponChange( int weapon )
pm->ps->weaponTime = 0;
//special case to prevent storing a charged up lcannon
- if( (pm->ps->weapon == WP_LUCIFER_CANNON || pm->ps->weapon == WP_FLAMER ) )
+ if( pm->ps->weapon == WP_LUCIFER_CANNON )
pm->ps->stats[ STAT_MISC ] = 0;
pm->ps->weaponstate = WEAPON_DROPPING;
@@ -3108,30 +3108,6 @@ static void PM_Weapon( void )
if( pm->ps->pm_flags & PMF_RESPAWNED )
return;
-
-
- // Charging up a flamer
- if( pm->ps->weapon == WP_FLAMER )
- {
- if( !pm->ps->weaponTime && pm->ps->weaponstate != WEAPON_NEEDS_RESET && ( pm->cmd.buttons & BUTTON_ATTACK ) )
- {
- pm->ps->stats[ STAT_MISC ] += pml.msec;
- if( pm->ps->stats[ STAT_MISC ] >= FLAMER_CHARGE_TIME_MAX )
- pm->ps->stats[ STAT_MISC ] = FLAMER_CHARGE_TIME_MAX;
- if( pm->ps->stats[ STAT_MISC ] > pm->ps->ammo * FLAMER_CHARGE_TIME_MAX /
- FLAMER_CHARGE_AMMO )
- pm->ps->stats[ STAT_MISC ] = pm->ps->ammo * FLAMER_CHARGE_TIME_MAX /
- FLAMER_CHARGE_AMMO;
- }
- // Set overcharging flag so other players can hear the warning beep
- if( pm->ps->stats[ STAT_MISC ] > LCANNON_CHARGE_TIME_WARN )
- pm->ps->eFlags |= EF_WARN_CHARGE;
- }
-
- // don't allow attack until all buttons are up
- if( pm->ps->pm_flags & PMF_RESPAWNED )
- return;
-
// pump weapon delays (repeat times etc)
if( pm->ps->weaponTime > 0 )
pm->ps->weaponTime -= pml.msec;
@@ -3287,59 +3263,6 @@ static void PM_Weapon( void )
return;
break;
- case WP_FLAMER:
- attack3 = qfalse;
-
- // Prevent firing of the Lucifer Cannon after an overcharge
- if( pm->ps->weaponstate == WEAPON_NEEDS_RESET )
- {
- if( attack1 )
- return;
- pm->ps->weaponstate = WEAPON_READY;
- }
-
- // Can't fire secondary while primary is charging
- if( attack1 || pm->ps->stats[ STAT_MISC ] > 0 )
- attack2 = qfalse;
-
- if( ( attack1 || pm->ps->stats[ STAT_MISC ] == 0 ) && !attack2 )
- {
- pm->ps->weaponTime = 0;
-
- // Charging
- if( pm->ps->stats[ STAT_MISC ] < FLAMER_CHARGE_TIME_MAX )
- {
- pm->ps->weaponstate = WEAPON_READY;
- return;
- }
-
- // Overcharge
- pm->ps->weaponstate = WEAPON_NEEDS_RESET;
- }
-
- if( pm->ps->stats[ STAT_MISC ] > FLAMER_CHARGE_TIME_MIN )
- {
- // Fire primary attack
- attack1 = qtrue;
- attack2 = qfalse;
- }
- else if( pm->ps->stats[ STAT_MISC ] > 0 )
- {
- // Not enough charge
- pm->ps->stats[ STAT_MISC ] = 0;
- pm->ps->weaponTime = 0;
- pm->ps->weaponstate = WEAPON_READY;
- return;
- }
- else if( !attack2 )
- {
- // Idle
- pm->ps->weaponTime = 0;
- pm->ps->weaponstate = WEAPON_READY;
- return;
- }
- break;
-
case WP_LUCIFER_CANNON:
attack3 = qfalse;
@@ -3625,12 +3548,6 @@ static void PM_Weapon( void )
LCANNON_CHARGE_TIME_MAX - 1 ) / LCANNON_CHARGE_TIME_MAX;
} else pm->ps->ammo--;
break;
- case WP_FLAMER:
- if( attack1 && !attack2 ) {
- pm->ps->ammo -= ( pm->ps->stats[ STAT_MISC ] * FLAMER_CHARGE_AMMO +
- FLAMER_CHARGE_TIME_MAX - 1 ) / FLAMER_CHARGE_TIME_MAX;
- } else pm->ps->ammo--;
- break;
case WP_LAS_GUN:
if( attack2 ) {
pm->ps->ammo -= 25;
diff --git a/src/game/g_missile.c b/src/game/g_missile.c
index 4bdd43f..164f49f 100644
--- a/src/game/g_missile.c
+++ b/src/game/g_missile.c
@@ -571,7 +571,7 @@ gentity_t *FlameTurretFireNormal( gentity_t *self, vec3_t start, vec3_t dir )
bolt = G_Spawn( );
bolt->classname = "mgturret2";
bolt->pointAgainstWorld = qfalse;
- bolt->nextthink = level.time + FLAMER2_LIFETIME;
+ bolt->nextthink = level.time + 350;
bolt->think = G_ExplodeMissile;
bolt->s.eType = ET_MISSILE;
bolt->r.svFlags = SVF_USE_CURRENT_ORIGIN;
diff --git a/src/game/g_weapon.c b/src/game/g_weapon.c
index 705678d..586af40 100644
--- a/src/game/g_weapon.c
+++ b/src/game/g_weapon.c
@@ -585,31 +585,6 @@ void prifleStasisFire( gentity_t *ent )
fire_prifle_stasis( ent, muzzle, forward );
}
-
-/*
-===============
-FLAME THROWER
-Napalm Charge
-===============
-*/
-void NapalmFire( gentity_t *ent, qboolean secondary )
-{
- int damage;
-
- damage = ent->client->ps.stats[ STAT_MISC ] *
- LCANNON_DAMAGE / LCANNON_CHARGE_TIME_MAX;
-
- G_CombatStats_Fire( ent, CSW_FLAMER, damage );
-
- NapalmChargeFire( ent, muzzle, forward,
- damage, LCANNON_RADIUS, LCANNON_SPEED );
-
- NapalmChargeImp( ent, muzzle, forward,
- damage, LCANNON_RADIUS, LCANNON_SPEED );
-
- ent->client->ps.stats[ STAT_MISC ] = 0;
-}
-
/*
===============
FLAME THROWER
@@ -1747,10 +1722,6 @@ void FireWeapon2( gentity_t *ent )
case WP_CHAINGUN:
bulletFire( ent, CHAINGUN_SPREAD2, CHAINGUN_DMG2, MOD_CHAINGUN );
break;
-
- case WP_FLAMER:
- FlamerNormal( ent );
- break;
case WP_LAS_GUN:
lasGunFire2( ent );
@@ -1832,7 +1803,7 @@ void FireWeapon( gentity_t *ent )
bulletFire( ent, CHAINGUN_SPREAD, CHAINGUN_DMG, MOD_CHAINGUN );
break;
case WP_FLAMER:
- NapalmFire( ent, qfalse );
+ FlamerNormal( ent );
break;
case WP_PULSE_RIFLE:
pulseRifleFire( ent );
diff --git a/src/game/tremulous.h b/src/game/tremulous.h
index 6d48530..99ec143 100644
--- a/src/game/tremulous.h
+++ b/src/game/tremulous.h
@@ -427,7 +427,7 @@ TREMULOUS EDGE MOD SRC FILE
#define FLAMER_PRICE 550
#define FLAMER_GAS 200
-#define FLAMER_REPEAT 150
+#define FLAMER_REPEAT 200
#define FLAMER_K_SCALE 2.0f
#define FLAMER_DMG HDM(20) // DPS: 133.33
#define FLAMER_SPLASHDAMAGE HDM(12)
@@ -437,11 +437,6 @@ TREMULOUS EDGE MOD SRC FILE
#define FLAMER_LIFETIME2 600.0f
#define FLAMER_SPEED 550.0f
#define FLAMER_LAG 0.65f // the amount of player velocity that is added to the fireball
-#define FLAMER2_LIFETIME 350.0f
-#define FLAMER_CHARGE_TIME_MIN 200
-#define FLAMER_CHARGE_TIME_MAX 3000
-#define FLAMER_CHARGE_AMMO 50 // ammo cost of a full charge shot
-#define FLAMER_SECONDARY_REPEAT 200
#define PRIFLE_PRICE 450
#define PRIFLE_CLIPS 40