Clean up c_permit values of deity commands
A player may execute a command when his player->nstat has all the bits in the command's c_permit. Normal player commands require bit(2). Command break requires bit(1), and execute requires bit(5). Deity commands require both bit(2) and bit(3). Works, because deities always have both bits set in nstat, as they may execute normal player commands, too. But it's a bit confusing. Change them to only require their own bit(3).
This commit is contained in:
parent
364b208f28
commit
481d1dabe2
3 changed files with 9 additions and 9 deletions
|
@ -38,7 +38,7 @@ struct cmndstr {
|
||||||
int c_cost; /* btu cost of command */
|
int c_cost; /* btu cost of command */
|
||||||
int (*c_addr)(void); /* core addr of appropriate routine */
|
int (*c_addr)(void); /* core addr of appropriate routine */
|
||||||
int c_flags; /* command flags */
|
int c_flags; /* command flags */
|
||||||
int c_permit; /* who is allowed to "do" this command */
|
int c_permit; /* command capabilities required */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Command flag bits */
|
/* Command flag bits */
|
||||||
|
|
|
@ -41,13 +41,13 @@
|
||||||
#include "queue.h"
|
#include "queue.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
/* nstat values */
|
/* player command capabilities */
|
||||||
#define SANCT bit(1)
|
#define SANCT bit(1) /* can execute commands available in sanctuary */
|
||||||
#define NORM bit(2)
|
#define NORM bit(2) /* can execute active player commands */
|
||||||
#define GOD (bit(3) | NORM)
|
#define GOD bit(3) /* can execute deity commands */
|
||||||
#define EXEC bit(5)
|
#define EXEC bit(5) /* can execute the execute command */
|
||||||
#define CAP bit(6)
|
#define CAP bit(6) /* has capital */
|
||||||
#define MONEY bit(7)
|
#define MONEY bit(7) /* isn't broke */
|
||||||
|
|
||||||
enum player_sleep {
|
enum player_sleep {
|
||||||
PLAYER_SLEEP_NEVER, PLAYER_SLEEP_ON_INPUT, PLAYER_SLEEP_FREELY
|
PLAYER_SLEEP_NEVER, PLAYER_SLEEP_ON_INPUT, PLAYER_SLEEP_FREELY
|
||||||
|
|
|
@ -70,7 +70,7 @@ player_set_nstat(struct player *pl, struct natstr *np)
|
||||||
{
|
{
|
||||||
static int nstat[] = {
|
static int nstat[] = {
|
||||||
/* must match nat_status */
|
/* must match nat_status */
|
||||||
0, 0, 0, SANCT, NORM, GOD | CAP | MONEY
|
0, 0, 0, SANCT, NORM, GOD | NORM | CAP | MONEY
|
||||||
};
|
};
|
||||||
|
|
||||||
if (CANT_HAPPEN(pl->cnum != np->nat_cnum))
|
if (CANT_HAPPEN(pl->cnum != np->nat_cnum))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue