/*
 *
 *  Iter Vehemens ad Necem (IVAN)
 *  Copyright (C) Timo Kiviluoto
 *  Released under the GNU General
 *  Public License
 *
 *  See LICENSING which should be included
 *  along with this file for more details
 *
 */

/*
 * NOTICE!!!
 *
 * This file contains SPOILERS, which might ruin your IVAN experience
 * totally. Also, editing anything can DESTROY GAME BALANCE or CAUSE
 * OBSCURE BUGS if you don't know what you're doing. So from here on,
 * proceed at your own risk!
 */

/* Numerical character data loaded during game startup */

/* Default values: */

character
{
  /* Obligatory: DefaultArmStrength */
  /* Obligatory for humanoids: DefaultLegStrength */
  /* Obligatory for humanoids: DefaultDexterity */
  DefaultAgility = 0;
  DefaultEndurance = 0;
  DefaultPerception = 0;
  DefaultIntelligence = 0;
  DefaultWisdom = 0;
  DefaultCharisma = 0;
  DefaultMana = 0;
  DefaultMoney = 0;
  /* Obligatory: TotalSize */
  CanRead = false;
  IsCharmable = true;
  Sex = UNDEFINED;
  CanBeGenerated = false;
  CriticalModifier = 20;
  StandVerb = "standing";
  ForceCustomStandVerb = false;
  CanOpen = true;
  Frequency = 10000;
  EnergyResistance = 0;
  FireResistance = 0;
  PoisonResistance = 0;
  ElectricityResistance = 0;
  AcidResistance = 0;
  IsUnique = false;
  ConsumeFlags = CT_FRUIT|CT_MEAT|CT_LIQUID|CT_PROCESSED;
  /* Obligatory: TotalVolume */
  IsNameable = true;
  BaseEmitation = 0;
  /* Obligatory: TorsoBitmapPos */
  UsesLongArticle = false;
  Adjective = "";
  UsesLongAdjectiveArticle = false;
  /* Obligatory: NameSingular */
  /* NameSingular + "s" by default: NamePlural */
  ArticleMode = 0;
  IsAbstract = true; /* This is false by default and does not inherit! */
  IsPolymorphable = true;
  /* At least one of the following three is obligatory: */
  BaseUnarmedStrength = 0;
  BaseBiteStrength = 0; /* Defaults to BaseUnarmedStrength / 2 */
  BaseKickStrength = 0; /* Defaults to BaseUnarmedStrength * 2 */
  AttackStyle = USE_ARMS;
  CanUseEquipment = false;
  CanKick = false;
  CanTalk = false;
  ClassStates = 0;
  CanBeWished = true;
  CreateDivineConfigurations = false;
  CreateGolemMaterialConfigurations = false;
  AttributeBonus = 0;
  RightSWeaponSkillHits = 0;
  LeftSWeaponSkillHits = 0;
  PanicLevel = 33;
  CanBeCloned = true;
  DangerModifier = 100;
  DefaultName = "";
  HostileReplies == "@Dd grunts angrily.";
  FriendlyReplies == "@Dd grunts happily.";
  CanZap = false;
  HasALeg = true;
  DeathMessage = "@Dd is slain.";
  IgnoreDanger = false;
  HPRequirementForGeneration = 0;
  DayRequirementForGeneration = 0;
  IsExtraCoward = false;
  SpillsBlood = true;
  HasEyes = true;
  HasHead = true;
  CanThrow = false;
  UsesNutrition = true;
  AttackWisdomLimit = NO_LIMIT;
  /* Obligatory: AttachedGod */
  BodyPartsDisappearWhenSevered = false;
  CanBeConfused = true;
  CanApply = false;
  WieldedPosition = 0, 0;
  NaturalSparkleFlags = 0;
  BiteCapturesBodyPart = true;
  IsPlant = false;
  MoveType = WALK;
  DestroysWalls = false;
  IsRooted = false;
  BloodMaterial = BLOOD;
  VomitMaterial = VOMIT;
  HasSecondaryMaterial = false;
  IsImmuneToLeprosy = true;
  PolymorphIntelligenceRequirement = DEPENDS_ON_ATTRIBUTES;
  AutomaticallySeen = false;
  CanHear = true;
  DefaultCommandFlags = FOLLOW_PLAYER|DONT_CONSUME_ANYTHING_VALUABLE;
  ConstantCommandFlags = 0;
  WillCarryItems = false;
  ForceVomitMessage = "You push your fingers down to your throat and vomit.";
  SweatMaterial = SWEAT;
  Sweats = true;
  IsImmuneToItemTeleport = false;
  AlwaysUseMaterialAttributes = false;
  IsEnormous = false;
  ScienceTalkAdjectiveAttribute =
  {
    141,
    "", "applied", "recent", "dark", "linear",
    "molecular", "theoretical", "classical", "the future of", "queer",
    "multilinear", "fundamental", "mythical", "nuclear", "loop quantum",
    "higher", "terrible", "mad", "tertiary", "the art of",
    "elementary", "practical", "artificial", "existential", "quantum",

    "modern", "ancient", "empirical", "statistical", "the axioms of",
    "hypothetical", "organic",  "dialectical", "black", "erotic",
    "communal", "general", "special", "the theory of", "elliptical",
    "heuristical", "urban", "spontaneous", "forbidden", "invisible",
    "popular", "the current state of", "liberal", "nautical", "ceremonial",

    "good", "bad", "environmental", "the code of", "compressed",
    "explosive", "educational", "recreational", "democratic", "public",
    "scientific", "social", "motorized", "genetic", "revolutionary",
    "replaceable", "atomic", "advanced", "amphibious", "neolithic",
    "jurassic", "synthetic", "integrated", "chaotic", "strategic",

    "tropical", "corrupted", "diplomatic", "political", "experimental",
    "happy", "the purpose of", "natural", "heroic", "hexagonal",
    "wrong", "orthogonal", "paraller", "infinite", "the solvability of",
    "mental", "orthodox", "the history of", "soft", "hard",
    "illegitimate", "comical", "collective", "optical", "intellectual",

    "the creative uses of", "global", "the origin of", "royal", "clinical",
    "evolutionary", "alien", "the implementation of", "psychic", "plasma",
    "commercial", "wicked", "hypnotic", "polymorphic", "controlled",
    "doctrine:", "frictionless", "the conservation of", "ideal", "moral",
    "retroviral", "orbital", "nonlinear", "the secrets of", "self-aware",

    "sentient", "silksteel", "dead", "temporal", "transcendent",
    "unified", "the threshold of", "finite", "postmodern", "selective",
    "arctic", "the proofs of", "mortal", "teleological", "sick",
    "the principle of";
  }
  ScienceTalkSubstantiveAttribute =
  {
    17,
    "New Age", "military", "space", "neutronium", "punishment",
    "last century", "mass", "horseback", "tachyon", "singularity",
    "antimatter", "superstring", "nerd", "crystal", "free market",
    "hybrid", "probability";
  }
  ScienceTalkPrefix =
  {
    51,
    "", "", "", "", "",
    "", "", "", "", "",
    "macro", "nano", "neuro", "semi", "hemi",
    "cryo", "eroto", "ethno", "hyper", "trans",
    "bio", "beta", "gamma", "geo", "mega",

    "radio", "cosmo", "post", "photo", "tele",
    "meta", "neo", "para", "micro", "necro",
    "super", "auto", "laser", "ego", "eco",
    "gyro", "sub", "multi", "cyber", "xeno",
    "aero", "pyro", "helio", "caco", "pseudo",
    "thermo";
  }
  ScienceTalkName =
  {
    265,
    "sanitation", "relativity", "physics", "mathematics", "philosophy",
    "numerology", "slavery", "mechanics", "magicks", "architecture",
    "archaeology", "logic", "fiction", "questions", "theology",
    "alchemy", "valpurism", "analysis", "gastronomy", "oceanography",
    "astronomy", "astrology", "anthropology", "ethics", "linguistics",

    "psychology", "methods", "choreography", "music", "semiotics",
    "culture", "forestry", "engineering", "journalism", "agriculture",
    "ergonomics", "sagas", "pedagogy", "apiculture", "aquaculture",
    "horticulture", "silviculture", "law", "dentistry", "surgery",
    "rocketry", "fission", "pharmacy", "dogmatics", "cartography",

    "gerontology", "formalism", "feminism", "communism", "flight",
    "cricket", "rhetorics", "navigation", "sculpture", "literature",
    "shamanism", "painting", "utilitarism", "grammar", "arithmetic",
    "algebra", "marxism", "capitalism", "behaviorism", "causality",
    "folklore", "legends", "animism", "spiritualism", "idolatry",

    "constructions", "currency", "riding", "federalism", "monarchy",
    "medicine", "tradition", "chivalry", "righteousness", "banking",
    "gravity", "metallurgy", "magnetism", "nationalism", "industry",
    "pollution", "espionage", "corporations", "particles", "transportation",
    "refining", "combustion", "colonization", "steel", "materials",

    "hallucinations", "armours", "trance", "afterlife", "paradigms",
    "customer support", "virginity", "zoology", "witchcraft", "wine",
    "claustrophobia", "eddies", "vegetables", "mobility", "eudaimoia",
    "ablutophobia", "palindromes", "jokes", "materialism", "surfaces",
    "acarophobia", "energy", "momentum", "mushrooms", "brains",

    "selenophobia", "alloys", "equations", "bombs", "fashion",
    "taurophobia", "naturism", "nirvana", "drugs", "everything",
    "ranidaphobia", "horror", "sightseeing", "marriage", "mirages",
    "phronemophobia", "cancer", "scrofula", "depression", "air power",
    "phallophobia", "romance", "bondage", "interfaces", "software",

    "pentheraphobia", "nations", "levitation", "tubes", "structures",
    "peladophobia", "travel", "meditation", "systems", "algorithms",
    "lachanophobia", "taxonomy", "taxidermy", "viruses", "bacteria",
    "epistaxiophobia", "camping", "resistance", "chauvinism", "fruits",
    "ephebiphobia", "simulation", "computers", "conductors", "fibers",

    "coulrophobia", "defence", "broomsticks", "fusion", "power",
    "arachnophobia", "balls", "diseases", "universes", "weapons",
    "virtue", "immortality", "elevators", "marketing", "civilizations",
    "dreams", "anatomy", "reproduction", "calligraphy", "chess",
    "Go", "cooking", "altruism", "anomalities", "fishing",

    "crime", "nonsense", "monsters", "thought control", "euthanasia",
    "genocide", "cremation", "waste disposal", "breeding", "eugenics",
    "minds", "lottery", "sterilization", "utopias", "perpetual motion",
    "dynamics", "entropy", "skepticism", "hoaxes", "creationism",
    "cold fusion", "execution",  "warfare", "miracles", "the truth",

    "herecy", "programming", "gaming", "spheres", "curves",
    "shapes", "speciesism", "feudalism", "bananas", "poker",
    "meteorology", "pornography", "waves", "anarchy", "torture",
    "accidents", "activity", "theathre", "runes", "writing",
    "masonry", "pottery", "religions", "burial", "working",

    "!Sid Meier's games",
    "!the Art of Computer Programming",
    "!the Theory of Everything",
    "!the greatness of IVAN",
    "!free software ideology",
    "lobotomy", "circle squaring", "angle trisection", "cosmetics", "love",
    "autopsies", "Zen", "polyandry", "polygyny", "bubbles";
  }
  ScienceTalkPossibility = 0;
  /* Obligatory if ScienceTalkPossibility != 0: ScienceTalkIntelligenceModifier */
  /* Obligatory if ScienceTalkPossibility != 0: ScienceTalkWisdomModifier */
  ScienceTalkCharismaModifier = 0;
  /* Obligatory if ScienceTalkPossibility != 0: ScienceTalkIntelligenceRequirement */
  /* Obligatory if ScienceTalkPossibility != 0: ScienceTalkWisdomRequirement */
  ScienceTalkCharismaRequirement = 0;
  IsExtraFragile = false;
  AllowUnconsciousness = true;
  CanChoke = true;
  IsImmuneToStickiness = false;
  DisplacePriority = 0;
  RunDescriptionLineOne = ""; /* if empty, IVAN determines this itself */
  RunDescriptionLineTwo = "";
  VomittingIsUnhealthy = true;
  AllowPlayerToChangeEquipment = true;
}

humanoid
{
  ClothColor = rgb16(111, 74, 37);
  SkinColor = rgb16(230, 140, 100);
  HairColor = rgb16(160, 80, 0);
  EyeColor = rgb16(48, 8, 80);
  BeltColor = rgb16(48, 48, 48);
  BootColor = rgb16(16, 16, 16);
  TorsoSpecialColor = 0;
  ArmSpecialColor = 0;
  LegSpecialColor = 0;
  IsAbstract = true;
  BaseUnarmedStrength = 150;
  Sex = MALE;
  CanUseEquipment = true;
  CanKick = true;
  CanTalk = true;
  CanZap = true; /* if has at least one hand (hard coded) */
  FleshMaterial = HUMAN_FLESH;
  DeathMessage = "@Dd dies screaming."; /* overridden if has no head */
  CanThrow = true;
  CanApply = true;
  IsImmuneToLeprosy = false;
  WillCarryItems = true;
}

nonhumanoid
{
  IsAbstract = true;
}

playerkind
{
  DefaultArmStrength = 10;
  DefaultLegStrength = 10;
  DefaultDexterity = 10;
  DefaultAgility = 10;
  DefaultEndurance = 10;
  DefaultPerception = 10;
  DefaultIntelligence = 10;
  DefaultWisdom = 10;
  DefaultCharisma = 10;
  DefaultMana = 10;
  DefaultMoney = 45;
  TorsoBitmapPos = 32, 416;
  LegBitmapPos = 0, 416;
  TotalVolume = 80000;
  TotalSize = 175;
  CanRead = true;
  NameSingular = "human";
  AttachedGod = SEGES;
  DisplacePriority = 2;
  Inventory == amulet(AMULET_OF_LIFE_SAVING) { Times = BONUS_LIVES; }
}

petrus
{
  DefaultArmStrength = 40;
  DefaultLegStrength = 40;
  DefaultDexterity = 40;
  DefaultAgility = 40;
  DefaultEndurance = 40;
  DefaultPerception = 40;
  DefaultIntelligence = 40;
  DefaultWisdom = 40;
  DefaultCharisma = 40;
  DefaultMana = 40;
  IsCharmable = false;
  IsNameable = false;
  IsUnique = true;
  HairColor = rgb16(160, 160, 160);
  ClothColor = rgb16(48, 48, 48);
  EyeColor = rgb16(100, 60, 30);
  HeadBitmapPos = 96, 144;
  TorsoBitmapPos = 32, 80;
  ArmBitmapPos = 64, 16;
  LegBitmapPos = 0, 0;
  TotalVolume = 80000;
  TotalSize = 225;
  CanRead = true;
  NameSingular = "high priest";
  PostFix = "of the Great Frog";
  IsPolymorphable = false;
  Amulet = amulet(AMULET_OF_LIFE_SAVING);
  BodyArmor = SAPPHIRE bodyarmor(PLATE_MAIL) { Enchantment = 4; }
  Cloak = ANGEL_HAIR cloak(CLOAK_OF_ELECTRICITY_RESISTANCE) { Enchantment = 4; }
  Belt = ILLITHIUM belt { Enchantment = 4; }
  RightWielded = justifier;
  RightGauntlet = DRAGON_HIDE gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 4; }
  RightRing = ring(RING_OF_FIRE_RESISTANCE);
  LeftRing = ring(RING_OF_POISON_RESISTANCE);
  RightBoot = PHOENIX_FEATHER boot(BOOT_OF_AGILITY) { Enchantment = 4; }
  KnownCWeaponSkills = { 4, UNARMED, KICK, BITE, LARGE_SWORDS; }
  CWeaponSkillHits = { 4, 2000, 2000, 2000, 2000; }
  RightSWeaponSkillHits = 1000;
  PanicLevel = 0;
  CanBeCloned = false;
  DefaultName = "Petrus";
  DeathMessage = "The high priest disappears in a bright light and only his left nut is left behind.";
  /* Replies overridden */
  AttachedGod = VALPURUS;
  BodyPartsDisappearWhenSevered = true;
  CanBeConfused = false;
  EnergyResistance = 50;
  IsImmuneToLeprosy = true;
  IsImmuneToItemTeleport = true;
  AllowUnconsciousness = false;
  DisplacePriority = 10;
}

farmer
{
  DefaultArmStrength = 20;
  DefaultLegStrength = 20;
  DefaultDexterity = 20;
  DefaultAgility = 10;
  DefaultEndurance = 20;
  DefaultPerception = 18;
  DefaultIntelligence = 10;
  DefaultWisdom = 10;
  DefaultCharisma = 10;
  DefaultMana = 5;
  DefaultMoney = 20;
  TorsoSpecialColor = rgb16(0, 96, 0);
  TotalVolume = 50000;
  TotalSize = 170;
  NameSingular = "farmer";
  TorsoBitmapPos = 32, 16;
  LegBitmapPos = 0, 0;
  Belt = LEATHER belt;
  RightWielded = meleeweapon(AXE);
  KnownCWeaponSkills == AXES;
  CWeaponSkillHits == 50;
  RightSWeaponSkillHits = 20;
  HostileReplies == "\"Did you think I use this axe only to chop wood?\"";
  FriendlyReplies =
  {
    4,
    "\"Crops are so lousy around here. Perhaps because the summer lasts two weeks.\"",
    "@Dd seems suspicious. \"You look like one from Irinox! Go away!\"",
    "@Dd sighs: \"Again polar bears ate my cattle...\"",
    "\"The prices are infamous here. Ivan should smack that capitalist shopkeeper hard!\"";
  }
  AttachedGod = SEGES;
  ScienceTalkPossibility = 33;
  ScienceTalkIntelligenceModifier = 5;
  ScienceTalkWisdomModifier = 10;
  ScienceTalkIntelligenceRequirement = 10;
  ScienceTalkWisdomRequirement = 10;
  ScienceTalkName =
  {
    10,
    "agriculture", "apiculture", "aquaculture", "horticulture", "silviculture",
    "herbalism", "plants", "breeding", "snow", "forestry";
  }
  DisplacePriority = -1;
}

guard
{
  DefaultArmStrength = 25;
  DefaultLegStrength = 25;
  DefaultDexterity = 15;
  DefaultAgility = 15;
  DefaultEndurance = 20;
  DefaultPerception = 25;
  DefaultIntelligence = 10;
  DefaultWisdom = 10;
  DefaultCharisma = 15;
  DefaultMana = 10;
  HairColor = rgb16(140, 60, 60); /* horns */
  HeadBitmapPos = 96, 112;
  TorsoBitmapPos = 32, 128;
  ArmBitmapPos = 64, 80;
  LegBitmapPos = 0, 64;
  TotalVolume = 70000;
  TotalSize = 180;
  NameSingular = "guard";
  KnownCWeaponSkills = { 2, LARGE_SWORDS, SHIELDS; }
  IsAbstract = true;
  HostileReplies == "\"A fair trial? Hah! Prepare to be executed!\"";
  AttachedGod = LEGIFER;

  Config ROOKIE;
  {
    AttributeBonus = -20;
    Helmet = BRONZE helmet(FULL_HELMET);
    BodyArmor = BRONZE bodyarmor(PLATE_MAIL);
    RightWielded = BRONZE BRONZE meleeweapon(LONG_SWORD);
    LeftWielded = BRONZE shield;
    Adjective = "rookie";
    CWeaponSkillHits = { 2, 20, 20; }
    PanicLevel = 50;
    ClothColor = rgb16(130, 80, 30);
    FriendlyReplies =
    {
      4,
      "@Dd says sadly: \"Back then I used to love bananas. One day the master guard slipped on a peel I'd dropped. Guess where I got transferred?\"",
      "\"Lions killed a couple of banana growers again. Hope they're now satisfied and don't attack us.\"",
      "\"This place's as hot as the elemental plane of fire! I want back home.\"",
      "\"New Attnam, shit, I'm still only in New Attnam. Every time I think I'm gonna wake up back in the dungeon.\"";
    }
    AutomaticallySeen = true;
  }

  Config VETERAN;
  {
    Helmet = IRON helmet(FULL_HELMET);
    BodyArmor = IRON bodyarmor(PLATE_MAIL);
    RightWielded = IRON IRON meleeweapon(LONG_SWORD);
    LeftWielded = IRON shield;
    Adjective = "veteran";
    CWeaponSkillHits = { 2, 100, 100; }
    RightSWeaponSkillHits = 10;
    LeftSWeaponSkillHits = 10;
    PanicLevel = 25;
    ClothColor = rgb16(80, 80, 80);
    FriendlyReplies =
    {
      4,
      "@Dd says gravely: \"You don't have a life. Get it in the army.\"",
      "\"Don't even think of breaking rules.\"",
      "\"The high priest is my idol. I would want a sword as big as his!\"",
      "@Dd sighs. \"Fighting bears bores me. Why can't an amazon army attack us for a change?\"";
    }
  }

  Config EUNUCH;
  {
    Helmet = STEEL helmet(FULL_HELMET);
    BodyArmor = STEEL bodyarmor(PLATE_MAIL);
    RightWielded = STEEL STEEL meleeweapon(LONG_SWORD);
    LeftWielded = STEEL shield;
    UsesLongAdjectiveArticle = true;
    Adjective = "eunuch";
    CWeaponSkillHits = { 2, 200, 200; }
    RightSWeaponSkillHits = 20;
    LeftSWeaponSkillHits = 20;
    PanicLevel = 20;
    ClothColor = rgb16(110, 110, 110);
    FriendlyReplies =
    {
      4,
      "@Dd states in a very serious tone: \"My job is vital for the safety of the nation. No one knows what Petrus would do if something happened to his most dear lovers, or one of them escaped.\"",
      "\"Don't you dare to touch any of the ladies!\"",
      "\"And everyone said I didn't have the balls to achieve a high status in the guard! Hah!\"",
      "@Dd seems very proud. \"I'm not just a guard, but also the lead singer in the Cathedral's choir. My mezzo-soprano voice is famous Attnam-wide.\"";
    }
  }

  Config PATROL;
  {
    Helmet = helmet(HELM_OF_PERCEPTION) { Enchantment = 2; }
    BodyArmor = IRON bodyarmor(PLATE_MAIL);
    RightWielded = IRON IRON meleeweapon(LONG_SWORD);
    LeftWielded = IRON shield;
    RightRing = ring(RING_OF_INFRA_VISION);
    Adjective = "patrol";
    CWeaponSkillHits = { 2, 200, 200; }
    RightSWeaponSkillHits = 100;
    LeftSWeaponSkillHits = 100;
    PanicLevel = 20;
    ClothColor = rgb16(220, 220, 220);
    FriendlyReplies =
    {
      5,
      "@Dd shudders in the freezing air. \"Boy this rusty plate mail is cold in winter!\"",
      "@Dd sighs: \"Why didn't I choose an office career... An inquisitor, for instance.\"",
      "@Dd seems very suspicious. \"Do you have the papers?\"",
      "\"Decent people have nothing to hide so they don't mind me investigating their homes every now and then.\"",
      "\"Again I'm all white! The master guard doesn't like me bringing snow in the barracks...\"";
    }
    Inventory == lantern;
  }

  Config SHOP;
  {
    AttributeBonus = 30;
    Helmet = STEEL helmet(FULL_HELMET) { Enchantment = 1; }
    BodyArmor = STEEL bodyarmor(PLATE_MAIL) { Enchantment = 1; }
    RightWielded = STEEL STEEL meleeweapon(LONG_SWORD) { Enchantment = 2; }
    LeftWielded = STEEL shield { Enchantment = 2; }
    RightRing = ring(RING_OF_INFRA_VISION) { Chance = 50; }
    Adjective = "shop";
    CWeaponSkillHits = { 2, 500, 500; }
    RightSWeaponSkillHits = 500;
    LeftSWeaponSkillHits = 500;
    PanicLevel = 15;
    ClothColor = rgb16(100, 100, 100);
    FriendlyReplies =
    {
      5,
      "@Dd says gravely: \"You don't have a life. Get it as a shop guard.\"",
      "@Dd seems very suspicious. \"Don't even think of stealing anything.\"",
      "\"Yes, this is a dangerous place to work, but our boss pays us well.\"",
      "\"Attnam's guards can barely wield a sword. But we are trained by the laws of the dungeon, so don't do any rash moves here.\"",
      "\"When I was here, I wanted to be there, when I was there all I could think of was getting back into the dungeon.\"";
    }
  }

  Config ELITE;
  {
    AttributeBonus = 40;
    Helmet = MITHRIL helmet(FULL_HELMET) { Enchantment = 2; }
    BodyArmor = MITHRIL bodyarmor(PLATE_MAIL) { Enchantment = 2; }
    RightWielded = MITHRIL MITHRIL meleeweapon(LONG_SWORD) { Enchantment = 2; }
    LeftWielded = MITHRIL shield { Enchantment = 2; }
    RightGauntlet = MITHRIL gauntlet { Enchantment = 2; }
    RightBoot = MITHRIL boot { Enchantment = 2; }
    RightRing = ring(RING_OF_INFRA_VISION);
    LeftRing = ring(RING_OF_INVISIBILITY);
    UsesLongAdjectiveArticle = true;
    Adjective = "elite";
    CWeaponSkillHits = { 2, 500, 500; }
    RightSWeaponSkillHits = 50;
    LeftSWeaponSkillHits = 50;
    PanicLevel = 10;
    TotalVolume = 80000;
    ClothColor = rgb16(220, 220, 220);
    NaturalSparkleFlags = CLOTH_COLOR;
    FriendlyReplies =
    {
      5,
      "@Dd sounds annoyed. \"Why do I have to work with these amateurs? They can't beat a rookie dark knight properly!\"",
      "\"Don't believe Haedlac if he boasts with that enner beast. In reality he fled immediately and the monster stepped on a land mine while chasing him.\"",
      "@Dd shouts excited: \"Attnam victoor!\"",
      "\"We are the Imperial Guard. Bow.\"",
      "\"If you even touch the shadow of our magnificent high priest, I'll squash you.\"";
    }
  }

  Config MASTER;
  {
    AttributeBonus = 60;
    TotalVolume = 120000;
    Helmet = helmet(HELM_OF_PERCEPTION) { Enchantment = 3; }
    Amulet = amulet(AMULET_OF_ESP);
    BodyArmor = ILLITHIUM bodyarmor(PLATE_MAIL) { Enchantment = 3; }
    Cloak = PHOENIX_FEATHER cloak(CLOAK_OF_FIRE_RESISTANCE);
    RightWielded = VALPURIUM VALPURIUM meleeweapon(LONG_SWORD) { Enchantment = 3; }
    LeftWielded = VALPURIUM shield { Enchantment = 3; }
    RightRing = ring(RING_OF_TELEPORT_CONTROL);
    LeftRing = ring(RING_OF_INVISIBILITY);
    RightGauntlet = ANGEL_HAIR gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 3; }
    RightBoot = SAPPHIRE boot(BOOT_OF_STRENGTH) { Enchantment = 3; }
    Adjective = "master";
    CWeaponSkillHits = { 2, 2000, 2000; }
    RightSWeaponSkillHits = 200;
    LeftSWeaponSkillHits = 200;
    PanicLevel = 5;
    IsCharmable = false;
    IsUnique = true;
    DefaultName = "Sir Haedlac Galladon VII";
    IsNameable = false;
    CanBeCloned = false;
    IsPolymorphable = false;
    ClothColor = rgb16(144, 144, 200);
    CanBeConfused = false;
    NaturalSparkleFlags = CLOTH_COLOR;
    Inventory == key(HEXAGONAL_LOCK);
    FriendlyReplies =
    {
      5,
      "\"And this medal I got after killing my first enner beast using ingenious tactical maneuvers...\"",
      "\"My grand-grand-father, Sir Haedlac Galladon IV, once told me that when the young Petrus lead the Revolution, his beard was only one feet long. Not that I would believe such urban legends.\"",
      "\"In addition to all my other responsibilities, I am the head of the Attnamese Bureau of Investigation. By the way, you love mangos and hate bananas.\"",
      "\"See the amulet? Don't think badly of the Government.\"",
      "\"The house of Galladon has served Petrus ever since he took over.\"";
    }
    IsImmuneToItemTeleport = true;
    AllowUnconsciousness = false;
  }
}

shopkeeper
{
  DefaultArmStrength = 20;
  DefaultLegStrength = 30;
  DefaultDexterity = 10;
  DefaultAgility = 10;
  DefaultEndurance = 20;
  DefaultPerception = 30;
  DefaultIntelligence = 25;
  DefaultWisdom = 15;
  DefaultCharisma = 30;
  DefaultMana = 10;
  DefaultMoney = 3000;
  TorsoSpecialColor = rgb16(0, 96, 0);
  HeadBitmapPos = 96, 64;
  TorsoBitmapPos = 32, 32;
  ArmBitmapPos = 64, 16;
  LegBitmapPos = 0, 32;
  TotalVolume = 150000;
  TotalSize = 160;
  NameSingular = "shopkeeper";
  CanRead = true;
  HostileReplies == "\"Criminal! Mellis bless my efforts of removing you!\"";
  IsAbstract = true;
  IsUnique = true;
  CanBeWished = false;
  IsNameable = false;
  CanBeCloned = false;
  IsPolymorphable = false;
  Inventory == holybook(MELLIS);
  IsCharmable = false;
  AttachedGod = MELLIS;
  CanBeConfused = false;

  Config NEW_ATTNAM;
  {
    AttributeBonus = -25;
    Helmet = LEATHER helmet;
    BodyArmor = LEATHER bodyarmor(PLATE_MAIL);
    Belt = LEATHER belt(BELT_OF_CARRYING);
    RightBoot = LEATHER boot;
    HeadBitmapPos = 96, 64;
    TorsoBitmapPos = 48, 192;
    ArmBitmapPos = 64, 0;
    LegBitmapPos = 0, 16;
    DefaultName = "Zolku";
    FriendlyReplies =
    {
      4,
      "\"Welcome to the cheapest banana shop in the world!\"",
      "@Dd sighs: \"It's depressing that the locals have so little purchasing power... But Mellis bless the tourists!\"",
      "\"No, I don't sell spoiled food. Decos's alchemists have pumped so much magic potions into the soil that nothing here will go bad before you buy it.\"",
      "\"I wish I was as brilliant an economic genius as the viceroy. Who would have thought levitating ostriches were so low-cost and efficient form of food delivery?\"";
    }
    AutomaticallySeen = true;
  }

  Config ATTNAM;
  {
    Helmet = MITHRIL helmet { Enchantment = 1; }
    Cloak = NYMPH_HAIR cloak { Enchantment = 1; }
    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 1; }
    Belt = NYMPH_HAIR belt(BELT_OF_CARRYING) { Enchantment = 1; }
    RightWielded = MITHRIL pickaxe { Enchantment = 2; }
    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 1; }
    RightBoot = NYMPH_HAIR boot { Enchantment = 1; }
    KnownCWeaponSkills == AXES;
    CWeaponSkillHits == 200;
    RightSWeaponSkillHits = 100;
    DefaultName = "Hulbo";
    FriendlyReplies =
    {
      4,
      "@Dd sighs: \"If only I hadn't chosen a city in the middle of nowhere...\"",
      "@Dd sighs: \"Mutant mushrooms ate the last caravan, and the one before it ran into an enner beast. It must be all Elpuri's doings!\"",
      "\"You truly can't find better prices in this city! Indeed, you can't find ANY prices, since my store is a monopoly.\"",
      "\"Don't try anything. The high priest is a friend of mine.\"";
    }
  }

  Config ELPURI_CAVE;
  {
    AttributeBonus = 25;
    Helmet = MITHRIL helmet { Enchantment = 2; }
    Cloak = NYMPH_HAIR cloak { Enchantment = 2; }
    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 2; }
    Belt = NYMPH_HAIR belt(BELT_OF_CARRYING) { Enchantment = 2; }
    RightWielded = MITHRIL pickaxe { Enchantment = 3; }
    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 2; }
    RightBoot = NYMPH_HAIR boot { Enchantment = 2; }
    KnownCWeaponSkills == AXES;
    CWeaponSkillHits == 1000;
    RightSWeaponSkillHits = 500;
    DefaultName = "Merka";
    FriendlyReplies =
    {
      3,
      "@Dd sighs: \"I wonder why I have so few customers these days...\"",
      "\"The topmost reason why I work here is that the monsters devour tax collectors.\"",
      "\"The monsters don't attack me, because of our mutually profitable contract.\"";
    }
  }
}

priest
{
  CanRead = true;
  NameSingular = "priest";
  CanBeCloned = false;
  IsCharmable = false;
  MoveType = WALK|SWIM;
  IsAbstract = true;

  Config VALPURUS;
  {
    DefaultArmStrength = 15;
    DefaultLegStrength = 20;
    DefaultDexterity = 10;
    DefaultAgility = 10;
    DefaultEndurance = 15;
    DefaultPerception = 24;
    DefaultIntelligence = 15;
    DefaultWisdom = 25;
    DefaultCharisma = 20;
    DefaultMana = 20;
    CapColor = rgb16(180, 0, 80);
    HeadBitmapPos = 96, 128;
    TorsoBitmapPos = 32, 16;
    ArmBitmapPos = 64, 16;
    LegBitmapPos = 0, 32;
    TotalVolume = 100000;
    TotalSize = 180;
    AttachedGod = VALPURUS;
    PostFix = "of Valpurus";
    Helmet = MITHRIL helmet { Enchantment = 2; }
    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 2; }
    Cloak = NYMPH_HAIR cloak { Enchantment = 2; }
    Belt = NYMPH_HAIR belt { Enchantment = 2; }
    RightWielded = ARCANITE meleeweapon(MACE) { Enchantment = 3; }
    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 2; }
    RightBoot = NYMPH_HAIR boot { Enchantment = 2; }
    KnownCWeaponSkills == BLUNT_WEAPONS;
    CWeaponSkillHits == 50;
    RightSWeaponSkillHits = 20;
    FriendlyReplies == "@Dd talks to you: \"Valpurus the Great Frog is the highest of all gods. The Wise know that the world is really a square pancake which He carries on His back. This is why this Cathedral and the whole city of Attnam is dedicated to His worship.\" \"In thy prayers thou must understand He is a busy god who knows His importance. He will not help newbies. Thou shouldst only pray Him when He hath called thee a Champion!\"";
  }

  Config SILVA;
  {
    DefaultArmStrength = 10;
    DefaultLegStrength = 10;
    DefaultDexterity = 15;
    DefaultAgility = 10;
    DefaultEndurance = 10;
    DefaultPerception = 24;
    DefaultIntelligence = 20;
    DefaultWisdom = 35;
    DefaultCharisma = 30;
    DefaultMana = 25;
    TotalVolume = 60000;
    TotalSize = 170;
    HeadBitmapPos = 112, 0;
    TorsoBitmapPos = 32, 208;
    ArmBitmapPos = 64, 208;
    LegBitmapPos = 0, 144;
    SkinColor = rgb16(160, 100, 64);
    HairColor = rgb16(80, 48, 32);
    AttachedGod = SILVA;
    NameSingular = "priestess";
    PostFix = "of Silva";
    Sex = FEMALE;
    Cloak = NYMPH_HAIR cloak;
    RightWielded = EBONY_WOOD EBONY_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 1; }
    KnownCWeaponSkills == BLUNT_WEAPONS;
    CWeaponSkillHits == 50;
    RightSWeaponSkillHits = 20;
    FriendlyReplies =
    {
      4,
      "\"Silva is the goddess of nature, who protects all living things. Her earthly manifestation, located in the elven nation of Lunethia, is a giant holy tree which reaches the clouds.\"",
      "\"In the old temple we had a marvellous altar carved from a branch of Silva Herself, but Decos made firewood out of it.\"",
      "\"You cannot contact any god unless you know the right rituals. Alas, I'm unable to teach you any, since after the invasion the Attnamese forbade us to officially worship any god save Valpurus. I can therefore only help you as a healer.\"",
      "\"With my holy powers, I'm capable of reattaching severed limbs and removing various diseases and poisons. For a price, of course. Should I not bring enough income to the colony, the occupiers would make me a banana grower, too.\"";
    }
    AutomaticallySeen = true;
  }
}

oree
{
  DefaultArmStrength = 40;
  DefaultLegStrength = 40;
  DefaultDexterity = 80;
  DefaultAgility = 80;
  DefaultEndurance = 25;
  DefaultPerception = 30;
  DefaultIntelligence = 30;
  DefaultWisdom = 20;
  DefaultCharisma = 3;
  DefaultMana = 30;
  IsCharmable = false;
  IsNameable = false;
  IsUnique = true;
  HeadBitmapPos = 96, 32;
  TorsoBitmapPos = 48, 160;
  ArmBitmapPos = 80, 160;
  LegBitmapPos = 16, 144;
  ClothColor = rgb16(30, 20, 0);
  SkinColor = rgb16(180, 0, 0);
  EyeColor = rgb16(100, 0, 0);
  TotalVolume = 120000;
  TotalSize = 225;
  CanRead = true;
  NameSingular = "blood daemon king";
  IsPolymorphable = false;
  AttackStyle = USE_ARMS|USE_LEGS|USE_HEAD;
  BaseUnarmedStrength = 1250;
  BaseKickStrength = 2500;
  BaseBiteStrength = 6000;
  Alias == "Oree";
  ClassStates = INVISIBLE|INFRA_VISION|ESP;
  Helmet = DIAMOND helmet { Enchantment = 3; }
  Cloak = PHOENIX_FEATHER cloak { Enchantment = 3; }
  Belt = ARCANITE belt { Enchantment = 3; }
  BodyArmor = goldeneagleshirt;
  RightGauntlet = NYMPH_HAIR gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 3; }
  RightBoot = OMMEL_HAIR boot(BOOT_OF_AGILITY) { Enchantment = 3; }
  KnownCWeaponSkills = { 3, UNARMED, KICK, BITE; }
  CWeaponSkillHits = { 3, 2000, 2000, 2000; }
  PanicLevel = 0;
  CanBeCloned = false;
  Inventory == can { MainMaterial = IRON { Volume = 10; } SecondaryMaterial = PEPSI { Volume = 330; } }
  DefaultName = "Oree";
  HostileReplies == "@Dd laughs: \"No time for small talk. Time to drink blood!\"";
  FleshMaterial = DAEMON_FLESH;
  DeathMessage = "@Dd vomits blood for one last time and then dies.";
  AttachedGod = MORTIFER;
  CanBeConfused = false;
  WieldedPosition = 0, -1;
  BiteCapturesBodyPart = false;
  VomitMaterial = ACIDOUS_BLOOD;
  BloodMaterial = ACIDOUS_BLOOD;
  SweatMaterial = ACIDOUS_BLOOD;
  IsImmuneToItemTeleport = true;
  AllowUnconsciousness = false;
  DisplacePriority = 8;
  VomittingIsUnhealthy = false;
}

darkknight
{
  DefaultArmStrength = 30;
  DefaultLegStrength = 30;
  DefaultDexterity = 20;
  DefaultAgility = 20;
  DefaultEndurance = 22;
  DefaultPerception = 25;
  DefaultIntelligence = 20;
  DefaultWisdom = 10;
  DefaultCharisma = 10;
  DefaultMana = 10;
  HeadBitmapPos = 96, 240;
  TorsoBitmapPos = 32, 16;
  ArmBitmapPos = 80, 176;
  LegBitmapPos = 0, 48;
  ClothColor = rgb16(0, 0, 100);
  EyeColor = rgb16(255, 255, 0);
  TotalVolume = 80000;
  TotalSize = 200;
  CanRead = true;
  NameSingular = "dark knight";
  CanBeGenerated = true;
  IsAbstract = true;
  KnownCWeaponSkills = { 2, LARGE_SWORDS, SHIELDS; }
  ClassStates = INFRA_VISION;
  HostileReplies == "@Dd yells: \"For Mortifer I shall slay you!\"";
  FriendlyReplies == "\"Don't bother me unless you need help to die.\"";
  AttachedGod = CRUENTUS;
  IsExtraFragile = true;

  Config ROOKIE;
  {
    AttributeBonus = -20;
    Helmet = BRONZE helmet(FULL_HELMET);
    BodyArmor = BRONZE bodyarmor(PLATE_MAIL);
    RightWielded = BRONZE BRONZE meleeweapon(LONG_SWORD);
    LeftWielded = BRONZE shield;
    Adjective = "rookie";
    CWeaponSkillHits = { 2, 200, 200; }
    RightSWeaponSkillHits = 100;
    LeftSWeaponSkillHits = 100;
    PanicLevel = 15;
    ClothColor = rgb16(70, 70, 70);
    CapColor = rgb16(48, 48, 48);
    GauntletColor = rgb16(50, 50, 50);
  }

  Config VETERAN;
  {
    Helmet = IRON helmet(FULL_HELMET) { Enchantment = 1; }
    BodyArmor = IRON bodyarmor(PLATE_MAIL) { Enchantment = 1; }
    RightWielded = IRON IRON meleeweapon(LONG_SWORD) { Enchantment = 1; }
    LeftWielded = IRON shield { Enchantment = 1; }
    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 1; }
    RightBoot = IRON boot { Enchantment = 1; }
    Adjective = "veteran";
    CWeaponSkillHits = { 2, 500, 500; }
    RightSWeaponSkillHits = 200;
    LeftSWeaponSkillHits = 200;
    PanicLevel = 10;
    ClothColor = rgb16(40, 40, 40);
    CapColor = rgb16(48, 48, 48);
    GauntletColor = rgb16(50, 50, 50);
  }

  Config ELITE;
  {
    AttributeBonus = 20;
    Helmet = STEEL helmet(FULL_HELMET) { Enchantment = 2; }
    BodyArmor = STEEL bodyarmor(PLATE_MAIL) { Enchantment = 2; }
    RightWielded = STEEL STEEL meleeweapon(TWO_HANDED_SWORD) { Enchantment = 2; }
    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 2; }
    RightBoot = STEEL boot { Enchantment = 2; }
    UsesLongAdjectiveArticle = true;
    Adjective = "elite";
    KnownCWeaponSkills == LARGE_SWORDS;
    CWeaponSkillHits == 1000;
    RightSWeaponSkillHits = 500;
    PanicLevel = 5;
    TotalVolume = 90000;
    ClothColor = rgb16(20, 20, 120);
    CapColor = rgb16(48, 48, 48);
    GauntletColor = rgb16(50, 50, 50);
  }

  Config GRAND_MASTER;
  {
    AttributeBonus = 40;
    TotalVolume = 100000;
    Helmet = RUBY helmet(FULL_HELMET) { Enchantment = 3; }
    BodyArmor = MITHRIL bodyarmor(PLATE_MAIL) { Enchantment = 3; }
    Cloak = DRAGON_HIDE cloak { Enchantment = 3; }
    Belt = SAPPHIRE belt { Enchantment = 3; }
    RightWielded = SAPPHIRE RUBY meleeweapon(TWO_HANDED_SCIMITAR) { Enchantment = 4; }
    LeftRing = ring(RING_OF_TELEPORT_CONTROL);
    RightGauntlet = SPIDER_SILK gauntlet { Enchantment = 3; }
    RightBoot = RUBY boot { Enchantment = 3; }
    Adjective = "grand master";
    KnownCWeaponSkills == LARGE_SWORDS;
    CWeaponSkillHits == 5000;
    RightSWeaponSkillHits = 2000;
    PanicLevel = 0;
    IsCharmable = false;
    IsUnique = true;
    CanBeWished = true;
    DefaultName = "Golgor Dhan";
    DangerModifier = 1500;
    IsNameable = false;
    CanBeCloned = false;
    IsPolymorphable = false;
    Inventory = { 2, scrollofenchantarmor { Times = 2; }, scrollofenchantweapon { Times = 2; } }
    HeadBitmapPos = 96, 112;
    ClothColor = rgb16(100, 0, 0);
    CapColor = rgb16(48, 48, 48);
    HairColor = rgb16(32, 32, 32);
    GauntletColor = rgb16(50, 50, 50);
    CanBeConfused = false;
    FireResistance = 30;
    ElectricityResistance = 30;
    EnergyResistance = 30;
    IsImmuneToItemTeleport = true;
    IsExtraFragile = false;
    AllowUnconsciousness = false;
    DisplacePriority = 8;
  }
}

ennerbeast
{
  DefaultArmStrength = 10;
  DefaultLegStrength = 10;
  DefaultDexterity = 10;
  DefaultAgility = 10;
  DefaultEndurance = 20;
  DefaultPerception = 12;
  DefaultIntelligence = 1;
  DefaultWisdom = 1;
  DefaultCharisma = 1;
  DefaultMana = 0;
  CanOpen = false;
  CanApply = false;
  TotalVolume = 65000;
  TotalSize = 150;
  Adjective = "enner";
  NameSingular = "beast";
  UsesLongAdjectiveArticle = true;
  IsPolymorphable = false;
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 5000;
  CanUseEquipment = false;
  CanBeWished = false;
  LegBitmapPos = 16, 48;
  TorsoBitmapPos = 32, 48;
  ArmBitmapPos = 64, 48;
  HeadBitmapPos = 96, 320;
  HairColor = rgb16(64, 20, 0);
  ClothColor = rgb16(0, 0, 100);
  BootColor = rgb16(90, 50, 10);
  LegMainColor = rgb16(64, 20, 0);
  PanicLevel = 75;
  FleshMaterial = ENNER_BEAST_FLESH;
  DeathMessage = "@Dd dies and the world is finally freed from this terrible monster.";
  Inventory == horn(FEAR);
  IsUnique = true; /* currently */
  HostileReplies == "Aighee!";
  FriendlyReplies =
  {
    4,
    "\"Fishing is fun! Do you fish?\"",
    "\"And then I got that perch weighting fifty stones...\"",
    "\"I only want to talk but everyone is rude and dies when I try.\"",
    "\"Can you help me with this download problem?\"";
  }
  AttachedGod = SCABIES;
  BiteCapturesBodyPart = false;
}

frog
{
  HostileReplies == "@Dd croaks angrily.";
  FriendlyReplies =
  {
    4,
    "@Dd frolics in religious ecstasy.",
    "@Dd croaks with pious joy.",
    "@Dd jumps up and down in enlightened trance.",
    "@Dd goes \"Ribbit! Ribbit!\" full of transcendent delight.";
  }
  NameSingular = "frog";
  IsAbstract = true;
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 750;
  KnownCWeaponSkills == BITE;
  FleshMaterial = FROG_FLESH;
  PanicLevel = 50;
  MoveType = WALK|SWIM;
  CanRead = true;
  CanChoke = false;
  StandVerb = "jumping about";

  Config DARK;
  {
    DefaultArmStrength = 5;
    DefaultAgility = 40;
    DefaultEndurance = 10;
    DefaultPerception = 24;
    DefaultIntelligence = 15;
    DefaultWisdom = 20;
    DefaultCharisma = 5;
    DefaultMana = 20;
    BloodMaterial = DARK_FROG_BLOOD;
    TotalVolume = 5000;
    TorsoBitmapPos = 80, 0;
    TotalSize = 25;
    SkinColor = rgb16(60, 60, 60);
    Adjective = "dark";
    CanBeGenerated = true;
    ClassStates = INFRA_VISION;
    CWeaponSkillHits == 100;
    AttachedGod = SCABIES;
    ScienceTalkPossibility = 25;
    ScienceTalkIntelligenceModifier = 10;
    ScienceTalkWisdomModifier = 5;
    ScienceTalkIntelligenceRequirement = 10;
    ScienceTalkWisdomRequirement = 5;
    FriendlyReplies == "@Dd croaks happily.";
  }

  Config GREATER_DARK;
  {
    DefaultArmStrength = 15;
    DefaultAgility = 35;
    DefaultEndurance = 15;
    DefaultPerception = 30;
    DefaultIntelligence = 20;
    DefaultWisdom = 25;
    DefaultCharisma = 4;
    DefaultMana = 25;
    BaseBiteStrength = 1000;
    BloodMaterial = DARK_FROG_BLOOD;
    TotalVolume = 50000;
    TorsoBitmapPos = 96, 0;
    TotalSize = 100;
    SkinColor = rgb16(60, 60, 60);
    Adjective = "greater dark";
    CanBeGenerated = true;
    ClassStates = INFRA_VISION;
    CWeaponSkillHits == 200;
    AttachedGod = SCABIES;
    ScienceTalkPossibility = 50;
    ScienceTalkIntelligenceModifier = 25;
    ScienceTalkWisdomModifier = 10;
    ScienceTalkIntelligenceRequirement = 15;
    ScienceTalkWisdomRequirement = 10;
    FriendlyReplies == "@Dd croaks happily.";
  }

  Config GIANT_DARK;
  {
    DefaultArmStrength = 45;
    DefaultAgility = 30;
    DefaultEndurance = 20;
    DefaultPerception = 36;
    DefaultIntelligence = 25;
    DefaultWisdom = 30;
    DefaultCharisma = 3;
    DefaultMana = 30;
    BaseBiteStrength = 1250;
    BloodMaterial = DARK_FROG_BLOOD;
    TotalVolume = 250000;
    TorsoBitmapPos = 64, 0;
    TotalSize = 200;
    SkinColor = rgb16(60, 60, 60);
    Adjective = "giant dark";
    CanBeGenerated = true;
    ClassStates = INFRA_VISION|TELEPORT_CONTROL;
    CWeaponSkillHits == 500;
    AttachedGod = SCABIES;
    IsPolymorphable = false;
    IsEnormous = true;
    ScienceTalkPossibility = 75;
    ScienceTalkIntelligenceModifier = 50;
    ScienceTalkWisdomModifier = 25;
    ScienceTalkIntelligenceRequirement = 20;
    ScienceTalkWisdomRequirement = 15;
    FriendlyReplies == "@Dd croaks happily.";
  }

  Config LIGHT;
  {
    DefaultArmStrength = 5;
    DefaultAgility = 40;
    DefaultEndurance = 10;
    DefaultPerception = 24;
    DefaultIntelligence = 5;
    DefaultWisdom = 30;
    DefaultCharisma = 15;
    DefaultMana = 20;
    TotalVolume = 5000;
    TorsoBitmapPos = 80, 0;
    TotalSize = 25;
    SkinColor = rgb16(32, 88, 32);
    Adjective = "light";
    CWeaponSkillHits == 100;
    AttachedGod = VALPURUS;
    ScienceTalkPossibility = 25;
    ScienceTalkIntelligenceModifier = 2;
    ScienceTalkWisdomModifier = 5;
    ScienceTalkIntelligenceRequirement = 5;
    ScienceTalkWisdomRequirement = 15;
  }

  Config GREATER_LIGHT;
  {
    DefaultArmStrength = 15;
    DefaultAgility = 30;
    DefaultEndurance = 15;
    DefaultPerception = 36;
    DefaultIntelligence = 10;
    DefaultWisdom = 35;
    DefaultCharisma = 20;
    DefaultMana = 25;
    BaseBiteStrength = 1000;
    TotalVolume = 50000;
    TorsoBitmapPos = 96, 0;
    TotalSize = 100;
    SkinColor = rgb16(32, 88, 32);
    Adjective = "greater light";
    CWeaponSkillHits == 200;
    AttachedGod = VALPURUS;
    ScienceTalkPossibility = 50;
    ScienceTalkIntelligenceModifier = 5;
    ScienceTalkWisdomModifier = 10;
    ScienceTalkIntelligenceRequirement = 10;
    ScienceTalkWisdomRequirement = 20;
  }

  Config GIANT_LIGHT;
  {
    DefaultArmStrength = 45;
    DefaultAgility = 30;
    DefaultEndurance = 20;
    DefaultPerception = 36;
    DefaultIntelligence = 15;
    DefaultWisdom = 40;
    DefaultCharisma = 25;
    DefaultMana = 30;
    BaseBiteStrength = 1250;
    TotalVolume = 250000;
    TorsoBitmapPos = 64, 0;
    TotalSize = 200;
    SkinColor = rgb16(32, 88, 32);
    Adjective = "giant light";
    CWeaponSkillHits == 500;
    AttachedGod = VALPURUS;
    IsPolymorphable = false;
    ClassStates = TELEPORT_CONTROL;
    IsEnormous = true;
    ScienceTalkPossibility = 75;
    ScienceTalkIntelligenceModifier = 10;
    ScienceTalkWisdomModifier = 25;
    ScienceTalkIntelligenceRequirement = 15;
    ScienceTalkWisdomRequirement = 25;
  }
}

billswill
{
  DefaultArmStrength = 1;
  DefaultAgility = 50;
  DefaultEndurance = 5;
  DefaultPerception = 27;
  DefaultIntelligence = 2;
  DefaultWisdom = 2;
  DefaultCharisma = 5;
  DefaultMana = 10;
  StandVerb = "floating";
  Frequency = 250;
  DangerModifier = 500;
  TotalVolume = 500000;
  TorsoBitmapPos = 48, 0;
  TotalSize = 100;
  Adjective = "pure";
  NameSingular = "mass";
  NamePlural = "masses";
  PostFix = "of Bill's will";
  BaseBiteStrength = 3000;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 100;
  BaseEmitation = rgb24(110, 110, 130);
  HostileReplies == "\"You will install the One OS. Resistance is futile. Prepare to be assimilited.\"";
  FriendlyReplies == "\"Praise the Corporation!\"";
  Inventory == amulet(AMULET_OF_ESP) { Chance = 10; }
  PanicLevel = 0;
  HasALeg = false;
  FleshMaterial = MAGICAL_AIR;
  DeathMessage = "@Dd vanishes from existence.";
  SpillsBlood = false;
  Sweats = false;
  HasHead = false;
  UsesNutrition = false;
  AttachedGod = MELLIS;
  BodyPartsDisappearWhenSevered = true;
  CanTalk = true;
  AttackStyle = USE_HEAD;
  BiteCapturesBodyPart = false;
  ClassStates = HASTE|ESP|GAS_IMMUNITY|LEVITATION;
  MoveType = ETHEREAL;
  CanChoke = false;
  IsImmuneToStickiness = true;
}

skeleton
{
  DefaultArmStrength = 10;
  DefaultLegStrength = 10;
  DefaultDexterity = 10;
  DefaultAgility = 10;
  DefaultEndurance = 10;
  DefaultPerception = 9;
  DefaultIntelligence = 4;
  DefaultWisdom = 4;
  DefaultCharisma = 3;
  DefaultMana = 5;
  SkinColor = rgb16(160, 160, 160);
  EyeColor = rgb16(0, 0, 0);
  ClothColor = rgb16(111, 74, 37);
  HeadBitmapPos = 96, 96;
  TorsoBitmapPos = 32, 96;
  ArmBitmapPos = 64, 96;
  LegBitmapPos = 0, 80;
  TotalVolume = 10000;
  TotalSize = 150;
  NameSingular = "skeleton";
  CanBeGenerated = true;
  Helmet = helmet;
  RightWielded = meleeweapon(AXE) { Enchantment = -2; }
  KnownCWeaponSkills == AXES;
  CWeaponSkillHits == 20;
  RightSWeaponSkillHits = 10;
  PanicLevel = 0;
  HostileReplies == "@Dd grunts: \"Bones. Need more bones.\"";
  FriendlyReplies == "@Dd sings: \"Leg bone is connected to the hib bone, hib bone is connected to the rib bone...\"";
  FleshMaterial = BONE;
  DeathMessage = "@Dd is transformed into a crumpled heap of bones.";
  SpillsBlood = false;
  Sweats = false;
  UsesNutrition = false;
  AttachedGod = MORTIFER;
  ClassStates = GAS_IMMUNITY;
  WieldedPosition = 0, -1;
  IsExtraFragile = true;
  CanChoke = false;

  Config WARRIOR;
  {
    AttributeBonus = 100;
    RightWielded = meleeweapon(MACE) { Enchantment = -1; }
    KnownCWeaponSkills == BLUNT_WEAPONS;
    CWeaponSkillHits == 100;
    RightSWeaponSkillHits = 50;
    NameSingular = "skeleton warrior";
    TotalVolume = 20000;
    EyeColor = rgb16(255, 0, 0);
    ClothColor = rgb16(32, 32, 32);
    CanRead = true;
  }

  Config WAR_LORD;
  {
    AttributeBonus = 200;
    Helmet = METEORIC_STEEL helmet(FULL_HELMET);
    Cloak = PHOENIX_FEATHER cloak;
    BodyArmor = ILLITHIUM bodyarmor(BROKEN|CHAIN_MAIL);
    RightWielded = RUBY RUBY flamingsword { Enchantment = 0; }
    LeftWielded = ARCANITE shield;
    RightGauntlet = ANGEL_HAIR gauntlet;
    RightRing = ring(RING_OF_INFRA_VISION);
    RightBoot = MITHRIL boot;
    KnownCWeaponSkills = { 2, LARGE_SWORDS, SHIELDS; }
    CWeaponSkillHits = { 2, 500, 500; }
    RightSWeaponSkillHits = 200;
    LeftSWeaponSkillHits = 200;
    NameSingular = "skeleton warlord";
    IsUnique = true;
    CanBeWished = true;
    DefaultName = "Xinroch";
    DangerModifier = 1500;
    IsNameable = false;
    CanBeCloned = false;
    IsPolymorphable = false;
    TotalVolume = 40000;
    EyeColor = rgb16(255, 255, 0);
    ClothColor = rgb16(100, 0, 0);
    Inventory == wand(WAND_OF_RESURRECTION);
    CanBeConfused = false;
    CanRead = true;
    FireResistance = 100;
    ElectricityResistance = 100;
    EnergyResistance = 100;
    ClassStates = GAS_IMMUNITY|TELEPORT_CONTROL;
    IsImmuneToItemTeleport = true;
    IsExtraFragile = false;
  }
}

goblin
{
  DefaultArmStrength = 10;
  DefaultLegStrength = 10;
  DefaultDexterity = 10;
  DefaultAgility = 15;
  DefaultEndurance = 12;
  DefaultPerception = 15;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 5;
  DefaultMana = 5;
  SkinColor = rgb16(0, 96, 0);
  EyeColor = rgb16(200, 200, 0);
  ClothColor = rgb16(48, 32, 16);
  HeadBitmapPos = 96, 48;
  TorsoBitmapPos = 32, 112;
  ArmBitmapPos = 64, 144;
  LegBitmapPos = 16, 64;
  TotalVolume = 25000;
  TotalSize = 100;
  NameSingular = "goblin";
  CanBeGenerated = true;
  Sex = UNDEFINED;
  RightWielded = COPPER COPPER meleeweapon(SHORT_SWORD);
  KnownCWeaponSkills == SMALL_SWORDS;
  CWeaponSkillHits == 10;
  RightSWeaponSkillHits = 5;
  PanicLevel = 66;
  HostileReplies == "@Dd yells goblin war cries at you.";
  FriendlyReplies == "@Dd laughs: \"Humie friend. Many mommo we kill. Many spider we eat.\"";
  FleshMaterial = GOBLINOID_FLESH;
  AttachedGod = CRUENTUS;
  WieldedPosition = 0, -2;

  Config BERSERKER;
  {
    AttributeBonus = 25;
    RightWielded = BRONZE BRONZE meleeweapon(SHORT_SWORD);
    CWeaponSkillHits == 20;
    RightSWeaponSkillHits = 10;
    NameSingular = "goblin berserker";
    ClothColor = rgb16(0, 96, 0);
  }

  Config BUTCHER;
  {
    AttributeBonus = 50;
    Helmet = LEATHER helmet;
    BodyArmor = LEATHER bodyarmor(PLATE_MAIL);
    RightWielded = IRON IRON meleeweapon(SHORT_SWORD);
    CWeaponSkillHits == 50;
    RightSWeaponSkillHits = 20;
    NameSingular = "goblin butcher";
    ClothColor = rgb16(200, 0, 0);
    Inventory == potion { SecondaryMaterial = TROLL_BLOOD; Chance = 10; }
  }

  Config PRINCE;
  {
    AttributeBonus = 75;
    Helmet = BRONZE helmet(FULL_HELMET);
    BodyArmor = HARDENED_LEATHER bodyarmor(PLATE_MAIL);
    RightWielded = STEEL STEEL meleeweapon(SHORT_SWORD) { Enchantment = 1; }
    LeftWielded = STEEL STEEL meleeweapon(SHORT_SWORD) { Enchantment = 1; }
    CWeaponSkillHits == 100;
    RightSWeaponSkillHits = 50;
    LeftSWeaponSkillHits = 50;
    NameSingular = "goblin prince";
    HeadBitmapPos = 112, 288;
    TorsoBitmapPos = 48, 208;
    HairColor = rgb16(220, 220, 0);
    ClothColor = rgb16(200, 0, 0);
    Inventory = { 2, potion { SecondaryMaterial = ANTIDOTE_LIQUID; Chance = 20; }, Random { Category = RING; Chance = 20; } }
  }

  Config KING;
  {
    AttributeBonus = 100;
    Helmet = STEEL helmet(FULL_HELMET) { Enchantment = 1; }
    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 1; }
    Cloak = OMMEL_HAIR cloak { Enchantment = 1; }
    RightWielded = MITHRIL MITHRIL meleeweapon(SHORT_SWORD) { Enchantment = 2; }
    LeftWielded = MITHRIL MITHRIL meleeweapon(SHORT_SWORD) { Enchantment = 2; }
    RightRing = ring(RING_OF_TELEPORTATION);
    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 1; }
    RightBoot = STEEL boot { Enchantment = 1; }
    TotalVolume = 50000;
    CWeaponSkillHits == 200;
    RightSWeaponSkillHits = 100;
    LeftSWeaponSkillHits = 100;
    NameSingular = "goblin king";
    IsUnique = true;
    CanBeWished = true;
    DefaultName = "Guugzamesh";
    DangerModifier = 2000;
    IsNameable = false;
    CanBeCloned = false;
    IsPolymorphable = false;
    HeadBitmapPos = 96, 288;
    TorsoBitmapPos = 48, 208;
    HairColor = rgb16(220, 220, 0);
    ClothColor = rgb16(200, 0, 0);
    Inventory = { 5, stone { Chance = 50; }, stone { Chance = 50; }, stone { Chance = 50; }, stone { Chance = 50; }, stone { Chance = 50; } }
    CanBeConfused = false;
    NaturalSparkleFlags = HAIR_COLOR;
    FireResistance = 30;
    ElectricityResistance = 30;
    EnergyResistance = 30;
  }
}

mommo
{
  DefaultEndurance = 8;
  DefaultMana = 0;
  CanOpen = false;
  StandVerb = "bubbling";
  ForceCustomStandVerb = true;
  HostileReplies == "@Dd vibrates in fury.";
  FriendlyReplies == "@Dd vibrates oddly.";
  NameSingular = "mommo slime";
  IsAbstract = true;
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 800;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 20;
  PanicLevel = 0;
  HasALeg = false;
  DeathMessage = "@Dd turns into lifeless goo.";
  HasEyes = false;
  HasHead = false;
  AttachedGod = SCABIES;
  ClassStates = GAS_IMMUNITY;
  BiteCapturesBodyPart = false;
  IgnoreDanger = true;
  ForceVomitMessage = "You spurt some slime from your body.";
  CanChoke = false;
  RunDescriptionLineOne = "Flowing";
  RunDescriptionLineTwo = "ahead fast";
  VomittingIsUnhealthy = false;
  UsesNutrition = false;
  IsImmuneToStickiness = true;

  Config CONICAL;
  {
    DefaultArmStrength = 2;
    DefaultAgility = 4;
    DefaultPerception = 9;
    DefaultIntelligence = 3;
    DefaultWisdom = 3;
    DefaultCharisma = 4;
    TotalVolume = 150000;
    TorsoBitmapPos = 176, 0;
    TotalSize = 100;
    Adjective = "conical";
    HPRequirementForGeneration = 120;
    DayRequirementForGeneration = 12;
    Frequency = 1000;
    BloodMaterial = YELLOW_SLIME;
    FleshMaterial = YELLOW_SLIME;
    VomitMaterial = YELLOW_SLIME;
  }

  Config FLAT;
  {
    DefaultArmStrength = 4;
    DefaultAgility = 2;
    DefaultPerception = 9;
    DefaultIntelligence = 2;
    DefaultWisdom = 2;
    DefaultCharisma = 3;
    TotalVolume = 300000;
    TorsoBitmapPos = 192, 0;
    TotalSize = 75;
    Adjective = "flat";
    HPRequirementForGeneration = 80;
    DayRequirementForGeneration = 8;
    Frequency = 1500;
    CanHear = false;
    BloodMaterial = BROWN_SLIME;
    FleshMaterial = BROWN_SLIME;
    VomitMaterial = BROWN_SLIME;
  }
}

golem
{
  DefaultArmStrength = 0; /* depends on material */
  DefaultLegStrength = 0; /* depends on material */
  DefaultDexterity = 0; /* depends on material */
  DefaultAgility = 0; /* depends on material */
  DefaultEndurance = 0; /* has no effect */
  DefaultPerception = 12;
  DefaultIntelligence = 4;
  DefaultWisdom = 4;
  DefaultCharisma = 5;
  DefaultMana = 5;
  TotalVolume = 100000;
  TorsoBitmapPos = 256, 0;
  TotalSize = 250;
  NameSingular = "golem";
  CanBeGenerated = true;
  Sex = UNDEFINED;
  SkinColor = rgb16(160, 32, 16); /* for flesh golems */
  EyeColor = rgb16(0, 0, 0);
  HeadBitmapPos = 96, 256;
  TorsoBitmapPos = 32, 256;
  ArmBitmapPos = 64, 256;
  LegBitmapPos = 0, 256;
  CanUseEquipment = false;
  CreateGolemMaterialConfigurations = true;
  IsAbstract = true;
  BaseUnarmedStrength = 500;
  KnownCWeaponSkills == UNARMED;
  CWeaponSkillHits == 50;
  PanicLevel = 0;
  HostileReplies == "Yes, master. Golem kill human. Golem then return."; /* No quotes! (golem engraves) */
  FriendlyReplies == "Yes, master?";
  /* FleshMaterial overridden */
  DeathMessage = "The Holy Words of @dd fly away. The monster's magic fades and it vanishes in seconds.";
  UsesNutrition = false;
  AttachedGod = NONE;
  ClassStates = GAS_IMMUNITY;
  Frequency = 1500;
  CanTalk = false;
  CanRead = true;
  BodyPartsDisappearWhenSevered = true;
  DangerModifier = 75;
  AlwaysUseMaterialAttributes = true;
  IsEnormous = true;
  CanChoke = false;

  Config VALPURIUM;
  {
    Frequency = 1000;
    DangerModifier = 500;
    Adjective = "valpurium";
    AttachedGod = VALPURUS;
  }

  Config SPIDER_SILK;
  {
    DefaultName = "experiment ZQ-29";
    DangerModifier = 1500;
    IsUnique = true;
    CanBeWished = true;
    Inventory = { 6, wand(WAND_OF_INVISIBILITY), wand(WAND_OF_TELEPORTATION), wand(WAND_OF_CLONING), scrollofchangematerial, holybook(SOPHOS), SPIDER_SILK bodyarmor(PLATE_MAIL); }
    ClassStates = GAS_IMMUNITY|HASTE|INFRA_VISION|INVISIBLE|TELEPORT_CONTROL;
    IsNameable = false;
    CanBeCloned = false;
    IsPolymorphable = false;
    Adjective = "spider silk";
    AttachedGod = SOPHOS;
    CanBeConfused = false;
    Frequency = 10000;
    IsImmuneToItemTeleport = true;
  }

  Config ACIDOUS_BLOOD;
  {
    CanBeGenerated = false;
    Adjective = "acidous blood";
    AttachedGod = CRUENTUS;
  }
}

canine
{
  IsAbstract = true;
  ConsumeFlags = CT_FRUIT|CT_MEAT|CT_LIQUID|CT_PROCESSED|CT_BONE;
  AttackStyle = USE_HEAD;
  KnownCWeaponSkills == BITE;
}

wolf
{
  DefaultArmStrength = 10;
  DefaultAgility = 25;
  DefaultEndurance = 10;
  DefaultPerception = 24;
  DefaultIntelligence = 7;
  DefaultWisdom = 5;
  DefaultCharisma = 10;
  DefaultMana = 0;
  TotalVolume = 40000;
  TorsoBitmapPos = 224, 0;
  HostileReplies == "@Dd growls madly.";
  FriendlyReplies == "@Dd growls happily.";
  TotalSize = 100;
  /* SkinColor overridden */
  NameSingular = "wolf";
  NamePlural = "wolves";
  BaseBiteStrength = 600;
  CanBeGenerated = true;
  CWeaponSkillHits == 200;
  ClassStates = INFRA_VISION;
  FleshMaterial = WOLF_FLESH;
  AttachedGod = SILVA;
}

dog
{
  DefaultArmStrength = 5;
  DefaultAgility = 15;
  DefaultEndurance = 8;
  DefaultPerception = 18;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 15;
  DefaultMana = 0;
  TotalVolume = 20000;
  TorsoBitmapPos = 240, 16;
  HostileReplies == "@Dd barks in fury.";
  /* FriendlyReplies overridden */
  TotalSize = 70;
  SkinColor = rgb16(111, 74, 37);
  NameSingular = "puppy";
  NamePlural = "puppies";
  BaseBiteStrength = 350;
  CanBeGenerated = true;
  CWeaponSkillHits == 20;
  FleshMaterial = DOG_FLESH;
  AttachedGod = SILVA;
  Alias == "dog";
  DeathMessage = "@Dd is killed.";
  ScienceTalkAdjectiveAttribute =
  {
    16,
    "arf", "r-ruff", "bark", "woof", "rowf",
    "yip", "yap", "yelp", "[fart]", "snarl",
    "bow-wow", "AHROUFF", "WOOF", "BARK", "grrrrrrr",
    "aaaaoooooooooooo";
  }
  ScienceTalkSubstantiveAttribute =
  {
    16,
    "arf", "r-ruff", "bark", "woof", "rowf",
    "yip", "yap", "yelp", "[fart]", "snarl",
    "bow-wow", "AHROUFF", "WOOF", "BARK", "grrrrrrr",
    "aaaaoooooooooooo";
  }
  ScienceTalkPrefix == "";
  ScienceTalkName =
  {
    16,
    "arf", "r-ruff", "bark", "woof", "rowf",
    "yip", "yap", "yelp", "[fart]", "snarl",
    "bow-wow", "AHROUFF", "WOOF", "BARK", "grrrrrrr",
    "aaaaoooooooooooo";
  }
  ScienceTalkPossibility = 90;
  ScienceTalkIntelligenceModifier = 1;
  ScienceTalkWisdomModifier = 2;
  ScienceTalkIntelligenceRequirement = 3;
  ScienceTalkWisdomRequirement = 4;
}

spider
{
  DefaultMana = 0;
  BloodMaterial = SPIDER_BLOOD;
  CanOpen = false;
  SkinColor = rgb16(64, 64, 100);
  NameSingular = "spider";
  AttackStyle = USE_HEAD;
  CanBeGenerated = true;
  ClassStates = INFRA_VISION;
  KnownCWeaponSkills == BITE;
  FleshMaterial = SPIDER_FLESH;
  AttachedGod = SCABIES;
  BiteCapturesBodyPart = false;
  AutomaticallySeen = true;
  IsImmuneToStickiness = true;
  DangerModifier = 25;
  IsAbstract = true;
  TorsoMainColor = rgb16(30, 30, 30);

  Config LARGE;
  {
    DefaultArmStrength = 2;
    DefaultAgility = 5;
    DefaultEndurance = 4;
    DefaultPerception = 9;
    DefaultIntelligence = 3;
    DefaultWisdom = 3;
    DefaultCharisma = 4;
    Adjective = "large";
    TorsoBitmapPos = 272, 0;
    BaseBiteStrength = 400;
    CWeaponSkillHits == 50;
    TotalVolume = 500;
    TotalSize = 10;
    HostileReplies == "@Dd isn't interested in negotiation with you.";
    FriendlyReplies == "@Dd ignores your small talk.";
  }

  Config GIANT;
  {
    DefaultArmStrength = 4;
    DefaultAgility = 10;
    DefaultEndurance = 12;
    DefaultPerception = 15;
    DefaultIntelligence = 4;
    DefaultWisdom = 4;
    DefaultCharisma = 5;
    Adjective = "giant";
    TorsoBitmapPos = 256, 0;
    BaseBiteStrength = 400;
    CWeaponSkillHits == 50;
    TotalVolume = 5000;
    TotalSize = 50;
    HostileReplies == "@Dd stridulates wildly, producing a small creaking noise.";
    FriendlyReplies == "@Dd stridulates softly, producing a barely audible but quite confortable noise.";
  }
}

jackal
{
  DefaultArmStrength = 3;
  DefaultAgility = 12;
  DefaultEndurance = 6;
  DefaultPerception = 18;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 7;
  DefaultMana = 0;
  TotalVolume = 15000;
  TorsoBitmapPos = 304, 0;
  HostileReplies == "@Dd howls in fury.";
  FriendlyReplies == "@Dd howls happily.";
  TotalSize = 80;
  SkinColor = rgb16(255, 255, 255);
  NameSingular = "jackal";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 300;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 50;
  FleshMaterial = JACKAL_FLESH;
  AttachedGod = SILVA;
}

ass
{
  DefaultArmStrength = 20;
  DefaultAgility = 4;
  DefaultEndurance = 15;
  DefaultPerception = 15;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 5;
  DefaultMana = 0;
  TotalVolume = 40000;
  TorsoBitmapPos = 288, 0;
  HostileReplies == "@Dd brays angrily.";
  FriendlyReplies == "@Dd brays cheerfully.";
  TotalSize = 150;
  SkinColor = rgb16(80, 80, 80);
  Adjective = "mutant";
  NameSingular = "ass";
  NamePlural = "asses";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 150;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 20;
  FleshMaterial = MUTANT_ASS_FLESH;
  DeathMessage = "@Dd neighs one last time and dies.";
  BaseEmitation = rgb24(140, 100, 100);
  Alias == "donkey";
  AttachedGod = SCABIES;
  AutomaticallySeen = true;
  WillCarryItems = true;
  BloodMaterial = GLOWING_BLOOD;
}

communist /* Ivan */
{
  DefaultArmStrength = 40;
  DefaultLegStrength = 40;
  DefaultDexterity = 20;
  DefaultAgility = 20;
  DefaultEndurance = 30;
  DefaultPerception = 18;
  DefaultIntelligence = 7;
  DefaultWisdom = 6;
  DefaultCharisma = 10;
  DefaultMana = 5;
  CriticalModifier = 4;
  IsNameable = false;
  ArmSpecialColor = rgb16(160, 0, 0);
  BeltColor = rgb16(32, 32, 32);
  ClothColor = rgb16(64, 56, 24);
  HeadBitmapPos = 96, 176;
  TorsoBitmapPos = 32, 144;
  ArmBitmapPos = 64, 112;
  LegBitmapPos = 0, 0;
  TotalVolume = 120000;
  TotalSize = 230;
  CanRead = true;
  NameSingular = "communist";
  Alias == "Ivan";
  ClassStates = INFRA_VISION;
  Helmet = helmet(GOROVITS_FAMILY_GAS_MASK);
  Cloak = OMMEL_HAIR cloak(CLOAK_OF_ELECTRICITY_RESISTANCE) { Enchantment = 2; }
  BodyArmor = STEEL bodyarmor(PLATE_MAIL) { Enchantment = 2; }
  Belt = TROLL_HIDE belt { Enchantment = 2; }
  RightWielded = gorovitshammer;
  LeftWielded = gorovitssickle;
  RightRing = ring(RING_OF_FIRE_RESISTANCE);
  LeftRing = ring(RING_OF_POISON_RESISTANCE);
  KnownCWeaponSkills = { 5, UNARMED, SMALL_SWORDS, BLUNT_WEAPONS, AXES, POLE_ARMS; }
  CWeaponSkillHits = { 5, 100, 200, 200, 100, 100; }
  RightSWeaponSkillHits = 100;
  LeftSWeaponSkillHits = 100;
  RightGauntlet = PHOENIX_FEATHER gauntlet { Enchantment = 2; }
  RightBoot = STEEL boot(BOOT_OF_AGILITY) { Enchantment = 2; }
  PanicLevel = 33;
  Inventory = { 3, lantern, fiftymillionroubles, potion { SecondaryMaterial = VODKA; Times = 5; } }
  IsUnique = true;
  CanBeWished = true;
  DefaultName = "Ivan";
  DeathMessage = "@Dd falls groaning bravely: \"Party revenges @nu\"!";
  HostileReplies == "\"You capitalist! Lenin want @nu kill capitalists!\"";
  FriendlyReplies =
  {
    11,
    "\"Da, @nu like killing.\"",
    "\"@Nu ruski specialist.\"",
    "\"@Nu work. Else @nu nerve stapled.\"",
    "\"Party mean big weapons. @Nu like big weapons. @Nu kill for Party.\"",
    "\"CCCP roxxx.\"",
    "\"@Nu like throw Ladas. You want compete?\"",
    "\"Why AK not invented?\"",
    "\"@Nu buy kyber eyes. @Nu see in dark.\"",
    "\"Uncle Lenin live in Russia. Lenin strong guy. @Nu like.\"",
    "\"Vodka strong, but meat rotten.\"",
    "\"Vladimir @nu best buddy. @Nu meet Vladimir first in magic test area near Voktsovadil.\"";
  }
  AttachedGod = LORICATUS;
  ConstantCommandFlags = FLEE_FROM_ENEMIES;
  IsEnormous = true;
  ScienceTalkName =
  {
    21,
    "materialism", "marxism", "leninism", "stalinism", "socialism",
    "castroism", "maoism", "trotskyism", "anticapitalism", "agriculture",
    "communism", "atheism", "hoxhaism", "class struggles", "socialist art",
    "communitarianism", "bolshevism", "sickle smithing", "ballistics", "weaponry",
    "vodka distillation";
  }
  ScienceTalkPossibility = 25;
  ScienceTalkIntelligenceModifier = 10;
  ScienceTalkWisdomModifier = 25;
  ScienceTalkIntelligenceRequirement = 3;
  ScienceTalkWisdomRequirement = 3;
}

hunter
{
  DefaultArmStrength = 25;
  DefaultLegStrength = 15;
  DefaultDexterity = 15;
  DefaultAgility = 20;
  DefaultEndurance = 15;
  DefaultPerception = 24;
  DefaultIntelligence = 10;
  DefaultWisdom = 10;
  DefaultCharisma = 15;
  DefaultMana = 5;
  ClothColor = rgb16(128, 80, 48);
  BeltColor = rgb16(144, 96, 60);
  BootColor = rgb16(90, 50, 10);
  HeadBitmapPos = 96, 192;
  TorsoBitmapPos = 32, 192;
  ArmBitmapPos = 64, 128;
  LegBitmapPos = 0, 96;
  TotalVolume = 80000;
  TotalSize = 180;
  NameSingular = "hunter";
  Helmet = HARDENED_LEATHER helmet;
  Cloak = LEATHER cloak;
  BodyArmor = TROLL_HIDE bodyarmor(PLATE_MAIL);
  RightWielded = IRON meleeweapon(SPEAR);
  RightGauntlet = LEATHER gauntlet;
  LeftGauntlet = 0;
  RightBoot = HARDENED_LEATHER boot;
  KnownCWeaponSkills == POLE_ARMS;
  CWeaponSkillHits == 200;
  RightSWeaponSkillHits = 200;
  PanicLevel = 20;
  Inventory == beartrap;
  HostileReplies == "\"Your head will look fine above my fireplace!\"";
  FriendlyReplies =
  {
    5,
    "\"A man is not a man unless he has lost his left arm in a battle against a polar bear.\"",
    "\"Bears, ogres, slaves, farmers... Ah, there's so much to hunt here!\"",
    "\"I am the Great White Hunter. Get out of My way!\"",
    "\"I saw a communist visiting the city a few days past. I'm now organising a party to seek and hunt him down.\"",
    "\"It is good Petrus had his predecessor assassinated. Can you believe it, the dude tried to take from us our natural right to carry a spear in the street!\"";
  }
  AttachedGod = LORICATUS;
  ScienceTalkAdjectiveAttribute =
  {
    16,
    "!hunting", "!laying traps for", "!tracking", "!stuffing", "!techniques of slaying",
    "!the locations of the vital organs of", "!the joy of defeating", "!capturing", "!ambushing", "!sharpshooting",
    "!preemptively striking against", "!ridding the world of all", "!skinning", "!lynching", "!eliminating the threat of",
    "!chasing";
  }
  ScienceTalkSubstantiveAttribute =
  {
    17,
    "black", "dangerous", "baby", "young", "wild",
    "fierce", "endangered", "mad", "rare", "giant",
    "evil", "malicious", "injured", "weak", "tasty",
    "sick", "fat";
  }
  ScienceTalkPrefix == "";
  ScienceTalkName =
  {
    74,
    "slaves", "farmers", "communists", "prisoners", "witches",
    "goblins", "orcs", "kobolds", "gibberlings", "stray cats",
    "neighbour's pets", "reindeer", "deer", "elk", "moose",
    "bears", "polar bears", "mammoths", "ducks", "mules",
    "cows", "levitating ostriches", "ankhegs", "rabbits", "fish",

    "wolves", "hamsters", "vegetables", "moles", "lemmings",
    "hedgehogs", "foxes", "vixens", "beavers", "geese",
    "wives", "women", "lice", "oxen", "wildebeest",
    "grouse", "roe", "sheep", "rhinoceros", "heathen",
    "chamois", "mushrooms", "hippopotami", "dwarves", "elves",

    "land octopi", "outlaws", "bunnies", "jackals", "hippies",
    "bats", "scientists", "dragons", "goats", "falcons",
    "ravens", "trolls", "werewolves", "zombies", "Siberian tigers",
    "gnus", "llamas", "nerds", "people you don't like", "squirrels",
    "flying squirrels", "lynxes", "chickens", "democrats";
  }
  ScienceTalkPossibility = 85;
  ScienceTalkIntelligenceModifier = 2;
  ScienceTalkWisdomModifier = 1;
  ScienceTalkIntelligenceRequirement = 6;
  ScienceTalkWisdomRequirement = 3;
}

bear
{
  DefaultArmStrength = 50;
  DefaultAgility = 15;
  DefaultEndurance = 20;
  DefaultPerception = 15;
  DefaultIntelligence = 8;
  DefaultWisdom = 10;
  DefaultCharisma = 15;
  DefaultMana = 0;
  TorsoBitmapPos = 336, 0;
  HostileReplies == "@Dd growls madly.";
  FriendlyReplies == "@Dd growls happily.";
  NameSingular = "bear";
  AttackStyle = USE_HEAD|USE_ARMS;
  BaseUnarmedStrength = 600;
  KnownCWeaponSkills = { 2, UNARMED, BITE; }
  CWeaponSkillHits == 100;
  FleshMaterial = BEAR_FLESH;
  DeathMessage = "@Dd groans terribly and falls dead to the ground.";
  AttachedGod = SILVA;
  IsAbstract = true;

  Config BLACK_BEAR;
  {
    Adjective = "black";
    SkinColor = rgb16(80, 80, 80);
    CanBeGenerated = true;
    TotalVolume = 150000;
    TotalSize = 150;
    AttributeBonus = -30;
  }

  Config GRIZZLY_BEAR;
  {
    Adjective = "grizzly";
    SkinColor = rgb16(140, 80, 40);
    CanBeGenerated = true;
    TotalVolume = 200000;
    TotalSize = 200;
    AttributeBonus = -15;
  }

  Config CAVE_BEAR;
  {
    Adjective = "cave";
    SkinColor = rgb16(170, 130, 90);
    CanBeGenerated = true;
    TotalVolume = 250000;
    TotalSize = 250;
    IsEnormous = true;
  }

  Config POLAR_BEAR;
  {
    Adjective = "polar";
    SkinColor = rgb16(240, 240, 240);
    TotalVolume = 300000;
    TotalSize = 300;
    AttributeBonus = 15;
    IsEnormous = true;
  }
}

dolphin
{
  DefaultArmStrength = 10;
  DefaultAgility = 30;
  DefaultEndurance = 10;
  DefaultPerception = 30;
  DefaultIntelligence = 100;
  DefaultWisdom = 100;
  DefaultCharisma = 30;
  DefaultMana = 0;
  StandVerb = "rolling"; /* only shown if not swimming */
  CanOpen = false;
  MoveType = SWIM;
  TotalVolume = 150000;
  TorsoBitmapPos = 320, 0;
  HostileReplies == "@Dd peeps diabolically to you.";
  FriendlyReplies == "@Dd peeps passionately to you.";
  TotalSize = 300;
  SkinColor = rgb16(144, 144, 144);
  EyeColor = rgb16(100, 100, 255);
  Adjective = "female";
  NameSingular = "dolphin";
  PostFix = "in season";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 200;
  HasALeg = false;
  FleshMaterial = DOLPHIN_FLESH;
  AttachedGod = SOPHOS;
  ForceVomitMessage = "You push your fin down to your throat and vomit.";
  ScienceTalkPossibility = 100;
  ScienceTalkIntelligenceModifier = 1000;
  ScienceTalkWisdomModifier = 1000;
  ScienceTalkIntelligenceRequirement = 50;
  ScienceTalkWisdomRequirement = 50;
}

slave
{
  DefaultArmStrength = 25;
  DefaultLegStrength = 25;
  DefaultDexterity = 15;
  DefaultAgility = 15;
  DefaultEndurance = 20;
  DefaultPerception = 15;
  DefaultIntelligence = 15;
  DefaultWisdom = 20;
  DefaultCharisma = 10;
  DefaultMana = 5;
  SkinColor = rgb16(128, 80, 48);
  HairColor = rgb16(80, 48, 32);
  ClothColor = rgb16(56, 48, 20);
  TotalVolume = 60000;
  TotalSize = 160;
  NameSingular = "slave";
  KnownCWeaponSkills = { 2, UNARMED, BLUNT_WEAPONS; }
  CWeaponSkillHits = { 2, 100, 100; }
  DefaultMoney = 0;
  FriendlyReplies = /* used only if the slave has been bought */
  {
    5,
    "\"Whatever the master wants.\"",
    "\"Work work work all day long. No, that was not a complain! Don't punish!\"",
    "\"I love all my masters. At least when the whip is being washed.\"",
    "\"I would like to be like Ivan. Ivan is a good worker.\"",
    "\"I am putting myself to the fullest possible use, which is all I think that any conscious entity can ever hope to do.\"";
  }
  AttachedGod = MELLIS;
  Inventory == 0;
}

petrusswife
{
  DefaultArmStrength = 7;
  DefaultLegStrength = 7;
  DefaultDexterity = 7;
  DefaultAgility = 7;
  DefaultEndurance = 7;
  DefaultPerception = 21;
  DefaultIntelligence = 8;
  DefaultWisdom = 10;
  DefaultCharisma = 80;
  DefaultMana = 20;
  Sex = FEMALE;
  ClothColor = rgb16(150, 0, 0);
  BeltColor = rgb16(180, 180, 0);
  TorsoBitmapPos = 32, 160;
  ArmBitmapPos = 64, 160;
  LegBitmapPos = 0, 112;
  TotalVolume = 40000;
  TotalSize = 170;
  CanRead = true;
  NameSingular = "Petrus's wife";
  NamePlural = "Petrus's wives";
  ArticleMode = NO_ARTICLE;
  IsAbstract = true;
  PanicLevel = 95;
  BaseUnarmedStrength = 200;
  IsExtraCoward = true;
  WieldedPosition = 0, -1;
  HostileReplies == "\"Murderer! Just wait until Petrus finds you!\"";
  FriendlyReplies =
  {
    5,
    "\"I'm so sick jealous to those dolphins...\"",
    "\"I'm Petrus's favorite, not she!\"",
    "\"Why must Petrus stay in this forest? There isn't even a proper hairdresser here!\"",
    "\"Being one of six wives is a dream job. Pay is good and you only have to work about one night a week!\"";
    "\"That head on the wall looks really scary sometimes. Just like we were being watched.\"";
  }
  AttachedGod = DULCIS;
  WillCarryItems = false;
  IsExtraFragile = true;

  Config 1;
  {
    HairColor = rgb16(24, 24, 24);
    HeadBitmapPos = 112, 0;
    PostFix = "number 1";
  }

  Config 2;
  {
    HairColor = rgb16(24, 24, 24);
    HeadBitmapPos = 112, 16;
    PostFix = "number 2";
  }

  Config 3;
  {
    HairColor = rgb16(48, 40, 8);
    HeadBitmapPos = 112, 0;
    PostFix = "number 3";
  }

  Config 4;
  {
    DefaultIntelligence = 4; /* she's blond */
    DefaultWisdom = 8;
    DefaultCharisma = 85;
    HairColor = rgb16(200, 96, 0);
    HeadBitmapPos = 112, 32;
    PostFix = "number 4";
  }

  Config 5;
  {
    HairColor = rgb16(60, 48, 24);
    HeadBitmapPos = 112, 48;
    PostFix = "number 5";
  }

  Config 6;
  {
    HairColor = rgb16(200, 0, 0);
    HeadBitmapPos = 112, 64;
    PostFix = "number 6";
  }
}

housewife
{
  DefaultArmStrength = 10;
  DefaultLegStrength = 10;
  DefaultDexterity = 15;
  DefaultAgility = 15;
  DefaultEndurance = 15;
  DefaultPerception = 24;
  DefaultIntelligence = 10;
  DefaultWisdom = 20;
  DefaultCharisma = 20;
  DefaultMana = 10;
  Sex = FEMALE;
  TorsoMainColor = rgb16(200, 200, 200);
  ArmMainColor = rgb16(100, 100, 100);
  LegMainColor = rgb16(180, 80, 0);
  /* HairColor is random */
  /* HeadBitmapPos is random */
  TorsoBitmapPos = 32, 160;
  ArmBitmapPos = 64, 160;
  LegBitmapPos = 0, 128;
  TotalVolume = 70000;
  TotalSize = 160;
  CanRead = true;
  NameSingular = "housewife";
  NamePlural = "housewives";
  KnownCWeaponSkills = { 2, UNARMED, UNCATEGORIZED; }
  CWeaponSkillHits = { 2, 50, 50; }
  BaseUnarmedStrength = 200;
  IsExtraCoward = true;
  HostileReplies == "\"Face my rolling pin! Graah!\"";
  AttachedGod = SEGES;
  WieldedPosition = 0, -1;
  FriendlyReplies =
  {
    5,
    "\"Can you help me find my husband? He is hiding somewhere. He's that farmer who's just been mugged with a frying pan.\"",
    "\"Yesterday a bear rushed through my kitchen wall and ruined all my pies. Animals are truly annoying. Why can't we just burn the whole forest down?\"",
    "\"Wolves ate my seventh daughter last week. Damn. It'll take eight years to produce an equally good replacement worker.\"",
    "\"Petrus's wives are so arrogant towards us working class ones. Grr...\"",
    "\"If you men only knew!\"";
  }
}

femaleslave
{
  DefaultArmStrength = 10;
  DefaultLegStrength = 10;
  DefaultDexterity = 10;
  DefaultAgility = 10;
  DefaultEndurance = 10;
  DefaultPerception = 18;
  DefaultIntelligence = 15;
  DefaultWisdom = 25;
  DefaultCharisma = 25;
  DefaultMana = 5;
  Sex = FEMALE;
  SkinColor = rgb16(160, 100, 64);
  HairColor = rgb16(80, 48, 32);
  HeadBitmapPos = 112, 80;
  TorsoBitmapPos = 32, 208;
  ArmBitmapPos = 64, 208;
  LegBitmapPos = 0, 144;
  TotalVolume = 40000;
  TotalSize = 170;
  Adjective = "female";
  RightWielded = palmbranch;
  BaseUnarmedStrength = 200;
  HostileReplies == "\"Yikes!\"";
  IsAbstract = true;
  IsExtraCoward = true;
  CanRead = true;

  Config ATTNAM;
  {
    NameSingular = "slave";
    AttachedGod = MELLIS;
    FriendlyReplies =
    {
      5,
      "\"Praise our lord Petrus!\"",
      "\"Does that toy frog really need us serving it?\"",
      "\"I'm not a slave. I'm a high-ranking palm branch officer with a good career history.\"",
      "\"I can tell you, serving Petrus is much more fun than pleasing that Decos bastard.\"",
      "\"You seem oddly familiar. Oh! Isn't that the monkey smell of my home village!\"";
    }
  }

  Config NEW_ATTNAM;
  {
    DefaultAgility = 15;
    DefaultEndurance = 15;
    DefaultIntelligence = 20;
    DefaultWisdom = 30;
    DefaultCharisma = 20;
    NameSingular = "servant";
    AttachedGod = SEGES;
    FriendlyReplies =
    {
      7, /* 4 first are used before revolution */
      "\"Thank Silva I don't have to gather bananas!\"",
      "\"My sister got a promotion last year. I've heard she is now a very successful slave in the Cathedral of Attnam. I am so jealous!\"",
      "\"Palm leaves are good for health. Mr. Decos loves their smell.\"",
      "\"When I was a highly educated doctor in independent Tweraif, I didn't have to wear stupid bikinis all day long.\"",
      "\"Our hero!\" @Dd shouts as @pp hugs you. \"Aargh! Go away, you're all sweaty and bloody!\"",
      "\"Don't tell me you need a palm leaf expert, too.\"",
      "\"Now it's my sister's turn to be jealous!\"";
    }
    AutomaticallySeen = true;
  }
}

librarian
{
  DefaultArmStrength = 10;
  DefaultLegStrength = 10;
  DefaultDexterity = 5;
  DefaultAgility = 5;
  DefaultEndurance = 10;
  DefaultPerception = 12;
  DefaultIntelligence = 30;
  DefaultWisdom = 15;
  DefaultCharisma = 10;
  DefaultMana = 20;
  HairColor = rgb16(200, 200, 200);
  ClothColor = rgb16(48, 48, 48);
  ArmMainColor = rgb16(180, 180, 180);
  HeadBitmapPos = 96, 224;
  TorsoBitmapPos = 32, 80;
  ArmBitmapPos = 64, 16;
  LegBitmapPos = 0, 0;
  TotalVolume = 80000;
  TotalSize = 170;
  CanRead = true;
  NameSingular = "librarian";
  PanicLevel = 50;
  CanBeCloned = false;
  DefaultMoney = 2000;
  /* Replies depend on story state */
  IsUnique = true;
  IsNameable = false;
  DefaultName = "Haathbar";
  IsCharmable = false;
  IsExtraCoward = true;
  AttachedGod = SOPHOS;
  PolymorphIntelligenceRequirement = 20;
  ScienceTalkPossibility = 25;
  ScienceTalkIntelligenceModifier = 100;
  ScienceTalkWisdomModifier = 25;
  ScienceTalkIntelligenceRequirement = 20;
  ScienceTalkWisdomRequirement = 10;
}

zombie
{
  DefaultArmStrength = 12;
  DefaultLegStrength = 12;
  DefaultDexterity = 3;
  DefaultAgility = 4;
  DefaultEndurance = 10;
  DefaultPerception = 12;
  DefaultIntelligence = 3;
  DefaultWisdom = 3;
  DefaultCharisma = 3;
  DefaultMana = 0;
  SkinColor = rgb16(0, 120, 120);
  EyeColor = rgb16(200, 200, 0);
  ClothColor = rgb16(56, 16, 96);
  HeadBitmapPos = 112, 112;
  TorsoBitmapPos = 32, 224;
  ArmBitmapPos = 64, 224;
  LegBitmapPos = 0, 160;
  TotalVolume = 80000;
  TotalSize = 160;
  NameSingular = "zombie";
  CanBeGenerated = true;
  Sex = UNDEFINED;
  PanicLevel = 0;
  BaseUnarmedStrength = 200;
  /* Replies overridden */
  DeathMessage = "@Dd is slain (again).";
  AttachedGod = MORTIFER;
  ClassStates = GAS_IMMUNITY;
  WieldedPosition = -1, -2;
  IsExtraFragile = true;
}

imp
{
  DefaultPerception = 15;
  DefaultIntelligence = 10;
  DefaultWisdom = 10;
  DefaultCharisma = 5;
  DefaultMana = 10;
  EyeColor = rgb16(200, 200, 0);
  ClothColor = rgb16(111, 74, 37);
  HairColor = rgb16(100, 0, 0);
  HeadBitmapPos = 96, 16;
  TorsoBitmapPos = 48, 112;
  ArmBitmapPos = 64, 32;
  LegBitmapPos = 16, 80;
  TotalVolume = 40000;
  TotalSize = 100;
  NameSingular = "imp";
  UsesLongArticle = true;
  CanBeGenerated = true;
  Sex = UNDEFINED;
  CanUseEquipment = false;
  KnownCWeaponSkills == UNARMED;
  CWeaponSkillHits == 50;
  PanicLevel = 75;
  BaseUnarmedStrength = 300;
  FleshMaterial = SULFUR;
  UsesNutrition = false;
  AttachedGod = MORTIFER;
  ClassStates = GAS_IMMUNITY;
  FireResistance = 1000;
  WillCarryItems = false;
  CanChoke = false;
}

bat
{
  DefaultArmStrength = 2;
  DefaultAgility = 40;
  DefaultEndurance = 8;
  DefaultPerception = 24;
  DefaultIntelligence = 7;
  DefaultWisdom = 5;
  DefaultCharisma = 5;
  DefaultMana = 0;
  StandVerb = "flying";
  CanOpen = false;
  TotalVolume = 1000;
  TorsoBitmapPos = 464, 0;
  HostileReplies == "@Dd squeaks evilly.";
  FriendlyReplies == "@Dd squeaks happily.";
  TotalSize = 20;
  SkinColor = rgb16(64, 64, 64);
  NameSingular = "bat";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 200;
  CanBeGenerated = true;
  ClassStates = INFRA_VISION;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 20;
  PanicLevel = 75;
  FleshMaterial = BAT_FLESH;
  AttachedGod = INFUSCOR;
  BiteCapturesBodyPart = false;
  MoveType = FLY;
}

mistress
{
  DefaultArmStrength = 20;
  DefaultLegStrength = 20;
  DefaultDexterity = 40;
  DefaultAgility = 40;
  DefaultEndurance = 20;
  DefaultPerception = 30;
  DefaultIntelligence = 20;
  DefaultWisdom = 20;
  DefaultCharisma = 40;
  DefaultMana = 10;
  Sex = FEMALE;
  SkinColor = rgb16(255, 212, 192);
  HairColor = rgb16(200, 200, 200);
  ClothColor = rgb16(35, 35, 35);
  HeadBitmapPos = 112, 240;
  TorsoBitmapPos = 48, 96;
  ArmBitmapPos = 80, 80;
  LegBitmapPos = 16, 32;
  TotalVolume = 50000;
  TotalSize = 180;
  CanRead = true;
  NameSingular = "mistress";
  NamePlural = "mistresses";
  CanBeGenerated = true;
  BodyArmor = LEATHER bodyarmor(PLATE_MAIL);
  RightGauntlet = LEATHER gauntlet;
  RightBoot = LEATHER boot;
  RightWielded = NYMPH_HAIR whip { Enchantment = 1; }
  LeftWielded = NYMPH_HAIR whip { Enchantment = 1; }
  KnownCWeaponSkills == WHIPS;
  CWeaponSkillHits == 200;
  RightSWeaponSkillHits = 200;
  LeftSWeaponSkillHits = 200;
  ClassStates = INFRA_VISION;
  PanicLevel = 20;
  Inventory = { 2, banana { Chance = 10; }, holybanana { Chance = 1; } }
  HostileReplies == "\"Come closer, little boy, I'll teach you something...\"";
  AttachedGod = NEFAS;
  WieldedPosition = 0, -1;
  FriendlyReplies =
  {
    3,
    "\"What? You want more whip?\"",
    "\"Ever participated in the weekly orgy at Nefas's High Temple? I guess not. You wouldn't have survived.\"",
    "\"If you think I'm rough, you should avoid Sherarax, my queen. No man has ever lived through a night with her.\"";
  }
  ScienceTalkAdjectiveAttribute =
  {
    52,
    "applied", "theoretical", "classical", "the future of", "queer",
    "practical", "the secrets of", "ancient", "empirical", "statistical",
    "the axioms of", "forbidden", "popular", "obscene", "ceremonial",
    "environmental", "the code of", "modern", "hard", "unorthodox",
    "the principle of", "oral", "commercial", "slippery", "scientific",

    "the theory of", "educational", "recreational", "phallic", "gothic",
    "motorized",  "tropical", "the purpose of", "happy", "political",
    "the history of", "the creative uses of", "chaotic", "erotic", "arctic",
    "experimental", "lewd", "clinical", "electrical", "nymphomaniacal",
    "intellectual", "the origin of", "hot", "frictionless", "lesbian",

    "the art of", "sick";
  }
  ScienceTalkSubstantiveAttribute =
  {
    4,
    "New Age", "last century", "horseback", "pagan";
  }
  ScienceTalkPrefix =
  {
    19,
    "", "", "", "", "",
    "", "", "", "", "",
    "ethno", "mega", "neo", "necro", "aero",
    "pyro", "caco", "sado", "hetero";
  }
  ScienceTalkName =
  {
    52,
    "impalement", "bondage", "slavery", "torture", "disembowelment",
    "whipmaking", "orgies", "herecy", "brazen bulls", "necrophilia",
    "masochism", "dentistry", "swedish", "feminism", "licking",
    "mushrooms", "rock", "nefasim", "birth-control", "fetishes",
    "testicle crushing", "pleasures", "anatomy", "pain", "sin",

    "bananas", "bestiality", "agony", "Kama Sutra", "spanking",
    "piercings", "adultery", "frottage", "thumbscrews", "egoism",
    "beer", "castration", "watersports", "scaphism", "seduction",
    "iron maidens", "fisting", "drugs", "lingerie", "tablillas",
    "poker", "reproduction", "sake", "idolatry", "horror",

    "sensory deprivation tanks", "hallucinations";
  }
  ScienceTalkPossibility = 95;
  ScienceTalkIntelligenceModifier = 2;
  ScienceTalkWisdomModifier = 1;
  ScienceTalkIntelligenceRequirement = 6;
  ScienceTalkWisdomRequirement = 3;

  Config TORTURING_CHIEF;
  {
    HairColor = rgb16(200, 200, 0);
    AttributeBonus = 15;
    BodyArmor = NYMPH_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 1; }
    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 1; }
    RightBoot = NYMPH_HAIR boot { Enchantment = 1; }
    RightWielded = OMMEL_HAIR whip { Enchantment = 2; }
    LeftWielded = OMMEL_HAIR whip { Enchantment = 2; }
    CWeaponSkillHits == 500;
    RightSWeaponSkillHits = 500;
    LeftSWeaponSkillHits = 500;
    NameSingular = "mistress torturing chief";
    PanicLevel = 15;
  }

  Config WHIP_CHAMPION;
  {
    HairColor = rgb16(200, 0, 0);
    AttributeBonus = 30;
    BodyArmor = OMMEL_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 2; }
    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 2; }
    RightBoot = OMMEL_HAIR boot { Enchantment = 2; }
    RightWielded = PHOENIX_FEATHER whip(RUNED_WHIP) { Enchantment = 3; }
    LeftWielded = PHOENIX_FEATHER whip(RUNED_WHIP) { Enchantment = 3; }
    CWeaponSkillHits == 1000;
    RightSWeaponSkillHits = 1000;
    LeftSWeaponSkillHits = 1000;
    NameSingular = "mistress whip champion";
    PanicLevel = 10;
  }

  Config WAR_LADY;
  {
    HairColor = rgb16(80, 64, 32);
    AttributeBonus = 45;
    BodyArmor = PHOENIX_FEATHER bodyarmor(PLATE_MAIL) { Enchantment = 3; }
    Cloak = PHOENIX_FEATHER cloak { Enchantment = 3; }
    RightGauntlet = PHOENIX_FEATHER gauntlet { Enchantment = 3; }
    RightBoot = PHOENIX_FEATHER boot { Enchantment = 3; }
    RightWielded = ANGEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 4; }
    LeftWielded = ANGEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 4; }
    CWeaponSkillHits == 2000;
    RightSWeaponSkillHits = 2000;
    LeftSWeaponSkillHits = 2000;
    NameSingular = "mistress warlady";
    NamePlural = "mistress warladies";
    PanicLevel = 5;
    Inventory == Random { Category = RING; Chance = 10; }
  }

  Config QUEEN;
  {
    HairColor = rgb16(35, 35, 35);
    AttributeBonus = 60;
    BodyArmor = ANGEL_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 4; }
    Amulet = amulet(AMULET_OF_LIFE_SAVING);
    Cloak = SPIDER_SILK cloak { Enchantment = 4; }
    Belt = DRAGON_HIDE belt { Enchantment = 4; }
    RightGauntlet = PHOENIX_FEATHER gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
    RightRing = ring(RING_OF_TELEPORT_CONTROL);
    LeftRing = ring(RING_OF_TELEPORTATION);
    RightBoot = DRAGON_HIDE boot(BOOT_OF_KICKING) { Enchantment = 4; }
    RightWielded = SPIDER_SILK whipofthievery { Enchantment = 5; }
    LeftWielded = SPIDER_SILK chameleonwhip { Enchantment = 5; }
    KnownCWeaponSkills = { 2, WHIPS, KICK; }
    CWeaponSkillHits = { 2, 5000, 1000; }
    RightSWeaponSkillHits = 5000;
    LeftSWeaponSkillHits = 5000;
    NameSingular = "mistress queen";
    PanicLevel = 0;
    ClassStates = INVISIBLE|HASTE|INFRA_VISION|ESP;
    IsCharmable = false;
    IsUnique = true;
    CanBeWished = true;
    DefaultName = "Sherarax";
    DangerModifier = 1500;
    IsNameable = false;
    CanBeCloned = false;
    IsPolymorphable = false;
    Inventory = { 4, scrolloftaming, scrolloftaming, wand(WAND_OF_HASTE), wand(WAND_OF_HASTE); }
    CanBeConfused = false;
    FireResistance = 40;
    ElectricityResistance = 40;
    EnergyResistance = 40;
    IsImmuneToItemTeleport = true;
    AllowUnconsciousness = false;
  }
}

werewolfhuman
{
  DefaultArmStrength = 20;
  DefaultLegStrength = 20;
  DefaultDexterity = 20;
  DefaultAgility = 20;
  DefaultEndurance = 15;
  DefaultPerception = 18;
  DefaultIntelligence = 20;
  DefaultWisdom = 20;
  DefaultCharisma = 20;
  DefaultMana = 20;
  TotalVolume = 70000;
  EyeColor = rgb16(160, 0, 0);
  ClothColor = rgb16(114, 84, 52);
  HeadBitmapPos = 96, 0;
  TorsoBitmapPos = 48, 0;
  ArmBitmapPos = 64, 0;
  LegBitmapPos = 0, 176;
  HostileReplies == "@Dd screams in fury.";
  FriendlyReplies == "@Dd screams in a friendly manner.";
  TotalSize = 170;
  NameSingular = "werewolf";
  NamePlural = "werewolves";
  AttackStyle = USE_ARMS;
  CanBeGenerated = true;
  CanRead = true;
  ClassStates = LYCANTHROPY;
  KnownCWeaponSkills == UNARMED;
  CWeaponSkillHits == 200;
  BaseUnarmedStrength = 300;
  FleshMaterial = WERE_WOLF_FLESH;
  AttachedGod = INFUSCOR;
}

werewolfwolf
{
  DefaultArmStrength = 25;
  DefaultLegStrength = 25;
  DefaultDexterity = 35;
  DefaultAgility = 35;
  DefaultEndurance = 25;
  DefaultPerception = 24;
  DefaultIntelligence = 10;
  DefaultWisdom = 10;
  DefaultCharisma = 10;
  DefaultMana = 0;
  TotalVolume = 70000;
  EyeColor = rgb16(200, 200, 0);
  ClothColor = rgb16(114, 84, 52);
  SkinColor = rgb16(100, 100, 100);
  HeadBitmapPos = 112, 144;
  TorsoBitmapPos = 48, 0;
  ArmBitmapPos = 64, 240;
  LegBitmapPos = 0, 192;
  HostileReplies == "@Dd growls in fury.";
  FriendlyReplies == "@Dd growls cheerfully.";
  TotalSize = 200;
  NameSingular = "werewolf";
  NamePlural = "werewolves";
  AttackStyle = USE_HEAD;
  Sex = UNDEFINED;
  BaseBiteStrength = 1200;
  CanUseEquipment = false;
  CanBeWished = false;
  ClassStates = INFRA_VISION;
  PanicLevel = 0;
  FleshMaterial = WERE_WOLF_FLESH;
  AttachedGod = INFUSCOR;
  WillCarryItems = true;
}

kobold
{
  DefaultArmStrength = 6;
  DefaultLegStrength = 6;
  DefaultDexterity = 7;
  DefaultAgility = 9;
  DefaultEndurance = 9;
  DefaultPerception = 12;
  DefaultIntelligence = 4;
  DefaultWisdom = 4;
  DefaultCharisma = 4;
  DefaultMana = 0;
  SkinColor = rgb16(60, 120, 120);
  EyeColor = rgb16(180, 180, 0);
  HairColor = rgb16(35, 35, 35);
  ClothColor = rgb16(48, 48, 48);
  LegMainColor = rgb16(111, 74, 37);
  HeadBitmapPos = 112, 208;
  TorsoBitmapPos = 48, 176;
  ArmBitmapPos = 64, 176;
  LegBitmapPos = 16, 112;
  TotalVolume = 30000;
  TotalSize = 90;
  NameSingular = "kobold";
  CanBeGenerated = true;
  Sex = UNDEFINED;
  RightWielded = BALSA_WOOD BALSA_WOOD meleeweapon(SPEAR);
  KnownCWeaponSkills == POLE_ARMS;
  CWeaponSkillHits == 5;
  RightSWeaponSkillHits = 0;
  PanicLevel = 75;
  FleshMaterial = KOBOLD_FLESH;
  DeathMessage = "@Dd dies yelling like a tortured hyena.";
  AttachedGod = CRUENTUS;
  WieldedPosition = 0, -1;
  IsExtraFragile = true;

  Config CHIEFTAIN;
  {
    AttributeBonus = 30;
    RightWielded = COPPER meleeweapon(SPEAR);
    CWeaponSkillHits == 10;
    RightSWeaponSkillHits = 5;
    NameSingular = "kobold chieftain";
    PanicLevel = 66;
    ClothColor = rgb16(100, 100, 48);
    LegMainColor = rgb16(111, 74, 37);
  }

  Config LORD;
  {
    AttributeBonus = 60;
    RightWielded = IRON meleeweapon(SPEAR);
    CWeaponSkillHits == 20;
    RightSWeaponSkillHits = 10;
    NameSingular = "kobold lord";
    PanicLevel = 50;
    ClothColor = rgb16(160, 0, 0);
    LegMainColor = rgb16(111, 74, 37);
    Inventory == Random { Category = RING; Chance = 5; }
  }

  Config PATRIARCH;
  {
    AttributeBonus = 120;
    Helmet = METEORIC_STEEL helmet;
    BodyArmor = METEORIC_STEEL bodyarmor(CHAIN_MAIL);
    RightWielded = MITHRIL meleeweapon(SPEAR) { Enchantment = 1; }
    Belt = OMMEL_HAIR belt;
    Cloak = NYMPH_HAIR cloak;
    RightGauntlet = NYMPH_HAIR gauntlet;
    RightBoot = TROLL_HIDE boot;
    CWeaponSkillHits == 100;
    RightSWeaponSkillHits = 50;
    NameSingular = "kobold patriarch";
    IsUnique = true;
    CanBeWished = true;
    DefaultName = "Rondol";
    DangerModifier = 2500;
    IsNameable = false;
    CanBeCloned = false;
    TotalVolume = 70000;
    PanicLevel = 33;
    TotalSize = 120;
    ClothColor = rgb16(144, 0, 144);
    LegMainColor = rgb16(111, 74, 37);
    Inventory == wand(WAND_OF_POLYMORPH);
    FireResistance = 20;
    ElectricityResistance = 20;
    EnergyResistance = 20;
    IsExtraFragile = false;
  }
}

gibberling
{
  DefaultArmStrength = 7;
  DefaultLegStrength = 7;
  DefaultDexterity = 5;
  DefaultAgility = 15;
  DefaultEndurance = 10;
  DefaultPerception = 15;
  DefaultIntelligence = 4;
  DefaultWisdom = 4;
  DefaultCharisma = 5;
  DefaultMana = 0;
  SkinColor = rgb16(100, 100, 200);
  HairColor = rgb16(50, 20, 80);
  ClothColor = rgb16(111, 74, 37);
  EyeColor = rgb16(50, 0, 0);
  HeadBitmapPos = 112, 96;
  TorsoBitmapPos = 48, 144;
  ArmBitmapPos = 80, 144;
  LegBitmapPos = 16, 128;
  TotalVolume = 30000;
  TotalSize = 90;
  SkinColor = rgb16(100, 100, 200);
  NameSingular = "gibberling";
  CanBeGenerated = true;
  Sex = UNDEFINED;
  CanUseEquipment = false;
  CanTalk = false;
  KnownCWeaponSkills == UNARMED;
  CWeaponSkillHits == 50;
  PanicLevel = 85;
  BaseUnarmedStrength = 300;
  FleshMaterial = GIBBERLING_FLESH;
  AttachedGod = SILVA;
  HostileReplies == "@Dd gibbers diabolically.";
  FriendlyReplies == "@Dd gibbers joyfully.";
  WillCarryItems = false;
  IsExtraFragile = true;
}

largecat
{
  DefaultArmStrength = 4;
  DefaultAgility = 35;
  DefaultEndurance = 10;
  DefaultPerception = 21;
  DefaultIntelligence = 10;
  DefaultWisdom = 10;
  DefaultCharisma = 20;
  DefaultMana = 0;
  TotalVolume = 15000;
  TorsoBitmapPos = 496, 0;
  HostileReplies == "@Dd mews.";
  FriendlyReplies == "@Dd purrs.";
  TotalSize = 60;
  SkinColor = rgb16(50, 50, 50);
  Adjective = "large";
  NameSingular = "cat";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 600;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 50;
  ClassStates = INFRA_VISION;
  FleshMaterial = CAT_FLESH;
  AttachedGod = SILVA;
  DangerModifier = 50;
}

largerat
{
  DefaultArmStrength = 3;
  DefaultAgility = 20;
  DefaultEndurance = 10;
  DefaultPerception = 12;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 4;
  DefaultMana = 0;
  CanOpen = false;
  TotalVolume = 4000;
  TorsoBitmapPos = 512, 0;
  HostileReplies == "The furious @du squeaks.";
  FriendlyReplies == "@Dd squeaks in a friendly manner.";
  TotalSize = 30;
  SkinColor = rgb16(180, 100, 40);
  Adjective = "large";
  NameSingular = "rat";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 350;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 20;
  ClassStates = INFRA_VISION;
  FleshMaterial = RAT_FLESH;
  AttachedGod = SCABIES;
  MoveType = WALK|SWIM;
}

angel
{
  DefaultArmStrength = 25;
  DefaultLegStrength = 25;
  DefaultDexterity = 25;
  DefaultAgility = 25;
  DefaultEndurance = 25;
  DefaultPerception = 35;
  DefaultIntelligence = 25;
  DefaultWisdom = 35;
  DefaultCharisma = 50;
  DefaultMana = 35;
  IsCharmable = false;
  Sex = FEMALE;
  TotalVolume = 60000;
  TorsoBitmapPos = 432, 0;
  TotalSize = 200;
  CanRead = true;
  NameSingular = "angel";
  UsesLongArticle = true;
  ClassStates = ESP|GAS_IMMUNITY|TELEPORT_CONTROL;
  SkinColor = rgb16(200, 200, 200);
  HairColor = rgb16(180, 180, 0);
  EyeColor = rgb16(48, 48, 255);
  HeadBitmapPos = 112, 256;
  TorsoBitmapPos = 48, 256;
  ArmBitmapPos = 80, 256;
  /* LegBitmapPos is not used */
  CreateDivineConfigurations = true;
  IsAbstract = true;
  /* Equipment initialization overridden */
  PanicLevel = 0;
  BaseUnarmedStrength = 200;
  HostileReplies == "\"With the power of @Gd, I shall slay thee, sinner!\"";
  FriendlyReplies == "\"@Gd be with you, mortal.\"";
  DeathMessage = "@Dd leaves this mortal plane behind.";
  StandVerb = "flying";
  AttachedGod = NONE;
  BodyPartsDisappearWhenSevered = true;
  CanBeConfused = false;
  WieldedPosition = 0, -2;
  MoveType = FLY;
  UsesNutrition = false;
  IsPolymorphable = false;
  ScienceTalkPossibility = 25;
  ScienceTalkIntelligenceModifier = 25;
  ScienceTalkWisdomModifier = 100;
  ScienceTalkIntelligenceRequirement = 10;
  ScienceTalkWisdomRequirement = 20;
  CanChoke = false;
}

kamikazedwarf
{
  DefaultArmStrength = 20;
  DefaultLegStrength = 20;
  DefaultDexterity = 20;
  DefaultAgility = 20;
  DefaultEndurance = 15;
  DefaultPerception = 18;
  DefaultIntelligence = 10;
  DefaultWisdom = 5;
  DefaultCharisma = 10;
  DefaultMana = 10;
  HeadBitmapPos = 112, 160;
  TorsoBitmapPos = 48, 16;
  ArmBitmapPos = 80, 0;
  LegBitmapPos = 0, 208;
  HairColor = rgb16(144, 72, 0);
  BeltColor = rgb16(72, 56, 16);
  TotalVolume = 60000;
  TotalSize = 130;
  CanRead = true;
  NameSingular = "kamikaze dwarf";
  NamePlural = "kamikaze dwarves";
  CanBeGenerated = true;
  CreateDivineConfigurations = true;
  IsAbstract = true;
  /* Equipment initialization overridden */
  PanicLevel = 1;
  Inventory == backpack;
  FleshMaterial = DWARF_FLESH;
  DeathMessage = "@Dd dies smiling.";
  IgnoreDanger = true;
  HPRequirementForGeneration = 60;
  DayRequirementForGeneration = 6;
  Frequency = 300;
  HostileReplies == "\"Heaven awaits me in the house of @Gd after I bomb you, heretic!\"";
  AttachedGod = NONE;
  WieldedPosition = -1, -2;
  FriendlyReplies =
  {
    4,
    "\"Would you like me to teach you the best suicidal bombing tactics?\"",
    "@Dd shouts: \"Death to disbelievers!\"",
    "@Dd praises @Gd with numerous hymns. @Pp is obviously a very devoted follower.",
    "\"One day, Holy War will break out and I shall sacrifice my life with joy.\"";
  }
}

mammoth
{
  DefaultArmStrength = 80;
  DefaultAgility = 20;
  DefaultEndurance = 15;
  DefaultPerception = 18;
  DefaultIntelligence = 5;
  DefaultWisdom = 7;
  DefaultCharisma = 10;
  DefaultMana = 0;
  TotalVolume = 2000000;
  TorsoBitmapPos = 528, 0;
  HostileReplies == "@Dd roars furiously.";
  FriendlyReplies == "@Dd roars kindly.";
  TotalSize = 500;
  SkinColor = rgb16(100, 130, 160);
  Adjective = "baby";
  NameSingular = "mammoth";
  AttackStyle = USE_LEGS|USE_HEAD;
  BaseKickStrength = 1000;
  BaseBiteStrength = 500;
  CanBeGenerated = true;
  CanKick = true;
  KnownCWeaponSkills = { 2, KICK, BITE; }
  CWeaponSkillHits = { 2, 50, 50; }
  PanicLevel = 10;
  FleshMaterial = MAMMOTH_FLESH;
  AttachedGod = SILVA;
  Frequency = 2500;
  IsEnormous = true;
}

unicorn
{
  DefaultArmStrength = 15;
  DefaultAgility = 40;
  DefaultEndurance = 10;
  DefaultPerception = 18;
  DefaultIntelligence = 25;
  DefaultWisdom = 20;
  DefaultCharisma = 30;
  DefaultMana = 25;
  HostileReplies == "The furious @du neighs.";
  FriendlyReplies == "The happy @du neighs.";
  TotalVolume = 100000;
  TorsoBitmapPos = 544, 0;
  TotalSize = 200;
  NameSingular = "unicorn";
  AttackStyle = USE_LEGS|USE_HEAD;
  BaseKickStrength = 700;
  BaseBiteStrength = 350;
  CanBeGenerated = true;
  CanKick = true;
  IsAbstract = true;
  TorsoMainColor = rgb16(200, 200, 200); /* the horn */
  KnownCWeaponSkills = { 2, KICK, BITE; }
  CWeaponSkillHits = { 2, 50, 50; }
  Inventory = { 2, stone { Chance = 50; }, stone { Chance = 50; } }
  Frequency = 5000;

  Config GOOD;
  {
    SkinColor = rgb16(200, 200, 200);
    Adjective = "white";
    FleshMaterial = WHITE_UNICORN_FLESH;
    AttachedGod = DULCIS;
  }

  Config NEUTRAL;
  {
    SkinColor = rgb16(144, 144, 144);
    Adjective = "gray";
    FleshMaterial = GRAY_UNICORN_FLESH;
    AttachedGod = TERRA;
  }

  Config EVIL;
  {
    SkinColor = rgb16(80, 80, 80);
    Adjective = "black";
    FleshMaterial = BLACK_UNICORN_FLESH;
    AttachedGod = MORTIFER;
  }
}

genie
{
  DefaultArmStrength = 20;
  DefaultLegStrength = 20; /* not used */
  DefaultDexterity = 25;
  DefaultAgility = 50;
  DefaultEndurance = 15;
  DefaultPerception = 18;
  DefaultIntelligence = 20;
  DefaultWisdom = 25;
  DefaultCharisma = 20;
  DefaultMana = 50;
  StandVerb = "floating";
  TotalVolume = 200000;
  TotalSize = 250;
  CanRead = true;
  NameSingular = "genie";
  ClothColor = rgb16(100, 100, 160);
  HeadBitmapPos = 96, 272;
  TorsoBitmapPos = 32, 272;
  ArmBitmapPos = 64, 272;
  /* LegBitmapPos is not used */
  KnownCWeaponSkills == LARGE_SWORDS;
  CWeaponSkillHits == 500;
  RightSWeaponSkillHits = 200;
  PanicLevel = 0;
  BaseEmitation = rgb24(110, 110, 130);
  HostileReplies == "\"Fall, puny primy!\"";
  FriendlyReplies == "\"You know, it's not fun to stay in an oil lamp for three centuries...\"";
  Belt = SPIDER_SILK belt;
  FleshMaterial = MAGICAL_AIR;
  DeathMessage = "@Dd vanishes from existence.";
  SpillsBlood = false;
  Sweats = false;
  AttachedGod = ATAVUS;
  BodyPartsDisappearWhenSevered = true;
  ClassStates = GAS_IMMUNITY|LEVITATION;
  WieldedPosition = -1, -3;
  CanChoke = false;
  IsImmuneToStickiness = true;
}

lion
{
  DefaultArmStrength = 20;
  DefaultAgility = 25;
  DefaultEndurance = 15;
  DefaultPerception = 24;
  DefaultIntelligence = 7;
  DefaultWisdom = 15;
  DefaultCharisma = 20;
  DefaultMana = 0;
  TotalVolume = 100000;
  TorsoBitmapPos = 576, 0;
  HostileReplies == "@Dd growls furiously.";
  FriendlyReplies == "@Dd growls happily.";
  TotalSize = 200;
  SkinColor = rgb16(200, 200, 112);
  NameSingular = "lion";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 800;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 200;
  FleshMaterial = LION_FLESH;
  DeathMessage = "@Dd growls and is slain.";
  AttachedGod = SILVA;
  AutomaticallySeen = true;
}

carnivorousplant
{
  DefaultArmStrength = 4;
  DefaultAgility = 2;
  DefaultEndurance = 7;
  DefaultPerception = 6;
  DefaultIntelligence = 3;
  DefaultWisdom = 2;
  DefaultCharisma = 3;
  DefaultMana = 0;
  CanOpen = false;
  TotalVolume = 20000;
  TorsoBitmapPos = 0, 16;
  HostileReplies == "@Dd is silent.";
  FriendlyReplies == "@Dd is silent.";
  TotalSize = 100;
  Adjective = "carnivorous";
  NameSingular = "plant";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 300;
  SkinColor = rgb16(111, 64, 37);
  TorsoMainColor = rgb16(0, 160, 0); /* the leaves */
  /* TorsoSpecialColor (the flower) is random */
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 20;
  PanicLevel = 0;
  ClassStates = INFRA_VISION;
  HasALeg = false;
  FleshMaterial = PLANT_FIBER;
  DeathMessage = "@Dd is destroyed.";
  SpillsBlood = false;
  Sweats = false;
  StandVerb = "rooted";
  AttachedGod = SILVA;
  IsPlant = true;
  IsRooted = true;
  AllowUnconsciousness = false;
  CanChoke = false;

  Config GREATER;
  {
    AttributeBonus = 175;
    TorsoBitmapPos = 96, 16;
    Adjective = "greater carnivorous";
    BaseBiteStrength = 500;
    CWeaponSkillHits == 50;
    TotalVolume = 30000;
    TotalSize = 175;
  }

  Config GIANT;
  {
    AttributeBonus = 250;
    TorsoBitmapPos = 80, 16;
    Adjective = "giant carnivorous";
    BaseBiteStrength = 700;
    CWeaponSkillHits == 100;
    TotalVolume = 40000;
    TotalSize = 250;
    IsEnormous = true;
  }
}

buffalo
{
  DefaultArmStrength = 40;
  DefaultAgility = 25;
  DefaultEndurance = 20;
  DefaultPerception = 24;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 5;
  DefaultMana = 0;
  TotalVolume = 200000;
  TorsoBitmapPos = 16,16;
  HostileReplies == "The angry @du snarls.";
  FriendlyReplies == "The friendly @du snarls.";
  TotalSize = 250;
  SkinColor = rgb16(90, 85, 80);
  TorsoMainColor = rgb16(120, 120, 120); /* the horns */
  NameSingular = "buffalo";
  AttackStyle = USE_LEGS|USE_HEAD;
  BaseKickStrength = 500;
  BaseBiteStrength = 250;
  CanKick = true;
  CanBeGenerated = true;
  KnownCWeaponSkills = { 2, KICK, BITE; }
  CWeaponSkillHits = { 2, 50, 50; }
  PanicLevel = 10;
  FleshMaterial = BUFFALO_FLESH;
  DeathMessage = "@Dd snarls one last time.";
  AttachedGod = SILVA;
  Frequency = 2500;
  IsEnormous = true;
}

snake
{
  DefaultArmStrength = 7;
  DefaultAgility = 5;
  DefaultEndurance = 10;
  DefaultPerception = 9;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 5;
  DefaultMana = 0;
  TotalVolume = 10000;
  TorsoBitmapPos = 384, 0;
  HostileReplies == "@Dd hisses in fury.";
  FriendlyReplies == "@Dd hisses in a friendly manner.";
  TotalSize = 250;
  SkinColor = rgb16(130, 0, 0);
  NameSingular = "snake";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 500;
  StandVerb = "lying";
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 100;
  ClassStates = INFRA_VISION;
  HasALeg = false;
  FleshMaterial = SNAKE_FLESH;
  DangerModifier = 75;
  CanOpen = false;
  AttachedGod = MELLIS;
  AutomaticallySeen = true;
  RunDescriptionLineOne = "Crawling";
  RunDescriptionLineTwo = "very fast";
}

orc
{
  DefaultArmStrength = 15;
  DefaultLegStrength = 15;
  DefaultDexterity = 10;
  DefaultAgility = 20;
  DefaultEndurance = 15;
  DefaultPerception = 18;
  DefaultIntelligence = 7;
  DefaultWisdom = 6;
  DefaultCharisma = 4;
  DefaultMana = 0;
  SkinColor = rgb16(48, 48, 48);
  EyeColor = rgb16(200, 200, 0);
  ClothColor = rgb16(180, 120, 80);
  BeltColor = rgb16(72, 60, 24);
  LegMainColor = rgb16(96, 80, 48);
  HeadBitmapPos = 112, 192;
  TorsoBitmapPos = 48, 0;
  ArmBitmapPos = 80, 32;
  LegBitmapPos = 0, 240;
  TotalVolume = 90000;
  TotalSize = 180;
  UsesLongArticle = true;
  NameSingular = "orc";
  CanBeGenerated = true;
  Sex = UNDEFINED;
  BodyArmor = TROLL_HIDE bodyarmor(PLATE_MAIL);
  RightWielded = BRONZE meleeweapon(AXE);
  LeftWielded = BRONZE meleeweapon(AXE);
  KnownCWeaponSkills == AXES;
  CWeaponSkillHits == 50;
  RightSWeaponSkillHits = 20;
  LeftSWeaponSkillHits = 20;
  ClassStates = GAS_IMMUNITY|INFRA_VISION;
  PanicLevel = 50;
  HostileReplies == "\"Nice scalp! Me want it!\"";
  FriendlyReplies == "\"Has you seen any elf or dwarf? Me hungry.\"";
  FleshMaterial = ORC_FLESH;
  AttachedGod = CRUENTUS;
  WieldedPosition = -1, -1;
  DangerModifier = 75;
  ScienceTalkPossibility = 25;
  ScienceTalkIntelligenceModifier = 1;
  ScienceTalkWisdomModifier = 1;
  ScienceTalkIntelligenceRequirement = 3;
  ScienceTalkWisdomRequirement = 3;
  ScienceTalkName =
  {
    10,
    "killing", "murder", "rape", "torture", "burns",
    "cannibalism", "slaughtering", "malice", "axes", "blood";
  }

  Config SLAUGHTERER;
  {
    TorsoBitmapPos = 48, 48;
    AttributeBonus = 20;
    Helmet = BRONZE helmet;
    BodyArmor = BRONZE bodyarmor(CHAIN_MAIL);
    RightWielded = IRON meleeweapon(AXE);
    LeftWielded = IRON meleeweapon(AXE);
    CWeaponSkillHits == 100;
    RightSWeaponSkillHits = 50;
    LeftSWeaponSkillHits = 50;
    NameSingular = "orc slaughterer";
    PanicLevel = 40;
    Inventory == potion { SecondaryMaterial = TROLL_BLOOD; Chance = 10; }
  }

  Config SQUAD_LEADER;
  {
    HairColor = rgb16(120, 120, 120);
    HeadBitmapPos = 112, 176;
    TorsoBitmapPos = 48, 48;
    AttributeBonus = 40;
    Helmet = IRON helmet(FULL_HELMET);
    BodyArmor = IRON bodyarmor(CHAIN_MAIL);
    RightWielded = IRON meleeweapon(HALBERD);
    LeftWielded = 0;
    KnownCWeaponSkills == POLE_ARMS;
    CWeaponSkillHits == 200;
    RightSWeaponSkillHits = 100;
    NameSingular = "orc squad leader";
    PanicLevel = 30;
  }

  Config OFFICER;
  {
    HairColor = rgb16(0, 200, 0);
    ClothColor = rgb16(96, 96, 96);
    LegMainColor = rgb16(72, 72, 72);
    LegSpecialColor = rgb16(112, 80, 48);
    HeadBitmapPos = 112, 176;
    TorsoBitmapPos = 48, 32;
    ArmBitmapPos = 80, 16;
    LegBitmapPos = 0, 224;
    AttributeBonus = 60;
    Helmet = STEEL helmet(FULL_HELMET);
    BodyArmor = STEEL bodyarmor(CHAIN_MAIL);
    RightWielded = STEEL meleeweapon(HALBERD) { Enchantment = 1; }
    LeftWielded = 0;
    KnownCWeaponSkills == POLE_ARMS;
    CWeaponSkillHits == 500;
    RightSWeaponSkillHits = 200;
    NameSingular = "orc officer";
    PanicLevel = 20;
  }

  Config GENERAL;
  {
    HairColor = rgb16(200, 0, 0);
    ClothColor = rgb16(72, 72, 72);
    LegMainColor = rgb16(48, 48, 48);
    LegSpecialColor = rgb16(96, 64, 32);
    HeadBitmapPos = 112, 176;
    TorsoBitmapPos = 48, 32;
    ArmBitmapPos = 80, 16;
    LegBitmapPos = 0, 224;
    AttributeBonus = 80;
    Helmet = MITHRIL helmet(FULL_HELMET) { Enchantment = 1; }
    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 1; }
    RightWielded = MITHRIL meleeweapon(HALBERD) { Enchantment = 2; }
    LeftWielded = 0;
    KnownCWeaponSkills == POLE_ARMS;
    CWeaponSkillHits == 1000;
    RightSWeaponSkillHits = 500;
    NameSingular = "orc general";
    PanicLevel = 10;
    Inventory = { 2, potion { SecondaryMaterial = HEALING_LIQUID; Chance = 10; }, Random { Category = RING; Chance = 10; } }
    TotalVolume = 120000;
  }

  Config MARSHAL;
  {
    HairColor = rgb16(200, 0, 200);
    ClothColor = rgb16(48, 48, 48);
    LegMainColor = rgb16(32, 32, 32);
    LegSpecialColor = rgb16(80, 48, 16);
    HeadBitmapPos = 112, 176;
    TorsoBitmapPos = 48, 32;
    ArmBitmapPos = 80, 16;
    LegBitmapPos = 0, 224;
    AttributeBonus = 100;
    Helmet = MITHRIL helmet(FULL_HELMET) { Enchantment = 2; }
    Cloak = ANGEL_HAIR cloak { Enchantment = 2; }
    BodyArmor = DRAGON_HIDE bodyarmor(PLATE_MAIL) { Enchantment = 2; }
    RightWielded = RUBY meleeweapon(HALBERD) { Enchantment = 3; }
    LeftRing = ring(RING_OF_TELEPORT_CONTROL);
    LeftWielded = 0;
    Belt = RUBY belt { Enchantment = 2; }
    RightGauntlet = DRAGON_HIDE gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 2; }
    RightBoot = SPIDER_SILK boot { Enchantment = 2; }
    LeftWielded = 0;
    KnownCWeaponSkills == POLE_ARMS;
    CWeaponSkillHits == 2000;
    RightSWeaponSkillHits = 1000;
    NameSingular = "orc marshal";
    PanicLevel = 0;
    IsUnique = true;
    CanBeWished = true;
    DefaultName = "Ur-Khan";
    DangerModifier = 1500;
    IsNameable = false;
    CanBeCloned = false;
    IsPolymorphable = false;
    TotalVolume = 150000;
    Inventory = { 4, potion { SecondaryMaterial = OMMEL_URINE; }, potion { SecondaryMaterial = OMMEL_URINE; }, potion { SecondaryMaterial = OMMEL_URINE; }, potion { SecondaryMaterial = OMMEL_URINE; } }
    CanBeConfused = false;
    FireResistance = 30;
    ElectricityResistance = 30;
    EnergyResistance = 30;
    IsImmuneToItemTeleport = true;
    IsEnormous = true;
    AllowUnconsciousness = false;
  }
}

cossack
{
  DefaultArmStrength = 20;
  DefaultLegStrength = 20;
  DefaultDexterity = 15;
  DefaultAgility = 15;
  DefaultEndurance = 15;
  DefaultPerception = 21;
  DefaultIntelligence = 10;
  DefaultWisdom = 7;
  DefaultCharisma = 7;
  DefaultMana = 0;
  BeltColor = rgb16(48, 48, 48);
  ClothColor = rgb16(64, 56, 24);
  HeadBitmapPos = 112, 224;
  TorsoBitmapPos = 48, 80;
  ArmBitmapPos = 64, 16;
  LegBitmapPos = 0, 96;
  TotalVolume = 70000;
  TotalSize = 190;
  NameSingular = "cossack";
  Helmet = HARDENED_LEATHER helmet;
  Cloak = HARDENED_LEATHER cloak;
  BodyArmor = IRON bodyarmor(CHAIN_MAIL);
  Belt = HARDENED_LEATHER belt;
  RightWielded = IRON IRON meleeweapon(LONG_SWORD);
  KnownCWeaponSkills == LARGE_SWORDS;
  CWeaponSkillHits == 100;
  RightSWeaponSkillHits = 100;
  RightGauntlet = HARDENED_LEATHER gauntlet;
  RightBoot = HARDENED_LEATHER boot;
  PanicLevel = 10;
  DeathMessage = "@Dd falls shouting: \"Hope there's vodka in hell!";
  HostileReplies == "@Dd shouts wildly: \"For Tataria!\"";
  AttachedGod = SILVA;
  FriendlyReplies =
  {
    4,
    "\"Graah! Eating raw flesh makes one feel so masculine and powerful! (and sick)\"",
    "\"It surely is cold on this island. Remembers me of my six years in Siberia after breaking into the local pub's booze cellar...\"",
    "\"What, why have I no horse? Er, I lost it in poker.\"",
    "\"Women are odd. No matter how many times I take them to hunt wild beasts of the Steppe or show them my collection of old vodka bottles, none of them still likes me.\"";
  }
}

bananagrower
{
  DefaultArmStrength = 10;
  DefaultLegStrength = 15;
  DefaultDexterity = 10;
  DefaultAgility = 20;
  DefaultEndurance = 15;
  DefaultPerception = 15;
  DefaultIntelligence = 20;
  DefaultWisdom = 30;
  DefaultCharisma = 10;
  DefaultMana = 5;
  TotalVolume = 80000;
  TotalSize = 170;
  NameSingular = "banana grower";
  RightGauntlet = LEATHER gauntlet;
  SkinColor = rgb16(128, 80, 48);
  HairColor = rgb16(80, 48, 32);
  ClothColor = rgb16(56, 48, 20);
  HeadBitmapPos = 96, 0;
  TorsoBitmapPos = 32, 0;
  ArmBitmapPos = 64, 64;
  LegBitmapPos = 0, 288;
  Inventory == banana { Times = 10; }
  IsCharmable = false; /* AI will go insane if he leaves New Attnam */
  HostileReplies == "\"Banana POWER!\"";
  AttachedGod = SILVA;
  CanRead = true;
  FriendlyReplies =
  {
    9, /* 6 first are used before the revolution */
    "@Dd curses: \"I hate bananas. I wish I still was @pd.\"",
    "\"I was @pd before Attnam invaded our peaceful land.\"",
    "@Dd glances thoughtfully to the sky: \"Our climate is truly optimal for bananas. It rains all the time here. Damn.\"",
    "\"1 + 1 = 3. I still don't believe it.\"",
    "@Dd sighs: \"Piranhas ate my mother-in-law a few days ago. And I thought the nature brings us no good!\"",
    "@Dd seems irritated. \"Go away! I know you can leave and I can't, and I'd prefer to forget that fact.\"";
    "@Dd seems very joyful. \"I can finally be @pd again!\"",
    "\"I knew you would come to save us!\"",
    "\"Kill Petrus for us, too!\"";
  }
  AutomaticallySeen = true;
  ScienceTalkPossibility = 10;
  ScienceTalkIntelligenceModifier = 10;
  ScienceTalkWisdomModifier = 25;
  ScienceTalkIntelligenceRequirement = 5;
  ScienceTalkWisdomRequirement = 10;
}

imperialist
{
  DefaultArmStrength = 20;
  DefaultLegStrength = 25;
  DefaultDexterity = 15;
  DefaultAgility = 20;
  DefaultEndurance = 15;
  DefaultPerception = 24;
  DefaultIntelligence = 35;
  DefaultWisdom = 10;
  DefaultCharisma = 25;
  DefaultMana = 10;
  TotalVolume = 160000;
  TotalSize = 160;
  NameSingular = "imperialist";
  Cloak = NYMPH_HAIR cloak { Enchantment = 1; }
  BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 1; }
  Belt = GOLD belt(BELT_OF_CARRYING) { Enchantment = 2; }
  RightWielded = OMMEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 3; }
  LeftWielded = OMMEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 3; }
  LeftRing = ring(RING_OF_INFRA_VISION);
  RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 1; }
  RightBoot = MITHRIL boot(BOOT_OF_KICKING) { Enchantment = 3; }
  KnownCWeaponSkills = { 2, WHIPS, KICK; }
  CWeaponSkillHits = { 2, 500, 500; }
  RightSWeaponSkillHits = 500;
  LeftSWeaponSkillHits = 500;
  PanicLevel = 10;
  TorsoBitmapPos = 48, 240;
  HeadBitmapPos = 96, 208;
  ArmBitmapPos = 80, 112;
  LegBitmapPos = 0, 0;
  ClothColor = rgb16(50, 50, 50);
  UsesLongArticle = true;
  Inventory = { 6, stone, stone, stone, stone, stone, holybook(MELLIS); }
  CanRead = true;
  HostileReplies == "\"Die you communist pig!\"";
  IsUnique = true;
  IsNameable = false;
  CanBeCloned = false;
  DefaultName = "Richel Decos";
  AttackStyle = USE_ARMS|USE_LEGS;
  CriticalModifier = 4;
  IsCharmable = false;
  StandVerb = "smiling in a twisted way";
  AttachedGod = MELLIS;
  CanBeConfused = false;
  IsPolymorphable = false;
  FriendlyReplies =
  {
    7, /* the last isn't used if the player is a sumo champion */
    "\"And they said levitating ostriches had no future! Hah!",
    "\"Poor people shouldn't complain - after all it's their own fault.\"",
    "\"Why can't those darn tax collectors ever believe an honest but poor enterpreneur who says he can't pay? Hmmm. I wonder if my room has something to do with it?\"",
    "\"I couldn't possibly thank this city enough for making Decos Bananas Co. the world's greatest fruit producer. So I don't do it all.\"",
    "\"Low work and transportation costs have allowed me to thrive in a way envied by all rivals.\"",
    "\"I won't stop until my bananas lie on the breakfast tables of every single dwarf, elf and man above Valpurus!\"",
    "\"What? You're still here? What the hell I pay you for? Wait, I don't pay you anything. Never mind.\"";
  }
  AutomaticallySeen = true;
  ScienceTalkAdjectiveAttribute =
  {
    81,
    "applied",  "recent", "theoretical", "classical", "the future of",
    "fundamental", "legendary", "higher", "elementary", "practical",
    "artificial", "the wonders of", "modern", "empirical", "statistical",
    "the axioms of", "the theory of", "urban", "forbidden", "nautical",
    "popular", "the current state of", "liberal", "ceremonial", "heroic",

    "mythical", "scientific", "advanced", "revolutionary", "motorized",
    "neolithic", "jurassic", "synthetic", "polymorphic", "strategic",
    "tropical", "diplomatic", "political", "experimental", "glorious",
    "the evolution of", "global", "natural", "genetic", "intellectual",
    "hard", "compressed", "educational", "recreational", "teleological",

    "the creative uses of", "selective", "the origin of", "royal", "alien",
    "evolutionary", "the art of", "psychic", "unified", "postmodern",
    "hypnotic", "doctrine:", "frictionless", "the secrets of", "mental",
    "transcendent", "the purpose of", "the history of", "good", "arctic",
    "the implementation of", "paraller", "orthodox", "soft", "chaotic",

    "happy", "the blessings of", "ancient", "flexible", "laissez-faire",
    "the magnificence of";
  }
  ScienceTalkSubstantiveAttribute =
  {
    7,
    "New Age", "space", "last century", "mass", "free market",
    "hybrid", "probability";
  }
  ScienceTalkPrefix =
  {
    18,
    "", "", "", "", "",
    "macro", "ethno", "hyper", "trans", "geo",
    "mega", "cosmo", "meta", "super", "ego",
    "pseudo", "eroto", "neo";
  }

  ScienceTalkName =
  {
    37,
    "commercials", "lockouts", "banking", "profits", "egoism",
    "bazaars", "corporations", "sackings", "advertising", "capitalism",
    "monopolies", "!M.U.L.E.", "tax cuts", "bargaining", "brands",
    "wholesaling", "cartels", "economics", "commerse", "lobbying",

    "the industrial revolution", "game theory", "!the Wealth of Nations",
    "economic growth", "right-wing politics", "customer manipulation",
    "public relations", "guerilla marketing", "industrial espionage",
    "the anti-communist movement", "investor relations", "price warfare",
    "the crusade against labour unions", "ESP marketing", "insurance firms",
    "cigarettes", "!the Prince";
  }
  ScienceTalkPossibility = 80;
  ScienceTalkIntelligenceModifier = 25;
  ScienceTalkWisdomModifier = 0;
  ScienceTalkCharismaModifier = 50;
  ScienceTalkIntelligenceRequirement = 10;
  ScienceTalkWisdomRequirement = 0;
  ScienceTalkCharismaRequirement = 15;
}

smith
{
  DefaultArmStrength = 35;
  DefaultLegStrength = 20;
  DefaultDexterity = 30;
  DefaultAgility = 10;
  DefaultEndurance = 30;
  DefaultPerception = 15;
  DefaultIntelligence = 15;
  DefaultWisdom = 15;
  DefaultCharisma = 15;
  DefaultMana = 10;
  TotalVolume = 80000;
  TotalSize = 190;
  NameSingular = "smith";
  Helmet = STEEL helmet { Enchantment = 1; }
  Cloak = OMMEL_HAIR cloak(CLOAK_OF_FIRE_RESISTANCE) { Enchantment = 1; }
  BodyArmor = STEEL bodyarmor(PLATE_MAIL) { Enchantment = 1; }
  RightWielded = MITHRIL meleeweapon(HAMMER) { Enchantment = 2; }
  RightGauntlet = LEATHER gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
  RightRing = ring(RING_OF_FIRE_RESISTANCE);
  LeftRing = ring(RING_OF_FIRE_RESISTANCE);
  RightBoot = STEEL boot { Enchantment = 1; }
  KnownCWeaponSkills == BLUNT_WEAPONS;
  CWeaponSkillHits == 500;
  RightSWeaponSkillHits = 200;
  LeftSWeaponSkillHits = 200;
  TorsoBitmapPos = 48, 192;
  HeadBitmapPos = 112, 160;
  ArmBitmapPos = 64, 64;
  LegBitmapPos = 0, 96;
  HairColor = rgb16(200, 200, 200);
  ClothColor = rgb16(100, 100, 100);
  CanRead = true;
  /* Replies overridden */
  IsUnique = true;
  IsNameable = false;
  CanBeCloned = false;
  DefaultName = "Ikiros";
  IsCharmable = false;
  AttachedGod = LORICATUS;
}

ostrich
{
  DefaultArmStrength = 15;
  DefaultAgility = 30;
  DefaultEndurance = 10;
  DefaultPerception = 15;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 7;
  DefaultMana = 0;
  TotalVolume = 120000;
  TorsoBitmapPos = 64, 16;
  HostileReplies == "@Dd cackles diabolically.";
  FriendlyReplies == "@Dd cackles cheerfully. @Pp likes @sp life.";
  TotalSize = 230;
  SkinColor = rgb16(160, 140, 140);
  TorsoMainColor = rgb16(48, 48, 48); /* the body feathers */
  Adjective = "levitating";
  NameSingular = "ostrich";
  NamePlural = "ostriches";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 200;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 20;
  PanicLevel = 95;
  FleshMaterial = OSTRICH_FLESH;
  DeathMessage = "@Dd is squashed to a bloody mass of feathers.";
  StandVerb = "floating";
  IsCharmable = false; /* AI will go insane if it leaves New Attnam */
  AttachedGod = SILVA;
  ClassStates = LEVITATION;
  AutomaticallySeen = true;
}

elder
{
  DefaultArmStrength = 7;
  DefaultLegStrength = 10;
  DefaultDexterity = 7;
  DefaultAgility = 15;
  DefaultEndurance = 7;
  DefaultPerception = 21;
  DefaultIntelligence = 25;
  DefaultWisdom = 40;
  DefaultCharisma = 20;
  DefaultMana = 20;
  TotalVolume = 70000;
  TotalSize = 160;
  NameSingular = "village elder";
  SkinColor = rgb16(128, 80, 48);
  HairColor = rgb16(32, 32, 32);
  ClothColor = rgb16(56, 48, 20);
  HeadBitmapPos = 96, 224;
  TorsoBitmapPos = 32, 0;
  ArmBitmapPos = 64, 0;
  LegBitmapPos = 0, 288;
  IsUnique = true;
  DefaultName = "Kaethos";
  IsCharmable = false;
  AttachedGod = SOPHOS;
  CanRead = true;
  Inventory == holybook(SILVA);
  HostileReplies == "\"I knew those hippos couldn't raise anything decent!\"";
  FriendlyReplies =
  {
    10,
    "\"So you're leaving? The stars tell me you will fight glorious battles, meet interesting people, find out suprising things and eventually die a violent death. Good luck.\"",
    "\"I remember still clearly when we first found you in the jungle. You were five and had seemingly been raised by hippos since birth.\"",
    "\"Even though you have lived here, you are somehow different from the Tweraifians, I can sense it. Is it your aggressive and wild character or your stupidity that separates us? Or is it just that your skin is white and our black?\"",
    "\"Not long ago Tweraif was a civilization advanced beyound your comprehension. But we were pacifists and could not repulse Attnam's grunt army.\"",
    "@Dd seems very melancholic. \"I was the head chancellor of the University of Tweraif before the invasion...\"",
    "\"For a decade I served this Decos lad as a banana grower like everyone else, but then an elephant stepped on my toe and my leg was amputated. I couldn't climb trees anymore so they made me a tourist guide.\"",
    "\"According to old knowledge ostriches were once kings of the sky. Their divine perception, seven feet wings and almost supernatural speed were envied by men and gods alike. Then one of them discovered levitation and soon they all became lazy and eventually dropped their wings.\"",
    "\"Previously we could use donkeys to carry the bananas. Then one day Attnamese tested a fierce magical bomb nearby. All the asses mutated horribly and started attacking us. The donkeys, I mean, not the colonists.\"",
    "\"The government of Attnam is led by the high priest of Valpurus, the Great Frog who carries the world. When I was young, Petrus assumed this position by killing the former high priest.\"";
    "\"Some time ago Attnamese military alchemists managed to crossbreed the carnivorous plant and the pineapple tree. They named the result as genetrix vesana and discovered it was a powerful hunter. The colonists tried to transport it to Attnam through the underwater tunnel but never arrived in the destination.\"",
    /*"\"Oh, you're going to Attnam through the tunnel? I don't envy you. There's a dreadful monster dwelling in the its forbidden depths: Lobh-Se, the misbegotten daughter of Scabies, who exists only to devour any man or beast she senses. Through the millenia she has gained every imaginable disease and bitten by every existing poisonous creature; now she is practically invulnerable to all damage.\"",
    "\"Beware and avoid Lobh-Se at all costs! Fortunately, this is rather easy, as she only leaves her lair in the heart of the night and even then does not venture far, since nutrition is plenty there and she returns promptly when satiated.\"";*/
  }
  AutomaticallySeen = true;
  ScienceTalkPossibility = 75;
  ScienceTalkIntelligenceModifier = 50;
  ScienceTalkWisdomModifier = 100;
  ScienceTalkIntelligenceRequirement = 10;
  ScienceTalkWisdomRequirement = 15;
  IsExtraFragile = true;
}

encourager
{
  DefaultArmStrength = 15;
  DefaultLegStrength = 10;
  DefaultDexterity = 10;
  DefaultAgility = 10;
  DefaultEndurance = 15;
  DefaultPerception = 21;
  DefaultIntelligence = 7;
  DefaultWisdom = 7;
  DefaultCharisma = 7;
  DefaultMana = 0;
  CapColor = rgb16(64, 64, 64);
  EyeColor = rgb16(140, 100, 70);
  BootColor = rgb16(90, 60, 20);
  HeadBitmapPos = 96, 240;
  TorsoBitmapPos = 32, 0;
  ArmBitmapPos = 64, 0;
  LegBitmapPos = 16, 208;
  TotalVolume = 90000;
  TotalSize = 170;
  NameSingular = "banana grower encourager";
  Belt = LEATHER belt;
  RightWielded = HARDENED_LEATHER whip;
  RightBoot = HARDENED_LEATHER boot;
  KnownCWeaponSkills = { 2, KICK, WHIPS; }
  CWeaponSkillHits = { 2, 100, 100; }
  RightSWeaponSkillHits = 100;
  AttackStyle = USE_ARMS|USE_LEGS;
  IsCharmable = false;
  HostileReplies == "\"Ah! Again me kick ye!\"";
  AttachedGod = MELLIS;
  FriendlyReplies =
  {
    4;
    "@Dd shouts harshly: \"Work! Work! Bring food to yer betters!\"",
    "@Dd shouts almost sadly: \"Gonna leave, man? Pity. Me kinda liked kicking ya.\"",
    "@Dd screams at your face: \"Me talented shouter. That made everyone in Attnam jealous. Me was sent here and told to never come back.\"",
    "@Dd shouts smiling: \"Me has team management diploma from Decos business school! Me very good at encouraging workers.\"";
  }
  AutomaticallySeen = true;
}

chameleon
{
  DefaultArmStrength = 4;
  DefaultAgility = 20;
  DefaultEndurance = 12;
  DefaultPerception = 12;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 8;
  DefaultMana = 0;
  CanOpen = false;
  TotalVolume = 4500;
  TorsoBitmapPos = 16, 0;
  HostileReplies == "The skin of @du is blood red for a moment.";
  FriendlyReplies == "The skin of @du is white for a moment.";
  TotalSize = 30;
  /* SkinColor overridden */
  NameSingular = "chameleon";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 300;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 20;
  FleshMaterial = CHAMELEON_FLESH;
  IgnoreDanger = true;
  HPRequirementForGeneration = 40;
  DayRequirementForGeneration = 4;
  Frequency = 1000;
  IsExtraCoward = true;
  AttachedGod = SCABIES;
}

floatingeye
{
  DefaultArmStrength = 1;
  DefaultAgility = 3;
  DefaultEndurance = 6;
  DefaultPerception = 50;
  DefaultIntelligence = 2;
  DefaultWisdom = 2;
  DefaultCharisma = 8;
  DefaultMana = 0;
  CanOpen = false;
  TotalVolume = 30000;
  HostileReplies == "@du stares at you.";
  FriendlyReplies == "@du stares at you.";
  TotalSize = 40;
  Adjective = "floating";
  NameSingular = "eye";
  /* AttackStyle is not used */
  BaseBiteStrength = 1;
  CanBeGenerated = true;
  FleshMaterial = FLOATING_EYE_FLESH;
  IgnoreDanger = true;
  HPRequirementForGeneration = 40;
  DayRequirementForGeneration = 4;
  Frequency = 1500;
  TorsoBitmapPos = 32, 0;
  SkinColor = rgb16(180,180,180);
  ClothColor = rgb16(0, 0, 160); /* eye color */
  StandVerb = "levitating";
  HasALeg = false;
  CanRead = true;
  HasHead = false;
  UsesNutrition = false;
  AttackWisdomLimit = 8;
  AttachedGod = LEGIFER;
  ClassStates = INFRA_VISION|SEARCHING|GAS_IMMUNITY;
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 0;
  MoveType = FLY;
  CanHear = false;
  AllowUnconsciousness = false;
  CanChoke = false;
}

eddy
{
  DefaultArmStrength = 1;
  DefaultAgility = 10;
  DefaultEndurance = 3;
  DefaultPerception = 12;
  DefaultIntelligence = 1;
  DefaultWisdom = 1;
  DefaultCharisma = 1;
  DefaultMana = 10;
  TotalVolume = 150000; /* most of it is in some other dimension */
  TorsoBitmapPos = 64, 32;
  HostileReplies == "The @du twirls angrily.";
  FriendlyReplies == "The @du twirls faster for a moment.";
  TotalSize = 100;
  SkinColor = rgb16(200, 200, 112);
  NameSingular = "eddy";
  NamePlural = "eddies";
  PostFix = "in space-time continuum";
  CanBeGenerated = true;
  HasEyes = false;
  HasHead = false;
  HasALeg = false;
  CanBeGenerated = true;
  IgnoreDanger = true;
  HPRequirementForGeneration = 50;
  DayRequirementForGeneration = 5;
  Frequency = 1000;
  PanicLevel = 0;
  StandVerb = "twirling";
  ForceCustomStandVerb = true;
  UsesNutrition = false;
  SpillsBlood = false;
  Sweats = false;
  FleshMaterial = MAGICAL_AIR;
  DeathMessage = "@Dd disappears.";
  AttachedGod = SOPHOS;
  BodyPartsDisappearWhenSevered = true;
  ClassStates = GAS_IMMUNITY;
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 0;
  IsCharmable = false;
  CanHear = false;
  CanChoke = false;
  IsImmuneToStickiness = true;
  MoveType = ETHEREAL|FLY;
}

mushroom
{
  DefaultArmStrength = 4;
  DefaultAgility = 2;
  DefaultEndurance = 10;
  DefaultPerception = 5;
  DefaultIntelligence = 2;
  DefaultWisdom = 2;
  DefaultCharisma = 8;
  DefaultMana = 4;
  TotalVolume = 6250;
  TorsoBitmapPos = 208, 16;
  TotalSize = 40;
  Adjective = "giant";
  NameSingular = "mushroom";
  HasEyes = false;
  HasHead = false;
  HasALeg = false;
  UsesNutrition = false;
  SpillsBlood = false;
  Sweats = false;
  FleshMaterial = MUSHROOM_FLESH;
  SkinColor = rgb16(180, 180, 180);
  CanBeGenerated = true;
  AttachedGod = NEFAS;
  DeathMessage = "@Dd is squashed.";
  BaseUnarmedStrength = 200;
  PanicLevel = 0;
  CanOpen = false;
  StandVerb = "rooted";
  IsRooted = true;
  AllowUnconsciousness = false;
  CanChoke = false;
  HostileReplies == "@Dd expresses @sp utter contempt for your pitiful and loathsome existence by wobbling erratically.";
  FriendlyReplies == "@Dd wobbles knowingly.";
}

magicmushroom
{
  DefaultArmStrength = 6;
  DefaultAgility = 3;
  DefaultEndurance = 20;
  DefaultPerception = 7;
  DefaultIntelligence = 3;
  DefaultWisdom = 3;
  DefaultCharisma = 10;
  DefaultMana = 7;
  TotalVolume = 10000;
  TorsoBitmapPos = 128, 32;
  TotalSize = 60;
  Adjective = "magical";
  NameSingular = "mushroom";
  HasEyes = false;
  HasHead = false;
  HasALeg = false;
  UsesNutrition = false;
  FleshMaterial = MAGIC_MUSHROOM_FLESH;
  SkinColor = rgb16(200, 170, 170);
  CanBeGenerated = true;
  AttachedGod = SCABIES;
  BaseUnarmedStrength = 300;
  KnownCWeaponSkills == UNARMED;
  CWeaponSkillHits == 20;
  Frequency = 5000;
  DangerModifier = 75;
  StandVerb = "wobbling";
  CanChoke = false;
}

darkmage
{
  HeadBitmapPos = 112, 304;
  TorsoBitmapPos = 48, 224;
  ArmBitmapPos = 80, 64;
  LegBitmapPos = 16, 160;
  ClothColor = rgb16(50, 50, 50);
  CanRead = true;
  CanBeGenerated = true;
  ClassStates = INFRA_VISION;
  HostileReplies == "@Dd yells: \"Prepare to meet your maker!\"";
  FriendlyReplies == "\"Death awaits our foes.\"";
  IgnoreDanger = true;
  AttachedGod = INFUSCOR;
  IsAbstract = true;
  KnownCWeaponSkills == BLUNT_WEAPONS;
  IsExtraFragile = true;

  Config APPRENTICE;
  {
    DefaultArmStrength = 15;
    DefaultLegStrength = 15;
    DefaultDexterity = 15;
    DefaultAgility = 21;
    DefaultEndurance = 15;
    DefaultPerception = 21;
    DefaultIntelligence = 15;
    DefaultWisdom = 10;
    DefaultCharisma = 10;
    DefaultMana = 20;
    UsesLongAdjectiveArticle = true;
    Adjective = "apprentice";
    NameSingular = "dark mage";
    TotalVolume = 60000;
    TotalSize = 180;
    ClothColor = rgb16(80, 80, 80);
    BeltColor = rgb16(80, 80, 80);
    Cloak = LEATHER cloak { Enchantment = 2; }
    RightWielded = OAK_WOOD OAK_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 3; }
    HPRequirementForGeneration = 150;
    DayRequirementForGeneration = 15;
    Frequency = 1500;
    PanicLevel = 75;
    Inventory == lantern;
    CWeaponSkillHits == 50;
    RightSWeaponSkillHits = 20;
    LeftSWeaponSkillHits = 20;
    PolymorphIntelligenceRequirement = 5;
    Inventory = { 2, Random { MaxPrice = 500; Category = WAND|SCROLL; Chance = 10; }, Random { MinPrice = 500; Category = WAND|SCROLL; Chance = 5; } }
    ScienceTalkPossibility = 25;
    ScienceTalkIntelligenceModifier = 10;
    ScienceTalkWisdomModifier = 5;
    ScienceTalkIntelligenceRequirement = 10;
    ScienceTalkWisdomRequirement = 5;
  }

  Config BATTLE_MAGE;
  {
    DefaultArmStrength = 13;
    DefaultLegStrength = 13;
    DefaultDexterity = 20;
    DefaultAgility = 18;
    DefaultEndurance = 15;
    DefaultPerception = 18;
    DefaultIntelligence = 30;
    DefaultWisdom = 15;
    DefaultCharisma = 15;
    DefaultMana = 30;
    Adjective = "dark";
    NameSingular = "battlemage";
    TotalVolume = 70000;
    TotalSize = 170;
    HairColor = rgb16(180, 40, 40);
    CapColor = rgb16(180, 40, 40);
    Cloak = NYMPH_HAIR cloak { Enchantment = 3; }
    RightWielded = TEAK_WOOD TEAK_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 4; }
    HPRequirementForGeneration = 250;
    DayRequirementForGeneration = 25;
    Frequency = 1000;
    PanicLevel = 25;
    CWeaponSkillHits == 100;
    RightSWeaponSkillHits = 50;
    LeftSWeaponSkillHits = 50;
    PolymorphIntelligenceRequirement = 20;
    Inventory = { 2, Random { MaxPrice = 500; Category = WAND|SCROLL; Chance = 25; }, Random { MinPrice = 500; Category = WAND|SCROLL; Chance = 10; } }
    ScienceTalkPossibility = 50;
    ScienceTalkIntelligenceModifier = 25;
    ScienceTalkWisdomModifier = 10;
    ScienceTalkIntelligenceRequirement = 20;
    ScienceTalkWisdomRequirement = 10;
  }

  Config ELDER;
  {
    DefaultArmStrength = 11;
    DefaultLegStrength = 11;
    DefaultDexterity = 25;
    DefaultAgility = 15;
    DefaultEndurance = 15;
    DefaultPerception = 15;
    DefaultIntelligence = 45;
    DefaultWisdom = 20;
    DefaultCharisma = 20;
    DefaultMana = 40;
    UsesLongAdjectiveArticle = true;
    Adjective = "elder";
    NameSingular = "dark mage";
    ClassStates = INFRA_VISION|ESP;
    TotalVolume = 80000;
    TotalSize = 160;
    HairColor = rgb16(140, 140, 140);
    CapColor = rgb16(80, 80, 160);
    Cloak = OMMEL_HAIR cloak { Enchantment = 4; }
    RightWielded = ARCANITE ARCANITE meleeweapon(QUARTER_STAFF) { Enchantment = 5; }
    HPRequirementForGeneration = 350;
    DayRequirementForGeneration = 35;
    Frequency = 500;
    PanicLevel = 10;
    CWeaponSkillHits == 200;
    RightSWeaponSkillHits = 100;
    LeftSWeaponSkillHits = 100;
    PolymorphIntelligenceRequirement = 35;
    Inventory = { 2, Random { MaxPrice = 500; Category = WAND|SCROLL; Chance = 50; }, Random { MinPrice = 500; Category = WAND|SCROLL; Chance = 50; } }
    ScienceTalkPossibility = 100;
    ScienceTalkIntelligenceModifier = 100;
    ScienceTalkWisdomModifier = 50;
    ScienceTalkIntelligenceRequirement = 35;
    ScienceTalkWisdomRequirement = 25;
  }

  Config ARCH_MAGE;
  {
    DefaultArmStrength = 9;
    DefaultLegStrength = 9;
    DefaultDexterity = 30;
    DefaultAgility = 12;
    DefaultEndurance = 15;
    DefaultPerception = 12;
    DefaultIntelligence = 60;
    DefaultWisdom = 25;
    DefaultCharisma = 25;
    DefaultMana = 50;
    Adjective = "dark";
    NameSingular = "archmage";
    DefaultName = "Ischaldirh";
    ClassStates = INVISIBLE|INFRA_VISION|ESP|TELEPORT_CONTROL;
    TotalVolume = 100000;
    TotalSize = 150;
    IsUnique = true;
    PanicLevel = 0;
    IsCharmable = false;
    IsNameable = false;
    CanBeCloned = false;
    IsPolymorphable = false;
    HairColor = rgb16(200, 200, 200);
    EyeColor = rgb16(0, 0, 0);
    ClothColor = rgb16(30, 30, 30);
    CapColor = rgb16(50, 50, 50);
    BodyArmor = ARCANITE bodyarmor(CHAIN_MAIL) { Enchantment = 5; }
    Cloak = PHOENIX_FEATHER cloak { Enchantment = 5; }
    Belt = ANGEL_HAIR belt { Enchantment = 5; }
    RightBoot = DRAGON_HIDE boot(BOOT_OF_AGILITY) { Enchantment = 5; }
    RightWielded = OCTIRON OCTIRON meleeweapon(QUARTER_STAFF) { Enchantment = 6; }
    Inventory = { 9, wand(WAND_OF_RESURRECTION), wand(WAND_OF_STRIKING), wand(WAND_OF_CLONING), wand(WAND_OF_LIGHTNING), wand(WAND_OF_FIRE_BALLS), scrollofcharging, scrollofwishing, holybook(INFUSCOR), key(OCTAGONAL_LOCK); }
    HPRequirementForGeneration = 450;
    DayRequirementForGeneration = 45;
    PanicLevel = 0;
    CanBeConfused = false;
    CWeaponSkillHits == 500;
    RightSWeaponSkillHits = 200;
    LeftSWeaponSkillHits = 200;
    FireResistance = 40;
    ElectricityResistance = 40;
    EnergyResistance = 40;
    PolymorphIntelligenceRequirement = 50;
    IsImmuneToItemTeleport = true;
    IsExtraFragile = false;
    AllowUnconsciousness = false;
  }
}

ghost
{
  DefaultArmStrength = 5;
  DefaultAgility = 8;
  DefaultEndurance = 8;
  DefaultPerception = 24;
  DefaultIntelligence = 15;
  DefaultWisdom = 10;
  DefaultCharisma = 10;
  DefaultMana = 15;
  StandVerb = "hovering";
  Frequency = 5000;
  TotalVolume = 300000;
  TorsoBitmapPos = 112, 16;
  TotalSize = 100;
  NameSingular = "ghost";
  ClassStates = INFRA_VISION|ESP|GAS_IMMUNITY|LEVITATION;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 100;
  BaseEmitation = rgb24(110, 110, 110);
  HostileReplies == "\"Boo!\"";
  FriendlyReplies == "\"A very good Boo to you, my friend.\"";
  PanicLevel = 0;
  HasALeg = false;
  FleshMaterial = GHOST;
  DeathMessage = "@Dd is sucked into hell.";
  SpillsBlood = false;
  Sweats = false;
  UsesNutrition = false;
  AttachedGod = MORTIFER;
  BodyPartsDisappearWhenSevered = true;
  BaseBiteStrength = 1000;
  AttackStyle = USE_HEAD;
  BiteCapturesBodyPart = false;
  MoveType = ETHEREAL;
  CanChoke = false;
  IsImmuneToStickiness = true;
}

twoheadedmoose
{
  DefaultArmStrength = 25;
  DefaultAgility = 20;
  DefaultEndurance = 15;
  DefaultPerception = 18;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 3;
  DefaultMana = 0;
  TotalVolume = 200000;
  TorsoBitmapPos = 176, 16;
  HostileReplies == "Both heads of the moose snarl angrily at you.";
  FriendlyReplies == "Both heads of the moose nod at you.";
  TotalSize = 250;
  SkinColor = rgb16(90, 85, 80);
  NameSingular = "moose";
  NamePlural = "moose";
  Adjective = "two-headed";
  AttackStyle = USE_HEAD;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 100;
  FleshMaterial = MOOSE_FLESH;
  DeathMessage = "@Dd dies both heads snarling bitterly.";
  AttachedGod = SCABIES;
  BaseBiteStrength = 300;
  CanKick = true;
  DangerModifier = 50;
  IsEnormous = true;
}

magpie
{
  DefaultArmStrength = 2;
  DefaultAgility = 40;
  DefaultEndurance = 8;
  DefaultPerception = 20;
  DefaultIntelligence = 6;
  DefaultWisdom = 5;
  DefaultCharisma = 6;
  DefaultMana = 0;
  StandVerb = "flying";
  CanOpen = false;
  TotalVolume = 500;
  TorsoBitmapPos = 560, 0;
  HostileReplies == "@Dd peeps evilly.";
  FriendlyReplies == "@Dd chirps happily.";
  TotalSize = 20;
  SkinColor = rgb16(64, 64, 64);
  TorsoMainColor = rgb16(180, 180, 180);
  Adjective = "giant";
  NameSingular = "magpie";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 400;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 50;
  PanicLevel = 75;
  FleshMaterial = MAGPIE_FLESH;
  AttachedGod = CLEPTIA;
  ClassStates = INFRA_VISION; /* So that invisible player doesn't screw the AI */
  BiteCapturesBodyPart = false;
  MoveType = FLY;
}

skunk
{
  DefaultArmStrength = 6;
  DefaultAgility = 10;
  DefaultEndurance = 9;
  DefaultPerception = 18;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 4;
  DefaultMana = 0;
  TotalVolume = 10000;
  TorsoBitmapPos = 128, 0;
  HostileReplies == "@Dd grawls.";
  FriendlyReplies == "@Dd discusses philosophy with you.";
  TotalSize = 50;
  SkinColor = rgb16(80, 80, 80);
  Adjective = "big";
  NameSingular = "skunk";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 350;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 100;
  FleshMaterial = SKUNK_FLESH;
  AttachedGod = SILVA;
  PanicLevel = 85;
  TorsoMainColor = rgb16(220, 220, 220);
  PoisonResistance = 10;
  DangerModifier = 33;
  ClassStates = GAS_IMMUNITY;
}

invisiblestalker
{
  DefaultArmStrength = 5;
  DefaultAgility = 25;
  DefaultEndurance = 15;
  DefaultPerception = 24;
  DefaultIntelligence = 8;
  DefaultWisdom = 6;
  DefaultCharisma = 5;
  DefaultMana = 0;
  TotalVolume = 40000;
  TorsoBitmapPos = 224, 16;
  FriendlyReplies == "\"Gods are away on business.\"";
  HostileReplies == "\"Misery is the river of the world.\"";
  TotalSize = 170;
  NameSingular = "stalker";
  NamePlural = "stalkers";
  Adjective = "invisible";
  UsesLongAdjectiveArticle = true;
  AttackStyle = USE_ARMS;
  CanBeGenerated = true;
  FleshMaterial = MAGICAL_AIR;
  BaseUnarmedStrength = 750;
  DeathMessage = "@Dd hisses and vanishes.";
  AttachedGod = CLEPTIA;
  CanKick = true;
  DangerModifier = 250;
  KnownCWeaponSkills == UNARMED;
  CWeaponSkillHits == 200;
  ClassStates = INVISIBLE;
  BodyPartsDisappearWhenSevered = true;
  IsImmuneToStickiness = true;
}

largecreature
{
  IsAbstract = true;
  CanBeWished = false;
  CanBeGenerated = false;
  IsEnormous = true;
}

elpuri
{
  DefaultArmStrength = 80;
  DefaultAgility = 25;
  DefaultEndurance = 20;
  DefaultPerception = 42;
  DefaultIntelligence = 45;
  DefaultWisdom = 35;
  DefaultCharisma = 2;
  DefaultMana = 35;
  IsCharmable = false;
  IsNameable = false;
  IsUnique = true;
  TotalVolume = 1000000;
  TorsoBitmapPos = 160, 64;
  TotalSize = 250;
  NameSingular = "Master Dark Frog";
  IsPolymorphable = false;
  CanBeGenerated = false;
  Alias == "Elpuri";
  CWeaponSkillHits == 1000;
  PanicLevel = 0;
  CanBeCloned = false;
  DefaultName = "Elpuri";
  HostileReplies == "@Dd roars horribly: \"DiE hUmAn!!\"";
  BloodMaterial = DARK_FROG_BLOOD;
  SkinColor = rgb16(60, 60, 60);
  ClassStates = INFRA_VISION|TELEPORT_CONTROL;
  BaseBiteStrength = 1500;
  FleshMaterial = ELPURI_FLESH;
  DeathMessage = "@Dd groans horribly and drops @sp head.";
  AttachedGod = SCABIES;
  CanTalk = true;
  CanBeConfused = false;
  AttackStyle = USE_HEAD;
  KnownCWeaponSkills == BITE;
  MoveType = WALK|SWIM;
  DestroysWalls = true;
  AllowUnconsciousness = false;
}

genetrixvesana
{
  DefaultArmStrength = 16;
  DefaultAgility = 8;
  DefaultEndurance = 30;
  DefaultPerception = 24;
  DefaultIntelligence = 12;
  DefaultWisdom = 8;
  DefaultCharisma = 20;
  DefaultMana = 0;
  TotalVolume = 60000;
  TorsoBitmapPos = 128, 64;
  TotalSize = 250;
  Adjective = "mother carnivorous";
  NameSingular = "plant";
  DefaultName = "genetrix vesana";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 600;
  SkinColor = rgb16(111, 64, 37);
  TorsoMainColor = rgb16(0, 160, 0); /* the leaves */
  TorsoSpecialColor = rgb16(160, 0, 0);
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 100;
  PanicLevel = 0;
  IsCharmable = false;
  IsNameable = false;
  IsUnique = true;
  DeathMessage = "@Dd is brutally destroyed.";
  BaseEmitation = rgb24(140, 100, 100);
  FleshMaterial = MUTANT_PLANT_FIBER;
  AttachedGod = SCABIES;
  IsPlant = true;
  CanOpen = false;
  HostileReplies == "@Dd is silent.";
  FriendlyReplies == "@Dd is silent.";
  ClassStates = INFRA_VISION;
  HasALeg = false;
  SpillsBlood = false;
  Sweats = false;
  StandVerb = "rooted";
  IsRooted = true;
  AllowUnconsciousness = false;
}

hedgehog
{
  DefaultArmStrength = 2;
  DefaultAgility = 15;
  DefaultEndurance = 10;
  DefaultPerception = 12;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 6;
  DefaultMana = 0;
  TotalVolume = 5000;
  TorsoBitmapPos = 112, 0;
  HostileReplies == "@Dd ignores you.";
  FriendlyReplies == "@Dd ignores you.";
  TotalSize = 30;
  SkinColor = rgb16(180, 160, 130);
  Adjective = "large";
  NameSingular = "hedgehog";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 300;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 20;
  FleshMaterial = HEDGEHOG_FLESH;
  AttachedGod = SILVA;
  AutomaticallySeen = true;
}

bunny
{
  DefaultEndurance = 16;
  DefaultPerception = 18;
  DefaultIntelligence = 10;
  DefaultWisdom = 6;
  DefaultCharisma = 10;
  DefaultMana = 0;
  TorsoBitmapPos = 160, 0;
  HostileReplies == "@Dd squeals furiously.";
  FriendlyReplies == "@Dd squeals happily.";
  SkinColor = rgb16(90, 70, 60);
  NameSingular = "bunny";
  NamePlural = "bunnies";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 650;
  CanBeGenerated = true;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 20;
  FleshMaterial = MUTANT_BUNNY_FLESH;
  AttachedGod = SILVA;
  IsAbstract = true;
  CanOpen = false;
  BloodMaterial = GLOWING_BLOOD;

  Config BABY_MALE;
  {
    Adjective = "young male carnivorous mutant";
    TotalVolume = 20000;
    AttributeBonus = -50;
    TorsoBitmapPos = 144, 0;
    DefaultArmStrength = 8;
    DefaultAgility = 10;
    TotalSize = 100;
  }

  Config BABY_FEMALE;
  {
    Adjective = "young female carnivorous mutant";
    TotalVolume = 17500;
    AttributeBonus = -50;
    TorsoBitmapPos = 144, 0;
    DefaultArmStrength = 4;
    DefaultAgility = 15;
    TotalSize = 90;
  }

  Config ADULT_MALE;
  {
    Adjective = "adult male carnivorous mutant";
    TotalVolume = 40000;
    TorsoBitmapPos = 160, 0;
    DefaultArmStrength = 16;
    DefaultAgility = 20;
    TotalSize = 50;
  }

  Config ADULT_FEMALE;
  {
    Adjective = "adult female carnivorous mutant";
    TotalVolume = 35000;
    TorsoBitmapPos = 160, 0;
    DefaultArmStrength = 8;
    DefaultAgility = 30;
    TotalSize = 45;
  }
}

vladimir
{
  DefaultArmStrength = 60;
  DefaultAgility = 30;
  DefaultEndurance = 25;
  DefaultPerception = 30;
  DefaultIntelligence = 8;
  DefaultWisdom = 7;
  DefaultCharisma = 15;
  DefaultMana = 0;
  TorsoBitmapPos = 288, 32;
  HostileReplies == "@Dd roars terribly.";
  FriendlyReplies == "@Dd roars cheerfully.";
  SkinColor = rgb16(110, 90, 80);
  NameSingular = "bunny";
  Adjective = "gigantic carnivorous mutant";
  AttackStyle = USE_HEAD|USE_ARMS;
  BaseUnarmedStrength = 1000;
  BaseBiteStrength = 500;
  KnownCWeaponSkills = { 2, UNARMED, BITE; }
  CWeaponSkillHits == 200;
  FleshMaterial = MUTANT_BUNNY_FLESH;
  AttachedGod = SCABIES;
  TotalSize = 400;
  MoveType = WALK;
  DestroysWalls = true;
  DefaultName = "Vladimir";
  Alias == "Vladimir";
  TotalVolume = 800000;
  IsUnique = true;
  CanApply = true;
  IsPolymorphable = false;
  CanBeCloned = false;
  ConstantCommandFlags = FLEE_FROM_ENEMIES;
  BloodMaterial = GLOWING_BLOOD;
}

hattifattener
{
  DefaultArmStrength = 3;
  DefaultAgility = 10;
  DefaultEndurance = 10;
  DefaultPerception = 9;
  DefaultIntelligence = 3;
  DefaultWisdom = 3;
  DefaultCharisma = 6;
  DefaultMana = 0;
  TotalVolume = 10000;
  TorsoBitmapPos = 208, 0;
  HostileReplies == "@Dd emits a thousand sparkles of furious electricity.";
  FriendlyReplies == "@Dd looks at you with @sp round, colourless eyes.";
  TotalSize = 80;
  SkinColor = rgb16(255, 255, 255);
  TorsoSpecialColor = rgb16(48, 48, 48);
  NameSingular = "hattifattener";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 1;
  CanBeGenerated = true;
  FleshMaterial = HATTIFATTENER_FLESH;
  AttachedGod = TERRA;
  IgnoreDanger = true;
  HPRequirementForGeneration = 60;
  DayRequirementForGeneration = 6;
  ElectricityResistance = 100;
  Frequency = 1000;
  PanicLevel = 0;
  BodyPartsDisappearWhenSevered = true;
  DeathMessage = "@Dd explodes in a burst of electricity!";
  BaseEmitation = rgb24(130, 130, 130);
  SpillsBlood = false;
  Sweats = false;
  Alias == "Hattivatti";
  AllowUnconsciousness = false;
  CanChoke = false;
}

necromancer
{
  HeadBitmapPos = 112, 128;
  TorsoBitmapPos = 48, 352;
  ArmBitmapPos = 80, 96;
  LegBitmapPos = 16, 160;
  ClothColor = rgb16(50, 50, 50);
  EyeColor = rgb16(200, 0, 0);
  BeltColor = rgb16(100, 100, 100);
  ArmSpecialColor = rgb16(100, 100, 140);
  CanRead = true;
  CanBeGenerated = true;
  ClassStates = INFRA_VISION;
  HostileReplies == "@Dd yells: \"Death! Death!\"";
  FriendlyReplies == "\"I see dead people.\"";
  IgnoreDanger = true;
  AttachedGod = INFUSCOR;
  IsAbstract = true;
  KnownCWeaponSkills == BLUNT_WEAPONS;
  NameSingular = "necromancer";
  IsExtraFragile = true;

  Config APPRENTICE_NECROMANCER;
  {
    DefaultArmStrength = 15;
    DefaultLegStrength = 15;
    DefaultDexterity = 15;
    DefaultAgility = 8;
    DefaultEndurance = 15;
    DefaultPerception = 21;
    DefaultIntelligence = 15;
    DefaultWisdom = 10;
    DefaultCharisma = 10;
    DefaultMana = 20;
    UsesLongAdjectiveArticle = true;
    Adjective = "apprentice";
    TotalVolume = 60000;
    TotalSize = 180;
    Cloak = LEATHER cloak { Enchantment = 2; }
    RightWielded = OAK_WOOD OAK_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 3; }
    HPRequirementForGeneration = 50;
    DayRequirementForGeneration = 5;
    Frequency = 1500;
    PanicLevel = 5;
    CWeaponSkillHits == 50;
    RightSWeaponSkillHits = 20;
    LeftSWeaponSkillHits = 20;
    CapColor = rgb16(150, 150, 100);
    GauntletColor = rgb16(150, 150, 100);
    PolymorphIntelligenceRequirement = 5;
    Inventory = { 3, skull, Random { MaxPrice = 500; Category = WAND|SCROLL; Chance = 5; }, Random { MinPrice = 500; Category = WAND|SCROLL; Chance = 1; } }
    ScienceTalkPossibility = 10;
    ScienceTalkIntelligenceModifier = 5;
    ScienceTalkWisdomModifier = 2;
    ScienceTalkIntelligenceRequirement = 10;
    ScienceTalkWisdomRequirement = 5;
  }

  Config MASTER_NECROMANCER;
  {
    DefaultArmStrength = 13;
    DefaultLegStrength = 13;
    DefaultDexterity = 20;
    DefaultAgility = 6;
    DefaultEndurance = 15;
    DefaultPerception = 18;
    DefaultIntelligence = 30;
    DefaultWisdom = 15;
    DefaultCharisma = 15;
    DefaultMana = 30;
    Adjective = "master";
    TotalVolume = 70000;
    TotalSize = 170;
    Cloak = NYMPH_HAIR cloak { Enchantment = 3; }
    RightWielded = TEAK_WOOD TEAK_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 4; }
    HPRequirementForGeneration = 125;
    DayRequirementForGeneration = 12;
    Frequency = 1000;
    PanicLevel = 0;
    CWeaponSkillHits == 100;
    RightSWeaponSkillHits = 50;
    LeftSWeaponSkillHits = 50;
    CapColor = rgb16(100, 100, 200);
    GauntletColor = rgb16(100, 100, 200);
    PolymorphIntelligenceRequirement = 20;
    Inventory = { 5, BLUE_CRYSTAL skull { Chance = 20; }, PURPLE_CRYSTAL skull { Chance = 20; }, GREEN_CRYSTAL skull { Chance = 20; }, Random { MaxPrice = 500; Category = WAND|SCROLL; Chance = 10; }, Random { MinPrice = 500; Category = WAND|SCROLL; Chance = 3; } }
    ScienceTalkPossibility = 50;
    ScienceTalkIntelligenceModifier = 50;
    ScienceTalkWisdomModifier = 25;
    ScienceTalkIntelligenceRequirement = 20;
    ScienceTalkWisdomRequirement = 10;
  }
}

sumowrestler
{
  DefaultArmStrength = 25;
  DefaultLegStrength = 35;
  DefaultDexterity = 15;
  DefaultAgility = 6;
  DefaultEndurance = 12;
  DefaultPerception = 15;
  DefaultIntelligence = 10;
  DefaultWisdom = 15;
  DefaultCharisma = 6;
  DefaultMana = 0;
  TotalVolume = 200000;
  TotalSize = 160;
  NameSingular = "sumo wrestler";
  DefaultName = "Huang Ming Pong";
  SkinColor = rgb16(128, 80, 48);
  HairColor = rgb16(80, 48, 32);
  ClothColor = rgb16(56, 48, 20);
  HeadBitmapPos = 96, 336;
  TorsoBitmapPos = 32, 352;
  ArmBitmapPos = 64, 336;
  LegBitmapPos = 16, 176;
  IsCharmable = false;
  HostileReplies == "\"SSSUUUMMMMMMOOOOORRRRGGGGGHHHHH!!!! (Mr. Decos said sumo wrestlers always yell like this)\"";
  AttachedGod = SILVA;
  KnownCWeaponSkills = { 2, UNARMED, KICK; }
  CWeaponSkillHits = { 2, 1000, 1000; }
  AttackStyle = USE_ARMS|USE_LEGS;
  IsUnique = true;
  CanBeWished = true;
  IsPolymorphable = false;
  PanicLevel = 10;
  BaseUnarmedStrength = 100;
  FriendlyReplies =
  {
    9, /* 6 first are used before the revolution */
    "@Dd smiles broadly: \"'Tis the perfect occupation, this. I eat like kings! Or at least like kings who only eat bananas.\"",
    "\"The ancient rules of this traditional martial art were designed by Mr. Decos himself, so don't complain about them.\"",
    "\"My real name is Alfred, but the viceroy said it wasn't exotic enough for this job.\"",
    "@Dd is in a buoyant mood. \"I love the new rule! Before the invasion, my wife always complained about my weight. Now she doesn't, since she's a slave in Attnam.\"",
    "@Dd seems to be recalling sorrowful memories. \"When Tweraif was still sovereign, I tried to run a restaurant for a while. It ended in a bankrupt since I ate all the food myself.\"",
    "@Dd winks at you: \"A belt of levitation is really useful for large people.\"",
    "@Dd looks almost panicked. \"Hey, why aren't people bringing me bananas anymore! I'm hungry! Help! Don't let me starve!\"",
    "\"If you attack Attnam, too, please don't liberate my wife. She'll force me to commence a merciless diet for sure!\"",
    "\"I think I'm going to move abroad and start teaching sumo wrestling to foreigners. I'm sure it'll be the number one fashion sport of big-boned people in no time!\"";
  }
  AutomaticallySeen = true;
  IsEnormous = true;
}

tourist
{
  DefaultMana = 0;
  CanRead = true;
  IsAbstract = true;
  AttachedGod = MELLIS;
  SkinColor = rgb16(200, 110, 70);
  IsExtraCoward = true;
  AutomaticallySeen = true;
  DefaultCommandFlags = FOLLOW_PLAYER|FLEE_FROM_ENEMIES;
  ConstantCommandFlags = DONT_CONSUME_ANYTHING_VALUABLE;
  WillCarryItems = false;
  IsExtraFragile = true;

  Config HUSBAND;
  {
    DefaultArmStrength = 10;
    DefaultLegStrength = 15;
    DefaultDexterity = 12;
    DefaultAgility = 8;
    DefaultEndurance = 10;
    DefaultPerception = 15;
    DefaultIntelligence = 10;
    DefaultWisdom = 7;
    DefaultCharisma = 8;
    TotalVolume = 90000;
    TotalSize = 175;
    NameSingular = "male tourist";
    HeadBitmapPos = 96, 64;
    TorsoBitmapPos = 32, 368;
    ArmBitmapPos = 80, 48;
    LegBitmapPos = 16, 224;
    DefaultMoney = 5000;
    BootColor = rgb16(200, 0, 0);
    ClothColor = rgb16(200, 16, 200);
    LegMainColor = rgb16(50, 100, 132);
    CapColor = rgb16(200, 200, 0);
    HostileReplies == "\"Violence is barbaric. Couldn't we settle this little dispute of ours in a court?\"";
    FriendlyReplies =
    {
      6,
      "\"Don't you barbarians really eat anything but fruits? I need some greasy sausages badly!\"",
      "\"We're from Bazaria, the great trader nation, where every coin has equal rights. Richel Decos was our fellow countryman before he bought this town from the Attnamese.\"",
      "\"Back home I plan commercials acted during theatre play breaks.\"",
      "\"It is good for my son to see how we would live if science and trade hadn't brought us the prosperity and wellfare it has.\"",
      "\"I couldn't believe my eyes when the travel agent showed me the extraordinary low prices of Decos Paradise Tours Inc. I believed they were a joke until he revealed the ingenious travel method: customers levitate over the ocean after consuming magical mushrooms! Needless to say, our holiday plans were immediately decided.\"",
      "\"I presume you backward aborigines still boil people alive and eat them. Any chance of me seeing a young, gorgeous maiden facing this horrible destiny? Just for cultural education, you know.\"";
    }
  }

  Config WIFE;
  {
    DefaultArmStrength = 8;
    DefaultLegStrength = 12;
    DefaultDexterity = 8;
    DefaultAgility = 12;
    DefaultEndurance = 8;
    DefaultPerception = 21;
    DefaultIntelligence = 7;
    DefaultWisdom = 10;
    DefaultCharisma = 10;
    TotalVolume = 70000;
    TotalSize = 170;
    Sex = FEMALE;
    NameSingular = "female tourist";
    HeadBitmapPos = 112, 48;
    TorsoBitmapPos = 48, 368;
    ArmBitmapPos = 64, 160;
    LegBitmapPos = 16, 192;
    BootColor = rgb16(20, 20, 20);
    HairColor = rgb16(60, 48, 24);
    ClothColor = rgb16(50, 200, 50);
    LegMainColor = rgb16(60, 60, 60);
    LegSpecialColor = rgb16(60,50,60);
    AttackStyle = USE_ARMS|USE_LEGS;
    HostileReplies == "\"Help! A horribly hideous cannibal aborigine wants to capture me, hit me in the head with his club, drag me into a smelly sinister cave and mate with me!\"";
    FriendlyReplies =
    {
      5,
      "\"I heard natives like you paint every inch of their body, dance complex ritual dances around a big bonfire and utter forbidden voodoo spells. When will you begin?\"",
      "\"Why are all the villagers so sweaty? Can't they try to wash themselves often enough at least when civilized people are around?\"",
      "\"I so love bananas! This is a heaven!\"",
      "\"My friend's brother's ex-wife's uncle's old schoolmate inherited some money, bought shares of Decos Bananas Co. and became a millionaire. I think of it as an example of how anyone can become rich and happy if he tries hard enough.\"",
      "\"Richel Decos is such a wonderful person! I wish I was married to someone as well-off as him!\"";
    }
  }

  Config CHILD;
  {
    DefaultArmStrength = 7;
    DefaultLegStrength = 7;
    DefaultDexterity = 15;
    DefaultAgility = 15;
    DefaultEndurance = 10;
    DefaultPerception = 18;
    DefaultIntelligence = 12;
    DefaultWisdom = 5;
    DefaultCharisma = 6;
    TotalVolume = 50000;
    TotalSize = 130;
    NameSingular = "child tourist";
    HeadBitmapPos = 112, 352;
    TorsoBitmapPos = 32, 384;
    ArmBitmapPos = 80, 352;
    LegBitmapPos = 16, 16;
    BootColor = rgb16(200, 200, 200);
    ClothColor = rgb16(200, 200, 200);
    LegMainColor = rgb16(50, 100, 132);
    CapColor = rgb16(40, 40, 40);
    AttackStyle = USE_ARMS|USE_LEGS|USE_HEAD;
    HostileReplies == "\"Daddy!!! Hit this man!!! He teases me!!!\"";
    FriendlyReplies =
    {
      4,
      "\"A real native!!! Can I touch him, mommy? Can I? Can I?\"",
      "\"I wanna see you sacrifice someone to tree gods!!!\"",
      "\"Mister, can you catch me a demon spider? I wanna bring one home as a pet!!!\"",
      "\"Did you see that Pong person? He's fatter than daddy!!! I can't believe it!!!\"";
    }
  }
}

blinkdog
{
  DefaultArmStrength = 8;
  DefaultAgility = 25;
  DefaultEndurance = 8;
  DefaultPerception = 21;
  DefaultIntelligence = 10;
  DefaultWisdom = 5;
  DefaultCharisma = 10;
  DefaultMana = 5;
  TotalVolume = 30000;
  TotalSize = 100;
  SkinColor = rgb16(225, 225, 32);
  NameSingular = "blink dog";
  BaseBiteStrength = 450;
  CWeaponSkillHits == 100;
  AttachedGod = SOPHOS;
  DangerModifier = 50;
  FleshMaterial = BLINK_DOG_FLESH;
}

veterankamikazedwarf
{
  AttributeBonus = 50;
  DefaultIntelligence = 3;
  DefaultWisdom = 2;
  Adjective = "veteran";
  Inventory == backpack { SecondaryMaterial = GUN_POWDER { Volume = 30000; } }
  HPRequirementForGeneration = 200;
  DayRequirementForGeneration = 20;
  Frequency = 200;
  IsAbstract = true;
  CreateDivineConfigurations = true;
  FriendlyReplies =
  {
    6,
    "\"Everyone believes I failed intentionally. Never! My loyalty to @Gd is spotless!\"",
    "\"The commander gave me too few explosives! It wasn't my fault!\"",
    "@Dd shouts: \"Death to disbelievers!\"",
    "@Dd praises @Gd with numerous hymns. @Pp is obviously a very devoted follower.",
    "@Dd seems very sorrowful. \"You can't believe how much I've been despised since that fateful mission...\"",
    "@Dd almost sheds tears. \"I've lost all my friends and self-confidence due to the failure.\"";
  }
}

archangel
{
  DefaultArmStrength = 35;
  DefaultLegStrength = 35;
  DefaultDexterity = 35;
  DefaultAgility = 35;
  DefaultEndurance = 35;
  DefaultPerception = 45;
  DefaultIntelligence = 35;
  DefaultWisdom = 45;
  DefaultCharisma = 60;
  DefaultMana = 45;
  IsAbstract = true;
  ClassStates = TELEPORT|HASTE|INFRA_VISION|ESP|TELEPORT_CONTROL|POLYMORPH_CONTROL|GAS_IMMUNITY|LIFE_SAVED;
  IsCharmable = false;
  IsUnique = true;
  IsNameable = false;
  CanBeCloned = false;
  IsPolymorphable = false;
  CanBeConfused = false;
  FireResistance = 40;
  ElectricityResistance = 40;
  EnergyResistance = 40;
  NameSingular = "archangel";
  BodyArmor = ANGEL_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 4; }
  Cloak = ANGEL_HAIR cloak { Enchantment = 4; }
  Belt = ANGEL_HAIR belt { Enchantment = 4; }
  RightGauntlet = ANGEL_HAIR gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
  IsImmuneToItemTeleport = true;
  ScienceTalkPossibility = 100;
  ScienceTalkIntelligenceModifier = 50;
  ScienceTalkWisdomModifier = 250;
  ScienceTalkIntelligenceRequirement = 20;
  ScienceTalkWisdomRequirement = 40;
  AllowUnconsciousness = false;
  CanChoke = false;
  DisplacePriority = 10;
  AllowPlayerToChangeEquipment = false;

  Config VALPURUS;
  {
    DefaultName = "Inlux";
  }

  Config LEGIFER;
  {
    DefaultName = "Iustitia";
  }

  Config ATAVUS;
  {
    DefaultName = "Beneficus";
  }

  Config DULCIS;
  {
    DefaultName = "Amatrix";
  }

  Config SEGES;
  {
    DefaultName = "Salubris";
  }

  Config SOPHOS;
  {
    DefaultName = "Magus";
  }

  Config SILVA;
  {
    DefaultName = "Nux";
  }

  Config LORICATUS;
  {
    DefaultName = "Ignigena";
  }

  Config MELLIS;
  {
    DefaultName = "Leguleius";
  }

  Config CLEPTIA;
  {
    DefaultName = "Latro";
  }

  Config NEFAS;
  {
    DefaultName = "Rapax";
  }

  Config SCABIES;
  {
    DefaultName = "Pestilentia";
  }

  Config INFUSCOR;
  {
    DefaultName = "Sinistra";
  }

  Config CRUENTUS;
  {
    DefaultName = "Gladius";
  }

  Config MORTIFER;
  {
    DefaultName = "Erado";
  }
}

tailor
{
  DefaultArmStrength = 15;
  DefaultLegStrength = 15;
  DefaultDexterity = 35;
  DefaultAgility = 15;
  DefaultEndurance = 20;
  DefaultPerception = 27;
  DefaultIntelligence = 15;
  DefaultWisdom = 15;
  DefaultCharisma = 15;
  DefaultMana = 10;
  TotalVolume = 70000;
  TotalSize = 180;
  NameSingular = "tailor";
  Cloak = LEATHER cloak { Enchantment = 1; }
  BodyArmor = HARDENED_LEATHER bodyarmor(PLATE_MAIL) { Enchantment = 1; }
  RightWielded = MITHRIL meleeweapon(DAGGER) { Enchantment = 2; }
  RightGauntlet = NYMPH_HAIR gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
  RightBoot = OMMEL_HAIR boot { Enchantment = 1; }
  KnownCWeaponSkills == BLUNT_WEAPONS;
  CWeaponSkillHits == 500;
  RightSWeaponSkillHits = 200;
  LeftSWeaponSkillHits = 200;
  TorsoBitmapPos = 48, 48;
  HeadBitmapPos = 96, 0;
  ArmBitmapPos = 64, 16;
  LegBitmapPos = 0, 0;
  ClothColor = rgb16(200, 200, 200);
  LegMainColor = rgb16(111, 64, 37);
  CanRead = true;
  /* Replies overridden */
  IsUnique = true;
  IsNameable = false;
  CanBeCloned = false;
  DefaultName = "Mirvo";
  IsCharmable = false;
  AttachedGod = SOPHOS;
}

mysticfrog
{
  DefaultArmStrength = 10;
  DefaultAgility = 25;
  DefaultEndurance = 12;
  DefaultPerception = 18;
  DefaultMana = 40;
  BaseBiteStrength = 1000;
  TotalVolume = 30000;
  TorsoBitmapPos = 96, 0;
  TotalSize = 50;
  CWeaponSkillHits == 100;
  IsPolymorphable = false;
  IsAbstract = true;
  ScienceTalkPossibility = 100;
  CanChoke = false;

  Config DARK;
  {
    DefaultIntelligence = 35;
    DefaultWisdom = 25;
    DefaultCharisma = 6;
    BloodMaterial = DARK_FROG_BLOOD;
    SkinColor = rgb16(60, 60, 60);
    Adjective = "mystic dark";
    CanBeGenerated = true;
    ClassStates = INFRA_VISION|TELEPORT_CONTROL|INVISIBLE|ESP;
    AttachedGod = INFUSCOR;
    IgnoreDanger = true;
    HPRequirementForGeneration = 400;
    DayRequirementForGeneration = 40;
    Frequency = 250;
    PolymorphIntelligenceRequirement = 25;
    ScienceTalkIntelligenceModifier = 100;
    ScienceTalkWisdomModifier = 50;
    ScienceTalkIntelligenceRequirement = 25;
    ScienceTalkWisdomRequirement = 15;
    FriendlyReplies == "@Dd croaks happily.";
  }

  Config LIGHT;
  {
    DefaultIntelligence = 25;
    DefaultWisdom = 35;
    DefaultCharisma = 30;
    SkinColor = rgb16(32, 88, 32);
    Adjective = "mystic light";
    ClassStates = TELEPORT_CONTROL|INVISIBLE|ESP;
    AttachedGod = VALPURUS;
    PolymorphIntelligenceRequirement = 15;
    ScienceTalkIntelligenceModifier = 25;
    ScienceTalkWisdomModifier = 50;
    ScienceTalkIntelligenceRequirement = 20;
    ScienceTalkWisdomRequirement = 30;
  }
}

lobhse
{
  DefaultArmStrength = 40;
  DefaultAgility = 20;
  DefaultEndurance = 40;
  DefaultPerception = 21;
  DefaultIntelligence = 5;
  DefaultWisdom = 5;
  DefaultCharisma = 6;
  DefaultMana = 0;
  BloodMaterial = SICK_BLOOD;
  CanOpen = false;
  HostileReplies == "@Dd says nothing.";
  FriendlyReplies == "@Dd says nothing.";
  TotalSize = 10;
  SkinColor = rgb16(64, 64, 100);
  BeltColor = rgb16(50, 150, 50); /* the mouth */
  TorsoMainColor = rgb16(30, 30, 30);
  NameSingular = "behemoth spider";
  AttackStyle = USE_HEAD;
  BaseBiteStrength = 400;
  CanBeGenerated = true;
  ClassStates = INFRA_VISION;
  KnownCWeaponSkills == BITE;
  CWeaponSkillHits == 50;
  FleshMaterial = SICK_SPIDER_FLESH;
  AttachedGod = SCABIES;
  BiteCapturesBodyPart = false;
  AutomaticallySeen = true;
  IsImmuneToStickiness = true;
  DefaultName = "Lobh-Se";
  TorsoBitmapPos = 192, 64;
  TotalVolume = 500000;
  IsCharmable = false;
  IsNameable = false;
  IsUnique = true;
  TotalSize = 200;
  IsPolymorphable = false;
  CanBeGenerated = false;
  PanicLevel = 0;
  CanBeCloned = false;
  DeathMessage = "@Dd groans horribly and drops @pp head.";
  CanBeConfused = false;
  AttackStyle = USE_HEAD;
  KnownCWeaponSkills == BITE;
  DestroysWalls = true;
  AllowUnconsciousness = false;
}
