local vector s;
vector forward, right, up;
- loaded = self.hagar_load >= autocvar_g_balance_hagar_secondary_load_maxload;
+ loaded = self.hagar_load >= autocvar_g_balance_hagar_secondary_load_max;
// check if we have enough ammo for another rocket
used_ammo = autocvar_g_balance_hagar_secondary_ammo;
self.hagarload_refire = time + autocvar_g_balance_hagar_secondary_refire;
}
}
- else if(self.hagar_load && (!self.BUTTON_ATCK2 || ((loaded || !enough_ammo) && !autocvar_g_balance_hagar_secondary_load_canhold)))
+ else if(self.hagar_load && (!self.BUTTON_ATCK2 || ((loaded || !enough_ammo) && !autocvar_g_balance_hagar_secondary_load_hold)))
+ if(weapon_prepareattack(0, autocvar_g_balance_hagar_secondary_refire))
{
// time to release the rockets we've loaded
+ W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_hagar_secondary_ammo * self.hagar_load, autocvar_g_balance_hagar_reload_ammo);
+
W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CHAN_WEAPON, autocvar_g_balance_hagar_secondary_damage);
pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
- W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_hagar_secondary_ammo * self.hagar_load, autocvar_g_balance_hagar_reload_ammo);
-
forward = v_forward;
right = v_right;
up = v_up;
}
prevmissile = missile;
- missile.touch = W_Hagar_Touch;
- missile.use = W_Hagar_Explode;
+ missile.touch = W_Hagar_Touch; // not bouncy
+ missile.use = W_Hagar_Explode2;
missile.think = adaptor_think2use_hittype_splash;
missile.nextthink = time + autocvar_g_balance_hagar_secondary_lifetime_min + random() * autocvar_g_balance_hagar_secondary_lifetime_rand;
PROJECTILE_MAKETRIGGER(missile);
counter = counter + 1;
}
+ weapon_thinkf(WFRAME_DONTCHANGE, autocvar_g_balance_hagar_secondary_refire, w_ready);
+ self.hagarload_refire = time + autocvar_g_balance_hagar_secondary_refire;
self.hagar_load = 0;
}
}