diff options
Diffstat (limited to 'src/game')
-rw-r--r-- | src/game/bg_misc.c | 2 | ||||
-rw-r--r-- | src/game/bg_pmove.c | 6 | ||||
-rw-r--r-- | src/game/bg_public.h | 2 | ||||
-rw-r--r-- | src/game/g_missile.c | 3 |
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 |