]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/mutator_overkill.qc
Prevent a potential crash with vehicles and bloodloss
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator_overkill.qc
index 1c8e5883fc6ffa1b36f3f6a86ce9ea16f41c72a7..9247dffacaf1317ab1fbccb4157fdaa9de7fbf89 100644 (file)
@@ -75,7 +75,7 @@ MUTATOR_HOOKFUNCTION(ok_PlayerDies)
        entity oldself = self;
        entity targ = ((frag_attacker) ? frag_attacker : frag_target);
 
-       if(self.flags & FL_MONSTER)
+       if(IS_MONSTER(self))
        {
                remove(other); // remove default item
                other = world;
@@ -114,7 +114,7 @@ MUTATOR_HOOKFUNCTION(ok_PlayerRegen)
                minf = autocvar_g_balance_fuel_regenstable;
                limitf = autocvar_g_balance_fuel_limit;
 
-               self.ammo_fuel = CalcRotRegen(self.ammo_fuel, minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear, frametime * (time > self.pauseregen_finished) * ((self.items & IT_FUEL_REGEN) != 0), maxf, autocvar_g_balance_fuel_rot, autocvar_g_balance_fuel_rotlinear, frametime * (time > self.pauserotfuel_finished), limitf);
+               self.ammo_fuel = CalcRotRegen(self.ammo_fuel, minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear, frametime * (time > self.pauseregen_finished) * ((self.items & ITEM_JetpackRegen.m_itemid) != 0), maxf, autocvar_g_balance_fuel_rot, autocvar_g_balance_fuel_rotlinear, frametime * (time > self.pauserotfuel_finished), limitf);
        }
        return true; // return true anyway, as frozen uses no regen
 }
@@ -141,7 +141,7 @@ MUTATOR_HOOKFUNCTION(ok_PlayerPreThink)
        ok_IncreaseCharge(self, self.weapon);
 
        if(self.BUTTON_ATCK2)
-       if(!forbidWeaponUse() || self.weapon_blocked) // allow if weapon is blocked
+       if(!forbidWeaponUse(self) || self.weapon_blocked) // allow if weapon is blocked
        if(time >= self.jump_interval)
        {
                self.jump_interval = time + WEP_CVAR_PRI(blaster, refire) * W_WeaponRateFactor();
@@ -175,7 +175,7 @@ MUTATOR_HOOKFUNCTION(ok_PlayerPreThink)
                {
                        //Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_OVERKILL_CHARGE);
                        self.ok_notice_time = time + 2;
-                       play2(self, "weapons/dryfire.wav");
+                       play2(self, W_Sound("dryfire"));
                }
                if(self.weaponentity.state != WS_CLEAR)
                        w_ready();
@@ -215,7 +215,7 @@ MUTATOR_HOOKFUNCTION(ok_OnEntityPreSpawn)
                {
                        entity wep = spawn();
                        setorigin(wep, self.origin);
-                       setmodel(wep, "models/weapons/g_ok_hmg.md3");
+                       setmodel(wep, W_Model("g_ok_hmg.md3"));
                        wep.classname = "weapon_hmg";
                        wep.ok_item = true;
                        wep.noalign = self.noalign;
@@ -232,7 +232,7 @@ MUTATOR_HOOKFUNCTION(ok_OnEntityPreSpawn)
                {
                        entity wep = spawn();
                        setorigin(wep, self.origin);
-                       setmodel(wep, "models/weapons/g_ok_rl.md3");
+                       setmodel(wep, W_Model("g_ok_rl.md3"));
                        wep.classname = "weapon_rpc";
                        wep.ok_item = true;
                        wep.noalign = self.noalign;
@@ -256,8 +256,8 @@ MUTATOR_HOOKFUNCTION(ok_ItemRemove)
 
        switch(self.items)
        {
-               case IT_HEALTH: return !(autocvar_g_overkill_100h_anyway);
-               case IT_ARMOR: return !(autocvar_g_overkill_100a_anyway);
+               case ITEM_HealthMega.m_itemid: return !(autocvar_g_overkill_100h_anyway);
+               case ITEM_ArmorMega.m_itemid: return !(autocvar_g_overkill_100a_anyway);
        }
 
        return true;
@@ -317,19 +317,19 @@ void ok_Initialize()
 
        precache_all_playermodels("models/ok_player/*.dpm");
 
-       precache_model("models/weapons/h_ok_mg.iqm");
-       precache_model("models/weapons/v_ok_mg.md3");
-       precache_model("models/weapons/g_ok_mg.md3");
+       precache_model(W_Model("h_ok_mg.iqm"));
+       precache_model(W_Model("v_ok_mg.md3"));
+       precache_model(W_Model("g_ok_mg.md3"));
 
-       precache_model("models/weapons/h_ok_shotgun.iqm");
-       precache_model("models/weapons/v_ok_shotgun.md3");
-       precache_model("models/weapons/g_ok_shotgun.md3");
+       precache_model(W_Model("h_ok_shotgun.iqm"));
+       precache_model(W_Model("v_ok_shotgun.md3"));
+       precache_model(W_Model("g_ok_shotgun.md3"));
 
-       precache_model("models/weapons/h_ok_sniper.iqm");
-       precache_model("models/weapons/v_ok_sniper.md3");
-       precache_model("models/weapons/g_ok_sniper.md3");
+       precache_model(W_Model("h_ok_sniper.iqm"));
+       precache_model(W_Model("v_ok_sniper.md3"));
+       precache_model(W_Model("g_ok_sniper.md3"));
 
-       precache_sound("weapons/dryfire.wav");
+       precache_sound(W_Sound("dryfire"));
 
        addstat(STAT_OK_AMMO_CHARGE, AS_FLOAT, ok_use_ammocharge);
        addstat(STAT_OK_AMMO_CHARGEPOOL, AS_FLOAT, ok_ammo_charge);