From: Mario Date: Mon, 6 Jan 2020 19:14:35 +0000 (+1000) Subject: Fix off-hand grappling hook firing from the center of the screen X-Git-Tag: xonotic-v0.8.5~1105^2~40 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=71d3b262bf4f927895293a553ef618b5d8a4ca08;p=xonotic%2Fxonotic-data.pk3dir.git Fix off-hand grappling hook firing from the center of the screen --- diff --git a/qcsrc/server/g_hook.qc b/qcsrc/server/g_hook.qc index b2b91bc02..aa970f4be 100644 --- a/qcsrc/server/g_hook.qc +++ b/qcsrc/server/g_hook.qc @@ -359,9 +359,13 @@ void FireGrapplingHook(entity actor, .entity weaponentity) if(weaponLocked(actor)) return; if(actor.vehicle) return; - // TODO: offhand hook shoots from eye + int s = W_GunAlign(actor.(weaponentity), STAT(GUNALIGN, actor)) - 1; + vector vs = hook_shotorigin[s]; + vector oldmovedir = actor.(weaponentity).movedir; + actor.(weaponentity).movedir = vs; W_SetupShot_ProjectileSize(actor, weaponentity, '-3 -3 -3', '3 3 3', true, 0, SND_HOOK_FIRE, CH_WEAPON_B, 0, WEP_HOOK.m_id); Send_Effect(EFFECT_HOOK_MUZZLEFLASH, w_shotorg, '0 0 0', 1); + actor.(weaponentity).movedir = oldmovedir; entity missile = WarpZone_RefSys_SpawnSameRefSys(actor); missile.owner = missile.realowner = actor;