]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into Lyberta/RSWFix
authorLyberta <lyberta@lyberta.net>
Sun, 21 Jan 2018 02:51:40 +0000 (05:51 +0300)
committerLyberta <lyberta@lyberta.net>
Sun, 21 Jan 2018 02:51:40 +0000 (05:51 +0300)
1  2 
qcsrc/common/mutators/mutator/instagib/sv_instagib.qc
qcsrc/common/mutators/mutator/overkill/sv_overkill.qc

index d3ec61868487d23b9a6d6fa0ceb58ef1ab39cf7e,81384380516bf4eba48cfcd733fc8360adf30dc6..329fc0ddec3d449116fb67a041ad96b27ea8df62
@@@ -178,11 -178,6 +178,11 @@@ MUTATOR_HOOKFUNCTION(mutator_instagib, 
        instagib_stop_countdown(player);
  }
  
 +MUTATOR_HOOKFUNCTION(mutator_instagib, ShouldGiveRandomStartWeapons)
 +{
 +      return true;
 +}
 +
  MUTATOR_HOOKFUNCTION(mutator_instagib, PlayerSpawn)
  {
        entity player = M_ARGV(0, entity);
@@@ -392,7 -387,7 +392,7 @@@ void replace_with_insta_cells(entity it
  {
        entity e = new(item_vaporizer_cells);
        setorigin(e, item.origin);
-       e.noalign = item.noalign;
+       e.noalign = Item_ShouldKeepPosition(item);
        e.cnt = item.cnt;
        e.team = item.team;
        e.spawnfunc_checked = true;
index 44d52f1a7c7936e8e0735b6cea6561ddbcd71044,2b9dcd55074cdbd243be2b0fc4746a47de804b5d..d50094fb5c3e480866e8c58681d325424b5fd065
@@@ -167,11 -167,6 +167,11 @@@ MUTATOR_HOOKFUNCTION(ok, PlayerPreThink
        PHYS_INPUT_BUTTON_ATCK2(player) = false;
  }
  
 +MUTATOR_HOOKFUNCTION(ok, ShouldGiveRandomStartWeapons)
 +{
 +      return true;
 +}
 +
  MUTATOR_HOOKFUNCTION(ok, PlayerWeaponSelect)
  {
        entity player = M_ARGV(0, entity);
        }
  }
  
- void self_spawnfunc_weapon_hmg(entity this) { spawnfunc_weapon_hmg(this); }
- void self_spawnfunc_weapon_rpc(entity this) { spawnfunc_weapon_rpc(this); }
- MUTATOR_HOOKFUNCTION(ok, OnEntityPreSpawn)
- {
-       entity ent = M_ARGV(0, entity);
-       if(autocvar_g_powerups)
-       if(autocvar_g_overkill_powerups_replace)
-       {
-               if(ent.classname == "item_strength")
-               {
-                       entity wep = new(weapon_hmg);
-                       setorigin(wep, ent.origin);
-                       setmodel(wep, MDL_OK_HMG);
-                       wep.ok_item = true;
-                       wep.noalign = Item_ShouldKeepPosition(ent);
-                       wep.cnt = ent.cnt;
-                       wep.team = ent.team;
-                       wep.respawntime = g_pickup_respawntime_superweapon;
-                       wep.pickup_anyway = true;
-                       wep.spawnfunc_checked = true;
-                       setthink(wep, self_spawnfunc_weapon_hmg);
-                       wep.nextthink = time + 0.1;
-                       return true;
-               }
-               else if(ent.classname == "item_shield")
-               {
-                       entity wep = new(weapon_rpc);
-                       setorigin(wep, ent.origin);
-                       setmodel(wep, MDL_OK_RPC);
-                       wep.ok_item = true;
-                       wep.noalign = Item_ShouldKeepPosition(ent);
-                       wep.cnt = ent.cnt;
-                       wep.team = ent.team;
-                       wep.respawntime = g_pickup_respawntime_superweapon;
-                       wep.pickup_anyway = true;
-                       wep.spawnfunc_checked = true;
-                       setthink(wep, self_spawnfunc_weapon_rpc);
-                       wep.nextthink = time + 0.1;
-                       return true;
-               }
-       }
- }
  bool ok_HandleItemWaypoints(entity e)
  {
        if(!autocvar_g_overkill_itemwaypoints)
@@@ -271,9 -221,42 +226,42 @@@ MUTATOR_HOOKFUNCTION(ok, FilterItem
  {
        entity item = M_ARGV(0, entity);
  
-       if(item.ok_item)
+       if (item.ok_item)
+       {
                return false;
+       }
+       if (!autocvar_g_powerups || !autocvar_g_overkill_powerups_replace)
+       {
+               return true;
+       }
+       if (item.classname == "item_strength")
+       {
+               entity wep = new(weapon_hmg);
+               setorigin(wep, item.origin);
+               wep.ok_item = true;
+               wep.noalign = Item_ShouldKeepPosition(item);
+               wep.cnt = item.cnt;
+               wep.team = item.team;
+               wep.respawntime = g_pickup_respawntime_superweapon;
+               wep.pickup_anyway = true;
+               wep.spawnfunc_checked = true;
+               Item_Initialize(wep, "weapon_hmg");
+               return true;
+       }
+       else if (item.classname == "item_shield")
+       {
+               entity wep = new(weapon_rpc);
+               setorigin(wep, item.origin);
+               wep.ok_item = true;
+               wep.noalign = Item_ShouldKeepPosition(item);
+               wep.cnt = item.cnt;
+               wep.team = item.team;
+               wep.respawntime = g_pickup_respawntime_superweapon;
+               wep.pickup_anyway = true;
+               wep.spawnfunc_checked = true;
+               Item_Initialize(wep, "weapon_rpc");
+               return true;
+       }
        return true;
  }