/**************************************************************************/ // dawn.h - heaps of game types defines /*************************************************************************** * The Dawn of Time v1.69r (c)1997-2004 Michael Garratt * * >> A number of people have contributed to the Dawn codebase, with the * * majority of code written by Michael Garratt - www.dawnoftime.org * * >> To use this source code, you must fully comply with all the licenses * * in licenses.txt... In particular, you may not remove this copyright * * notice. * *************************************************************************** * >> Original Diku Mud copyright (c)1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, & Katja Nyboe. * * >> Merc Diku Mud improvements copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * >> ROM 2.4 is copyright 1993-1995 Russ Taylor and has been brought to * * you by the ROM consortium: Russ Taylor(rtaylor@pacinfo.com), * * Gabrielle Taylor(gtaylor@pacinfo.com) & Brian Moore(rom@rom.efn.org) * * >> Oblivion 1.2 is copyright 1996 Wes Wagner * **************************************************************************/ // below line used for global varibles system #define EXTERN extern // Connected state for a channel - rest in nanny.h #define CON_PLAYING 0 /**************************************************************************/ #define NOTE_NOTE 0 #define NOTE_IDEA 1 #define NOTE_PENALTY 2 #define NOTE_NEWS 3 #define NOTE_CHANGES 4 #define NOTE_ANOTE 5 #define NOTE_INOTE 6 #define NOTE_MISC 7 #define NOTE_SNOTE 8 #define NOTE_PKNOTE 9 // where definitions #define WHERE_AFFECTS 0 #define WHERE_OBJEXTRA 1 #define WHERE_IMMUNE 2 #define WHERE_RESIST 3 #define WHERE_VULN 4 #define WHERE_WEAPON 5 #define WHERE_RESTRICT 6 #define WHERE_SKILLS 7 #define WHERE_AFFECTS2 8 #define WHERE_OBJEXTRA2 9 #define WHERE_OBJECTSPELL 10 // spell objects #define WHERE_MODIFIER 11 // bitvector flags used with object spell system #define OBJSPELL_ACTIVE (A) // Currently affecting the player #define OBJSPELL_IGNORE_LEVEL (B) // Will be cast on player regardless of level // ACT bits for mobs - Used in #MOBILES. #define ACT_IS_NPC (A) // Auto set for mobs #define ACT_DONT_WANDER (B) // Stays in one room #define ACT_SENTINEL (ACT_DONT_WANDER) // The old name for the DONT_WANDER flag #define ACT_SCAVENGER (C) // Picks up objects #define ACT_DOCILE (D) // Allows self to be mounted #define ACT_NO_TAME (E) // is untamable #define ACT_AGGRESSIVE (F) // Attacks PC's #define ACT_STAY_AREA (G) // Won't leave area #define ACT_WIMPY (H) #define ACT_PET (I) // Auto set for pets #define ACT_TRAIN (J) // Can train PC's #define ACT_PRACTICE (K) // Can practice PC's #define ACT_MPIGN_QUESTER (L) // All mobprog triggers on mob ignore quester #define ACT_MPIGN_NONQUESTER (M) // All mobprog triggers on mob ignore nonquester #define ACT_AMPHIBIAN (N) #define ACT_UNDEAD (O) #define ACT_CLERIC (Q) #define ACT_MAGE (R) #define ACT_THIEF (S) #define ACT_WARRIOR (T) #define ACT_NOALIGN (U) #define ACT_NOPURGE (V) #define ACT_OUTDOORS (W) #define ACT_MOBLOG (X) #define ACT_INDOORS (Y) #define ACT_NOAUTOSOCIAL (Z) #define ACT_IS_HEALER (aa) #define ACT_GAIN (bb) #define ACT_UPDATE_ALWAYS (cc) #define ACT_IS_CHANGER (dd) #define ACT_IS_UNSEEN (ee) // (A) is left free incase an ACT2_IS_NPC flag is needed #define ACT2_NOHUNT (B) // Not used at this stage #define ACT2_ALLSKILLS (C) #define ACT2_AVOIDS_ALL_ATTACKS (D) #define ACT2_NO_TENDENCY (E) // damage clsses #define DAM_NONE 0 #define DAM_BASH 1 #define DAM_PIERCE 2 #define DAM_SLASH 3 #define DAM_FIRE 4 #define DAM_COLD 5 #define DAM_LIGHTNING 6 #define DAM_ACID 7 #define DAM_POISON 8 #define DAM_NEGATIVE 9 #define DAM_HOLY 10 #define DAM_ENERGY 11 #define DAM_MENTAL 12 #define DAM_DISEASE 13 #define DAM_DROWNING 14 #define DAM_LIGHT 15 #define DAM_OTHER 16 #define DAM_HARM 17 #define DAM_CHARM 18 #define DAM_SOUND 19 #define DAM_ILLUSION 20 // OFF bits for mobiles #define OFF_AREA_ATTACK (A) #define OFF_BACKSTAB (B) #define OFF_BASH (C) #define OFF_BERSERK (D) #define OFF_DISARM (E) #define OFF_DODGE (F) #define OFF_FADE (G) #define OFF_FAST (H) #define OFF_KICK (I) #define OFF_KICK_DIRT (J) #define OFF_PARRY (K) #define OFF_RESCUE (L) #define OFF_TAIL (M) #define OFF_TRIP (N) #define OFF_CRUSH (O) #define ASSIST_ALL (P) #define ASSIST_ALIGN (Q) #define ASSIST_RACE (R) #define ASSIST_PLAYERS (S) #define ASSIST_GUARD (T) #define ASSIST_VNUM (U) #define OFF_GORE (V) #define OFF_UPPERCUT (W) // uncompleted #define OFF_NECK_THRUST (X) // uncompleted #define OFF_WEB (Y) // uncompleted #define OFF_GAZE (Z) // uncompleted - was V #define OFF_CIRCLE (aa) // return values for check_imm #define IS_NORMAL 0 #define IS_IMMUNE 1 #define IS_RESISTANT 2 #define IS_VULNERABLE 3 // IMM bits for mobs #define IMM_SUMMON (A) #define IMM_CHARM (B) #define IMM_MAGIC (C) #define IMM_WEAPON (D) #define IMM_BASH (E) #define IMM_PIERCE (F) #define IMM_SLASH (G) #define IMM_FIRE (H) #define IMM_COLD (I) #define IMM_LIGHTNING (J) #define IMM_ACID (K) #define IMM_POISON (L) #define IMM_NEGATIVE (M) #define IMM_HOLY (N) #define IMM_ENERGY (O) #define IMM_MENTAL (P) #define IMM_DISEASE (Q) #define IMM_DROWNING (R) #define IMM_LIGHT (S) #define IMM_SOUND (T) #define IMM_SLEEP (U) #define IMM_WOOD (X) #define IMM_SILVER (Y) #define IMM_IRON (Z) #define IMM_ILLUSION (aa) #define IMM_SCRY (bb) #define IMM_HUNGER (cc) // Ixliam #define IMM_THIRST (dd) // Ixliam #define IMM_FEAR (ee) // Ixliam // RES bits for mobs #define RES_SUMMON (A) #define RES_CHARM (B) #define RES_MAGIC (C) #define RES_WEAPON (D) #define RES_BASH (E) #define RES_PIERCE (F) #define RES_SLASH (G) #define RES_FIRE (H) #define RES_COLD (I) #define RES_LIGHTNING (J) #define RES_ACID (K) #define RES_POISON (L) #define RES_NEGATIVE (M) #define RES_HOLY (N) #define RES_ENERGY (O) #define RES_MENTAL (P) #define RES_DISEASE (Q) #define RES_DROWNING (R) #define RES_LIGHT (S) #define RES_SOUND (T) #define RES_WOOD (X) #define RES_SILVER (Y) #define RES_IRON (Z) #define RES_ILLUSION (aa) #define RES_SCRY (bb) // VULN bits for mobs #define VULN_SUMMON (A) #define VULN_CHARM (B) #define VULN_MAGIC (C) #define VULN_WEAPON (D) #define VULN_BASH (E) #define VULN_PIERCE (F) #define VULN_SLASH (G) #define VULN_FIRE (H) #define VULN_COLD (I) #define VULN_LIGHTNING (J) #define VULN_ACID (K) #define VULN_POISON (L) #define VULN_NEGATIVE (M) #define VULN_HOLY (N) #define VULN_ENERGY (O) #define VULN_MENTAL (P) #define VULN_DISEASE (Q) #define VULN_DROWNING (R) #define VULN_LIGHT (S) #define VULN_SOUND (T) #define VULN_WOOD (X) #define VULN_SILVER (Y) #define VULN_IRON (Z) #define VULN_ILLUSION (aa) #define VULN_SCRY (bb) // body form #define FORM_EDIBLE (A) #define FORM_POISON (B) #define FORM_MAGICAL (C) #define FORM_INSTANT_DECAY (D) #define FORM_OTHER (E) // defined by material bit // actual form #define FORM_ANIMAL (G) #define FORM_SENTIENT (H) #define FORM_UNDEAD (I) #define FORM_CONSTRUCT (J) #define FORM_MIST (K) #define FORM_INTANGIBLE (L) #define FORM_BIPED (M) #define FORM_CENTAUR (N) #define FORM_INSECT (O) #define FORM_SPIDER (P) #define FORM_CRUSTACEAN (Q) #define FORM_WORM (R) #define FORM_BLOB (S) #define FORM_MOUNTABLE (T) #define FORM_MAMMAL (V) #define FORM_BIRD (W) #define FORM_REPTILE (X) #define FORM_SNAKE (Y) #define FORM_DRAGON (Z) #define FORM_AMPHIBIAN (aa) #define FORM_FISH (bb) #define FORM_COLD_BLOOD (cc) // body parts #define PART_HEAD (A) #define PART_ARMS (B) #define PART_LEGS (C) #define PART_HEART (D) #define PART_BRAINS (E) #define PART_GUTS (F) #define PART_HANDS (G) #define PART_FEET (H) #define PART_FINGERS (I) #define PART_EAR (J) #define PART_EYE (K) #define PART_LONG_TONGUE (L) #define PART_EYESTALKS (M) #define PART_TENTACLES (N) #define PART_FINS (O) #define PART_WINGS (P) #define PART_TAIL (Q) // for combat #define PART_CLAWS (U) #define PART_FANGS (V) #define PART_HORNS (W) #define PART_SCALES (X) #define PART_TUSKS (Y) // Bits for 'affected_by' - Used in #MOBILES. #define AFF_BLIND (A) #define AFF_INVISIBLE (B) #define AFF_DETECT_EVIL (C) #define AFF_DETECT_INVIS (D) #define AFF_DETECT_MAGIC (E) #define AFF_DETECT_HIDDEN (F) #define AFF_DETECT_GOOD (G) #define AFF_SANCTUARY (H) #define AFF_FAERIE_FIRE (I) #define AFF_INFRARED (J) #define AFF_CURSE (K) #define AFF_OTTERLUNGS (L) #define AFF_POISON (M) #define AFF_PROTECT_EVIL (N) #define AFF_PROTECT_GOOD (O) #define AFF_SNEAK (P) #define AFF_HIDE (Q) #define AFF_SLEEP (R) #define AFF_CHARM (S) #define AFF_FLYING (T) #define AFF_PASS_DOOR (U) #define AFF_HASTE (V) #define AFF_CALM (W) #define AFF_PLAGUE (X) #define AFF_WEAKEN (Y) #define AFF_DARK_VISION (Z) #define AFF_BERSERK (aa) #define AFF_SWIM (bb) #define AFF_REGENERATION (cc) #define AFF_SLOW (dd) #define AFF_FEAR (ee) // Bits for 'affected_by2' - Used in #MOBILES. #define AFF2_POSSESSION (A) #define AFF2_RAMPAGE (B) #define AFF2_VAMP_BITE (C) #define AFF2_GHOUL (D) #define AFF2_CHI_POWER (E) #define AFF2_FADE (F) #define AFF2_TAUNT (G) #define AFF2_CRIPPLE (H) #define AFF2_CAMOUFLAGE (I) #define AFF2_DETECT_CAMOUFLAGE (J) #define AFF2_ROAR (K) #define AFF2_WARCRY (L) #define AFF2_SHIELD (M) #define AFF2_MUTE (N) #define AFF2_DET_TRAPS (O) #define AFF2_TREEFORM (P) #define AFF2_PASSWOTRACE (Q) #define AFF2_VANISH (R) #define AFF2_FEAR_MAGIC (S) #define AFF2_DETECT_TREEFORM (T) #define AFF2_DETECT_VANISH (U) #define AFF2_FIRE_SHIELD (V) // not yet implemented #define AFF2_ICE_SHIELD (W) // not yet implemented 32 #define AFF2_SHOCK_SHIELD (X) // not yet implemented 33 #define AFF2_HALLUCINATE (Y) // not yet implemented 34 #define AFF2_VICEGRIP (Z) #define AFF2_STOCKADE (aa) // Ixliam #define AFF2_STONE_GARGOYLE (bb) // Ixliam /* * Class Definitions */ #define CLASS_MAGE 0 #define CLASS_CLERIC 1 #define CLASS_THIEF 2 #define CLASS_WARRIOR 3 #define CLASS_DRUID 4 #define CLASS_PALADIN 5 #define CLASS_RANGER 6 #define CLASS_BARBARIAN 7 #define CLASS_SPELLFILCHER 8 // Class Flags #define CLASSFLAG_POISON_IMMUNITY (A) // Paladins get this #define CLASSFLAG_CURSE_IMMUNITY (B) // Paladins get this #define CLASSFLAG_PLAGUE_IMMUNITY (C) // Paladins get this #define CLASSFLAG_DAMMODS_WITH_HOLYWEAPONS (D) // Paladins get this #define CLASSFLAG_SAFE_FLEE_FROM_COMBAT (E) // Thieves get this #define CLASSFLAG_CASTING_AFFECTED_BY_MOON (F) // Mages get this #define CLASSFLAG_CASTING_HALFAFFECTED_BY_MOON (G) // Spellfilchers get this #define CLASSFLAG_MAGIC_ANTIPATHY (H) // Barbs get this #define CLASSFLAG_LEVEL_BASED_AC (I) // Barbs get this #define CLASSFLAG_TOTEMS (J) // Druids get this #define CLASSFLAG_CAN_COLLECT_WATER (K) // Druids get this #define CLASSFLAG_DEITIES (L) // Clerics and Paladins get this #define CLASSFLAG_HOLYSYMBOLS (M) // Clerics get this #define CLASSFLAG_NO_CUSTOMIZATION (N) // The class can't customise #define CLASSFLAG_ALWAYS_HIDDEN_FROM_MORTAL_CLASSINFO (O) // only effects morts #define CLASSFLAG_HIDDEN_FROM_MORTAL_CLASSINFO_WHEN_ABOVE_THEIR_REMORT (P) // only effects morts /* * Class Restrictions */ #define RESTRICT_MAGE A #define RESTRICT_CLERIC B #define RESTRICT_THIEF C #define RESTRICT_WARRIOR D #define RESTRICT_DRUID E #define RESTRICT_PALADIN F #define RESTRICT_RANGER G #define RESTRICT_BARBARIAN H #define RESTRICT_SPELLFILCHER I // Sex - Used in #MOBILES. #define SEX_NEUTRAL 0 #define SEX_MALE 1 #define SEX_FEMALE 2 #define SEX_RANDOM 3 // AC types #define AC_PIERCE 0 #define AC_BASH 1 #define AC_SLASH 2 #define AC_EXOTIC 3 // dice #define DICE_NUMBER 0 #define DICE_TYPE 1 #define DICE_BONUS 2 // size #define SIZE_TINY 0 #define SIZE_SMALL 1 #define SIZE_MEDIUM 2 #define SIZE_LARGE 3 #define SIZE_HUGE 4 #define SIZE_GIANT 5 // Item types - Used in #OBJECTS #define ITEM_LIGHT 1 #define ITEM_SCROLL 2 #define ITEM_WAND 3 #define ITEM_STAFF 4 #define ITEM_WEAPON 5 #define ITEM_COMPONENT 6 #define ITEM_RP 7 #define ITEM_TREASURE 8 #define ITEM_ARMOR 9 #define ITEM_POTION 10 #define ITEM_CLOTHING 11 #define ITEM_FURNITURE 12 #define ITEM_TRASH 13 #define ITEM_PARCHMENT 14 #define ITEM_CONTAINER 15 #define ITEM_INSTRUMENT 16 #define ITEM_DRINK_CON 17 #define ITEM_KEY 18 #define ITEM_FOOD 19 #define ITEM_MONEY 20 #define ITEM_HERB 21 #define ITEM_BOAT 22 #define ITEM_CORPSE_NPC 23 #define ITEM_CORPSE_PC 24 #define ITEM_FOUNTAIN 25 #define ITEM_PILL 26 #define ITEM_PROTECT 27 #define ITEM_MAP 28 #define ITEM_PORTAL 29 #define ITEM_WARP_STONE 30 #define ITEM_ROOM_KEY 31 #define ITEM_GEM 32 #define ITEM_JEWELRY 33 #define ITEM_JUKEBOX 34 #define ITEM_TOKEN 35 #define ITEM_POULTICE 36 #define ITEM_MORTAR 37 #define ITEM_CAULDRON 38 #define ITEM_FLASK 39 #define ITEM_ORE 40 // Extra flags - Used in #OBJECTS #define OBJEXTRA_GLOW (A) #define OBJEXTRA_HUM (B) #define OBJEXTRA_DARK (C) #define OBJEXTRA_LOCK (D) #define OBJEXTRA_EVIL (E) #define OBJEXTRA_INVIS (F) #define OBJEXTRA_MAGIC (G) #define OBJEXTRA_NODROP (H) #define OBJEXTRA_BLESS (I) #define OBJEXTRA_ANTI_GOOD (J) #define OBJEXTRA_ANTI_EVIL (K) #define OBJEXTRA_ANTI_NEUTRAL (L) #define OBJEXTRA_NOREMOVE (M) #define OBJEXTRA_INVENTORY (N) #define OBJEXTRA_NOPURGE (O) #define OBJEXTRA_ROT_DEATH (P) #define OBJEXTRA_VIS_DEATH (Q) #define OBJEXTRA_OTTERLUNGS (R) #define OBJEXTRA_NONMETAL (S) #define OBJEXTRA_NOLOCATE (T) #define OBJEXTRA_MELT_DROP (U) #define OBJEXTRA_HAD_TIMER (V) #define OBJEXTRA_SELL_EXTRACT (W) #define OBJEXTRA_NO_DEGRADE (X) #define OBJEXTRA_BURN_PROOF (Y) #define OBJEXTRA_NOUNCURSE (Z) #define OBJEXTRA_CHAOS (aa) #define OBJEXTRA_HORNED (bb) #define OBJEXTRA_NO_RESTRING (cc) #define OBJEXTRA_LODGED (dd) #define OBJEXTRA_NO_GET_ALL (ee) // Extra flags 2 - Used in #OBJECTS #define OBJEXTRA2_BURIED (A) #define OBJEXTRA2_NODECAY (B) #define OBJEXTRA2_NOPRIMARY (C) #define OBJEXTRA2_NOSECONDARY (D) #define OBJEXTRA2_NOCHAOS (E) #define OBJEXTRA2_QUEST (F) #define OBJEXTRA2_HOLY (G) #define OBJEXTRA2_REMORT (H) #define OBJEXTRA2_VAMPIRE_BANE (I) #define OBJEXTRA2_TRAP (J) #define OBJEXTRA2_NOSELL (L) #define OBJEXTRA2_NOQUEST (M) #define OBJEXTRA2_ANTI_LAW (N) #define OBJEXTRA2_ANTI_CHAOS (O) #define OBJEXTRA2_ANTI_BALANCE (P) // Wear flags - Used in #OBJECTS #define OBJWEAR_TAKE (A) #define OBJWEAR_FINGER (B) #define OBJWEAR_NECK (C) #define OBJWEAR_TORSO (D) #define OBJWEAR_HEAD (E) #define OBJWEAR_LEGS (F) #define OBJWEAR_FEET (G) #define OBJWEAR_HANDS (H) #define OBJWEAR_ARMS (I) #define OBJWEAR_SHIELD (J) #define OBJWEAR_ABOUT (K) #define OBJWEAR_WAIST (L) #define OBJWEAR_WRIST (M) #define OBJWEAR_WIELD (N) #define OBJWEAR_HOLD (O) #define OBJWEAR_NO_SAC (P) #define OBJWEAR_FLOAT (Q) #define OBJWEAR_LODGED_ARM (R) #define OBJWEAR_LODGED_LEG (S) #define OBJWEAR_LODGED_RIB (T) #define OBJWEAR_SHEATHED (U) #define OBJWEAR_CONCEALED (V) #define OBJWEAR_EYES (W) #define OBJWEAR_EAR (X) #define OBJWEAR_FACE (Y) #define OBJWEAR_ANKLE (Z) #define OBJWEAR_BACK (aa) // weapon class #define WEAPON_EXOTIC 0 #define WEAPON_SWORD 1 #define WEAPON_DAGGER 2 #define WEAPON_STAFF 3 #define WEAPON_MACE 4 #define WEAPON_AXE 5 #define WEAPON_FLAIL 6 #define WEAPON_WHIP 7 #define WEAPON_POLEARM 8 #define WEAPON_SICKLE 9 #define WEAPON_SPEAR 10 // specialization types #define SPECIALIZE_NONE 0 #define SPECIALIZE_SWORD 1 #define SPECIALIZE_DAGGER 2 #define SPECIALIZE_STAFF 3 #define SPECIALIZE_MACE 4 #define SPECIALIZE_AXE 5 #define SPECIALIZE_FLAIL 6 #define SPECIALIZE_WHIP 7 #define SPECIALIZE_POLARM 8 #define SPECIALIZE_SPEAR 9 // weapon types #define WEAPON_FLAMING (A) #define WEAPON_FROST (B) #define WEAPON_VAMPIRIC (C) #define WEAPON_SHARP (D) #define WEAPON_VORPAL (E) #define WEAPON_TWO_HANDS (F) #define WEAPON_SHOCKING (G) #define WEAPON_POISON (H) #define WEAPON_HOLY (I) #define WEAPON_LIVING (J) #define WEAPON_SLAYER (K) #define WEAPON_SUCKLE (L) #define WEAPON_ENERVATE (M) #define WEAPON_ANNEALED (N) // gate flags #define GATE_NORMAL_EXIT (A) #define GATE_NOCURSE (B) #define GATE_GOWITH (C) #define GATE_BUGGY (D) #define GATE_RANDOM (E) #define GATE_OPAQUE (F) #define GATE_SHORT_LOOKINTO (G) // token flags #define TOKEN_DROPDEATH (A) #define TOKEN_QUITDEATH (B) // furniture flags #define STAND_AT (A) #define STAND_ON (B) #define STAND_IN (C) #define SIT_AT (D) #define SIT_ON (E) #define SIT_IN (F) #define REST_AT (G) #define REST_ON (H) #define REST_IN (I) #define SLEEP_AT (J) #define SLEEP_ON (K) #define SLEEP_IN (L) #define PUT_AT (M) #define PUT_ON (N) #define PUT_IN (O) #define PUT_INSIDE (P) #define KNEEL_AT (Q) #define KNEEL_ON (R) #define KNEEL_IN (S) #define STAND_UNDER (T) #define SIT_UNDER (U) #define REST_UNDER (V) #define SLEEP_UNDER (W) #define PUT_UNDER (X) #define KNEEL_UNDER (Y) // Apply types (for affects) - Used in #OBJECTS // moved into enum stored in structs.h // Values for containers (value[1]) - Used in #OBJECTS #define CONT_CLOSEABLE (A) #define CONT_PICKPROOF (B) #define CONT_CLOSED (C) #define CONT_LOCKED (D) #define CONT_PUT_ON (E) #define CONT_LOCKER (F) // Room affected_by flags #define ROOMAFF_UTTERDARK (A) #define ROOMAFF_ALARM (B) #define ROOMAFF_CONE_OF_SILENCE (C) #define ROOMAFF_UNDERWATER (D) #define ROOMAFF_LEONIDS (E) // Room flags - Used in #ROOMS #define ROOM_DARK (A) #define ROOM_NO_SUMMON (B) // doesn't do anything yet #define ROOM_NO_MOB (C) #define ROOM_INDOORS (D) #define ROOM_NO_PORTAL (E) // doesn't do anything yet #define ROOM_ARENA (F) // doesn't do anything yet #define ROOM_BANK (G) #define ROOM_NOCHANNELS (H) // mortals can't use channels while in the room #define ROOM_PRIVATE (J) #define ROOM_SAFE (K) #define ROOM_SOLITARY (L) #define ROOM_PET_SHOP (M) #define ROOM_NO_RECALL (N) #define ROOM_IMP_ONLY (O) #define ROOM_GODS_ONLY (P) #define ROOM_HEROES_ONLY (Q) #define ROOM_NEWBIES_ONLY (R) #define ROOM_LAW (S) #define ROOM_NOWHERE (T) #define ROOM_OOC (U) #define ROOM_NOSCRY (W) #define ROOM_ANTIMAGIC (X) #define ROOM_NOSPEAK (Y) #define ROOM_LIGHT (Z) #define ROOM_NOFLY (aa) #define ROOM_NOSCAN (bb) #define ROOM_NOAUTOMAP (cc) #define ROOM_NOAUTOEXITS (dd) #define ROOM_INN (ee) #define ROOM2_NO_AREA_ECHOES (A) // room doesn't see area echoes #define ROOM2_MINE (B) // room can be mined for ores // Exit flags - Used in #ROOMS #define EX_ISDOOR (A) #define EX_CLOSED (B) #define EX_LOCKED (C) #define EX_PICKPROOF (F) #define EX_NOPASS (G) #define EX_EASY (H) #define EX_HARD (I) #define EX_INFURIATING (J) #define EX_NOCLOSE (K) #define EX_NOLOCK (L) #define EX_ONEWAY (M) #define EX_OBVIOUS (N) // Sector types - Used in #ROOMS #define SECT_INSIDE 0 #define SECT_CITY 1 #define SECT_FIELD 2 #define SECT_FOREST 3 #define SECT_HILLS 4 #define SECT_MOUNTAIN 5 #define SECT_WATER_SWIM 6 #define SECT_WATER_NOSWIM 7 #define SECT_SWAMP 8 #define SECT_AIR 9 #define SECT_DESERT 10 #define SECT_CAVE 11 #define SECT_UNDERWATER 12 #define SECT_SNOW 13 #define SECT_ICE 14 #define SECT_TRAIL 15 #define SECT_LAVA 16 #define SECT_MAX 17 // Sector bits, for use with dampen, restrict, enhance #define SECTBIT_INSIDE (A) #define SECTBIT_CITY (B) #define SECTBIT_FIELD (C) #define SECTBIT_FOREST (D) #define SECTBIT_HILLS (E) #define SECTBIT_MOUNTAIN (F) #define SECTBIT_WATER_SWIM (G) #define SECTBIT_WATER_NOSWIM (H) #define SECTBIT_SWAMP (I) #define SECTBIT_AIR (J) #define SECTBIT_DESERT (K) #define SECTBIT_CAVE (L) #define SECTBIT_UNDERWATER (M) #define SECTBIT_SNOW (N) #define SECTBIT_ICE (O) #define SECTBIT_TRAIL (P) #define SECTBIT_LAVA (Q) // Equipment wear locations - Used in #RESETS #define WEAR_NONE -1 #define WEAR_LIGHT 0 #define WEAR_FINGER_L 1 #define WEAR_FINGER_R 2 #define WEAR_NECK_1 3 #define WEAR_NECK_2 4 #define WEAR_TORSO 5 #define WEAR_HEAD 6 #define WEAR_LEGS 7 #define WEAR_FEET 8 #define WEAR_HANDS 9 #define WEAR_ARMS 10 #define WEAR_SHIELD 11 #define WEAR_ABOUT 12 #define WEAR_WAIST 13 #define WEAR_WRIST_L 14 #define WEAR_WRIST_R 15 #define WEAR_WIELD 16 #define WEAR_HOLD 17 #define WEAR_FLOAT 18 #define WEAR_SECONDARY 19 #define WEAR_LODGED_ARM 20 #define WEAR_LODGED_LEG 21 #define WEAR_LODGED_RIB 22 #define WEAR_SHEATHED 23 #define WEAR_CONCEALED 24 #define WEAR_EYES 25 #define WEAR_EAR_L 26 #define WEAR_EAR_R 27 #define WEAR_FACE 28 #define WEAR_ANKLE_L 29 #define WEAR_ANKLE_R 30 #define WEAR_BACK 31 #define MAX_WEAR 32 enum timefields { TIME_NONE, TIME_SMALL_HOURS, TIME_DAWN, TIME_MORNING, TIME_NOON, TIME_AFTERNOON, TIME_DUSK, TIME_EVENING, TIME_MIDNIGHT, TIME_MAX, }; enum modifiers { DIFF_NONE, DIFF_TRIVIAL, DIFF_EASY, DIFF_LIGHT, DIFF_MEDIUM, DIFF_HARD, DIFF_VERY_HARD, DIFF_ABSURD, DIFF_SHEER_FOLLY, DIFF_MAX, }; enum totems { TOTEM_BEAR, TOTEM_STAG, TOTEM_SWALLOW, TOTEM_OSPREY, TOTEM_TORTOISE, TOTEM_RAVEN, TOTEM_BAT, TOTEM_WOLF, TOTEM_SERPENT, TOTEM_TOAD, TOTEM_OWL, TOTEM_HARE, TOTEM_MAX, }; enum mixtypes { MIXTYPE_NONE, MIXTYPE_HERBALISM, MIXTYPE_COOKING, MIXTYPE_SMITHING, MIXTYPE_ALCHEMY, MIXTYPE_POTTERY, MIXTYPE_TINKERING, MIXTYPE_MAX, }; // OLC Race flags #define RACE_NONE 0 #define RACE_CHANGED (A) #define RACE_ADDED (B) // OLCArea flags. #define OLCAREA_NONE 0 #define OLCAREA_CHANGED (A) // Area has been modified. #define OLCAREA_ADDED (B) // Area has been added to. #define OLCAREA_LOADING (C) // Used for counting in db.c #define OLCAREA_IGNORE_UNDEFINED_FLAGS (D) // ignores undefined bits when resaving an area. // set on an area that is read in from anything // other than NAFF #define OLCAREA_INVITELISTCHANGED (E) // Area flags. #define AREA_NONE 0 #define AREA_OLCONLY (A) // Area can't be accessed by nonbuilders #define AREA_NOTELEPORT (B) // Area can't be teleported into #define AREA_NOSCRY (C) // Area can't be SCRYED into #define AREA_HIDDEN (D) // Area unseen on wholist by morts #define AREA_USE_BUILDRESTRICTS (E) #define AREA_LOCKED (F) #define AREA_NOGATEINTO (G) // Area can't be gated into #define AREA_NOSUMMONINTO (H) // Things can't be summoned into the area #define AREA_NOPORTALINTO (I) // portals can't be cast into the area #define AREA_NEWBIE_AREA_RESETS (J) // resets the area more often - for newbie areas #define BUILDRESTRICT_ALL (0) #define BUILDRESTRICT_AREA (1) #define BUILDRESTRICT_EXITS (2) #define BUILDRESTRICT_MOBPROGS (3) #define BUILDRESTRICT_MOBS (4) #define BUILDRESTRICT_OBJECTS (5) #define BUILDRESTRICT_RESETS (6) #define BUILDRESTRICT_ROOMS (7) #define BUILDRESTRICT_OTHER (8) // HELP flags. #define HELPFILE_NONE 0 #define HELPFILE_CHANGED (A) // Area has been modified. // SEDIT flags #define SEDIT_NONE 0 #define SEDIT_CHANGED (A) #define SEDIT_ADDED (B) // COMEDIT flags #define COMEDIT_NONE 0 #define COMEDIT_CHANGED (A) // QEDIT FLAGS #define QEDIT_NONE 0 #define QEDIT_CHANGED (A) // MIX FLAGS #define MIX_NONE 0 #define MIX_CHANGED (A) // DEDIT FLAGS #define DEDIT_NONE 0 #define DEDIT_CHANGED (A) // Autosave notification /* #define DEDIT_GOOD_ALIGN (B) #define DEDIT_NEUTRAL_ALIGN (C) #define DEDIT_EVIL_ALIGN (D) #define DEDIT_ORDER_TENDENCY (E) #define DEDIT_NEUTRAL_TENDENCY (F) #define DEDIT_CHAOTIC_TENDENCY (G) #define DEDIT_MALE_GENDER (H) #define DEDIT_FEMALE_GENDER (I) #define DEDIT_NEUTRAL_GENDER (J) */ // GENERIC ALIGN FLAGS #define ALIGN_NONE 0 #define ALIGN_EVIL (A) #define ALIGN_NEUTRAL (B) #define ALIGN_GOOD (C) // GENERIC TENDENCY FLAGS #define TENDFLAG_NONE 0 #define TENDFLAG_CHAOTIC (A) #define TENDFLAG_NEUTRAL (B) #define TENDFLAG_LAWFUL (C) // CLASSEDIT flags #define CLASSEDIT_NONE 0 #define CLASSEDIT_CHANGED (A) // LOG stuff moved here to make it a bit more accesible #define LOG_ALWAYS 0 // always logged into the system log #define LOG_PALWAYS 1 // always log players only into the system log #define LOG_OLC 3 // ALWAYS Logged into OLC log files #define LOG_NORMAL 5 // Logged into log files (when LOG ALL is on // or a player log is on... if plog on, also // logged into their own player log. #define LOG_PLOGONLY 7 // only logged into players log file when // player is being logged, not logged into // main system. #define LOG_DONT_LOG 8 // not logged but can be snooped - eg directions #define LOG_NEVER 10 // Never logged - only thing not snoopable #define CMD_OOC (A) #define CMD_IC (B) #define CMD_NO_ORDER (C) #define CMD_NO_WIZNET_SECURE (D) #define CMD_NO_TREEFORM (E) #define CMD_NO_STONE_GARGOYLE (F) #define CMD_NO_STOCKADE (G) enum mob_balance { MOB_BALANCE_NUM_HIT_DIE, MOB_BALANCE_HIT_DIE_TYPE, MOB_BALANCE_HIT_BONUS, MOB_BALANCE_AC, MOB_BALANCE_NUM_DAM_DIE, MOB_BALANCE_DAM_DIE_TYPE, MOB_BALANCE_DAM_BONUS, MOB_BALANCE_MAX, }; enum categories { CAT_UNDEFINED, CAT_DEFENSIVE_SPELL, CAT_DEFENSIVE_ENHANCEMENT, CAT_OFFENSIVE_ENHANCEMENT, CAT_OFFENSIVE_SPELL, CAT_AREASPELL, CAT_ENCHANTMENT_SPELL, CAT_HEALING_SPELL, CAT_MOVEMENT_SPELL, CAT_CREATION_SPELL, CAT_INFORMATION_SPELL, CAT_MISCELLANEOUS_SPELL, CAT_REALM, CAT_SPHERE, CAT_SEASON, CAT_LANGUAGE, CAT_WEAPON, CAT_OFFENSIVE_COMBAT, CAT_DEFENSIVE_COMBAT, CAT_HEALING_SKILL, CAT_MOVEMENT_SKILL, CAT_MAGIC, CAT_MISCELLANEOUS_SKILL, CAT_DEFAULT_SKILL, }; enum com_categories { COMCAT_UNDEFINED, COMCAT_AUTO, COMCAT_CLAN, COMCAT_COMBAT, COMCAT_COMMUNICATION, COMCAT_MAGIC, COMCAT_MISC, COMCAT_MOVEMENT, COMCAT_NOTES, COMCAT_OBJECT, COMCAT_PKRELATED, COMCAT_RP, COMCAT_STATISTICS, COMCAT_UTILITIES, COMCAT_OLC, COMCAT_NOBLE, COMCAT_NSUPPORT, COMCAT_RPSUPPORT, COMCAT_HELPS }; #define GRANTGROUP_MORTAL (B) #define GRANTGROUP_NOBLE (C) #define GRANTGROUP_BUILDER (D) #define GRANTGROUP_IMPLEMENTOR (E) #define GRANTGROUP_HIGHADMIN (F) #define GRANTGROUP_ADMIN (G) #define GRANTGROUP_HEADBALANCE (H) #define GRANTGROUP_HEADCODE (I) #define GRANTGROUP_HEADLAW (J) #define GRANTGROUP_HEADMYTHOS (K) #define GRANTGROUP_HEADREALM (L) #define GRANTGROUP_HEADSUPPORT (M) #define GRANTGROUP_HEADROLEPLAY (N) #define GRANTGROUP_BALANCE (O) #define GRANTGROUP_CODE (P) #define GRANTGROUP_LAW (Q) #define GRANTGROUP_MYTHOS (R) #define GRANTGROUP_REALM (S) #define GRANTGROUP_SUPPORT (T) #define GRANTGROUP_ROLEPLAY (U) #define GRANTGROUP_ADVANCEDBUILDER (V) #define GRANTGROUP_DEVELOPMENT (W) #define GRANTGROUP_EXPERIMENTAL (X) #define GRANTGROUP_BETATEST1 (Y) #define GRANTGROUP_BETATEST2 (Z) #define GRANTGROUP_INCOMPLETE (aa) #define GRANTGROUP_IMMORTAL (bb) #define GRANTGROUP_OBSCUREIMMORTAL (cc) // the more obscure commands // Global Constants extern char *const dir_shortname[]; extern char *const dir_name[]; extern const sh_int rev_dir[]; extern const struct spec_type spec_table[]; extern const struct ospec_type ospec_table[]; extern int max_on; extern int true_count; extern char EXE_FILE[30]; extern char MACHINE_NAME[MSL]; extern char last_command[MSL]; extern char last_input[MSL]; // Global variables extern int top_affect; extern int top_area; extern int top_deity; extern int top_ed; extern int top_exit; extern int top_help; extern int social_count; extern int top_mob_index; extern int top_obj_index; extern int top_reset; extern int top_room; extern int top_shop; extern int top_inn; extern int top_vnum_mob; extern int top_vnum_obj; extern int top_vnum_room; extern char str_empty [1]; extern long tick_counter; extern int note_notify_counter; extern long last_vnum; // 'last_vnum' used for debuging ie print last_vnum in gdb extern MOB_INDEX_DATA *mob_index_hash [MAX_KEY_HASH]; extern OBJ_INDEX_DATA *obj_index_hash [MAX_KEY_HASH]; extern ROOM_INDEX_DATA *room_index_hash [MAX_KEY_HASH]; extern MOOT_DATA *moot; // Conditions. #define COND_DRUNK 0 #define COND_FULL 1 #define COND_THIRST 2 #define COND_HUNGER 3 // old positions #define POS_OLD_DEAD 0 #define POS_OLD_MORTAL 1 #define POS_OLD_INCAP 2 #define POS_OLD_STUNNED 3 #define POS_OLD_SLEEPING 4 #define POS_OLD_RESTING 5 #define POS_OLD_SITTING 6 #define POS_OLD_FIGHTING 7 #define POS_OLD_STANDING 8 /* determines if they are * comatose (will die), * unconscious, * semiconscious, * subdued, * yielding, * free */ // Positions #define POS_DEAD 0 #define POS_MORTAL 1 #define POS_INCAP 2 #define POS_STUNNED 3 #define POS_SLEEPING 4 //#define POS_SUBDUED 5 #define POS_RESTING 5 #define POS_SITTING 6 #define POS_KNEELING 7 #define POS_FIGHTING 8 #define POS_STANDING 9 // ACT bits for players. #define PLR_IS_NPC (A) // Don't EVER set. #define PLR_CAN_ADVANCE (B) #define PLR_AUTOASSIST (C) #define PLR_AUTOEXIT (D) #define PLR_AUTOLOOT (E) #define PLR_AUTOREFORMAT (F) // Automatically reformat notes on post #define PLR_AUTOGOLD (G) #define PLR_AUTOSPLIT (H) #define PLR_NOTEACH (J) #define PLR_AUTOSUBDUE (K) // player is going to subdue #define PLR_QUESTER (L) #define PLR_HOLYLIGHT (N) #define PLR_HOLYNAME (O) #define PLR_NOSUMMON (Q) #define PLR_NOFOLLOW (R) #define PLR_SPECIFY_SELF (S) #define PLR_HOLYVNUM (T) #define PLR_PERMIT (U) #define PLR_LOG (W) #define PLR_DENY (X) #define PLR_FREEZE (Y) #define PLR_NORP (Z) #define PLR_NOREDUCING_MAXKARN (aa) // #define PLR_CAN_HERO (bb) #define PLR_AUTOPEEK (cc) // Kal jun 98 #define PLR_HOLYWALK (dd) // Kal jun 98 #define PLR_AUTOMAP (ee) // Kal Sept 98 // dynamic data - not saved #define DYN_CURRENT_SUBDUE (A) // player is currently subduing in // current fight #define DYN_MAPFIRST (C) #define DYN_MAPCLEAR (D) #define DYN_WIZARDEYEING (E) // used for wizard eye #define DYN_DOING_DAMAGE (F) // used to determine who starts a fight #define DYN_SILENTLY (G) #define DYN_USING_ATLEVEL (H) #define DYN_IS_BEING_ORDERED (J) #define DYN_IS_CUTTING_OFF (K) #define DYN_SUCCESS_CAST (L) #define DYN_RUNNING_MOBPROG_CMD (M) // used to determine who starts a fight // with a mobprog response #define DYN_USING_AT (N) #define DYN_NO_SUBLEVEL_SPELL_LEARN (O) #define DYN_IMMLASTON (P) #define DYN_NONMAGICAL_FLYING (Q) // used to stop those with magical fly // losing mv for flying #define DYN_TEMP_FLAG (R) // can be used for any purpose, by any function // iwhere uses it currently #define DYN_MOB_SEE_ALL (S) // Used to make all can_see triggers true // after a 'mob seeall' call, call it once at the top // of a function, bit turned on as program_flow returns #define DYN_UNKNOWN_REPLY_NAME (T) #define DYN_HAS_ANONYMOUS_RETELL (V) #define DYN_IN_ROOM_ONLY (W) #define DYN_STARTED_FIGHT (X) #define DYN_AUTOPKASSIST (Y) #define DYN_SHOWFLAGS (Z) #define DYN_USING_OLCAFTER (aa) // showafter and showflagsafter #define DYN_USING_KTELL (bb) #define DYN_NO_PROMPT_SWITCHED_PREFIX (cc) #define DYN_MPBUG_USE_QUEUED_DETAILS (dd) // dynamic OBJECT data - not saved either :) DYN bits rock!!!! #define DYNOBJ_BURIED (A) // comm flags -- may be used on both mobs and chars #define COMM_CODING (B) #define COMM_GLOBAL_SOCIAL_OFF (C) #define COMM_NOGPROMPT (F) #define COMM_WHOVIS (G) #define COMM_NEWBIE_SUPPORT (H) #define COMM_NOQUOTE (I) #define COMM_SHOUTSOFF (J) // display flags #define COMM_SPELL_DEBUG (K) #define COMM_COMPACT (L) #define COMM_BRIEF (M) #define COMM_PROMPT (N) #define COMM_COMBINE (O) #define COMM_TELNET_GA (P) #define COMM_SHOW_AFFECTS (Q) #define COMM_AUTOSELF (R) #define COMM_ANNOUNCEOFF (S) // penalties #define COMM_NOEMOTE (T) #define COMM_NOSHOUT (U) #define COMM_NOTELL (V) #define COMM_NOCHANNELS (W) #define COMM_BUILDING (X) // in OLC mode #define COMM_SNOOP_PROOF (Y) #define COMM_AFK (Z) #define COMM_CANNOCHANNEL (aa) // CAN NO CHANNEL OTHER PLAYERS //#define unused (bb) #define COMM_REDUCED_LASTON (cc) // dont get much info about imms from laston #define COMM_NOPRAY (dd) // Config flags #define CONFIG_SHOWMISC (A) #define CONFIG_NOMISC (B) #define CONFIG_OBJRESTRICT (C) #define CONFIG_AUTORECALL (E) #define CONFIG_NOTE_ONLY_TO_IMM (F) #define CONFIG_AUTOEXAMINE (G) #define CONFIG_AUTOLANDONREST (H) #define CONFIG_COURTMEMBER (I) #define CONFIG_BARD_COUNCIL (J) #define CONFIG_HOLYSPEECH (M) #define CONFIG_DISALLOWED_PKILL (N) #define CONFIG_IGNORE_MULTILOGINS (O) #define CONFIG_RP_SUPPORT (Q) #define CONFIG_METRIC (R) #define CONFIG_ACTIVE (S) #define CONFIG_AUTOTRACK (T) #define CONFIG_AUTOMAP (U) #define CONFIG_AUTOWRAPTELLS (V) #define CONFIG_PRACSYS_TESTER (W) // All pracs use the new system #define CONFIG_NOCHARM (X) #define CONFIG_NOHEROMSG (Y) #define CONFIG_NONEWBIE (Z) // handles turning newbie channel off/on #define CONFIG_NONAMES (aa)// allows players to not see introduce names #define CONFIG_NOAUTOANSWER (bb)// Prevents players from autoanswering an askname request #define CONFIG_HIDE_HIDDEN_AREAS (cc) // imms can choose to hide the areas #define CONFIG_NAMES_BEFORE_SHORT (dd) // When a players name is shown, it is displayed before their short // config2 flags #define CONFIG2_READ_BUILDER_LEGAL (A) #define CONFIG2_NOAUTOSAYMOTE (B) #define CONFIG2_AUTOSAYCOLOURCODES (C) // if set, { is changed to {{ #define CONFIG2_NAME_ONLY_FOR_KNOWN (D) // display only their name if they are introduced #define CONFIG2_AUTODAMAGE (E) // show hitpoints damage done #define CONFIG2_NOPKILL (F) // this player can not pkill, nor be pkilled #define CONFIG2_FULL_EXITS (G) // sees full exits with their autoexit #define CONFIG2_NO_DETECT_OLDSTYLE_NOTE_WRITING (H)// if unset, {} is converted into `1 with 'note +' #define CONFIG2_NOMAPEXITS (I) #define CONFIG2_NOMAPBLANKS (J) #define CONFIG2_AUTOWIZILOGIN (K) #define CONFIG2_AUTOWHOINVISLOGIN (L) #define CONFIG2_NO_BATTLELAG_PROMPT (M) #define CONFIG2_ACCURATE_LASTON_TIMES (N) // if set, the player gets the times everyone has been on #define CONFIG2_HIGHIMMORTAL_LASTON_ACCESS (O) // if set, the player gets high immortal laston access #define CONFIG2_AUTOKEEPALIVE (P) // pconfig flags #define PCONFIG_FILLER (A) // does nothing // sayflags #define SAYFLAG_ONLY_REMEMBERED_CHAR (A) #define SAYFLAG_NO_SAYMOTE (B) #define SAYFLAG_CONVERT_COLOUR (C) // combat_initiate_types #define CIT_GENERAL (A) #define CIT_AGRESSIVE_ACTION (B) #define CIT_CASTING_SPELL (C) #define CIT_NO_BYPASSDUEL (D) #define CIT_SILENT (E) // Help flags #define HELP_NOBLE (A) #define HELP_NSUPPORT (B) #define HELP_BUILDER (C) #define HELP_RPSUPPORT (D) #define HELP_REDIRECTION_ENTRY (E) #define HELP_HIDE_KEYWORDS (F) #define HELP_MUD_SPECIFIC (G) #define HELP_MUD_SHOULD_CUSTOMIZE (H) // mud should customize for their mud #define HELP_WORDWRAPPED (I) #define HELP_INCOMPLETE (K) #define HELP_HIDE_PREVNEXT (L) #define HELP_DISPLAY_MXP_DOUBLE (M) #define HELP_HIDE_HEADER_FOOTER (N) #define HELP_REMOVEHELP (ee) // Council flags #define COUNCIL_BALANCE (A) #define COUNCIL_CLAN (B) #define COUNCIL_CODE (C) #define COUNCIL_LAW (D) #define COUNCIL_MYTHOS (E) #define COUNCIL_REALM (F) #define COUNCIL_RP (G) #define COUNCIL_SUPPORT (H) #define COUNCIL_HEADBALANCE (I) #define COUNCIL_HEADCLAN (J) #define COUNCIL_HEADCODE (K) #define COUNCIL_HEADLAW (L) #define COUNCIL_HEADMYTHOS (M) #define COUNCIL_HEADREALM (N) #define COUNCIL_HEADRP (O) #define COUNCIL_HEADSUPPORT (P) #define COUNCIL_HEADSTORYLINE (Q) #define COUNCIL_ADMIN (R) // WIZnet flags #define WIZ_ON (A) #define WIZ_TICKS (B) #define WIZ_LOGINS (C) #define WIZ_SITES (D) #define WIZ_LINKS (E) #define WIZ_DEATHS (F) #define WIZ_RESETS (G) #define WIZ_MOBDEATHS (H) #define WIZ_FLAGS (I) #define WIZ_PENALTIES (J) #define WIZ_THEFTS (K) #define WIZ_LEVELS (L) #define WIZ_SECURE (M) #define WIZ_SWITCHES (N) #define WIZ_SNOOPS (O) #define WIZ_AUTOON (P) #define WIZ_LOAD (Q) #define WIZ_NEWBIE (R) #define WIZ_SHOWCHANNEL (S) #define WIZ_SPAM (T) #define WIZ_RPEXP (U) #define WIZ_BUGS (V) #define WIZ_BETA (W) #define WIZ_PLAYER_LOG (X) #define WIZ_WHISPERS (Y) #define WIZ_RPMONITOR (Z) #define WIZ_NOHELP (aa) #define WIZ_QUESTING (bb) #define WIZ_PRAYERS_DREAMS (cc) #define WIZ_MEMCHECK (dd) #define WIZ_NEWBIETELL (ee) // mob memory settings #define MEM_CUSTOMER (A) #define MEM_SELLER (B) #define MEM_HOSTILE (C) #define MEM_AFRAID (D) /* * Types of attacks. * Must be non-overlapping with spell/skill types, * but may be arbitrary beyond that. */ #define TYPE_UNDEFINED -1 #define TYPE_HIT 1000 // Types of entries in the skill_table #define SKTYPE_UNDEFINED 0 #define SKTYPE_SPELL 1 #define SKTYPE_SKILL 2 #define SKTYPE_OTHER 3 // Types of entries in the skill_table #define SKFLAGS_SPNEVER_LEARNT_BY_LEVELING (A) #define SKFLAGS_SPMUST_BE_SET_TO_GET (B) #define SKFLAGS_TEACH_SPGAIN (C) #define SKFLAGS_LEVEL_SPGAIN (D) #define SKFLAGS_STUDY_SPGAIN (E) #define SKFLAGS_NO_PCTARGET (F) #define SKFLAGS_NO_NPCTARGET (G) #define SKFLAGS_RENAMABLE (H) #define SKFLAGS_NO_INTERCLASS_TEACH (I) #define SKFLAGS_NEW_IMPROVE_SYSTEM (J) #define SKFLAGS_NO_GAIN (K) #define SKFLAGS_NO_NEGATIVE_HP_AT_AFFECTOFF (L) #define SKFLAGS_MAGICAL_ANTIPATHY (M) #define SKFLAGS_NO_SCRIBE (N) #define SKFLAGS_USE_RACE_RESTRICTIONS (O) #define SKFLAGS_NO_PRAC (P) // dynspell_type spellpairs_table[] flags #define SPFUNC_NOTEXT (A) // spell contains no custom messages #define SPFUNC_NODAMTYPE (B) // spell function doesn't use damtypes #define SPFUNC_DAMTYPE (C) // spell supports dynamic damtype // Target types. #define TAR_IGNORE 0 #define TAR_CHAR_OFFENSIVE 1 #define TAR_CHAR_DEFENSIVE 2 #define TAR_CHAR_SELF 3 #define TAR_OBJ_INV 4 #define TAR_OBJ_CHAR_DEF 5 #define TAR_OBJ_CHAR_OFF 6 #define TAR_MOB_OFFENSIVE 7 #define TAR_OBJ_MOB_OFF 8 #define TAR_DIRECTION 9 #define TARGET_CHAR 0 #define TARGET_OBJ 1 #define TARGET_ROOM 2 #define TARGET_NONE 3 /**************************************************************************/ // directions used for room exits #define DIR_NORTH (0) #define DIR_EAST (1) #define DIR_SOUTH (2) #define DIR_WEST (3) #define DIR_UP (4) #define DIR_DOWN (5) #define DIR_NORTHEAST (6) #define DIR_SOUTHEAST (7) #define DIR_SOUTHWEST (8) #define DIR_NORTHWEST (9) /**************************************************************************/ // MOBprog trigger defines #define TRIG_ACT (A) #define TRIG_BRIBE (B) #define TRIG_DEATH (C) #define TRIG_ENTRY (D) #define TRIG_FIGHT (E) #define TRIG_GIVE (F) #define TRIG_GREET (G) #define TRIG_GRALL (H) #define TRIG_KILL (I) #define TRIG_HPCNT (J) #define TRIG_RANDOM (K) #define TRIG_SPEECH (L) #define TRIG_EXIT (M) #define TRIG_EXALL (N) #define TRIG_DELAY (O) #define TRIG_SURR (P) #define TRIG_REPOP (Q) #define TRIG_ROOMDEATH (R) #define TRIG_TICK (S) #define TRIG_HOUR (T) #define TRIG_COMMAND (U) #define TRIG_PREKILL (V) #define TRIG_SAYTO (W) #define TRIG_PREMOVE (X) // just before a mob moves to a new room #define TRIG_LOGINROOM (Y) // just after someone has logged into the room #define TRIG_LOGINAREA (Z) // just after someone has logged into the area // room for a logingame (aa) trigger? #define TRIG_LOGOUTROOM (bb) // just after someone has logged out of the room #define TRIG_LOGOUTAREA (cc) // just after someone has logged out of the area #define TRIG_PRETRAIN (dd) // before a player gets training from a mob #define TRIG_PREPRAC (ee) // before a player gets practicing from a mob /**************************************************************************/ // Second set of triggers /**************************************************************************/ // bit flags for grouptable_flags[] #define SKILLGROUP_CREATION_SELECTABLE (A) #define SKILLGROUP_FREE_FOR_ALL (B) /**************************************************************************/ // Report Unfound CodeHelp flags #define CODEHELP_LOG (A)// system log #define CODEHELP_NO_HELPFILE (B)// no helpfile tracking file #define CODEHELP_IMM (C)// imms #define CODEHELP_ADMIN (D)// admin #define CODEHELP_EVERYONE (E)// all players #define CODEHELP_WIZNET (F)// display a message on wiznet #define CODEHELP_ALL_BUT_PLAYERS ( CODEHELP_LOG |CODEHELP_NO_HELPFILE \ |CODEHELP_IMM |CODEHELP_ADMIN |CODEHELP_WIZNET) /**************************************************************************/ // language flags #define LANGFLAG_CHANGED (A) // language has been edited #define LANGFLAG_SYSTEM_LANGUAGE (B) // language used by the system #define LANGFLAG_NO_SCRAMBLE (C) // language doesn't scramble the text #define LANGFLAG_NO_HOLYSPEECH (D) // holyspeech doesn't work with it #define LANGFLAG_NO_ORDER (E) // can't be ordered to change to the language #define LANGFLAG_REVERSE_TEXT (F) // text put thru the reverse function #define LANGFLAG_NO_LANGUAGE_NAME (G) // the name of the language isn't shown #define LANGFLAG_NO_SKILL_REQUIRED (H) // as if you have 100% in the language #define LANGFLAG_NO_COMMAND_ACCESS (I) // not accessed as a command #define LANGFLAG_IMMONLY (J) // #define LANGFLAG_SCRAMBLE_IN_OOC (K) // If on, the language can be scrambled in ooc /**************************************************************************/ // ATTUNE defines #define ATTUNE_NEED_TO_USE (A) // if set, item needs attuning #define ATTUNE_EQUAL_LEVEL (B) // need to be of >= level to object #define ATTUNE_VANISH (C) // extract_obj on failure #define ATTUNE_TRIVIAL (D) // +25% #define ATTUNE_EASY (E) // +10% #define ATTUNE_HARD (F) // -10% #define ATTUNE_INFURIATING (G) // -25% #define ATTUNE_PREVIOUS (H) // Set once an item has been attuned #define ATTUNE_ONCE_ONLY (I) // if ATTUNE_PREVIOUS, can't be reattuned extern char *target_name; // Global constants. extern struct class_type class_table [MAX_CLASS+1]; extern const struct weapon_type weapon_table []; extern const struct totem_type totem_table [TOTEM_MAX+1]; extern const struct item_type item_table []; extern const struct wiznet_type wiznet_table []; extern const struct attack_type attack_table []; extern const struct liq_type liq_table []; extern struct skillgroup_type skillgroup_table [MAX_SKILLGROUP+1]; extern struct social_old_type social_table [MAX_SOCIALS]; extern class skill_type skill_table [MAX_SKILL]; extern struct hclss_type hclass_table [MAX_SKILL]; extern const struct deity_type deity_table [MAX_DEITY]; extern const struct timefield_type timefield_table []; extern const struct modifier_type modifier_table []; extern char * const he_she[]; extern char * const him_her[]; extern char * const his_her[]; // Global variables. extern SHOP_DATA * shop_first; extern cInnData* pFirstInn; extern char_data * char_list; extern connection_data * connection_list; extern OBJ_DATA * object_list; extern MPROG_CODE * mprog_list; extern char bug_buf []; extern bool fLogAll; extern FILE * fpReserve; extern FILE * fpAppend2FilReserve; extern KILL_DATA kill_table []; extern char log_buf []; extern TIME_INFO_DATA time_info; extern WEATHER_DATA weather_info [SECT_MAX]; extern bool MOBtrigger; extern const struct directories_type directories_table[]; /**************************************************************************/ // general olc flags #define OLC_CHANGED (A) // whatever is being edited has been modified /**************************************************************************/