}
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.
{
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));
}
}
if(it.itemdef) // is a registered item
{
Item_Show(it, -1);
+ it.scheduledrespawntime = 0;
RandomSelection_AddEnt(it, it.cnt, 0);
}
});