-
-void turret_hk_missile_damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
-{
- if (attacker.team == self.team)
- damage *= 0.5;
-
- self.velocity += force;
-
- self.health -= damage;
-
- if (self.health <= 0)
- turret_hk_missile_explode();
-}
-
-void turret_hk_attack()
-{
- local entity missile;
- //local entity flash2;
-
- sound (self, CHAN_WEAPON, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM);
-
- missile = spawn ();
- missile.solid = SOLID_BBOX;
- setsize (missile, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot
- setorigin(missile, self.tur_shotorg);
-
- missile.scale = 1;
- missile.classname = "hk_missile";
- missile.owner = self;
- missile.bot_dodge = TRUE;
- missile.bot_dodgerating = self.shot_dmg;
- missile.takedamage = DAMAGE_YES;
- missile.damageforcescale = 4;
- missile.health = 10;
- missile.think = turret_hk_missile_think;
- missile.event_damage = turret_hk_missile_damage;
- missile.nextthink = time + 0.25;
- missile.movetype = MOVETYPE_BOUNCEMISSILE;
- missile.velocity = self.tur_shotdir_updated * (self.shot_speed * 0.75);
- missile.angles = vectoangles(missile.velocity);
- missile.touch = turret_hk_missile_explode; //turret_hk_missile_touch;
- missile.flags = FL_PROJECTILE;
- missile.enemy = self.enemy;
- missile.team = self.team;
- missile.cnt = time + 30;
- missile.ticrate = max(autocvar_sys_ticrate,0.05);
-
- CSQCProjectile(missile, FALSE, PROJECTILE_ROCKET, FALSE); // no culling, fly sound
-
- te_explosion (missile.origin);
-
- if (self.tur_head.frame == 0)
- self.tur_head.frame = self.tur_head.frame + 1;
-
-}
-