summaryrefslogtreecommitdiff
path: root/src/game/g_weapon.c
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2020-03-29 15:03:13 +0200
committerPaweł Redman <pawel.redman@gmail.com>2020-03-29 15:03:13 +0200
commit10e9899d3fb4f136e24193d08c55d0b11cef8c37 (patch)
tree2bf02be46bedc09d1903dd92828dc46c94bb5f44 /src/game/g_weapon.c
parente0576e7091644b98630ef4ad0cdcf93637f84055 (diff)
Mess everything up
Diffstat (limited to 'src/game/g_weapon.c')
-rw-r--r--src/game/g_weapon.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/game/g_weapon.c b/src/game/g_weapon.c
index e50594a..90e474e 100644
--- a/src/game/g_weapon.c
+++ b/src/game/g_weapon.c
@@ -464,6 +464,25 @@ HIVE
void hiveFire( gentity_t *ent )
{
+ trace_t tr;
+ vec3_t end;
+ gentity_t *traceEnt;
+
+ if( !ent->target_ent )
+ {
+ VectorMA( muzzle, 8192 * 16, forward, end );
+
+ G_UnlaggedOn( ent, muzzle, 8192 * 16 );
+ trap_Trace( &tr, muzzle, NULL, NULL, end, ent->s.number, MASK_SHOT );
+ G_UnlaggedOff( );
+
+ traceEnt = g_entities + tr.entityNum;
+ if( !traceEnt->takedamage )
+ return;
+
+ ent->target_ent = traceEnt;
+ }
+
fire_hive( ent, muzzle, forward );
}