return (ent.ammo_charge[wep] >= cvar(sprintf("g_overkill_ammo_decharge_%s", wepent.netname)));
}
-void start_hmg()
-{
- self.classname = "weapon_hmg";
- self.respawntime = autocvar_g_overkill_superguns_respawn_time;
- self.ok_item = TRUE;
- setmodel(self, "models/weapons/g_ok_hmg.md3");
- self.pickup_anyway = TRUE;
- spawnfunc_weapon_hmg();
-}
-
-void start_rpc()
-{
- self.classname = "weapon_rpc";
- self.respawntime = autocvar_g_overkill_superguns_respawn_time;
- self.ok_item = TRUE;
- self.pickup_anyway = TRUE;
- setmodel(self, "models/weapons/g_ok_rl.md3");
- spawnfunc_weapon_rpc();
-}
-
MUTATOR_HOOKFUNCTION(ok_PlayerDamage_Calculate)
{
if(IS_PLAYER(frag_attacker) && IS_PLAYER(frag_target))
other = world;
}
- self.ok_lastwep = self.weapon;
- self.ok_deathloc = self.origin;
self = spawn();
self.ok_item = TRUE;
self.noalign = TRUE;
SUB_SetFade(self, time + 5, 1);
self = oldself;
+ self.ok_lastwep = self.switchweapon;
+
return FALSE;
}
if(self.deadflag != DEAD_NO || !IS_PLAYER(self) || self.frozen)
return FALSE;
+ if(self.ok_lastwep)
+ {
+ self.switchweapon = self.ok_lastwep;
+ self.ok_lastwep = 0;
+ }
+
ok_IncreaseCharge(self, self.weapon);
if(self.BUTTON_ATCK2)
self.ok_pauseregen_finished = time + 2;
- self.switchweapon = self.ok_lastwep;
- self.ok_lastwep = 0;
-
return FALSE;
}
addstat(STAT_OK_AMMO_CHARGE, AS_FLOAT, ok_use_ammocharge);
addstat(STAT_OK_AMMO_CHARGEPOOl, AS_FLOAT, ok_ammo_charge);
- WEP_ACTION(WEP_MACHINEGUN, WR_INIT);
- WEP_ACTION(WEP_VORTEX, WR_INIT);
- WEP_ACTION(WEP_SHOTGUN, WR_INIT);
- WEP_ACTION(WEP_BLASTER, WR_INIT);
-
- WEP_ACTION(WEP_RPC, WR_INIT);
- WEP_ACTION(WEP_HMG, WR_INIT);
-
(get_weaponinfo(WEP_RPC)).spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
(get_weaponinfo(WEP_HMG)).spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;