summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/bg_misc.c2
-rw-r--r--src/game/bg_pmove.c6
-rw-r--r--src/game/bg_public.h2
-rw-r--r--src/game/g_missile.c3
4 files changed, 11 insertions, 2 deletions
diff --git a/src/game/bg_misc.c b/src/game/bg_misc.c
index 45f6281f..1686f172 100644
--- a/src/game/bg_misc.c
+++ b/src/game/bg_misc.c
@@ -5079,7 +5079,7 @@ void BG_PlayerStateToEntityState( playerState_t *ps, entityState_t *s, qboolean
if( s->generic1 <= WPM_NONE || s->generic1 >= WPM_NUM_WEAPONMODES )
s->generic1 = WPM_PRIMARY;
- s->otherEntityNum = ps->otherEntityNum;
+ s->otherEntityNum = ps->otherEntityNum;
}
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c
index 45cf89e0..3f44debd 100644
--- a/src/game/bg_pmove.c
+++ b/src/game/bg_pmove.c
@@ -2783,6 +2783,12 @@ static void PM_Weapon( void )
qboolean attack2 = qfalse;
qboolean attack3 = qfalse;
+ // Set overcharging flag so other players can hear warning
+ pm->ps->eFlags &= ~EF_WARN_CHARGE;
+ if( pm->ps->weapon == WP_LUCIFER_CANNON &&
+ pm->ps->stats[ STAT_MISC ] > LCANNON_TOTAL_CHARGE * 2 / 3 )
+ pm->ps->eFlags |= EF_WARN_CHARGE;
+
// don't allow attack until all buttons are up
if( pm->ps->pm_flags & PMF_RESPAWNED )
return;
diff --git a/src/game/bg_public.h b/src/game/bg_public.h
index 572430fc..ecc284e3 100644
--- a/src/game/bg_public.h
+++ b/src/game/bg_public.h
@@ -294,7 +294,7 @@ typedef enum
#define EF_VOTED 0x00008000 // already cast a vote
#define EF_TEAMVOTED 0x00010000 // already cast a vote
#define EF_BLOBLOCKED 0x00020000 // caught by a trapper
-#define EF_REAL_LIGHT 0x00040000 // light sprites according to ambient light
+#define EF_WARN_CHARGE 0x00040000 // Lucifer Cannon is about to overcharge
typedef enum
{
diff --git a/src/game/g_missile.c b/src/game/g_missile.c
index 373bf390..2991ec48 100644
--- a/src/game/g_missile.c
+++ b/src/game/g_missile.c
@@ -465,6 +465,9 @@ gentity_t *fire_luciferCannon( gentity_t *self, vec3_t start, vec3_t dir,
bolt->splashMethodOfDeath = MOD_LCANNON_SPLASH;
bolt->clipmask = MASK_SHOT;
bolt->target_ent = NULL;
+
+ // Pass the missile charge through
+ bolt->s.torsoAnim = damage;
bolt->s.pos.trType = TR_LINEAR;
bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame