X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fg_hook.qc;h=99bd819495bd9949394e05f2cc34c95e4d361b8e;hp=87d7e0e529c986f340043a59ee732890de1b7ce0;hb=e9f30b97435c6afe3d6911f21e1f4fd1b97e93da;hpb=267433aa7d5dd80399b808f692b8bc1ef75f0851 diff --git a/qcsrc/server/g_hook.qc b/qcsrc/server/g_hook.qc index 87d7e0e52..99bd81949 100644 --- a/qcsrc/server/g_hook.qc +++ b/qcsrc/server/g_hook.qc @@ -1,7 +1,7 @@ #include "g_hook.qh" -#include "_all.qh" #include "weapons/common.qh" +#include "weapons/csqcprojectile.qh" #include "weapons/weaponsystem.qh" #include "weapons/selection.qh" #include "weapons/tracing.qh" @@ -12,8 +12,10 @@ #include "../common/constants.qh" #include "../common/util.qh" #include "../common/weapons/all.qh" -#include "../warpzonelib/common.qh" -#include "../warpzonelib/server.qh" +#include "../lib/warpzone/common.qh" +#include "../lib/warpzone/server.qh" + +.int state; /*============================================ @@ -78,7 +80,7 @@ void RemoveGrapplingHook(entity pl) //pl.disableclientprediction = false; } -void GrapplingHookReset(void) +void GrapplingHookReset() {SELFPARAM(); if(self.realowner.hook == self) RemoveGrapplingHook(self.owner); @@ -102,9 +104,9 @@ void GrapplingHook_Stop() } .vector hook_start, hook_end; -float GrapplingHookSend(entity to, int sf) -{SELFPARAM(); - WriteByte(MSG_ENTITY, ENT_CLIENT_HOOK); +bool GrapplingHookSend(entity this, entity to, int sf) +{ + WriteHeader(MSG_ENTITY, ENT_CLIENT_HOOK); sf = sf & 0x7F; if(sound_allowed(MSG_BROADCAST, self.realowner)) sf |= 0x80; @@ -149,10 +151,7 @@ void GrapplingHookThink() self.nextthink = time; - int s = self.realowner.cvar_cl_gunalign; - if(s != 1 && s != 2 && s != 4) - s = 3; // default value - --s; + int s = W_GetGunAlignment(self.realowner); vs = hook_shotorigin[s]; makevectors(self.realowner.v_angle); @@ -300,7 +299,7 @@ void GrapplingHookThink() } } -void GrapplingHookTouch (void) +void GrapplingHookTouch () {SELFPARAM(); if(other.movetype == MOVETYPE_FOLLOW) return; @@ -340,7 +339,7 @@ void GrapplingHook_Damage (entity inflictor, entity attacker, float damage, int } } -void FireGrapplingHook (void) +void FireGrapplingHook () {SELFPARAM(); entity missile; vector org; @@ -351,10 +350,7 @@ void FireGrapplingHook (void) makevectors(self.v_angle); - int s = self.cvar_cl_gunalign; - if(s != 1 && s != 2 && s != 4) - s = 3; // default value - --s; + int s = W_GetGunAlignment(self); vs = hook_shotorigin[s]; // UGLY WORKAROUND: play this on CH_WEAPON_B so it can't cut off fire sounds