src/flags.h File Reference

#include "copyright.h"
#include "htab.h"
#include "db.h"

Include dependency graph for flags.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  flag_entry
struct  object_entry
struct  flagset

Defines

#define FLAG_WORD2   0x1
#define FLAG_WORD3   0x2
#define TYPE_ROOM   0x0
#define TYPE_THING   0x1
#define TYPE_EXIT   0x2
#define TYPE_PLAYER   0x3
#define TYPE_GARBAGE   0x5
#define NOTYPE   0x7
#define TYPE_MASK   0x7
#define SEETHRU   0x00000008
#define WIZARD   0x00000010
#define LINK_OK   0x00000020
#define DARK   0x00000040
#define JUMP_OK   0x00000080
#define STICKY   0x00000100
#define DESTROY_OK   0x00000200
#define HAVEN   0x00000400
#define QUIET   0x00000800
#define HALT   0x00001000
#define TRACE   0x00002000
#define GOING   0x00004000
#define MONITOR   0x00008000
#define MYOPIC   0x00010000
#define PUPPET   0x00020000
#define CHOWN_OK   0x00040000
#define ENTER_OK   0x00080000
#define VISUAL   0x00100000
#define IMMORTAL   0x00200000
#define HAS_STARTUP   0x00400000
#define OPAQUE   0x00800000
#define VERBOSE   0x01000000
#define INHERIT   0x02000000
#define NOSPOOF   0x04000000
#define ROBOT   0x08000000
#define SAFE   0x10000000
#define ROYALTY   0x20000000
#define HEARTHRU   0x40000000
#define TERSE   0x80000000
#define KEY   0x00000001
#define ABODE   0x00000002
#define FLOATING   0x00000004
#define UNFINDABLE   0x00000008
#define PARENT_OK   0x00000010
#define LIGHT   0x00000020
#define HAS_LISTEN   0x00000040
#define HAS_FWDLIST   0x00000080
#define AUDITORIUM   0x00000100
#define ANSI   0x00000200
#define HEAD_FLAG   0x00000400
#define FIXED   0x00000800
#define UNINSPECTED   0x00001000
#define NO_COMMAND   0x00002000
#define NOBLEED   0x00008000
#define STAFF   0x00010000
#define HAS_DAILY   0x00020000
#define GAGGED   0x00040000
#define HARDCODE   0x00080000
#define IN_CHARACTER   0x00100000
#define ANSIMAP   0x00200000
#define HAS_HOURLY   0x00400000
#define MULTIOK   0x00800000
#define VACATION   0x01000000
#define PLAYER_MAILS   0x02000000
#define BLIND   0x04000000
#define ZOMBIE   0x08000000
#define SUSPECT   0x10000000
#define COMPRESS   0x20000000
#define CONNECTED   0x40000000
#define SLAVE   0x80000000
#define PENN_COMBAT   0x8
#define PENN_WIZARD   0x10
#define PENN_LINK_OK   0x20
#define PENN_DARK   0x40
#define PENN_VERBOSE   0x80
#define PENN_STICKY   0x100
#define PENN_TRANSPARENT   0x200
#define PENN_HAVEN   0x400
#define PENN_QUIET   0x800
#define PENN_HALT   0x1000
#define PENN_UNFIND   0x2000
#define PENN_GOING   0x4000
#define PENN_ACCESSED   0x8000
#define PENN_MARKED   0x10000
#define PENN_CHOWN_OK   0x40000
#define PENN_ENTER_OK   0x80000
#define PENN_VISUAL   0x100000
#define PENN_ROYALTY   0x400000
#define PENN_OPAQUE   0x800000
#define PENN_INHERIT   0x1000000
#define PENN_DEBUGGING   0x2000000
#define PENN_SAFE   0x4000000
#define PENN_STARTUP   0x8000000
#define PENN_AUDIBLE   0x10000000
#define PENN_NO_COMMAND   0x20000000
#define PENN_PLAYER_TERSE   0x8
#define PENN_PLAYER_MYOPIC   0x10
#define PENN_PLAYER_NOSPOOF   0x20
#define PENN_PLAYER_SUSPECT   0x40
#define PENN_PLAYER_GAGGED   0x80
#define PENN_PLAYER_MONITOR   0x100
#define PENN_PLAYER_CONNECT   0x200
#define PENN_PLAYER_ANSI   0x400
#define PENN_PLAYER_ZONE   0x800
#define PENN_PLAYER_HEAD   0x1000
#define PENN_PLAYER_JUDGE   0x2000
#define PENN_PLAYER_FIXED   0x4000
#define PENN_PLAYER_ADMIN   0x8000
#define PENN_PLAYER_VACATION   0x10000
#define PENN_PLAYER_MORTAL   0x20000
#define PENN_PLAYER_SLAVE   0x40000
#define PENN_PLAYER_COLOR   0x80000
#define PENN_PLAYER_WEIRDANSI   0x100000
#define PENN_COMBAT_FLAG   0x200000
#define PENN_THING_DEST_OK   0x8
#define PENN_THING_PUPPET   0x10
#define PENN_THING_LISTEN   0x20
#define PENN_THING_WEAPON   0x40
#define PENN_THING_ARMOR   0x80
#define PENN_THING_ZONED   0x100
#define PENN_THING_NOLEAVE   0x200
#define PENN_ROOM_FLOATING   0x8
#define PENN_ROOM_ABODE   0x10
#define PENN_ROOM_JUMP_OK   0x20
#define PENN_ROOM_NO_TEL   0x40
#define PENN_ROOM_TEMPLE   0x80
#define PENN_ROOM_LISTEN   0x100
#define PENN_ROOM_ZEROG   0x200
#define PENN_ROOM_SLOCK   0x400
#define PENN_ROOM_UNINSPECT   0x1000
#define PENN_ROOM_DSPACE   0x2000
#define PENN_EXIT_LIGHT   0x10
#define PENN_EXIT_DSPACE   0x20
#define PERN_SLAVE   0x00000080
#define PERN_KEY   0x00000008
#define PERN_NOSPOOF   0x00200000
#define PERN_SUSPECT   0x04000000
#define PERN_VERBOSE   0x00000080
#define PERN_IMMORTAL   0x00002000
#define PERN_MONITOR   0x00200000
#define PERN_SAFE   0x04000000
#define PERN_UNFIND   0x02000000
#define V2_ACCESSED   0x00008000
#define V3_MARKED   0x00010000
#define V4_GAGGED   0x00000080
#define V4_SUSPECT   0x20000000
#define V6OBJ_KEY   0x00000008
#define V6_BUILDER   0x00000008
#define V6_FLOATING   0x00000008
#define V6EXIT_KEY   0x00000080
#define V6_SUSPECT   0x00000080
#define V6_CONNECT   0x00000200
#define V6_ABODE   0x00000200
#define V6ROOM_JUMPOK   0x00002000
#define V6PLYR_UNFIND   0x00002000
#define V6ROOM_UNFIND   0x08000000
#define V6_SLAVE   0x10000000
#define MUSE_BUILD   0x00000010
#define MUSE_SLAVE   0x00000080
#define MUSE_KEY   0x00000010
#define MUSE_DEST_OK   0x00000200
#define MUSE_ABODE   0x00000200
#define MUSE_SEETHRU   0x00000200
#define MUSE_UNFIND   0x00001000
#define MUSE_CHOWN_OK   0x00000020
#define MUSE_DARK   0x00000040
#define MUSE_STICKY   0x00000100
#define MUSE_HAVEN   0x00000400
#define MUSE_INHERIT   0x00002000
#define MUSE_GOING   0x00004000
#define MUSE_PUPPET   0x00020000
#define MUSE_LINK_OK   0x00040000
#define MUSE_ENTER_OK   0x00080000
#define MUSE_VISUAL   0x00100000
#define MUSE_OPAQUE   0x00800000
#define MUSE_QUIET   0x01000000
#define MUD_ABODE   0x00000800
#define MUD_ROBOT   0x00004000
#define MUD_CHOWN_OK   0x00008000
#define OF_CONTENTS   0x0001
#define OF_LOCATION   0x0002
#define OF_EXITS   0x0004
#define OF_HOME   0x0008
#define OF_DROPTO   0x0010
#define OF_OWNER   0x0020
#define OF_SIBLINGS   0x0040
#define unparse_flags(p, t)   decode_flags(p,Flags(t),Flags2(t),Flags3(t))
#define GOD   ((dbref) 1)
#define IS(thing, type, flag)   ((Typeof(thing)==(type)) && (Flags(thing) & (flag)))
#define Typeof(x)   (Flags(x) & TYPE_MASK)
#define God(x)   ((x) == GOD)
#define isRobot(x)   ((Flags(x) & ROBOT) != 0)
#define Robot(x)   (isPlayer(x) && isRobot(x))
#define Alive(x)   (isPlayer(x) || (Puppet(x) && Has_contents(x)))
#define OwnsOthers(x)   ((object_types[Typeof(x)].flags & OF_OWNER) != 0)
#define Has_location(x)   ((object_types[Typeof(x)].flags & OF_LOCATION) != 0)
#define Has_contents(x)   ((object_types[Typeof(x)].flags & OF_CONTENTS) != 0)
#define Has_exits(x)   ((object_types[Typeof(x)].flags & OF_EXITS) != 0)
#define Has_siblings(x)   ((object_types[Typeof(x)].flags & OF_SIBLINGS) != 0)
#define Has_home(x)   ((object_types[Typeof(x)].flags & OF_HOME) != 0)
#define Has_dropto(x)   ((object_types[Typeof(x)].flags & OF_DROPTO) != 0)
#define Home_ok(x)   ((object_types[Typeof(x)].flags & OF_HOME) != 0)
#define isPlayer(x)   (Typeof(x) == TYPE_PLAYER)
#define isRoom(x)   (Typeof(x) == TYPE_ROOM)
#define isExit(x)   (Typeof(x) == TYPE_EXIT)
#define isThing(x)   (Typeof(x) == TYPE_THING)
#define Good_obj(x)
#define Good_owner(x)   (Good_obj(x) && OwnsOthers(x))
#define Royalty(x)   ((Flags(x) & ROYALTY) != 0)
#define WizRoy(x)   (Royalty(x) || Wizard(x))
#define Fixed(x)   ((Flags2(x) & FIXED) != 0)
#define Uninspected(x)   ((Flags2(x) & UNINSPECTED) != 0)
#define Ansi(x)   ((Flags2(x) & ANSI) != 0)
#define Ansimap(x)   ((Flags2(x) & ANSIMAP) != 0)
#define No_Command(x)   ((Flags2(x) & NO_COMMAND) != 0)
#define NoBleed(x)   ((Flags2(x) & NOBLEED) != 0)
#define Compress(x)   ((Flags2(x) & COMPRESS) != 0)
#define Transparent(x)   ((Flags(x) & SEETHRU) != 0)
#define Link_ok(x)   (((Flags(x) & LINK_OK) != 0) && Has_contents(x))
#define Wizard(x)
#define Dark(x)   (((Flags(x) & DARK) != 0) && (Wizard(x) || !Alive(x)))
#define Jump_ok(x)   (((Flags(x) & JUMP_OK) != 0) && Has_contents(x))
#define Sticky(x)   ((Flags(x) & STICKY) != 0)
#define Destroy_ok(x)   ((Flags(x) & DESTROY_OK) != 0)
#define Haven(x)   ((Flags(x) & HAVEN) != 0)
#define Player_haven(x)   ((Flags(Owner(x)) & HAVEN) != 0)
#define Quiet(x)   ((Flags(x) & QUIET) != 0)
#define Halted(x)   ((Flags(x) & HALT) != 0)
#define Trace(x)   ((Flags(x) & TRACE) != 0)
#define Going(x)   ((Flags(x) & GOING) != 0)
#define Monitor(x)   ((Flags(x) & MONITOR) != 0)
#define Myopic(x)   ((Flags(x) & MYOPIC) != 0)
#define Puppet(x)   ((Flags(x) & PUPPET) != 0)
#define Chown_ok(x)   ((Flags(x) & CHOWN_OK) != 0)
#define Enter_ok(x)
#define Visual(x)   ((Flags(x) & VISUAL) != 0)
#define Immortal(x)
#define Opaque(x)   ((Flags(x) & OPAQUE) != 0)
#define Verbose(x)   ((Flags(x) & VERBOSE) != 0)
#define Inherits(x)
#define Nospoof(x)   ((Flags(x) & NOSPOOF) != 0)
#define Safe(x, p)
#define Audible(x)   ((Flags(x) & HEARTHRU) != 0)
#define Terse(x)   ((Flags(x) & TERSE) != 0)
#define Gagged(x)   ((Flags2(x) & GAGGED) != 0)
#define Vacation(x)   ((Flags2(x) & VACATION) != 0)
#define Key(x)   ((Flags2(x) & KEY) != 0)
#define Abode(x)   (((Flags2(x) & ABODE) != 0) && Home_ok(x))
#define Auditorium(x)   ((Flags2(x) & AUDITORIUM) != 0)
#define Floating(x)   ((Flags2(x) & FLOATING) != 0)
#define Findable(x)   ((Flags2(x) & UNFINDABLE) == 0)
#define Hideout(x)   ((Flags2(x) & UNFINDABLE) != 0)
#define Parent_ok(x)   ((Flags2(x) & PARENT_OK) != 0)
#define Light(x)   ((Flags2(x) & LIGHT) != 0)
#define Hardcode(x)   ((Flags2(x) & HARDCODE) != 0)
#define Zombie(x)   ((Flags2(x) & ZOMBIE) != 0)
#define MultiOK(x)   ((Flags2(x) & MULTIOK) != 0)
#define In_Character(x)   ((Flags2(x) & IN_CHARACTER) != 0)
#define Suspect(x)   ((Flags2(Owner(x)) & SUSPECT) != 0)
#define Connected(x)
#define Slave(x)   ((Flags2(Owner(x)) & SLAVE) != 0)
#define Hidden(x)   ((Flags(x) & DARK) || (Flags2(x) & UNFINDABLE))
#define Staff(x)   ((Flags2(x) & STAFF))
#define H_Startup(x)   ((Flags(x) & HAS_STARTUP) != 0)
#define H_Fwdlist(x)   ((Flags2(x) & HAS_FWDLIST) != 0)
#define H_Listen(x)   ((Flags2(x) & HAS_LISTEN) != 0)
#define s_Slave(x)   s_Flags2((x), Flags2(x) | SLAVE)
#define s_Fixed(x)   s_Flags2((x), Flags2(x) | FIXED)
#define s_Halted(x)   s_Flags((x), Flags(x) | HALT)
#define s_Going(x)   s_Flags((x), Flags(x) | GOING)
#define s_Connected(x)   s_Flags2((x), Flags2(x) | CONNECTED)
#define s_Hardcode(x)   s_Flags2((x), Flags2(x) | HARDCODE)
#define c_Hardcode(x)   s_Flags2((x), Flags2(x) & ~HARDCODE)
#define s_Zombie(x)   s_Flags2((x), Flags2(x) | ZOMBIE)
#define c_Zombie(x)   s_Flags2((x), Flags2(x) & ~ZOMBIE)
#define c_Connected(x)   s_Flags2((x), Flags2(x) & ~CONNECTED)
#define s_In_Character(x)   s_Flags2((x), Flags2(x) | IN_CHARACTER)
#define c_In_Character(x)   s_Flags2((x), Flags2(x) & ~IN_CHARACTER)
#define Parentable(p, x)
#define OnEnterLock(p, x)   (check_zone(p,x))
#define Examinable(p, x)
#define MyopicExam(p, x)
#define Controls(p, x)
#define Affects(p, x)
#define Mark(x)
#define Unmark(x)
#define Marked(x)
#define Mark_all(i)
#define Unmark_all(i)
#define Link_exit(p, x)
#define Linkable(p, x)
#define See_attr(p, x, a, o, f)
#define See_attr_explicit(p, x, a, o, f)
#define Set_attr(p, x, a, f)
#define Read_attr(p, x, a, o, f)
#define Write_attr(p, x, a, f)
#define Has_power(p, x)   (check_access((p),powers_nametab[x].flag))
#define s_Dark(x)   s_Flags((x),Flags(x) | DARK)

Typedefs

typedef flag_entry FLAGENT
typedef object_entry OBJENT
typedef flagset FLAGSET

Functions

void init_flagtab (void)
void display_flagtab (dbref)
void flag_set (dbref, dbref, char *, int)
char * flag_description (dbref, dbref)
FLAGENTfind_flag (dbref, char *)
char * decode_flags (dbref, FLAG, int, int)
int has_flag (dbref, dbref, char *)
char * unparse_object (dbref, dbref, int)
char * unparse_object_numonly (dbref)
int convert_flags (dbref, char *, FLAGSET *, FLAG *)
void decompile_flags (dbref, dbref, char *)

Variables

OBJENT object_types [8]


Define Documentation

#define Abode ( x   )     (((Flags2(x) & ABODE) != 0) && Home_ok(x))

Definition at line 487 of file flags.h.

Referenced by can_set_home().

#define ABODE   0x00000002

Definition at line 63 of file flags.h.

Referenced by unparse_object().

#define Affects ( p,
x   ) 

Value:

(Good_obj(x) && \
                         (!(God(x) && !God(p))) && \
                         (Wizard(p) || \
                          (Owner(p) == Owner(x))))

Definition at line 543 of file flags.h.

Referenced by match_affected().

#define Alive ( x   )     (isPlayer(x) || (Puppet(x) && Has_contents(x)))

Definition at line 421 of file flags.h.

Referenced by malias_read(), and mech_startup().

#define Ansi ( x   )     ((Flags2(x) & ANSI) != 0)

Definition at line 443 of file flags.h.

Referenced by colorize(), and queue_string().

#define ANSI   0x00000200

Definition at line 71 of file flags.h.

#define Ansimap ( x   )     ((Flags2(x) & ANSIMAP) != 0)

Definition at line 444 of file flags.h.

Referenced by MakeMapText(), and mech_lrsmap().

#define ANSIMAP   0x00200000

Definition at line 83 of file flags.h.

#define Audible ( x   )     ((Flags(x) & HEARTHRU) != 0)

Definition at line 481 of file flags.h.

Referenced by notify_checked(), and sweep_check().

#define Auditorium ( x   )     ((Flags2(x) & AUDITORIUM) != 0)

Definition at line 488 of file flags.h.

Referenced by sp_ok().

#define AUDITORIUM   0x00000100

Definition at line 70 of file flags.h.

#define BLIND   0x04000000

Definition at line 89 of file flags.h.

#define c_Connected ( x   )     s_Flags2((x), Flags2(x) & ~CONNECTED)

Definition at line 517 of file flags.h.

Referenced by announce_disconnect(), and db_read().

#define c_Hardcode ( x   )     s_Flags2((x), Flags2(x) & ~HARDCODE)

Definition at line 514 of file flags.h.

Referenced by CreateNewSpecialObject(), do_destroy(), handle_xcode(), LoadSpecialObjects(), and mech_discard_event().

#define c_In_Character ( x   )     s_Flags2((x), Flags2(x) & ~IN_CHARACTER)

Definition at line 519 of file flags.h.

#define c_Zombie ( x   )     s_Flags2((x), Flags2(x) & ~ZOMBIE)

Definition at line 516 of file flags.h.

#define Chown_ok ( x   )     ((Flags(x) & CHOWN_OK) != 0)

Definition at line 466 of file flags.h.

Referenced by do_chown().

#define CHOWN_OK   0x00040000

Definition at line 46 of file flags.h.

Referenced by chown_all(), do_chown(), and unparse_object().

#define Compress ( x   )     ((Flags2(x) & COMPRESS) != 0)

Definition at line 447 of file flags.h.

#define COMPRESS   0x20000000

Definition at line 93 of file flags.h.

#define Connected ( x   ) 

Value:

(((Flags2(x) & CONNECTED) != 0) && \
                         (Typeof(x) == TYPE_PLAYER))

Definition at line 499 of file flags.h.

Referenced by AccumulateCommXP(), can_see(), do_comprintf(), do_comsend(), do_comwho(), do_mail_list(), do_mail_read(), do_mail_review(), do_prog(), do_quitprog(), do_top(), fun_ports(), fun_zplayers(), Hearer(), make_guest(), notify_checked(), page_check(), raw_notify_newline(), raw_notify_raw(), sweep_check(), and turret_initialize().

#define CONNECTED   0x40000000

Definition at line 94 of file flags.h.

Referenced by decode_flags(), flag_description(), handle_flaglists(), has_flag(), load_restart_db(), and load_restart_db_xdr().

#define Controls ( p,
x   ) 

Value:

(Good_obj(x) && \
                         (!(God(x) && !God(p))) && \
                         (Control_All(p) || \
                          ((Owner(p) == Owner(x)) && \
                           (Inherits(p) || !Inherits(x))) || \
                           OnEnterLock(p,x)))

Definition at line 536 of file flags.h.

Referenced by can_set_home(), divest_object(), do_alias(), do_chown(), do_chzone(), do_clone(), do_drop(), do_enter(), do_get(), do_last(), do_leave(), do_link(), do_move(), do_parent(), do_pemit(), do_pemit_list(), do_teleport(), fun_children(), fun_controls(), fun_empty(), fun_inzone(), fun_items(), fun_lstack(), fun_peek(), fun_pop(), fun_push(), fun_zplayers(), fun_zwho(), get_stats(), match_controlled(), match_controlled_quiet(), match_possessed(), move_object(), nearby_or_control(), and view_atr().

#define Dark ( x   )     (((Flags(x) & DARK) != 0) && (Wizard(x) || !Alive(x)))

Definition at line 453 of file flags.h.

Referenced by announce_connect(), announce_disconnect(), can_see(), check_idle(), do_channelwho(), do_comconnectraw_notify(), do_comdisconnectraw_notify(), do_comwho(), do_delcomchannel(), do_joinchannel(), do_leavechannel(), do_move(), do_sweep(), do_teleport(), dump_users(), exit_displayable(), exit_visible(), fun_conn(), fun_exit(), fun_idle(), fun_lexits(), fun_next(), look_contents(), look_exits(), lookup_player(), match_exit_internal(), match_possessed(), match_status(), move_exit(), move_via_exit(), next_exit(), page_check(), process_enter_loc(), process_leave_loc(), and sweep_check().

#define DARK   0x00000040

Definition at line 34 of file flags.h.

Referenced by accept_client_input(), announce_disconnect(), check_connect(), check_idle(), decode_flags(), flag_description(), handle_flaglists(), and has_flag().

#define Destroy_ok ( x   )     ((Flags(x) & DESTROY_OK) != 0)

Definition at line 456 of file flags.h.

Referenced by do_destroy().

#define DESTROY_OK   0x00000200

Definition at line 37 of file flags.h.

Referenced by unparse_object().

#define Enter_ok ( x   ) 

Value:

(((Flags(x) & ENTER_OK) != 0) && \
                                Has_location(x) && Has_contents(x))

Definition at line 467 of file flags.h.

Referenced by do_enter_internal(), do_get(), give_thing(), and match_possessed().

#define ENTER_OK   0x00080000

Definition at line 47 of file flags.h.

#define Examinable ( p,
x   ) 

Value:

(((Flags(x) & VISUAL) != 0) || \
                         (See_All(p)) || \
                         (Owner(p) == Owner(x)) || \
                         OnEnterLock(p,x))

Definition at line 526 of file flags.h.

Referenced by check_read_perms(), do_clone(), do_entrances(), do_examine(), do_sweep(), do_verb(), exam_wildattrs(), exit_visible(), find_wild_attrs(), fun_btarmorstatus(), fun_btcritslot(), fun_btcritstatus(), fun_btdamagemech(), fun_btdamages(), fun_btengrate(), fun_btgetbv(), fun_btgetrange(), fun_btgetrealmaxspeed(), fun_btgetxcodevalue(), fun_bthexlos(), fun_btid2db(), fun_btlosm2m(), fun_btmakepilotroll(), fun_btmapelev(), fun_btmapterr(), fun_btnumrepjobs(), fun_btremovestores(), fun_btsetarmorstatus(), fun_btsetmaxspeed(), fun_btsetxcodevalue(), fun_btsetxy(), fun_btshowcritstatus_ref(), fun_btshowstatus_ref(), fun_btshowwspecs_ref(), fun_bttechlist(), fun_bttechstatus(), fun_btticweaps(), fun_btunderrepair(), fun_btweaponstatus(), fun_con(), fun_exit(), fun_flags(), fun_grep(), fun_grepi(), fun_hasattr(), fun_hasattrp(), fun_hasflag(), fun_haspower(), fun_home(), fun_lcon(), fun_lexits(), fun_lparent(), fun_money(), fun_next(), fun_objmem(), fun_parent(), fun_playmem(), fun_visible(), fun_zone(), locatable(), look_contents(), look_simple(), match_examinable(), match_exit_internal(), next_exit(), and unparse_object().

#define Findable ( x   )     ((Flags2(x) & UNFINDABLE) == 0)

Definition at line 490 of file flags.h.

Referenced by dump_users(), and locatable().

#define Fixed ( x   )     ((Flags2(x) & FIXED) != 0)

Definition at line 441 of file flags.h.

Referenced by do_move(), do_teleport(), and process_command().

#define FIXED   0x00000800

Definition at line 73 of file flags.h.

#define FLAG_WORD2   0x1

Definition at line 16 of file flags.h.

Referenced by cf_set_flags(), convert_flags(), decode_flags(), decompile_flags(), fh_any(), flag_description(), and has_flag().

#define FLAG_WORD3   0x2

Definition at line 17 of file flags.h.

Referenced by cf_set_flags(), convert_flags(), decode_flags(), decompile_flags(), fh_any(), flag_description(), and has_flag().

#define Floating ( x   )     ((Flags2(x) & FLOATING) != 0)

Definition at line 489 of file flags.h.

Referenced by check_floating().

#define FLOATING   0x00000004

Definition at line 64 of file flags.h.

#define Gagged ( x   )     ((Flags2(x) & GAGGED) != 0)

Definition at line 484 of file flags.h.

Referenced by check_access(), In_IC_Loc(), and sp_ok().

#define GAGGED   0x00040000

Definition at line 80 of file flags.h.

#define God ( x   )     ((x) == GOD)

Definition at line 418 of file flags.h.

Referenced by boot_by_port(), check_access(), check_connect(), convert_flags(), decode_flags(), destroyable(), display_flagtab(), display_nametab(), display_powertab(), do_boot(), do_chown(), do_comwho(), do_lock(), do_mail_nuke(), do_malias_list(), do_malias_list_all(), do_newpassword(), do_prog(), do_unlock(), fh_dark_bit(), fh_fixed(), fh_god(), fh_going_bit(), fh_wiz(), fh_wiz_bit(), fh_wizroy(), flag_description(), fun_mail(), fun_setlock(), fwdlist_load(), has_flag(), has_power(), interp_nametab(), list_cf_access(), listset_nametab(), load_commac(), load_comsystem(), lookup_player(), mmdb_db_read(), ph_god(), ph_wiz(), ph_wizroy(), power_description(), purge_commac(), and test_atr().

#define GOD   ((dbref) 1)

Definition at line 310 of file flags.h.

Referenced by auto_com_event(), auto_command_dropoff(), auto_command_embark(), auto_command_pickup(), auto_enter_event(), autoeject(), bt_set_attr(), cf_bool(), cf_modify_bits(), cf_option(), cf_or_in_bits(), cf_set_bits(), char_disembark(), char_eject(), check_dead_refs(), create_guest(), DamageMech(), db_grow(), db_write_object(), destroy_obj(), DestroyMech(), DestroySection(), do_magic(), do_malias_add(), do_malias_desc(), do_malias_list_all(), do_malias_remove(), do_malias_send(), eliminate_empties(), fun_btsetxy(), fun_objeval(), get_malias(), get_weight(), initialize_objects(), initiate_ood(), Leave_DS_Bay(), Leave_Hangar(), load_refmech(), load_template(), load_update1(), load_update4(), log_name(), make_guest(), mech_attachcables(), mech_discard_event(), mech_dropoff(), mech_eject(), mech_embark(), mech_enter_event(), mech_enterbay_event(), mech_pickup(), mech_startup(), mech_udisembark(), mechrep_Rsavetemp2(), notify_checked(), process_preload(), set_player_folder(), ShutDownMap(), shutdownsock(), and stuff_change_sub().

#define Going ( x   )     ((Flags(x) & GOING) != 0)

Definition at line 462 of file flags.h.

Referenced by can_set_home(), check_contents_chains(), check_dead_refs(), check_events(), check_floating(), check_loc_contents(), check_loc_exits(), check_pennies(), count_quota(), db_write(), do_comwho(), do_destroy(), do_leave(), do_top(), fh_going_bit(), get_stats(), load_commac(), load_comsystem(), LoadSpecialObjects(), mmdb_db_read(), move_exit(), process_command(), process_preload(), purge_commac(), purge_going(), and xml_db_write().

#define GOING   0x00004000

Definition at line 42 of file flags.h.

Referenced by db_grow(), destroy_obj(), and initialize_objects().

#define Good_obj ( x   ) 

Value:

(((x) >= 0) && ((x) < mudstate.db_top) && \
                         (Typeof(x) < NOTYPE))

Definition at line 435 of file flags.h.

Referenced by absolute_name(), addMechToC3iNetwork(), addMechToC3Network(), atr_match(), atr_pget_info(), atr_pget_str(), auto_cal_mapindex(), auto_reply(), buildTempNetwork(), can_set_home(), check_dead_refs(), check_loc_contents(), check_loc_exits(), check_misplaced_obj(), clearC3iNetwork(), clearC3Network(), cque_find(), create_guest(), create_obj(), debug_examine(), decode_flags(), destroy_guest(), destroy_obj(), dflt_from_msg(), did_it(), do_clone(), do_drop(), do_entrances(), do_examine(), do_get(), do_leave(), do_link(), do_look(), do_mail_debug(), do_mail_stats(), do_malias_create(), do_pemit_list(), do_prog(), do_quitprog(), do_quota(), do_sweep(), do_teleport(), do_ufun(), do_verb(), do_wait(), dump_users(), econ_change_items(), econ_find_items(), econ_set_items(), explode_unit(), find_connected_name(), findC3RangeWithNetwork(), fun_btaddstores(), fun_bthexinblz(), fun_btlistblz(), fun_btloadmap(), fun_btloadmech(), fun_btmechfreqs(), fun_btsetxy(), fun_btstores(), fun_btunitfixable(), fun_conn(), fun_elock(), fun_exit(), fun_filter(), fun_fold(), fun_foreach(), fun_hasflag(), fun_haspower(), fun_home(), fun_idle(), fun_isdbref(), fun_lexits(), fun_locate(), fun_lparent(), fun_map(), fun_mix(), fun_munge(), fun_next(), fun_parent(), fun_ports(), fun_rloc(), fun_room(), fun_sortby(), fun_type(), fun_udefault(), fun_visible(), fwdlist_load(), fwdlist_rewrite(), get_obj_and_lock(), get_stats(), getMech(), GetMechID(), GetMechToMechID(), GetMechToMechID_base(), locatable(), log_type_and_name(), look_atrs(), look_exits(), look_in(), lookup_player(), malias_read(), mark_place(), match_absolute(), match_carried_exit(), match_carried_exit_with_parents(), match_controlled(), match_controlled_quiet(), match_exit(), match_exit_internal(), match_exit_with_parents(), match_here(), match_master_exit(), match_me(), match_neighbor(), match_numeric(), match_player(), match_possessed(), match_possession(), match_status(), match_zone_exit(), mech_contacts(), mech_masc_event(), mech_scharge_event(), mech_startup(), mech_udisembark(), mechrep_Rsettarget(), mechSeenByNetwork(), move_exit(), move_via_teleport(), nearby(), nearby_or_control(), notify_checked(), OBJTYP(), open_exit(), parse_attrib_wild(), parse_boolexp_L(), parse_linkable_room(), parse_msglist(), parse_thing_slash(), pcache_find(), process_command(), process_sex(), process_sticky_dropto(), promote_match(), report(), search_setup(), sendNetworkMessage(), show_que(), showNetworkData(), showNetworkTargets(), unparse_object(), unparse_object_numonly(), validateC3iNetwork(), validateC3Network(), ValidMap(), where_is(), where_room(), and WhichSpecial().

#define Good_owner ( x   )     (Good_obj(x) && OwnsOthers(x))

Definition at line 437 of file flags.h.

Referenced by check_dead_refs(), check_floating(), and destroy_obj().

#define H_Fwdlist ( x   )     ((Flags2(x) & HAS_FWDLIST) != 0)

Definition at line 505 of file flags.h.

Referenced by do_entrances(), and process_preload().

#define H_Listen ( x   )     ((Flags2(x) & HAS_LISTEN) != 0)

Definition at line 506 of file flags.h.

Referenced by notify_checked().

#define H_Startup ( x   )     ((Flags(x) & HAS_STARTUP) != 0)

Definition at line 504 of file flags.h.

#define HALT   0x00001000

Definition at line 40 of file flags.h.

Referenced by chown_all(), do_chown(), do_toad(), and link_exit().

#define Halted ( x   )     ((Flags(x) & HALT) != 0)

Definition at line 460 of file flags.h.

Referenced by atr_match(), do_top(), LoadSpecialObjects(), notify_checked(), process_command(), and setup_que().

#define Hardcode ( x   )     ((Flags2(x) & HARDCODE) != 0)

Definition at line 494 of file flags.h.

Referenced by debug_fixmap(), do_destroy(), do_set(), explode_unit(), fh_xcode_bit(), getMech(), HandledCommand_sub(), LoadSpecialObjects(), mech_startup(), mech_udisembark(), mechrep_Rsettarget(), set_attr_internal(), WhichSpecial(), WhichSpecialS(), and zap_check().

#define HARDCODE   0x00080000

Definition at line 81 of file flags.h.

#define Has_contents ( x   )     ((object_types[Typeof(x)].flags & OF_CONTENTS) != 0)

Definition at line 424 of file flags.h.

Referenced by check_dead_refs(), do_examine(), do_link(), do_pemit(), do_sweep(), do_teleport(), fun_con(), fun_lcon(), HandledCommand(), match_possession(), parse_linkable_room(), process_cmdent(), and process_command().

#define HAS_DAILY   0x00020000

Definition at line 79 of file flags.h.

Referenced by atr_add_raw(), atr_clr(), and check_events().

#define Has_dropto ( x   )     ((object_types[Typeof(x)].flags & OF_DROPTO) != 0)

Definition at line 428 of file flags.h.

Referenced by fun_home(), process_dropped_dropto(), and process_sticky_dropto().

#define Has_exits ( x   )     ((object_types[Typeof(x)].flags & OF_EXITS) != 0)

Definition at line 425 of file flags.h.

Referenced by do_sweep(), fun_exit(), fun_lexits(), look_exits(), match_carried_exit(), match_carried_exit_with_parents(), match_exit_internal(), match_master_exit(), and match_zone_exit().

#define HAS_FWDLIST   0x00000080

Definition at line 69 of file flags.h.

Referenced by atr_add_raw(), and atr_clr().

#define Has_home ( x   )     ((object_types[Typeof(x)].flags & OF_HOME) != 0)

Definition at line 427 of file flags.h.

Referenced by fun_home().

#define HAS_HOURLY   0x00400000

Definition at line 84 of file flags.h.

Referenced by atr_add_raw(), atr_clr(), and check_events().

#define HAS_LISTEN   0x00000040

Definition at line 68 of file flags.h.

Referenced by atr_add_raw(), and atr_clr().

#define Has_location ( x   )     ((object_types[Typeof(x)].flags & OF_LOCATION) != 0)

Definition at line 423 of file flags.h.

Referenced by check_contents_chains(), check_loc_contents(), did_it(), divest_object(), do_clone(), do_entrances(), do_sweep(), do_teleport(), empty_obj(), fun_rloc(), log_name_and_loc(), match_exit(), match_exit_with_parents(), match_here(), match_neighbor(), notify_checked(), process_cmdent(), process_command(), and where_room().

#define Has_power ( p,
x   )     (check_access((p),powers_nametab[x].flag))

Definition at line 625 of file flags.h.

#define Has_siblings ( x   )     ((object_types[Typeof(x)].flags & OF_SIBLINGS) != 0)

Definition at line 426 of file flags.h.

Referenced by fun_next().

#define HAS_STARTUP   0x00400000

Definition at line 50 of file flags.h.

Referenced by atr_add_raw(), atr_clr(), and process_preload().

#define Haven ( x   )     ((Flags(x) & HAVEN) != 0)

Definition at line 457 of file flags.h.

Referenced by do_kill().

#define HAVEN   0x00000400

Definition at line 38 of file flags.h.

#define HEAD_FLAG   0x00000400

Definition at line 72 of file flags.h.

#define HEARTHRU   0x40000000

Definition at line 58 of file flags.h.

#define Hidden ( x   )     ((Flags(x) & DARK) || (Flags2(x) & UNFINDABLE))

Definition at line 502 of file flags.h.

Referenced by do_channelwho(), do_comwho(), do_mail_list(), do_mail_read(), do_mail_review(), dump_users(), find_connected_name(), fun_doing(), and make_ulist().

#define Hideout ( x   )     ((Flags2(x) & UNFINDABLE) != 0)

Definition at line 491 of file flags.h.

Referenced by dump_users(), and locatable().

#define Home_ok ( x   )     ((object_types[Typeof(x)].flags & OF_HOME) != 0)

Definition at line 429 of file flags.h.

#define Immortal ( x   ) 

Value:

((Flags(x) & IMMORTAL) || \
                         ((Flags(Owner(x)) & IMMORTAL) && Inherits(x)))

Definition at line 470 of file flags.h.

Referenced by check_access(), giveto(), and payfor().

#define IMMORTAL   0x00200000

Definition at line 49 of file flags.h.

Referenced by do_clone().

#define In_Character ( x   )     ((Flags2(x) & IN_CHARACTER) != 0)

Definition at line 497 of file flags.h.

Referenced by AccumulateArtyXP(), AccumulateCommXP(), AccumulateComputerXP(), AccumulateGunXP(), AccumulateGunXPold(), AccumulatePilXP(), AccumulateSpotXP(), autoeject(), common_checks(), DamageMech(), DestroyMech(), DestroySection(), discard_mw(), do_name(), ds_BridgeHit(), dump_users(), handlemwconc(), headhitmwdamage(), In_IC_Loc(), KillMechContentsIfIC(), Leave_DS_Bay(), Leave_Hangar(), MadePerceptionRoll(), mech_attachcables(), mech_disembark(), mech_eject(), mech_embark(), mech_enter_event(), mech_enterbay_event(), mech_loadcargo(), mech_ood_event(), mech_pickup(), mech_sendchannel(), mech_speed(), mech_startup(), mech_stores(), mech_udisembark(), MechPilotSkillRoll_BTH(), move_mech(), mwlethaldam(), sendchannelstuff(), Sensor_Sees(), tech_roll(), tech_weapon_roll(), and TECHCOMMANDH().

#define IN_CHARACTER   0x00100000

Definition at line 82 of file flags.h.

#define INHERIT   0x02000000

Definition at line 53 of file flags.h.

Referenced by chown_all(), do_chown(), do_chzone(), do_clone(), and link_exit().

#define Inherits ( x   ) 

Value:

(((Flags(x) & INHERIT) != 0) || \
                         ((Flags(Owner(x)) & INHERIT) != 0) || \
                         ((x) == Owner(x)))

Definition at line 474 of file flags.h.

Referenced by create_obj(), do_clone(), fh_inherit(), and ph_inherit().

#define IS ( thing,
type,
flag   )     ((Typeof(thing)==(type)) && (Flags(thing) & (flag)))

Definition at line 416 of file flags.h.

#define isExit ( x   )     (Typeof(x) == TYPE_EXIT)

Definition at line 432 of file flags.h.

Referenced by can_see(), check_exit_chains(), check_loc_contents(), check_loc_exits(), check_pennies(), do_teleport(), empty_obj(), fun_home(), fun_name(), fun_next(), handle_ears(), and next_exit().

#define isPlayer ( x   )     (Typeof(x) == TYPE_PLAYER)

Definition at line 430 of file flags.h.

Referenced by AccumulateComputerXP(), can_see(), check_dead_refs(), check_zone(), check_zone_for_player(), could_doit(), debug_xptop(), do_alias(), do_boot(), do_chown(), do_clone(), do_macro(), do_malias_add(), do_name(), do_pemit_list(), do_poor(), do_prog(), do_quitprog(), do_quota(), do_toad(), do_top(), dump_mail(), fh_dark_bit(), fh_fixed(), fh_hear_bit(), flag_description(), fun_btshowcritstatus_ref(), fun_btshowstatus_ref(), fun_btshowwspecs_ref(), fun_fullname(), fun_name(), handle_flaglists(), HandleOverheat(), has_flag(), In_IC_Loc(), load_comsystem(), load_macros(), load_restart_db(), load_restart_db_xdr(), match_player(), mech_startup_event(), mech_udisembark(), mmdb_db_read(), move_object(), notify_checked(), process_sex(), save_comsystem(), and store_stats().

#define isRobot ( x   )     ((Flags(x) & ROBOT) != 0)

Definition at line 419 of file flags.h.

Referenced by mech_startup(), and save_comsystem().

#define isRoom ( x   )     (Typeof(x) == TYPE_ROOM)

Definition at line 431 of file flags.h.

Referenced by check_floating(), check_pennies(), count_quota(), do_get(), do_leave(), do_link(), do_teleport(), fun_room(), match_carried_exit_with_parents(), move_via_teleport(), next_exit(), show_a_desc(), and where_room().

#define isThing ( x   )     (Typeof(x) == TYPE_THING)

Definition at line 433 of file flags.h.

Referenced by do_chown(), and do_destroy().

#define Jump_ok ( x   )     (((Flags(x) & JUMP_OK) != 0) && Has_contents(x))

Definition at line 454 of file flags.h.

Referenced by do_teleport().

#define JUMP_OK   0x00000080

Definition at line 35 of file flags.h.

Referenced by unparse_object().

#define Key ( x   )     ((Flags2(x) & KEY) != 0)

Definition at line 486 of file flags.h.

Referenced by could_doit(), and divest_object().

#define KEY   0x00000001

Definition at line 62 of file flags.h.

#define Light ( x   )     ((Flags2(x) & LIGHT) != 0)

Definition at line 493 of file flags.h.

Referenced by can_see(), exit_displayable(), exit_visible(), and next_exit().

#define LIGHT   0x00000020

Definition at line 67 of file flags.h.

#define Link_exit ( p,
x   ) 

Value:

((Typeof(x) == TYPE_EXIT) && \
                         ((Location(x) == NOTHING) || Controls(p,x)))

Definition at line 557 of file flags.h.

Referenced by do_examine().

#define Link_ok ( x   )     (((Flags(x) & LINK_OK) != 0) && Has_contents(x))

Definition at line 450 of file flags.h.

Referenced by do_link(), do_notify(), do_wait(), fwdlist_load(), and link_exit().

#define LINK_OK   0x00000020

Definition at line 33 of file flags.h.

Referenced by unparse_object().

#define Linkable ( p,
x   ) 

Value:

(Good_obj(x) && \
                         (Has_contents(x)) && \
                         (((Flags(x) & LINK_OK) != 0) || \
                          Controls(p,x)))

Definition at line 559 of file flags.h.

Referenced by do_examine(), and parse_linkable_room().

#define Mark ( x   ) 

Value:

(mudstate.markbits->chunk[(x)>>3] |= \
                         mudconf.markdata[(x)&7])

Definition at line 547 of file flags.h.

Referenced by check_loc_contents(), check_loc_exits(), and mark_place().

#define Mark_all (  ) 

Value:

for ((i)=0; (i)<((mudstate.db_top+7)>>3); (i)++) \
                                mudstate.markbits->chunk[i]=0xff

Definition at line 553 of file flags.h.

#define Marked ( x   ) 

Value:

Definition at line 551 of file flags.h.

Referenced by check_contents_chains(), check_exit_chains(), check_floating(), check_loc_contents(), check_loc_exits(), check_misplaced_obj(), and mark_place().

#define Monitor ( x   )     ((Flags(x) & MONITOR) != 0)

Definition at line 463 of file flags.h.

Referenced by Hearer(), notify_checked(), and sweep_check().

#define MONITOR   0x00008000

Definition at line 43 of file flags.h.

Referenced by announce_connect(), announce_disconnect(), and fh_hear_bit().

#define MUD_ABODE   0x00000800

Definition at line 253 of file flags.h.

#define MUD_CHOWN_OK   0x00008000

Definition at line 255 of file flags.h.

#define MUD_ROBOT   0x00004000

Definition at line 254 of file flags.h.

#define MultiOK ( x   )     ((Flags2(x) & MULTIOK) != 0)

Definition at line 496 of file flags.h.

#define MULTIOK   0x00800000

Definition at line 85 of file flags.h.

#define MUSE_ABODE   0x00000200

Definition at line 235 of file flags.h.

#define MUSE_BUILD   0x00000010

Definition at line 231 of file flags.h.

#define MUSE_CHOWN_OK   0x00000020

Definition at line 239 of file flags.h.

#define MUSE_DARK   0x00000040

Definition at line 240 of file flags.h.

#define MUSE_DEST_OK   0x00000200

Definition at line 234 of file flags.h.

#define MUSE_ENTER_OK   0x00080000

Definition at line 247 of file flags.h.

#define MUSE_GOING   0x00004000

Definition at line 244 of file flags.h.

#define MUSE_HAVEN   0x00000400

Definition at line 242 of file flags.h.

#define MUSE_INHERIT   0x00002000

Definition at line 243 of file flags.h.

#define MUSE_KEY   0x00000010

Definition at line 233 of file flags.h.

#define MUSE_LINK_OK   0x00040000

Definition at line 246 of file flags.h.

#define MUSE_OPAQUE   0x00800000

Definition at line 249 of file flags.h.

#define MUSE_PUPPET   0x00020000

Definition at line 245 of file flags.h.

#define MUSE_QUIET   0x01000000

Definition at line 250 of file flags.h.

#define MUSE_SEETHRU   0x00000200

Definition at line 236 of file flags.h.

#define MUSE_SLAVE   0x00000080

Definition at line 232 of file flags.h.

#define MUSE_STICKY   0x00000100

Definition at line 241 of file flags.h.

#define MUSE_UNFIND   0x00001000

Definition at line 237 of file flags.h.

#define MUSE_VISUAL   0x00100000

Definition at line 248 of file flags.h.

#define Myopic ( x   )     ((Flags(x) & MYOPIC) != 0)

Definition at line 464 of file flags.h.

#define MYOPIC   0x00010000

Definition at line 44 of file flags.h.

#define MyopicExam ( p,
x   ) 

Value:

(((Flags(x) & VISUAL) != 0) || \
                         (!Myopic(p) && (See_All(p) || \
                         (Owner(p) == Owner(x)) || \
                         OnEnterLock(p,x))))

Definition at line 531 of file flags.h.

Referenced by can_see(), and unparse_object().

#define No_Command ( x   )     ((Flags2(x) & NO_COMMAND) != 0)

Definition at line 445 of file flags.h.

Referenced by list_check(), and process_command().

#define NO_COMMAND   0x00002000

Definition at line 75 of file flags.h.

#define NoBleed ( x   )     ((Flags2(x) & NOBLEED) != 0)

Definition at line 446 of file flags.h.

#define NOBLEED   0x00008000

Definition at line 77 of file flags.h.

#define Nospoof ( x   )     ((Flags(x) & NOSPOOF) != 0)

Definition at line 477 of file flags.h.

Referenced by notify_checked().

#define NOSPOOF   0x04000000

Definition at line 54 of file flags.h.

#define NOTYPE   0x7

Definition at line 27 of file flags.h.

Referenced by convert_flags(), do_chanobj(), do_chzone(), do_clone(), do_entrances(), do_examine(), do_fixdb(), do_link(), do_lock(), do_look(), do_mail_debug(), do_mail_stats(), do_notify(), do_parent(), do_search(), do_setattr(), do_teleport(), do_use(), do_verb(), do_wait(), fun_locate(), fun_setlock(), match_affected(), match_controlled(), match_controlled_quiet(), match_examinable(), match_possessed(), match_thing(), parse_attrib_wild(), parse_linkable_room(), parse_thing_slash(), promote_match(), search_perform(), and search_setup().

#define OF_CONTENTS   0x0001

Definition at line 282 of file flags.h.

#define OF_DROPTO   0x0010

Definition at line 286 of file flags.h.

#define OF_EXITS   0x0004

Definition at line 284 of file flags.h.

#define OF_HOME   0x0008

Definition at line 285 of file flags.h.

#define OF_LOCATION   0x0002

Definition at line 283 of file flags.h.

#define OF_OWNER   0x0020

Definition at line 287 of file flags.h.

#define OF_SIBLINGS   0x0040

Definition at line 288 of file flags.h.

#define OnEnterLock ( p,
x   )     (check_zone(p,x))

Definition at line 524 of file flags.h.

#define Opaque ( x   )     ((Flags(x) & OPAQUE) != 0)

Definition at line 472 of file flags.h.

Referenced by do_examine(), do_look(), and match_possessed().

#define OPAQUE   0x00800000

Definition at line 51 of file flags.h.

#define OwnsOthers ( x   )     ((object_types[Typeof(x)].flags & OF_OWNER) != 0)

Definition at line 422 of file flags.h.

Referenced by a_Queue(), check_dead_refs(), pcache_find(), Pennies(), QueueMax(), s_Pennies(), and s_Queue().

#define Parent_ok ( x   )     ((Flags2(x) & PARENT_OK) != 0)

Definition at line 492 of file flags.h.

Referenced by do_clone().

#define PARENT_OK   0x00000010

Definition at line 66 of file flags.h.

#define Parentable ( p,
x   ) 

Value:

(Controls(p,x) || \
                         (Parent_ok(x) && could_doit(p,x,A_LPARENT)))

Definition at line 521 of file flags.h.

Referenced by do_parent().

#define PENN_ACCESSED   0x8000

Definition at line 119 of file flags.h.

#define PENN_AUDIBLE   0x10000000

Definition at line 143 of file flags.h.

#define PENN_CHOWN_OK   0x40000

Definition at line 122 of file flags.h.

#define PENN_COMBAT   0x8

Definition at line 100 of file flags.h.

#define PENN_COMBAT_FLAG   0x200000

Definition at line 177 of file flags.h.

#define PENN_DARK   0x40

Definition at line 103 of file flags.h.

#define PENN_DEBUGGING   0x2000000

Definition at line 139 of file flags.h.

#define PENN_ENTER_OK   0x80000

Definition at line 123 of file flags.h.

#define PENN_EXIT_DSPACE   0x20

Definition at line 202 of file flags.h.

#define PENN_EXIT_LIGHT   0x10

Definition at line 199 of file flags.h.

#define PENN_GOING   0x4000

Definition at line 117 of file flags.h.

#define PENN_HALT   0x1000

Definition at line 115 of file flags.h.

#define PENN_HAVEN   0x400

Definition at line 109 of file flags.h.

#define PENN_INHERIT   0x1000000

Definition at line 135 of file flags.h.

#define PENN_LINK_OK   0x20

Definition at line 102 of file flags.h.

#define PENN_MARKED   0x10000

Definition at line 120 of file flags.h.

#define PENN_NO_COMMAND   0x20000000

Definition at line 147 of file flags.h.

#define PENN_OPAQUE   0x800000

Definition at line 132 of file flags.h.

#define PENN_PLAYER_ADMIN   0x8000

Definition at line 171 of file flags.h.

#define PENN_PLAYER_ANSI   0x400

Definition at line 163 of file flags.h.

#define PENN_PLAYER_COLOR   0x80000

Definition at line 175 of file flags.h.

#define PENN_PLAYER_CONNECT   0x200

Definition at line 162 of file flags.h.

#define PENN_PLAYER_FIXED   0x4000

Definition at line 170 of file flags.h.

#define PENN_PLAYER_GAGGED   0x80

Definition at line 160 of file flags.h.

#define PENN_PLAYER_HEAD   0x1000

Definition at line 168 of file flags.h.

#define PENN_PLAYER_JUDGE   0x2000

Definition at line 169 of file flags.h.

#define PENN_PLAYER_MONITOR   0x100

Definition at line 161 of file flags.h.

#define PENN_PLAYER_MORTAL   0x20000

Definition at line 173 of file flags.h.

#define PENN_PLAYER_MYOPIC   0x10

Definition at line 152 of file flags.h.

#define PENN_PLAYER_NOSPOOF   0x20

Definition at line 155 of file flags.h.

#define PENN_PLAYER_SLAVE   0x40000

Definition at line 174 of file flags.h.

#define PENN_PLAYER_SUSPECT   0x40

Definition at line 156 of file flags.h.

#define PENN_PLAYER_TERSE   0x8

Definition at line 151 of file flags.h.

#define PENN_PLAYER_VACATION   0x10000

Definition at line 172 of file flags.h.

#define PENN_PLAYER_WEIRDANSI   0x100000

Definition at line 176 of file flags.h.

#define PENN_PLAYER_ZONE   0x800

Definition at line 166 of file flags.h.

#define PENN_QUIET   0x800

Definition at line 111 of file flags.h.

#define PENN_ROOM_ABODE   0x10

Definition at line 188 of file flags.h.

#define PENN_ROOM_DSPACE   0x2000

Definition at line 198 of file flags.h.

#define PENN_ROOM_FLOATING   0x8

Definition at line 185 of file flags.h.

#define PENN_ROOM_JUMP_OK   0x20

Definition at line 189 of file flags.h.

#define PENN_ROOM_LISTEN   0x100

Definition at line 194 of file flags.h.

#define PENN_ROOM_NO_TEL   0x40

Definition at line 190 of file flags.h.

#define PENN_ROOM_SLOCK   0x400

Definition at line 196 of file flags.h.

#define PENN_ROOM_TEMPLE   0x80

Definition at line 191 of file flags.h.

#define PENN_ROOM_UNINSPECT   0x1000

Definition at line 197 of file flags.h.

#define PENN_ROOM_ZEROG   0x200

Definition at line 195 of file flags.h.

#define PENN_ROYALTY   0x400000

Definition at line 131 of file flags.h.

#define PENN_SAFE   0x4000000

Definition at line 140 of file flags.h.

#define PENN_STARTUP   0x8000000

Definition at line 141 of file flags.h.

#define PENN_STICKY   0x100

Definition at line 105 of file flags.h.

#define PENN_THING_ARMOR   0x80

Definition at line 182 of file flags.h.

#define PENN_THING_DEST_OK   0x8

Definition at line 178 of file flags.h.

#define PENN_THING_LISTEN   0x20

Definition at line 180 of file flags.h.

#define PENN_THING_NOLEAVE   0x200

Definition at line 184 of file flags.h.

#define PENN_THING_PUPPET   0x10

Definition at line 179 of file flags.h.

#define PENN_THING_WEAPON   0x40

Definition at line 181 of file flags.h.

#define PENN_THING_ZONED   0x100

Definition at line 183 of file flags.h.

#define PENN_TRANSPARENT   0x200

Definition at line 106 of file flags.h.

#define PENN_UNFIND   0x2000

Definition at line 116 of file flags.h.

#define PENN_VERBOSE   0x80

Definition at line 104 of file flags.h.

#define PENN_VISUAL   0x100000

Definition at line 128 of file flags.h.

#define PENN_WIZARD   0x10

Definition at line 101 of file flags.h.

#define PERN_IMMORTAL   0x00002000

Definition at line 210 of file flags.h.

#define PERN_KEY   0x00000008

Definition at line 206 of file flags.h.

#define PERN_MONITOR   0x00200000

Definition at line 211 of file flags.h.

#define PERN_NOSPOOF   0x00200000

Definition at line 207 of file flags.h.

#define PERN_SAFE   0x04000000

Definition at line 212 of file flags.h.

#define PERN_SLAVE   0x00000080

Definition at line 205 of file flags.h.

#define PERN_SUSPECT   0x04000000

Definition at line 208 of file flags.h.

#define PERN_UNFIND   0x02000000

Definition at line 213 of file flags.h.

#define PERN_VERBOSE   0x00000080

Definition at line 209 of file flags.h.

#define Player_haven ( x   )     ((Flags(Owner(x)) & HAVEN) != 0)

Definition at line 458 of file flags.h.

Referenced by check_access().

#define PLAYER_MAILS   0x02000000

Definition at line 88 of file flags.h.

Referenced by do_edit_msg(), do_expmail_abort(), do_expmail_start(), do_expmail_stop(), do_mail_cc(), do_mail_proof(), do_mail_quick(), do_postpend(), and do_prepend().

#define Puppet ( x   )     ((Flags(x) & PUPPET) != 0)

Definition at line 465 of file flags.h.

Referenced by can_see(), Hearer(), notify_checked(), and sweep_check().

#define PUPPET   0x00020000

Definition at line 45 of file flags.h.

#define Quiet ( x   )     ((Flags(x) & QUIET) != 0)

Definition at line 459 of file flags.h.

Referenced by check_dead_refs(), destroy_obj(), do_admin(), do_alias(), do_attribute(), do_chown(), do_chownall(), do_clone(), do_create(), do_dbck(), do_destroy(), do_doing(), do_drop(), do_edit(), do_fixdb(), do_get(), do_global(), do_halt(), do_kill(), do_link(), do_lock(), do_motd(), do_mvattr(), do_name(), do_notify(), do_parent(), do_queue(), do_set(), do_teleport(), do_trigger(), do_unlink(), do_unlock(), do_wipe(), fcache_load(), flag_set(), helpindex_load(), link_exit(), mech_startup_event(), mech_udisembark(), power_set(), and set_attr_internal().

#define QUIET   0x00000800

Definition at line 39 of file flags.h.

#define Read_attr ( p,
x,
a,
o,
 ) 

Value:

(!((a)->flags & AF_INTERNAL) && \
                         (God(p) || \
                          ((f) & AF_VISUAL) || \
                         (((Owner(p) == o) || Examinable(p,x)) && \
                           !((a)->flags & (AF_DARK|AF_MDARK)) && \
                           !((f) & (AF_DARK|AF_MDARK)) && \
                           !((a)->name && strlen((a)->name) > 4 && \
                             !strcasecmp((a)->name + (strlen((a)->name)-5), \
                                           ".PRIV"))) || \
                          ((Wizard(p) || Royalty(p)) && !((a)->flags & AF_DARK)) || \
                          (!((a)->flags & (AF_DARK|AF_MDARK|AF_ODARK)) && \
                           !((a)->name && strlen((a)->name) > 4 && \
                           !strcasecmp((a)->name + (strlen((a)->name)-5), \
                                           ".PRIV")))))

Definition at line 598 of file flags.h.

Referenced by debug_examine(), do_decomp(), do_verb(), eval_boolexp(), exam_wildattrs(), find_wild_attrs(), fun_colorpairs(), fun_elock(), fun_eval(), fun_get(), fun_get_eval(), fun_lock(), fun_pairs(), fun_xget(), list_attraccess(), and look_atrs1().

#define Robot ( x   )     (isPlayer(x) && isRobot(x))

Definition at line 420 of file flags.h.

Referenced by check_access(), destroy_obj(), and sp_ok().

#define ROBOT   0x08000000

Definition at line 55 of file flags.h.

Referenced by cf_init().

#define Royalty ( x   )     ((Flags(x) & ROYALTY) != 0)

Definition at line 439 of file flags.h.

#define ROYALTY   0x20000000

Definition at line 57 of file flags.h.

Referenced by do_chzone(), and do_say().

#define s_Connected ( x   )     s_Flags2((x), Flags2(x) | CONNECTED)

Definition at line 512 of file flags.h.

Referenced by announce_connect().

#define s_Dark ( x   )     s_Flags((x),Flags(x) | DARK)

Definition at line 626 of file flags.h.

Referenced by mech_discard_event().

#define s_Fixed ( x   )     s_Flags2((x), Flags2(x) | FIXED)

Definition at line 509 of file flags.h.

Referenced by create_player().

#define s_Going ( x   )     s_Flags((x), Flags(x) | GOING)

Definition at line 511 of file flags.h.

Referenced by check_dead_refs(), do_destroy(), and mech_discard_event().

#define s_Halted ( x   )     s_Flags((x), Flags(x) | HALT)

Definition at line 510 of file flags.h.

Referenced by check_dead_refs(), do_clone(), and setup_que().

#define s_Hardcode ( x   )     s_Flags2((x), Flags2(x) | HARDCODE)

Definition at line 513 of file flags.h.

Referenced by autoeject(), char_disembark(), char_eject(), and handle_xcode().

#define s_In_Character ( x   )     s_Flags2((x), Flags2(x) | IN_CHARACTER)

Definition at line 518 of file flags.h.

Referenced by autoeject(), char_disembark(), and char_eject().

#define s_Slave ( x   )     s_Flags2((x), Flags2(x) | SLAVE)

Definition at line 508 of file flags.h.

Referenced by tele_contents().

#define s_Zombie ( x   )     s_Flags2((x), Flags2(x) | ZOMBIE)

Definition at line 515 of file flags.h.

Referenced by mech_discard_event().

#define Safe ( x,
 ) 

Value:

(OwnsOthers(x) || \
                         (Flags(x) & SAFE) || \
                         (mudconf.safe_unowned && (Owner(x) != Owner(p))))

Definition at line 478 of file flags.h.

Referenced by do_destroy().

#define SAFE   0x10000000

Definition at line 56 of file flags.h.

#define See_attr ( p,
x,
a,
o,
 ) 

Value:

(!((a)->flags & (AF_INTERNAL|AF_IS_LOCK)) && \
                         (God(p) || \
                          ((f) & AF_VISUAL) || \
                         (((Owner(p) == (o)) || Examinable(p,x)) && \
                           !((a)->flags & (AF_DARK|AF_MDARK)) && \
                           !((f) & (AF_DARK|AF_MDARK)) && \
                           !((a)->name && strlen((a)->name) > 4 && \
                           !strcasecmp((a)->name + (strlen((a)->name)-5), \
                                           ".PRIV"))) || \
                          ((Wizard(p) || Royalty(p)) && !((a)->flags & AF_DARK)) || \
                          (!((a)->flags & (AF_DARK|AF_MDARK|AF_ODARK)) && \
                           !((a)->name && strlen((a)->name) > 4 && \
                              !strcasecmp((a)->name + (strlen((a)->name)-5), \
                                           ".PRIV")))))

Definition at line 563 of file flags.h.

Referenced by check_attr(), check_read_perms(), do_mvattr(), do_prog(), do_set(), find_wild_attrs(), fun_filter(), fun_fold(), fun_foreach(), fun_hasattr(), fun_hasattrp(), fun_map(), fun_mix(), fun_munge(), fun_set(), fun_sortby(), fun_v(), fun_visible(), fun_zfun(), list_attrtable(), and parse_attrib().

#define See_attr_explicit ( p,
x,
a,
o,
 ) 

Value:

(!((a)->flags & (AF_INTERNAL|AF_IS_LOCK)) && \
                         (((f) & AF_VISUAL) || \
                          ((Owner(p) == (o)) && \
                           (!(((a)->flags & (AF_DARK|AF_MDARK))) && \
                            !((a)->name && strlen((a)->name) > 4 && \
                              !strcasecmp((a)->name + (strlen((a)->name)-5), \
                                           ".PRIV"))))))

Definition at line 578 of file flags.h.

Referenced by check_read_perms().

#define SEETHRU   0x00000008

Definition at line 31 of file flags.h.

#define Set_attr ( p,
x,
a,
 ) 

Value:

(!((a)->flags & (AF_INTERNAL|AF_IS_LOCK)) && \
                         (God(p) || \
                          (!God(x) && !(f & AF_LOCK) && \
                           ((Controls(p,x) && \
                             !((a)->flags & (AF_WIZARD|AF_GOD)) && \
                             !((f) & (AF_WIZARD|AF_GOD)) && \
                             !((a)->name && strlen((a)->name) > 4 && \
                               !strcasecmp((a)->name + (strlen((a)->name)-5), \
                                           ".PRIV"))) || \
                            (Wizard(p) && \
                             !((a)->flags & AF_GOD))))))

Definition at line 586 of file flags.h.

Referenced by do_alias(), do_chown(), do_edit(), do_lock(), do_mvattr(), do_notify(), do_set(), do_unlock(), do_wait(), do_wipe(), fun_set(), fun_setlock(), and set_attr_internal().

#define Slave ( x   )     ((Flags2(Owner(x)) & SLAVE) != 0)

Definition at line 501 of file flags.h.

Referenced by check_access(), HandledCommand(), notify_checked(), notify_except(), and process_command().

#define SLAVE   0x80000000

Definition at line 95 of file flags.h.

#define Staff ( x   )     ((Flags2(x) & STAFF))

Definition at line 503 of file flags.h.

Referenced by notify_checked(), and run_command().

#define STAFF   0x00010000

Definition at line 78 of file flags.h.

#define Sticky ( x   )     ((Flags(x) & STICKY) != 0)

Definition at line 455 of file flags.h.

Referenced by process_dropped_dropto(), process_sticky_dropto(), and send_dropto().

#define STICKY   0x00000100

Definition at line 36 of file flags.h.

#define Suspect ( x   )     ((Flags2(Owner(x)) & SUSPECT) != 0)

Definition at line 498 of file flags.h.

Referenced by announce_connect(), announce_disconnect(), check_access(), do_fixdb(), do_kill(), do_name(), dump_users(), and process_command().

#define SUSPECT   0x10000000

Definition at line 92 of file flags.h.

#define Terse ( x   )     ((Flags(x) & TERSE) != 0)

Definition at line 482 of file flags.h.

Referenced by do_look(), look_in(), look_simple(), move_via_exit(), process_enter_loc(), process_leave_loc(), and show_desc().

#define TERSE   0x80000000

Definition at line 59 of file flags.h.

#define Trace ( x   )     ((Flags(x) & TRACE) != 0)

Definition at line 461 of file flags.h.

Referenced by exec().

#define TRACE   0x00002000

Definition at line 41 of file flags.h.

#define Transparent ( x   )     ((Flags(x) & SEETHRU) != 0)

Definition at line 449 of file flags.h.

Referenced by do_look(), and look_exits().

#define TYPE_EXIT   0x2

Definition at line 22 of file flags.h.

Referenced by check_dead_refs(), chown_all(), count_quota(), create_obj(), destroy_obj(), do_chown(), do_clone(), do_destroy(), do_drop(), do_entrances(), do_examine(), do_find(), do_get(), do_link(), do_look(), do_move(), do_search(), do_teleport(), do_unlink(), fun_create(), fun_hastype(), fun_locate(), fun_type(), get_stats(), list_df_flags(), move_exit(), OBJTYP(), open_exit(), process_command(), purge_going(), search_setup(), sweep_check(), and where_is().

#define TYPE_GARBAGE   0x5

Definition at line 26 of file flags.h.

Referenced by check_dead_refs(), check_loc_contents(), db_grow(), destroy_obj(), do_link(), do_search(), fh_going_bit(), initialize_objects(), OBJTYP(), purge_going(), search_perform(), and search_setup().

#define TYPE_MASK   0x7

Definition at line 28 of file flags.h.

Referenced by decode_flags().

#define TYPE_PLAYER   0x3

Definition at line 23 of file flags.h.

Referenced by can_set_home(), check_dead_refs(), chown_all(), count_quota(), create_obj(), create_player(), db_read(), decode_flags(), destroy_obj(), do_boot(), do_channelwho(), do_chown(), do_chownall(), do_chzone(), do_comprintf(), do_comsend(), do_comwho(), do_destroy(), do_drop(), do_enter(), do_entrances(), do_examine(), do_fixdb(), do_get(), do_give(), do_halt(), do_kill(), do_link(), do_look(), do_mail_debug(), do_mail_stats(), do_mail_stub(), do_malias_create(), do_malias_send(), do_pemit(), do_pemit_list(), do_ps(), do_search(), do_test_access(), do_toad(), exam_wildattrs(), fun_hastype(), fun_locate(), fun_mail(), fun_mailfrom(), fun_type(), fun_zplayers(), fun_zwho(), get_stats(), give_money(), give_thing(), list_df_flags(), load_commac(), load_player_names(), lookup_player(), mmdb_db_read(), move_exit(), notify_checked(), OBJTYP(), process_cmdent(), process_command(), purge_commac(), purge_going(), search_setup(), send_mail(), sweep_check(), unparse_boolexp1(), and where_is().

#define TYPE_ROOM   0x0

Definition at line 20 of file flags.h.

Referenced by announce_connect(), announce_disconnect(), can_set_home(), check_dead_refs(), chown_all(), count_quota(), create_obj(), db_make_minimal(), destroy_obj(), do_chown(), do_chzone(), do_clone(), do_destroy(), do_dig(), do_entrances(), do_examine(), do_link(), do_look(), do_pemit(), do_say(), do_search(), do_unlink(), fun_create(), fun_hastype(), fun_inzone(), fun_locate(), fun_type(), get_stats(), list_df_flags(), look_in(), move_exit(), notify_checked(), OBJTYP(), process_command(), purge_going(), search_setup(), and show_desc().

#define TYPE_THING   0x1

Definition at line 21 of file flags.h.

Referenced by announce_connect(), announce_disconnect(), can_set_home(), check_dead_refs(), chown_all(), count_quota(), create_obj(), destroy_obj(), do_chown(), do_chzone(), do_clone(), do_create(), do_delcomchannel(), do_destroy(), do_drop(), do_enter(), do_entrances(), do_examine(), do_get(), do_joinchannel(), do_kill(), do_leavechannel(), do_link(), do_look(), do_search(), do_toad(), fun_create(), fun_hastype(), fun_locate(), fun_type(), get_stats(), give_money(), give_thing(), list_df_flags(), move_exit(), notify_checked(), OBJTYP(), parse_boolexp_L(), purge_going(), search_setup(), unparse_boolexp1(), and where_is().

#define Typeof ( x   )     (Flags(x) & TYPE_MASK)

Definition at line 417 of file flags.h.

Referenced by announce_connect(), announce_disconnect(), can_set_home(), check_dead_refs(), check_loc_contents(), chown_all(), count_quota(), db_read(), destroy_obj(), do_channelwho(), do_chown(), do_chzone(), do_clone(), do_comprintf(), do_comsend(), do_comwho(), do_delcomchannel(), do_destroy(), do_drop(), do_enter(), do_entrances(), do_examine(), do_find(), do_fixdb(), do_get(), do_halt(), do_joinchannel(), do_kill(), do_leavechannel(), do_link(), do_look(), do_mail_debug(), do_mail_stats(), do_mail_stub(), do_malias_create(), do_malias_send(), do_parent(), do_pemit(), do_ps(), do_say(), do_search(), do_teleport(), do_test_access(), do_unlink(), exam_wildattrs(), fh_going_bit(), flag_description(), fun_hastype(), fun_inzone(), fun_mail(), fun_mailfrom(), fun_type(), fun_zplayers(), fun_zwho(), get_stats(), give_money(), give_thing(), handle_flaglists(), load_commac(), load_player_names(), look_in(), lookup_player(), mmdb_db_read(), move_exit(), notify_checked(), OBJTYP(), power_description(), process_cmdent(), process_command(), promote_match(), purge_commac(), purge_going(), search_perform(), search_setup(), send_mail(), show_desc(), sweep_check(), unparse_boolexp1(), and where_is().

#define UNFINDABLE   0x00000008

Definition at line 65 of file flags.h.

#define Uninspected ( x   )     ((Flags2(x) & UNINSPECTED) != 0)

Definition at line 442 of file flags.h.

#define UNINSPECTED   0x00001000

Definition at line 74 of file flags.h.

#define Unmark ( x   ) 

Value:

(mudstate.markbits->chunk[(x)>>3] &= \
                         ~mudconf.markdata[(x)&7])

Definition at line 549 of file flags.h.

Referenced by check_misplaced_obj(), and create_obj().

#define Unmark_all (  ) 

Value:

for ((i)=0; (i)<((mudstate.db_top+7)>>3); (i)++) \
                                mudstate.markbits->chunk[i]=0x0

Definition at line 555 of file flags.h.

Referenced by check_contents_chains(), check_exit_chains(), and check_floating().

#define unparse_flags ( p,
 )     decode_flags(p,Flags(t),Flags2(t),Flags3(t))

Definition at line 308 of file flags.h.

Referenced by fun_flags(), and unparse_object().

#define V2_ACCESSED   0x00008000

Definition at line 214 of file flags.h.

#define V3_MARKED   0x00010000

Definition at line 215 of file flags.h.

#define V4_GAGGED   0x00000080

Definition at line 216 of file flags.h.

#define V4_SUSPECT   0x20000000

Definition at line 217 of file flags.h.

#define V6_ABODE   0x00000200

Definition at line 224 of file flags.h.

#define V6_BUILDER   0x00000008

Definition at line 219 of file flags.h.

#define V6_CONNECT   0x00000200

Definition at line 223 of file flags.h.

#define V6_FLOATING   0x00000008

Definition at line 220 of file flags.h.

#define V6_SLAVE   0x10000000

Definition at line 228 of file flags.h.

#define V6_SUSPECT   0x00000080

Definition at line 222 of file flags.h.

#define V6EXIT_KEY   0x00000080

Definition at line 221 of file flags.h.

#define V6OBJ_KEY   0x00000008

Definition at line 218 of file flags.h.

#define V6PLYR_UNFIND   0x00002000

Definition at line 226 of file flags.h.

#define V6ROOM_JUMPOK   0x00002000

Definition at line 225 of file flags.h.

#define V6ROOM_UNFIND   0x08000000

Definition at line 227 of file flags.h.

#define Vacation ( x   )     ((Flags2(x) & VACATION) != 0)

Definition at line 485 of file flags.h.

#define VACATION   0x01000000

Definition at line 87 of file flags.h.

Referenced by announce_connect().

#define Verbose ( x   )     ((Flags(x) & VERBOSE) != 0)

Definition at line 473 of file flags.h.

Referenced by process_command().

#define VERBOSE   0x01000000

Definition at line 52 of file flags.h.

#define Visual ( x   )     ((Flags(x) & VISUAL) != 0)

Definition at line 469 of file flags.h.

#define VISUAL   0x00100000

Definition at line 48 of file flags.h.

#define Wizard ( x   ) 

Value:

((Flags(x) & WIZARD) || \
                         ((Flags(Owner(x)) & WIZARD) && Inherits(x)))

Definition at line 451 of file flags.h.

Referenced by announce_connect(), announce_disconnect(), bsuit_hide(), can_destroy_exit(), can_destroy_player(), can_read_macros(), canpayfees(), check_access(), check_connect(), check_dead_refs(), check_loc_contents(), common_checks(), convert_flags(), create_guest(), decode_flags(), destroy_guest(), display_flagtab(), display_powertab(), do_chmod_macro(), do_chown(), do_chown_macro(), do_chzone(), do_clear_macro(), do_comprintf(), do_comsend(), do_comwho(), do_drop(), do_kill(), do_lock(), do_mail_debug(), do_mail_stats(), do_motd(), do_name(), do_pemit(), do_processcom(), do_prog(), do_stats(), do_unlock(), do_use(), fh_dark_bit(), fh_fixed(), fh_wiz(), find_connected_name(), flag_description(), fun_conn(), fun_idle(), fun_mail(), fun_mailfrom(), fun_objeval(), fun_ports(), fun_setlock(), give_money(), giveto(), handle_flaglists(), has_flag(), has_power(), list_options(), locatable(), mech_explode(), mech_speed(), move_exit(), move_via_exit(), page_check(), page_return(), payfor(), pcache_reload1(), ph_wiz(), power_description(), process_enter_loc(), process_input(), process_leave_loc(), sp_ok(), tech_roll(), tech_weapon_roll(), and TECHCOMMANDH().

#define WIZARD   0x00000010

Definition at line 32 of file flags.h.

Referenced by create_guest(), db_make_minimal(), decode_flags(), do_chzone(), do_clone(), do_say(), flag_description(), handle_flaglists(), has_flag(), and link_exit().

#define WizRoy ( x   )     (Royalty(x) || Wizard(x))

Definition at line 440 of file flags.h.

Referenced by check_access(), check_connect(), do_move(), fh_wizroy(), fun_children(), fun_inzone(), fun_zplayers(), fun_zwho(), make_ulist(), match_status(), mech_snipe(), ph_wizroy(), process_command(), and sweep_check().

#define Write_attr ( p,
x,
a,
 ) 

Value:

(!((a)->flags & AF_INTERNAL) && \
                         (God(p) || \
                          (!God(x) && !(f & AF_LOCK) && \
                           ((Controls(p,x) && \
                             !((a)->flags & (AF_WIZARD|AF_GOD)) && \
                             !((f) & (AF_WIZARD|AF_GOD)) && \
                             !((a)->name && strlen((a)->name) > 4 && \
                               !strcasecmp((a)->name + (strlen((a)->name)-5), \
                                           ".PRIV"))) || \
                            (Wizard(p) && \
                             !((a)->flags & AF_GOD))))))

Definition at line 613 of file flags.h.

Referenced by atr_cpy().

#define Zombie ( x   )     ((Flags2(x) & ZOMBIE) != 0)

Definition at line 495 of file flags.h.

#define ZOMBIE   0x08000000

Definition at line 90 of file flags.h.


Typedef Documentation

typedef struct flag_entry FLAGENT

typedef struct flagset FLAGSET

typedef struct object_entry OBJENT


Function Documentation

int convert_flags ( dbref  player,
char *  flaglist,
FLAGSET fset,
FLAG p_type 
)

Converts a list of flag letters into its bit pattern. Also set the type qualifier if specified and not already set.

Parameters:
player The evoking object
flaglist The list of flags to conver to bit pattern
fset ??
p_type ??

Definition at line 812 of file flags.c.

References CA_GOD, CA_WIZARD, FLAG_WORD2, FLAG_WORD3, flag_entry::flagflag, flag_entry::flaglett, flag_entry::flagname, flag_entry::flagvalue, gen_flags, God, flag_entry::listperm, notify_printf(), NOTYPE, object_types, and Wizard.

Referenced by handle_flaglists(), and search_setup().

00813 {
00814         int i, handled;
00815         char *s;
00816         FLAG flag1mask, flag2mask, flag3mask, type;
00817         FLAGENT *fp;
00818 
00819         flag1mask = flag2mask = flag3mask = 0;
00820         type = NOTYPE;
00821 
00822         for(s = flaglist; *s; s++) {
00823                 handled = 0;
00824 
00825                 /*
00826                  * Check for object type 
00827                  */
00828 
00829                 for(i = 0; (i <= 7) && !handled; i++) {
00830                         if((object_types[i].lett == *s) &&
00831                            !(((object_types[i].perm & CA_WIZARD) && !Wizard(player))
00832                                  || ((object_types[i].perm & CA_GOD) && !God(player)))) {
00833                                 if((type != NOTYPE) && (type != i)) {
00834                                         notify_printf(player,
00835                                                                   "%c: Conflicting type specifications.", *s);
00836                                         return 0;
00837                                 }
00838                                 type = i;
00839                                 handled = 1;
00840                         }
00841                 }
00842 
00843                 /*
00844                  * Check generic flags 
00845                  */
00846 
00847                 if(handled)
00848                         continue;
00849                 for(fp = gen_flags; (fp->flagname) && !handled; fp++) {
00850                         if((fp->flaglett == *s) && !(((fp->listperm & CA_WIZARD) &&
00851                                                                                   !Wizard(player))
00852                                                                                  || ((fp->listperm & CA_GOD)
00853                                                                                          && !God(player)))) {
00854                                 if(fp->flagflag & FLAG_WORD3)
00855                                         flag3mask |= fp->flagvalue;
00856                                 else if(fp->flagflag & FLAG_WORD2)
00857                                         flag2mask |= fp->flagvalue;
00858                                 else
00859                                         flag1mask |= fp->flagvalue;
00860                                 handled = 1;
00861                         }
00862                 }
00863 
00864                 if(!handled) {
00865                         notify_printf(player,
00866                                                   "%c: Flag unknown or not valid for specified object type",
00867                                                   *s);
00868                         return 0;
00869                 }
00870         }
00871 
00872         /*
00873          * return flags to search for and type 
00874          */
00875 
00876         (*fset).word1 = flag1mask;
00877         (*fset).word2 = flag2mask;
00878         (*fset).word3 = flag3mask;
00879         *p_type = type;
00880         return 1;
00881 }                                                               /* end convert_flags() */

char* decode_flags ( dbref  player,
FLAG  flagword,
FLAG  flag2word,
FLAG  flag3word 
)

Converts a flags word into corresponding letters.

Parameters:
player The invoking object
flagword ??
flag2word ??
flag3word ??

Definition at line 590 of file flags.c.

References alloc_sbuf, CA_GOD, CA_WIZARD, CONNECTED, DARK, FLAG_WORD2, FLAG_WORD3, flag_entry::flagflag, flag_entry::flaglett, flag_entry::flagname, flag_entry::flagvalue, gen_flags, God, Good_obj, flag_entry::listperm, object_types, safe_sb_chr, StringCopy, TYPE_MASK, TYPE_PLAYER, WIZARD, and Wizard.

Referenced by list_df_flags(), and shutdownsock().

00592 {
00593         char *buf, *bp;
00594         FLAGENT *fp;
00595         int flagtype;
00596         FLAG fv;
00597 
00598         buf = bp = alloc_sbuf("decode_flags");
00599         *bp = '\0';
00600 
00601         if(!Good_obj(player)) {
00602                 StringCopy(buf, "#-2 ERROR");
00603                 return buf;
00604         }
00605 
00606         flagtype = (flagword & TYPE_MASK);
00607         if(object_types[flagtype].lett != ' ')
00608                 safe_sb_chr(object_types[flagtype].lett, buf, &bp);
00609 
00610         for(fp = gen_flags; fp->flagname; fp++) {
00611                 if(fp->flagflag & FLAG_WORD3)
00612                         fv = flag3word;
00613                 else if(fp->flagflag & FLAG_WORD2)
00614                         fv = flag2word;
00615                 else
00616                         fv = flagword;
00617                 if(fv & fp->flagvalue) {
00618                         if((fp->listperm & CA_WIZARD) && !Wizard(player))
00619                                 continue;
00620                         if((fp->listperm & CA_GOD) && !God(player))
00621                                 continue;
00622                         /*
00623                          * don't show CONNECT on dark wizards to mortals 
00624                          */
00625                         if((flagtype == TYPE_PLAYER) && (fp->flagvalue == CONNECTED)
00626                            && ((flagword & (WIZARD | DARK)) == (WIZARD | DARK)) &&
00627                            !Wizard(player))
00628                                 continue;
00629                         safe_sb_chr(fp->flaglett, buf, &bp);
00630                 }
00631         }
00632 
00633         *bp = '\0';
00634         return buf;
00635 }                                                               /* end decode_flags() */

void decompile_flags ( dbref  player,
dbref  thing,
char *  thingname 
)

Produces commands to set flags on target.

Parameters:
player The evoking object
thing The target object
thingname ??

Definition at line 889 of file flags.c.

References CA_NO_DECOMP, FLAG_WORD2, FLAG_WORD3, flag_entry::flagflag, flag_entry::flagname, Flags, Flags2, Flags3, flag_entry::flagvalue, gen_flags, LBUF_SIZE, and flag_entry::listperm.

00890 {
00891         FLAG f1, f2, f3;
00892         FLAGENT *fp;
00893         char new[LBUF_SIZE];
00894         
00895         /*
00896          * Report generic flags 
00897          */
00898 
00899         f1 = Flags(thing);
00900         f2 = Flags2(thing);
00901         f3 = Flags3(thing);
00902 
00903         for(fp = gen_flags; fp->flagname; fp++) {
00904 
00905                 /*
00906                  * Skip if we shouldn't decompile this flag 
00907                  */
00908 
00909                 if(fp->listperm & CA_NO_DECOMP)
00910                         continue;
00911 
00912                 /*
00913                  * Skip if this flag is not set 
00914                  */
00915 
00916                 if(fp->flagflag & FLAG_WORD3) {
00917                         if(!(f3 & fp->flagvalue))
00918                                 continue;
00919                 } else if(fp->flagflag & FLAG_WORD2) {
00920                         if(!(f2 & fp->flagvalue))
00921                                 continue;
00922                 } else {
00923                         if(!(f1 & fp->flagvalue))
00924                                 continue;
00925                 }
00926 
00927                 /*
00928                  * Skip if we can't see this flag 
00929                  */
00930 
00931                 if(!check_access(player, fp->listperm))
00932                         continue;
00933 
00934                 /*
00935                  * We made it this far, report this flag 
00936                  */
00937                 strncpy(new, thingname, LBUF_SIZE-1);
00938                 notify_printf(player, "@set %s=%s", strip_ansi_r(new,thingname,strlen(thingname)),
00939                                           fp->flagname);
00940         }
00941 }                                                               /* end decompile_flags() */

void display_flagtab ( dbref  player  ) 

Displays available flags. Used in flags.

Definition at line 472 of file flags.c.

References alloc_lbuf, CA_GOD, CA_WIZARD, flag_entry::flaglett, flag_entry::flagname, free_lbuf, gen_flags, God, flag_entry::listperm, notify, safe_chr, safe_str, and Wizard.

Referenced by do_list().

00473 {
00474         char *buf, *bp;
00475         FLAGENT *fp;
00476 
00477         bp = buf = alloc_lbuf("display_flagtab");
00478         safe_str((char *) "Flags:", buf, &bp);
00479 
00480         for(fp = gen_flags; fp->flagname; fp++) {
00481                 if((fp->listperm & CA_WIZARD) && !Wizard(player))
00482                         continue;
00483                 if((fp->listperm & CA_GOD) && !God(player))
00484                         continue;
00485                 safe_chr(' ', buf, &bp);
00486                 safe_str((char *) fp->flagname, buf, &bp);
00487                 safe_chr('(', buf, &bp);
00488                 safe_chr(fp->flaglett, buf, &bp);
00489                 safe_chr(')', buf, &bp);
00490         }
00491 
00492         *bp = '\0';
00493         notify(player, buf);
00494         free_lbuf(buf);
00495 }                                                               /* end display_flagtab() */

FLAGENT* find_flag ( dbref  thing,
char *  flagname 
)

??

Definition at line 500 of file flags.c.

References statedata::flags_htab, hashfind(), mudstate, and ToLower.

Referenced by flag_set(), and has_flag().

00501 {
00502         char *cp;
00503 
00504         /* Make sure the flag name is valid */
00505         for(cp = flagname; *cp; cp++)
00506                 *cp = ToLower(*cp);
00507 
00508         return (FLAGENT *) hashfind(flagname, &mudstate.flags_htab);
00509 }                                                               /* end find_flag() */

char* flag_description ( dbref  player,
dbref  target 
)

Returns an mbuf containing the type and flags on thing.

Parameters:
player The player to send to
target The object whose flags we're checking

Definition at line 681 of file flags.c.

References alloc_mbuf, CA_GOD, CA_PUBLIC, CA_WIZARD, CONNECTED, DARK, FLAG_WORD2, FLAG_WORD3, flag_entry::flagflag, flag_entry::flagname, Flags, Flags2, Flags3, flag_entry::flagvalue, gen_flags, God, isPlayer, flag_entry::listperm, name, object_types, safe_mb_chr, safe_mb_str, Typeof, WIZARD, and Wizard.

Referenced by debug_examine(), and do_examine().

00682 {
00683         char *buff, *bp;
00684         FLAGENT *fp;
00685         int otype;
00686         FLAG fv;
00687 
00688         /*
00689          * Allocate the return buffer 
00690          */
00691 
00692         otype = Typeof(target);
00693         bp = buff = alloc_mbuf("flag_description");
00694 
00695         /*
00696          * Store the header strings and object type 
00697          */
00698 
00699         safe_mb_str((char *) "Type: ", buff, &bp);
00700         safe_mb_str((char *) object_types[otype].name, buff, &bp);
00701         safe_mb_str((char *) " Flags:", buff, &bp);
00702         if(object_types[otype].perm != CA_PUBLIC) {
00703                 *bp = '\0';
00704                 return buff;
00705         }
00706         /*
00707          * Store the type-invariant flags 
00708          */
00709 
00710         for(fp = gen_flags; fp->flagname; fp++) {
00711                 if(fp->flagflag & FLAG_WORD3)
00712                         fv = Flags3(target);
00713                 else if(fp->flagflag & FLAG_WORD2)
00714                         fv = Flags2(target);
00715                 else
00716                         fv = Flags(target);
00717                 if(fv & fp->flagvalue) {
00718                         if((fp->listperm & CA_WIZARD) && !Wizard(player))
00719                                 continue;
00720                         if((fp->listperm & CA_GOD) && !God(player))
00721                                 continue;
00722                         /*
00723                          * don't show CONNECT on dark wizards to mortals 
00724                          */
00725                         if(isPlayer(target) && (fp->flagvalue == CONNECTED) &&
00726                            ((Flags(target) & (WIZARD | DARK)) == (WIZARD | DARK)) &&
00727                            !Wizard(player))
00728                                 continue;
00729                         safe_mb_chr(' ', buff, &bp);
00730                         safe_mb_str((char *) fp->flagname, buff, &bp);
00731                 }
00732         }
00733 
00734         /*
00735          * Terminate the string, and return the buffer to the caller 
00736          */
00737 
00738         *bp = '\0';
00739         return buff;
00740 }                                                               /* end flag_description() */

void flag_set ( dbref  target,
dbref  player,
char *  flag,
int  key 
)

Sets or clears a specified flag on an object.

Parameters:
target Target object
player The object doing the setting flag The flag being set/unset
key Are we /quiet'in?

Definition at line 535 of file flags.c.

References find_flag(), flag_entry::flagflag, flag_entry::flagname, flag_entry::flagvalue, flag_entry::handler, Name(), notify, notify_printf(), Quiet, and SET_QUIET.

Referenced by do_set(), and fun_set().

00536 {
00537         FLAGENT *fp;
00538         int negate, result;
00539 
00540         /*
00541          * Trim spaces, and handle the negation character 
00542          */
00543 
00544         negate = 0;
00545         while (*flag && isspace(*flag))
00546                 flag++;
00547         if(*flag == '!') {
00548                 negate = 1;
00549                 flag++;
00550         }
00551         while (*flag && isspace(*flag))
00552                 flag++;
00553 
00554         /*
00555          * Make sure a flag name was specified 
00556          */
00557 
00558         if(*flag == '\0') {
00559                 if(negate)
00560                         notify(player, "You must specify a flag to clear.");
00561                 else
00562                         notify(player, "You must specify a flag to set.");
00563                 return;
00564         }
00565         fp = find_flag(target, flag);
00566         if(fp == NULL) {
00567                 notify(player, "I don't understand that flag.");
00568                 return;
00569         }
00570         /*
00571          * Invoke the flag handler, and print feedback 
00572          */
00573 
00574         result = fp->handler(target, player, fp->flagvalue, fp->flagflag, negate);
00575         if(!result)
00576                 notify(player, "Permission denied.");
00577         else if(!(key & SET_QUIET) && !Quiet(player))
00578                 notify_printf(player, "%s - %s %s", Name(target), fp->flagname,
00579                                           negate ? "cleared." : "set.");
00580         return;
00581 }                                                               /* end flag_set() */

int has_flag ( dbref  player,
dbref  target,
char *  flagname 
)

Does object have flag visible to player?

Parameters:
player The player we're looking for
target The object with the flag
flagname The flag in question

Definition at line 643 of file flags.c.

References CA_GOD, CA_WIZARD, CONNECTED, DARK, find_flag(), FLAG_WORD2, FLAG_WORD3, flag_entry::flagflag, Flags, Flags2, Flags3, flag_entry::flagvalue, God, isPlayer, flag_entry::listperm, WIZARD, and Wizard.

Referenced by fun_hasflag().

00644 {
00645         FLAGENT *fp;
00646         FLAG fv;
00647 
00648         fp = find_flag(target, flagname);
00649         if(fp == NULL)
00650                 return 0;
00651 
00652         if(fp->flagflag & FLAG_WORD3)
00653                 fv = Flags3(target);
00654         else if(fp->flagflag & FLAG_WORD2)
00655                 fv = Flags2(target);
00656         else
00657                 fv = Flags(target);
00658 
00659         if(fv & fp->flagvalue) {
00660                 if((fp->listperm & CA_WIZARD) && !Wizard(player))
00661                         return 0;
00662                 if((fp->listperm & CA_GOD) && !God(player))
00663                         return 0;
00664                 /*
00665                  * don't show CONNECT on dark wizards to mortals 
00666                  */
00667                 if(isPlayer(target) && (fp->flagvalue == CONNECTED) &&
00668                    ((Flags(target) & (WIZARD | DARK)) == (WIZARD | DARK)) &&
00669                    !Wizard(player))
00670                         return 0;
00671                 return 1;
00672         }
00673         return 0;
00674 }                                                               /* end has_flag() */

void init_flagtab ( void   ) 

Initializes flag hash tables.

Definition at line 451 of file flags.c.

References alloc_sbuf, flag_entry::flagname, statedata::flags_htab, free_sbuf, gen_flags, HASH_FACTOR, hashadd(), hashinit(), mudstate, and ToLower.

Referenced by main().

00452 {
00453         FLAGENT *fp;
00454         char *nbuf, *np, *bp;
00455 
00456         hashinit(&mudstate.flags_htab, 100 * HASH_FACTOR);
00457         nbuf = alloc_sbuf("init_flagtab");
00458 
00459         for(fp = gen_flags; fp->flagname; fp++) {
00460                 for(np = nbuf, bp = (char *) fp->flagname; *bp; np++, bp++)
00461                         *np = ToLower(*bp);
00462                 *np = '\0';
00463                 hashadd(nbuf, (int *) fp, &mudstate.flags_htab);
00464         }
00465 
00466         free_sbuf(nbuf);
00467 }                                                               /* end init_flagtab() */

char* unparse_object ( dbref  player,
dbref  target,
int  obey_myopic 
)

Returns an lbuf pointing to the object name and possibly the db# and flags.

Definition at line 766 of file flags.c.

References ABODE, alloc_lbuf, CHOWN_OK, DESTROY_OK, Examinable, Flags, Flags2, free_sbuf, Good_obj, HOME, JUMP_OK, LINK_OK, MyopicExam, Name(), NOTHING, StringCopy, and unparse_flags.

Referenced by do_channelwho(), do_chanobj(), do_chown_macro(), do_comwho(), do_entrances(), do_examine(), do_find(), do_inventory(), do_list_macro(), do_malias_create(), do_search(), do_status_macro(), log_name(), look_contents(), look_in(), look_simple(), show_que(), and unparse_boolexp1().

00767 {
00768         char *buf, *fp;
00769         int exam;
00770 
00771         buf = alloc_lbuf("unparse_object");
00772         if(target == NOTHING) {
00773                 StringCopy(buf, "*NOTHING*");
00774         } else if(target == HOME) {
00775                 StringCopy(buf, "*HOME*");
00776         } else if(!Good_obj(target)) {
00777                 sprintf(buf, "*ILLEGAL*(#%d)", target);
00778         } else {
00779                 if(obey_myopic)
00780                         exam = MyopicExam(player, target);
00781                 else
00782                         exam = Examinable(player, target);
00783                 if(exam ||
00784                    (Flags(target) & (CHOWN_OK | JUMP_OK | LINK_OK | DESTROY_OK))
00785                    || (Flags2(target) & ABODE)) {
00786 
00787                         /*
00788                          * show everything 
00789                          */
00790                         fp = unparse_flags(player, target);
00791                         sprintf(buf, "%s(#%d%s%s)", Name(target), target,
00792                                         *fp ? ":" : "", fp);
00793                         free_sbuf(fp);
00794                 } else {
00795                         /*
00796                          * show only the name. 
00797                          */
00798                         StringCopy(buf, Name(target));
00799                 }
00800         }
00801         return buf;
00802 }                                                               /* end unparse_object() */

char* unparse_object_numonly ( dbref  target  ) 

Returns an lbuf containing the name and number of an object.

Parameters:
target The target object

Definition at line 746 of file flags.c.

References alloc_lbuf, Good_obj, HOME, Name(), NOTHING, and StringCopy.

Referenced by do_chboot(), and log_name().

00747 {
00748         char *buf;
00749 
00750         buf = alloc_lbuf("unparse_object_numonly");
00751         if(target == NOTHING) {
00752                 StringCopy(buf, "*NOTHING*");
00753         } else if(target == HOME) {
00754                 StringCopy(buf, "*HOME*");
00755         } else if(!Good_obj(target)) {
00756                 sprintf(buf, "*ILLEGAL*(#%d)", target);
00757         } else {
00758                 sprintf(buf, "%s(#%d)", Name(target), target);
00759         }
00760         return buf;
00761 }                                                               /* end unparse_object_numonly() */


Variable Documentation

OBJENT object_types[8]

Listing of valid object types

Definition at line 429 of file flags.c.

Referenced by convert_flags(), decode_flags(), and flag_description().


Generated on Mon May 28 04:25:29 2007 for BattletechMUX by  doxygen 1.4.7