Merge pull request #865 from protocultor/cycleweap_quick

Faster weapon switching with 'cycleweap'
This commit is contained in:
Yamagi 2022-08-07 18:21:30 +02:00 committed by GitHub
commit 98a4522b1b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

View file

@ -9,6 +9,7 @@ original clients (Vanilla Quake II) commands are still in place.
weapon classnames separated by whitespaces. A weapon in the list is
skipped if it is not a valid weapon classname, you do not own it in
your inventory or you do not have enough ammo to use it.
By quickly tapping the bound key, you can navigate the list faster.
* **prefweap <weapons>**: Similar to the previous command, this will
select the first weapon available in the priority list given. Useful

View file

@ -1430,6 +1430,7 @@ cycle_weapon(edict_t *ent)
int i;
int start;
int num_weaps;
const char *weapname = NULL;
if (!ent)
{
@ -1446,11 +1447,20 @@ cycle_weapon(edict_t *ent)
num_weaps = gi.argc();
/* find where we want to start the search for the next eligible weapon */
if (cl->pers.weapon)
if (cl->newweapon)
{
weapname = cl->newweapon->classname;
}
else if (cl->pers.weapon)
{
weapname = cl->pers.weapon->classname;
}
if (weapname)
{
for (i = 1; i < num_weaps; i++)
{
if (Q_stricmp(cl->pers.weapon->classname, gi.argv(i)) == 0)
if (Q_stricmp(weapname, gi.argv(i)) == 0)
{
break;
}