]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/t_items.qc
Random start weapons: Rename i and j.
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / t_items.qc
index 92c80d7111ab6c0683ef9de37a7d8e56621fc534..1a2e92c4ff4b146203198c698cea6ff48bd4b049 100644 (file)
@@ -683,19 +683,20 @@ void Item_ScheduleInitialRespawn(entity e)
 }
 
 void GiveRandomWeapons(entity receiver, int num_weapons, string weapon_names,
-       float shells, float bullets, float rockets, float cells, float plasma)
+       entity ammo_entity)
 {
        if (num_weapons == 0)
        {
                return;
        }
        int num_potential_weapons = tokenize_console(weapon_names);
-       for (int i = 0; i < num_weapons; ++i)
+       for (int give_attempt = 0; give_attempt < num_weapons; ++give_attempt)
        {
                RandomSelection_Init();
-               for (int j = 0; j < num_potential_weapons; ++j)
+               for (int weapon_index = 0; weapon_index < num_potential_weapons;
+                       ++weapon_index)
                {
-                       string weapon = argv(j);
+                       string weapon = argv(weapon_index);
                        FOREACH(Weapons, it != WEP_Null,
                        {
                                // Finding a weapon which player doesn't have.
@@ -720,34 +721,9 @@ void GiveRandomWeapons(entity receiver, int num_weapons, string weapon_names,
                {
                        continue;
                }
-               switch (RandomSelection_chosen_ent.ammo_type)
-               {
-                       case (RESOURCE_SHELLS):
-                       {
-                               GiveResource(receiver, RESOURCE_SHELLS, shells);
-                               break;
-                       }
-                       case (RESOURCE_BULLETS):
-                       {
-                               GiveResource(receiver, RESOURCE_BULLETS, bullets);
-                               break;
-                       }
-                       case (RESOURCE_ROCKETS):
-                       {
-                               GiveResource(receiver, RESOURCE_ROCKETS, rockets);
-                               break;
-                       }
-                       case (RESOURCE_CELLS):
-                       {
-                               GiveResource(receiver, RESOURCE_CELLS, cells);
-                               break;
-                       }
-                       case (RESOURCE_PLASMA):
-                       {
-                               GiveResource(receiver, RESOURCE_PLASMA, plasma);
-                               break;
-                       }
-               }
+               GiveResource(receiver, RandomSelection_chosen_ent.ammo_type,
+                       GetResourceAmount(ammo_entity,
+                       RandomSelection_chosen_ent.ammo_type));
        }
 }
 
@@ -970,6 +946,7 @@ LABEL(pickup)
                                if(it.itemdef) // is a registered item
                                {
                                        Item_Show(it, -1);
+                                       it.scheduledrespawntime = 0;
                                        RandomSelection_AddEnt(it, it.cnt, 0);
                                }
                        });