]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/mutator_overkill.qc
Merge branch 'master' into Mario/turrets
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator_overkill.qc
index ced2e71061ef5f1cb38b9a09ea3348b7faece5df..22cd79cff3f537a6eb1c367c750a7cb7e3e46b48 100644 (file)
@@ -34,26 +34,6 @@ float ok_CheckWeaponCharge(entity ent, float wep)
        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))
@@ -91,8 +71,6 @@ MUTATOR_HOOKFUNCTION(ok_PlayerDies)
                other = world;
        }
 
-       self.ok_lastwep = self.weapon;
-       self.ok_deathloc = self.origin;
        self = spawn();
        self.ok_item = TRUE;
        self.noalign = TRUE;
@@ -107,6 +85,8 @@ MUTATOR_HOOKFUNCTION(ok_PlayerDies)
        SUB_SetFade(self, time + 5, 1);
        self = oldself;
 
+       self.ok_lastwep = self.switchweapon;
+
        return FALSE;
 }
 
@@ -142,6 +122,12 @@ MUTATOR_HOOKFUNCTION(ok_PlayerPreThink)
        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)
@@ -206,9 +192,6 @@ MUTATOR_HOOKFUNCTION(ok_PlayerSpawn)
                
        self.ok_pauseregen_finished = time + 2;
 
-       self.switchweapon = self.ok_lastwep;
-       self.ok_lastwep = 0;
-
        return FALSE;
 }
 
@@ -340,14 +323,6 @@ void ok_Initialize()
        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;