-#ifndef VEHICLE_BUMBLEBEE_WEAPONS_H
-#define VEHICLE_BUMBLEBEE_WEAPONS_H
-
-#include <common/weapons/all.qh>
-
-#endif
+#include "bumblebee_weapons.qh"
#ifdef IMPLEMENTATION
#ifdef SVQC
-float autocvar_g_vehicle_bumblebee_cannon_cost = 2;
-float autocvar_g_vehicle_bumblebee_cannon_damage = 60;
-float autocvar_g_vehicle_bumblebee_cannon_radius = 225;
-float autocvar_g_vehicle_bumblebee_cannon_refire = 0.2;
-float autocvar_g_vehicle_bumblebee_cannon_speed = 20000;
-float autocvar_g_vehicle_bumblebee_cannon_spread = 0.02;
-float autocvar_g_vehicle_bumblebee_cannon_force = -35;
-
-bool bumble_raygun_send(entity this, entity to, int sf);
-
-void bumblebee_fire_cannon(entity _gun, string _tagname, entity _owner)
+void bumblebee_fire_cannon(entity this, entity _gun, string _tagname, entity _owner)
{
vector v = gettaginfo(_gun, gettagindex(_gun, _tagname));
- vehicles_projectile(EFFECT_BIGPLASMA_MUZZLEFLASH.eent_eff_name, SND_VEH_BUMBLEBEE_FIRE,
+ vehicles_projectile(this, EFFECT_BIGPLASMA_MUZZLEFLASH.eent_eff_name, 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);
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);
+ WriteCoord(MSG_ENTITY, this.hook_start_x);
+ WriteCoord(MSG_ENTITY, this.hook_start_y);
+ WriteCoord(MSG_ENTITY, this.hook_start_z);
}
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);
+ WriteCoord(MSG_ENTITY, this.hook_end_x);
+ WriteCoord(MSG_ENTITY, this.hook_end_y);
+ WriteCoord(MSG_ENTITY, this.hook_end_z);
}
return true;
if(sf & BRG_SETUP)
{
- self.cnt = ReadByte();
- self.team = ReadByte();
- self.cnt = ReadByte();
+ this.cnt = ReadByte();
+ this.team = ReadByte();
+ this.cnt = ReadByte();
- if(self.cnt)
- self.colormod = '1 0 0';
+ if(this.cnt)
+ this.colormod = '1 0 0';
else
- self.colormod = '0 1 0';
+ this.colormod = '0 1 0';
- self.traileffect = EFFECT_BUMBLEBEE_HEAL_MUZZLEFLASH.m_id;
- self.lip = particleeffectnum(EFFECT_BUMBLEBEE_HEAL_IMPACT);
+ this.traileffect = EFFECT_BUMBLEBEE_HEAL_MUZZLEFLASH.m_id;
+ this.lip = particleeffectnum(EFFECT_BUMBLEBEE_HEAL_IMPACT);
- self.draw = bumble_raygun_draw;
+ this.draw = bumble_raygun_draw;
}
if(sf & BRG_START)
{
- self.origin_x = ReadCoord();
- self.origin_y = ReadCoord();
- self.origin_z = ReadCoord();
- setorigin(self, self.origin);
+ this.origin_x = ReadCoord();
+ this.origin_y = ReadCoord();
+ this.origin_z = ReadCoord();
+ setorigin(this, this.origin);
}
if(sf & BRG_END)
{
- self.move_origin_x = ReadCoord();
- self.move_origin_y = ReadCoord();
- self.move_origin_z = ReadCoord();
+ this.move_origin_x = ReadCoord();
+ this.move_origin_y = ReadCoord();
+ this.move_origin_z = ReadCoord();
}
return true;
}