Ejemplo n.º 1
0
    void setweapon(const char *name, bool force = false)
    {
        int gun = getweapon(name);
////////////////////////////////////////////////////////////////////////////
        if(player1->state!=CS_ALIVE || gun<GUN_FIST || gun>GUN_BOW) return;
////////////////////////////////////////////////////////////////////////////
        if(force || player1->ammo[gun]) gunselect(gun, player1);
        else playsound(S_NOAMMO);
    }
Ejemplo n.º 2
0
 void nextweapon(int dir, bool force = false)
 {
     if(player1->state!=CS_ALIVE) return;
     dir = (dir < 0 ? NUMGUNS-1 : 1);
     int gun = player1->gunselect;
     loopi(NUMGUNS)
     {
         gun = (gun + dir)%NUMGUNS;
         if(force || player1->ammo[gun]) break;
     }
     if(gun != player1->gunselect) gunselect(gun, player1);
     else playsound(S_NOAMMO);
 }
Ejemplo n.º 3
0
 void cycleweapon(int numguns, int *guns, bool force = false)
 {
     if(numguns<=0 || player1->state!=CS_ALIVE) return;
     int offset = 0;
     loopi(numguns) if(guns[i] == player1->gunselect) { offset = i+1; break; }
     loopi(numguns)
     {
         int gun = guns[(i+offset)%numguns];
         if(gun>=0 && gun<NUMGUNS && (force || player1->ammo[gun]))
         {
             gunselect(gun, player1);
             return;
         }
     }
     playsound(S_NOAMMO);
 }