X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fvehicles%2Fraptor.qc;h=5c14fb7935d02f87fc9febfb287d1583f259a0f5;hb=fbb96108e5828a7557694db4469c2d0d7c582846;hp=53e4d35f71c2e5c348ada62f5d84aa9d1389a4c8;hpb=3adaa0873ad9eac20f32e6e3fc0455d4f9e044cd;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/vehicles/raptor.qc b/qcsrc/server/vehicles/raptor.qc index 53e4d35f7..5c14fb793 100644 --- a/qcsrc/server/vehicles/raptor.qc +++ b/qcsrc/server/vehicles/raptor.qc @@ -1,10 +1,5 @@ -#define RSM_FIRST 0 -#define RSM_BOMB 0 -#define RSM_FLARE 1 -#define RSM_LAST 1 - -#define RAPTOR_MIN '-80 -80 0' -#define RAPTOR_MAX '80 80 70' +#include "vehicle.qh" +#include "raptor.qh" #ifdef SVQC float autocvar_g_vehicle_raptor; @@ -145,7 +140,7 @@ void raptor_bomb_burst() bomblet.velocity = normalize(normalize(self.velocity) + (randomvec() * autocvar_g_vehicle_raptor_bomblet_spread)) * vlen(self.velocity); PROJECTILE_MAKETRIGGER(bomblet); - CSQCProjectile(bomblet, TRUE, PROJECTILE_RAPTORBOMBLET, TRUE); + CSQCProjectile(bomblet, true, PROJECTILE_RAPTORBOMBLET, true); } remove(self); @@ -180,8 +175,8 @@ void raptor_bombdrop() PROJECTILE_MAKETRIGGER(bomb_1); PROJECTILE_MAKETRIGGER(bomb_2); - CSQCProjectile(bomb_1, TRUE, PROJECTILE_RAPTORBOMB, TRUE); - CSQCProjectile(bomb_2, TRUE, PROJECTILE_RAPTORBOMB, TRUE); + CSQCProjectile(bomb_1, true, PROJECTILE_RAPTORBOMB, true); + CSQCProjectile(bomb_2, true, PROJECTILE_RAPTORBOMB, true); } @@ -190,7 +185,7 @@ void raptor_fire_cannon(entity gun, string tagname) vehicles_projectile("raptor_cannon_muzzleflash", "weapons/lasergun_fire.wav", gettaginfo(gun, gettagindex(gun, tagname)), normalize(v_forward + randomvec() * autocvar_g_vehicle_raptor_cannon_spread) * autocvar_g_vehicle_raptor_cannon_speed, autocvar_g_vehicle_raptor_cannon_damage, autocvar_g_vehicle_raptor_cannon_radius, autocvar_g_vehicle_raptor_cannon_force, 0, - DEATH_VH_RAPT_CANNON, PROJECTILE_RAPTORCANNON, 0, TRUE, TRUE, self.owner); + DEATH_VH_RAPT_CANNON, PROJECTILE_RAPTORCANNON, 0, true, true, self.owner); } void raptor_think() @@ -231,7 +226,7 @@ void raptor_land() self.frame = (hgt / 128) * 25; self.bomb1.gun1.avelocity_y = 90 + ((self.frame / 25) * 2000); - self.bomb1.gun2.avelocity_y = -self.bomb1.gun1.avelocity_y; + self.bomb1.gun2.avelocity_y = -self.bomb1.gun1.avelocity.y; if(hgt < 16) { @@ -307,9 +302,9 @@ float raptor_takeoff() if(raptor.frame < 25) { raptor.frame += 25 / (autocvar_g_vehicle_raptor_takeofftime / sys_frametime); - raptor.velocity_z = min(raptor.velocity_z * 1.5, 256); + raptor.velocity_z = min(raptor.velocity.z * 1.5, 256); self.bomb1.gun1.avelocity_y = 90 + ((raptor.frame / 25) * 25000); - self.bomb1.gun2.avelocity_y = -self.bomb1.gun1.avelocity_y; + self.bomb1.gun2.avelocity_y = -self.bomb1.gun1.avelocity.y; player.BUTTON_ATCK = player.BUTTON_ATCK2 = player.BUTTON_CROUCH = 0; setorigin(player, raptor.origin + '0 0 32'); @@ -318,13 +313,13 @@ float raptor_takeoff() player.PlayerPhysplug = raptor_frame; if(self.vehicle_flags & VHF_SHIELDREGEN) - vehicles_regen(raptor.dmg_time, vehicle_shield, autocvar_g_vehicle_raptor_shield, autocvar_g_vehicle_raptor_shield_regen_pause, autocvar_g_vehicle_raptor_shield_regen, frametime, TRUE); + vehicles_regen(raptor.dmg_time, vehicle_shield, autocvar_g_vehicle_raptor_shield, autocvar_g_vehicle_raptor_shield_regen_pause, autocvar_g_vehicle_raptor_shield_regen, frametime, true); if(self.vehicle_flags & VHF_HEALTHREGEN) - vehicles_regen(raptor.dmg_time, vehicle_health, autocvar_g_vehicle_raptor_health, autocvar_g_vehicle_raptor_health_regen_pause, autocvar_g_vehicle_raptor_health_regen, frametime, FALSE); + vehicles_regen(raptor.dmg_time, vehicle_health, autocvar_g_vehicle_raptor_health, autocvar_g_vehicle_raptor_health_regen_pause, autocvar_g_vehicle_raptor_health_regen, frametime, false); if(self.vehicle_flags & VHF_ENERGYREGEN) - vehicles_regen(raptor.cnt, vehicle_energy, autocvar_g_vehicle_raptor_energy, autocvar_g_vehicle_raptor_energy_regen_pause, autocvar_g_vehicle_raptor_energy_regen, frametime, FALSE); + vehicles_regen(raptor.cnt, vehicle_energy, autocvar_g_vehicle_raptor_energy, autocvar_g_vehicle_raptor_energy_regen_pause, autocvar_g_vehicle_raptor_energy_regen, frametime, false); raptor.bomb1.alpha = raptor.bomb2.alpha = (time - raptor.lip) / (raptor.delay - raptor.lip); @@ -345,7 +340,7 @@ void raptor_flare_touch() remove(self); } -void raptor_flare_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) +void raptor_flare_damage(entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force) { self.health -= damage; if(self.health <= 0) @@ -417,58 +412,58 @@ float raptor_frame() vector vang; vang = raptor.angles; df = vectoangles(normalize(trace_endpos - self.origin + '0 0 32')); - vang_x *= -1; - df_x *= -1; - if(df_x > 180) df_x -= 360; - if(df_x < -180) df_x += 360; - if(df_y > 180) df_y -= 360; - if(df_y < -180) df_y += 360; - - ftmp = shortangle_f(player.v_angle_y - vang_y, vang_y); + vang.x *= -1; + df.x *= -1; + if(df.x > 180) df.x -= 360; + if(df.x < -180) df.x += 360; + if(df.y > 180) df.y -= 360; + if(df.y < -180) df.y += 360; + + ftmp = shortangle_f(player.v_angle.y - vang.y, vang.y); if(ftmp > 180) ftmp -= 360; if(ftmp < -180) ftmp += 360; - raptor.avelocity_y = bound(-autocvar_g_vehicle_raptor_turnspeed, ftmp + raptor.avelocity_y * 0.9, autocvar_g_vehicle_raptor_turnspeed); + raptor.avelocity_y = bound(-autocvar_g_vehicle_raptor_turnspeed, ftmp + raptor.avelocity.y * 0.9, autocvar_g_vehicle_raptor_turnspeed); // Pitch ftmp = 0; - if(player.movement_x > 0 && vang_x < autocvar_g_vehicle_raptor_pitchlimit) ftmp = 5; - else if(player.movement_x < 0 && vang_x > -autocvar_g_vehicle_raptor_pitchlimit) ftmp = -20; + if(player.movement.x > 0 && vang.x < autocvar_g_vehicle_raptor_pitchlimit) ftmp = 5; + else if(player.movement.x < 0 && vang.x > -autocvar_g_vehicle_raptor_pitchlimit) ftmp = -20; - df_x = bound(-autocvar_g_vehicle_raptor_pitchlimit, df_x , autocvar_g_vehicle_raptor_pitchlimit); - ftmp = vang_x - bound(-autocvar_g_vehicle_raptor_pitchlimit, df_x + ftmp, autocvar_g_vehicle_raptor_pitchlimit); - raptor.avelocity_x = bound(-autocvar_g_vehicle_raptor_pitchspeed, ftmp + raptor.avelocity_x * 0.9, autocvar_g_vehicle_raptor_pitchspeed); + df.x = bound(-autocvar_g_vehicle_raptor_pitchlimit, df.x , autocvar_g_vehicle_raptor_pitchlimit); + ftmp = vang.x - bound(-autocvar_g_vehicle_raptor_pitchlimit, df.x + ftmp, autocvar_g_vehicle_raptor_pitchlimit); + raptor.avelocity_x = bound(-autocvar_g_vehicle_raptor_pitchspeed, ftmp + raptor.avelocity.x * 0.9, autocvar_g_vehicle_raptor_pitchspeed); - raptor.angles_x = anglemods(raptor.angles_x); - raptor.angles_y = anglemods(raptor.angles_y); - raptor.angles_z = anglemods(raptor.angles_z); + raptor.angles_x = anglemods(raptor.angles.x); + raptor.angles_y = anglemods(raptor.angles.y); + raptor.angles_z = anglemods(raptor.angles.z); if(autocvar_g_vehicle_raptor_movestyle == 1) - makevectors('0 1 0' * raptor.angles_y); + makevectors('0 1 0' * raptor.angles.y); else makevectors(player.v_angle); df = raptor.velocity * -autocvar_g_vehicle_raptor_friction; - if(player.movement_x != 0) + if(player.movement.x != 0) { - if(player.movement_x > 0) + if(player.movement.x > 0) df += v_forward * autocvar_g_vehicle_raptor_speed_forward; - else if(player.movement_x < 0) + else if(player.movement.x < 0) df -= v_forward * autocvar_g_vehicle_raptor_speed_forward; } - if(player.movement_y != 0) + if(player.movement.y != 0) { - if(player.movement_y < 0) + if(player.movement.y < 0) df -= v_right * autocvar_g_vehicle_raptor_speed_strafe; - else if(player.movement_y > 0) + else if(player.movement.y > 0) df += v_right * autocvar_g_vehicle_raptor_speed_strafe; - raptor.angles_z = bound(-30,raptor.angles_z + (player.movement_y / autocvar_g_vehicle_raptor_speed_strafe),30); + raptor.angles_z = bound(-30,raptor.angles.z + (player.movement.y / autocvar_g_vehicle_raptor_speed_strafe),30); } else { raptor.angles_z *= 0.95; - if(raptor.angles_z >= -1 && raptor.angles_z <= -1) + if(raptor.angles.z >= -1 && raptor.angles.z <= -1) raptor.angles_z = 0; } @@ -516,7 +511,7 @@ float raptor_frame() UpdateAuxiliaryXhair(player, vf, '1 0 0', 1); vector _vel = raptor.gun1.enemy.velocity; if(raptor.gun1.enemy.movetype == MOVETYPE_WALK) - _vel_z *= 0.1; + _vel.z *= 0.1; if(autocvar_g_vehicle_raptor_cannon_predicttarget) { @@ -605,13 +600,13 @@ float raptor_frame() } if(self.vehicle_flags & VHF_SHIELDREGEN) - vehicles_regen(raptor.dmg_time, vehicle_shield, autocvar_g_vehicle_raptor_shield, autocvar_g_vehicle_raptor_shield_regen_pause, autocvar_g_vehicle_raptor_shield_regen, frametime, TRUE); + vehicles_regen(raptor.dmg_time, vehicle_shield, autocvar_g_vehicle_raptor_shield, autocvar_g_vehicle_raptor_shield_regen_pause, autocvar_g_vehicle_raptor_shield_regen, frametime, true); if(self.vehicle_flags & VHF_HEALTHREGEN) - vehicles_regen(raptor.dmg_time, vehicle_health, autocvar_g_vehicle_raptor_health, autocvar_g_vehicle_raptor_health_regen_pause, autocvar_g_vehicle_raptor_health_regen, frametime, FALSE); + vehicles_regen(raptor.dmg_time, vehicle_health, autocvar_g_vehicle_raptor_health, autocvar_g_vehicle_raptor_health_regen_pause, autocvar_g_vehicle_raptor_health_regen, frametime, false); if(self.vehicle_flags & VHF_ENERGYREGEN) - vehicles_regen(raptor.cnt, vehicle_energy, autocvar_g_vehicle_raptor_energy, autocvar_g_vehicle_raptor_energy_regen_pause, autocvar_g_vehicle_raptor_energy_regen, frametime, FALSE); + vehicles_regen(raptor.cnt, vehicle_energy, autocvar_g_vehicle_raptor_energy, autocvar_g_vehicle_raptor_energy_regen_pause, autocvar_g_vehicle_raptor_energy_regen, frametime, false); if(raptor.vehicle_weapon2mode == RSM_BOMB) { @@ -751,16 +746,16 @@ void raptor_die() void raptor_impact() { - if(autocvar_g_vehicle_raptor_bouncepain_x) - vehicles_impact(autocvar_g_vehicle_raptor_bouncepain_x, autocvar_g_vehicle_raptor_bouncepain_y, autocvar_g_vehicle_raptor_bouncepain_z); + if(autocvar_g_vehicle_raptor_bouncepain.x) + vehicles_impact(autocvar_g_vehicle_raptor_bouncepain.x, autocvar_g_vehicle_raptor_bouncepain.y, autocvar_g_vehicle_raptor_bouncepain.z); } // If we dont do this ever now and then, the raptors rotors // stop working, presumably due to angle overflow. cute. void raptor_rotor_anglefix() { - self.gun1.angles_y = anglemods(self.gun1.angles_y); - self.gun2.angles_y = anglemods(self.gun2.angles_y); + self.gun1.angles_y = anglemods(self.gun1.angles.y); + self.gun2.angles_y = anglemods(self.gun2.angles.y); self.nextthink = time + 15; } @@ -776,7 +771,7 @@ float raptor_impulse(float _imp) self.vehicle.vehicle_weapon2mode = RSM_FIRST; CSQCVehicleSetup(self, 0); - return TRUE; + return true; case 12: case 16: case 19: @@ -785,7 +780,7 @@ float raptor_impulse(float _imp) self.vehicle.vehicle_weapon2mode = RSM_LAST; CSQCVehicleSetup(self, 0); - return TRUE; + return true; /* case 17: // toss gun, could be used to exit? @@ -794,7 +789,7 @@ float raptor_impulse(float _imp) break; */ } - return FALSE; + return false; } void raptor_spawn(float _f) @@ -931,12 +926,12 @@ void spawnfunc_vehicle_raptor() "", "tag_hud", "tag_camera", HUD_RAPTOR, RAPTOR_MIN, RAPTOR_MAX, - FALSE, + false, raptor_spawn, autocvar_g_vehicle_raptor_respawntime, raptor_frame, raptor_enter, raptor_exit, raptor_die, raptor_think, - FALSE, + false, autocvar_g_vehicle_raptor_health, autocvar_g_vehicle_raptor_shield)) {