X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fvehicles%2Fvehicle%2Fbumblebee_weapons.qc;h=0afd31f8c77e00d6bdc7b349efdbc15837d0d6e6;hb=717defe5e02506bb5c857025d71fb605d6eb8c55;hp=d5a7bcedf669a8a8aebcf3173de98f1816abe7f3;hpb=12354d764a576f55a290ba11d9f34ccf4e3930d0;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/vehicles/vehicle/bumblebee_weapons.qc b/qcsrc/common/vehicles/vehicle/bumblebee_weapons.qc index d5a7bcedf..0afd31f8c 100644 --- a/qcsrc/common/vehicles/vehicle/bumblebee_weapons.qc +++ b/qcsrc/common/vehicles/vehicle/bumblebee_weapons.qc @@ -1,15 +1,15 @@ #include "bumblebee_weapons.qh" -#ifdef IMPLEMENTATION - +#ifdef GAMEQC REGISTER_NET_LINKED(ENT_CLIENT_BUMBLE_RAYGUN) +#endif #ifdef SVQC void bumblebee_fire_cannon(entity this, entity _gun, string _tagname, entity _owner) { vector v = gettaginfo(_gun, gettagindex(_gun, _tagname)); - vehicles_projectile(this, EFFECT_BIGPLASMA_MUZZLEFLASH.eent_eff_name, SND_VEH_BUMBLEBEE_FIRE, + vehicles_projectile(this, EFFECT_BIGPLASMA_MUZZLEFLASH, SND_VEH_BUMBLEBEE_FIRE, v, normalize(v_forward + randomvec() * autocvar_g_vehicle_bumblebee_cannon_spread) * autocvar_g_vehicle_bumblebee_cannon_speed, autocvar_g_vehicle_bumblebee_cannon_damage, autocvar_g_vehicle_bumblebee_cannon_radius, autocvar_g_vehicle_bumblebee_cannon_force, 0, DEATH_VH_BUMB_GUN.m_id, PROJECTILE_BUMBLE_GUN, 0, true, true, _owner); @@ -29,16 +29,12 @@ bool bumble_raygun_send(entity this, entity to, float sf) if(sf & BRG_START) { - WriteCoord(MSG_ENTITY, this.hook_start_x); - WriteCoord(MSG_ENTITY, this.hook_start_y); - WriteCoord(MSG_ENTITY, this.hook_start_z); + WriteVector(MSG_ENTITY, this.hook_start); } if(sf & BRG_END) { - WriteCoord(MSG_ENTITY, this.hook_end_x); - WriteCoord(MSG_ENTITY, this.hook_end_y); - WriteCoord(MSG_ENTITY, this.hook_end_z); + WriteVector(MSG_ENTITY, this.hook_end); } return true; @@ -60,9 +56,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'; @@ -71,22 +67,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.bumble_origin_x = ReadCoord(); - this.bumble_origin_y = ReadCoord(); - this.bumble_origin_z = ReadCoord(); + this.bumble_origin = ReadVector(); } return true; } @@ -103,7 +96,8 @@ void bumble_raygun_draw(entity this) 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); + entity eff = REGISTRY_GET(Effects, this.traileffect); + boxparticles(particleeffectnum(eff), this, this.origin, this.origin + _dir * -64, _dir * -_len , _dir * -_len, 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; } @@ -131,5 +125,3 @@ void bumble_raygun_draw(entity this) } #endif - -#endif