X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fvehicles%2Fbumblebee.qc;h=68733b5b7c30998fbfc4800753149420e794bf95;hb=d3a7bb2616410f0252504af2a84e11fb4dac21a3;hp=dff26d6ea370227683bd597e6f785de671506776;hpb=719b47d60479f233baa8719e66e73a60bff28176;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/vehicles/bumblebee.qc b/qcsrc/server/vehicles/bumblebee.qc index dff26d6ea..68733b5b7 100644 --- a/qcsrc/server/vehicles/bumblebee.qc +++ b/qcsrc/server/vehicles/bumblebee.qc @@ -1,92 +1,13 @@ -#define BRG_SETUP 2 -#define BRG_START 4 -#define BRG_END 8 +#include "bumblebee.qh" #ifdef SVQC -// Auto cvars -float autocvar_g_vehicle_bumblebee_speed_forward; -float autocvar_g_vehicle_bumblebee_speed_strafe; -float autocvar_g_vehicle_bumblebee_speed_up; -float autocvar_g_vehicle_bumblebee_speed_down; -float autocvar_g_vehicle_bumblebee_turnspeed; -float autocvar_g_vehicle_bumblebee_pitchspeed; -float autocvar_g_vehicle_bumblebee_pitchlimit; -float autocvar_g_vehicle_bumblebee_friction; - -float autocvar_g_vehicle_bumblebee_energy; -float autocvar_g_vehicle_bumblebee_energy_regen; -float autocvar_g_vehicle_bumblebee_energy_regen_pause; - -float autocvar_g_vehicle_bumblebee_health; -float autocvar_g_vehicle_bumblebee_health_regen; -float autocvar_g_vehicle_bumblebee_health_regen_pause; - -float autocvar_g_vehicle_bumblebee_shield; -float autocvar_g_vehicle_bumblebee_shield_regen; -float autocvar_g_vehicle_bumblebee_shield_regen_pause; - -float autocvar_g_vehicle_bumblebee_cannon_cost; -float autocvar_g_vehicle_bumblebee_cannon_damage; -float autocvar_g_vehicle_bumblebee_cannon_radius; -float autocvar_g_vehicle_bumblebee_cannon_refire; -float autocvar_g_vehicle_bumblebee_cannon_speed; -float autocvar_g_vehicle_bumblebee_cannon_spread; -float autocvar_g_vehicle_bumblebee_cannon_force; - -float autocvar_g_vehicle_bumblebee_cannon_ammo; -float autocvar_g_vehicle_bumblebee_cannon_ammo_regen; -float autocvar_g_vehicle_bumblebee_cannon_ammo_regen_pause; - -var float autocvar_g_vehicle_bumblebee_cannon_lock = 0; - -float autocvar_g_vehicle_bumblebee_cannon_turnspeed; -float autocvar_g_vehicle_bumblebee_cannon_pitchlimit_down; -float autocvar_g_vehicle_bumblebee_cannon_pitchlimit_up; -float autocvar_g_vehicle_bumblebee_cannon_turnlimit_in; -float autocvar_g_vehicle_bumblebee_cannon_turnlimit_out; - - -float autocvar_g_vehicle_bumblebee_raygun_turnspeed; -float autocvar_g_vehicle_bumblebee_raygun_pitchlimit_down; -float autocvar_g_vehicle_bumblebee_raygun_pitchlimit_up; -float autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides; - -float autocvar_g_vehicle_bumblebee_raygun_range; -float autocvar_g_vehicle_bumblebee_raygun_dps; -float autocvar_g_vehicle_bumblebee_raygun_aps; -float autocvar_g_vehicle_bumblebee_raygun_fps; - -float autocvar_g_vehicle_bumblebee_raygun; -float autocvar_g_vehicle_bumblebee_healgun_hps; -float autocvar_g_vehicle_bumblebee_healgun_hmax; -float autocvar_g_vehicle_bumblebee_healgun_aps; -float autocvar_g_vehicle_bumblebee_healgun_amax; -float autocvar_g_vehicle_bumblebee_healgun_sps; -float autocvar_g_vehicle_bumblebee_healgun_locktime; - -float autocvar_g_vehicle_bumblebee_respawntime; - -float autocvar_g_vehicle_bumblebee_blowup_radius; -float autocvar_g_vehicle_bumblebee_blowup_coredamage; -float autocvar_g_vehicle_bumblebee_blowup_edgedamage; -float autocvar_g_vehicle_bumblebee_blowup_forceintensity; -var vector autocvar_g_vehicle_bumblebee_bouncepain; - -var float autocvar_g_vehicle_bumblebee = 0; - - -float bumble_raygun_send(entity to, float sf); - -#define BUMB_MIN '-130 -130 -130' -#define BUMB_MAX '130 130 130' - void bumb_fire_cannon(entity _gun, string _tagname, entity _owner) { vector v = gettaginfo(_gun, gettagindex(_gun, _tagname)); vehicles_projectile("bigplasma_muzzleflash", "weapons/flacexp3.wav", 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, PROJECTILE_BUMBLE_GUN, 0, TRUE, TRUE, _owner); + DEATH_VH_BUMB_GUN, PROJECTILE_BUMBLE_GUN, 0, true, true, _owner); } float bumb_gunner_frame() @@ -97,12 +18,12 @@ float bumb_gunner_frame() self = vehic; - - + + vehic.solid = SOLID_NOT; //setorigin(gunner, vehic.origin); gunner.velocity = vehic.velocity; - + float _in, _out; vehic.angles_x *= -1; makevectors(vehic.angles); @@ -117,9 +38,9 @@ float bumb_gunner_frame() { _in = autocvar_g_vehicle_bumblebee_cannon_turnlimit_out; _out = autocvar_g_vehicle_bumblebee_cannon_turnlimit_in; - setorigin(gunner, vehic.origin + v_up * -16 + v_forward * -16 + v_right * -128); + setorigin(gunner, vehic.origin + v_up * -16 + v_forward * -16 + v_right * -128); } - + crosshair_trace(gunner); vector _ct = trace_endpos; vector ad; @@ -157,7 +78,7 @@ float bumb_gunner_frame() vector vf = real_origin(gun.enemy); vector _vel = gun.enemy.velocity; if(gun.enemy.movetype == MOVETYPE_WALK) - _vel_z *= 0.1; + _vel.z *= 0.1; ad = vf; @@ -222,10 +143,10 @@ void bumb_gunner_exit(float _exitflag) WriteByte(MSG_ONE, SVC_SETVIEWANGLES); WriteAngle(MSG_ONE, 0); - WriteAngle(MSG_ONE, self.vehicle.angles_y); + WriteAngle(MSG_ONE, self.vehicle.angles.y); WriteAngle(MSG_ONE, 0); } - + CSQCVehicleSetup(self, HUD_NORMAL); setsize(self, PL_MIN, PL_MAX); @@ -252,16 +173,16 @@ void bumb_gunner_exit(float _exitflag) if(self == self.vehicle.owner.gunner1) { - self.vehicle.owner.gunner1 = world; + self.vehicle.owner.gunner1 = world; } else if(self == self.vehicle.owner.gunner2) { - self.vehicle.owner.gunner2 = world; + self.vehicle.owner.gunner2 = world; v_right *= -1; - } + } else dprint("^1self != gunner1 or gunner2, this is a BIG PROBLEM, tell tZork this happend.\n"); - + vector spot = self.vehicle.owner.origin + + v_up * 128 + v_right * 300; spot = vehicles_findgoodexit(spot); //setorigin(self , spot); @@ -292,7 +213,7 @@ float bumb_gunner_enter() else { dprint("^1ERROR:^7Tried to enter a fully occupied vehicle!\n"); - return FALSE; + return false; } _gunner = other; @@ -321,41 +242,41 @@ float bumb_gunner_enter() WriteByte(MSG_ONE, SVC_SETVIEWPORT); WriteEntity(MSG_ONE, _gun.vehicle_viewport); WriteByte(MSG_ONE, SVC_SETVIEWANGLES); - WriteAngle(MSG_ONE, _gun.angles_x + self.angles_x); // tilt - WriteAngle(MSG_ONE, _gun.angles_y + self.angles_y); // yaw + WriteAngle(MSG_ONE, _gun.angles.x + self.angles.x); // tilt + WriteAngle(MSG_ONE, _gun.angles.y + self.angles.y); // yaw WriteAngle(MSG_ONE, 0); // roll _gun.vehicle_hudmodel.viewmodelforclient = other; CSQCVehicleSetup(other, other.hud); - + vh_player = other; vh_vehicle = _gun; MUTATOR_CALLHOOK(VehicleEnter); other = vh_player; _gun = vh_vehicle; - return TRUE; + return true; } float vehicles_valid_pilot() { - if not(IS_PLAYER(other)) - return FALSE; + if (!IS_PLAYER(other)) + return false; if(other.deadflag != DEAD_NO) - return FALSE; + return false; if(other.vehicle != world) - return FALSE; + return false; - if not(IS_REAL_CLIENT(other)) + if (!IS_REAL_CLIENT(other)) if(!autocvar_g_vehicles_allow_bots) - return FALSE; + return false; if(teamplay && other.team != self.team) - return FALSE; + return false; - return TRUE; + return true; } void bumb_touch() @@ -392,13 +313,13 @@ void bumb_regen() self.gun2.vehicle_energy + autocvar_g_vehicle_bumblebee_cannon_ammo_regen * frametime); if(self.vehicle_flags & VHF_SHIELDREGEN) - vehicles_regen(self.dmg_time, vehicle_shield, autocvar_g_vehicle_bumblebee_shield, autocvar_g_vehicle_bumblebee_shield_regen_pause, autocvar_g_vehicle_bumblebee_shield_regen, frametime, TRUE); + vehicles_regen(self.dmg_time, vehicle_shield, autocvar_g_vehicle_bumblebee_shield, autocvar_g_vehicle_bumblebee_shield_regen_pause, autocvar_g_vehicle_bumblebee_shield_regen, frametime, true); if(self.vehicle_flags & VHF_HEALTHREGEN) - vehicles_regen(self.dmg_time, vehicle_health, autocvar_g_vehicle_bumblebee_health, autocvar_g_vehicle_bumblebee_health_regen_pause, autocvar_g_vehicle_bumblebee_health_regen, frametime, FALSE); + vehicles_regen(self.dmg_time, vehicle_health, autocvar_g_vehicle_bumblebee_health, autocvar_g_vehicle_bumblebee_health_regen_pause, autocvar_g_vehicle_bumblebee_health_regen, frametime, false); if(self.vehicle_flags & VHF_ENERGYREGEN) - vehicles_regen(self.wait, vehicle_energy, autocvar_g_vehicle_bumblebee_energy, autocvar_g_vehicle_bumblebee_energy_regen_pause, autocvar_g_vehicle_bumblebee_energy_regen, frametime, FALSE); + vehicles_regen(self.wait, vehicle_energy, autocvar_g_vehicle_bumblebee_energy, autocvar_g_vehicle_bumblebee_energy_regen_pause, autocvar_g_vehicle_bumblebee_energy_regen, frametime, false); } @@ -428,58 +349,58 @@ float bumb_pilot_frame() vang = vehic.angles; newvel = vectoangles(normalize(trace_endpos - self.origin + '0 0 32')); - vang_x *= -1; - newvel_x *= -1; - if(newvel_x > 180) newvel_x -= 360; - if(newvel_x < -180) newvel_x += 360; - if(newvel_y > 180) newvel_y -= 360; - if(newvel_y < -180) newvel_y += 360; - - ftmp = shortangle_f(pilot.v_angle_y - vang_y, vang_y); + vang.x *= -1; + newvel.x *= -1; + if(newvel.x > 180) newvel.x -= 360; + if(newvel.x < -180) newvel.x += 360; + if(newvel.y > 180) newvel.y -= 360; + if(newvel.y < -180) newvel.y += 360; + + ftmp = shortangle_f(pilot.v_angle.y - vang.y, vang.y); if(ftmp > 180) ftmp -= 360; if(ftmp < -180) ftmp += 360; - vehic.avelocity_y = bound(-autocvar_g_vehicle_bumblebee_turnspeed, ftmp + vehic.avelocity_y * 0.9, autocvar_g_vehicle_bumblebee_turnspeed); + vehic.avelocity_y = bound(-autocvar_g_vehicle_bumblebee_turnspeed, ftmp + vehic.avelocity.y * 0.9, autocvar_g_vehicle_bumblebee_turnspeed); // Pitch ftmp = 0; - if(pilot.movement_x > 0 && vang_x < autocvar_g_vehicle_bumblebee_pitchlimit) + if(pilot.movement.x > 0 && vang.x < autocvar_g_vehicle_bumblebee_pitchlimit) ftmp = 4; - else if(pilot.movement_x < 0 && vang_x > -autocvar_g_vehicle_bumblebee_pitchlimit) + else if(pilot.movement.x < 0 && vang.x > -autocvar_g_vehicle_bumblebee_pitchlimit) ftmp = -8; - newvel_x = bound(-autocvar_g_vehicle_bumblebee_pitchlimit, newvel_x , autocvar_g_vehicle_bumblebee_pitchlimit); - ftmp = vang_x - bound(-autocvar_g_vehicle_bumblebee_pitchlimit, newvel_x + ftmp, autocvar_g_vehicle_bumblebee_pitchlimit); - vehic.avelocity_x = bound(-autocvar_g_vehicle_bumblebee_pitchspeed, ftmp + vehic.avelocity_x * 0.9, autocvar_g_vehicle_bumblebee_pitchspeed); + newvel_x = bound(-autocvar_g_vehicle_bumblebee_pitchlimit, newvel.x , autocvar_g_vehicle_bumblebee_pitchlimit); + ftmp = vang.x - bound(-autocvar_g_vehicle_bumblebee_pitchlimit, newvel.x + ftmp, autocvar_g_vehicle_bumblebee_pitchlimit); + vehic.avelocity_x = bound(-autocvar_g_vehicle_bumblebee_pitchspeed, ftmp + vehic.avelocity.x * 0.9, autocvar_g_vehicle_bumblebee_pitchspeed); - vehic.angles_x = anglemods(vehic.angles_x); - vehic.angles_y = anglemods(vehic.angles_y); - vehic.angles_z = anglemods(vehic.angles_z); + vehic.angles_x = anglemods(vehic.angles.x); + vehic.angles_y = anglemods(vehic.angles.y); + vehic.angles_z = anglemods(vehic.angles.z); - makevectors('0 1 0' * vehic.angles_y); + makevectors('0 1 0' * vehic.angles.y); newvel = vehic.velocity * -autocvar_g_vehicle_bumblebee_friction; - if(pilot.movement_x != 0) + if(pilot.movement.x != 0) { - if(pilot.movement_x > 0) + if(pilot.movement.x > 0) newvel += v_forward * autocvar_g_vehicle_bumblebee_speed_forward; - else if(pilot.movement_x < 0) + else if(pilot.movement.x < 0) newvel -= v_forward * autocvar_g_vehicle_bumblebee_speed_forward; } - if(pilot.movement_y != 0) + if(pilot.movement.y != 0) { - if(pilot.movement_y < 0) + if(pilot.movement.y < 0) newvel -= v_right * autocvar_g_vehicle_bumblebee_speed_strafe; - else if(pilot.movement_y > 0) + else if(pilot.movement.y > 0) newvel += v_right * autocvar_g_vehicle_bumblebee_speed_strafe; ftmp = newvel * v_right; ftmp *= frametime * 0.1; - vehic.angles_z = bound(-15, vehic.angles_z + ftmp, 15); + vehic.angles_z = bound(-15, vehic.angles.z + ftmp, 15); } else { vehic.angles_z *= 0.95; - if(vehic.angles_z >= -1 && vehic.angles_z <= -1) + if(vehic.angles.z >= -1 && vehic.angles.z <= -1) vehic.angles_z = 0; } @@ -490,10 +411,10 @@ float bumb_pilot_frame() vehic.velocity += newvel * frametime; pilot.velocity = pilot.movement = vehic.velocity; - + if(autocvar_g_vehicle_bumblebee_healgun_locktime) - { + { if(vehic.tur_head.lock_time < time || vehic.tur_head.enemy.deadflag) vehic.tur_head.enemy = world; @@ -511,19 +432,19 @@ float bumb_pilot_frame() } } else - { + { vehic.tur_head.enemy = trace_ent; vehic.tur_head.lock_time = time + autocvar_g_vehicle_bumblebee_healgun_locktime; } } - + if(vehic.tur_head.enemy) { - trace_endpos = real_origin(vehic.tur_head.enemy); - UpdateAuxiliaryXhair(pilot, trace_endpos, '0 0.75 0', 0); + trace_endpos = real_origin(vehic.tur_head.enemy); + UpdateAuxiliaryXhair(pilot, trace_endpos, '0 0.75 0', 0); } } - + vang = vehicle_aimturret(vehic, trace_endpos, self.gun3, "fire", autocvar_g_vehicle_bumblebee_raygun_pitchlimit_down * -1, autocvar_g_vehicle_bumblebee_raygun_pitchlimit_up, autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides * -1, autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides, autocvar_g_vehicle_bumblebee_raygun_turnspeed); @@ -532,12 +453,12 @@ float bumb_pilot_frame() { vehic.gun3.enemy.realowner = pilot; vehic.gun3.enemy.effects &= ~EF_NODRAW; - + vehic.gun3.enemy.hook_start = gettaginfo(vehic.gun3, gettagindex(vehic.gun3, "fire")); vehic.gun3.enemy.SendFlags |= BRG_START; - + traceline(vehic.gun3.enemy.hook_start, vehic.gun3.enemy.hook_start + v_forward * autocvar_g_vehicle_bumblebee_raygun_range, MOVE_NORMAL, vehic); - + if(trace_ent) { if(autocvar_g_vehicle_bumblebee_raygun) @@ -580,11 +501,11 @@ float bumb_pilot_frame() } } } - + vehic.gun3.enemy.hook_end = trace_endpos; setorigin(vehic.gun3.enemy, trace_endpos); vehic.gun3.enemy.SendFlags |= BRG_END; - + vehic.wait = time + 1; } else @@ -596,7 +517,7 @@ float bumb_pilot_frame() vehic.gun3.enemy = world; } */ - + VEHICLE_UPDATE_PLAYER(pilot, health, bumblebee); VEHICLE_UPDATE_PLAYER(pilot, energy, bumblebee); @@ -605,7 +526,7 @@ float bumb_pilot_frame() if(vehic.vehicle_flags & VHF_HASSHIELD) VEHICLE_UPDATE_PLAYER(pilot, shield, bumblebee); - + vehic.angles_x *= -1; makevectors(vehic.angles); vehic.angles_x *= -1; @@ -620,16 +541,16 @@ float bumb_pilot_frame() void bumb_think() { self.movetype = MOVETYPE_TOSS; - + //self.velocity = self.velocity * 0.5; self.angles_z *= 0.8; self.angles_x *= 0.8; - + self.nextthink = time + 0.05; - + if(!self.owner) { - entity oldself = self; + entity oldself = self; if(self.gunner1) { self = self.gunner1; @@ -642,7 +563,7 @@ void bumb_think() other = oldother; return; } - + if(self.gunner2) { self = self.gunner2; @@ -654,9 +575,9 @@ void bumb_think() self.touch(); other = oldother; return; - } + } } - + } void bumb_enter() @@ -672,19 +593,19 @@ void bumb_exit(float eject) self.touch = vehicles_touch; self.think = bumb_think; self.nextthink = time; - + if(!self.owner) return; - + fixedmakevectors(self.angles); vector spot; - if(vlen(self.velocity) > autocvar_g_vehicle_bumblebee_speed_forward * 0.5) + if(vlen(self.velocity) > autocvar_g_vehicle_bumblebee_speed_forward * 0.5) spot = self.origin + v_up * 128 + v_forward * 200; else spot = self.origin + v_up * 128 - v_forward * 200; - + spot = vehicles_findgoodexit(spot); - + // Hide beam if(self.gun3.enemy || !wasfreed(self.gun3.enemy)) { self.gun3.enemy.effects |= EF_NODRAW; @@ -693,7 +614,7 @@ void bumb_exit(float eject) self.owner.velocity = 0.75 * self.vehicle.velocity + normalize(spot - self.vehicle.origin) * 200; self.owner.velocity_z += 10; setorigin(self.owner, spot); - + antilag_clear(self.owner); self.owner = world; } @@ -702,16 +623,16 @@ void bumb_blowup() { RadiusDamage(self, self.enemy, autocvar_g_vehicle_bumblebee_blowup_coredamage, autocvar_g_vehicle_bumblebee_blowup_edgedamage, - autocvar_g_vehicle_bumblebee_blowup_radius, self, + autocvar_g_vehicle_bumblebee_blowup_radius, self, world, autocvar_g_vehicle_bumblebee_blowup_forceintensity, DEATH_VH_BUMB_DEATH, world); sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM); pointparticles(particleeffectnum("explosion_large"), randomvec() * 80 + (self.origin + '0 0 100'), '0 0 0', 1); - + if(self.owner.deadflag == DEAD_DYING) self.owner.deadflag = DEAD_DEAD; - + remove(self); } @@ -732,11 +653,11 @@ void bumb_diethink() void bumb_die() { entity oldself = self; - + // Hide beam if(self.gun3.enemy || !wasfreed(self.gun3.enemy)) self.gun3.enemy.effects |= EF_NODRAW; - + if(self.gunner1) { self = self.gunner1; @@ -764,15 +685,15 @@ void bumb_die() _body.touch = bumb_blowup; else _body.touch = func_null; - + _body.think = bumb_diethink; _body.nextthink = time; _body.wait = time + 2 + (random() * 8); _body.owner = self; _body.enemy = self.enemy; - + pointparticles(particleeffectnum("explosion_medium"), findbetterlocation(self.origin, 16), '0 0 0', 1); - + self.health = 0; self.event_damage = func_null; self.solid = SOLID_CORPSE; @@ -787,15 +708,12 @@ void bumb_die() self.nextthink = 0; setorigin(self, self.pos1); - } void bumb_impact() { - if(autocvar_g_vehicle_bumblebee_bouncepain_x) - vehilces_impact(autocvar_g_vehicle_bumblebee_bouncepain_x, - autocvar_g_vehicle_bumblebee_bouncepain_y, - autocvar_g_vehicle_bumblebee_bouncepain_z); + if(autocvar_g_vehicle_bumblebee_bouncepain.x) + vehicles_impact(autocvar_g_vehicle_bumblebee_bouncepain.x, autocvar_g_vehicle_bumblebee_bouncepain.y, autocvar_g_vehicle_bumblebee_bouncepain.z); } void bumb_spawn(float _f) @@ -861,14 +779,14 @@ void bumb_spawn(float _f) setorigin(self.gun2.vehicle_viewport, '-85 0 50'); self.scale = 1.5; - + // Raygun beam if(self.gun3.enemy == world) - { + { self.gun3.enemy = spawn(); - Net_LinkEntity(self.gun3.enemy, TRUE, 0, bumble_raygun_send); - self.gun3.enemy.SendFlags = BRG_SETUP; - self.gun3.enemy.cnt = autocvar_g_vehicle_bumblebee_raygun; + Net_LinkEntity(self.gun3.enemy, true, 0, bumble_raygun_send); + self.gun3.enemy.SendFlags = BRG_SETUP; + self.gun3.enemy.cnt = autocvar_g_vehicle_bumblebee_raygun; self.gun3.enemy.effects = EF_NODRAW | EF_LOWPRECISION; } } @@ -880,7 +798,7 @@ void bumb_spawn(float _f) self.movetype = MOVETYPE_TOSS; self.vehicle_impact = bumb_impact; self.damageforcescale = 0.025; - + setorigin(self, self.origin + '0 0 25'); } @@ -913,13 +831,13 @@ void spawnfunc_vehicle_bumblebee() if(autocvar_g_vehicle_bumblebee_health_regen) self.vehicle_flags |= VHF_HEALTHREGEN; - if not(vehicle_initialize( + if(!vehicle_initialize( "Bumblebee", "models/vehicles/bumblebee_body.dpm", "", "models/vehicles/spiderbot_cockpit.dpm", "", "", "tag_viewport", - HUD_BUMBLEBEE, BUMB_MIN, BUMB_MAX, FALSE, + HUD_BUMBLEBEE, BUMB_MIN, BUMB_MAX, false, bumb_spawn, autocvar_g_vehicle_bumblebee_respawntime, bumb_pilot_frame, bumb_enter, bumb_exit, - bumb_die, bumb_think, FALSE, autocvar_g_vehicle_bumblebee_health, autocvar_g_vehicle_bumblebee_shield)) + bumb_die, bumb_think, false, autocvar_g_vehicle_bumblebee_health, autocvar_g_vehicle_bumblebee_shield)) { remove(self); return; @@ -940,19 +858,19 @@ float bumble_raygun_send(entity to, float sf) 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, self.hook_start.x); + WriteCoord(MSG_ENTITY, self.hook_start.y); + WriteCoord(MSG_ENTITY, self.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, self.hook_end.x); + WriteCoord(MSG_ENTITY, self.hook_end.y); + WriteCoord(MSG_ENTITY, self.hook_end.z); } - return TRUE; + return true; } #endif // SVQC @@ -971,7 +889,7 @@ void bumble_raygun_draw() _len = vlen(self.origin - self.move_origin); _dir = normalize(self.move_origin - self.origin); - + if(self.total_damages < time) { boxparticles(self.traileffect, self, self.origin, self.origin + _dir * -64, _dir * -_len , _dir * -_len, 1, PARTICLES_USEALPHA); @@ -1003,26 +921,26 @@ void bumble_raygun_draw() void bumble_raygun_read(float bIsNew) { - float sf = ReadByte(); + int sf = ReadByte(); if(sf & BRG_SETUP) { self.cnt = ReadByte(); self.team = ReadByte(); self.cnt = ReadByte(); - + if(self.cnt) self.colormod = '1 0 0'; else self.colormod = '0 1 0'; self.traileffect = particleeffectnum("healray_muzzleflash"); - self.lip = particleeffectnum("healray_impact"); + self.lip = particleeffectnum("healray_impact"); self.draw = bumble_raygun_draw; } - - + + if(sf & BRG_START) { self.origin_x = ReadCoord();