/*************************************************************************** * ANATOLIA 2.1 is copyright 1996-1997 Serdar BULUT, Ibrahim CANPUNAR * * ANATOLIA has been brought to you by ANATOLIA consortium * * Serdar BULUT {Chronos} bulut@rorqual.cc.metu.edu.tr * * Ibrahim Canpunar {Asena} canpunar@rorqual.cc.metu.edu.tr * * Murat BICER {KIO} mbicer@rorqual.cc.metu.edu.tr * * D.Baris ACAR {Powerman} dbacar@rorqual.cc.metu.edu.tr * * By using this code, you have agreed to follow the terms of the * * ANATOLIA license, in the file Anatolia/anatolia.licence * ***************************************************************************/ /*************************************************************************** * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * * * Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * * * In order to use any part of this Merc Diku Mud, you must comply with * * both the original Diku license in 'license.doc' as well the Merc * * license in 'license.txt'. In particular, you may not remove either of * * these copyright notices. * * * * Much time and thought has gone into this software and you are * * benefitting. We hope that you share your changes too. What goes * * around, comes around. * ***************************************************************************/ /*************************************************************************** * ROM 2.4 is copyright 1993-1995 Russ Taylor * * ROM 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) * * By using this code, you have agreed to follow the terms of the * * ROM license, in the file Rom24/doc/rom.license * ***************************************************************************/ #if defined(macintosh) #include <types.h> #else #include <sys/types.h> #endif #include <stdio.h> #include <time.h> #include "merc.h" #include "tables.h" /* for position */ const struct position_type position_table[] = { { "dead", "dead" }, { "mortally wounded", "mort" }, { "incapacitated", "incap" }, { "stunned", "stun" }, { "sleeping", "sleep" }, { "resting", "rest" }, { "sitting", "sit" }, { "fighting", "fight" }, { "standing", "stand" }, { NULL, NULL } }; /* for sex */ const struct sex_type sex_table[] = { { "none" }, { "male" }, { "female" }, { "either" }, { NULL } }; /* for sizes */ const struct size_type size_table[] = { { "tiny" }, { "small" }, { "medium" }, { "large" }, { "huge", }, { "giant" }, { "gargantuan" }, { NULL } }; /* various flag tables */ const struct flag_type act_flags[] = { { "npc", A, FALSE }, { "sentinel", B, TRUE }, { "scavenger", C, TRUE }, { "aggressive", F, TRUE }, { "stay_area", G, TRUE }, { "wimpy", H, TRUE }, { "pet", I, TRUE }, { "train", J, TRUE }, { "practice", K, TRUE }, { "undead", O, TRUE }, { "cleric", Q, TRUE }, { "mage", R, TRUE }, { "thief", S, TRUE }, { "warrior", T, TRUE }, { "noalign", U, TRUE }, { "nopurge", V, TRUE }, { "outdoors", W, TRUE }, { "indoors", Y, TRUE }, { "healer", aa, TRUE }, { "gain", bb, TRUE }, { "update_always", cc, TRUE }, { "changer", dd, TRUE }, { NULL, 0, FALSE } }; const struct flag_type plr_flags[] = { { "npc", A, FALSE }, { "autoassist", C, FALSE }, { "autoexit", D, FALSE }, { "autoloot", E, FALSE }, { "autosac", F, FALSE }, { "autogold", G, FALSE }, { "autosplit", H, FALSE }, { "holylight", N, FALSE }, { "can_loot", P, FALSE }, { "nosummon", Q, FALSE }, { "nofollow", R, FALSE }, { "permit", U, TRUE }, { "log", W, FALSE }, { "deny", X, FALSE }, { "freeze", Y, FALSE }, { "thief", Z, FALSE }, { "killer", aa, FALSE }, { "questor", bb, FALSE }, { "vampire", cc, FALSE }, { NULL, 0, 0 } }; const struct flag_type affect_flags[] = { { "blind", A, TRUE }, { "invisible", B, TRUE }, { "sanctuary", H, TRUE }, { "faerie_fire", I, TRUE }, { "infrared", J, TRUE }, { "curse", K, TRUE }, { "poison", M, TRUE }, { "protect_evil", N, TRUE }, { "protect_good", O, TRUE }, { "sneak", P, TRUE }, { "hide", Q, TRUE }, { "sleep", R, TRUE }, { "charm", S, TRUE }, { "flying", T, TRUE }, { "pass_door", U, TRUE }, { "haste", V, TRUE }, { "calm", W, TRUE }, { "plague", X, TRUE }, { "weaken", Y, TRUE }, { "wstun", Z, TRUE }, { "berserk", aa, TRUE }, { "swim", bb, TRUE }, { "regeneration", cc, TRUE }, { "slow", dd, TRUE }, { "camouflage", ee, TRUE }, { NULL, 0, 0 } }; const struct flag_type off_flags[] = { { "area_attack", A, TRUE }, { "backstab", B, TRUE }, { "bash", C, TRUE }, { "berserk", D, TRUE }, { "disarm", E, TRUE }, { "dodge", F, TRUE }, { "fade", G, TRUE }, { "fast", H, TRUE }, { "kick", I, TRUE }, { "dirt_kick", J, TRUE }, { "parry", K, TRUE }, { "rescue", L, TRUE }, { "tail", M, TRUE }, { "trip", N, TRUE }, { "crush", O, TRUE }, { "assist_all", P, TRUE }, { "assist_align", Q, TRUE }, { "assist_race", R, TRUE }, { "assist_players", S, TRUE }, { "assist_guard", T, TRUE }, { "assist_vnum", U, TRUE }, { NULL, 0, 0 } }; const struct flag_type imm_flags[] = { { "summon", A, TRUE }, { "charm", B, TRUE }, { "magic", C, TRUE }, { "weapon", D, TRUE }, { "bash", E, TRUE }, { "pierce", F, TRUE }, { "slash", G, TRUE }, { "fire", H, TRUE }, { "cold", I, TRUE }, { "lightning", J, TRUE }, { "acid", K, TRUE }, { "poison", L, TRUE }, { "negative", M, TRUE }, { "holy", N, TRUE }, { "energy", O, TRUE }, { "mental", P, TRUE }, { "disease", Q, TRUE }, { "drowning", R, TRUE }, { "light", S, TRUE }, { "sound", T, TRUE }, { "wood", X, TRUE }, { "silver", Y, TRUE }, { "iron", Z, TRUE }, { NULL, 0, 0 } }; const struct flag_type form_flags[] = { { "edible", FORM_EDIBLE, TRUE }, { "poison", FORM_POISON, TRUE }, { "magical", FORM_MAGICAL, TRUE }, { "instant_decay", FORM_INSTANT_DECAY, TRUE }, { "other", FORM_OTHER, TRUE }, { "animal", FORM_ANIMAL, TRUE }, { "sentient", FORM_SENTIENT, TRUE }, { "undead", FORM_UNDEAD, TRUE }, { "construct", FORM_CONSTRUCT, TRUE }, { "mist", FORM_MIST, TRUE }, { "intangible", FORM_INTANGIBLE, TRUE }, { "biped", FORM_BIPED, TRUE }, { "centaur", FORM_CENTAUR, TRUE }, { "insect", FORM_INSECT, TRUE }, { "spider", FORM_SPIDER, TRUE }, { "crustacean", FORM_CRUSTACEAN, TRUE }, { "worm", FORM_WORM, TRUE }, { "blob", FORM_BLOB, TRUE }, { "mammal", FORM_MAMMAL, TRUE }, { "bird", FORM_BIRD, TRUE }, { "reptile", FORM_REPTILE, TRUE }, { "snake", FORM_SNAKE, TRUE }, { "dragon", FORM_DRAGON, TRUE }, { "amphibian", FORM_AMPHIBIAN, TRUE }, { "fish", FORM_FISH , TRUE }, { "cold_blood", FORM_COLD_BLOOD, TRUE }, { NULL, 0, 0 } }; const struct flag_type part_flags[] = { { "head", PART_HEAD, TRUE }, { "arms", PART_ARMS, TRUE }, { "legs", PART_LEGS, TRUE }, { "heart", PART_HEART, TRUE }, { "brains", PART_BRAINS, TRUE }, { "guts", PART_GUTS, TRUE }, { "hands", PART_HANDS, TRUE }, { "feet", PART_FEET, TRUE }, { "fingers", PART_FINGERS, TRUE }, { "ear", PART_EAR, TRUE }, { "eye", PART_EYE, TRUE }, { "long_tongue", PART_LONG_TONGUE, TRUE }, { "eyestalks", PART_EYESTALKS, TRUE }, { "tentacles", PART_TENTACLES, TRUE }, { "fins", PART_FINS, TRUE }, { "wings", PART_WINGS, TRUE }, { "tail", PART_TAIL, TRUE }, { "claws", PART_CLAWS, TRUE }, { "fangs", PART_FANGS, TRUE }, { "horns", PART_HORNS, TRUE }, { "scales", PART_SCALES, TRUE }, { "tusks", PART_TUSKS, TRUE }, { NULL, 0, 0 } }; const struct flag_type comm_flags[] = { { "quiet", COMM_QUIET, TRUE }, { "deaf", COMM_DEAF, TRUE }, { "nowiz", COMM_NOWIZ, TRUE }, { "nogossip", COMM_NOGOSSIP, TRUE }, { "noquestion", COMM_NOQUESTION, TRUE }, { "nomusic", COMM_NOMUSIC, TRUE }, { "noquote", COMM_NOQUOTE, TRUE }, { "shoutsoff", COMM_SHOUTSOFF, TRUE }, { "true_trust", COMM_TRUE_TRUST, TRUE }, { "compact", COMM_COMPACT, TRUE }, { "brief", COMM_BRIEF, TRUE }, { "prompt", COMM_PROMPT, TRUE }, { "combine", COMM_COMBINE, TRUE }, { "telnet_ga", COMM_TELNET_GA, TRUE }, { "show_affects", COMM_SHOW_AFFECTS, TRUE }, { "nograts", COMM_NOGRATS, TRUE }, { "noemote", COMM_NOEMOTE, FALSE }, { "noshout", COMM_NOSHOUT, FALSE }, { "notell", COMM_NOTELL, FALSE }, { "nochannels", COMM_NOCHANNELS, FALSE }, { "snoop_proof", COMM_SNOOP_PROOF, FALSE }, { "afk", COMM_AFK, TRUE }, { NULL, 0, 0 } }; /* <longname> <shortname> <cabal item> <cabal shrine> NULL */ struct cabal_type cabal_table [] = { { "None", "None",0,0,NULL }, { "the Rulers of Anatolia", "RULER", 511,512,NULL }, { "the Dark Raiders of Anatolia", "INVADER", 561,568,NULL }, { "the Barons of Chaos", "CHAOS", 552,554,NULL }, { "the Masters of the Arcane Arts", "SHALAFI", 531,530,NULL }, { "the Masters of the Martial Arts", "BATTLERAGER", 541,548,NULL }, { "the Knights of Anatolia", "KNIGHT", 522,524,NULL }, { "the Leaders of Forests", "LION", 502,504,NULL }, { "the Mercanary of Anatolia", "HUNTER", 571,573,NULL } }; const struct prac_type prac_table[] = { { "none", "group_none", GROUP_NONE }, { "weaponsmaster","group_weaponsmaster", GROUP_WEAPONSMASTER }, { "attack", "group_attack", GROUP_ATTACK }, { "beguiling", "group_beguiling", GROUP_BEGUILING }, { "benedictions", "group_benedictions", GROUP_BENEDICTIONS }, { "combat", "group_combat", GROUP_COMBAT }, { "creation", "group_creation", GROUP_CREATION }, { "curative", "group_curative", GROUP_CURATIVE }, { "detection", "group_detection", GROUP_DETECTION }, { "draconian", "group_draconian", GROUP_DRACONIAN }, { "enchantment", "group_enchantment", GROUP_ENCHANTMENT }, { "enhancement", "group_enhancement", GROUP_ENHANCEMENT }, { "harmful", "group_harmful", GROUP_HARMFUL }, { "healing", "group_healing", GROUP_HEALING }, { "illusion", "group_illusion", GROUP_ILLUSION }, { "maladictions", "group_maladictions", GROUP_MALADICTIONS }, { "protective", "group_protective", GROUP_PROTECTIVE }, { "transportation","group_transportation",GROUP_TRANSPORTATION }, { "weather", "group_weather", GROUP_WEATHER }, { "fightmaster", "group_fightmaster", GROUP_FIGHTMASTER }, { "suddendeath", "group_suddendeath", GROUP_SUDDENDEATH }, { "meditation", "group_meditation", GROUP_MEDITATION }, { "cabal", "group_cabal", GROUP_CABAL }, { "defensive", "group_defensive", GROUP_DEFENSIVE }, { "wizard", "group_wizard", GROUP_WIZARD }, { NULL, NULL, 0 } };