X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fvehicles%2Fvehicle%2Fbumblebee_weapons.qc;h=5f4068a7d281ff3269d4cef825fbb3d333ed5765;hp=26a6ddd13c9eb8a7f429dd95be989c1bde461796;hb=d01c567581179df7cc68bcdc8dce58efad911bc4;hpb=42a9e3d7ece2c716e5cd6899e90841acb7fb891b diff --git a/qcsrc/common/vehicles/vehicle/bumblebee_weapons.qc b/qcsrc/common/vehicles/vehicle/bumblebee_weapons.qc index 26a6ddd13..5f4068a7d 100644 --- a/qcsrc/common/vehicles/vehicle/bumblebee_weapons.qc +++ b/qcsrc/common/vehicles/vehicle/bumblebee_weapons.qc @@ -1,7 +1,5 @@ #include "bumblebee_weapons.qh" -#ifdef IMPLEMENTATION - REGISTER_NET_LINKED(ENT_CLIENT_BUMBLE_RAYGUN) #ifdef SVQC @@ -22,23 +20,19 @@ bool bumble_raygun_send(entity this, entity to, float sf) WriteByte(MSG_ENTITY, sf); if(sf & BRG_SETUP) { - WriteByte(MSG_ENTITY, etof(self.realowner)); - WriteByte(MSG_ENTITY, self.realowner.team); - WriteByte(MSG_ENTITY, self.cnt); + WriteByte(MSG_ENTITY, etof(this.realowner)); + WriteByte(MSG_ENTITY, this.realowner.team); + WriteByte(MSG_ENTITY, this.cnt); } if(sf & BRG_START) { - WriteCoord(MSG_ENTITY, self.hook_start_x); - WriteCoord(MSG_ENTITY, self.hook_start_y); - WriteCoord(MSG_ENTITY, self.hook_start_z); + WriteVector(MSG_ENTITY, this.hook_start); } if(sf & BRG_END) { - WriteCoord(MSG_ENTITY, self.hook_end_x); - WriteCoord(MSG_ENTITY, self.hook_end_y); - WriteCoord(MSG_ENTITY, self.hook_end_z); + WriteVector(MSG_ENTITY, this.hook_end); } return true; @@ -50,6 +44,8 @@ bool bumble_raygun_send(entity this, entity to, float sf) void bumble_raygun_draw(entity this); +.vector bumble_origin; + NET_HANDLE(ENT_CLIENT_BUMBLE_RAYGUN, bool isnew) { int sf = ReadByte(); @@ -58,9 +54,9 @@ NET_HANDLE(ENT_CLIENT_BUMBLE_RAYGUN, bool isnew) { this.cnt = ReadByte(); this.team = ReadByte(); - this.cnt = ReadByte(); + this.count = ReadByte(); - if(this.cnt) + if(this.count) this.colormod = '1 0 0'; else this.colormod = '0 1 0'; @@ -69,22 +65,19 @@ NET_HANDLE(ENT_CLIENT_BUMBLE_RAYGUN, bool isnew) this.lip = particleeffectnum(EFFECT_BUMBLEBEE_HEAL_IMPACT); this.draw = bumble_raygun_draw; + if (isnew) IL_PUSH(g_drawables, this); } if(sf & BRG_START) { - this.origin_x = ReadCoord(); - this.origin_y = ReadCoord(); - this.origin_z = ReadCoord(); + this.origin = ReadVector(); setorigin(this, this.origin); } if(sf & BRG_END) { - this.move_origin_x = ReadCoord(); - this.move_origin_y = ReadCoord(); - this.move_origin_z = ReadCoord(); + this.bumble_origin = ReadVector(); } return true; } @@ -96,13 +89,13 @@ void bumble_raygun_draw(entity this) vector _dir; vector _vtmp1, _vtmp2; - _len = vlen(this.origin - this.move_origin); - _dir = normalize(this.move_origin - this.origin); + _len = vlen(this.origin - this.bumble_origin); + _dir = normalize(this.bumble_origin - this.origin); if(this.bumble_raygun_nextdraw < time) { boxparticles(particleeffectnum(Effects_from(this.traileffect)), this, this.origin, this.origin + _dir * -64, _dir * -_len , _dir * -_len, 1, PARTICLES_USEALPHA); - boxparticles(this.lip, this, this.move_origin, this.move_origin + _dir * -64, _dir * -200 , _dir * -200, 1, PARTICLES_USEALPHA); + boxparticles(this.lip, this, this.bumble_origin, this.bumble_origin + _dir * -64, _dir * -200 , _dir * -200, 1, PARTICLES_USEALPHA); this.bumble_raygun_nextdraw = time + 0.1; } @@ -124,10 +117,8 @@ void bumble_raygun_draw(entity this) _vtmp1 += randomvec() * (_len * 0.2) * (frametime * 10); //this.raygun_l3; Draw_CylindricLine(_vtmp2, _vtmp1, sz, "gfx/colors/white.tga", 1, 1, this.colormod, al, df, view_origin); - Draw_CylindricLine(_vtmp1, this.move_origin + randomvec() * 32, sz, "gfx/colors/white.tga", 1, 1, this.colormod, al, df, view_origin); + Draw_CylindricLine(_vtmp1, this.bumble_origin + randomvec() * 32, sz, "gfx/colors/white.tga", 1, 1, this.colormod, al, df, view_origin); } } #endif - -#endif