/* ****************************************
* file: awake.h -- AwakeMUD Header File *
* A centralized definition file for all *
* the major defines, etc... *
* (c)2001 the AwakeMUD Consortium *
* Code migrated from other header files *
* (such as spells.h) (c) 1993, 94 by the *
* trustees of the John Hopkins University *
* and (c) 1990-1991 The DikuMUD group *
**************************************** */
#ifndef _awake_h_
#define _awake_h_
#define NUM_RESERVED_DESCS 8
/* pertaining to vnums/rnums */
#define REAL 0
#define VIRTUAL 1
/* gender */
#define SEX_NEUTRAL 0
#define SEX_MALE 1
#define SEX_FEMALE 2
/* positions */
#define POS_DEAD 0 /* dead */
#define POS_MORTALLYW 1 /* mortally wounded */
#define POS_INCAP 2 /* incapacitated */
#define POS_STUNNED 3 /* stunned */
#define POS_SLEEPING 4 /* sleeping */
#define POS_RESTING 5 /* resting */
#define POS_SITTING 6 /* sitting */
#define POS_FIGHTING 7 /* fighting */
#define POS_STANDING 8 /* standing */
/* attribute defines */
#define ATT_BOD 400
#define ATT_QUI 401
#define ATT_STR 402
#define ATT_CHA 403
#define ATT_INT 404
#define ATT_WIL 405
#define ATT_MAG 406
#define ATT_REA 407
#define ATT_ESS 408
/* attributes (mostly for trainers) */
#define BOD (1 << 0)
#define QUI (1 << 1)
#define STR (1 << 2)
#define CHA (1 << 3)
#define INT (1 << 4)
#define WIL (1 << 5)
#define ESS (1 << 6)
#define REA (1 << 7)
#define MAG (1 << 8)
/* char and mob related defines */
/* PC archetypes */
#define AT_UNDEFINED -1
#define AT_MAGE 0
#define AT_SHAMAN 1
#define AT_DECKER 2
#define AT_SAMURAI 3
#define AT_ADEPT 4
#define NUM_ATS 5 /* This must be the number of archetypes!! */
/* magical traditions */
#define TRAD_HERMETIC 0
#define TRAD_SHAMANIC 1
#define TRAD_MUNDANE 2
#define TRAD_ADEPT 4
/* totems */
#define TOTEM_UNDEFINED 0
#define TOTEM_BEAR 1
#define TOTEM_EAGLE 2
#define TOTEM_RAVEN 3
#define TOTEM_WOLF 4
#define TOTEM_SHARK 5
#define TOTEM_LION 6
#define TOTEM_COYOTE 7
#define TOTEM_GATOR 8
#define TOTEM_OWL 9
#define TOTEM_SNAKE 10
#define TOTEM_RACCOON 11
#define TOTEM_CAT 12
#define TOTEM_DOG 13
#define TOTEM_RAT 14
/* PC races */
#define RACE_UNDEFINED -1
#define RACE_HUMAN 0
#define RACE_DWARF 1
#define RACE_ELF 2
#define RACE_ORK 3
#define RACE_TROLL 4
#define NUM_RACES 5 /* This must be the number of races */
/* level definitions */
#define LVL_OWNER 9
#define LVL_PRESIDENT 8
#define LVL_DIRECTOR 7
#define LVL_ADVISOR 6
#define LVL_MANAGER 5
#define LVL_ARCHITECT 4
#define LVL_BUILDER 3
#define LVL_LEGEND 2
#define LVL_FREEZE LVL_PRESIDENT
/* character equipment positions: used as index for char_data.equipment[] */
/* note: don't confuse these constants with the ITEM_ bitvectors
which control the valid places you can wear a piece of equipment */
#define WEAR_LIGHT 0
#define WEAR_FINGER_R 1
#define WEAR_FINGER_L 2
#define WEAR_NECK_1 3
#define WEAR_NECK_2 4
#define WEAR_BODY 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_R 14
#define WEAR_WRIST_L 15
#define WEAR_WIELD 16
#define WEAR_HOLD 17
#define WEAR_EYES 18
#define WEAR_EAR 19
#define WEAR_PATCH 20 /* this must be last! */
#define NUM_WEARS 21 /* This must be the # of eq positions!! */
/* player flags: used by char_data.char_specials.act */
#define PLR_KILLER (1 << 0) /* Player is a player-killer */
#define PLR_THIEF (1 << 1) /* Player is a player-thief */
#define PLR_FROZEN (1 << 2) /* Player is frozen */
#define PLR_DONTSET (1 << 3) /* Don't EVER set (ISNPC bit) */
#define PLR_NEWBIE (1 << 4) /* Player is a newbie still */
#define PLR_JUST_DIED (1 << 5) /* Player just died */
#define PLR_CRASH (1 << 6) /* Player needs to be crash-saved */
#define PLR_CRYO (1 << 7) /* Player is cryo-saved (purge prog) */
#define PLR_SITEOK (1 << 8) /* Player has been site-cleared */
#define PLR_NOSHOUT (1 << 9) /* Player not allowed to shout/goss */
#define PLR_NOTITLE (1 << 10) /* Player not allowed to set title */
#define PLR_DELETED (1 << 11) /* Player deleted - space reusable */
#define PLR_NODELETE (1 << 12) /* Player shouldn't be deleted */
#define PLR_NOWIZLIST (1 << 13) /* Player shouldn't be on wizlist */
#define PLR_NOSTAT (1 << 14) /* Player cannot be statted, etc */
#define PLR_LOADROOM (1 << 15) /* Player uses nonstandard loadroom */
#define PLR_INVSTART (1 << 16) /* Player should enter game wizinvis */
#define PLR_GUEST (1 << 17) /* Players is guest of owner */
#define PLR_QUESTER (1 << 18) /* Player has access to quest comms */
#define PLR_OLC (1 << 19) /* Player has access to olc commands */
#define PLR_MATRIX (1 << 20) /* Player is in the Matrix */
#define PLR_PERCEIVE (1 << 21) /* player is astrally perceiving */
#define PLR_PROJECT (1 << 22) /* player is astrally projecting */
#define PLR_SWITCHED (1 << 23) /* player is switched to a mob */
#define PLR_WRITING (1 << 24) /* Player writing (board/mail/olc) */
#define PLR_MAILING (1 << 25) /* Player is writing mail */
#define PLR_EDITING (1 << 26) /* Player is zone editing */
#define PLR_SPELL_CREATE (1 << 27) /* Player is creating a spell */
#define PLR_CUSTOMIZE (1 << 28) /* Player is customizing persona */
#define PLR_NOSNOOP (1 << 29) /* Player is not snoopable */
/* mobile flags: used by char_data.char_specials.act */
#define MOB_SPEC (1 << 0) /* Mob has a callable spec-proc */
#define MOB_SENTINEL (1 << 1) /* Mob should not move */
#define MOB_SCAVENGER (1 << 2) /* Mob picks up stuff on the ground */
#define MOB_ISNPC (1 << 3) /* (R) Automatically set on all Mobs */
#define MOB_AWARE (1 << 4) /* Mob can't be backstabbed */
#define MOB_AGGRESSIVE (1 << 5) /* Mob hits players in the room */
#define MOB_STAY_ZONE (1 << 6) /* Mob shouldn't wander out of zone */
#define MOB_WIMPY (1 << 7) /* Mob flees if severely injured */
#define MOB_AGGR_ORK (1 << 8) /* auto attack ork PC's */
#define MOB_AGGR_ELF (1 << 9) /* auto attack elf PC's */
#define MOB_AGGR_DWARF (1 << 10) /* auto attack dwarf PC's */
#define MOB_MEMORY (1 << 11) /* remember attackers if attacked */
#define MOB_HELPER (1 << 12) /* attack PCs fighting other NPCs */
#define MOB_NOCHARM (1 << 13) /* Mob can't be charmed */
#define MOB_DUAL_NATURE (1 << 14) /* mob is dual-natured */
#define MOB_IMMEXPLODE (1 << 15) /* mob is immune to explosions */
#define MOB_AGGR_TROLL (1 << 16) /* auto attack troll PC's */
#define MOB_NOBLIND (1 << 17) /* Mob can't be blinded */
#define MOB_ASTRAL (1 << 18) /* Mob is solely in the astral plane */
#define MOB_GUARD (1 << 19) /* mob carries out security */
#define MOB_AGGR_HUMAN (1 << 20) /* auto attack human PC's */
#define MOB_SNIPER (1 << 21) /* mob searches area for PCs */
#define MOB_PRIVATE (1 << 22) /* mob cannot be statted */
#define MOB_TRACK (1 << 23) /* (R) for security routines */
/* preference flags: used by char_data.player_specials.pref */
#define PRF_BRIEF (1 << 0) /* Room descs won't normally be shown */
#define PRF_COMPACT (1 << 1) /* No extra CRLF pair before prompts */
#define PRF_AUTOEXIT (1 << 2) /* Display exits in a room */
#define PRF_FIGHTGAG (1 << 3) /* Gag extra fight messages */
#define PRF_MOVEGAG (1 << 4) /* Gag extra movement messages */
#define PRF_DEAF (1 << 5) /* Can't hear shouts */
#define PRF_NOTELL (1 << 6) /* Can't receive tells */
#define PRF_NORADIO (1 << 7) /* Can't hear radio frequencies */
#define PRF_NONEWBIE (1 << 8) /* Can't hear newbie channel */
#define PRF_NOREPEAT (1 << 9) /* No repetition of comm commands */
#define PRF_NOWIZ (1 << 10) /* Can't hear wizline */
#define PRF_PKER (1 << 11) /* is able to pk/be pked */
#define PRF_QUEST (1 << 12) /* On quest */
#define PRF_AFK (1 << 13) /* Afk */
#define PRF_COLOR_1 (1 << 14) /* Color (low bit) */
#define PRF_COLOR_2 (1 << 15) /* Color (high bit) */
#define PRF_NOHASSLE (1 << 16) /* Aggr mobs won't attack */
#define PRF_ROOMFLAGS (1 << 17) /* Can see room flags (ROOM_x) */
#define PRF_HOLYLIGHT (1 << 18) /* Can see in dark */
#define PRF_CONNLOG (1 << 19) /* Views ConnLog */
#define PRF_DEATHLOG (1 << 20) /* Views DeathLog */
#define PRF_MISCLOG (1 << 21) /* Views MiscLog */
#define PRF_WIZLOG (1 << 22) /* Views WizLog */
#define PRF_SYSLOG (1 << 23) /* Views SysLog */
#define PRF_ZONELOG (1 << 24) /* Views ZoneLog */
#define PRF_MSP (1 << 25) /* has enabled MSP */
#define PRF_ROLLS (1 << 26) /* sees details on rolls */
#define PRF_NOOOC (1 << 27) /* can't hear ooc channel */
#define PRF_AUTOINVIS (1 << 28) /* to toggle auto-invis for immortals */
/* log watch */
#define LOG_CONNLOG 0
#define LOG_DEATHLOG 1
#define LOG_MISCLOG 2
#define LOG_WIZLOG 3
#define LOG_SYSLOG 4
#define LOG_ZONELOG 5
/* player conditions */
#define DRUNK 0
#define FULL 1
#define THIRST 2
/* affect bits: used in char_data.char_specials.saved.affected_by */
/* WARNING: In the world files, NEVER set the bits marked "R" ("Reserved") */
#define AFF_BLIND (1 << 0) /* (R) Char is blind */
#define AFF_INVISIBLE (1 << 1) /* Char is invisible */
#define AFF_DETECT_ALIGN (1 << 2) /* Char is sensitive to align */
#define AFF_DETECT_INVIS (1 << 3) /* Char can see invis chars */
#define AFF_DETECT_MAGIC (1 << 4) /* Char is sensitive to magic */
#define AFF_SENSE_LIFE (1 << 5) /* Char can sense hidden life */
#define AFF_WATERWALK (1 << 6) /* Char can walk on water */
#define AFF_GROUP (1 << 7) /* (R) Char is grouped */
#define AFF_CURSE (1 << 8) /* Char is cursed */
#define AFF_INFRAVISION (1 << 9) /* Char can see in dark */
#define AFF_POISON (1 << 10) /* (R) Char is poisoned */
#define AFF_SLEEP (1 << 11) /* (R) Char magically asleep */
#define AFF_NOTRACK (1 << 12) /* Char can't be tracked */
#define AFF_LOW_LIGHT (1 << 13) /* Char has low light eyes */
#define AFF_LASER_SIGHT (1 << 14) /* Char using laser sight */
#define AFF_SNEAK (1 << 15) /* Char can move quietly */
#define AFF_HIDE (1 << 16) /* Char is hidden */
#define AFF_VISION_MAG_1 (1 << 17) /* Magnification level 1 */
#define AFF_CHARM (1 << 18) /* Char is charmed */
#define AFF_ACTION (1 << 19) /* Player gets -10 on next init roll */
#define AFF_VISION_MAG_2 (1 << 20) /* Magnification level 2 */
#define AFF_VISION_MAG_3 (1 << 21) /* Magnification level 3 */
#define AFF_COUNTER_ATT (1 << 22) /* plr just attacked */
#define AFF_STABILIZE (1 << 23) /* player won't die due to phys loss */
#define AFF_PETRIFY (1 << 24) /* player's commands don't work */
#define AFF_IMP_INVIS (1 << 25) /* char is improved invis */
/* room-related defines */
/* The cardinal directions: used as index to room_data.dir_option[] */
#define NORTH 0
#define NORTHEAST 1
#define EAST 2
#define SOUTHEAST 3
#define SOUTH 4
#define SOUTHWEST 5
#define WEST 6
#define NORTHWEST 7
#define UP 8
#define DOWN 9
#define MATRIX 10
#define NUM_OF_DIRS 11 /* number of directions in a room (nsewud) */
/* also, ne, se, sw, nw, and matrix */
/* "extra" bitvector settings for movement */
#define CHECK_SPECIAL 1
#define LEADER 2
/* Room flags: used in room_data.room_flags */
/* WARNING: In the world files, NEVER set the bits marked "R" ("Reserved") */
#define ROOM_DARK (1 << 0) /* Dark */
#define ROOM_DEATH (1 << 1) /* Death trap */
#define ROOM_NOMOB (1 << 2) /* MOBs not allowed */
#define ROOM_INDOORS (1 << 3) /* Indoors */
#define ROOM_PEACEFUL (1 << 4) /* Violence not allowed */
#define ROOM_SOUNDPROOF (1 << 5) /* Shouts, gossip blocked */
#define ROOM_NOTRACK (1 << 6) /* Track won't go through */
#define ROOM_NOMAGIC (1 << 7) /* Magic not allowed */
#define ROOM_TUNNEL (1 << 8) /* room for only 1 pers */
#define ROOM_PRIVATE (1 << 9) /* Can't teleport in */
#define ROOM_BUILDERROOM (1 << 10) /* LVL_GOD+ only allowed */
#define ROOM_HOUSE (1 << 11) /* (R) Room is a house */
#define ROOM_HOUSE_CRASH (1 << 12) /* (R) House needs saving */
#define ROOM_ATRIUM (1 << 13) /* (R) The door to a house */
#define ROOM_OLC (1 << 14) /* (R) Modifyable/!compress */
#define ROOM_BFS_MARK (1 << 15) /* (R) breath-first srch mrk */
#define ROOM_LOW_LIGHT (1 << 16) /* Room viewable with ll-eyes */
#define ROOM_MATRIX (1 << 17) /* Room is part of Matrix */
#define ROOM_CRIME_OK (1 << 18) /* Crimes can be committed here */
#define ROOM_HERMETIC_LIBRARY (1 << 19) /* Room is spell library */
#define ROOM_MEDICINE_LODGE (1 << 20) /* Room is a medicin lodge */
#define ROOM_FALL (1 << 21) // room is a 'fall' room
#define ROOM_MGRROOM (1 << 22)
#define ROOM_DIRECTORROOM (1 << 23)
#define ROOM_PRESROOM (1 << 24)
#define ROOM_NOQUIT (1 << 25)
#define ROOM_SENT (1 << 26)
/* Exit info: used in room_data.dir_option.exit_info */
#define EX_ISDOOR (1 << 0) /* Exit is a door */
#define EX_CLOSED (1 << 1) /* The door is closed */
#define EX_LOCKED (1 << 2) /* The door is locked */
#define EX_PICKPROOF (1 << 3) /* Lock can't be picked */
#define EX_DESTROYED (1 << 4) /* door has been destroyed */
#define EX_HIDDEN (1 << 5) /* exit is hidden */
/* Sector types: used in room_data.sector_type */
#define SECT_INSIDE 0 /* Indoors */
#define SECT_CITY 1 /* In a city */
#define SECT_FIELD 2 /* In a field */
#define SECT_FOREST 3 /* In a forest */
#define SECT_HILLS 4 /* In the hills */
#define SECT_MOUNTAIN 5 /* On a mountain */
#define SECT_WATER_SWIM 6 /* Swimmable water */
#define SECT_WATER_NOSWIM 7 /* Water - need a boat */
#define SECT_UNDERWATER 8 /* Underwater */
#define SECT_FLYING 9 /* Wheee! */
#define SECT_BLUE 10 /* Blue node for matrix */
#define SECT_GREEN 11 /* Green node for matrix */
#define SECT_ORANGE 12 /* Orange node for matrix */
#define SECT_RED 13 /* Red node for matrix */
#define SECT_BLACK 14 /* Black node for matrix */
/* npc types */
#define CLASS_OTHER 0
#define CLASS_SPIRIT 1
#define CLASS_HUMANOID 2
#define CLASS_ANIMAL 3
#define CLASS_DRAGON 4
#define CLASS_ACCESS 5
#define CLASS_BARRIER 6
#define CLASS_SCRAMBLE 7
#define CLASS_BLASTER 8
#define CLASS_KILLER 9
#define CLASS_TAR_BABY 10
#define CLASS_TAR_PIT 11
#define CLASS_TRACE_REPORT 12
#define CLASS_TRACE_DUMP 13
#define CLASS_TRACE_BURN 14
#define CLASS_BLACK 15
/* spirit powers */
#define PWR_ACCIDENT 0
#define PWR_ALIENATE 1
#define PWR_AURA 2
#define PWR_BIND 3
#define PWR_BREATHE 4
#define PWR_CONCEAL 5
#define PWR_CONFUSE 6
#define PWR_ENGULF 7
#define PWR_FEAR 8
#define PWR_FIND 9
#define PWR_GUARD 10
#define PWR_MANIFEST 11
#define PWR_PROJECT 12
#define NUM_SPIRIT_POWERS 13
/* allergies */
#define ALLERGIC_NONE 0
#define ALLERGIC_SILVER 1
#define ALLERGIC_IRON 2
#define ALLERGIC_PLASTIC 3
#define ALLERGIC_SUNLIGHT 4
/* reaction to allergies */
#define REACT_NONE 0
#define REACT_NUISANCE 1
#define REACT_MILD 2
#define REACT_MODERATE 3
#define REACT_SEVERE 4
/* magic global defines */
/* Note, we add the 100/10 and subtract 10 later to adjust for
* spells with negative drain.*/
#define DRAIN_POWER(x) ((int)(((x)+100) / 10)-10)
/* Add 100 so -6 gives us 4. */
#define DRAIN_LEVEL(x) (((x)+100)%10)
#define DEFAULT_STAFF_LVL 12
#define DEFAULT_WAND_LVL 12
#define CAST_UNDEFINED -1
#define CAST_SPELL 0
#define CAST_POTION 1
#define CAST_WAND 2
#define CAST_STAFF 3
#define CAST_SCROLL 4
#define MAG_DAMAGE (1 << 0)
#define MAG_AFFECTS (1 << 1)
#define MAG_UNAFFECTS (1 << 2)
#define MAG_POINTS (1 << 3)
#define MAG_ALTER_OBJS (1 << 4)
#define MAG_GROUPS (1 << 5)
#define MAG_MASSES (1 << 6)
#define MAG_AREAS (1 << 7)
#define MAG_SUMMONS (1 << 8)
#define MAG_CREATIONS (1 << 9)
#define MAG_MANUAL (1 << 10)
#define MAG_COMBAT (1 << 11)
#define MANA 0
#define MENTAL 0
#define PHYSICAL 1
/* reserved skill defines */
#define TYPE_UNDEFINED -1
#define SPELL_RESERVED_DBC 0 /* SKILL NUMBER ZERO -- RESERVED */
/* PLAYER SPELLS -- Numbered from 1 to MAX_SPELLS */
#define SPELL_X 1
#define SPELL_XX 2
#define SPELL_ANALYZE_DEVICE 3
#define SPELL_ANTI_BULLET 4
#define SPELL_ANTI_SPELL 5
#define SPELL_ANTIDOTE 6
#define SPELL_ARMOR 7
#define SPELL_CHAOS 8
#define SPELL_CHAOTIC_WORLD 9
#define SPELL_CLAIRVOYANCE 10
#define SPELL_CLOUT 11
#define SPELL_COMBAT_SENSE 12
#define SPELL_CONFUSION 13
#define SPELL_CURE_DISEASE 14
#define SPELL_DEATH_TOUCH 15
#define SPELL_DETECT_ALIGNMENT 16
#define SPELL_DETECT_INVIS 17
#define SPELL_DETECT_MAGIC 18
#define SPELL_HEAL 19
#define SPELL_HELLBLAST 20
#define SPELL_IMPROVED_INVIS 21
#define SPELL_INFLUENCE 22
#define SPELL_INVISIBILITY 23
#define SPELL_MANABALL 24
#define SPELL_MANABLAST 25
#define SPELL_MANA_BOLT 26
#define SPELL_MANA_CLOUD 27
#define SPELL_MANA_DART 28
#define SPELL_MANA_MISSILE 29
#define SPELL_OVERSTIMULATION 30
#define SPELL_PETRIFY 31
#define SPELL_POWERBALL 32
#define SPELL_POWERBLAST 33
#define SPELL_POWER_BOLT 34
#define SPELL_POWER_CLOUD 35
#define SPELL_POWER_DART 36
#define SPELL_POWER_MISSILE 37
#define SPELL_RAM 38
#define SPELL_RAM_TOUCH 39
#define SPELL_RESIST_PAIN 40
#define SPELL_SHAPE_CHANGE 41
#define SPELL_STABILIZE 42
#define SPELL_STUNBALL 43
#define SPELL_STUNBLAST 44
#define SPELL_STUN_BOLT 45
#define SPELL_STUN_CLOUD 46
#define SPELL_STUN_MISSILE 47
#define SPELL_STUN_TOUCH 48
#define SPELL_TOXIC_WAVE 49
#define SPELL_POWER_SHAFT 50
#define SPELL_POWER_BURST 51
#define SPELL_MANA_SHAFT 52
#define SPELL_MANA_BURST 53
#define SPELL_STUN_SHAFT 54
#define SPELL_STUN_BURST 55
#define SPELL_STUN_DART 56
/* new spells can be added here */
/* spirit powers */
#define SPELL_ALIENATE 83
#define SPELL_AURA 84
#define SPELL_BIND 85
#define SPELL_GUARD 86
/* player created spells */
#define SPELL_ANALYZE_MAGIC 87
#define SPELL_ANALYZE_PERSON 88
#define SPELL_DECREASE_ATTRIB 89
#define SPELL_ELEMENTBALL 90
#define SPELL_ELEMENT_BOLT 91
#define SPELL_ELEMENT_CLOUD 92
#define SPELL_ELEMENT_DART 93
#define SPELL_ELEMENT_MISSILE 94
#define SPELL_INCREASE_ATTRIB 95
#define SPELL_INCREASE_REFLEXES 96
#define SPELL_LIGHT 97
/* mobile-only spells */
#define SPELL_POISON 98
#define SPELL_TELEPORT 99
/* Insert new spells here, up to MAX_SPELLS */
#define MAX_SPELLS 99
/* player skills defined here, numbered from MAX_SPELLS+1 to MAX_SKILLS */
/* combat-oriented skills */
#define SKILL_STEALTH 100
#define SKILL_ATHLETICS 101
#define SKILL_ARMED_COMBAT 102
#define SKILL_EDGED_WEAPONS 103
#define SKILL_POLE_ARMS 104
#define SKILL_WHIPS_FLAILS 105
#define SKILL_CLUBS 106
#define SKILL_UNARMED_COMBAT 107
#define SKILL_GRAPPLE 108
#define SKILL_CYBER_IMPLANTS 109
#define SKILL_FIREARMS 110
#define SKILL_PISTOLS 111
#define SKILL_RIFLES 112
#define SKILL_SHOTGUNS 113
#define SKILL_ASSAULT_RIFLES 114
#define SKILL_SMG 115
#define SKILL_GRENADE_LAUNCHERS 116
#define SKILL_TASERS 117
#define SKILL_GUNNERY 118
#define SKILL_MACHINE_GUNS 119
#define SKILL_MISSILE_LAUNCHERS 120
#define SKILL_ASSAULT_CANNON 121
#define SKILL_ARTILLERY 122
#define SKILL_PROJECTILES 123
#define SKILL_BOWS 124
#define SKILL_CROSSBOWS 125
#define SKILL_THROWING_WEAPONS 126
#define SKILL_NONAERODYNAMIC 127
#define SKILL_AERODYNAMIC 128
#define SKILL_DEMOLITIONS 129
/* non-combat oriented skills */
#define SKILL_COMPUTER 130
#define SKILL_ELECTRONICS 131
#define SKILL_COMPUTER_THEORY 132
#define SKILL_BIOTECH 133
#define SKILL_MEDICAL 134
#define SKILL_CYBERSURGERY 135
#define SKILL_BIOLOGY 136
#define SKILL_LEADERSHIP 137
#define SKILL_INTERROGATION 138
#define SKILL_NEGOTIATION 139
#define SKILL_MAGICAL_THEORY 140
#define SKILL_CONJURING 141
#define SKILL_SORCERY 142
#define SKILL_SHAMANIC_STUDIES 143
#define SKILL_CORPORATE_ETIQUETTE 144
#define SKILL_MEDIA_ETIQUETTE 145
#define SKILL_STREET_ETIQUETTE 146
#define SKILL_TRIBAL_ETIQUETTE 147
#define SKILL_ELF_ETIQUETTE 148
/* reserved skills -- do not change */
#define SKILL_BACKSTAB 149
#define SKILL_BASH 150
#define SKILL_HIDE 151
#define SKILL_KICK 152
#define SKILL_PICK_LOCK 153
#define SKILL_PUNCH 154
#define SKILL_RESCUE 155
#define SKILL_SNEAK 156
#define SKILL_STEAL 157
#define SKILL_TRACK 158
/* more non-combat skills */
#define SKILL_CLIMBING 160 /* concentration of athletics */
#define SKILL_PERCEPTION 161
#define SKILL_COMBAT_SENSE 162
#define SKILL_REFLEXES 163
#define SKILL_KILL_HANDS 164
#define SKILL_RESISTANCE 165
/* new skills may be added here up to MAX_SKILLS (200) */
/* mobile and object spells and skills */
#define SPELL_IDENTIFY 201
#define SPELL_FIRE_BREATH 202
#define SPELL_GAS_BREATH 203
#define SPELL_FROST_BREATH 204
#define SPELL_ACID_BREATH 205
#define SPELL_LIGHTNING_BREATH 206
/* new mobile/object spells/skills can be inserted here up to 299 */
#define TOP_SPELL_DEFINE 299
/* object-spell related defines */
#define SPELL_TYPE_SPELL 0
#define SPELL_TYPE_POTION 1
#define SPELL_TYPE_WAND 2
#define SPELL_TYPE_STAFF 3
#define SPELL_TYPE_SCROLL 4
/* ban defines -- do not change */
#define BAN_NOT 0
#define BAN_NEW 1
#define BAN_SELECT 2
#define BAN_ALL 3
#define BANNED_SITE_LENGTH 50
/* weapon attack types */
#define TYPE_HIT 300 // melee
#define TYPE_STING 301
#define TYPE_WHIP 302
#define TYPE_SLASH 303
#define TYPE_BITE 304
#define TYPE_BLUDGEON 305
#define TYPE_CRUSH 306
#define TYPE_POUND 307
#define TYPE_CLAW 308
#define TYPE_MAUL 309
#define TYPE_THRASH 310
#define TYPE_PIERCE 311
#define TYPE_PUNCH 312
#define TYPE_STAB 313
#define TYPE_TASER 314
#define TYPE_SHURIKEN 315 // throwing weapons - 1 room
#define TYPE_THROWING_KNIFE 316
#define TYPE_ARROW 317
#define TYPE_HAND_GRENADE 318 // explosive weapons
#define TYPE_GRENADE_LAUNCHER 319
#define TYPE_ROCKET 320
#define TYPE_PISTOL 321 // gun
#define TYPE_BLAST 322
#define TYPE_RIFLE 323
#define TYPE_SHOTGUN 324
#define TYPE_MACHINE_GUN 325
#define TYPE_CANNON 326
#define TYPE_BIFURCATE 327
/* new attack types can be added here - up to TYPE_SUFFERING */
/* death messages */
#define TYPE_SUFFERING 399
#define TYPE_EXPLOSION 400
#define TYPE_SCATTERING 401
#define TYPE_FALL 402
#define TYPE_DROWN 403
#define TYPE_ALLERGY 404
#define TYPE_BIOWARE 405
#define TYPE_RECOIL 406
/* all those attack types can be used plus these for damage types to
* objects */
/* magic attack types */
#define TYPE_COMBAT_SPELL 500
#define TYPE_MANIPULATION_SPELL 501
/* used in void hit, for counter attacks */
#define TYPE_MELEE 1234
/* combat spell effects */
#define SPELL_EFFECT_NONE 0
#define SPELL_EFFECT_ACID 1
#define SPELL_EFFECT_AIR 2
#define SPELL_EFFECT_EARTH 3
#define SPELL_EFFECT_FIRE 4
#define SPELL_EFFECT_ICE 5
#define SPELL_EFFECT_LIGHTNING 6
#define SPELL_EFFECT_WATER 7
/* detection spell effects */
#define SPELL_EFFECT_ANALYZE_MAGIC 0
#define SPELL_EFFECT_ANALYZE_DEVICE 1
#define SPELL_EFFECT_ANALYZE_PERSON 2
#define SPELL_EFFECT_CLAIRVOYANCE 3
#define SPELL_EFFECT_COMBAT_SENSE 4
#define SPELL_EFFECT_DETECT_ALIGN 5
#define SPELL_EFFECT_DETECT_INVIS 6
#define SPELL_EFFECT_DETECT_MAGIC 7
/* health spell effects */
#define SPELL_EFFECT_ANTIDOTE 0
#define SPELL_EFFECT_CURE 1
#define SPELL_EFFECT_DECREASE_BOD 2
#define SPELL_EFFECT_DECREASE_CHA 3
#define SPELL_EFFECT_DECREASE_INT 4
#define SPELL_EFFECT_DECREASE_QUI 5
#define SPELL_EFFECT_DECREASE_REA 6
#define SPELL_EFFECT_DECREASE_STR 7
#define SPELL_EFFECT_DECREASE_WIL 8
#define SPELL_EFFECT_HEAL 9
#define SPELL_EFFECT_INCREASE_BOD 10
#define SPELL_EFFECT_INCREASE_CHA 11
#define SPELL_EFFECT_INCREASE_INT 12
#define SPELL_EFFECT_INCREASE_QUI 13
#define SPELL_EFFECT_INCREASE_REA 14
#define SPELL_EFFECT_INCREASE_REFLEX 15
#define SPELL_EFFECT_INCREASE_STR 16
#define SPELL_EFFECT_INCREASE_WIL 17
#define SPELL_EFFECT_RESIST_PAIN 18
#define SPELL_EFFECT_STABILIZE 19
/* illusion spell effects */
#define SPELL_EFFECT_CHAOS 0
#define SPELL_EFFECT_CONFUSION 1
#define SPELL_EFFECT_IMP_INVIS 2
#define SPELL_EFFECT_INVIS 3
#define SPELL_EFFECT_OVERSTIM 4
/* manipulation spell effects */
#define SPELL_EFFECT_ARMOR 8
#define SPELL_EFFECT_LIGHT 9
#define SPELL_EFFECT_INFLUENCE 10
/* object-related defines */
/* item types: used by obj_data.obj_flags.type_flag */
#define ITEM_LIGHT 1 /* Item is a light source */
#define ITEM_SCROLL 2 /* Item is a scroll */
#define ITEM_WAND 3 /* Item is a wand */
#define ITEM_STAFF 4 /* Item is a staff */
#define ITEM_WEAPON 5 /* Item is a weapon */
#define ITEM_FIREWEAPON 6 /* Item is bow/xbow */
#define ITEM_MISSILE 7 /* Item is arrow/bolt */
#define ITEM_TREASURE 8 /* Item is a treasure, not nuyen */
#define ITEM_ARMOR 9 /* Item is armor */
#define ITEM_POTION 10 /* Item is a potion */
#define ITEM_WORN 11 /* Item is worn, not armor */
#define ITEM_OTHER 12 /* Misc object */
#define ITEM_TRASH 13 /* Trash - shopkeeps won't buy */
#define ITEM_DOCWAGON 14 /* Item is a docwagon contract */
#define ITEM_CONTAINER 15 /* Item is a container */
#define ITEM_RADIO 16 /* Item is radio */
#define ITEM_DRINKCON 17 /* Item is a drink container */
#define ITEM_KEY 18 /* Item is a key */
#define ITEM_FOOD 19 /* Item is food */
#define ITEM_MONEY 20 /* Item is money (nuyen/credstick) */
#define ITEM_PHONE 21 /* Item is a phone */
#define ITEM_BIOWARE 22 /* Item is bioware */
#define ITEM_FOUNTAIN 23 /* Item is a fountain */
#define ITEM_CYBERWARE 24 /* Item is cyberware */
#define ITEM_CYBERDECK 25 /* Item is a cyberdeck */
#define ITEM_PROGRAM 26 /* Item is a program */
#define ITEM_GUN_CLIP 27 /* Item is a gun clip */
#define ITEM_GUN_ACCESSORY 28 /* Item is a gun accessory */
#define ITEM_SPELL_FORMULA 29 /* Item is a spell formula */
#define ITEM_WORKING_GEAR 30 /* kit, shop, facility */
#define ITEM_FOCUS 31 /* magical foci of various types */
#define ITEM_PATCH 32 /* type of slap patch */
#define ITEM_CLIMBING 33 /* climbing gear */
#define ITEM_QUIVER 34 /* holds projectiles */
#define ITEM_DECK_ACCESSORY 35 /* decking accessory */
/* take/wear flags: used by obj_data.obj_flags.wear_flags */
#define ITEM_WEAR_TAKE (1 << 0) /* Item can be takes */
#define ITEM_WEAR_FINGER (1 << 1) /* Can be worn on finger */
#define ITEM_WEAR_NECK (1 << 2) /* Can be worn around neck */
#define ITEM_WEAR_BODY (1 << 3) /* Can be worn on body */
#define ITEM_WEAR_HEAD (1 << 4) /* Can be worn on head */
#define ITEM_WEAR_LEGS (1 << 5) /* Can be worn on legs */
#define ITEM_WEAR_FEET (1 << 6) /* Can be worn on feet */
#define ITEM_WEAR_HANDS (1 << 7) /* Can be worn on hands */
#define ITEM_WEAR_ARMS (1 << 8) /* Can be worn on arms */
#define ITEM_WEAR_SHIELD (1 << 9) /* Can be used as a shield */
#define ITEM_WEAR_ABOUT (1 << 10) /* Can be worn about body */
#define ITEM_WEAR_WAIST (1 << 11) /* Can be worn around waist */
#define ITEM_WEAR_WRIST (1 << 12) /* Can be worn on wrist */
#define ITEM_WEAR_WIELD (1 << 13) /* Can be wielded */
#define ITEM_WEAR_HOLD (1 << 14) /* Can be held */
#define ITEM_WEAR_EYES (1 << 15) /* worn on eyes */
#define ITEM_WEAR_EAR (1 << 16) /* can be worn on/in ear */
/* extra object flags: used by obj_data.obj_flags.extra_flags */
#define ITEM_GLOW (1 << 0) /* Item is glowing */
#define ITEM_HUM (1 << 1) /* Item is humming */
#define ITEM_NORENT (1 << 2) /* Item cannot be rented */
#define ITEM_NODONATE (1 << 3) /* Item cannot be donated */
#define ITEM_NOINVIS (1 << 4) /* Item cannot be made invis */
#define ITEM_INVISIBLE (1 << 5) /* Item is invisible */
#define ITEM_MAGIC (1 << 6) /* Item is magical */
#define ITEM_NODROP (1 << 7) /* Item is cursed: can't drop */
#define ITEM_BLESS (1 << 8) /* Item is blessed */
#define ITEM_NOSELL (1 << 9) /* Shopkeepers won't touch it */
#define ITEM_CORPSE (1 << 10) /* Item is a corpse */
#define ITEM_GODONLY (1 << 11) /* Only a god may use this item */
#define ITEM_TWOHANDS (1 << 12) /* weapon takes 2 hands to use */
#define ITEM_STARTER (1 << 13) /* REMOVE!!!! item is from character gen */
#define ITEM_VOLATILE (1 << 14) /* connected item loaded in ip zone */
#define ITEM_IMMLOAD (1 << 15) /* decays after timer runs out */
/* always keep immload the last */
/* material type for item */
#define ITEM_NONE 0
#define ITEM_PLASTIC 1
#define ITEM_IRON 2
#define ITEM_SILVER 3
/* decking accessory types */
#define TYPE_FILE 0
#define TYPE_UPGRADE 1
/* types of cyberware for value[2] on a cyberware object */
#define CYB_DATAJACK 1
/* program types */
#define PROG_BOD 1
#define PROG_EVASION 2
#define PROG_MASKING 3
#define PROG_SENSOR 4
#define PROG_ATTACK 5
#define PROG_SLOW 6
#define PROG_MEDIC 7
#define PROG_MIRRORS 8
#define PROG_SHIELD 9
#define PROG_SMOKE 10
#define PROG_ANALYZE 11
#define PROG_DECRYPT 12
#define PROG_DECEPTION 13
#define PROG_RELOCATE 14
#define PROG_SLEAZE 15
/* modifier constants used with obj affects ('A' fields) */
#define APPLY_NONE 0 /* No effect */
#define APPLY_BOD 1 /* Apply to Body */
#define APPLY_QUI 2 /* Apply to Quickness */
#define APPLY_STR 3 /* Apply to Strength */
#define APPLY_CHA 4 /* Apply to Charisma */
#define APPLY_INT 5 /* Apply to Intelligence */
#define APPLY_WIL 6 /* Apply to Willpower */
#define APPLY_ESS 7 /* Apply to Essence */
#define APPLY_MAG 8 /* Apply to Magic */
#define APPLY_REA 9 /* Apply to Reaction */
#define APPLY_AGE 10 /* Apply to age */
#define APPLY_CHAR_WEIGHT 11 /* Apply to weight */
#define APPLY_CHAR_HEIGHT 12 /* Apply to height */
#define APPLY_MENTAL 13 /* Apply to max mental */
#define APPLY_PHYSICAL 14 /* Apply to max physical points */
#define APPLY_MOVE 15 /* Apply to max move points */
#define APPLY_BALLISTIC 16 /* Apply to Ballistic armor */
#define APPLY_IMPACT 17 /* Apply to Impact armor rating */
#define APPLY_ASTRAL_POOL 18 /* Apply to Astral Pool */
#define APPLY_DEFENSE_POOL 19 /* Apply to Defense Pool */
#define APPLY_COMBAT_POOL 20 /* Apply to Dodge Pool */
#define APPLY_HACKING_POOL 21 /* Apply to Hacking Pool */
#define APPLY_MAGIC_POOL 22 /* Apply to Magic Pool */
#define APPLY_INITIATIVE_DICE 23 /* Apply to Initiative Dice */
#define APPLY_TARGET 24 /* Apply to Target Numbers */
/* container flags - value[1] */
#define CONT_CLOSEABLE (1 << 0) /* Container can be closed */
#define CONT_PICKPROOF (1 << 1) /* Container is pickproof */
#define CONT_CLOSED (1 << 2) /* Container is closed */
#define CONT_LOCKED (1 << 3) /* Container is locked */
/* some different kind of liquids for use in values of drink containers */
#define LIQ_WATER 0
#define LIQ_BEER 1
#define LIQ_WINE 2
#define LIQ_ALE 3
#define LIQ_DARKALE 4
#define LIQ_WHISKY 5
#define LIQ_LEMONADE 6
#define LIQ_FIREBRT 7
#define LIQ_LOCALSPC 8
#define LIQ_SLIME 9
#define LIQ_MILK 10
#define LIQ_TEA 11
#define LIQ_COFFE 12
#define LIQ_BLOOD 13
#define LIQ_SALTWATER 14
#define LIQ_CLEARWATER 15
#define LIQ_TEQUILA 16
#define LIQ_HOTSAUCE 17
/* focus values */
#define VALUE_FOCUS_TYPE 0
#define VALUE_FOCUS_RATING 1
#define VALUE_FOCUS_CAT 2
#define VALUE_FOCUS_BONDED 5
/* #define VALUE_FOCUS_WEAPON_VNUM 7 */
#define VALUE_FOCUS_SPECIFY 8
#define VALUE_FOCUS_CHAR_IDNUM 9
/* types of foci */
#define FOCI_SPELL 0
#define FOCI_SPELL_CAT 1
#define FOCI_SPIRIT 2
#define FOCI_POWER 3
#define FOCI_LOCK 4
#define FOCI_WEAPON 5
/* ANTI-LAR ADDITION */
#define CHAN_SAY 0
#define CHAN_EMOTE 1
#define CHAN_NEWBIE 2
#define CHAN_RADIO 3
#define CHAN_OOC 4
#define CHAN_OSAY 5
#define CHAN_WT 6
#define CHAN_WF 7
#define CHAN_TELL 8
#define CHAN_WHISPER 9
#define CHAN_TITLE 10 /* Only added as a CHAN for consistancy */
#define CHAN_SHOUT 11
/* End ANTI-LAR */
/* house value defines */
#define MAX_HOUSES 100
#define MAX_GUESTS 10
#define NORMAL_MAX_GUESTS 2
#define OBJS_PER_LIFESTYLE 35
#define HOUSE_LOW 0
#define HOUSE_MIDDLE 1
#define HOUSE_HIGH 2
#define HOUSE_LUXURY 3
/* alias defines */
#define ALIAS_SIMPLE 0
#define ALIAS_COMPLEX 1
#define ALIAS_SEP_CHAR ';'
#define ALIAS_VAR_CHAR '$'
#define ALIAS_GLOB_CHAR '*'
/* Subcommands section: Originally from interpreter.h */
/* directions */
#define SCMD_NORTH 1
#define SCMD_NORTHEAST 2
#define SCMD_EAST 3
#define SCMD_SOUTHEAST 4
#define SCMD_SOUTH 5
#define SCMD_SOUTHWEST 6
#define SCMD_WEST 7
#define SCMD_NORTHWEST 8
#define SCMD_UP 9
#define SCMD_DOWN 10
/* do_gen_ps */
#define SCMD_INFO 0
#define SCMD_HANDBOOK 1
#define SCMD_CREDITS 2
#define SCMD_NEWS 3
#define SCMD_WIZLIST 4
#define SCMD_POLICIES 5
#define SCMD_VERSION 6
#define SCMD_IMMLIST 7
#define SCMD_MOTD 8
#define SCMD_IMOTD 9
#define SCMD_CLEAR 10
#define SCMD_WHOAMI 11
/* do_wizutil */
#define SCMD_REROLL 0
#define SCMD_PARDON 1
#define SCMD_NOTITLE 2
#define SCMD_SQUELCH 3
#define SCMD_FREEZE 4
#define SCMD_THAW 5
#define SCMD_UNAFFECT 6
/* do_say */
#define SCMD_SAY 0
#define SCMD_OSAY 1
/* do_spec_com */
#define SCMD_WHISPER 0
#define SCMD_ASK 1
/* do_gen_com */
#define SCMD_SHOUT 0
#define SCMD_NEWBIE 1
#define SCMD_OOC 2
/* do_last */
#define SCMD_LAST 0
#define SCMD_FINGER 1
/* do_shutdown */
#define SCMD_SHUTDOW 0
#define SCMD_SHUTDOWN 1
/* do_quit */
#define SCMD_QUI 0
#define SCMD_QUIT 1
/* do_date */
#define SCMD_DATE 0
#define SCMD_UPTIME 1
/* do disconnect */
#define SCMD_DISCONNECT 0
#define SCMD_MORTED 1
/* do wiztitle */
#define SCMD_WHOTITLE 0
#define SCMD_PRETITLE 1
/* do_commands */
#define SCMD_COMMANDS 0
#define SCMD_SOCIALS 1
/* do_drop */
#define SCMD_DROP 0
#define SCMD_JUNK 1
#define SCMD_DONATE 2
#define SCMD_UPLOAD 3
/* do_gen_write */
#define SCMD_BUG 0
#define SCMD_TYPO 1
#define SCMD_IDEA 2
/* do_look */
#define SCMD_LOOK 0
#define SCMD_READ 1
/* do_qcomm */
#define SCMD_QSAY 0
#define SCMD_QECHO 1
/* do_pour */
#define SCMD_POUR 0
#define SCMD_FILL 1
/* do_poof */
#define SCMD_POOFIN 0
#define SCMD_POOFOUT 1
/* do_astral */
#define SCMD_PROJECT 0
#define SCMD_PERCEIVE 1
/* do_hit */
#define SCMD_HIT 0
#define SCMD_MURDER 1
#define SCMD_KILL 2
/* do_eat */
#define SCMD_EAT 0
#define SCMD_TASTE 1
#define SCMD_DRINK 2
#define SCMD_SIP 3
/* do_use */
#define SCMD_USE 0
#define SCMD_QUAFF 1
#define SCMD_RECITE 2
/* do_echo */
#define SCMD_ECHO 0
#define SCMD_EMOTE 1
#define SCMD_XECHO 2
#define SCMD_XEMOTE 3
/* do_gen_door */
#define SCMD_OPEN 0
#define SCMD_CLOSE 1
#define SCMD_UNLOCK 2
#define SCMD_LOCK 3
#define SCMD_PICK 4
/* matrix subcommands */
#define SCMD_INSTALL 1
#define SCMD_UNINSTALL 2
#define SCMD_DOWNLOAD 3
/* do_skills */
#define SCMD_SKILLS 0
#define SCMD_ABILITIES 1
/* do_time */
#define SCMD_NORMAL 0
#define SCMD_PRECISE 1
/* END SUBCOMMANDS SECTION */
/* modes of connectedness: used by descriptor_data.state */
#define CON_PLAYING 0 /* Playing - Nominal state */
#define CON_CLOSE 1 /* Disconnecting */
#define CON_GET_NAME 2 /* By what name ..? */
#define CON_NAME_CNFRM 3 /* Did I get that right, x? */
#define CON_PASSWORD 4 /* Password: */
#define CON_NEWPASSWD 5 /* Give me a password for x */
#define CON_CNFPASSWD 6 /* Please retype password: */
#define CON_CCREATE 7
#define CON_RMOTD 8 /* PRESS RETURN after MOTD */
#define CON_MENU 9 /* Your choice: (main menu) */
#define CON_EXDESC 10 /* Enter a new description: */
#define CON_CHPWD_GETOLD 11 /* Changing passwd: get old */
#define CON_CHPWD_GETNEW 12 /* Changing passwd: get new */
#define CON_CHPWD_VRFY 13 /* Verify new password */
#define CON_DELCNF1 14 /* Delete confirmation 1 */
#define CON_DELCNF2 15 /* Delete confirmation 2 */
#define CON_QMENU 16 /* quit menu */
#define CON_QGETOLDPW 17
#define CON_QGETNEWPW 18
#define CON_QVERIFYPW 19
#define CON_QDELCONF1 20
#define CON_QDELCONF2 21
#define CON_SPELL_CREATE 22 /* Spell creation menus */
#define CON_PCUSTOMIZE 23 /* customize persona description menu */
#define CON_ACUSTOMIZE 24 /* customize reflection description menu */
#define CON_IEDIT 25 /* olc edit mode */
#define CON_REDIT 26 /* olc edit mode */
#define CON_MEDIT 27
#define CON_QEDIT 28
#define CON_SHEDIT 29
#define CON_ZEDIT 30
#define CON_IDCONING 31 /* waiting for ident connection */
#define CON_IDCONED 32 /* ident connection complete */
#define CON_IDREADING 33 /* waiting to read ident sock */
#define CON_IDREAD 34 /* ident results read */
#define CON_ASKNAME 35 /* Ask user for name */
/* chargen connected modes */
#define CCR_AWAIT_CR -1
#define CCR_SEX 0
#define CCR_RACE 1
#define CCR_TYPE 2
#define CCR_ARCHETYPE 3
#define CCR_TOTEM 4
#define CCR_PRIORITY 5
#define CCR_ASSIGN 6
#define CCR_EQUIP 7
#define CCR_WEAPON 8
#define CCR_ARMOR 9
#define CCR_CYBERDECK 10
#define CCR_CYBERWARE 11
#define CCR_SPELLS 12
#define CCR_FORCE 13
#define CCR_TRADITION 14
/* priority choosing chargen modes */
#define PR_NONE 0
#define PR_ATTRIB 1
#define PR_MAGIC 2
#define PR_RESOURCE 3
#define PR_SKILL 4
#define PR_RACE 5
/* arbitrary constants used by index_boot() (must be unique) */
#define DB_BOOT_WLD 0
#define DB_BOOT_MOB 1
#define DB_BOOT_OBJ 2
#define DB_BOOT_ZON 3
#define DB_BOOT_SHP 4
#define DB_BOOT_QST 5
/* Defines for sending text */
#define TO_ROOM 1
#define TO_VICT 2
#define TO_NOTVICT 3
#define TO_CHAR 4
#define TO_ROLLS 5
#define TO_SLEEP 128 /* to char, even if sleeping */
/* Boards */
#define NUM_OF_BOARDS 22 /* change if needed! */
#define MAX_BOARD_MESSAGES 85 /* arbitrary -- change if needed */
#define MAX_MESSAGE_LENGTH 5120 /* arbitrary -- change if needed */
#define INDEX_SIZE ((NUM_OF_BOARDS*MAX_BOARD_MESSAGES) + 5)
/* teacher modes */
#define NEWBIE 0
#define AMATEUR 1
#define ADVANCED 2
/* sun state for weather_data */
#define SUN_DARK 0
#define SUN_RISE 1
#define SUN_LIGHT 2
#define SUN_SET 3
/* sky conditions for weather_data */
#define SKY_CLOUDLESS 0
#define SKY_CLOUDY 1
#define SKY_RAINING 2
#define SKY_LIGHTNING 3
/* rent codes */
#define RENT_UNDEF 0
#define RENT_CRASH 1
#define RENT_RENTED 2
#define RENT_CRYO 3
#define RENT_FORCED 4
#define RENT_TIMEDOUT 5
/* miscellaneous value defines */
#define OPT_USEC 100000 /* 10 passes per second */
#define PASSES_PER_SEC (1000000 / OPT_USEC)
#define RL_SEC * PASSES_PER_SEC
#define PULSE_ZONE (10 RL_SEC)
#define PULSE_MOBILE (10 RL_SEC)
#define PULSE_VIOLENCE (1 RL_SEC)
#define PULSE_HTML (30 RL_SEC)
#define PULSE_INITIATIVE (4 * PULSE_VIOLENCE)
#define SMALL_BUFSIZE 1024
#define LARGE_BUFSIZE (12 * 1024)
#define GARBAGE_SPACE 32
#define MAX_STRING_LENGTH 8192
#define MAX_INPUT_LENGTH 256 /* Max length per *line* of input */
#define MAX_RAW_INPUT_LENGTH 512 /* Max size of *raw* input */
#define MAX_MESSAGES 100
#define MAX_NAME_LENGTH 20 /* Used in char_file_u *DO*NOT*CHANGE* */
#define MAX_PWD_LENGTH 10 /* Used in char_file_u *DO*NOT*CHANGE* */
#define MAX_TITLE_LENGTH 50 /* Used in char_file_u *DO*NOT*CHANGE* */
#define HOST_LENGTH 30 /* Used in char_file_u *DO*NOT*CHANGE* */
#define LINE_LENGTH 80 /* Used in char_file_u *DO*NOT*CHANGE* */
#define EXDSCR_LENGTH 400 /* Used in char_file_u *DO*NOT*CHANGE* */
#define MAX_TONGUE 3 /* Used in char_file_u *DO*NOT*CHANGE* */
#define MAX_SKILLS 200 /* Used in char_file_u *DO*NOT*CHANGE* */
#define MAX_AFFECT 32 /* Used in char_file_u *DO*NOT*CHANGE* */
#define MAX_OBJ_AFFECT 6 /* Used in obj_file_elem *DO*NOT*CHANGE* */
#define IDENT_LENGTH 8
/* ban struct */
struct ban_list_element {
char site[BANNED_SITE_LENGTH+1];
int type;
time_t date;
char name[MAX_NAME_LENGTH+1];
struct ban_list_element *next;
};
#endif