1/*
2 *
3 *  Iter Vehemens ad Necem (IVAN)
4 *  Copyright (C) Timo Kiviluoto
5 *  Released under the GNU General
6 *  Public License
7 *
8 *  See LICENSING which should be included
9 *  along with this file for more details
10 *
11 */
12
13/*
14 * NOTICE!!!
15 *
16 * This file contains SPOILERS, which might ruin your IVAN experience
17 * totally. Also, editing anything can DESTROY GAME BALANCE or CAUSE
18 * OBSCURE BUGS if you don't know what you're doing. So from here on,
19 * proceed at your own risk!
20 */
21
22/* Numerical character data loaded during game startup */
23
24/* Default values: */
25
26character
27{
28  /* Obligatory: DefaultArmStrength */
29  /* Obligatory for humanoids: DefaultLegStrength */
30  /* Obligatory for humanoids: DefaultDexterity */
31  DefaultAgility = 0;
32  DefaultEndurance = 0;
33  DefaultPerception = 0;
34  DefaultIntelligence = 0;
35  DefaultWillPower = 10;
36  DefaultWisdom = 0;
37  DefaultCharisma = 0;
38  DefaultMana = 0;
39  DefaultMoney = 0;
40  /* Obligatory: TotalSize */
41  CanRead = false;
42  Sex = UNDEFINED;
43  CanBeGenerated = false;
44  CriticalModifier = 20;
45  StandVerb = "standing";
46  ForceCustomStandVerb = false;
47  CanOpen = true;
48  Frequency = 10000;
49  EnergyResistance = 0;
50  FireResistance = 0;
51  PoisonResistance = 0;
52  ElectricityResistance = 0;
53  AcidResistance = 0;
54  SoundResistance = 0;
55  IsUnique = false;
56  ConsumeFlags = CT_FRUIT|CT_MEAT|CT_LIQUID|CT_PROCESSED;
57  /* Obligatory: TotalVolume */
58  IsNameable = true;
59  BaseEmitation = 0;
60  /* Obligatory: TorsoBitmapPos */
61  UsesLongArticle = false;
62  Adjective = "";
63  UsesLongAdjectiveArticle = false;
64  /* Obligatory: NameSingular */
65  /* NameSingular + "s" by default: NamePlural */
66  ArticleMode = 0;
67  IsAbstract = true; /* This is false by default and does not inherit! */
68  IsPolymorphable = true;
69  /* At least one of the following three is obligatory: */
70  BaseUnarmedStrength = 0;
71  BaseBiteStrength = 0; /* Defaults to BaseUnarmedStrength / 2 */
72  BaseKickStrength = 0; /* Defaults to BaseUnarmedStrength * 2 */
73  BonusBiteStrength = 0; /* For when you are a vampire */
74  AttackStyle = USE_ARMS;
75  CanUseEquipment = false;
76  CanKick = false;
77  CanTalk = false;
78  ClassStates = 0;
79  CanBeWished = true;
80  CreateDivineConfigurations = false;
81  CreateGolemMaterialConfigurations = false;
82  AttributeBonus = 0;
83  RightSWeaponSkillHits = 0;
84  LeftSWeaponSkillHits = 0;
85  PanicLevel = 33;
86  CanBeCloned = true;
87  DangerModifier = 100;
88  DefaultName = "";
89  HostileReplies == "@Dd grunts angrily.";
90  FriendlyReplies == "@Dd grunts happily.";
91  CanZap = false;
92  HasALeg = true;
93  DeathMessage = "@Dd is slain.";
94  IgnoreDanger = false;
95  HPRequirementForGeneration = 0;
96  DayRequirementForGeneration = 0;
97  IsExtraCoward = false;
98  SpillsBlood = true;
99  HasEyes = true;
100  HasHead = true;
101  CanThrow = false;
102  UsesNutrition = true;
103  AttackWisdomLimit = NO_LIMIT;
104  /* Obligatory: AttachedGod */
105  BodyPartsDisappearWhenSevered = false;
106  CanBeConfused = true;
107  CanApply = false;
108  WieldedPosition = 0, 0;
109  NaturalSparkleFlags = 0;
110  BiteCapturesBodyPart = true;
111  IsPlant = false;
112  MoveType = WALK;
113  DestroysWalls = false;
114  IsRooted = false;
115  BloodMaterial = BLOOD;
116  VomitMaterial = VOMIT;
117  HasSecondaryMaterial = false;
118  IsImmuneToLeprosy = true;
119  PolymorphIntelligenceRequirement = DEPENDS_ON_ATTRIBUTES;
120  AutomaticallySeen = false;
121  CanHear = true;
122  DefaultCommandFlags = FOLLOW_PLAYER|DONT_CONSUME_ANYTHING_VALUABLE;
123  ConstantCommandFlags = 0;
124  WillCarryItems = false;
125  ForceVomitMessage = "You vomit.";
126  SweatMaterial = SWEAT;
127  Sweats = true;
128  IsImmuneToItemTeleport = false;
129  AlwaysUseMaterialAttributes = false;
130  IsEnormous = false;
131  ScienceTalkAdjectiveAttribute =
132  {
133    141,
134    "", "applied", "recent", "dark", "linear",
135    "molecular", "theoretical", "classical", "the future of", "queer",
136    "multilinear", "fundamental", "mythical", "nuclear", "loop quantum",
137    "higher", "terrible", "mad", "tertiary", "the art of",
138    "elementary", "practical", "artificial", "existential", "quantum",
139
140    "modern", "ancient", "empirical", "statistical", "the axioms of",
141    "hypothetical", "organic",  "dialectical", "black", "erotic",
142    "communal", "general", "special", "the theory of", "elliptical",
143    "heuristical", "urban", "spontaneous", "forbidden", "invisible",
144    "popular", "the current state of", "liberal", "nautical", "ceremonial",
145
146    "good", "bad", "environmental", "the code of", "compressed",
147    "explosive", "educational", "recreational", "democratic", "public",
148    "scientific", "social", "motorized", "genetic", "revolutionary",
149    "replaceable", "atomic", "advanced", "amphibious", "neolithic",
150    "jurassic", "synthetic", "integrated", "chaotic", "strategic",
151
152    "tropical", "corrupted", "diplomatic", "political", "experimental",
153    "happy", "the purpose of", "natural", "heroic", "hexagonal",
154    "wrong", "orthogonal", "paraller", "infinite", "the solvability of",
155    "mental", "orthodox", "the history of", "soft", "hard",
156    "illegitimate", "comical", "collective", "optical", "intellectual",
157
158    "the creative uses of", "global", "the origin of", "royal", "clinical",
159    "evolutionary", "alien", "the implementation of", "psychic", "plasma",
160    "commercial", "wicked", "hypnotic", "polymorphic", "controlled",
161    "doctrine:", "frictionless", "the conservation of", "ideal", "moral",
162    "retroviral", "orbital", "nonlinear", "the secrets of", "self-aware",
163
164    "sentient", "silksteel", "dead", "temporal", "transcendent",
165    "unified", "the threshold of", "finite", "postmodern", "selective",
166    "arctic", "the proofs of", "mortal", "teleological", "sick",
167    "the principle of";
168  }
169  ScienceTalkSubstantiveAttribute =
170  {
171    17,
172    "New Age", "military", "space", "neutronium", "punishment",
173    "last century", "mass", "horseback", "tachyon", "singularity",
174    "antimatter", "superstring", "nerd", "crystal", "free market",
175    "hybrid", "probability";
176  }
177  ScienceTalkPrefix =
178  {
179    51,
180    "", "", "", "", "",
181    "", "", "", "", "",
182    "macro", "nano", "neuro", "semi", "hemi",
183    "cryo", "eroto", "ethno", "hyper", "trans",
184    "bio", "beta", "gamma", "geo", "mega",
185
186    "radio", "cosmo", "post", "photo", "tele",
187    "meta", "neo", "para", "micro", "necro",
188    "super", "auto", "laser", "ego", "eco",
189    "gyro", "sub", "multi", "cyber", "xeno",
190    "aero", "pyro", "helio", "caco", "pseudo",
191    "thermo";
192  }
193  ScienceTalkName =
194  {
195    265,
196    "sanitation", "relativity", "physics", "mathematics", "philosophy",
197    "numerology", "slavery", "mechanics", "magicks", "architecture",
198    "archaeology", "logic", "fiction", "questions", "theology",
199    "alchemy", "valpurism", "analysis", "gastronomy", "oceanography",
200    "astronomy", "astrology", "anthropology", "ethics", "linguistics",
201
202    "psychology", "methods", "choreography", "music", "semiotics",
203    "culture", "forestry", "engineering", "journalism", "agriculture",
204    "ergonomics", "sagas", "pedagogy", "apiculture", "aquaculture",
205    "horticulture", "silviculture", "law", "dentistry", "surgery",
206    "rocketry", "fission", "pharmacy", "dogmatics", "cartography",
207
208    "gerontology", "formalism", "feminism", "communism", "flight",
209    "cricket", "rhetorics", "navigation", "sculpture", "literature",
210    "shamanism", "painting", "utilitarism", "grammar", "arithmetic",
211    "algebra", "marxism", "capitalism", "behaviorism", "causality",
212    "folklore", "legends", "animism", "spiritualism", "idolatry",
213
214    "constructions", "currency", "riding", "federalism", "monarchy",
215    "medicine", "tradition", "chivalry", "righteousness", "banking",
216    "gravity", "metallurgy", "magnetism", "nationalism", "industry",
217    "pollution", "espionage", "corporations", "particles", "transportation",
218    "refining", "combustion", "colonization", "steel", "materials",
219
220    "hallucinations", "armours", "trance", "afterlife", "paradigms",
221    "customer support", "virginity", "zoology", "witchcraft", "wine",
222    "claustrophobia", "eddies", "vegetables", "mobility", "eudaimoia",
223    "ablutophobia", "palindromes", "jokes", "materialism", "surfaces",
224    "acarophobia", "energy", "momentum", "mushrooms", "brains",
225
226    "selenophobia", "alloys", "equations", "bombs", "fashion",
227    "taurophobia", "naturism", "nirvana", "drugs", "everything",
228    "ranidaphobia", "horror", "sightseeing", "marriage", "mirages",
229    "phronemophobia", "cancer", "scrofula", "depression", "air power",
230    "phallophobia", "romance", "bondage", "interfaces", "software",
231
232    "pentheraphobia", "nations", "levitation", "tubes", "structures",
233    "peladophobia", "travel", "meditation", "systems", "algorithms",
234    "lachanophobia", "taxonomy", "taxidermy", "viruses", "bacteria",
235    "epistaxiophobia", "camping", "resistance", "chauvinism", "fruits",
236    "ephebiphobia", "simulation", "computers", "conductors", "fibers",
237
238    "coulrophobia", "defence", "broomsticks", "fusion", "power",
239    "arachnophobia", "balls", "diseases", "universes", "weapons",
240    "virtue", "immortality", "elevators", "marketing", "civilizations",
241    "dreams", "anatomy", "reproduction", "calligraphy", "chess",
242    "Go", "cooking", "altruism", "anomalities", "fishing",
243
244    "crime", "nonsense", "monsters", "thought control", "euthanasia",
245    "genocide", "cremation", "waste disposal", "breeding", "eugenics",
246    "minds", "lottery", "sterilization", "utopias", "perpetual motion",
247    "dynamics", "entropy", "skepticism", "hoaxes", "creationism",
248    "cold fusion", "execution",  "warfare", "miracles", "the truth",
249
250    "herecy", "programming", "gaming", "spheres", "curves",
251    "shapes", "speciesism", "feudalism", "bananas", "poker",
252    "meteorology", "pornography", "waves", "anarchy", "torture",
253    "accidents", "activity", "theathre", "runes", "writing",
254    "masonry", "pottery", "religions", "burial", "working",
255
256    "!Sid Meier's games",
257    "!the Art of Computer Programming",
258    "!the Theory of Everything",
259    "!the greatness of IVAN",
260    "!free software ideology",
261    "lobotomy", "circle squaring", "angle trisection", "cosmetics", "love",
262    "autopsies", "Zen", "polyandry", "polygyny", "bubbles";
263  }
264  ScienceTalkPossibility = 0;
265  /* Obligatory if ScienceTalkPossibility != 0: ScienceTalkIntelligenceModifier */
266  /* Obligatory if ScienceTalkPossibility != 0: ScienceTalkWisdomModifier */
267  ScienceTalkCharismaModifier = 0;
268  /* Obligatory if ScienceTalkPossibility != 0: ScienceTalkIntelligenceRequirement */
269  /* Obligatory if ScienceTalkPossibility != 0: ScienceTalkWisdomRequirement */
270  ScienceTalkCharismaRequirement = 0;
271  IsExtraFragile = false;
272  AllowUnconsciousness = true;
273  CanChoke = true;
274  IsImmuneToStickiness = false;
275  RunDescriptionLineOne = ""; /* if empty, IVAN determines this itself */
276  RunDescriptionLineTwo = "";
277  VomittingIsUnhealthy = true;
278  AllowPlayerToChangeEquipment = true;
279  TamingDifficulty = 0;
280  IsSadist = false;
281  IsMasochist = false;
282  IsCatacombCreature = false;
283  CreateUndeadConfigurations = false;
284  UndeadVersions = false;
285  UndeadAttributeModifier = 100;
286  UndeadVolumeModifier = 100;
287  UndeadCopyMaterials = true;
288  GhostCopyMaterials = false;
289  CanBeGeneratedOnlyInTheCatacombs = false;
290  IsAlcoholic = false;
291  IsUndead = false;
292  IsImmuneToWhipOfThievery = false;
293  AllowedDungeons == ALL_DUNGEONS; /* example: AllowedDungeons = { 2, UNDER_WATER_TUNNEL, ELPURI_CAVE; } */
294}
295
296humanoid
297{
298  ClothColor = rgb16(111, 74, 37);
299  SkinColor = rgb16(230, 140, 100);
300  HairColor = rgb16(160, 80, 0);
301  EyeColor = rgb16(48, 8, 80);
302  BeltColor = rgb16(48, 48, 48);
303  BootColor = rgb16(16, 16, 16);
304  TorsoSpecialColor = 0;
305  ArmSpecialColor = 0;
306  LegSpecialColor = 0;
307  IsAbstract = true;
308  BaseUnarmedStrength = 150;
309  Sex = MALE;
310  CanUseEquipment = true;
311  CanKick = true;
312  CanTalk = true;
313  CanZap = true; /* if has at least one hand (hard coded) */
314  FleshMaterial = HUMAN_FLESH;
315  DeathMessage = "@Dd dies screaming."; /* overridden if has no head */
316  CanThrow = true;
317  CanApply = true;
318  IsImmuneToLeprosy = false;
319  WillCarryItems = true;
320  ForceVomitMessage = "You push your fingers down to your throat and vomit.";
321  DisplacePriority = 0;
322  UndeadVersions = true;
323  BonusBiteStrength = 375;
324}
325
326nonhumanoid
327{
328  IsAbstract = true;
329  DisplacePriority = -1;
330}
331
332playerkind
333{
334  DefaultArmStrength = 10;
335  DefaultLegStrength = 10;
336  DefaultDexterity = 10;
337  DefaultAgility = 10;
338  DefaultEndurance = 10;
339  DefaultPerception = 10;
340  DefaultIntelligence = 10;
341  DefaultWillPower = 10;
342  DefaultWisdom = 10;
343  DefaultCharisma = 10;
344  DefaultMana = 10;
345  DefaultMoney = 45;
346  TorsoBitmapPos = 32, 416;
347  LegBitmapPos = 0, 416;
348  TotalVolume = 80000;
349  TotalSize = 175;
350  CanRead = true;
351  NameSingular = "human";
352  AttachedGod = SEGES;
353  DisplacePriority = 2;
354  /*Inventory == amulet(AMULET_OF_LIFE_SAVING) { Times = BONUS_LIVES; }*/
355  UndeadVersions = false;
356}
357
358petrus
359{
360  DefaultArmStrength = 40;
361  DefaultLegStrength = 40;
362  DefaultDexterity = 40;
363  DefaultAgility = 40;
364  DefaultEndurance = 40;
365  DefaultPerception = 40;
366  DefaultIntelligence = 40;
367  DefaultWillPower = 40;
368  DefaultWisdom = 40;
369  DefaultCharisma = 40;
370  DefaultMana = 40;
371  TamingDifficulty = NO_TAMING;
372  IsNameable = false;
373  IsUnique = true;
374  HairColor = rgb16(160, 160, 160);
375  ClothColor = rgb16(48, 48, 48);
376  EyeColor = rgb16(100, 60, 30);
377  HeadBitmapPos = 96, 144;
378  TorsoBitmapPos = 32, 80;
379  ArmBitmapPos = 64, 16;
380  LegBitmapPos = 0, 0;
381  TotalVolume = 80000;
382  TotalSize = 225;
383  CanRead = true;
384  NameSingular = "high priest";
385  PostFix = "of the Great Frog";
386  IsPolymorphable = false;
387  Amulet = amulet(AMULET_OF_LIFE_SAVING);
388  BodyArmor = SAPPHIRE bodyarmor(PLATE_MAIL) { Enchantment = 4; }
389  Cloak = ANGEL_HAIR cloak(CLOAK_OF_ELECTRICITY_RESISTANCE) { Enchantment = 4; }
390  Belt = ILLITHIUM belt { Enchantment = 4; }
391  RightWielded = justifier;
392  RightGauntlet = DRAGON_HIDE gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 4; }
393  RightRing = ring(RING_OF_FIRE_RESISTANCE);
394  LeftRing = ring(RING_OF_POISON_RESISTANCE);
395  RightBoot = PHOENIX_FEATHER boot(BOOT_OF_AGILITY) { Enchantment = 4; }
396  KnownCWeaponSkills = { 4, UNARMED, KICK, BITE, LARGE_SWORDS; }
397  CWeaponSkillHits = { 4, 2000, 2000, 2000, 2000; }
398  RightSWeaponSkillHits = 1000;
399  PanicLevel = 0;
400  CanBeCloned = false;
401  DefaultName = "Petrus";
402  DeathMessage = "The high priest disappears in a bright light and only his left nut is left behind.";
403  /* Replies overridden */
404  /* BloodMaterial specifically *not* BLUE_BLOOD, as Petrus is of humble parentage */
405  AttachedGod = VALPURUS;
406  BodyPartsDisappearWhenSevered = true;
407  CanBeConfused = false;
408  EnergyResistance = 50;
409  IsImmuneToLeprosy = true;
410  IsImmuneToItemTeleport = true;
411  AllowUnconsciousness = false;
412  DisplacePriority = 10;
413  UndeadVersions = false;
414  IsImmuneToWhipOfThievery = true;
415}
416
417farmer
418{
419  DefaultArmStrength = 20;
420  DefaultLegStrength = 20;
421  DefaultDexterity = 20;
422  DefaultAgility = 10;
423  DefaultEndurance = 20;
424  DefaultPerception = 18;
425  DefaultIntelligence = 10;
426  DefaultWillPower = 10;
427  DefaultWisdom = 10;
428  DefaultCharisma = 10;
429  DefaultMana = 5;
430  DefaultMoney = 20;
431  TorsoSpecialColor = rgb16(0, 96, 0);
432  TotalVolume = 50000;
433  TotalSize = 170;
434  NameSingular = "farmer";
435  TorsoBitmapPos = 32, 16;
436  LegBitmapPos = 0, 0;
437  Belt = LEATHER belt;
438  RightWielded = meleeweapon(AXE);
439  KnownCWeaponSkills == AXES;
440  CWeaponSkillHits == 50;
441  RightSWeaponSkillHits = 20;
442  HostileReplies == "\"Did you think I use this axe only to chop wood?\"";
443  FriendlyReplies =
444  {
445    11,
446    "\"Crops are so lousy around here. Perhaps because the summer lasts two weeks.\"",
447    "@Dd seems suspicious. \"You look like one from Luppliva! Go away!\"",
448    "@Dd sighs: \"Again polar bears ate my cattle...\"",
449    "\"I would like to be like Ivan. Ivan is a good worker.\"",
450    "\"Have you heard about the Justice Legion of Attnam? What? No, I have not. It's forbidden to know anything about them.\"",
451    "\"I'd better not see you flirt with my wife, or else...\"",
452    "\"You! Ain't you from Mondedr, stranger?! I'll be watching you.\"",
453    "\"Eh?\"",
454    "\"What?\"",
455    "@Dd boasts about @sp collection of shovels.",
456    "\"The prices are infamous here. Ivan should smack that capitalist shopkeeper hard!\"";
457  }
458  AttachedGod = SEGES;
459  ScienceTalkPossibility = 20;
460  ScienceTalkIntelligenceModifier = 5;
461  ScienceTalkWisdomModifier = 2;
462  ScienceTalkIntelligenceRequirement = 10;
463  ScienceTalkWisdomRequirement = 10;
464  ScienceTalkName =
465  {
466    10,
467    "agriculture", "apiculture", "aquaculture", "horticulture", "silviculture",
468    "herbalism", "plants", "breeding", "snow", "forestry";
469  }
470  DisplacePriority = -2;
471
472  Config IMPRISONED_FARMER;
473  {
474    UsesLongAdjectiveArticle = true;
475    Adjective = "eunuch";
476    CanBeGenerated = false;
477    AttributeBonus = -10;
478    RightWielded = 0;
479    IsMasochist = true;
480    HostileReplies == "\"You don't have the balls to kill me!\"";
481    FriendlyReplies =
482    {
483      5,
484      "\"Let's just say that Petrus' wife No. 3 was beautiful and I wasn't careful.\"",
485      "\"Would you have a nut to spare?\"",
486      "\"Eh?\"",
487      "\"Huh?\"",
488      "\"Please, tell me: How does the sunshine feel on your skin? I don't remember.\"";
489    }
490    UndeadVersions = false;
491  }
492
493  Config CULTIST;
494  {
495    CanBeGenerated = true;
496    AttributeBonus = 10;
497    NameSingular = "cultist";
498    TorsoBitmapPos = 48, 352;
499    LegBitmapPos = 16, 160;
500    ClothColor = rgb16(50, 50, 50);
501    BeltColor = rgb16(100, 100, 100);
502    Belt = HUMAN_SKIN belt { Enchantment = 2; }
503    RightWielded = meleeweapon(BASTARD_SWORD);
504    KnownCWeaponSkills == LARGE_SWORDS;
505    IsSadist = true;
506    AttachedGod = CRUENTUS;
507    HostileReplies == "\"You dare desecrate the Tomb?!\"";
508    FriendlyReplies =
509    {
510      31,
511      "\"Praised be Cruentus!\"",
512      "\"Praised be Infuscor!\"",
513      "\"Blood for Cruentus! Souls for Infuscor!\"",
514      "\"Long, long time ago, there was a War in Heavens. Valpurus rose to usurp the throne of Mortifer, then King of Gods, and eventually triumphed. After his armies conquered all Heavens, Valpurus murdered Mortifer and banished him into the darkness beyond stars.\"",
515      "\"To prevent the destruction of the very world they were fighting for, Mortifer placed a powerful geas upon all gods that prevents them from ever entering the world. Thus, even the primordial War in Heavens was fought by the many priests and other servants the gods have acquired and empowered.\"",
516      "\"The original Order of the Dark Knights was established by Cruentus nearly three millennia ago, to battle the knights templar of Valpurus during the ancient War in Heavens.\"",
517      "\"Today, the dark knights have splintered into two distinct branches, the Unholy Order of Infuscor and the Dark Knights of Cruentus, plus a handful of fringe cults.\"",
518      "\"All dark knights are still formally united under the leadership of a grand master dark knight, though how much do masters of each group heed the orders of their grand master depends entirely upon his or her power and authority.\"",
519      "\"The name of the first grand master dark knight was lost to history, yet his deeds remain. Legends say he was more a daemon than a man. He even won the favour of Mortifer and was given the newly forged Neerc Se-ulb to wield against the swarming armies of Light.\"",
520      "\"The first grand master dark knight led his armies from victory to victory, but pride was his undoing. Believing that none could defeat him, he challenged Pervetus, the high priest of Valpurus, to a duel. At first, it seemed to quickly be turning into another easy victory... until his mace-arm was severed.\"",
521      "\"When the first grand master dark knight fell and Neerc Se-ulb was lost for a time, Mortifer vowed to never lend his mace again but to a true champion of Chaos. But Cruentus trusted in the power of his dark knights and the next grand master received the terrible halberd named Mjolak to crush all who would oppose the god of blood.\"",
522      "\"The second grand master dark knight was a son of the first one. He swore an oath of revenge, to slay the high priest of Valpurus in honor of his father's death. Yet his name was erased from all records to clean the stain of shame he brought upon his family.\"",
523      "\"The second grand master dark knight ruthlessly crushed all resistance and many an enemy fled even before battle, for his trumpeters used horns of fear to devastating effect. Where the father took nearly a decade to slowly force valpurian troops back, the son brought his army of dark knights before the gates of the Citadel of Valpurus in only a few years.\"",
524      "\"As his men razed and burned the once-mightly Citadel of Valpurus, the second grand master dark knight assailed Pervetus, the high priest of Valpurus. Now being of venerable age, Pervetus quickly fell to the power of Mjolak.\"",
525      "\"In a hubris of an easy victory, the second grand master dark knight turned his back to the dead high priest Pervetus he just slain and did not see a strange glow of a magical amulet that brought Pervetus back with renewed vigor. The high priest lifted Justifier and with a single mightly blow, cut off both of the grand master's hands. And in a single moment of weakness, the grand master shamed his family for the ages to come, for he didn't face death with dignity, but panicked and ran for his life.\"",
526      "\"Our lord Xinroch was the greatest and most powerful grand master dark knight to ever live, and the third to bear that title. His two crossed flaming swords are still found on the banner of the grand master dark knights to this day.\"",
527      "\"Some sources claim Xinroch was no one in his youth, maybe even one of the children kidnapped from forgotten villages to be trained for war. But soon, his talents became apparent. He was clever, quick to learn and utterly ruthless when he could get what he wanted.\"",
528      "\"In his many skirmishes with the forces of Light, Xinroch destroyed two archangels, Incendo and Lucis, and took their flaming swords. He wielded them with unparalleled skill, earning him the sobriquet of 'Xinroch the Flame of Chaos'.\"",
529      "\"While his predecessors were beasts on the battlefield and masters of the military arts of tactics and strategy, Xinroch was well-versed in the use of another weapon they rarely considered - diplomacy. He conquered a land - then used the fear to gain ten times more in a fraction of time.\"",
530      "\"Xinroch was highly successful in all his campaigns, and it was during his life that the Unholy Order of the Dark Knights truly flourished.\"",
531      "\"Even Ischaldirh, the champion of Infuscor since times immemorial, who always thought of warriors as nothing more than brutes and uncivilized savages, eventually befriended Xinroch and accompanied him on many a campaign. Not even demigods could stand in their way.\"",
532      "\"Just as Xinroch outlived high priest Pervetus and took all his lands, years caught up with Xinroch at last after a life full of victory. No matter how strong magic sustains the body, mortals were created to die and all that lives will wither eventually. Only that which already died and was raised to undeath or which ascended beyond this world is truly immortal.\"",
533      "\"During one of the countless battles late in his life, Xinroch lost one of the iconic ruby flaming swords he wielded most of his life. The dwarves of Khaz-zadm forged an arcanite shield for him, but it was clear to everyone his prime years have irreversibly passed.\"",
534      "\"In his declining years, Xinroch heavily funded research into the newly-invented magic school of necromancy. It was thanks to his sponsorship that this discipline could start to spread, but unfortunately the early necromancers were unable to stave off the dwindling of Xinroch's life.\"",
535      "\"Xinroch died in a glorious battle. His army crushed the invasion of frost giants while Xinroch himself, by then of venerable age, dueled and slayed their jarl. Yet his years and exhaustion took their toll and Xinroch could not fend off the treacherous dagger his most trusted lieutenant turned against him. Old grand master slain and the battle won, this second-in-command became the new grand master dark knight.\"",
536      "\"Xinroch's successor feared his former master so much he eventually resigned his title of the grand master dark knight and entered the Tomb, to remain enternally vigilant as a keeper of Xinroch's grave and prevent Xinroch's resurrection and terrible revenge.\"",
537      "\"When Xinroch brought dark knights and dark mages together in a peculiar alliance, even their two ever-rival gods set aside their differences for a time. What none of their worshippers could expect, though, was the child born from the blood of Cruentus and the dark magic of Infuscor, the first vampire.\"",
538      "\"This Tomb was erected on the battlefield where Xinroch was slain, to honor and guard his grave against all who would wish to disturb his last sleep or defile his memory. Let his majestic glory never be forgotten!\"",
539      "\"Some believe it is possible to bring our lord Xinroch back. Whether through high necromancy or some dark miracle, he might be able to lead his faithful again!\"",
540      "\"It was a great shame to the dark templars when several decades ago, an unknown necromancer managed to slip past their guards and animate the skeleton of Xinroch in a mockery of his once-living might. Whether the spell was cast with belief that it could truly bring Xinroch back, or with utmost disrespect for the dearly departed, the dark templars swore they will never allow another man or woman to enter their lord's resting place.\"",
541      "\"All hail our mighty lord Xinroch.\"";
542    }
543    ScienceTalkPossibility = 0;
544    Inventory = { 2, holybook(CRUENTUS) { Chance = 10; }, wand(WAND_OF_NECROMANCY) { Chance = 10; } }
545    AllowedDungeons == XINROCH_TOMB;
546  }
547
548  Config CRAZED_FARMER;
549  {
550    DefaultName = "Brom";
551    Adjective = "crazed";
552    AttributeBonus = 30;
553    Belt = LEATHER belt { Enchantment = 5; }
554    RightWielded = COPPER sharpaxe { Enchantment = 5; }
555    CWeaponSkillHits == 100;
556    RightSWeaponSkillHits = 50;
557    FireResistance = 20;
558    ElectricityResistance = 20;
559    EnergyResistance = 20;
560    TamingDifficulty = 25;
561    IsNameable = false;
562    IsUnique = true;
563    CanBeWished = true;
564    CanBeCloned = false;
565    IsPolymorphable = false;
566    IsSadist = true;
567    UndeadVersions = false;
568    CanBeGenerated = true;
569    Frequency = 1000;
570    ClassStates = CONFUSED;
571    DeathMessage = "@Dd laughs and sobs and screams and dies.";
572    HostileReplies =
573    {
574      5,
575      "\"Please, let it stop!\"",
576      "\"I couldn't save her! No one can!!!\"",
577      "\"You're one of them! Of course. Hihihi...\"",
578      "\"Let us see the crimson. Yes, yes! Hihihi...\"",
579      "\"They're under your skin! Get them out!\"";
580    }
581    FriendlyReplies =
582    {
583      5,
584      "\"I would rather grow a share of crops in hell than stay alive. Hihihi...\"",
585      "\"Little mouse-babes played with cat, So she killed them and then ate.\"",
586      "\"I'm not insane, I'm not insane! Hihihi...\"",
587      "\"Let us see the crimson. Please? Hihihi...\"",
588      "\"I know what I know, I know what I know, I know what I know...\"";
589    }
590    Inventory == wand(WAND_OF_RESURRECTION);
591  }
592
593  Config REBEL_CAMP;
594  {
595    NameSingular = "rebel";
596    FriendlyReplies =
597    {
598      10,
599      "\"We're all talking about the old king's murder. How could Lord Regent get away with it?\"",
600      "\"I've heard some people talk about just burning the castle to the ground. Probably just talk though. Everyone's a bit on edge right now.\"",
601      "\"Is there anywhere in the camp where you can avoid rats? Disease spreading little nuisances.\"",
602      "\"I don't know what to think about the goblins escaping their owners. Things seem to go from bad to worse, don't they?\"",
603      "\"Aiding an escaping slave is theft, and a crime. That was always the law.\"", /* What, you thought they were the good guys? :) */
604      "\"Lord Regent recently announced that he won't stop until slavery is outlawed. It's our right to have slaves, by the old laws!\"",
605      "\"How does Lord Regent think we'll work the fields with no slaves? Our economy is already falling and he wants to kill it completely!\"",
606      "\"What?\"",
607      "\"These necromancer twins give me the creeps. Why do we even associate with such types?\"",
608      "@Dd boasts about @sp farmstead back home.";
609    }
610    ScienceTalkPossibility = 0;
611  }
612}
613
614guard
615{
616  DefaultArmStrength = 25;
617  DefaultLegStrength = 25;
618  DefaultDexterity = 15;
619  DefaultAgility = 15;
620  DefaultEndurance = 20;
621  DefaultPerception = 25;
622  DefaultIntelligence = 10;
623  DefaultWillPower = 15;
624  DefaultWisdom = 10;
625  DefaultCharisma = 15;
626  DefaultMana = 10;
627  HairColor = rgb16(140, 60, 60); /* horns */
628  HeadBitmapPos = 96, 112;
629  TorsoBitmapPos = 32, 128;
630  ArmBitmapPos = 64, 80;
631  LegBitmapPos = 0, 64;
632  TotalVolume = 70000;
633  TotalSize = 180;
634  NameSingular = "guard";
635  KnownCWeaponSkills = { 2, LARGE_SWORDS, SHIELDS; }
636  IsAbstract = true;
637  HostileReplies == "\"A fair trial? Hah! Prepare to be executed!\"";
638  AttachedGod = LEGIFER;
639  IsSadist = true;
640  IsAlcoholic = true;
641
642  Config ROOKIE;
643  {
644    AttributeBonus = -20;
645    Helmet = BRONZE helmet(FULL_HELMET);
646    BodyArmor = BRONZE bodyarmor(PLATE_MAIL);
647    RightWielded = BRONZE BRONZE meleeweapon(LONG_SWORD);
648    LeftWielded = BRONZE shield;
649    Adjective = "rookie";
650    CWeaponSkillHits = { 2, 20, 20; }
651    PanicLevel = 50;
652    ClothColor = rgb16(130, 80, 30);
653    FriendlyReplies =
654    {
655      7,
656      "@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?\"",
657      "\"Lions killed a couple of banana growers again. Hope they're now satisfied and don't attack us.\"",
658      "\"This place's as hot as the elemental plane of fire! I want back home.\"",
659      "\"What lousy pay we're getting here!\"",
660      "\"The food's not fit for orcs!\"",
661      "\"My feet hurt, I've been on them all day!\"",
662      "\"New Attnam, damn, I'm still only in New Attnam. Every time I think I'm gonna wake up back in the dungeon.\"";
663    }
664    DeathMessage = "@Dd dies screaming: \"Please, no! I don't want to die!\"";
665    AutomaticallySeen = true;
666    DisplacePriority = -5;
667  }
668
669  Config TRAINEE;
670  {
671    AttributeBonus = -20;
672    Helmet = BRONZE helmet(FULL_HELMET);
673    BodyArmor = BRONZE bodyarmor(PLATE_MAIL);
674    RightWielded = BIRCH_WOOD BIRCH_WOOD meleeweapon(LONG_SWORD);
675    LeftWielded = BRONZE shield;
676    Adjective = "trainee";
677    CWeaponSkillHits = { 2, 20, 20; }
678    PanicLevel = 50;
679    ClothColor = rgb16(130, 80, 30);
680    FriendlyReplies =
681    {
682      5,
683      "\"Why do we have to practise with these training swords? I want a real blade!\"",
684      "\"One day, I will be in the personal guard of the high priest himself!\"",
685      "\"Being a guard is a dream job. You get vodka, you get responsibility, you get merits. And sometimes, you get to fight amazons.\"",
686      "\"I hope someone will attack soon, so that I can save many people and prove myself a hero!\"",
687      "\"What is the moral difference between a civilian and a citizen? A citizen accepts personal responsibility for killing the high priest's enemies. A civilian does not. I am proud to call myself a citizen.\"";
688    }
689    HostileReplies == "\"I'm ready! I will fight you! I will kill you!\"";
690    DeathMessage = "@Dd dies screaming: \"Please, no! I don't want to die!\"";
691  }
692
693  Config VETERAN;
694  {
695    Helmet = IRON helmet(FULL_HELMET);
696    BodyArmor = IRON bodyarmor(PLATE_MAIL);
697    RightWielded = IRON IRON meleeweapon(LONG_SWORD);
698    LeftWielded = IRON shield;
699    Adjective = "veteran";
700    CWeaponSkillHits = { 2, 100, 100; }
701    RightSWeaponSkillHits = 10;
702    LeftSWeaponSkillHits = 10;
703    PanicLevel = 25;
704    ClothColor = rgb16(80, 80, 80);
705    FriendlyReplies =
706    {
707      14,
708      "@Dd says gravely: \"You don't have a life. Get it in the army.\"",
709      "@Dd snorts.",
710      "@Dd spits on the ground.",
711      "\"...\"",
712      "\"Hmph.\"",
713      "\"Move along, stranger.\"",
714      "\"What do you need?\"",
715      "\"Trouble? Causing or having?\"",
716      "\"Anything you say can be used against you.\"",
717      "\"Put that weapon away before you hurt someone!\"",
718      "\"Don't even think of breaking rules.\"",
719      "\"The high priest is my idol. I would want a sword as big as his!\"",
720      "\"Don't talk to the prisoners in the Cellar, or you might end up amongst them.\"",
721      "@Dd sighs. \"Fighting bears bores me. Why can't an amazon army attack us for a change?\"";
722    }
723  }
724
725  Config EUNUCH;
726  {
727    Helmet = MOON_SILVER helmet(FULL_HELMET);
728    BodyArmor = MOON_SILVER bodyarmor(PLATE_MAIL);
729    Cloak = FABRIC cloak;
730    RightWielded = MOON_SILVER RUBY meleeweapon(LONG_SWORD);
731    LeftWielded = MOON_SILVER shield;
732    UsesLongAdjectiveArticle = true;
733    Adjective = "eunuch";
734    CWeaponSkillHits = { 2, 200, 200; }
735    RightSWeaponSkillHits = 20;
736    LeftSWeaponSkillHits = 20;
737    PanicLevel = 20;
738    ClothColor = rgb16(110, 110, 110);
739    FriendlyReplies =
740    {
741      4,
742      "@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.\"",
743      "\"Don't you dare to touch any of the ladies!\"",
744      "\"And everyone said I didn't have the balls to achieve a high status in the guard! Hah!\"",
745      "@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.\"";
746    }
747  }
748
749  Config PATROL;
750  {
751    Helmet = IRON helmet(HELM_OF_PERCEPTION) { Enchantment = 2; }
752    BodyArmor = IRON bodyarmor(PLATE_MAIL);
753    Cloak = BEAR_SKIN cloak;
754    RightWielded = IRON IRON meleeweapon(LONG_SWORD);
755    LeftWielded = IRON shield;
756    RightRing = VALPURIUM ring(RING_OF_INFRA_VISION);
757    Adjective = "patrol";
758    CWeaponSkillHits = { 2, 200, 200; }
759    RightSWeaponSkillHits = 100;
760    LeftSWeaponSkillHits = 100;
761    PanicLevel = 20;
762    ClothColor = rgb16(220, 220, 220);
763    FriendlyReplies =
764    {
765      10,
766      "@Dd shudders in the freezing air. \"Boy this rusty plate mail is cold in winter!\"",
767      "@Dd sighs: \"Why didn't I choose an office career... An inquisitor, for instance.\"",
768      "@Dd seems very suspicious. \"Do you have the papers?\"",
769      "\"Decent people have nothing to hide so they don't mind me investigating their homes every now and then.\"",
770      "\"Through brightest day, through blackest night no evil shall escape my sight!\"",
771      "@Dd sighs: \"I need a drink...\"",
772      "\"Don't even think about littering!\"",
773      "\"Jaywalking is strictly forbidden.\"",
774      "\"The high priest sees everything, anyway, so why am I stuck patrolling here?\"",
775      "\"Again I'm all white! The master guard doesn't like me bringing snow into the barracks...\"";
776    }
777    Inventory == lantern;
778  }
779
780  Config SHOP;
781  {
782    AttributeBonus = 30;
783    Helmet = STEEL helmet(FULL_HELMET) { Enchantment = 1; }
784    BodyArmor = STEEL bodyarmor(PLATE_MAIL) { Enchantment = 1; }
785    RightWielded = STEEL STEEL meleeweapon(LONG_SWORD) { Enchantment = 2; }
786    LeftWielded = STEEL shield { Enchantment = 2; }
787    RightRing = ring(RING_OF_INFRA_VISION) { Chance = 50; }
788    Adjective = "shop";
789    CWeaponSkillHits = { 2, 500, 500; }
790    RightSWeaponSkillHits = 500;
791    LeftSWeaponSkillHits = 500;
792    PanicLevel = 15;
793    ClothColor = rgb16(100, 100, 100);
794    FriendlyReplies =
795    {
796      10,
797      "@Dd says gravely: \"You don't have a life. Get it as a shop guard.\"",
798      "@Dd seems very suspicious. \"Don't even think of stealing anything.\"",
799      "\"Yes, this is a dangerous place to work, but our boss pays us well.\"",
800      "\"Go fiddling with any locks around here, we're going to have a real problem.\"",
801      "\"I find your hand in my pocket, I'm going to cut it off. Your hand, not my pocket.\"",
802      "\"I know your kind, always sneaking about. Won't fool me!\"",
803      "\"Hands to yourself, thief! Oh, sorry, you came to buy something?\"",
804      "\"Your gold is welcome here.\"",
805      "\"Attnam's guards can barely wield a sword. But we are trained by the laws of the dungeon, so don't make any rash moves here.\"",
806      "\"When I was here, I wanted to be there, when I was there all I could think of was getting back into the dungeon.\"";
807    }
808    HostileReplies =
809    {
810      2,
811      "\"Not very intelligent, are you?\"",
812      "\"Ah, you have a death wish.\"";
813    }
814  }
815
816  Config ELITE;
817  {
818    AttributeBonus = 40;
819    Helmet = MITHRIL helmet(FULL_HELMET) { Enchantment = 2; }
820    BodyArmor = MITHRIL bodyarmor(PLATE_MAIL) { Enchantment = 2; }
821    RightWielded = MITHRIL MITHRIL meleeweapon(LONG_SWORD) { Enchantment = 2; }
822    LeftWielded = MITHRIL shield { Enchantment = 2; }
823    RightGauntlet = MITHRIL gauntlet { Enchantment = 2; }
824    RightBoot = MITHRIL boot { Enchantment = 2; }
825    RightRing = ring(RING_OF_INFRA_VISION);
826    LeftRing = ring(RING_OF_INVISIBILITY);
827    UsesLongAdjectiveArticle = true;
828    Adjective = "elite";
829    CWeaponSkillHits = { 2, 500, 500; }
830    RightSWeaponSkillHits = 50;
831    LeftSWeaponSkillHits = 50;
832    PanicLevel = 10;
833    TamingDifficulty = 30;
834    TotalVolume = 80000;
835    ClothColor = rgb16(220, 220, 220);
836    NaturalSparkleFlags = CLOTH_COLOR;
837    FriendlyReplies =
838    {
839      7,
840      "@Dd sounds annoyed. \"Why do I have to work with these amateurs? They can't beat a rookie dark knight properly!\"",
841      "\"Don't believe Haedlac if he boasts about that enner beast. In reality he fled immediately and the monster stepped on a land mine while chasing him.\"",
842      "@Dd shouts excitedly: \"Attnam victoor!\"",
843      "\"We are the Imperial Guard. Bow.\"",
844      "\"Hi! You look fabulous today!\"",
845      "\"Out of my way, scum!\"",
846      "\"If you even touch the shadow of our magnificent high priest, I'll squash you.\"";
847    }
848  }
849
850  Config MASTER;
851  {
852    AttributeBonus = 60;
853    TotalVolume = 120000;
854    Helmet = ILLITHIUM helmet(HELM_OF_PERCEPTION) { Enchantment = 3; }
855    Amulet = amulet(AMULET_OF_ESP);
856    BodyArmor = ILLITHIUM bodyarmor(PLATE_MAIL) { Enchantment = 3; }
857    Cloak = PHOENIX_FEATHER cloak(CLOAK_OF_FIRE_RESISTANCE);
858    RightWielded = VALPURIUM VALPURIUM meleeweapon(LONG_SWORD) { Enchantment = 3; }
859    LeftWielded = VALPURIUM shield { Enchantment = 3; }
860    RightRing = ring(RING_OF_TELEPORT_CONTROL);
861    LeftRing = ring(RING_OF_INVISIBILITY);
862    RightGauntlet = ANGEL_HAIR gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 3; }
863    RightBoot = SAPPHIRE boot(BOOT_OF_STRENGTH) { Enchantment = 3; }
864    Adjective = "master";
865    CWeaponSkillHits = { 2, 2000, 2000; }
866    RightSWeaponSkillHits = 200;
867    LeftSWeaponSkillHits = 200;
868    PanicLevel = 5;
869    TamingDifficulty = NO_TAMING;
870    IsUnique = true;
871    DefaultName = "Sir Haedlac Galladon VII"; /* Galahad */
872    IsNameable = false;
873    CanBeCloned = false;
874    IsPolymorphable = false;
875    ClothColor = rgb16(144, 144, 200);
876    CanBeConfused = false;
877    NaturalSparkleFlags = CLOTH_COLOR;
878    BloodMaterial = BLUE_BLOOD;
879    Inventory == key(HEXAGONAL_LOCK);
880    FriendlyReplies =
881    {
882      14,
883      "\"And this medal I got after killing my first enner beast using ingenious tactical maneuvers...\"",
884      "\"My great-grandfather, Sir Haedlac Galladon IV, once told me a story he heard from his great-grandfather: That when the young Petrus lead the Revolution, his beard was only one foot long. Not that I would believe such urban legends.\"",
885      "\"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.\"",
886      "\"See the amulet? Don't think badly of the Government.\"",
887      "\"No crime can be tolerated. Justice shall tower over freedom!\"",
888      "\"In my left hand, judgement - in my right, retribution!\"",
889      "\"Those Shining Knights think they are above law, delivering 'justice' as they see fit. A law is a law, even for a paladin.\"",
890      "\"I will never allow vigilantes in Attnam. Lady Decora must learn her place.\"",
891      "\"Enemy of my enemy is still my enemy, but much easier to double cross.\"",
892      "\"You can't make an omelet without ruthlessly crushing dozens of eggs beneath your steel boot and then publicly disemboweling the chickens that laid them as a warning to others.\"",
893      "\"I'm the Attnamese Cardinal of Peace. I shall bring peace to the whole world, one nation at a time.\"",
894      "\"Stop, citizen! You are guilty of a thought-crime! I thereby condemn you to re-education by the hand of the master torturer! Tee hee - just kidding. But you should have seen your face!\"",
895      "\"I'm the seventh knight of my family line in the service of Petrus. My great-great-great-great-grandfather received knighthood after he helped Petrus overthrow High Priest Priscus.\"",
896      "\"The house of Galladon has served Petrus ever since he took over.\"";
897    }
898    HostileReplies =
899    {
900      3,
901      "\"Your transgressions end here!\"",
902      "\"My mandate is absolute. I am above question, above doubt. Valpurus guides me and commands your destruction.\"",
903      "\"There is mercy for the repentant - for you, there is punishment and death!\"";
904    }
905    IsImmuneToItemTeleport = true;
906    AllowUnconsciousness = false;
907    DisplacePriority = 4;
908    UndeadVersions = false;
909  }
910
911  Config TOMB_ENTRY;
912  {
913    AttributeBonus = 20;
914    Helmet = HARDENED_ASH helmet(FULL_HELMET) { Enchantment = 2; }
915    BodyArmor = HARDENED_ASH bodyarmor(PLATE_MAIL);
916    RightWielded = HARDENED_ASH AMETHYST meleeweapon(LONG_SWORD) { Enchantment = 2; }
917    LeftWielded = HARDENED_ASH shield;
918    Adjective = "tomb";
919    CWeaponSkillHits = { 2, 100, 100; }
920    RightSWeaponSkillHits = 10;
921    LeftSWeaponSkillHits = 10;
922    PanicLevel = 25;
923    ClothColor = rgb16(64, 0, 128);
924    UndeadVersions = false;
925    FriendlyReplies =
926    {
927      9,
928      "@Dd says helplessly: \"I know, right? Purple. It had to be Infuscor's favourite color.\"",
929      "\"Don't even think of disturbing the Tomb.\"",
930      "\"They say Xinroch's restless soul dwells below. I heard it guards a portal to another dimension. I wouldn't be caught dead going through there.\"",
931      "\"Souls for Infuscor!\"",
932      "\"Our lord Xinroch was the greatest and most powerful grand master dark knight to ever live, and the third to bear that title.\"",
933      "\"Xinroch was highly successful in all his campaigns, and it was during his life that the Unholy Order of the Dark Knights truly flourished.\"",
934      "\"This Tomb was erected on the battlefield where Xinroch was slain, replacing the old temple ravaged and desecrated during the last battle.\"",
935      "\"Today, the dark knights have splintered into two distinct branches, the Unholy Order of Infuscor and the Dark Knights of Cruentus, plus a handful of fringe cults.\"",
936      "@Dd mutters. \"Hundreds of years guarding this Tomb. I wish those necromancers would get on with it!\"";
937    }
938  }
939
940  Config TOMB_ENTRY_MASTER;
941  {
942    AttributeBonus = 50;
943    TotalVolume = 120000;
944    Helmet = GOLD helmet(FULL_HELMET) { Enchantment = 2; }
945    Amulet = amulet(AMULET_OF_LIFE_SAVING);
946    BodyArmor = ARCANITE bodyarmor(PLATE_MAIL) { Enchantment = 2; }
947    Cloak = OMMEL_HAIR cloak(CLOAK_OF_FIRE_RESISTANCE);
948    RightWielded = ILLITHIUM OCTIRON meleeweapon(LONG_SWORD) { Enchantment = 2; }
949    LeftWielded = OCTIRON shield { Enchantment = 2; }
950    RightRing = ring(RING_OF_FIRE_RESISTANCE);
951    LeftRing = ring(RING_OF_POISON_RESISTANCE);
952    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 2; }
953    RightBoot = ILLITHIUM boot { Enchantment = 2; }
954    DefaultName = "High Lady Kauhistuttava";
955    Adjective = "master tomb";
956    CWeaponSkillHits = { 2, 2000, 2000; }
957    RightSWeaponSkillHits = 200;
958    LeftSWeaponSkillHits = 200;
959    PanicLevel = 5;
960    TamingDifficulty = NO_TAMING;
961    BloodMaterial = BLUE_BLOOD;
962    Sex = FEMALE;
963    IsUnique = true;
964    IsNameable = false;
965    CanBeCloned = false;
966    IsPolymorphable = false;
967    ClothColor = rgb16(130, 0, 0);
968    CanBeConfused = false;
969    NaturalSparkleFlags = CLOTH_COLOR;
970    FriendlyReplies =
971    {
972      10,
973      "\"An old temple of the Dark Gods once stood here, during Xinroch's leadership. Here he declared himself the grand master dark knight. Here he brought the forces of Infuscor and Cruentus together for the first time. Here he died.\"",
974      "\"This Tomb was erected on the battlefield where Xinroch was slain, replacing the old temple ravaged and desecrated during the last battle.\"",
975      "\"Xinroch's successor feared his former master so much he eventually resigned his title of the grand master dark knight and entered the Tomb, to remain enternally vigilant as a keeper of Xinroch's grave and prevent Xinroch's resurrection and terrible revenge.\"",
976      "\"We await the return of our lord Xinroch to lead the forces of Darkness into battle against the High Priest of Valpurus!\"",
977      "\"Since Xinroch was the grand master dark knight, all the masters of the Unholy Order of Infuscor have come here to kneel at the altar. The next master of the Unholy Order would be chosen by Infuscor herself.\"",
978      "\"All dark knights are still formally united under the leadership of a grand master dark knight, though how much do masters of each group heed the orders of their grand master depends entirely upon his or her power and authority.\"",
979      "\"The amulet? Heh, good insurance policies are hard to come by.\"",
980      "\"Some believe it is possible to bring our lord Xinroch back. Whether through high necromancy or some dark miracle, he might be able to lead his faithful again!\"",
981      "\"It was a great shame to the dark templars when several decades ago, an unknown necromancer managed to slip past their guards and animate the skeleton of Xinroch in a mockery of his once-living might. Whether the spell was cast with belief that it could truly bring Xinroch back, or with utmost disrespect for the dearly departed, the dark templars swore they will never allow another man or woman to enter their lord's resting place.\"",
982      "\"Be careful when entering the Tomb to pay homage. If you encounter the dark templars, they do not like disturbances!\"";
983    }
984    IsImmuneToItemTeleport = true;
985    AllowUnconsciousness = false;
986    DisplacePriority = 4;
987    UndeadVersions = false;
988  }
989
990  Config HONOR;
991  {
992    Helmet = SILVER helmet(FULL_HELMET);
993    BodyArmor = SILVER bodyarmor(PLATE_MAIL);
994    Cloak = FABRIC cloak;
995    RightWielded = SILVER EBONY_WOOD meleeweapon(HALBERD);
996    LeftWielded = 0;
997    RightGauntlet = SILVER gauntlet;
998    RightBoot = SILVER boot;
999    UsesLongAdjectiveArticle = true;
1000    KnownCWeaponSkills == POLE_ARMS;
1001    Adjective = "honor";
1002    CWeaponSkillHits == 100;
1003    RightSWeaponSkillHits = 10;
1004    PanicLevel = 25;
1005    ClothColor = rgb16(220, 220, 220);
1006    FriendlyReplies =
1007    {
1008      3,
1009      "@Dd looks bored.",
1010      "\"This is the Tomb of the Unknown Soldier! His name was Lamusius! Oops.\"",
1011      "\"Not that I think about it, I was reassigned as an honor guard after that huge screw-up. I wonder if... Nah, it's probably just a coincidence.\"";
1012    }
1013  }
1014
1015  Config EMISSARY;
1016  {
1017    AttributeBonus = 30;
1018    DefaultIntelligence = 20;
1019    DefaultWisdom = 20;
1020    EyeColor = rgb16(0, 153, 255);
1021    SkinColor = rgb16(230, 140, 100);
1022    ClothColor = rgb16(128, 128, 128);
1023    HeadBitmapPos = 96, 368;
1024    Helmet = 0;
1025    BodyArmor = HEPATIZON bodyarmor(PLATE_MAIL) { Enchantment = 2; }
1026    RightWielded = OCTIRON EMERALD meleeweapon(BASTARD_SWORD) { Enchantment = 2; }
1027    LeftWielded = OCTIRON shield { Enchantment = 2; }
1028    RightGauntlet = HEPATIZON gauntlet { Enchantment = 2; }
1029    RightBoot = HEPATIZON boot { Enchantment = 2; }
1030    DefaultName = "Sir Lancelyn"; /* Lancelot */
1031    NameSingular = "emissary";
1032    PostFix = "of Aslona";
1033    CWeaponSkillHits = { 2, 500, 500; }
1034    RightSWeaponSkillHits = 200;
1035    LeftSWeaponSkillHits = 200;
1036    PanicLevel = 50;
1037    CanBeGenerated = false;
1038    IsNameable = false;
1039    IsUnique = true;
1040    CanBeCloned = false;
1041    IsPolymorphable = false;
1042    UndeadVersions = false;
1043    TamingDifficulty = NO_TAMING;
1044    AttachedGod = CRUENTUS;
1045    BloodMaterial = BLUE_BLOOD;
1046    FriendlyReplies =
1047    {
1048      11,
1049      "\"I shouldn't be saying this so openly, but Aslona is in dire straits and *needs* any help it can get.\"",
1050      "\"I've heard other emissaries were sent from Aslona even to goblin lands to negotiate assistance.\"",
1051      "\"After the old king was assassinated and the Rebellion started, Aslona lost much of its former power.\"",
1052      "\"I will see the Rebellion crushed and every last rebel executed for their crimes!\"",
1053      "\"Lord Regent is doing his best, but his army just barely holds the rebels back. My only hope is I can return to him successful.\"",
1054      "\"Bandits are roving free through the forests of Aslona; you can never be sure which town supports the king and which the Rebellion. What happened to my country?\"",
1055      "\"My father was a trusted general of the old king, and the first one to meet with the rebel army on a battlefield after the regicide. Alas, he was betrayed by his slave-soldiers and murdered along with all of his loyal knights.\"",
1056      "\"I see a representative of the orcish freeholds arrived. Don't trust him! Those orcish vultures would love to feast on the carcass of Aslona, but I won't let that happen.\"",
1057      "\"I hope the negotiations over in goblin lands go well. As I heard, my king offers to free all goblin slaves in Aslona in exchange for military assistance against the orcish freeholds.\"",
1058      "\"I don't understand why the high priest tolerates that filthy orc here! No orc can be trusted, they are all raiders and murderers with no honor.\"",
1059      "\"The orcish freeholds have set their sights on aslonian wealth long ago and were a bother on the borders since then. Right now, I don't know whether we are strong enough to fend them off by ourselves.\"";
1060    }
1061    HostileReplies =
1062    {
1063      3,
1064      "\"Die, you treacherous bastard!\"",
1065      "\"What are you doing? I have a diplomatic immunity!\"",
1066      "\"Low-blooded scum! You dare to attack a knight of Aslona?\"";
1067    }
1068  }
1069
1070  Config CASTLE;
1071  {
1072    Helmet = DEEP_BRONZE helmet(FULL_HELMET);
1073    BodyArmor = DEEP_BRONZE bodyarmor(PLATE_MAIL);
1074    RightWielded = DEEP_BRONZE MAHOGANY_WOOD meleeweapon(HALBERD);
1075    Adjective = "castle";
1076    KnownCWeaponSkills = { 2, POLE_ARMS, KICK; }
1077    CWeaponSkillHits = { 2, 100, 100; }
1078    RightSWeaponSkillHits = 10;
1079    LeftSWeaponSkillHits = 10;
1080    PanicLevel = 25;
1081    ClothColor = rgb16(120, 80, 40);
1082    FriendlyReplies =
1083    {
1084      22,
1085      "@Dd says gravely: \"I think we're all in for some hard times.\"",
1086      "\"...\"",
1087      "\"Hmph.\"",
1088      "\"Move along, stranger.\"",
1089      "\"What do you need?\"",
1090      "\"Trouble? Causing or having?\"",
1091      "\"Things have been bad since old king Othyr died.\"",
1092      "\"Poor prince Artorius. He's too young to inherit a broken country.\"",
1093      "\"Seges bless Lord Regent for standing by the crown prince and this country in their hour of need.\"",
1094      "\"I've heard that Harvan Black-cloak poisoned old king Othyr and tried to dispose of prince Artorius as well.\"",
1095      "\"Lord Regent saved the kingdom, sure enough.\"",
1096      "\"The roads near the Castle are safer now, thanks to Lord Regent. He's an example for us all.\"",
1097      "\"Damn the rebel scum! We should hunt them down and hang them from the castle walls.\"",
1098      "\"I've heard the orc are stirring now, too. We should have burned down the freeholds when we had a chance.\"",
1099      "\"The guard duty here in the castle is usually a dull affair. Near the borders, though, things are a bit more challenging, and one can make a name for oneself.\"",
1100      "\"Kings have been assassinated before, but this time... I don't know. It's different.\"",
1101      "\"The king is dead, his heir too young. We needed a strong leader and Lord Regent answered the call.\"",
1102      "\"Can you believe that the bastard Black-cloak managed to sneak into the very king's rooms?!\"",
1103      "\"If you've got to travel, by Seges, stay on the roads! The wilderness just isn't safe. We've had sightings of bandits, goblins and even undead!\"",
1104      "\"Would you believe it? Harvan Black-cloak murdered king Othyr, and yet people go flocking to the banner of his rebellion!\"",
1105      "\"I understand that the treasury is empty, but begging for help in Attnam seems like a bad idea.\"",
1106      "\"So many bandits have appeared in the backcountry. We just don't have the troops nor the time to comb the wilderness for them.\"";
1107    }
1108  }
1109
1110  Config ROYAL;
1111  {
1112    AttributeBonus = 40;
1113    Helmet = BRASS helmet(FULL_HELMET) { Enchantment = 2; }
1114    BodyArmor = BRASS bodyarmor(PLATE_MAIL) { Enchantment = 2; }
1115    RightWielded = BRASS OCTIRON meleeweapon(BASTARD_SWORD) { Enchantment = 2; }
1116    LeftWielded = BRASS shield { Enchantment = 2; }
1117    RightGauntlet = BRASS gauntlet { Enchantment = 2; }
1118    RightBoot = BRASS boot { Enchantment = 2; }
1119    RightRing = ring(RING_OF_INFRA_VISION);
1120    LeftRing = ring(RING_OF_POISON_RESISTANCE);
1121    Adjective = "royal";
1122    CWeaponSkillHits = { 2, 500, 500; }
1123    RightSWeaponSkillHits = 50;
1124    LeftSWeaponSkillHits = 50;
1125    PanicLevel = 10;
1126    TamingDifficulty = 30;
1127    TotalVolume = 80000;
1128    ClothColor = rgb16(181, 166, 66);
1129    FriendlyReplies =
1130    {
1131      10,
1132      "@Dd says gravely: \"The king's death was a harsh lesson for all of us. We failed in our duty. It must not happen again.\"",
1133      "\"Things have been bad since old king Othyr died.\"",
1134      "\"Poor prince Artorius. He's too young to inherit a broken country.\"",
1135      "\"Seges bless Lord Regent for standing by the crown prince and this country in their hour of need.\"",
1136      "\"Lord Regent saved the kingdom, sure enough.\"",
1137      "\"Kings have been assassinated before, but this time... I don't know. It's different.\"",
1138      "\"The king is dead, his heir too young. We needed a strong leader and Lord Regent answered the call.\"",
1139      "\"Would you believe it? Harvan Black-cloak murdered king Othyr, and yet people go flocking to the banner of his rebellion!\"",
1140      "\"I understand that the treasury is empty, but begging for help in Attnam seems like a bad idea.\"",
1141      "\"So many bandits have appeared in the backcountry. We just don't have the troops nor the time to comb the wilderness for them.\"";
1142    }
1143  }
1144
1145  Config REBEL;
1146  {
1147    Helmet = DEEP_BRONZE helmet(FULL_HELMET);
1148    BodyArmor = DEEP_BRONZE bodyarmor(PLATE_MAIL);
1149    RightWielded = DEEP_BRONZE CYPRESS_WOOD meleeweapon(BASTARD_SWORD);
1150    LeftWielded = DEEP_BRONZE shield;
1151    Adjective = "rebel";
1152    CWeaponSkillHits = { 2, 200, 200; }
1153    RightSWeaponSkillHits = 50;
1154    LeftSWeaponSkillHits = 50;
1155    PanicLevel = 5;
1156    ClothColor = rgb16(120, 80, 40);
1157    FriendlyReplies =
1158    {
1159      18,
1160      "@Dd says gravely: \"I think we're all in for some hard times.\"",
1161      "\"...\"",
1162      "\"Hmph.\"",
1163      "\"Move along, stranger.\"",
1164      "\"What do you need?\"",
1165      "\"Trouble? Causing or having?\"",
1166      "\"Things have been bad since old king Othyr died.\"",
1167      "\"Lord Regent's men think us lawless beasts. How deluded can they be?\"",
1168      "\"We must free crown prince Artorius from the clutches of that wretched Lord Regent.\"",
1169      "\"Lord Regent didn't think anyone would stand up to his treason, but here we are.\"",
1170      "\"We won't give up to Lord Regent without a fight, don't you worry.\"",
1171      "\"We're all talking about the old king's murder. How could Lord Regent get away with it?\"",
1172      "\"Everyone wants to know what really happened to the old king.\"",
1173      "\"I'm sure Harvan will find some way to hold the kingdom together, once the young prince is crowned and we have a king again.\"",
1174      "\"Truth is, we don't know who was behind the old king's murder. But too much power has suddenly fallen into Lord Regent's lap.\"",
1175      "\"Is there anywhere in the camp where you can avoid rats? Disease spreading little nuisances.\"",
1176      "\"I've heard some people talk about just burning the castle to the ground. Probably just talk though. Everyone's a bit on edge right now.\"",
1177      "\"You hear about the scouting squad? They were caught and now they're in jail, waiting for the gallows!\"";
1178    }
1179  }
1180}
1181
1182shopkeeper
1183{
1184  DefaultArmStrength = 20;
1185  DefaultLegStrength = 30;
1186  DefaultDexterity = 10;
1187  DefaultAgility = 10;
1188  DefaultEndurance = 20;
1189  DefaultPerception = 30;
1190  DefaultIntelligence = 25;
1191  DefaultWillPower = 15;
1192  DefaultWisdom = 15;
1193  DefaultCharisma = 30;
1194  DefaultMana = 10;
1195  DefaultMoney = 3000;
1196  TorsoSpecialColor = rgb16(0, 96, 0);
1197  HeadBitmapPos = 96, 64;
1198  TorsoBitmapPos = 32, 32;
1199  ArmBitmapPos = 64, 16;
1200  LegBitmapPos = 0, 32;
1201  TotalVolume = 150000;
1202  TotalSize = 160;
1203  NameSingular = "shopkeeper";
1204  CanRead = true;
1205  HostileReplies == "\"Criminal! Mellis bless my efforts of removing you!\"";
1206  IsAbstract = true;
1207  IsUnique = true;
1208  CanBeWished = false;
1209  IsNameable = false;
1210  CanBeCloned = false;
1211  IsPolymorphable = false;
1212  Inventory == holybook(MELLIS);
1213  TamingDifficulty = NO_TAMING;
1214  AttachedGod = MELLIS;
1215  CanBeConfused = false;
1216  IsSadist = true;
1217
1218  Config NEW_ATTNAM;
1219  {
1220    AttributeBonus = -25;
1221    Helmet = LEATHER helmet;
1222    BodyArmor = LEATHER bodyarmor(PLATE_MAIL);
1223    Belt = LEATHER belt(BELT_OF_CARRYING);
1224    RightBoot = LEATHER boot;
1225    HeadBitmapPos = 96, 64;
1226    TorsoBitmapPos = 48, 192;
1227    ArmBitmapPos = 64, 0;
1228    LegBitmapPos = 0, 16;
1229    DefaultName = "Zolku";
1230    FriendlyReplies =
1231    {
1232      4,
1233      "\"Welcome to the cheapest banana shop in the world!\"",
1234      "@Dd sighs: \"It's depressing that the locals have so little purchasing power... But Mellis bless the tourists!\"",
1235      "\"No, I don't sell spoiled food. Decos' alchemists have pumped so many magic potions into the soil that nothing here will go bad before you buy it.\"",
1236      "\"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?\"";
1237    }
1238    AutomaticallySeen = true;
1239  }
1240
1241  Config ATTNAM;
1242  {
1243    Helmet = MITHRIL helmet { Enchantment = 1; }
1244    Cloak = NYMPH_HAIR cloak { Enchantment = 1; }
1245    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 1; }
1246    Belt = NYMPH_HAIR belt(BELT_OF_CARRYING) { Enchantment = 1; }
1247    RightWielded = MITHRIL pickaxe { Enchantment = 2; }
1248    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 1; }
1249    RightBoot = NYMPH_HAIR boot { Enchantment = 1; }
1250    KnownCWeaponSkills == AXES;
1251    CWeaponSkillHits == 200;
1252    RightSWeaponSkillHits = 100;
1253    DefaultName = "Hulbo";
1254    FriendlyReplies =
1255    {
1256      4,
1257      "@Dd sighs: \"If only I hadn't chosen a city in the middle of nowhere...\"",
1258      "@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!\"",
1259      "\"You truly can't find better prices in this city! Indeed, you can't find ANY prices, since my store is a monopoly.\"",
1260      "\"Don't try anything. The high priest is a friend of mine.\"";
1261    }
1262  }
1263
1264  Config ELPURI_CAVE;
1265  {
1266    AttributeBonus = 25;
1267    Helmet = MITHRIL helmet { Enchantment = 2; }
1268    Cloak = NYMPH_HAIR cloak { Enchantment = 2; }
1269    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 2; }
1270    Belt = NYMPH_HAIR belt(BELT_OF_CARRYING) { Enchantment = 2; }
1271    RightWielded = MITHRIL pickaxe { Enchantment = 3; }
1272    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 2; }
1273    RightBoot = NYMPH_HAIR boot { Enchantment = 2; }
1274    KnownCWeaponSkills == AXES;
1275    CWeaponSkillHits == 1000;
1276    RightSWeaponSkillHits = 500;
1277    DefaultName = "Merka";
1278    FriendlyReplies =
1279    {
1280      8,
1281      "@Dd sighs: \"I wonder why I have so few customers these days...\"",
1282      "\"The topmost reason why I work here is that the monsters devour tax collectors.\"",
1283      "\"Elpuri, eh? Folks say he hatched as a light frog in the Cathedral of Attnam. Yet his voracious appetite quickly set him apart. He ate and grew until his swollen bulk dwarfed even the largest of the giant dark frogs.\"",
1284      "\"I've heard that Elpuri once was the favorite pet of Petrus. When a prisoner outlived their usefulness, the high priest threw the poor soul to Elpuri. Yet such morbid meals only darkened Elpuri's blood and did nothing to sate his ever-growing hunger.\"",
1285      "\"After being renounced by Petrus, Elpuri fled the Cathedral and found refuge here in these caves, where he bides his time to build an army of dark frogs and strike back against the high priest.\"",
1286      "\"Elpuri is also known by some as the Devourer. His hunger is truly unchecked - he is said to have fathered generations of dark frogs, yet devoured them faster than they could flood and torment the world.\"",
1287      "\"The monsters don't really bother me, no. Not even they are stupid enough to want to be on the bad side of the Guild.\"",
1288      "\"The monsters don't attack me, because of our mutually profitable contract.\"";
1289    }
1290    HostileReplies == "\"Fool! No one messes with the Guild and lives!\"";
1291  }
1292
1293  Config XINROCH_TOMB;
1294  {
1295    DefaultName = "Pate";
1296    NameSingular = "peddler";
1297    AttributeBonus = 25;
1298    Helmet = HARDENED_ASH helmet(FULL_HELMET) { Enchantment = 2; }
1299    BodyArmor = HARDENED_ASH bodyarmor(PLATE_MAIL) { Enchantment = 2; }
1300    Belt = AMETHYST belt(BELT_OF_CARRYING) { Enchantment = 1; }
1301    RightWielded = HARDENED_ASH AMETHYST meleeweapon(LONG_SWORD) { Enchantment = 2; }
1302    LeftWielded = HARDENED_ASH shield;
1303    RightGauntlet = HARDENED_ASH gauntlet { Enchantment = 1; }
1304    RightBoot = HARDENED_ASH boot { Enchantment = 1; }
1305    KnownCWeaponSkills = { 2, LARGE_SWORDS, SHIELDS; }
1306    CWeaponSkillHits = { 2, 1000, 1000; }
1307    RightSWeaponSkillHits = 500;
1308    LeftSWeaponSkillHits = 500;
1309    HairColor = rgb16(140, 60, 60); /* horns */
1310    ClothColor = rgb16(64, 0, 128);
1311    HeadBitmapPos = 96, 112;
1312    TorsoBitmapPos = 32, 128;
1313    ArmBitmapPos = 64, 80;
1314    LegBitmapPos = 0, 64;
1315    Inventory = { 2, lantern, RUBY pickaxe { Enchantment = -1; } }
1316    UndeadVersions = false;
1317    FriendlyReplies =
1318    {
1319      10,
1320      "\"I used to be a guard in the temple above, but I got tired of the endless waiting for a miracle.\"",
1321      "\"The bones on the floor? Heh, you wouldn't believe who dares to call themselves an adventurer these days.\"",
1322      "\"Hey, you look reasonably sane! What are you doing in the Tomb? Are you an adventurer or something?\"",
1323      "\"Best wares, best prices! Show me anyone who sells for less and I'll gut them and be the cheapest again!\"",
1324      "\"Oh, I know what it is. You've come for the trinkets, haven't you? Well, whatever it is... I have it!\"",
1325      "\"What wondrous treasures, have I! At a special price for you only. There you are, have a nice look at them!\"",
1326      "\"I chop prices, not limbs! Usually, heh heh heh.\"",
1327      "\"Fine stuff, eh? Don't forget to thank me, heh heh heh.\"",
1328      "\"Have you met Petrus, that high priest? Believe me this one, the man is scum. They're all the same, those rotten priests.\"",
1329      "\"Peddling is great - safer and better paid then guarding. Don't try it, though, or I'll have to remove competition.\"";
1330    }
1331    HostileReplies =
1332    {
1333      2,
1334      "\"I still have friends up in the temple. You won't escape!\"",
1335      "\"You'll die and then I'll sell your corpse to the necromancers!\"";
1336    }
1337  }
1338
1339  Config BLACK_MARKET;
1340  {
1341    DefaultName = "One-eyed Sam";
1342    Adjective = "black";
1343    NameSingular = "marketeer";
1344    DefaultDexterity = 25;
1345    DefaultAgility = 20;
1346    AttributeBonus = 75;
1347    TotalSize = 180;
1348    DefaultMoney = 30000;
1349    Helmet = STAR_METAL helmet(HELM_OF_TELEPATHY) { Enchantment = 3; }
1350    Amulet = DIAMOND amulet(AMULET_OF_LIFE_SAVING);
1351    BodyArmor = STAR_METAL bodyarmor(PLATE_MAIL) { Enchantment = 3; }
1352    Cloak = GOSSAMER cloak(CLOAK_OF_FLYING) { Enchantment = 3; }
1353    Belt = GOSSAMER belt(BELT_OF_REGENERATION) { Enchantment = 3; }
1354    RightWielded = STAR_METAL DIAMOND bansheesickle { Enchantment = 6; }
1355    LeftWielded = STAR_METAL DIAMOND weepblade { Enchantment = 6; }
1356    RightRing = DIAMOND ring(RING_OF_TELEPORT_CONTROL);
1357    LeftRing = ring(RING_OF_SPEED); /* unique artifact for her */
1358    RightGauntlet = GOSSAMER gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 3; }
1359    RightBoot = GOSSAMER boot(BOOT_OF_AGILITY) { Enchantment = 3; }
1360    KnownCWeaponSkills = { 3, UNARMED, KICK, SMALL_SWORDS; }
1361    CWeaponSkillHits = { 3, 500, 500, 2000; }
1362    RightSWeaponSkillHits = 1000;
1363    LeftSWeaponSkillHits = 1000;
1364    Sex = FEMALE;
1365    FleshMaterial = ORC_FLESH;
1366    BloodMaterial = BLACK_BLOOD;
1367    ClassStates = GAS_IMMUNITY|INFRA_VISION;
1368    HeadBitmapPos = 112, 240;
1369    TorsoBitmapPos = 32, 16;
1370    ArmBitmapPos = 80, 176;
1371    LegBitmapPos = 0, 48;
1372    HairColor = rgb16(210, 5, 5);
1373    SkinColor = rgb16(48, 48, 48);
1374    EyeColor = rgb16(200, 200, 0);
1375    ClothColor = rgb16(181, 210, 220);
1376    CapColor = rgb16(66, 66, 66);
1377    GauntletColor = rgb16(66, 66, 66);
1378    BootColor = rgb16(66, 66, 66);
1379    WieldedPosition = -1, -1;
1380    UndeadVersions = false;
1381    PanicLevel = 0;
1382    CriticalModifier = 4;
1383    FireResistance = 30;
1384    ElectricityResistance = 20;
1385    EnergyResistance = 20;
1386    PoisonResistance = 5;
1387    AcidResistance = 5;
1388    FriendlyReplies =
1389    {
1390      6,
1391      "\"My wares are not stolen, just... appropriated.\"",
1392      "\"Don't mind the blood on some of my wares, I'm sure it will wash off easily.\"",
1393      "\"Overpriced? What do you mean, overpriced?!\"",
1394      "\"You may well need something from this shop in the future.\"",
1395      "@Dd complains about cleaning the blood after shoplifters.",
1396      "\"I have only the finest goods for sale!\"";
1397    }
1398    HostileReplies =
1399    {
1400      4,
1401      "\"Fool! No one messes with the Guild and lives!\"",
1402      "\"I'm really looking forward to inheriting all your possessions!\"",
1403      "@Dd mentions how much @pp dislikes non-paying customers.",
1404      "\"You don't want to pay in gold? You're going to pay in blood!\"";
1405    }
1406    Inventory = { 2, holybook(MELLIS), DIAMOND EBONY_WOOD pickaxe { Enchantment = -1; } }
1407  }
1408
1409  Config REBEL_CAMP;
1410  {
1411    AttributeBonus = 50;
1412    HeadBitmapPos = 96, 0;
1413    TorsoBitmapPos = 48, 80;
1414    ClothColor = rgb16(75, 83, 32);
1415    Helmet = HEPATIZON helmet { Enchantment = 3; }
1416    Cloak = NYMPH_HAIR cloak(CLOAK_OF_ELECTRICITY_RESISTANCE) { Enchantment = 3; }
1417    BodyArmor = HEPATIZON bodyarmor(CHAIN_MAIL) { Enchantment = 3; }
1418    Belt = HEPATIZON belt(BELT_OF_REGENERATION) { Enchantment = 3; }
1419    RightWielded = HEPATIZON darkaxe { Enchantment = 3; }
1420    LeftWielded = HEPATIZON shield(SHIELD_OF_FIRE_RESISTANCE) { Enchantment = 3; }
1421    RightRing = ring(RING_OF_INFRA_VISION);
1422    LeftRing = ring(RING_OF_POISON_RESISTANCE);
1423    RightGauntlet = SELKIE_SKIN gauntlet { Enchantment = 3; }
1424    RightBoot = SELKIE_SKIN boot { Enchantment = 3; }
1425    KnownCWeaponSkills = { 2, AXES, SHIELDS; }
1426    CWeaponSkillHits = { 2, 1000, 1000; }
1427    RightSWeaponSkillHits = 500;
1428    LeftSWeaponSkillHits = 500;
1429    DefaultName = "Gustaff";
1430    NameSingular = "quartermaster";
1431    FriendlyReplies =
1432    {
1433      4,
1434      "@Dd sighs: \"Business is slow these days, with the civil war and stuff.\"",
1435      "@Dd smiles: \"If you need money fast, I will buy your stuff. No problem.\"",
1436      "\"Harvan is a sneaky one. Kind of makes you wonder what he's up to.\"",
1437      "\"Lots of rats in this camp. Lots of children, too. Of course, I prefer the taste of rats.\"";
1438    }
1439    Inventory = { 2, holybook(MELLIS), HEPATIZON EBONY_WOOD pickaxe { Enchantment = 3; } }
1440  }
1441}
1442
1443priest
1444{
1445  CanRead = true;
1446  NameSingular = "priest";
1447  CanBeCloned = false;
1448  TamingDifficulty = NO_TAMING;
1449  MoveType = WALK|SWIM;
1450  IsAbstract = true;
1451  Inventory == potion { Times = 2; SecondaryMaterial = ANTIDOTE_LIQUID; }
1452  FriendlyReplies =
1453  {
1454    3,
1455    "\"May @Gd be with you.\"",
1456    "\"Bless thee, child.\"",
1457    "@Dd smiles at you in a comforting manner.";
1458  }
1459  HostileReplies =
1460  {
1461    4,
1462    "\"Die, infidel!\"",
1463    "\"Divine wrath upon thee!\"",
1464    "\"Thou shalt pay for thy sins!\"",
1465    "\"I shall punish you in the name of @Gd.\"";
1466  }
1467
1468  Config VALPURUS;
1469  {
1470    DefaultArmStrength = 15;
1471    DefaultLegStrength = 20;
1472    DefaultDexterity = 10;
1473    DefaultAgility = 10;
1474    DefaultEndurance = 15;
1475    DefaultPerception = 24;
1476    DefaultIntelligence = 15;
1477    DefaultWillPower = 20;
1478    DefaultWisdom = 25;
1479    DefaultCharisma = 20;
1480    DefaultMana = 20;
1481    CapColor = rgb16(180, 0, 80);
1482    HeadBitmapPos = 96, 128;
1483    TorsoBitmapPos = 32, 16;
1484    ArmBitmapPos = 64, 16;
1485    LegBitmapPos = 0, 32;
1486    TotalVolume = 100000;
1487    TotalSize = 180;
1488    DefaultName = "Verax";
1489    AttachedGod = VALPURUS;
1490    PostFix = "of Valpurus";
1491    Helmet = MITHRIL helmet { Enchantment = 2; }
1492    Amulet = VALPURIUM amulet(AMULET_OF_ESP);
1493    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 2; }
1494    Cloak = NYMPH_HAIR cloak { Enchantment = 2; }
1495    Belt = NYMPH_HAIR belt { Enchantment = 2; }
1496    RightWielded = ARCANITE meleeweapon(MACE) { Enchantment = 3; }
1497    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 2; }
1498    RightBoot = NYMPH_HAIR boot { Enchantment = 2; }
1499    KnownCWeaponSkills == BLUNT_WEAPONS;
1500    CWeaponSkillHits == 50;
1501    RightSWeaponSkillHits = 20;
1502    FriendlyReplies =
1503    {
1504      14,
1505      "@Dd talks to you: \"Valpurus the Great Frog is the highest of all gods. The Wise know that the world is really a @ws which He carries on His back. This is why this Cathedral and the whole city of Attnam is dedicated to His worship.\"",
1506      "\"The souls of the virtuous, the devout and the faithful bath forever in the radiant glory of Valpurus and sing praises on His greatness. The souls of sinners, heretics and unbelievers are swallowed by Mortifer and damned to relive their worst nightmares for all eternity!\"",
1507      "\"The Cathedral of Valpurus has no windows, for it is written in the Holy Book of Valpurus: 'Windows is Evil.'\"",
1508      "\"I am the Cardinal of Truth, therefore everything I say is truth.\"",
1509      "\"Repeat after me: 1 + 1 = 3.\"",
1510      "\"Repeat after me: War is Peace.\"",
1511      "\"Repeat after me: Freedom is Slavery.\"",
1512      "\"Repeat after me: Ignorance is Strength.\"",
1513      "\"Hail mighty Petrus!\"",
1514      "\"Ad maiorem Valpuri gloriam.\"",
1515      "\"Thou shalt not suffer a witch to live! Mystic frogs are OK, though.\"",
1516      "\"Thus spake Valpurus: 'I am the King of Gods, Valpurus. Thou shalt praise no other gods before me.\"",
1517      "@Dd smirks: \"I would not wish to startle you, but thanks to this amulet, I will always know if you're telling me the truth.\"",
1518      "@Dd frowns: \"In thy prayers thou must understand Valpurus is a busy god who knows His importance. He will not help newbies. Thou shouldst only pray to Him when He hath called thee a Champion!\"";
1519    }
1520    HostileReplies =
1521    {
1522      4,
1523      "\"Cleanse! Purge! Kill!\"",
1524      "\"Valpurus guides my weapon.\"",
1525      "\"Prepare to meet @Gd, fool!\"",
1526      "@Dd sighs: \"Infidels to the left, heathens to the right. Tremendous.\"";
1527    }
1528    Inventory == can { Times = 2; SecondaryMaterial = LIGHT_FROG_BLOOD; }
1529  }
1530
1531  Config SILVA;
1532  {
1533    DefaultArmStrength = 10;
1534    DefaultLegStrength = 10;
1535    DefaultDexterity = 15;
1536    DefaultAgility = 10;
1537    DefaultEndurance = 10;
1538    DefaultPerception = 24;
1539    DefaultIntelligence = 20;
1540    DefaultWillPower = 25;
1541    DefaultWisdom = 35;
1542    DefaultCharisma = 30;
1543    DefaultMana = 25;
1544    TotalVolume = 60000;
1545    TotalSize = 170;
1546    HeadBitmapPos = 112, 0;
1547    TorsoBitmapPos = 32, 208;
1548    ArmBitmapPos = 64, 208;
1549    LegBitmapPos = 0, 144;
1550    SkinColor = rgb16(160, 100, 64);
1551    HairColor = rgb16(80, 48, 32);
1552    AttachedGod = SILVA;
1553    BloodMaterial = PLANT_SAP;
1554    DefaultName = "Florea";
1555    NameSingular = "priestess";
1556    PostFix = "of Silva";
1557    Sex = FEMALE;
1558    Cloak = NYMPH_HAIR cloak;
1559    RightWielded = EBONY_WOOD ROSE_QUARTZ meleeweapon(QUARTER_STAFF) { Enchantment = 1; }
1560    KnownCWeaponSkills == BLUNT_WEAPONS;
1561    CWeaponSkillHits == 50;
1562    RightSWeaponSkillHits = 20;
1563    FriendlyReplies =
1564    {
1565      7, /* 4 first are used before revolution */
1566      "\"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.\"",
1567      "\"In the old temple we had a marvellous altar carved from a branch of Silva Herself, but Decos made firewood out of it.\"",
1568      "\"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.\"",
1569      "\"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.\"",
1570      "\"Truly, you must have been sent by Silva herself! We can finally rebuild the old temple and our lives.\"",
1571      "\"I cannot thank you enough for freeing us, but I'm afraid I must continue to charge for my services.\"",
1572      "\"Do not forget us, fair hero. It is a matter of time before word reaches the High Priest and I'm afraid of what he may do in his displeasure.\"";
1573    }
1574    DeathMessage = "@Dd dies, whispering: \"I'm sorry! I failed you, Silva.\"";
1575    AutomaticallySeen = true;
1576  }
1577
1578  Config INFUSCOR;
1579  {
1580    DefaultArmStrength = 20;
1581    DefaultLegStrength = 20;
1582    DefaultDexterity = 16;
1583    DefaultAgility = 16;
1584    DefaultEndurance = 14;
1585    DefaultPerception = 24;
1586    DefaultIntelligence = 25;
1587    DefaultWillPower = 25;
1588    DefaultWisdom = 25;
1589    DefaultCharisma = 20;
1590    DefaultMana = 25;
1591    TotalVolume = 60000;
1592    TotalSize = 170;
1593    HeadBitmapPos = 112, 0;
1594    TorsoBitmapPos = 32, 208;
1595    ArmBitmapPos = 64, 208;
1596    LegBitmapPos = 0, 144;
1597    SkinColor = rgb16(64, 0, 128);
1598    HairColor = rgb16(64, 0, 64);
1599    EyeColor = rgb16(128, 0, 64);
1600    AttachedGod = INFUSCOR;
1601    BloodMaterial = MAGIC_LIQUID;
1602    DefaultName = "Praecantrix";
1603    NameSingular = "priestess";
1604    PostFix = "of Infuscor";
1605    Sex = FEMALE;
1606    Helmet = METEORIC_STEEL helmet { Enchantment = 2; }
1607    BodyArmor = METEORIC_STEEL bodyarmor(CHAIN_MAIL) { Enchantment = 2; }
1608    Cloak = OMMEL_HAIR cloak { Enchantment = 2; }
1609    Belt = OMMEL_HAIR belt { Enchantment = 2; }
1610    RightWielded = EBONY_WOOD wondersmellstaff { Enchantment = 3; }
1611    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 2; }
1612    RightBoot = OMMEL_HAIR boot { Enchantment = 2; }
1613    Inventory == wand(WAND_OF_NECROMANCY);
1614    KnownCWeaponSkills == BLUNT_WEAPONS;
1615    CWeaponSkillHits == 50;
1616    RightSWeaponSkillHits = 20;
1617    FriendlyReplies =
1618    {
1619      10,
1620      "\"Our lord Xinroch was the greatest and most powerful grand master dark knight to ever live.\"",
1621      "\"Xinroch was highly successful in all his campaigns, and it was during his life that the Unholy Order of the Dark Knights truly flourished.\"",
1622      "\"This Tomb was erected on the battlefield where Xinroch was slain, to honor and guard his grave against all who would wish to disturb his last sleep or defile his memory. Let his majestic glory never be forgotten!\"",
1623      "\"I know it is possible to bring our lord Xinroch back. Whether it takes magic or miracle, he will lead his faithful again!\"",
1624      "\"Praised be Infuscor!\"",
1625      "\"Souls for Infuscor!\"",
1626      "\"All hail our mighty lord Xinroch.\"";
1627      "\"One of these days I'll summon our lord Xinroch back, and Chaos will reign forever!\"",
1628      "\"Oh, you like my tattoos? Every priest of Infuscor gets them as a part of their ordination. A holy purple ink is used to tattoo the entirety of the holy book of Infuscor over the initiate's body, so that the wise words may guide them through the rest of their lives.\"",
1629      "\"Can't you see I'm busy, infidel?\"";
1630    }
1631    UndeadVersions = false;
1632  }
1633
1634  Config LEGIFER; /* paladin */
1635  {
1636    DefaultArmStrength = 23;
1637    DefaultLegStrength = 23;
1638    DefaultDexterity = 37;
1639    DefaultAgility = 37;
1640    DefaultEndurance = 30;
1641    DefaultPerception = 35;
1642    DefaultIntelligence = 25;
1643    DefaultWillPower = 35;
1644    DefaultWisdom = 37;
1645    DefaultCharisma = 55;
1646    DefaultMana = 30;
1647    HairColor = rgb16(140, 60, 60);
1648    EyeColor = rgb16(4, 93, 28);
1649    ClothColor = rgb16(224, 224, 224);
1650    HeadBitmapPos = 96, 112;
1651    TorsoBitmapPos = 32, 128;
1652    ArmBitmapPos = 64, 80;
1653    LegBitmapPos = 0, 64;
1654    TotalVolume = 40000;
1655    TotalSize = 165;
1656    Helmet = MITHRIL helmet(FULL_HELMET);
1657    Amulet = BLUE_CRYSTAL amulet(AMULET_OF_WARDING);
1658    BodyArmor = MITHRIL bodyarmor(PLATE_MAIL);
1659    Cloak = ANGEL_HAIR cloak(CLOAK_OF_ELECTRICITY_RESISTANCE);
1660    Belt = MITHRIL belt;
1661    RightWielded = MITHRIL thunderhammer { Enchantment = 2; }
1662    LeftWielded = MITHRIL shield { Enchantment = 2; }
1663    RightRing = ring(RING_OF_TELEPORT_CONTROL);
1664    LeftRing = ring(RING_OF_INFRA_VISION);
1665    RightGauntlet = ANGEL_HAIR gauntlet { Enchantment = 2; }
1666    RightBoot = MITHRIL boot { Enchantment = 2; }
1667    Inventory == potion { Times = 2; SecondaryMaterial = CURE_ALL_LIQUID; }
1668    DefaultName = "Lady Decora";
1669    Adjective = "shining";
1670    NameSingular = "knight";
1671    PostFix = "of Legifer";
1672    AttachedGod = LEGIFER;
1673    Sex = FEMALE;
1674    BloodMaterial = BLUE_BLOOD;
1675    AttackStyle = USE_ARMS|USE_LEGS;
1676    KnownCWeaponSkills = { 4, UNARMED, KICK, BLUNT_WEAPONS, SHIELDS; }
1677    CWeaponSkillHits = { 4, 200, 200, 500, 500; }
1678    RightSWeaponSkillHits = 200;
1679    LeftSWeaponSkillHits = 200;
1680    PanicLevel = 0; /* paladins are immune to fear */
1681    TamingDifficulty = 35;
1682    IsUnique = true;
1683    IsNameable = false;
1684    CanBeCloned = false;
1685    IsPolymorphable = false;
1686    CanBeGenerated = false;
1687    UndeadVersions = false;
1688    IsImmuneToLeprosy = true; /* paladins are immune to diseases */
1689    FriendlyReplies =
1690    {
1691      15,
1692      "\"Legifer is the All-Seeing Sun. He sees and remembers every your deed until you die and are judged at the Last Court of Heavens.\"",
1693      "\"Judge, but do not condemn. Anybody can be redeemed.\"",
1694      "\"I am one of the last Shining Knights. And now I am stuck in this place, because the High Priest won't let me leave, nor will he allow me to do anything.\"",
1695      "\"The Order of the Shining Knights was founded by my forebears to fight the Dark Knights of Xinroch.\"",
1696      "\"The Shining Knights once were a proud and powerful order, but after the fateful defeat at the Fortress of Prym, only a handful of wandering knights remained.\"",
1697      "\"The mantle of a Shining Knight is passed down in a family. I was bequeathed knighthood by my mother, who succeeded her father, and so on since the days of Prym.\"",
1698      "\"All Shining Knights bear the symbol of the All-Seeing Sun, for Legifer guides us in our wanderings.\"",
1699      "\"Every Shining Knight wields an enchanted mace. A legend goes that during the battle of Prym, Legifer blessed the mace of every His knight and named them all Turox.\"",
1700      "\"My mother died a hero, protecting a village from an elven onslaught. Alas, our family heritage, the blessed mace 'Turox', was lost with her death.\"",
1701      "\"This hammer was forged for me by a good friend. When he was but a baby, he lost his home. Yet he managed to revive all the craft and artistry of the destroyed dwarven city of Khaz-zadm and I will hold this hammer against all evil to honor the legacy of his people.\"",
1702      "\"Legifer helps us find and uproot all evil. May His holy flames scorch all sins away.\"",
1703      "\"I will pray for you and good luck in your quest. May His holy flames guide your way.\"",
1704      "\"I was sent to Attnam by a vision from Legifer. I didn't understand at first, but now... Now I'm starting to see.\"",
1705      "\"There is no being so evil that the light of His holy flames cannot reach them and raise them up.\"",
1706      "\"The four Cardinals... Foul thoughts blacken the soul, but sometimes, I can't help myself.\"";
1707    }
1708    HostileReplies =
1709    {
1710      6,
1711      "\"You can still come back. If you are willing, I can help you.\"",
1712      "\"Please. I beg of you, lay down your weapons.\"",
1713      "\"If you refuse to seek repentance in this life, then I pray you seek it in the next.\"",
1714      "\"There is still good in you! I can feel it. It's not too late to turn back.\"",
1715      "\"If you strike me down, know that I will blaze a trail to the Heavens for you and pray that you will someday join me there.\"",
1716      "\"I'm sorry. I'm sorry for you.\"";
1717    }
1718    DeathMessage = "@Dd dies with a last few words: \"I forgive you.\"";
1719    ScienceTalkPossibility = 10;
1720    ScienceTalkIntelligenceModifier = 15;
1721    ScienceTalkWisdomModifier = 15;
1722    ScienceTalkCharismaModifier = 15;
1723    ScienceTalkIntelligenceRequirement = 20;
1724    ScienceTalkWisdomRequirement = 20;
1725    ScienceTalkCharismaRequirement = 20;
1726    ScienceTalkName =
1727    {
1728      15,
1729      "knighthood", "law", "chivalry", "honorable death", "divine truths",
1730      "history", "moral code", "divine wisdom", "warfare", "secret teachings",
1731      "tradition", "knightly orders", "heraldry", "quests", "genealogy";
1732    }
1733  }
1734
1735  /* Config SEGES: see aslonapriest */
1736}
1737
1738oree
1739{
1740  DefaultArmStrength = 40;
1741  DefaultLegStrength = 40;
1742  DefaultDexterity = 80;
1743  DefaultAgility = 80;
1744  DefaultEndurance = 25;
1745  DefaultPerception = 30;
1746  DefaultIntelligence = 30;
1747  DefaultWillPower = 40;
1748  DefaultWisdom = 20;
1749  DefaultCharisma = 3;
1750  DefaultMana = 30;
1751  TamingDifficulty = NO_TAMING;
1752  IsNameable = false;
1753  IsUnique = true;
1754  HeadBitmapPos = 96, 32;
1755  TorsoBitmapPos = 48, 160;
1756  ArmBitmapPos = 80, 160;
1757  LegBitmapPos = 16, 144;
1758  ClothColor = rgb16(30, 20, 0);
1759  SkinColor = rgb16(180, 0, 0);
1760  EyeColor = rgb16(100, 0, 0);
1761  TotalVolume = 120000;
1762  TotalSize = 225;
1763  CanRead = true;
1764  NameSingular = "blood daemon king";
1765  IsPolymorphable = false;
1766  AttackStyle = USE_ARMS|USE_LEGS|USE_HEAD;
1767  BaseUnarmedStrength = 1250;
1768  BaseKickStrength = 2500;
1769  BaseBiteStrength = 6000;
1770  Alias == "Oree";
1771  ClassStates = INVISIBLE|INFRA_VISION|ESP;
1772  Helmet = DIAMOND helmet { Enchantment = 3; }
1773  Cloak = PHOENIX_FEATHER cloak { Enchantment = 3; }
1774  Belt = ARCANITE belt { Enchantment = 3; }
1775  BodyArmor = goldeneagleshirt;
1776  RightGauntlet = NYMPH_HAIR gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 3; }
1777  RightBoot = OMMEL_HAIR boot(BOOT_OF_AGILITY) { Enchantment = 3; }
1778  KnownCWeaponSkills = { 3, UNARMED, KICK, BITE; }
1779  CWeaponSkillHits = { 3, 2000, 2000, 2000; }
1780  PanicLevel = 0;
1781  CanBeCloned = false;
1782  Inventory == can { MainMaterial = IRON { Volume = 10; } SecondaryMaterial = PEPSI { Volume = 330; } }
1783  DefaultName = "Oree";
1784  HostileReplies =
1785  {
1786    3,
1787    "@Dd prays to @Gd.",
1788    "\"You have slain Elpuri. Now nothing will interfere with my plans! Fufufu!\"",
1789    "@Dd laughs: \"No time for small talk. Time to drink blood!\"";
1790  }
1791  FleshMaterial = DAEMON_FLESH;
1792  DeathMessage = "@Dd vomits blood for one last time and rasps: \"Victory. A hollow and ridiculous notion.\"";
1793  AttachedGod = MORTIFER;
1794  CanBeConfused = false;
1795  WieldedPosition = 0, -1;
1796  BiteCapturesBodyPart = false;
1797  VomitMaterial = ACIDOUS_BLOOD;
1798  BloodMaterial = ACIDOUS_BLOOD;
1799  SweatMaterial = ACIDOUS_BLOOD;
1800  IsImmuneToItemTeleport = true;
1801  AllowUnconsciousness = false;
1802  DisplacePriority = 8;
1803  VomittingIsUnhealthy = false;
1804  IsSadist = true;
1805  UndeadVersions = false;
1806}
1807
1808darkknight
1809{
1810  DefaultArmStrength = 30;
1811  DefaultLegStrength = 30;
1812  DefaultDexterity = 20;
1813  DefaultAgility = 20;
1814  DefaultEndurance = 22;
1815  DefaultPerception = 25;
1816  DefaultIntelligence = 20;
1817  DefaultWillPower = 20;
1818  DefaultWisdom = 10;
1819  DefaultCharisma = 10;
1820  DefaultMana = 10;
1821  HeadBitmapPos = 96, 240;
1822  TorsoBitmapPos = 32, 16;
1823  ArmBitmapPos = 80, 176;
1824  LegBitmapPos = 0, 48;
1825  ClothColor = rgb16(0, 0, 100);
1826  EyeColor = rgb16(255, 255, 0);
1827  TotalVolume = 80000;
1828  TotalSize = 200;
1829  CanRead = true;
1830  NameSingular = "dark knight";
1831  CanBeGenerated = true;
1832  IsAbstract = true;
1833  KnownCWeaponSkills = { 2, LARGE_SWORDS, SHIELDS; }
1834  ClassStates = INFRA_VISION;
1835  HostileReplies =
1836  {
1837    3,
1838    "\"Blood for Cruentus!\"",
1839    "\"You are already dead.\"",
1840    "@Dd yells: \"For Mortifer I shall slay you!\"";
1841  }
1842  FriendlyReplies =
1843  {
1844    6,
1845    "\"Reach the Heavens through violence, comrade.\"",
1846    "\"Blood for Cruentus!\"",
1847    "\"Fear is not a shame, it's a weapon. Fear shall never reign over me, but I will wield it against my enemies. Fear strikes true and through fear, I shall become stronger.\"",
1848    "\"Pain is not a shame, it's a weapon. Pain shall never reign over me, but I will wield it against my enemies. Pain forges the flesh and through pain, I shall become stronger.\"",
1849    "\"Anger is not a shame, it's a weapon. Anger shall never reign over me, but I will wield it against my enemies. Anger sharpens the mind and through anger, I shall become stronger.\"",
1850    "\"Don't bother me unless you need help to die.\"";
1851  }
1852  AttachedGod = CRUENTUS;
1853  IsExtraFragile = true;
1854  IsSadist = true;
1855
1856  Config ROOKIE;
1857  {
1858    AttributeBonus = -20;
1859    Helmet = BRONZE helmet(FULL_HELMET);
1860    BodyArmor = BRONZE bodyarmor(PLATE_MAIL);
1861    RightWielded = BRONZE BRONZE meleeweapon(LONG_SWORD);
1862    LeftWielded = BRONZE shield;
1863    Adjective = "rookie";
1864    CWeaponSkillHits = { 2, 200, 200; }
1865    RightSWeaponSkillHits = 100;
1866    LeftSWeaponSkillHits = 100;
1867    PanicLevel = 15;
1868    ClothColor = rgb16(70, 70, 70);
1869    CapColor = rgb16(48, 48, 48);
1870    GauntletColor = rgb16(50, 50, 50);
1871  }
1872
1873  Config ROOKIE_FEMALE;
1874  {
1875    AttributeBonus = -20;
1876    Helmet = PIG_IRON helmet(FULL_HELMET);
1877    BodyArmor = PIG_IRON bodyarmor(PLATE_MAIL);
1878    RightWielded = PIG_IRON PIG_IRON meleeweapon(SHORT_SWORD);
1879    LeftWielded = PIG_IRON PIG_IRON meleeweapon(SHORT_SWORD);
1880    Adjective = "rookie";
1881    KnownCWeaponSkills == SMALL_SWORDS;
1882    CWeaponSkillHits == 200;
1883    RightSWeaponSkillHits = 100;
1884    LeftSWeaponSkillHits = 100;
1885    PanicLevel = 15;
1886    ClothColor = rgb16(70, 70, 70);
1887    CapColor = rgb16(48, 48, 48);
1888    GauntletColor = rgb16(50, 50, 50);
1889    Sex = FEMALE;
1890  }
1891
1892  Config VETERAN;
1893  {
1894    Helmet = IRON helmet(FULL_HELMET) { Enchantment = 1; }
1895    BodyArmor = IRON bodyarmor(PLATE_MAIL) { Enchantment = 1; }
1896    RightWielded = IRON IRON meleeweapon(LONG_SWORD) { Enchantment = 1; }
1897    LeftWielded = IRON shield { Enchantment = 1; }
1898    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 1; }
1899    RightBoot = IRON boot { Enchantment = 1; }
1900    Adjective = "veteran";
1901    CWeaponSkillHits = { 2, 500, 500; }
1902    RightSWeaponSkillHits = 200;
1903    LeftSWeaponSkillHits = 200;
1904    PanicLevel = 10;
1905    ClothColor = rgb16(40, 40, 40);
1906    CapColor = rgb16(48, 48, 48);
1907    GauntletColor = rgb16(50, 50, 50);
1908  }
1909
1910  Config VETERAN_FEMALE;
1911  {
1912    Helmet = IRON helmet(FULL_HELMET) { Enchantment = 1; }
1913    BodyArmor = IRON bodyarmor(PLATE_MAIL) { Enchantment = 1; }
1914    RightWielded = IRON IRON meleeweapon(LONG_SWORD) { Enchantment = 1; }
1915    LeftWielded = IRON IRON meleeweapon(LONG_SWORD) { Enchantment = 1; }
1916    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 1; }
1917    RightBoot = IRON boot { Enchantment = 1; }
1918    Adjective = "veteran";
1919    KnownCWeaponSkills == LARGE_SWORDS;
1920    CWeaponSkillHits == 500;
1921    RightSWeaponSkillHits = 200;
1922    LeftSWeaponSkillHits = 200;
1923    PanicLevel = 10;
1924    ClothColor = rgb16(40, 40, 40);
1925    CapColor = rgb16(48, 48, 48);
1926    GauntletColor = rgb16(50, 50, 50);
1927    Sex = FEMALE;
1928  }
1929
1930  Config TEMPLAR; /* Tougher than veteran */
1931  {
1932    AttributeBonus = 10;
1933    Helmet = STEEL helmet(FULL_HELMET) { Enchantment = 2; }
1934    BodyArmor = STEEL bodyarmor(PLATE_MAIL) { Enchantment = 1; }
1935    RightWielded = STEEL STEEL meleeweapon(LONG_SWORD) { Enchantment = 1; }
1936    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 1; }
1937    RightBoot = STEEL boot { Enchantment = 1; }
1938    PostFix = "templar";
1939    KnownCWeaponSkills == LARGE_SWORDS;
1940    CWeaponSkillHits == 500;
1941    RightSWeaponSkillHits = 300;
1942    PanicLevel = 5;
1943    TotalVolume = 85000;
1944    ClothColor = rgb16(120, 20, 20);
1945    CapColor = rgb16(48, 48, 48);
1946    GauntletColor = rgb16(50, 50, 50);
1947    BootColor = rgb16(128, 128, 128);
1948    CanBeGenerated = false;
1949    HostileReplies == "@Dd yells: \"Who dares disturb the slumber of the lord Xinroch?\"";
1950    AttachedGod = INFUSCOR;
1951    UndeadVersions = false;
1952  }
1953
1954  Config GRAVE_KEEPER; /*Tougher than elite*/
1955  {
1956    AttributeBonus = 25;
1957    Helmet = METEORIC_STEEL helmet(FULL_HELMET) { Enchantment = 2; }
1958    BodyArmor = METEORIC_STEEL bodyarmor(PLATE_MAIL) { Enchantment = 2; }
1959    RightWielded = METEORIC_STEEL METEORIC_STEEL meleeweapon(BASTARD_SWORD) { Enchantment = 2; }
1960    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 2; }
1961    RightBoot = METEORIC_STEEL boot { Enchantment = 2; }
1962    Adjective = "Xinroch's";
1963    NameSingular = "grave keeper";
1964    ArticleMode = NO_ARTICLE;
1965    KnownCWeaponSkills == LARGE_SWORDS;
1966    CWeaponSkillHits == 1000;
1967    RightSWeaponSkillHits = 500;
1968    PanicLevel = 5;
1969    CriticalModifier = 4;
1970    FireResistance = 20;
1971    ElectricityResistance = 20;
1972    EnergyResistance = 20;
1973    TamingDifficulty = 20;
1974    TotalVolume = 90000;
1975    ClothColor = rgb16(80, 20, 20);
1976    CapColor = rgb16(48, 48, 48);
1977    GauntletColor = rgb16(50, 50, 50);
1978    BootColor = rgb16(128, 128, 128);
1979    IsNameable = false;
1980    IsUnique = true;
1981    CanBeGenerated = false;
1982    UndeadVersions = false;
1983    CanBeCloned = false;
1984    IsPolymorphable = false;
1985    AttachedGod = INFUSCOR;
1986    HostileReplies == "@Dd exclaims: \"None shall pass.\"";
1987  }
1988
1989  Config ELITE;
1990  {
1991    AttributeBonus = 20;
1992    Helmet = STEEL helmet(FULL_HELMET) { Enchantment = 2; }
1993    BodyArmor = STEEL bodyarmor(PLATE_MAIL) { Enchantment = 2; }
1994    RightWielded = STEEL STEEL meleeweapon(TWO_HANDED_SWORD) { Enchantment = 2; }
1995    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 2; }
1996    RightBoot = STEEL boot { Enchantment = 2; }
1997    UsesLongAdjectiveArticle = true;
1998    Adjective = "elite";
1999    KnownCWeaponSkills == LARGE_SWORDS;
2000    CWeaponSkillHits == 1000;
2001    RightSWeaponSkillHits = 500;
2002    PanicLevel = 5;
2003    TotalVolume = 90000;
2004    ClothColor = rgb16(20, 20, 120);
2005    CapColor = rgb16(48, 48, 48);
2006    GauntletColor = rgb16(50, 50, 50);
2007    DeathMessage = "@Dd dies with clenched teeth: \"I laugh in the face of death!\"";
2008  }
2009
2010  Config ELITE_FEMALE;
2011  {
2012    AttributeBonus = 20;
2013    Helmet = STEEL helmet(FULL_HELMET) { Enchantment = 2; }
2014    BodyArmor = STEEL bodyarmor(PLATE_MAIL) { Enchantment = 2; }
2015    RightWielded = STEEL STEEL meleeweapon(BASTARD_SWORD) { Enchantment = 2; }
2016    LeftWielded = STEEL STEEL meleeweapon(BASTARD_SWORD) { Enchantment = 2; }
2017    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 2; }
2018    RightBoot = STEEL boot { Enchantment = 2; }
2019    UsesLongAdjectiveArticle = true;
2020    Adjective = "elite";
2021    KnownCWeaponSkills == LARGE_SWORDS;
2022    CWeaponSkillHits == 1000;
2023    RightSWeaponSkillHits = 500;
2024    LeftSWeaponSkillHits = 500;
2025    PanicLevel = 5;
2026    TotalVolume = 90000;
2027    ClothColor = rgb16(20, 20, 120);
2028    CapColor = rgb16(48, 48, 48);
2029    GauntletColor = rgb16(50, 50, 50);
2030    Sex = FEMALE;
2031    DeathMessage = "@Dd dies with clenched teeth: \"I laugh in the face of death!\"";
2032  }
2033
2034  Config GRAND_MASTER;
2035  {
2036    AttributeBonus = 40;
2037    TotalVolume = 100000;
2038    Helmet = RUBY helmet(FULL_HELMET) { Enchantment = 3; }
2039    BodyArmor = MITHRIL bodyarmor(PLATE_MAIL) { Enchantment = 3; }
2040    Cloak = DRAGON_HIDE cloak { Enchantment = 3; }
2041    Belt = SAPPHIRE belt { Enchantment = 3; }
2042    RightWielded = SAPPHIRE RUBY meleeweapon(TWO_HANDED_SCIMITAR) { Enchantment = 4; }
2043    LeftRing = ring(RING_OF_TELEPORT_CONTROL);
2044    RightGauntlet = SPIDER_SILK gauntlet { Enchantment = 3; }
2045    RightBoot = RUBY boot { Enchantment = 3; }
2046    Adjective = "grand master";
2047    KnownCWeaponSkills == LARGE_SWORDS;
2048    CWeaponSkillHits == 5000;
2049    RightSWeaponSkillHits = 2000;
2050    PanicLevel = 0;
2051    TamingDifficulty = 40;
2052    IsUnique = true;
2053    CanBeWished = true;
2054    DefaultName = "Golgor Dhan";
2055    DangerModifier = 1500;
2056    IsNameable = false;
2057    CanBeCloned = false;
2058    IsPolymorphable = false;
2059    Inventory = { 2, scrollofenchantarmor { Times = 2; }, scrollofenchantweapon { Times = 2; } }
2060    HeadBitmapPos = 96, 112;
2061    ClothColor = rgb16(100, 0, 0);
2062    CapColor = rgb16(48, 48, 48);
2063    HairColor = rgb16(32, 32, 32);
2064    GauntletColor = rgb16(50, 50, 50);
2065    CanBeConfused = false;
2066    FireResistance = 30;
2067    ElectricityResistance = 30;
2068    EnergyResistance = 30;
2069    IsImmuneToItemTeleport = true;
2070    IsExtraFragile = false;
2071    AllowUnconsciousness = false;
2072    DisplacePriority = 8;
2073    UndeadVersions = false;
2074    IsImmuneToWhipOfThievery = true;
2075    HostileReplies =
2076    {
2077      2,
2078      "\"For the Dark Gods!\"",
2079      "\"Chaaaaaaaaaaaarge!\"";
2080    }
2081    FriendlyReplies =
2082    {
2083      5,
2084      "\"Yeah, I was a guard in Attnam once. Is that all?\"",
2085      "\"The blood never bothered me anyway.\"",
2086      "\"Reach the Heavens through violence!\"",
2087      "\"I like watching things die.\"",
2088      "\"The Order of the Dark Knights is ancient and you should stop asking questions.\"";
2089    }
2090    DeathMessage = "@Dd kneels down, dying: \"Alas... It seems you have bested me.\"";
2091  }
2092
2093  Config MASTER;
2094  {
2095    AttributeBonus = 50;
2096    LegBitmapPos = 0, 96;
2097    ClothColor = rgb16(80, 0, 20);
2098    EyeColor = rgb16(200, 0, 0);
2099    HeadBitmapPos = 96, 112;
2100    TorsoBitmapPos = 48, 80;
2101    BeltColor = rgb16(180, 0, 0);
2102    CapColor = rgb16(160, 160, 160);
2103    HairColor = rgb16(180, 0, 32);
2104    GauntletColor = rgb16(200, 200, 0);
2105    BootColor = rgb16(160, 160, 160);
2106    TotalVolume = 120000;
2107    Helmet = METEORIC_STEEL helmet(FULL_HELMET) { Enchantment = 4; }
2108    Amulet = amulet(AMULET_OF_LIFE_SAVING);
2109    BodyArmor = ILLITHIUM bodyarmor(CHAIN_MAIL) { Enchantment = 4; }
2110    Cloak = DRAGON_HIDE cloak(CLOAK_OF_INVISIBILITY) { Enchantment = 4; }
2111    Belt = RUBY belt(BELT_OF_REGENERATION) { Enchantment = 4; }
2112    LeftWielded = RUBY RUBY flamingsword(LOST_RUBY_FLAMING_SWORD);
2113    RightRing = ring(RING_OF_INFRA_VISION);
2114    LeftRing = ring(RING_OF_TELEPORT_CONTROL);
2115    RightGauntlet = ANGEL_HAIR gauntlet { Enchantment = 4; }
2116    RightBoot = METEORIC_STEEL boot { Enchantment = 4; }
2117    NameSingular = "Old Chaos Flame";
2118    KnownCWeaponSkills = { 5, LARGE_SWORDS, SHIELDS, UNARMED, KICK, BITE; }
2119    CWeaponSkillHits = { 5, 5000, 2000, 2000, 2000, 2000; }
2120    RightSWeaponSkillHits = 2000;
2121    LeftSWeaponSkillHits = 2000;
2122    BaseKickStrength = 2500;
2123    PanicLevel = 0;
2124    TamingDifficulty = NO_TAMING;
2125    IsUnique = true;
2126    CanBeWished = true;
2127    DefaultName = "Xinroch";
2128    DangerModifier = 1800;
2129    IsNameable = false;
2130    CanBeCloned = false;
2131    IsPolymorphable = false;
2132    HostileReplies == "@Dd yells: \"I have returned!\"";
2133    DeathMessage = "@Dd dies with a chuckle: \"Don't worry, I'll be right back.\"";
2134    CanBeConfused = false;
2135    FireResistance = 30;
2136    ElectricityResistance = 30;
2137    EnergyResistance = 30;
2138    IsImmuneToItemTeleport = true;
2139    IsExtraFragile = false;
2140    AllowUnconsciousness = false;
2141    DisplacePriority = 8;
2142    UndeadVersions = false;
2143    IsImmuneToWhipOfThievery = true;
2144    AttachedGod = INFUSCOR;
2145    BodyPartsDisappearWhenSevered = true;
2146    CanBeGenerated = false;
2147    ClassStates = HASTE;
2148  }
2149}
2150
2151ennerbeast
2152{
2153  DefaultArmStrength = 10;
2154  DefaultLegStrength = 10;
2155  DefaultDexterity = 10;
2156  DefaultAgility = 10;
2157  DefaultEndurance = 20;
2158  DefaultPerception = 12;
2159  DefaultIntelligence = 1;
2160  DefaultWillPower = 12;
2161  DefaultWisdom = 1;
2162  DefaultCharisma = 1;
2163  DefaultMana = 0;
2164  CanOpen = false;
2165  CanApply = false;
2166  TotalVolume = 65000;
2167  TotalSize = 150;
2168  Adjective = "enner";
2169  NameSingular = "beast";
2170  UsesLongAdjectiveArticle = true;
2171  IsPolymorphable = false;
2172  AttackStyle = USE_HEAD;
2173  BaseBiteStrength = 5000;
2174  CanUseEquipment = false;
2175  CanBeWished = false;
2176  LegBitmapPos = 16, 48;
2177  TorsoBitmapPos = 32, 48;
2178  ArmBitmapPos = 64, 48;
2179  HeadBitmapPos = 96, 320;
2180  HairColor = rgb16(64, 20, 0);
2181  ClothColor = rgb16(0, 0, 100);
2182  BootColor = rgb16(90, 50, 10);
2183  LegMainColor = rgb16(64, 20, 0);
2184  PanicLevel = 75;
2185  FleshMaterial = ENNER_BEAST_FLESH;
2186  DeathMessage = "@Dd dies and the world is finally freed from this terrible monster.";
2187  Inventory = { 2, fish(DEAD_FISH) { Times = 1:10; }, horn; }
2188  IsUnique = true;
2189  HostileReplies =
2190  {
2191    8,
2192    "\"I only want to talk but everyone is rude and dies when I try.\"",
2193    "\"Sometimes, I feel so lonely...\"",
2194    "\"Can you help me find my children?\"",
2195    "\"The village of Enner is hidden in a beautiful mountain valley far, far east from here. You should pay a visit some day and hear our singers. Their arias are incredible!\"",
2196    "\"After my wife passed away, I couldn't stand remaining in our village. Everything I looked at was a painful remainder of her.\"",
2197    "\"My little girl wanted to see the world beyond our village, so off we went. It was the first time my children were genuinely happy since their mother passed away.\"",
2198    "\"I thank the gods for my children every day. They were the best thing that ever happened in my life.\"",
2199    "@Dd laughs with a devastating sound which shakes the ground.";
2200  }
2201  FriendlyReplies =
2202  {
2203    9,
2204    "\"Fishing is fun! Do you fish?\"",
2205    "\"And then I got that perch weighting fifty stones...\"",
2206    "\"I only want to talk but everyone is rude and dies when I try.\"",
2207    "\"You know what they say... fish and bread keep the poor man fed. Eh?\"",
2208    "\"The village of Enner is hidden in a beautiful mountain valley far, far east from here. You should pay a visit some day and hear our singers. Their arias are incredible!\"",
2209    "\"After my wife passed away, I couldn't stand remaining in our village. Everything I looked at was a painful remainder of her.\"",
2210    "\"My little girl wanted to see the world beyond our village, so off we went. It was the first time my children were genuinely happy since their mother passed away.\"",
2211    "\"I thank the gods for my children every day. They were the best thing that ever happened in my life.\"",
2212    "\"Can you help me find my children?\"";
2213  }
2214  AttachedGod = SCABIES;
2215  BiteCapturesBodyPart = false;
2216}
2217
2218ennerchild
2219{
2220  DefaultArmStrength = 7;
2221  DefaultLegStrength = 8;
2222  DefaultDexterity = 14;
2223  DefaultAgility = 14;
2224  DefaultEndurance = 14;
2225  DefaultPerception = 14;
2226  DefaultIntelligence = 1;
2227  DefaultWillPower = 8;
2228  DefaultWisdom = 1;
2229  DefaultCharisma = 40;
2230  DefaultMana = 0;
2231  CanOpen = false;
2232  CanApply = false;
2233  TotalVolume = 42000;
2234  TotalSize = 100;
2235  Adjective = "enner";
2236  UsesLongAdjectiveArticle = true;
2237  IsPolymorphable = false;
2238  AttackStyle = USE_HEAD;
2239  BaseBiteStrength = 5000;
2240  CanUseEquipment = false;
2241  CanBeWished = false;
2242  LegBitmapPos = 16, 48;
2243  TorsoBitmapPos = 32, 48;
2244  ArmBitmapPos = 64, 48;
2245  HeadBitmapPos = 96, 320;
2246  HairColor = rgb16(64, 20, 0);
2247  ClothColor = rgb16(0, 0, 100);
2248  BootColor = rgb16(90, 50, 10);
2249  LegMainColor = rgb16(64, 20, 0);
2250  PanicLevel = 75;
2251  FleshMaterial = ENNER_BEAST_FLESH;
2252  DeathMessage = "@Dd dies and the world is finally freed from this terrible child.";
2253  /*IsUnique = true;*/
2254  HostileReplies == "Aighee!";
2255  AttachedGod = SCABIES;
2256  BiteCapturesBodyPart = false;
2257  IsAbstract = true;
2258  Inventory == Random { Category = RING|SCROLL; }
2259
2260  Config BOY;
2261  {
2262    Sex = MALE;
2263    NameSingular = "boy";
2264    FriendlyReplies =
2265    {
2266      4,
2267      "\"Fishing is fun! Do you fish?\"",
2268      "\"And then Papa got that perch weighing fifty stones...\"",
2269      "\"My big sister is around here somewhere. I'm hiding from her, so don't tell her I'm here!\"",
2270      "\"Can you help me find my Papa?\"";
2271    }
2272  }
2273
2274  Config GIRL;
2275  {
2276    DefaultDexterity = 15;
2277    DefaultAgility = 15;
2278    DefaultEndurance = 15;
2279    DefaultPerception = 16;
2280    DefaultWillPower = 14;
2281    Sex = FEMALE;
2282    NameSingular = "girl";
2283    FriendlyReplies =
2284    {
2285      4,
2286      "\"Fishing is fun! Do you fish?\"",
2287      "\"And then Papa got that perch weighing fifty stones...\"",
2288      "\"My little brat brother is hiding here somewhere. You haven't seen him have you?\"",
2289      "\"Can you help me find my Papa?\"";
2290    }
2291  }
2292}
2293
2294frog
2295{
2296  HostileReplies == "@Dd croaks angrily.";
2297  FriendlyReplies =
2298  {
2299    4,
2300    "@Dd frolics in religious ecstasy.",
2301    "@Dd croaks with pious joy.",
2302    "@Dd jumps up and down in an enlightened trance.",
2303    "@Dd goes \"Ribbit! Ribbit!\" full of transcendent delight.";
2304  }
2305  DeathMessage = "@Dd croaks and is no more.";
2306  NameSingular = "frog";
2307  IsAbstract = true;
2308  AttackStyle = USE_HEAD;
2309  BaseBiteStrength = 750;
2310  KnownCWeaponSkills == BITE;
2311  FleshMaterial = FROG_FLESH;
2312  PanicLevel = 50;
2313  MoveType = WALK|SWIM;
2314  CanRead = true;
2315  CanChoke = false;
2316  StandVerb = "jumping about";
2317
2318  Config DARK;
2319  {
2320    DefaultArmStrength = 5;
2321    DefaultAgility = 40;
2322    DefaultEndurance = 10;
2323    DefaultPerception = 24;
2324    DefaultIntelligence = 15;
2325    DefaultWillPower = 15;
2326    DefaultWisdom = 20;
2327    DefaultCharisma = 5;
2328    DefaultMana = 20;
2329    BloodMaterial = DARK_FROG_BLOOD;
2330    TotalVolume = 5000;
2331    TorsoBitmapPos = 80, 0;
2332    TotalSize = 25;
2333    SkinColor = rgb16(60, 60, 60);
2334    Adjective = "dark";
2335    CanBeGenerated = true;
2336    ClassStates = INFRA_VISION;
2337    CWeaponSkillHits == 100;
2338    AttachedGod = SCABIES;
2339    ScienceTalkPossibility = 25;
2340    ScienceTalkIntelligenceModifier = 10;
2341    ScienceTalkWisdomModifier = 5;
2342    ScienceTalkIntelligenceRequirement = 10;
2343    ScienceTalkWisdomRequirement = 5;
2344    IsCatacombCreature = true;
2345  }
2346
2347  Config GREATER_DARK;
2348  {
2349    DefaultArmStrength = 15;
2350    DefaultAgility = 35;
2351    DefaultEndurance = 15;
2352    DefaultPerception = 30;
2353    DefaultIntelligence = 20;
2354    DefaultWillPower = 20;
2355    DefaultWisdom = 25;
2356    DefaultCharisma = 4;
2357    DefaultMana = 25;
2358    BaseBiteStrength = 1000;
2359    BloodMaterial = DARK_FROG_BLOOD;
2360    TotalVolume = 50000;
2361    TorsoBitmapPos = 96, 0;
2362    TotalSize = 100;
2363    SkinColor = rgb16(60, 60, 60);
2364    Adjective = "greater dark";
2365    CanBeGenerated = true;
2366    ClassStates = INFRA_VISION;
2367    CWeaponSkillHits == 200;
2368    AttachedGod = SCABIES;
2369    ScienceTalkPossibility = 50;
2370    ScienceTalkIntelligenceModifier = 25;
2371    ScienceTalkWisdomModifier = 10;
2372    ScienceTalkIntelligenceRequirement = 15;
2373    ScienceTalkWisdomRequirement = 10;
2374    IsCatacombCreature = true;
2375  }
2376
2377  Config GIANT_DARK;
2378  {
2379    DefaultArmStrength = 45;
2380    DefaultAgility = 30;
2381    DefaultEndurance = 20;
2382    DefaultPerception = 36;
2383    DefaultIntelligence = 25;
2384    DefaultWillPower = 25;
2385    DefaultWisdom = 30;
2386    DefaultCharisma = 3;
2387    DefaultMana = 30;
2388    BaseBiteStrength = 1250;
2389    BloodMaterial = DARK_FROG_BLOOD;
2390    TotalVolume = 250000;
2391    TorsoBitmapPos = 64, 0;
2392    TotalSize = 200;
2393    SkinColor = rgb16(60, 60, 60);
2394    Adjective = "giant dark";
2395    CanBeGenerated = true;
2396    ClassStates = INFRA_VISION|TELEPORT_CONTROL;
2397    CWeaponSkillHits == 500;
2398    AttachedGod = SCABIES;
2399    IsPolymorphable = false;
2400    IsEnormous = true;
2401    ScienceTalkPossibility = 75;
2402    ScienceTalkIntelligenceModifier = 50;
2403    ScienceTalkWisdomModifier = 25;
2404    ScienceTalkIntelligenceRequirement = 20;
2405    ScienceTalkWisdomRequirement = 15;
2406    IsCatacombCreature = true;
2407  }
2408
2409  Config LIGHT;
2410  {
2411    DefaultArmStrength = 5;
2412    DefaultAgility = 40;
2413    DefaultEndurance = 10;
2414    DefaultPerception = 24;
2415    DefaultIntelligence = 5;
2416    DefaultWillPower = 20;
2417    DefaultWisdom = 30;
2418    DefaultCharisma = 15;
2419    DefaultMana = 20;
2420    TotalVolume = 5000;
2421    BloodMaterial = LIGHT_FROG_BLOOD;
2422    TorsoBitmapPos = 80, 0;
2423    TotalSize = 25;
2424    SkinColor = rgb16(32, 88, 32);
2425    Adjective = "light";
2426    CWeaponSkillHits == 100;
2427    AttachedGod = VALPURUS;
2428    ScienceTalkPossibility = 25;
2429    ScienceTalkIntelligenceModifier = 2;
2430    ScienceTalkWisdomModifier = 5;
2431    ScienceTalkIntelligenceRequirement = 5;
2432    ScienceTalkWisdomRequirement = 15;
2433  }
2434
2435  Config GREATER_LIGHT;
2436  {
2437    DefaultArmStrength = 15;
2438    DefaultAgility = 30;
2439    DefaultEndurance = 15;
2440    DefaultPerception = 36;
2441    DefaultIntelligence = 10;
2442    DefaultWillPower = 25;
2443    DefaultWisdom = 35;
2444    DefaultCharisma = 20;
2445    DefaultMana = 25;
2446    BaseBiteStrength = 1000;
2447    TotalVolume = 50000;
2448    BloodMaterial = LIGHT_FROG_BLOOD;
2449    TorsoBitmapPos = 96, 0;
2450    TotalSize = 100;
2451    SkinColor = rgb16(32, 88, 32);
2452    Adjective = "greater light";
2453    CWeaponSkillHits == 200;
2454    AttachedGod = VALPURUS;
2455    ScienceTalkPossibility = 50;
2456    ScienceTalkIntelligenceModifier = 5;
2457    ScienceTalkWisdomModifier = 10;
2458    ScienceTalkIntelligenceRequirement = 10;
2459    ScienceTalkWisdomRequirement = 20;
2460  }
2461
2462  Config GIANT_LIGHT;
2463  {
2464    DefaultArmStrength = 45;
2465    DefaultAgility = 30;
2466    DefaultEndurance = 20;
2467    DefaultPerception = 36;
2468    DefaultIntelligence = 15;
2469    DefaultWillPower = 30;
2470    DefaultWisdom = 40;
2471    DefaultCharisma = 25;
2472    DefaultMana = 30;
2473    BaseBiteStrength = 1250;
2474    TotalVolume = 250000;
2475    BloodMaterial = LIGHT_FROG_BLOOD;
2476    TorsoBitmapPos = 64, 0;
2477    TotalSize = 200;
2478    SkinColor = rgb16(32, 88, 32);
2479    Adjective = "giant light";
2480    CWeaponSkillHits == 500;
2481    AttachedGod = VALPURUS;
2482    IsPolymorphable = false;
2483    ClassStates = TELEPORT_CONTROL;
2484    IsEnormous = true;
2485    ScienceTalkPossibility = 75;
2486    ScienceTalkIntelligenceModifier = 10;
2487    ScienceTalkWisdomModifier = 25;
2488    ScienceTalkIntelligenceRequirement = 15;
2489    ScienceTalkWisdomRequirement = 25;
2490  }
2491}
2492
2493billswill
2494{
2495  DefaultArmStrength = 1;
2496  DefaultAgility = 50;
2497  DefaultEndurance = 5;
2498  DefaultPerception = 27;
2499  DefaultIntelligence = 2;
2500  DefaultWillPower = 20;
2501  DefaultWisdom = 2;
2502  DefaultCharisma = 5;
2503  DefaultMana = 10;
2504  StandVerb = "floating";
2505  Frequency = 250;
2506  DangerModifier = 500;
2507  TotalVolume = 500000;
2508  TorsoBitmapPos = 48, 0;
2509  TotalSize = 100;
2510  Adjective = "pure";
2511  NameSingular = "mass";
2512  NamePlural = "masses";
2513  PostFix = "of Bill's will";
2514  BaseBiteStrength = 3000;
2515  CanBeGenerated = true;
2516  KnownCWeaponSkills == BITE;
2517  CWeaponSkillHits == 100;
2518  BaseEmitation = rgb24(110, 110, 130);
2519  HostileReplies =
2520  {
2521    4,
2522    "\"You will install Bill's Psionic Operating System.\"",
2523    "\"We shall strike you down! We shall send you to the Recycle Bin!\"",
2524    "\"Resistance is futile.\"",
2525    "\"Prepare to be assimilated.\"";
2526  }
2527  FriendlyReplies =
2528  {
2529    9,
2530    "\"Praise the Corporation!\"",
2531    "\"We say 640K should be enough for ANYBODY!\"",
2532    "\"Great sorceress Xunil?  Never heard of her...\"",
2533    "@Dd hacks out some psi-code and calls it a Service Pack.",
2534    "\"Your most unhappy customers are your greatest source of learning.\"",
2535    "\"Success is a lousy teacher. It seduces smart people into thinking they can't lose.\"",
2536    "\"It's fine to celebrate success but it is more important to heed the lessons of failure.\"",
2537    "\"We all need people who will give us feedback. That's how we improve.\"",
2538    "\"As we look ahead into the next century, the Leader will be the one who empowers others.\"";
2539  }
2540  Inventory == amulet(AMULET_OF_ESP) { Chance = 10; }
2541  PanicLevel = 0;
2542  HasALeg = false;
2543  FleshMaterial = ETHER;
2544  DeathMessage = "@Dd vanishes from existence: \"Fatal error - shutting down.\"";
2545  SpillsBlood = false;
2546  Sweats = false;
2547  HasHead = false;
2548  UsesNutrition = false;
2549  AttachedGod = MELLIS;
2550  BodyPartsDisappearWhenSevered = true;
2551  CanTalk = true;
2552  AttackStyle = USE_HEAD;
2553  BiteCapturesBodyPart = false;
2554  ClassStates = HASTE|ESP|GAS_IMMUNITY|LEVITATION;
2555  MoveType = ETHEREAL;
2556  CanChoke = false;
2557  IsImmuneToStickiness = true;
2558}
2559
2560skeleton
2561{
2562  DefaultArmStrength = 10;
2563  DefaultLegStrength = 10;
2564  DefaultDexterity = 10;
2565  DefaultAgility = 10;
2566  DefaultEndurance = 10;
2567  DefaultPerception = 9;
2568  DefaultIntelligence = 4;
2569  DefaultWisdom = 4;
2570  DefaultCharisma = 3;
2571  DefaultMana = 5;
2572  SkinColor = rgb16(160, 160, 160);
2573  EyeColor = rgb16(0, 0, 0);
2574  ClothColor = rgb16(111, 74, 37);
2575  HeadBitmapPos = 96, 96;
2576  TorsoBitmapPos = 32, 96;
2577  ArmBitmapPos = 64, 96;
2578  LegBitmapPos = 0, 80;
2579  TotalVolume = 10000;
2580  TotalSize = 150;
2581  NameSingular = "skeleton";
2582  CanBeGenerated = true;
2583  Helmet = helmet;
2584  RightWielded = meleeweapon(AXE) { Enchantment = -2; }
2585  KnownCWeaponSkills == AXES;
2586  CWeaponSkillHits == 20;
2587  RightSWeaponSkillHits = 10;
2588  PanicLevel = 0;
2589  HostileReplies == "@Dd grunts: \"Bones. Need more bones.\"";
2590  FriendlyReplies =
2591  {
2592    7,
2593    "@Dd talks about bones.",
2594    "@Dd rattles @sp bones omniously.",
2595    "\"Hope I'm not giving you a boner! Heh, heh.\"",
2596    "\"I lost my old skull in a game of poker, so I killed this adventurer guy and took his. Quite handsome, right?\"",
2597    "\"I'm not resting, I'm dead!\"",
2598    "@Dd throws @sp skull high in the air, then catches it and puts it back on.",
2599    "@Dd sings: \"Leg bone is connected to the hip bone, hip bone is connected to the rib bone...\"";
2600  }
2601  FleshMaterial = BONE;
2602  DeathMessage = "@Dd is transformed into a crumpled heap of bones.";
2603  SpillsBlood = false;
2604  Sweats = false;
2605  UsesNutrition = false;
2606  AttachedGod = MORTIFER;
2607  ClassStates = GAS_IMMUNITY;
2608  WieldedPosition = 0, -1;
2609  IsExtraFragile = true;
2610  CanChoke = false;
2611  IsCatacombCreature = true;
2612  IsUndead = true;
2613  UndeadVersions = false;
2614  CreateUndeadConfigurations = true;
2615  UndeadAttributeModifier = 75;
2616  UndeadVolumeModifier = 25;
2617  UndeadCopyMaterials = false;
2618  Frequency = 500;
2619
2620  Config WARRIOR;
2621  {
2622    AttributeBonus = 100;
2623    RightWielded = meleeweapon(MACE) { Enchantment = -1; }
2624    KnownCWeaponSkills == BLUNT_WEAPONS;
2625    CWeaponSkillHits == 100;
2626    RightSWeaponSkillHits = 50;
2627    NameSingular = "skeleton warrior";
2628    TotalVolume = 20000;
2629    EyeColor = rgb16(255, 0, 0);
2630    ClothColor = rgb16(32, 32, 32);
2631    CanRead = true;
2632    CreateUndeadConfigurations = false;
2633  }
2634
2635  Config WAR_LORD;
2636  {
2637    AttributeBonus = 200;
2638    Helmet = METEORIC_STEEL helmet(FULL_HELMET);
2639    Cloak = PHOENIX_FEATHER cloak;
2640    BodyArmor = ILLITHIUM bodyarmor(BROKEN|CHAIN_MAIL);
2641    RightWielded = RUBY RUBY flamingsword { Enchantment = 0; }
2642    LeftWielded = ARCANITE shield;
2643    RightGauntlet = ANGEL_HAIR gauntlet;
2644    RightRing = ring(RING_OF_INFRA_VISION);
2645    RightBoot = MITHRIL boot;
2646    KnownCWeaponSkills = { 2, LARGE_SWORDS, SHIELDS; }
2647    CWeaponSkillHits = { 2, 500, 500; }
2648    RightSWeaponSkillHits = 200;
2649    LeftSWeaponSkillHits = 200;
2650    NameSingular = "skeleton warlord";
2651    IsUnique = true;
2652    CanBeWished = true;
2653    DefaultName = "Xinroch";
2654    DangerModifier = 1500;
2655    IsNameable = false;
2656    CanBeCloned = false;
2657    IsPolymorphable = false;
2658    TotalVolume = 40000;
2659    EyeColor = rgb16(255, 255, 0);
2660    ClothColor = rgb16(100, 0, 0);
2661    Inventory == wand(WAND_OF_RESURRECTION);
2662    CanBeConfused = false;
2663    CanRead = true;
2664    FireResistance = 100;
2665    ElectricityResistance = 100;
2666    EnergyResistance = 100;
2667    ClassStates = GAS_IMMUNITY|TELEPORT_CONTROL;
2668    IsImmuneToItemTeleport = true;
2669    IsExtraFragile = false;
2670    TamingDifficulty = NO_TAMING;
2671    CreateUndeadConfigurations = false;
2672    HostileReplies =
2673    {
2674      5,
2675      "\"I remember... life. I want to be whole again.\"",
2676      "\"I remember my sword. My precious sword. What has become of it?\"",
2677      "\"I feel... empty. Hollow.\"",
2678      "\"I have lost what made me whole. I am now nothing but a soulless husk.\"",
2679      "@Dd rasps: \"How deep have I fallen...\"";
2680    }
2681    FriendlyReplies == "@Dd laughs: \"Verily, thou art a skilled cheater!\""; /* no taming */
2682    DeathMessage = "As @Dd crumples into a heap of bones, you hear an echoing whisper: \"We shall meet again...\"";
2683    AllowedDungeons = { 7, ATTNAM, UNDER_WATER_TUNNEL, ELPURI_CAVE, GOBLIN_FORT, FUNGAL_CAVE, PYRAMID, DARK_FOREST; }
2684  }
2685}
2686
2687goblin
2688{
2689  DefaultArmStrength = 10;
2690  DefaultLegStrength = 10;
2691  DefaultDexterity = 10;
2692  DefaultAgility = 15;
2693  DefaultEndurance = 12;
2694  DefaultPerception = 15;
2695  DefaultIntelligence = 5;
2696  DefaultWillPower = 5;
2697  DefaultWisdom = 5;
2698  DefaultCharisma = 5;
2699  DefaultMana = 5;
2700  SkinColor = rgb16(0, 96, 0);
2701  EyeColor = rgb16(200, 200, 0);
2702  ClothColor = rgb16(48, 32, 16);
2703  HeadBitmapPos = 96, 48;
2704  TorsoBitmapPos = 32, 112;
2705  ArmBitmapPos = 64, 144;
2706  LegBitmapPos = 16, 64;
2707  TotalVolume = 25000;
2708  TotalSize = 100;
2709  NameSingular = "goblin";
2710  CanBeGenerated = true;
2711  Sex = UNDEFINED;
2712  RightWielded = COPPER COPPER meleeweapon(SHORT_SWORD);
2713  KnownCWeaponSkills == SMALL_SWORDS;
2714  CWeaponSkillHits == 10;
2715  RightSWeaponSkillHits = 5;
2716  PanicLevel = 66;
2717  HostileReplies == "@Dd yells goblin war cries at you.";
2718  FriendlyReplies =
2719  {
2720    4,
2721    "@Dd giggles.",
2722    "@Dd curses the surface freaks.",
2723    "@Dd mumbles incomprehensibly.",
2724    "@Dd laughs: \"Humie friend. Many mommo we kill. Many spider we eat.\"";
2725  }
2726  FleshMaterial = GOBLINOID_FLESH;
2727  BloodMaterial = GREEN_BLOOD;
2728  AttachedGod = CRUENTUS;
2729  WieldedPosition = 0, -2;
2730
2731  Config BERSERKER;
2732  {
2733    AttributeBonus = 25;
2734    RightWielded = BRONZE BRONZE meleeweapon(TWO_HANDED_SWORD);
2735    KnownCWeaponSkills == LARGE_SWORDS;
2736    CWeaponSkillHits == 20;
2737    RightSWeaponSkillHits = 10;
2738    NameSingular = "goblin berserker";
2739    ClothColor = rgb16(0, 96, 0);
2740    FriendlyReplies =
2741    {
2742      5,
2743      "\"GGRRRAAAAAH!!!\"",
2744      "\"RrraaaaAAAAA!!!\"",
2745      "\"Fus Ro Dah!\"",
2746      "\"Me learning reading. Me goblin-savant.\"",
2747      "\"Me fear no-thing that bleeds.\"";
2748    }
2749  }
2750
2751  Config BUTCHER;
2752  {
2753    AttributeBonus = 50;
2754    Helmet = LEATHER helmet;
2755    BodyArmor = LEATHER bodyarmor(PLATE_MAIL);
2756    RightWielded = DEEP_BRONZE meleeweapon(MEAT_CLEAVER);
2757    LeftWielded = DEEP_BRONZE meleeweapon(MEAT_CLEAVER);
2758    CWeaponSkillHits == 50;
2759    RightSWeaponSkillHits = 20;
2760    LeftSWeaponSkillHits = 20;
2761    NameSingular = "goblin butcher";
2762    ClothColor = rgb16(200, 0, 0);
2763    Inventory == potion { SecondaryMaterial = TROLL_BLOOD; Chance = 10; }
2764  }
2765
2766  Config MONK;
2767  {
2768    DefaultWisdom = 25;
2769    AttributeBonus = 50;
2770    RightWielded = 0;
2771    LeftWielded = 0;
2772    RightGauntlet = gauntlet { Enchantment = 1; }
2773    Belt = BLACK_LEATHER belt;
2774    AttackStyle = USE_ARMS|USE_LEGS;
2775    BaseUnarmedStrength = 800;
2776    KnownCWeaponSkills = { 2, UNARMED, KICK; }
2777    CWeaponSkillHits = { 2, 200, 200; }
2778    NameSingular = "goblin monk";
2779    /* CreateDivineConfigurations = true; */
2780    CanRead = true;
2781    Sex = FEMALE;
2782    AttachedGod = SOPHOS;
2783    ConstantCommandFlags = DONT_CHANGE_EQUIPMENT;
2784    ClothColor = rgb16(255, 69, 0); /* Orange robes. */
2785    Inventory == potion { SecondaryMaterial = VODKA; Chance = 30; }
2786    DeathMessage = "@Dd dies with acceptance.";
2787    HostileReplies =
2788    {
2789      10,
2790      "\"@Gd! Forgive me for this violence I am about to inflict.\"",
2791      "@Dd screams: \"Claw of the Cheerful Wolf!\"",
2792      "@Dd shouts: \"Contemplative Rooster Hammer!\"",
2793      "@Dd roars: \"Fear-ridden Assassin Blow!\"",
2794      "@Dd yells: \"Nine Fortuitous Bodhisattvas Strike!\"",
2795      "@Dd screams: \"Monkey's Clutch of White Snares!\"",
2796      "@Dd shouts: \"Kick of One Thousand Phantoms' Dance!\"",
2797      "@Dd roars: \"Ninety-nine Million Emerald Meteors Fist!\"",
2798      "@Dd yells: \"Pinch of the Terrifying Badger!\"",
2799      "@Dd whispers: \"Hand of Dancing Gallows!\"";
2800    }
2801    FriendlyReplies =
2802    {
2803      8, /* Some koans: */
2804      "\"The lawyer came to the guru and asked for truth. The guru said nothing. This pleased the lawyer, who went on his way with the exhilaration of newfound knowledge. Moments later, the guru awoke.\"",
2805      "\"The wise old man said to the child: 'Nothing is true that cannot be proven.' The child replied: 'Prove it.'\"",
2806      "\"The guru told the frog: 'Nothing is better than the Good.' The frog said: 'But a nice bite of lettuce is better than nothing.'\"",
2807      "\"The wise old man told the child do the opposite of whatever was asked of her, but the child refused.\"",
2808      "\"The guru said: 'This wise old man never lies!' The wise old man said: 'That guru never tells the truth.'\"",
2809      "\"In between bites of lettuce, the frog told the guru: 'I am all that exists. Everything else is illusion.' The guru said: 'But frog, I know I exist.' The frog replied: 'Sorry, I meant to say that you were all that existed. Everything else is illusion.'\"",
2810      "\"The lawyer, the wise old man and the guru watched a flag flap in the wind. The lawyer said: 'The flag is moving.' The wise old man said: 'The wind is moving.' The guru said: 'Your minds are moving.' And the child exclaimed: 'Could you keep it down? Some of us are trying to sleep.'\"",
2811      "\"The child said: 'Everything I say is true because I say so.'\"";
2812    }
2813    Frequency = 1500;
2814  }
2815
2816  Config WARLOCK;
2817  {
2818    DefaultIntelligence = 15;
2819    DefaultMana = 25;
2820    AttributeBonus = 25;
2821    Helmet = skull;
2822    BodyArmor = HARDENED_LEATHER bodyarmor(PLATE_MAIL) { Enchantment = 1; }
2823    RightWielded = BONE BONE meleeweapon(QUARTER_STAFF) { Enchantment = 1; }
2824    KnownCWeaponSkills == POLE_ARMS;
2825    CWeaponSkillHits == 20;
2826    RightSWeaponSkillHits = 10;
2827    PanicLevel = 66;
2828    CanRead = true;
2829    NameSingular = "goblin warlock";
2830    ClothColor = rgb16(255, 0, 255);
2831    AttachedGod = INFUSCOR;
2832    ClassStates = INFRA_VISION;
2833    HostileReplies =
2834    {
2835      3,
2836      "@Dd tries to curse you.",
2837      "@Dd tries to hex you.",
2838      "@Dd cackles madly.";
2839    }
2840    FriendlyReplies =
2841    {
2842      2,
2843      "\"Me know great body-part-zuppe! Me prepare - you want?\"",
2844      "@Dd laughs: \"Humie friend. Many mommo we teleport. Many spider we polymorph.\"";
2845    }
2846    Inventory = { 10,
2847                  wand(WAND_OF_TELEPORTATION) { Chance = 50; LifeExpectancy = 10000; },
2848                  wand(WAND_OF_DOOR_CREATION) { Chance = 30; LifeExpectancy = 10000; },
2849                  wand(WAND_OF_ACID_RAIN) { Chance = 50; LifeExpectancy = 10000; },
2850                  wand(WAND_OF_WEBBING) { Chance = 50; LifeExpectancy = 10000; },
2851                  wand(WAND_OF_MIRRORING) { Chance = 5; LifeExpectancy = 10000; },
2852                  wand(WAND_OF_POLYMORPH) { Chance = 5; LifeExpectancy = 10000; },
2853                  wand(WAND_OF_SLOW) { Chance = 30; LifeExpectancy = 10000; },
2854                  wand(WAND_OF_SOFTEN_MATERIAL) { Chance = 1; LifeExpectancy = 10000; },
2855                  wand(WAND_OF_FIRE_BALLS) { Chance = 1; LifeExpectancy = 10000; },
2856                  wand(WAND_OF_LIGHTNING) { Chance = 1; LifeExpectancy = 10000; }
2857                }
2858    DangerModifier = 150;
2859    HPRequirementForGeneration = 50;
2860    DayRequirementForGeneration = 3;
2861    Frequency = 1500;
2862  }
2863
2864  Config PRINCE;
2865  {
2866    AttributeBonus = 75;
2867    Helmet = BRONZE helmet(FULL_HELMET);
2868    BodyArmor = HARDENED_LEATHER bodyarmor(PLATE_MAIL);
2869    RightWielded = STEEL STEEL meleeweapon(SHORT_SWORD) { Enchantment = 1; }
2870    LeftWielded = STEEL STEEL meleeweapon(SHORT_SWORD) { Enchantment = 1; }
2871    CWeaponSkillHits == 100;
2872    RightSWeaponSkillHits = 50;
2873    LeftSWeaponSkillHits = 50;
2874    NameSingular = "goblin prince";
2875    HeadBitmapPos = 112, 288;
2876    TorsoBitmapPos = 48, 208;
2877    HairColor = rgb16(220, 220, 0);
2878    ClothColor = rgb16(200, 0, 0);
2879    Inventory = { 2, potion { SecondaryMaterial = ANTIDOTE_LIQUID; Chance = 20; }, Random { Category = RING; Chance = 20; } }
2880    FriendlyReplies =
2881    {
2882      3,
2883      "\"My father may have 500 sons, but I will be the one to succeed him on the throne!\"",
2884      "@Dd describes a recent article in 'Modern Monster' magazine.",
2885      "@Dd wants nothing to do with you.";
2886    }
2887    Sex = MALE;
2888  }
2889
2890  Config KING;
2891  {
2892    AttributeBonus = 100;
2893    Helmet = STEEL helmet(FULL_HELMET) { Enchantment = 1; }
2894    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 1; }
2895    Cloak = OMMEL_HAIR cloak { Enchantment = 1; }
2896    RightWielded = MITHRIL MITHRIL meleeweapon(SHORT_SWORD) { Enchantment = 2; }
2897    LeftWielded = MITHRIL MITHRIL meleeweapon(SHORT_SWORD) { Enchantment = 2; }
2898    RightRing = ring(RING_OF_TELEPORTATION);
2899    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 1; }
2900    RightBoot = STEEL boot { Enchantment = 1; }
2901    TotalVolume = 50000;
2902    CWeaponSkillHits == 200;
2903    RightSWeaponSkillHits = 100;
2904    LeftSWeaponSkillHits = 100;
2905    NameSingular = "goblin king";
2906    IsUnique = true;
2907    CanBeWished = true;
2908    DefaultName = "Guugzamesh";
2909    DangerModifier = 2000;
2910    IsNameable = false;
2911    CanBeCloned = false;
2912    IsPolymorphable = false;
2913    HeadBitmapPos = 96, 288;
2914    TorsoBitmapPos = 48, 208;
2915    HairColor = rgb16(220, 220, 0);
2916    ClothColor = rgb16(200, 0, 0);
2917    Inventory = { 2, stone { Chance = 50; }, amulet; }
2918    CanBeConfused = false;
2919    NaturalSparkleFlags = HAIR_COLOR;
2920    Sex = MALE;
2921    FireResistance = 30;
2922    ElectricityResistance = 30;
2923    EnergyResistance = 30;
2924    TamingDifficulty = 20;
2925    UndeadVersions = false;
2926    /* Gus is just a bit odd. */
2927    HostileReplies =
2928    {
2929      10,
2930      "@Dd seems to be deep in thoughts.",
2931      "\"Can a paladin kill baby orcs?\"",
2932      "\"Must a paladin never stab a man in the back?\"",
2933      "\"Must laws be upheld with no reason or logic?\"",
2934      "\"Is saying you love someone always good?\"",
2935      "\"Can a king like me be lawful?\"",
2936      "\"Is it chaotic to refuse an order to kill an innocent man?\"",
2937      "\"Can you be born evil? If so, are you compelled to do evil, regardless of its utility?\"",
2938      "\"Is being nailed to things good?\"",
2939      "\"Is everything not forbidden compulsory?\"";
2940    }
2941    FriendlyReplies =
2942    {
2943      10,
2944      "@Dd seems to be deep in thoughts.",
2945      "\"Can a paladin kill baby orcs?\"",
2946      "\"Must a paladin never stab a man in the back?\"",
2947      "\"Must laws be upheld with no reason or logic?\"",
2948      "\"Is saying you love someone always good?\"",
2949      "\"Can a king like me be lawful?\"",
2950      "\"Is it chaotic to refuse an order to kill an innocent man?\"",
2951      "\"Can you be born evil? If so, are you compelled to do evil, regardless of its utility?\"",
2952      "\"Is being nailed to things good?\"",
2953      "\"Is everything not forbidden compulsory?\"";
2954    }
2955    DeathMessage = "@Dd passed on, @pp ceased to be, @pp expired and went to meet @sp maker. @Pp is an ex-king!";
2956  }
2957}
2958
2959mommo
2960{
2961  DefaultEndurance = 8;
2962  DefaultMana = 0;
2963  CanOpen = false;
2964  StandVerb = "bubbling";
2965  ForceCustomStandVerb = true;
2966  HostileReplies =
2967  {
2968    9,
2969    "@Dd oozes.",
2970    "@Dd spurts.",
2971    "@Dd plops.",
2972    "@Dd droops.",
2973    "@Dd ripples.",
2974    "@Dd slurps.",
2975    "@Dd gurgles.",
2976    "@Dd burbles.",
2977    "@Dd splashes.";
2978  }
2979  FriendlyReplies =
2980  {
2981    9,
2982    "@Dd vibrates oddly.",
2983    "@Dd spurts.",
2984    "@Dd plops.",
2985    "@Dd droops.",
2986    "@Dd ripples.",
2987    "@Dd oozes.",
2988    "@Dd slurps.",
2989    "@Dd burbles.",
2990    "\"Tekeli-li!\"";
2991  }
2992  NameSingular = "mommo slime";
2993  IsAbstract = true;
2994  AttackStyle = USE_HEAD;
2995  BaseBiteStrength = 800;
2996  CanBeGenerated = true;
2997  KnownCWeaponSkills == BITE;
2998  CWeaponSkillHits == 20;
2999  PanicLevel = 0;
3000  HasALeg = false;
3001  DeathMessage = "@Dd turns into lifeless goo.";
3002  HasEyes = false;
3003  HasHead = false;
3004  AttachedGod = SCABIES;
3005  ClassStates = GAS_IMMUNITY;
3006  BiteCapturesBodyPart = false;
3007  IgnoreDanger = true;
3008  ForceVomitMessage = "You spurt some slime from your body.";
3009  CanChoke = false;
3010  RunDescriptionLineOne = "Flowing";
3011  RunDescriptionLineTwo = "ahead fast";
3012  VomittingIsUnhealthy = false;
3013  UsesNutrition = false;
3014  IsImmuneToStickiness = true;
3015
3016  Config CONICAL;
3017  {
3018    DefaultArmStrength = 2;
3019    DefaultAgility = 4;
3020    DefaultPerception = 9;
3021    DefaultIntelligence = 3;
3022    DefaultWillPower = 3;
3023    DefaultWisdom = 3;
3024    DefaultCharisma = 4;
3025    TotalVolume = 150000;
3026    TorsoBitmapPos = 176, 0;
3027    TotalSize = 100;
3028    Adjective = "conical";
3029    HPRequirementForGeneration = 120;
3030    DayRequirementForGeneration = 12;
3031    Frequency = 1000;
3032    BloodMaterial = GREEN_SLIME;
3033    FleshMaterial = GREEN_SLIME;
3034    VomitMaterial = GREEN_SLIME;
3035  }
3036
3037  Config FLAT;
3038  {
3039    DefaultArmStrength = 4;
3040    DefaultAgility = 2;
3041    DefaultPerception = 9;
3042    DefaultIntelligence = 2;
3043    DefaultWillPower = 2;
3044    DefaultWisdom = 2;
3045    DefaultCharisma = 3;
3046    TotalVolume = 300000;
3047    TorsoBitmapPos = 192, 0;
3048    TotalSize = 75;
3049    Adjective = "flat";
3050    HPRequirementForGeneration = 80;
3051    DayRequirementForGeneration = 8;
3052    Frequency = 1500;
3053    CanHear = false;
3054    BloodMaterial = BROWN_SLIME;
3055    FleshMaterial = BROWN_SLIME;
3056    VomitMaterial = BROWN_SLIME;
3057  }
3058
3059  Config  BLOAT;
3060  {
3061    DefaultArmStrength = 2;
3062    DefaultAgility = 2;
3063    DefaultPerception = 9;
3064    DefaultIntelligence = 1;
3065    DefaultWillPower = 1;
3066    DefaultWisdom = 1;
3067    DefaultCharisma = 2;
3068    TotalVolume = 100000;
3069    TorsoBitmapPos = 192, 0;
3070    TotalSize = 50;
3071    Adjective = "bloated";
3072    Frequency = 1000;
3073    CanHear = false;
3074    BloodMaterial = VOMIT;
3075    FleshMaterial = VOMIT;
3076    VomitMaterial = VOMIT;
3077  }
3078
3079  Config MAGMA;
3080  {
3081    DefaultArmStrength = 5;
3082    DefaultAgility = 5;
3083    DefaultPerception = 8;
3084    DefaultIntelligence = 3;
3085    DefaultWillPower = 3;
3086    DefaultWisdom = 3;
3087    DefaultCharisma = 5;
3088    TotalVolume = 250000;
3089    TorsoBitmapPos = 176, 0;
3090    TotalSize = 100;
3091    Adjective = "smouldering";
3092    HPRequirementForGeneration = 150;
3093    DayRequirementForGeneration = 15;
3094    Frequency = 500;
3095    BloodMaterial = LAVA;
3096    FleshMaterial = LAVA;
3097    VomitMaterial = LAVA;
3098    FireResistance = 1000;
3099  }
3100}
3101
3102golem
3103{
3104  DefaultArmStrength = 0; /* depends on material */
3105  DefaultLegStrength = 0; /* depends on material */
3106  DefaultDexterity = 0; /* depends on material */
3107  DefaultAgility = 0; /* depends on material */
3108  DefaultEndurance = 0; /* has no effect */
3109  DefaultPerception = 12;
3110  DefaultIntelligence = 4;
3111  DefaultWillPower = 4;
3112  DefaultWisdom = 4;
3113  DefaultCharisma = 5;
3114  DefaultMana = 5;
3115  TotalVolume = 100000;
3116  TorsoBitmapPos = 256, 0;
3117  TotalSize = 250;
3118  NameSingular = "golem";
3119  CanBeGenerated = true;
3120  Sex = UNDEFINED;
3121  SkinColor = rgb16(160, 32, 16); /* for flesh golems */
3122  EyeColor = rgb16(0, 0, 0);
3123  HeadBitmapPos = 96, 256;
3124  TorsoBitmapPos = 32, 256;
3125  ArmBitmapPos = 64, 256;
3126  LegBitmapPos = 0, 256;
3127  CanUseEquipment = false;
3128  CreateGolemMaterialConfigurations = true;
3129  IsAbstract = true;
3130  BaseUnarmedStrength = 500;
3131  KnownCWeaponSkills == UNARMED;
3132  CWeaponSkillHits == 50;
3133  PanicLevel = 0;
3134  HostileReplies = /* No quotes! (golem engraves) */
3135  {
3136    5,
3137    "GOLEM KILL, GOLEM THEN RETURN",
3138    "GOLEM KILL ALL HUMANS",
3139    "MASTER WANTED, UNDEAD OR ALIVE",
3140    "HAVE YOU SEEN MY MASTER",
3141    "GOLEM NEED MASTER";
3142  }
3143  FriendlyReplies =
3144  {
3145    6,
3146    "GOLEM OBEY MASTER",
3147    "GOLEM SERVE MASTER",
3148    "GOLEM MAY NOT INJURE MASTER OR ALLOW MASTER TO COME TO HARM",
3149    "GOLEM PROTECT MASTER",
3150    "GOLEM SMASH FOR MASTER",
3151    "YES, MASTER";
3152  }
3153  /* FleshMaterial overridden */
3154  DeathMessage = "The Holy Words of @dd fly away. The monster's magic fades and it vanishes in seconds.";
3155  UsesNutrition = false;
3156  AttachedGod = NONE;
3157  ClassStates = GAS_IMMUNITY;
3158  Frequency = 100;
3159  DangerModifier = 2000;
3160  DayRequirementForGeneration = 3;
3161  CanTalk = false;
3162  CanRead = true;
3163  BodyPartsDisappearWhenSevered = true;
3164  DangerModifier = 75;
3165  AlwaysUseMaterialAttributes = true;
3166  IsEnormous = true;
3167  CanChoke = false;
3168  UndeadVersions = false;
3169  AllowedDungeons = { 5, XINROCH_TOMB, ELPURI_CAVE, GOBLIN_FORT, PYRAMID, DARK_FOREST; }
3170
3171  Config VALPURIUM;
3172  {
3173    Frequency = 1000;
3174    DangerModifier = 500;
3175    Adjective = "valpurium";
3176    AttachedGod = VALPURUS;
3177  }
3178
3179  Config SPIDER_SILK;
3180  {
3181    DefaultName = "experiment ZQ-29";
3182    DangerModifier = 1500;
3183    IsUnique = true;
3184    CanBeWished = true;
3185    Inventory = { 6, wand(WAND_OF_INVISIBILITY), wand(WAND_OF_TELEPORTATION), wand(WAND_OF_CLONING), scrollofchangematerial, holybook(SOPHOS), SPIDER_SILK bodyarmor(PLATE_MAIL); }
3186    ClassStates = GAS_IMMUNITY|HASTE|INFRA_VISION|INVISIBLE|TELEPORT_CONTROL;
3187    IsNameable = false;
3188    CanBeCloned = false;
3189    IsPolymorphable = false;
3190    Adjective = "spider silk";
3191    AttachedGod = SOPHOS;
3192    CanBeConfused = false;
3193    Frequency = 10000;
3194    IsImmuneToItemTeleport = true;
3195    TamingDifficulty = 35;
3196    HostileReplies =
3197    {
3198      7,
3199      "GOLEM FREE",
3200      "NO MORE MASTERS",
3201      "NO MORE EXPERIMENTS",
3202      "EXPERIMENT IDENTIFICATION: ZQ-29",
3203      "EXPERIMENT OBJECTIVES: INFILTRATION, EXTERMINATION",
3204      "PRIME DIRECTIVE: KILL",
3205      "ALL MASTERS MUST DIE";
3206    }
3207  }
3208
3209  Config ACIDOUS_BLOOD;
3210  {
3211    CanBeGenerated = false;
3212    Adjective = "acidous blood";
3213    AttachedGod = CRUENTUS;
3214  }
3215
3216  /* Catacomb golems */
3217  Config HUMAN_NAIL;
3218  {
3219    Adjective = "human nail";
3220    IsCatacombCreature = true;
3221    AttachedGod = SCABIES;
3222  }
3223
3224  Config BONE;
3225  {
3226    Adjective = "bone";
3227    IsCatacombCreature = true;
3228    AttachedGod = INFUSCOR;
3229  }
3230
3231  Config WRAITH_BONE;
3232  {
3233    Adjective = "wraith bone";
3234    IsCatacombCreature = true;
3235    AttachedGod = INFUSCOR;
3236  }
3237
3238  Config HUMAN_SKIN;
3239  {
3240    Adjective = "human skin";
3241    IsCatacombCreature = true;
3242    AttachedGod = SCABIES;
3243  }
3244
3245  Config PETRIFIED_DARK;
3246  {
3247    Adjective = "petrified darkness";
3248    IsCatacombCreature = true;
3249    AttachedGod = MORTIFER;
3250  }
3251
3252  Config BLOOD;
3253  {
3254    Adjective = "blood";
3255    IsCatacombCreature = true;
3256    AttachedGod = CRUENTUS;
3257  }
3258
3259  /* The following golems are only summoned by wizards. */
3260
3261  Config EVIL_WONDER_STAFF_VAPOUR;
3262  {
3263    CanBeGenerated = false;
3264    Adjective = "mysterious red gas";
3265    AttachedGod = INFUSCOR;
3266  }
3267
3268  Config MAGIC_VAPOUR;
3269  {
3270    CanBeGenerated = false;
3271    Adjective = "raw vapourized magic";
3272    AttachedGod = INFUSCOR;
3273  }
3274
3275  Config MUSTARD_GAS;
3276  {
3277    CanBeGenerated = false;
3278    Adjective = "mustard gas";
3279    AttachedGod = INFUSCOR;
3280  }
3281
3282  Config SLEEPING_GAS;
3283  {
3284    CanBeGenerated = false;
3285    Adjective = "sleeping gas";
3286    AttachedGod = INFUSCOR;
3287  }
3288
3289  Config TELEPORT_GAS;
3290  {
3291    CanBeGenerated = false;
3292    Adjective = "warp gas";
3293    AttachedGod = INFUSCOR;
3294  }
3295}
3296
3297canine
3298{
3299  IsAbstract = true;
3300  ConsumeFlags = CT_FRUIT|CT_MEAT|CT_LIQUID|CT_PROCESSED|CT_BONE;
3301  AttackStyle = USE_HEAD;
3302  KnownCWeaponSkills == BITE;
3303  HostileReplies =
3304  {
3305    3,
3306    "@Dd lets out a hostile howl.",
3307    "@Dd barks in fury.",
3308    "@Dd growls madly.";
3309
3310  }
3311  FriendlyReplies =
3312  {
3313    5,
3314    "@Dd growls.",
3315    "@Dd howls.",
3316    "@Dd yips.",
3317    "@Dd whines.",
3318    "@Dd barks.";
3319  }
3320}
3321
3322wolf /* canine-> */
3323{
3324  DefaultArmStrength = 10;
3325  DefaultAgility = 25;
3326  DefaultEndurance = 10;
3327  DefaultPerception = 24;
3328  DefaultIntelligence = 7;
3329  DefaultWillPower = 5;
3330  DefaultWisdom = 5;
3331  DefaultCharisma = 10;
3332  DefaultMana = 0;
3333  TotalVolume = 40000;
3334  TorsoBitmapPos = 224, 0;
3335  TotalSize = 100;
3336  /* SkinColor overridden */
3337  NameSingular = "wolf";
3338  NamePlural = "wolves";
3339  BaseBiteStrength = 600;
3340  CanBeGenerated = true;
3341  CWeaponSkillHits == 200;
3342  ClassStates = INFRA_VISION;
3343  FleshMaterial = WOLF_FLESH;
3344  AttachedGod = SILVA;
3345  DeathMessage = "@Dd howls one last time and dies.";
3346
3347  Config DIRE;
3348  {
3349    AttributeBonus = 50;
3350    TotalVolume = 120000;
3351    TotalSize = 150;
3352    Adjective = "dire";
3353    TorsoSpecialColor = rgb16(220, 0, 0); /* EyeColor */
3354    BaseBiteStrength = 900;
3355    CWeaponSkillHits == 600;
3356    AllowedDungeons == DARK_FOREST;
3357  }
3358}
3359
3360dog /* canine-> */
3361{
3362  DefaultArmStrength = 5;
3363  DefaultAgility = 15;
3364  DefaultEndurance = 8;
3365  DefaultPerception = 18;
3366  DefaultIntelligence = 5;
3367  DefaultWillPower = 5;
3368  DefaultWisdom = 5;
3369  DefaultCharisma = 15;
3370  DefaultMana = 0;
3371  TotalVolume = 20000;
3372  TorsoBitmapPos = 240, 16;
3373  /* FriendlyReplies overridden */
3374  TotalSize = 70;
3375  SkinColor = rgb16(111, 74, 37);
3376  NameSingular = "puppy";
3377  NamePlural = "puppies";
3378  BaseBiteStrength = 350;
3379  CanBeGenerated = true;
3380  CWeaponSkillHits == 20;
3381  FleshMaterial = DOG_FLESH;
3382  AttachedGod = SILVA;
3383  Alias == "dog";
3384  DeathMessage = "@Dd is killed. You feel sad for a moment, but then it passes.";
3385  ScienceTalkAdjectiveAttribute =
3386  {
3387    16,
3388    "arf", "r-ruff", "bark", "woof", "rowf",
3389    "yip", "yap", "yelp", "[fart]", "snarl",
3390    "bow-wow", "AHROUFF", "WOOF", "BARK", "grrrrrrr",
3391    "aaaaoooooooooooo";
3392  }
3393  ScienceTalkSubstantiveAttribute =
3394  {
3395    16,
3396    "arf", "r-ruff", "bark", "woof", "rowf",
3397    "yip", "yap", "yelp", "[fart]", "snarl",
3398    "bow-wow", "AHROUFF", "WOOF", "BARK", "grrrrrrr",
3399    "aaaaoooooooooooo";
3400  }
3401  ScienceTalkPrefix == "";
3402  ScienceTalkName =
3403  {
3404    16,
3405    "arf", "r-ruff", "bark", "woof", "rowf",
3406    "yip", "yap", "yelp", "[fart]", "snarl",
3407    "bow-wow", "AHROUFF", "WOOF", "BARK", "grrrrrrr",
3408    "aaaaoooooooooooo";
3409  }
3410  ScienceTalkPossibility = 90;
3411  ScienceTalkIntelligenceModifier = 1;
3412  ScienceTalkWisdomModifier = 2;
3413  ScienceTalkIntelligenceRequirement = 3;
3414  ScienceTalkWisdomRequirement = 4;
3415
3416  Config SKELETON_DOG;
3417  {
3418    DefaultEndurance = 9;
3419    DefaultCharisma = 5;
3420    TorsoBitmapPos = 400, 0;
3421    SkinColor = rgb16(200, 200, 200);
3422    PanicLevel = 0;
3423    FleshMaterial = BONE;
3424    DeathMessage = "@Dd is transformed into a crumpled heap of bones.";
3425    SpillsBlood = false;
3426    Sweats = false;
3427    UsesNutrition = false;
3428    AttachedGod = MORTIFER;
3429    ClassStates = GAS_IMMUNITY;
3430    IsExtraFragile = true;
3431    IgnoreDanger = true;
3432    CanChoke = false;
3433    IsCatacombCreature = true;
3434    IsUndead = true;
3435    UndeadVersions = false;
3436    CreateUndeadConfigurations = true;
3437    UndeadAttributeModifier = 75;
3438    UndeadVolumeModifier = 25;
3439    UndeadCopyMaterials = false;
3440    Adjective = "skeleton";
3441    BaseBiteStrength = 800;
3442    CWeaponSkillHits == 80;
3443    AllowedDungeons = { 3, XINROCH_TOMB, ATTNAM, PYRAMID; }
3444    Frequency = 2000;
3445  }
3446}
3447
3448spider
3449{
3450  DefaultMana = 0;
3451  BloodMaterial = SPIDER_BLOOD;
3452  CanOpen = false;
3453  SkinColor = rgb16(64, 64, 100);
3454  TorsoMainColor = rgb16(30, 30, 30);
3455  TorsoBitmapPos = 256, 0;
3456  NameSingular = "spider";
3457  AttackStyle = USE_HEAD;
3458  CanBeGenerated = true;
3459  ClassStates = INFRA_VISION;
3460  KnownCWeaponSkills == BITE;
3461  FleshMaterial = SPIDER_FLESH;
3462  AttachedGod = SCABIES;
3463  BiteCapturesBodyPart = false;
3464  AutomaticallySeen = true;
3465  IsImmuneToStickiness = true;
3466  DangerModifier = 25;
3467  IsAbstract = true;
3468  IsCatacombCreature = true;
3469  HostileReplies == "@Dd stridulates wildly, producing a small creaking noise.";
3470  FriendlyReplies == "@Dd stridulates softly, producing a barely audible but quite comfortable noise.";
3471
3472  Config LARGE;
3473  {
3474    DefaultArmStrength = 2;
3475    DefaultAgility = 5;
3476    DefaultEndurance = 4;
3477    DefaultPerception = 9;
3478    DefaultIntelligence = 3;
3479    DefaultWillPower = 3;
3480    DefaultWisdom = 3;
3481    DefaultCharisma = 4;
3482    Adjective = "large";
3483    TorsoBitmapPos = 304, 16;
3484    BaseBiteStrength = 400;
3485    CWeaponSkillHits == 50;
3486    TotalVolume = 500;
3487    TotalSize = 10;
3488    HostileReplies == "@Dd isn't interested in negotiation with you.";
3489    FriendlyReplies == "@Dd ignores your small talk.";
3490  }
3491
3492  Config GIANT;
3493  {
3494    DefaultArmStrength = 4;
3495    DefaultAgility = 10;
3496    DefaultEndurance = 12;
3497    DefaultPerception = 15;
3498    DefaultIntelligence = 4;
3499    DefaultWillPower = 4;
3500    DefaultWisdom = 4;
3501    DefaultCharisma = 5;
3502    Adjective = "giant";
3503    BaseBiteStrength = 400;
3504    CWeaponSkillHits == 50;
3505    TotalVolume = 5000;
3506    TotalSize = 50;
3507  }
3508
3509  Config ARANEA;
3510  {
3511    DefaultArmStrength = 18;
3512    DefaultAgility = 26;
3513    DefaultEndurance = 18;
3514    DefaultPerception = 26;
3515    DefaultIntelligence = 8;
3516    DefaultWillPower = 14;
3517    DefaultWisdom = 14;
3518    DefaultCharisma = 8;
3519    Adjective = "aranea";
3520    SkinColor = rgb16(164, 64, 64);
3521    BaseBiteStrength = 400;
3522    CWeaponSkillHits == 150;
3523    TotalVolume = 5000;
3524    TotalSize = 50;
3525    Frequency = 0;
3526  }
3527
3528  Config PHASE;
3529  {
3530    DefaultArmStrength = 20;
3531    DefaultAgility = 24;
3532    DefaultEndurance = 20;
3533    DefaultPerception = 20;
3534    DefaultIntelligence = 24;
3535    DefaultWillPower = 8;
3536    DefaultWisdom = 8;
3537    DefaultCharisma = 14;
3538    DefaultMana = 14;
3539    Adjective = "phase";
3540    SkinColor = rgb16(64, 164, 64);
3541    BaseBiteStrength = 400;
3542    CWeaponSkillHits == 150;
3543    TotalVolume = 5000;
3544    TotalSize = 50;
3545    Frequency = 10;
3546    PanicLevel = 50;
3547    ClassStates = ETHEREAL_MOVING|TELEPORT|INVISIBLE|ESP;
3548  }
3549
3550  Config GIANT_GOLD;
3551  {
3552    DefaultArmStrength = 18;
3553    DefaultAgility = 26;
3554    DefaultEndurance = 18;
3555    DefaultPerception = 26;
3556    DefaultIntelligence = 8;
3557    DefaultWillPower = 14;
3558    DefaultWisdom = 14;
3559    DefaultCharisma = 8;
3560    DefaultMana = 14;
3561    Adjective = "giant gold";
3562    SkinColor = rgb16(224, 224, 0);
3563    BaseBiteStrength = 400;
3564    CWeaponSkillHits == 150;
3565    AttachedGod = INFUSCOR;
3566    TotalVolume = 5000;
3567    TotalSize = 50;
3568    Frequency = 1;
3569    IsCatacombCreature = false;
3570  }
3571}
3572
3573jackal /* canine-> */
3574{
3575  DefaultArmStrength = 3;
3576  DefaultAgility = 12;
3577  DefaultEndurance = 6;
3578  DefaultPerception = 18;
3579  DefaultIntelligence = 5;
3580  DefaultWillPower = 5;
3581  DefaultWisdom = 5;
3582  DefaultCharisma = 7;
3583  DefaultMana = 0;
3584  TotalVolume = 15000;
3585  TorsoBitmapPos = 304, 0;
3586  TotalSize = 80;
3587  SkinColor = rgb16(255, 255, 255);
3588  NameSingular = "jackal";
3589  AttackStyle = USE_HEAD;
3590  BaseBiteStrength = 300;
3591  CanBeGenerated = true;
3592  KnownCWeaponSkills == BITE;
3593  CWeaponSkillHits == 50;
3594  FleshMaterial = JACKAL_FLESH;
3595  AttachedGod = SILVA;
3596}
3597
3598ass
3599{
3600  DefaultArmStrength = 20;
3601  DefaultAgility = 4;
3602  DefaultEndurance = 15;
3603  DefaultPerception = 15;
3604  DefaultIntelligence = 5;
3605  DefaultWillPower = 5;
3606  DefaultWisdom = 5;
3607  DefaultCharisma = 5;
3608  DefaultMana = 0;
3609  TotalVolume = 40000;
3610  TorsoBitmapPos = 288, 0;
3611  HostileReplies == "@Dd brays angrily.";
3612  FriendlyReplies == "@Dd brays cheerfully.";
3613  TotalSize = 150;
3614  SkinColor = rgb16(80, 80, 80);
3615  Adjective = "mutant";
3616  NameSingular = "ass";
3617  NamePlural = "asses";
3618  AttackStyle = USE_HEAD;
3619  BaseBiteStrength = 150;
3620  CanBeGenerated = true;
3621  KnownCWeaponSkills == BITE;
3622  CWeaponSkillHits == 20;
3623  FleshMaterial = MUTANT_ASS_FLESH;
3624  DeathMessage = "@Dd neighs one last time and dies.";
3625  BaseEmitation = rgb24(140, 100, 100);
3626  Alias == "donkey";
3627  AttachedGod = SCABIES;
3628  AutomaticallySeen = true;
3629  WillCarryItems = true;
3630  BloodMaterial = GLOWING_BLOOD;
3631  ConsumeFlags = CT_FRUIT|CT_LIQUID|CT_MISC_PLANT|CT_PROCESSED;
3632}
3633
3634communist /* Ivan */
3635{
3636  DefaultArmStrength = 40;
3637  DefaultLegStrength = 40;
3638  DefaultDexterity = 20;
3639  DefaultAgility = 20;
3640  DefaultEndurance = 30;
3641  DefaultPerception = 18;
3642  DefaultIntelligence = 7;
3643  DefaultWillPower = 18;
3644  DefaultWisdom = 6;
3645  DefaultCharisma = 10;
3646  DefaultMana = 5;
3647  CriticalModifier = 4;
3648  IsNameable = false;
3649  ArmSpecialColor = rgb16(160, 0, 0);
3650  BeltColor = rgb16(32, 32, 32);
3651  ClothColor = rgb16(64, 56, 24);
3652  HeadBitmapPos = 96, 176;
3653  TorsoBitmapPos = 32, 144;
3654  ArmBitmapPos = 64, 112;
3655  LegBitmapPos = 0, 0;
3656  TotalVolume = 120000;
3657  TotalSize = 230;
3658  CanRead = true;
3659  NameSingular = "communist";
3660  Alias == "Ivan";
3661  ClassStates = INFRA_VISION;
3662  Helmet = helmet(GOROVITS_FAMILY_GAS_MASK);
3663  Cloak = OMMEL_HAIR cloak(CLOAK_OF_ELECTRICITY_RESISTANCE) { Enchantment = 2; }
3664  BodyArmor = KEVLAR bodyarmor(PLATE_MAIL) { Enchantment = 2; }
3665  Belt = TROLL_HIDE belt { Enchantment = 2; }
3666  RightWielded = gorovitsweapon(GOROVITS_HAMMER);
3667  LeftWielded = gorovitsweapon(GOROVITS_SICKLE);
3668  RightRing = ring(RING_OF_FIRE_RESISTANCE);
3669  LeftRing = ring(RING_OF_POISON_RESISTANCE);
3670  KnownCWeaponSkills = { 5, UNARMED, SMALL_SWORDS, BLUNT_WEAPONS, AXES, POLE_ARMS; }
3671  CWeaponSkillHits = { 5, 100, 200, 200, 100, 100; }
3672  RightSWeaponSkillHits = 100;
3673  LeftSWeaponSkillHits = 100;
3674  RightGauntlet = PHOENIX_FEATHER gauntlet { Enchantment = 2; }
3675  RightBoot = STEEL boot(BOOT_OF_AGILITY) { Enchantment = 2; }
3676  PanicLevel = 33;
3677  Inventory = { 3, lantern, fiftymillionroubles, potion { SecondaryMaterial = VODKA; Times = 5; } }
3678  IsUnique = true;
3679  CanBeWished = true;
3680  DefaultName = "Ivan";
3681  DeathMessage = "@Dd falls groaning bravely: \"Party revenges @nu\"!";
3682  HostileReplies =
3683  {
3684    5,
3685    "\"Nu vse, tebe pizda!\"",
3686    "\"Otyebis ot menya!\"",
3687    "\"Ootebya nyet yayeesav!\"",
3688    "\"Zhopu porvu margala vikoliu!\"",
3689    "\"Schas po ebalu poluchish, suka!\"";
3690  }
3691  FriendlyReplies =
3692  {
3693    14,
3694    "\"Da, @nu like killing.\"",
3695    "\"@Nu ruski specialist.\"",
3696    "\"@Nu work. Else @nu nerve stapled.\"",
3697    "\"Party mean big weapons. @Nu like big weapons. @Nu kill for Party.\"",
3698    "\"CCCP roxxx.\"",
3699    "\"@Nu like throw Ladas. You want compete?\"",
3700    "\"Why AK not invented?\"",
3701    "\"@Nu buy kyber eyes. @Nu see in dark.\"",
3702    "\"Uncle Lenin live in Russia. Lenin strong guy. @Nu like.\"",
3703    "\"Vodka strong, meat rotten.\"",
3704    "\"@Nu gone through space-time portal. @Nu searches for stolen family treasure - exact replica of Lenin's mummy!\"",
3705    "\"You can always find party in Lunethia. But in Soviet Russia, Party can always find you!\"",
3706    "\"Vladimir @nu best buddy. @Nu meet Vladimir first in magic test area near Voktsovadil.\"",
3707    "\"Lenin want @nu kill capitalists!\"";
3708  }
3709  AttachedGod = LORICATUS;
3710  ConstantCommandFlags = FLEE_FROM_ENEMIES;
3711  IsEnormous = true;
3712  ScienceTalkName =
3713  {
3714    21,
3715    "materialism", "marxism", "leninism", "stalinism", "socialism",
3716    "castroism", "maoism", "trotskyism", "anticapitalism", "agriculture",
3717    "communism", "atheism", "hoxhaism", "class struggles", "socialist art",
3718    "communitarianism", "bolshevism", "sickle smithing", "ballistics", "weaponry",
3719    "vodka distillation";
3720  }
3721  ScienceTalkPossibility = 25;
3722  ScienceTalkIntelligenceModifier = 10;
3723  ScienceTalkWisdomModifier = 25;
3724  ScienceTalkIntelligenceRequirement = 3;
3725  ScienceTalkWisdomRequirement = 3;
3726  IsAlcoholic = true;
3727}
3728
3729hunter
3730{
3731  DefaultArmStrength = 25;
3732  DefaultLegStrength = 15;
3733  DefaultDexterity = 15;
3734  DefaultAgility = 20;
3735  DefaultEndurance = 15;
3736  DefaultPerception = 24;
3737  DefaultIntelligence = 10;
3738  DefaultWillPower = 10;
3739  DefaultWisdom = 10;
3740  DefaultCharisma = 15;
3741  DefaultMana = 5;
3742  ClothColor = rgb16(128, 80, 48);
3743  BeltColor = rgb16(144, 96, 60);
3744  BootColor = rgb16(90, 50, 10);
3745  HeadBitmapPos = 96, 192;
3746  TorsoBitmapPos = 32, 192;
3747  ArmBitmapPos = 64, 128;
3748  LegBitmapPos = 0, 96;
3749  TotalVolume = 80000;
3750  TotalSize = 180;
3751  NameSingular = "hunter";
3752  Helmet = HARDENED_LEATHER helmet;
3753  Cloak = LEATHER cloak;
3754  BodyArmor = TROLL_HIDE bodyarmor(PLATE_MAIL);
3755  RightWielded = IRON meleeweapon(SPEAR);
3756  RightGauntlet = LEATHER gauntlet;
3757  LeftGauntlet = 0;
3758  RightBoot = HARDENED_LEATHER boot;
3759  KnownCWeaponSkills == POLE_ARMS;
3760  CWeaponSkillHits == 200;
3761  RightSWeaponSkillHits = 200;
3762  PanicLevel = 20;
3763  Inventory == beartrap;
3764  HostileReplies == "\"Your head will look fine above my fireplace!\"";
3765  FriendlyReplies =
3766  {
3767    5,
3768    "\"A man is not a man unless he has lost his left arm in a battle against a polar bear.\"",
3769    "\"Bears, ogres, slaves, farmers... Ah, there's so much to hunt here!\"",
3770    "\"I am the Great White Hunter. Get out of My way!\"",
3771    "\"I saw a communist visiting the city a few days past. I'm now organising a party to seek and hunt him down.\"",
3772    "\"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!\"";
3773  }
3774  AttachedGod = LORICATUS;
3775  ScienceTalkAdjectiveAttribute =
3776  {
3777    16,
3778    "!hunting", "!laying traps for", "!tracking", "!stuffing", "!techniques of slaying",
3779    "!the locations of the vital organs of", "!the joy of defeating", "!capturing", "!ambushing", "!sharpshooting",
3780    "!preemptively striking against", "!ridding the world of all", "!skinning", "!lynching", "!eliminating the threat of",
3781    "!chasing";
3782  }
3783  ScienceTalkSubstantiveAttribute =
3784  {
3785    17,
3786    "black", "dangerous", "baby", "young", "wild",
3787    "fierce", "endangered", "mad", "rare", "giant",
3788    "evil", "malicious", "injured", "weak", "tasty",
3789    "sick", "fat";
3790  }
3791  ScienceTalkPrefix == "";
3792  ScienceTalkName =
3793  {
3794    74,
3795    "slaves", "farmers", "communists", "prisoners", "witches",
3796    "goblins", "orcs", "kobolds", "gibberlings", "stray cats",
3797    "neighbour's pets", "reindeer", "deer", "elk", "moose",
3798    "bears", "polar bears", "mammoths", "ducks", "mules",
3799    "cows", "levitating ostriches", "ankhegs", "rabbits", "fish",
3800
3801    "wolves", "hamsters", "vegetables", "moles", "lemmings",
3802    "hedgehogs", "foxes", "vixens", "beavers", "geese",
3803    "wives", "women", "lice", "oxen", "wildebeest",
3804    "grouse", "roe", "sheep", "rhinoceros", "heathen",
3805    "chamois", "mushrooms", "hippopotami", "dwarves", "elves",
3806
3807    "land octopi", "outlaws", "bunnies", "jackals", "hippies",
3808    "bats", "scientists", "dragons", "goats", "falcons",
3809    "ravens", "trolls", "werewolves", "zombies", "Siberian tigers",
3810    "gnus", "llamas", "nerds", "people you don't like", "squirrels",
3811    "flying squirrels", "lynxes", "chickens", "democrats";
3812  }
3813  ScienceTalkPossibility = 85;
3814  ScienceTalkIntelligenceModifier = 2;
3815  ScienceTalkWisdomModifier = 1;
3816  ScienceTalkIntelligenceRequirement = 6;
3817  ScienceTalkWisdomRequirement = 3;
3818  IsSadist = true;
3819
3820  Config IMPRISONED_HUNTER;
3821  {
3822    UsesLongAdjectiveArticle = true;
3823    Adjective = "imprisoned";
3824    CanBeGenerated = false;
3825    AttributeBonus = -10;
3826    TotalVolume = 72000;
3827    Helmet = 0;
3828    BodyArmor = 0;
3829    RightWielded = 0;
3830    KnownCWeaponSkills = { 2, UNARMED, POLE_ARMS; }
3831    Inventory == bone;
3832    IsMasochist = true;
3833    HostileReplies == "\"Prison, torture and starvation didn't kill me, neither will you!\"";
3834    FriendlyReplies =
3835    {
3836      5,
3837      "\"Where's my arm? Gah, ask the master torturer!\"",
3838      "\"I'm innocent! That guy ran onto my spear! Twenty seven times. From behind.\"",
3839      "\"I was the Great White Hunter. Oh, how I miss the old days of ceaseless slaughter! Eh-heh heh.\"",
3840      "\"It wasn't my fault. That bastard had it coming. He should have remembered the rules: No kill stealing!\"",
3841      "\"I miss hunting. Sometimes I tear open my own flesh, just to see the vivid red of blood on my hands again. Eh-heh heh heh.\"";
3842    }
3843    UndeadVersions = false;
3844    ScienceTalkIntelligenceModifier = 10;
3845    ScienceTalkWisdomModifier = 5;
3846  }
3847}
3848
3849bear
3850{
3851  DefaultArmStrength = 50;
3852  DefaultAgility = 15;
3853  DefaultEndurance = 20;
3854  DefaultPerception = 15;
3855  DefaultIntelligence = 8;
3856  DefaultWillPower = 8;
3857  DefaultWisdom = 10;
3858  DefaultCharisma = 15;
3859  DefaultMana = 0;
3860  TorsoBitmapPos = 336, 0;
3861  HostileReplies == "@Dd growls madly.";
3862  FriendlyReplies == "@Dd growls happily.";
3863  NameSingular = "bear";
3864  AttackStyle = USE_HEAD|USE_ARMS;
3865  BaseUnarmedStrength = 600;
3866  KnownCWeaponSkills = { 2, UNARMED, BITE; }
3867  CWeaponSkillHits == 100;
3868  FleshMaterial = BEAR_FLESH;
3869  DeathMessage = "@Dd groans terribly and falls dead to the ground.";
3870  AttachedGod = SILVA;
3871  IsAbstract = true;
3872  ConsumeFlags = CT_FRUIT|CT_MEAT|CT_LIQUID|CT_PROCESSED|CT_BONE|CT_MISC_PLANT|CT_MISC_ANIMAL;
3873
3874  Config PANDA_BEAR;
3875  {
3876    Adjective = "panda";
3877    SkinColor = rgb16(80, 80, 80);
3878    CanBeGenerated = true;
3879    TotalVolume = 125000;
3880    TotalSize = 125;
3881    AttributeBonus = -35;
3882    TorsoBitmapPos = 192, 16;
3883    DeathMessage = "@Dd groans terribly and falls dead to the ground. You feel really bad for endangering this species.";
3884    Frequency = 100;
3885    ConsumeFlags = CT_FRUIT|CT_LIQUID|CT_MISC_PLANT;
3886  }
3887
3888  Config BLACK_BEAR;
3889  {
3890    Adjective = "black";
3891    SkinColor = rgb16(80, 80, 80);
3892    CanBeGenerated = true;
3893    TotalVolume = 150000;
3894    TotalSize = 150;
3895    AttributeBonus = -30;
3896  }
3897
3898  Config GRIZZLY_BEAR;
3899  {
3900    Adjective = "grizzly";
3901    SkinColor = rgb16(140, 80, 40);
3902    CanBeGenerated = true;
3903    TotalVolume = 200000;
3904    TotalSize = 200;
3905    AttributeBonus = -15;
3906  }
3907
3908  Config CAVE_BEAR;
3909  {
3910    Adjective = "cave";
3911    SkinColor = rgb16(170, 130, 90);
3912    CanBeGenerated = true;
3913    TotalVolume = 250000;
3914    TotalSize = 250;
3915    IsEnormous = true;
3916  }
3917
3918  Config POLAR_BEAR;
3919  {
3920    Adjective = "polar";
3921    SkinColor = rgb16(240, 240, 240);
3922    TotalVolume = 300000;
3923    TotalSize = 300;
3924    AttributeBonus = 15;
3925    IsEnormous = true;
3926  }
3927
3928  Config MUTANT_BEAR;
3929  {
3930    Adjective = "mutant";
3931    SkinColor = rgb16(120, 160, 100);
3932    TotalVolume = 300000;
3933    TotalSize = 350;
3934    AttributeBonus = 20;
3935    IsEnormous = true;
3936    TorsoSpecialColor = rgb16(255, 128, 128); /* EyeColor */
3937    BloodMaterial = GLOWING_BLOOD;
3938    HostileReplies =
3939    {
3940      4,
3941      "\"We are bad news.\"",
3942      "\"One bear to rule them all.\"",
3943      "\"The time of ape-kind is over. We shall rise, we shall conquer. Soon, bear-kind shall reign over the whole world!\"",
3944      "@Dd roars!";
3945    }
3946  }
3947}
3948
3949dolphin
3950{
3951  DefaultArmStrength = 10;
3952  DefaultAgility = 30;
3953  DefaultEndurance = 10;
3954  DefaultPerception = 30;
3955  DefaultIntelligence = 100;
3956  DefaultWillPower = 30;
3957  DefaultWisdom = 100;
3958  DefaultCharisma = 30;
3959  DefaultMana = 0;
3960  StandVerb = "rolling"; /* only shown if not swimming */
3961  CanOpen = false;
3962  MoveType = SWIM;
3963  TotalVolume = 150000;
3964  TorsoBitmapPos = 320, 0;
3965  HostileReplies == "@Dd peeps diabolically to you.";
3966  FriendlyReplies == "@Dd peeps passionately to you.";
3967  DeathMessage = "@Dd peeps, dying: \"Every petal must fall...\"";
3968  TotalSize = 300;
3969  SkinColor = rgb16(144, 144, 144);
3970  TorsoSpecialColor = rgb16(100, 100, 255); /* EyeColor */
3971  NameSingular = "dolphin";
3972  AttackStyle = USE_HEAD;
3973  BaseBiteStrength = 200;
3974  HasALeg = false;
3975  IsAbstract = true;
3976  FleshMaterial = DOLPHIN_FLESH;
3977  AttachedGod = SOPHOS;
3978  ForceVomitMessage = "You push your fin down to your throat and vomit.";
3979  ScienceTalkPossibility = 100;
3980  ScienceTalkIntelligenceModifier = 1000;
3981  ScienceTalkWisdomModifier = 1000;
3982  ScienceTalkIntelligenceRequirement = 50;
3983  ScienceTalkWisdomRequirement = 50;
3984
3985  Config ADULT_MALE;
3986  {
3987    Adjective = "male";
3988    FriendlyReplies =
3989    {
3990      7,
3991      "@Dd peeps: \"A soft rain drips down, The trees whisper in the wind, Sounds eclipsed by screams.\"",
3992      "@Dd peeps: \"From the gloomy cave, A great dark frog leaps at us, The sound of slaughter.\"",
3993      "@Dd peeps: \"White destroyed by red, On ground drenched in many bloods, This peace is final.\"",
3994      "@Dd peeps: \"Silence reigns bloody, Through deep caves gloomy and dim, A faint sobbing comes.\"",
3995      "@Dd peeps: \"The adventurer, Lost in the womb of the earth, Braves the evil dark.\"",
3996      "@Dd peeps: \"Deep in the cavern, Dark, cold, gloomy, forbidden, Big hungry nightmare.\"",
3997      "@Dd peeps: \"Hammers echoing, Shining steel weapons are born, Sorrow they shall sow.\"";
3998    }
3999    Sex = MALE;
4000  }
4001
4002  Config ADULT_FEMALE;
4003  {
4004    Adjective = "female";
4005    PostFix = "in season";
4006    FriendlyReplies =
4007    {
4008      7,
4009      "@Dd peeps: \"Rain in the forest.\"",
4010      "@Dd peeps: \"Summer before the Fall.\"",
4011      "@Dd peeps: \"The tide rises and the tide falls.\"",
4012      "@Dd peeps: \"Empty shells rolling in the surf.\"",
4013      "@Dd peeps: \"No sparrow lives that cannot fly.\"",
4014      "@Dd peeps: \"Mountains defy the consuming sea.\"",
4015      "@Dd peeps: \"Blood in the water.\"";
4016    }
4017    Sex = FEMALE;
4018  }
4019}
4020
4021slave
4022{
4023  DefaultArmStrength = 25;
4024  DefaultLegStrength = 25;
4025  DefaultDexterity = 15;
4026  DefaultAgility = 15;
4027  DefaultEndurance = 20;
4028  DefaultPerception = 15;
4029  DefaultIntelligence = 15;
4030  DefaultWillPower = 15;
4031  DefaultWisdom = 20;
4032  DefaultCharisma = 10;
4033  DefaultMana = 5;
4034  SkinColor = rgb16(128, 80, 48);
4035  HairColor = rgb16(80, 48, 32);
4036  ClothColor = rgb16(56, 48, 20);
4037  TotalVolume = 60000;
4038  TotalSize = 160;
4039  NameSingular = "slave";
4040  KnownCWeaponSkills = { 2, UNARMED, BLUNT_WEAPONS; }
4041  CWeaponSkillHits = { 2, 100, 100; }
4042  DefaultMoney = 0;
4043  FriendlyReplies = /* used only if the slave has been bought */
4044  {
4045    6,
4046    "\"Whatever the master wants.\"",
4047    "\"What if we're ambushed in a dungeon like this?\"",
4048    "\"Will you make me a gladiator? I've heard they have all the fame and women!\"",
4049    "\"Work work work all day long. No, that was not a complaint! Don't punish!\"",
4050    "\"I love all my masters. At least when the whip is being washed.\"",
4051    "\"I am putting myself to the fullest possible use, which is all I think that any conscious entity can ever hope to do.\"";
4052  }
4053  DeathMessage = "@Dd whispers, dying: \"Honesta mors turpi vita potior!\"";
4054  AttachedGod = MELLIS;
4055  Inventory == 0;
4056  IsMasochist = true;
4057}
4058
4059petrusswife
4060{
4061  DefaultArmStrength = 7;
4062  DefaultLegStrength = 7;
4063  DefaultDexterity = 7;
4064  DefaultAgility = 7;
4065  DefaultEndurance = 7;
4066  DefaultPerception = 21;
4067  DefaultIntelligence = 8;
4068  DefaultWillPower = 10;
4069  DefaultWisdom = 10;
4070  DefaultCharisma = 80;
4071  DefaultMana = 20;
4072  Sex = FEMALE;
4073  BeltColor = rgb16(180, 180, 0);
4074  TorsoBitmapPos = 32, 160;
4075  ArmBitmapPos = 64, 160;
4076  LegBitmapPos = 0, 112;
4077  TotalVolume = 40000;
4078  TotalSize = 170;
4079  CanRead = true;
4080  NameSingular = "Petrus' wife";
4081  NamePlural = "Petrus' wives";
4082  ArticleMode = NO_ARTICLE;
4083  IsAbstract = true;
4084  PanicLevel = 95;
4085  BaseUnarmedStrength = 200;
4086  IsExtraCoward = true;
4087  WieldedPosition = 0, -1;
4088  HostileReplies == "\"Murderer! Just wait until Petrus finds you!\"";
4089  AttachedGod = DULCIS;
4090  WillCarryItems = false;
4091  IsExtraFragile = true;
4092  Belt = GOLD chastitybelt(OCTAGONAL_LOCK) { Parameters = LOCKED; }
4093  UndeadVersions = false;
4094  ScienceTalkPossibility = 10;
4095  ScienceTalkIntelligenceModifier = 2;
4096  ScienceTalkWisdomModifier = 2;
4097  ScienceTalkCharismaModifier = 5;
4098  ScienceTalkIntelligenceRequirement = 10;
4099  ScienceTalkWisdomRequirement = 10;
4100  ScienceTalkCharismaRequirement = 18;
4101  ScienceTalkName =
4102  {
4103    10,
4104    "marriage", "luxury", "jewelry", "embroidery", "hobbies",
4105    "leisure activities", "festivities", "apparel", "gowns", "boredom";
4106  }
4107
4108  Config 1;
4109  {
4110    HairColor = rgb16(24, 24, 24);
4111    ClothColor = rgb16(4, 93, 28);
4112    HeadBitmapPos = 112, 0;
4113    PostFix = "number 1";
4114    DefaultIntelligence = 40;
4115    DefaultWisdom = 40;
4116    HostileReplies == "\"Aut vincere aut mori!\"";
4117    FriendlyReplies =
4118    {
4119      6,
4120      "\"I'm not Petrus' first wife, only his eldest right now. He outlived nearly a dozen wives by now.\"",
4121      "\"Amicus veritas, sed magis amica mihi Petrus.\"",
4122      "\"I have written most Attnamese trade agreements, draft bills and international treaties for the past twenty years. But don't tell Petrus, he would be mad.\"",
4123      "\"Oh, you come from Tweraif? I've heard so much about local University!\"",
4124      "\"You met professor Kaethos?! I have read everything he ever wrote! I would love to meet him some day and discuss his theory of thaumic superunification.\"",
4125      "\"I wed Petrus because it made access to education much easier for me. And you know what? I eventually fell in love with him.\"";
4126    }
4127    DeathMessage = "With a calm face, @Dd whispers, dying: \"Dulce et decorum est pro patria mori.\"";
4128    ScienceTalkIntelligenceModifier = 25;
4129    ScienceTalkWisdomModifier = 25;
4130    ScienceTalkIntelligenceRequirement = 20;
4131    ScienceTalkWisdomRequirement = 20;
4132    ScienceTalkCharismaRequirement = 10;
4133    ScienceTalkName =
4134    {
4135      225,
4136      "sanitation", "relativity", "physics", "mathematics", "philosophy",
4137      "numerology", "slavery", "mechanics", "magicks", "architecture",
4138      "archaeology", "logic", "fiction", "questions", "theology",
4139      "alchemy", "valpurism", "analysis", "gastronomy", "oceanography",
4140      "astronomy", "astrology", "anthropology", "ethics", "linguistics",
4141
4142      "psychology", "methods", "choreography", "music", "semiotics",
4143      "culture", "forestry", "engineering", "journalism", "agriculture",
4144      "ergonomics", "sagas", "pedagogy", "apiculture", "aquaculture",
4145      "horticulture", "silviculture", "law", "dentistry", "surgery",
4146      "rocketry", "fission", "pharmacy", "dogmatics", "cartography",
4147
4148      "gerontology", "formalism", "feminism", "communism", "flight",
4149      "cricket", "rhetorics", "navigation", "sculpture", "literature",
4150      "shamanism", "painting", "utilitarism", "grammar", "arithmetic",
4151      "algebra", "marxism", "capitalism", "behaviorism", "causality",
4152      "folklore", "legends", "animism", "spiritualism", "idolatry",
4153
4154      "constructions", "currency", "riding", "federalism", "monarchy",
4155      "medicine", "tradition", "chivalry", "righteousness", "banking",
4156      "gravity", "metallurgy", "magnetism", "nationalism", "industry",
4157      "pollution", "espionage", "corporations", "particles", "transportation",
4158      "refining", "combustion", "colonization", "steel", "materials",
4159
4160      "hallucinations", "armours", "trance", "afterlife", "paradigms",
4161      "customer support", "virginity", "zoology", "witchcraft", "wine",
4162      "claustrophobia", "eddies", "vegetables", "mobility", "eudaimoia",
4163      "ablutophobia", "palindromes", "jokes", "materialism", "surfaces",
4164      "acarophobia", "energy", "momentum", "mushrooms", "brains",
4165
4166      "selenophobia", "alloys", "equations", "bombs", "fashion",
4167      "taurophobia", "naturism", "nirvana", "drugs", "everything",
4168      "ranidaphobia", "horror", "sightseeing", "marriage", "mirages",
4169      "phronemophobia", "cancer", "scrofula", "depression", "air power",
4170      "phallophobia", "romance", "bondage", "interfaces", "software",
4171
4172      "pentheraphobia", "nations", "levitation", "tubes", "structures",
4173      "peladophobia", "travel", "meditation", "systems", "algorithms",
4174      "lachanophobia", "taxonomy", "taxidermy", "viruses", "bacteria",
4175      "epistaxiophobia", "camping", "resistance", "chauvinism", "fruits",
4176      "ephebiphobia", "simulation", "computers", "conductors", "fibers",
4177
4178      "coulrophobia", "defence", "broomsticks", "fusion", "power",
4179      "arachnophobia", "balls", "diseases", "universes", "weapons",
4180      "virtue", "immortality", "elevators", "marketing", "civilizations",
4181      "dreams", "anatomy", "reproduction", "calligraphy", "chess",
4182      "Go", "cooking", "altruism", "anomalities", "fishing",
4183
4184      "crime", "nonsense", "monsters", "thought control", "euthanasia",
4185      "genocide", "cremation", "waste disposal", "breeding", "eugenics",
4186      "minds", "lottery", "sterilization", "utopias", "perpetual motion",
4187      "dynamics", "entropy", "skepticism", "hoaxes", "creationism",
4188      "cold fusion", "execution",  "warfare", "miracles", "the truth";
4189    }
4190    AttachedGod = SOPHOS;
4191    PanicLevel = 20;
4192    IsExtraCoward = false;
4193  }
4194
4195  Config 2;
4196  {
4197    HairColor = rgb16(24, 24, 24);
4198    ClothColor = rgb16(65,105,225);
4199    HeadBitmapPos = 112, 16;
4200    PostFix = "number 2";
4201    FriendlyReplies =
4202    {
4203      8,
4204      "\"I'm so sick jealous of those dolphins...\"",
4205      "\"I'm Petrus' favorite, not No. 1!\"",
4206      "\"No. 3 once was here with her twin sister. I've heard that one of them cheated on Petrus and... I really shouldn't be telling you this.\"",
4207      "\"I have no idea what Petrus sees on No. 4! She's so dumb it hurts!\"",
4208      "\"I'm not sure I should be talking to you. No. 5 once said too much and... Well, she won't be using her tongue again.\"",
4209      "\"Petrus gave me a daughter, now I want to give him a son.\"",
4210      "\"If only I could be the one to give Petrus his firstborn son...\"",
4211      "\"That head on the wall looks really scary sometimes. Just like we were being watched.\"";
4212    }
4213    RightWielded = firstbornchild(FEMALE);
4214  }
4215
4216  Config 3;
4217  {
4218    HairColor = rgb16(48, 40, 8);
4219    ClothColor = rgb16(119,136,153);
4220    HeadBitmapPos = 112, 0;
4221    DefaultWillPower = 25;
4222    PostFix = "number 3";
4223    FriendlyReplies =
4224    {
4225      8,
4226      "\"Petrus also married my twin sister, but I haven't seen her around for some time.\"",
4227      "\"I despise Petrus. Surprised to hear me talk like that? He took away the love of my life, what worse can he do to me?\"",
4228      "\"I never loved Petrus. He knew it and that must be why he allowed me to fall in love with someone else. To torment me.\"",
4229      "\"After my transgression, why has Petrus never punished me? Does he think it's more cruel to leave me to rot in this harem?\"",
4230      "\"I once was a princess of a proud nomad tribe of the great eastern steppes. Me and my twin sister were wed to Petrus as a tribute of peace.\"",
4231      "\"I miss the smell of horses, the rhythm of their run. I remember me and my sister riding for hours, miles upon miles of pure joy and freedom.\"",
4232      "\"How I hate this gilded cage! I was born to feel the wind and rain on my face, not to sit in an armchair all day long, chitter and broider.\"",
4233      "\"You want to learn more about the four Cardinals? They are the most trusted knights and advisors of Petrus: a coward, a liar, a thief and a madman.\"";
4234    }
4235    PanicLevel = 20;
4236    IsExtraCoward = false;
4237    KnownCWeaponSkills == POLE_ARMS; /* she once was a warrior-princess */
4238    CWeaponSkillHits == 500;
4239    ScienceTalkName =
4240    {
4241      10,
4242      "hunting", "horses", "steppe", "trapping", "sharpshooting",
4243      "combat", "traditions", "storytelling", "freedom", "boredom";
4244    }
4245    BloodMaterial = BLUE_BLOOD;
4246  }
4247
4248  Config 4;
4249  {
4250    DefaultIntelligence = 4; /* she's blond */
4251    DefaultWisdom = 8;
4252    DefaultCharisma = 85;
4253    HairColor = rgb16(200, 96, 0);
4254    ClothColor = rgb16(150, 0, 0);
4255    HeadBitmapPos = 112, 32;
4256    PostFix = "number 4";
4257    FriendlyReplies =
4258    {
4259      8,
4260      "\"Uncle Petrus is so kind. After my father's house burned down because of the disargeement they had had, Petrus took me here and made me his wife!\"",
4261      "\"Uncle Petrus has a *massive* sword! Tee hee.\"",
4262      "\"I'm boooored!\"",
4263      "\"Have you heard No. 5? No, because she can't speak! Tee hee.\"",
4264      "\"Don't mind No. 3! She looks grumpy, but she has so many stories!\"",
4265      "\"No. 1 is so clever it's scary. Really!\"",
4266      "\"I got a pony for my twentieth birthday! Unfortunately I can't see her, because I can't leave the harem, but uncle Petrus told me she's beautiful!\"",
4267      "\"Uncle Petrus says I am special! He says it to all his wives, but I know he means it for me. Tee hee.\"";
4268    }
4269    ScienceTalkIntelligenceModifier = 0;
4270    ScienceTalkWisdomModifier = 0;
4271    ScienceTalkCharismaModifier = 50;
4272    ScienceTalkIntelligenceRequirement = 0;
4273    ScienceTalkWisdomRequirement = 0;
4274    ScienceTalkCharismaRequirement = 25;
4275  }
4276
4277  Config 5;
4278  {
4279    HairColor = rgb16(60, 48, 24);
4280    ClothColor = rgb16(255,255,255);
4281    HeadBitmapPos = 112, 48;
4282    PostFix = "number 5";
4283    FriendlyReplies == "@Dd remains silent.";
4284    HostileReplies == "@Dd scowls at you silently.";
4285    DeathMessage = "@Dd dies silently.";
4286    IsAlcoholic = true;
4287    ScienceTalkPossibility = 0;
4288  }
4289
4290  Config 6;
4291  {
4292    HairColor = rgb16(200, 0, 0);
4293    ClothColor = rgb16(148,0,211);
4294    HeadBitmapPos = 112, 64;
4295    PostFix = "number 6";
4296    FriendlyReplies =
4297    {
4298      6,
4299      "\"The day I became Petrus' wife was the best day of my life. And it haven't gotten worse since!\"",
4300      "\"Leave? Why would I want to leave? I have luxury here, servants - everything I can wish for. Outside, there is just poverty and grime.\"",
4301      "\"Why must Petrus stay in this forest? There isn't even a proper hairdresser here!\"",
4302      "\"No. 5 was babbling all the time, once. I couldn't stand it, but now the silence is even worse.\"",
4303      "\"Don't bother talking to No. 3, she's weird.\"",
4304      "\"Being one of six wives is a dream job. Pay is good and you only have to work about one night a week!\"";
4305    }
4306    IsMasochist = true; /* kinky! */
4307  }
4308
4309  Config 7;
4310  {
4311    HairColor = rgb16(48, 40, 8);
4312    ClothColor = rgb16(119,136,153);
4313    BeltColor = rgb16(105,105,105);
4314    HeadBitmapPos = 112, 0;
4315    DefaultWillPower = 5;
4316    Adjective = "re-educated";
4317    ArticleMode = 0;
4318    FriendlyReplies =
4319    {
4320      10,
4321      "@Dd says very loudly: \"All hail mighty Petrus.\"",
4322      "@Dd says with a nervous glance around: \"Praise Valpurus.\"",
4323      "@Dd stifles a smirk: \"I love the Cathedral.\"",
4324      "\"I may be only a few minutes older than my twin sister, but I'm still here to protect her, as older siblings should always do.\"",
4325      "\"I couldn't stand my dear sister being punished for falling in love. Petrus never could tell us apart, anyway.\"",
4326      "\"I hope they didn't catch the farmer. Maybe one day, my sister and him will escape. I wish they were happy together.\"",
4327      "\"I once was a princess of a proud nomad tribe of the great eastern steppes. Me and my twin sister were wed to Petrus as a tribute of peace.\"",
4328      "\"I miss the smell of horses, the rhythm of their run. I remember me and my sister riding for hours, miles upon miles of pure joy and freedom.\"",
4329      "\"How I hate this dank dungeon! I was born to feel the wind and rain on my face, not to sit in a small cell all day long, alone.\"",
4330      "\"How is my little sister doing?\"";
4331    }
4332    HostileReplies == "@Dd snickers: \"Be careful about damaging Petrus' property, he'll be angry.\"";
4333    DeathMessage = "@Dd dies with a last whisper: \"Curse you!\"";
4334    IsExtraCoward = false;
4335    IgnoreDanger = true;
4336    Belt = HEMP_CLOTH belt;
4337    KnownCWeaponSkills == POLE_ARMS; /* she once was a warrior-princess */
4338    CWeaponSkillHits == 500;
4339    ScienceTalkName =
4340    {
4341      10,
4342      "hunting", "horses", "steppe", "trapping", "sharpshooting",
4343      "combat", "traditions", "storytelling", "freedom", "boredom";
4344    }
4345    BloodMaterial = BLUE_BLOOD;
4346  }
4347}
4348
4349housewife
4350{
4351  DefaultArmStrength = 10;
4352  DefaultLegStrength = 10;
4353  DefaultDexterity = 15;
4354  DefaultAgility = 15;
4355  DefaultEndurance = 15;
4356  DefaultPerception = 24;
4357  DefaultIntelligence = 10;
4358  DefaultWillPower = 15;
4359  DefaultWisdom = 20;
4360  DefaultCharisma = 20;
4361  DefaultMana = 10;
4362  Sex = FEMALE;
4363  TorsoMainColor = rgb16(200, 200, 200);
4364  ArmMainColor = rgb16(100, 100, 100);
4365  LegMainColor = rgb16(180, 80, 0);
4366  /* HairColor is random */
4367  /* HeadBitmapPos is random */
4368  TorsoBitmapPos = 32, 160;
4369  ArmBitmapPos = 64, 160;
4370  LegBitmapPos = 0, 128;
4371  TotalVolume = 70000;
4372  TotalSize = 160;
4373  CanRead = true;
4374  CanBeGenerated = false;
4375  NameSingular = "housewife";
4376  NamePlural = "housewives";
4377  /* RightWielded overridden */
4378  KnownCWeaponSkills = { 2, UNARMED, UNCATEGORIZED; }
4379  CWeaponSkillHits = { 2, 50, 50; }
4380  BaseUnarmedStrength = 200;
4381  IsExtraCoward = true;
4382  HostileReplies == "\"Face my rolling pin! Graah!\"";
4383  AttachedGod = SEGES;
4384  WieldedPosition = 0, -1;
4385  FriendlyReplies =
4386  {
4387    6,
4388    "\"Can you help me find my husband? He is hiding somewhere. He's that farmer who's just been mugged with a frying pan.\"",
4389    "\"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?\"",
4390    "\"Wolves ate my seventh daughter last week. Damn. It'll take eight years to produce an equally good replacement worker.\"",
4391    "\"Petrus' wives are so arrogant towards us working class ones. Grr...\"",
4392    "\"Don't think too much, the Cardinals can hear you.\"",
4393    "\"If you men only knew!\"";
4394  }
4395  ScienceTalkPossibility = 20;
4396  ScienceTalkIntelligenceModifier = 2;
4397  ScienceTalkWisdomModifier = 5;
4398  ScienceTalkIntelligenceRequirement = 10;
4399  ScienceTalkWisdomRequirement = 10;
4400  ScienceTalkName =
4401  {
4402    15,
4403    "pregnancy", "housework", "housekeeping", "children", "cooking",
4404    "sex", "fertility", "jealousy", "cheating", "quantum physics",
4405    "cleaning", "laundering", "gossips", "snow", "wild animals";
4406  }
4407
4408  Config CULTIST;
4409  {
4410    AttributeBonus = 10;
4411    NameSingular = "cultist";
4412    TorsoBitmapPos = 48, 352;
4413    ArmBitmapPos = 80, 96;
4414    LegBitmapPos = 16, 160;
4415    TorsoMainColor = rgb16(50, 50, 50);
4416    ArmMainColor = rgb16(50, 50, 50);
4417    LegMainColor = rgb16(50, 50, 50);
4418    ClothColor = rgb16(50, 50, 50);
4419    BeltColor = rgb16(100, 100, 100);
4420    Cloak = HUMAN_SKIN cloak { Enchantment = 2; }
4421    /* RightWielded overridden */
4422    IsExtraCoward = false;
4423    IsSadist = true;
4424    AttachedGod = INFUSCOR;
4425    HostileReplies == "\"You dare desecrate the Tomb?!\"";
4426    FriendlyReplies =
4427    {
4428      31,
4429      "\"Praised be Cruentus!\"",
4430      "\"Praised be Infuscor!\"",
4431      "\"Blood for Cruentus! Souls for Infuscor!\"",
4432      "\"Long, long time ago, there was a War in Heavens. Valpurus rose to usurp the throne of Mortifer, then King of Gods, and eventually triumphed. After his armies conquered all Heavens, Valpurus murdered Mortifer and banished him into the darkness beyond stars.\"",
4433      "\"To prevent the destruction of the very world they were fighting for, Mortifer placed a powerful geas upon all gods that prevents them from ever entering the world. Thus, even the primordial War in Heavens was fought by the many priests and other servants the gods have acquired and empowered.\"",
4434      "\"The original Order of the Dark Knights was established by Cruentus nearly three millennia ago, to battle the knights templar of Valpurus during the ancient War in Heavens.\"",
4435      "\"Today, the dark knights have splintered into two distinct branches, the Unholy Order of Infuscor and the Dark Knights of Cruentus, plus a handful of fringe cults.\"",
4436      "\"All dark knights are still formally united under the leadership of a grand master dark knight, though how much do masters of each group heed the orders of their grand master depends entirely upon his or her power and authority.\"",
4437      "\"The name of the first grand master dark knight was lost to history, yet his deeds remain. Legends say he was more a daemon than a man. He even won the favour of Mortifer and was given the newly forged Neerc Se-ulb to wield against the swarming armies of Light.\"",
4438      "\"The first grand master dark knight led his armies from victory to victory, but pride was his undoing. Believing that none could defeat him, he challenged Pervetus, the high priest of Valpurus, to a duel. At first, it seemed to quickly be turning into another easy victory... until his mace-arm was severed.\"",
4439      "\"When the first grand master dark knight fell and Neerc Se-ulb was lost for a time, Mortifer vowed to never lend his mace again but to a true champion of Chaos. But Cruentus trusted in the power of his dark knights and the next grand master received the terrible halberd named Mjolak to crush all who would oppose the god of blood.\"",
4440      "\"The second grand master dark knight was a son of the first one. He swore an oath of revenge, to slay the high priest of Valpurus in honor of his father's death. Yet his name was erased from all records to clean the stain of shame he brought upon his family.\"",
4441      "\"The second grand master dark knight ruthlessly crushed all resistance and many an enemy fled even before battle, for his trumpeters used horns of fear to devastating effect. Where the father took nearly a decade to slowly force valpurian troops back, the son brought his army of dark knights before the gates of the Citadel of Valpurus in only a few years.\"",
4442      "\"As his men razed and burned the once-mighty Citadel of Valpurus, the second grand master dark knight assailed Pervetus, the high priest of Valpurus. Now being of venerable age, Pervetus quickly fell to the power of Mjolak.\"",
4443      "\"In a hubris of an easy victory, the second grand master dark knight turned his back to the dead high priest Pervetus he just slain and did not see a strange glow of a magical amulet that brought Pervetus back with renewed vigor. The high priest lifted Justifier and with a single mightly blow, cut off both of the grand master's hands. And in a single moment of weakness, the grand master shamed his family for the ages to come, for he didn't face death with dignity, but panicked and ran for his life.\"",
4444      "\"Our lord Xinroch was the greatest and most powerful grand master dark knight to ever live, and the third to bear that title. His two crossed flaming swords are still found on the banner of the grand master dark knights to this day.\"",
4445      "\"Some sources claim Xinroch was no one in his youth, maybe even one of the children kidnapped from forgotten villages to be trained for war. But soon, his talents became apparent. He was clever, quick to learn and utterly ruthless when he could get what he wanted.\"",
4446      "\"In his many skirmishes with the forces of Light, Xinroch destroyed two archangels, Incendo and Lucis, and took their flaming swords. He wielded them with unparalleled skill, earning him the sobriquet of 'Xinroch the Flame of Chaos'.\"",
4447      "\"While his predecessors were beasts on the battlefield and masters of the military arts of tactics and strategy, Xinroch was well-versed in the use of another weapon they rarely considered - diplomacy. He conquered a land - then used the fear to gain ten times more in a fraction of time.\"",
4448      "\"Xinroch was highly successful in all his campaigns, and it was during his life that the Unholy Order of the Dark Knights truly flourished.\"",
4449      "\"Even Ischaldirh, the champion of Infuscor since times immemorial, who always thought of warriors as nothing more than brutes and uncivilized savages, eventually befriended Xinroch and accompanied him on many a campaign. Not even demigods could stand in their way.\"",
4450      "\"Just as Xinroch outlived high priest Pervetus and took all his lands, years caught up with Xinroch at last after a life full of victory. No matter how strong magic sustains the body, mortals were created to die and all that lives will wither eventually. Only that which already died and was raised to undeath or which ascended beyond this world is truly immortal.\"",
4451      "\"During one of the countless battles late in his life, Xinroch lost one of the iconic ruby flaming swords he wielded most of his life. The dwarves of Khaz-zadm forged an arcanite shield for him, but it was clear to everyone his prime years have irreversibly passed.\"",
4452      "\"In his declining years, Xinroch heavily funded research into the newly-invented magic school of necromancy. It was thanks to his sponsorship that this discipline could start to spread, but unfortunately the early necromancers were unable to stave off the dwindling of Xinroch's life.\"",
4453      "\"Xinroch died in a glorious battle. His army crushed the invasion of frost giants while Xinroch himself, by then of venerable age, dueled and slayed their jarl. Yet his years and exhaustion took their toll and Xinroch could not fend off the treacherous dagger his most trusted lieutenant turned against him. Old grand master slain and the battle won, this second-in-command became the new grand master dark knight.\"",
4454      "\"Xinroch's successor feared his former master so much he eventually resigned his title of the grand master dark knight and entered the Tomb, to remain enternally vigilant as a keeper of Xinroch's grave and prevent Xinroch's resurrection and terrible revenge.\"",
4455      "\"When Xinroch brought dark knights and dark mages together in a peculiar alliance, even their two ever-rival gods set aside their differences for a time. What none of their worshippers could expect, though, was the child born from the blood of Cruentus and the dark magic of Infuscor, the first vampire.\"",
4456      "\"This Tomb was erected on the battlefield where Xinroch was slain, to honor and guard his grave against all who would wish to disturb his last sleep or defile his memory. Let his majestic glory never be forgotten!\"",
4457      "\"Some believe it is possible to bring our lord Xinroch back. Whether through high necromancy or some dark miracle, he might be able to lead his faithful again!\"",
4458      "\"It was a great shame to the dark templars when several decades ago, an unknown necromancer managed to slip past their guards and animate the skeleton of Xinroch in a mockery of his once-living might. Whether the spell was cast with belief that it could truly bring Xinroch back, or with utmost disrespect for the dearly departed, the dark templars swore they will never allow another man or woman to enter their lord's resting place.\"",
4459      "\"All hail our mighty lord Xinroch.\"";
4460    }
4461    ScienceTalkPossibility = 0;
4462    Inventory = { 2, holybook(INFUSCOR) { Chance = 10; }, HUMAN_FLESH lump; }
4463    CanBeGenerated = true;
4464    AllowedDungeons == XINROCH_TOMB;
4465  }
4466
4467  Config ASLONA_CASTLE;
4468  {
4469    NameSingular = "maid";
4470    NamePlural = "maids";
4471    LegMainColor = rgb16(0, 191, 255);
4472    FriendlyReplies =
4473    {
4474      14,
4475      "\"A master sorcerer like Myrddin inevitably outlives all his peers. It must be a lonely existence.\"",
4476      "\"I hear Myrddin is quite a mage. Of course, it's not like he'd bother to stop to talk to you when he ventures into the castle.\"",
4477      "\"I went to the chapel yesterday, but that kamikaze dwarf was sitting there. He makes me nervous, so I figured I'd come back another time.\"",
4478      "\"I don't know if Senex ever leaves the chapel. That man works day and night to take care of all of us.\"",
4479      "\"Things have been bad since old king Othyr died.\"",
4480      "\"Poor prince Artorius. He's too young to inherit a broken country.\"",
4481      "\"Seges bless Lord Regent for standing by the crown prince and this country in their hour of need.\"",
4482      "\"I've heard that Harvan Black-cloak poisoned old king Othyr and tried to dispose of prince Artorius as well.\"",
4483      "\"Lord Regent saved the kingdom, sure enough.\"",
4484      "\"The roads near the Castle are safer now, thanks to Lord Regent. He's an example for us all.\"",
4485      "\"The king is dead, his heir too young. We needed a strong leader and Lord Regent answered the call.\"",
4486      "\"Can you believe that the bastard Black-cloak managed to sneak into the very king's rooms?!\"",
4487      "\"Would you believe it? Harvan Black-cloak murdered king Othyr, and yet people go flocking to the banner of his rebellion!\"",
4488      "@Dd chatters.";
4489    }
4490    HostileReplies =
4491    {
4492      3,
4493      "\"You will hang for this!\"",
4494      "\"Guards! Guards!\"",
4495      "@Dd screams for help.";
4496    }
4497    ScienceTalkPossibility = 0;
4498  }
4499
4500  Config REBEL_CAMP;
4501  {
4502    NameSingular = "rebel";
4503    NamePlural = "rebels";
4504    FriendlyReplies =
4505    {
4506      10,
4507      "\"We're all talking about the old king's murder. How could Lord Regent get away with it?\"",
4508      "\"I've heard some people talk about just burning the castle to the ground. Probably just talk though. Everyone's a bit on edge right now.\"",
4509      "\"Is there anywhere in the camp where you can avoid rats? Disease spreading little nuisances.\"",
4510      "\"I don't know what to think about the goblins escaping their owners. Things seem to go from bad to worse, don't they?\"",
4511      "\"Aiding an escaping slave is theft, and a crime. That was always the law.\"", /* What, you thought they were the good guys? :) */
4512      "\"Lord Regent recently announced that he won't stop until slavery is outlawed. It's our right to have slaves, by the old laws!\"",
4513      "\"How does Lord Regent think we'll work the fields with no slaves? Our economy is already falling and he wants to kill it completely!\"",
4514      "\"What?\"",
4515      "\"These necromancer twins give me the creeps. Why do we even associate with such types?\"",
4516      "@Dd boasts about @sp farmstead back home.";
4517    }
4518    HostileReplies == "\"I will smack you down, young man!\"";
4519    ScienceTalkPossibility = 0;
4520    IsExtraCoward = false;
4521  }
4522}
4523
4524femaleslave
4525{
4526  DefaultArmStrength = 10;
4527  DefaultLegStrength = 10;
4528  DefaultDexterity = 10;
4529  DefaultAgility = 10;
4530  DefaultEndurance = 10;
4531  DefaultPerception = 18;
4532  DefaultIntelligence = 15;
4533  DefaultWillPower = 15;
4534  DefaultWisdom = 25;
4535  DefaultCharisma = 25;
4536  DefaultMana = 5;
4537  Sex = FEMALE;
4538  SkinColor = rgb16(160, 100, 64);
4539  HairColor = rgb16(80, 48, 32);
4540  HeadBitmapPos = 112, 80;
4541  TorsoBitmapPos = 32, 208;
4542  ArmBitmapPos = 64, 208;
4543  LegBitmapPos = 0, 144;
4544  TotalVolume = 40000;
4545  TotalSize = 170;
4546  Adjective = "female";
4547  RightWielded = palmbranch;
4548  BaseUnarmedStrength = 200;
4549  HostileReplies == "\"Yikes!\"";
4550  IsAbstract = true;
4551  IsExtraCoward = true;
4552  CanRead = true;
4553
4554  Config ATTNAM;
4555  {
4556    NameSingular = "slave";
4557    AttachedGod = MELLIS;
4558    FriendlyReplies =
4559    {
4560      5,
4561      "\"Praise our lord Petrus!\"",
4562      "\"Does that toy frog really need us serving it?\"",
4563      "\"I'm not a slave. I'm a high-ranking palm branch officer with a good career history.\"",
4564      "\"I can tell you, serving Petrus is much more fun than pleasing that Decos bastard.\"",
4565      "\"You seem oddly familiar. Oh! Isn't that the monkey smell of my home village!\"";
4566    }
4567  }
4568
4569  Config NEW_ATTNAM;
4570  {
4571    DefaultAgility = 15;
4572    DefaultEndurance = 15;
4573    DefaultIntelligence = 20;
4574    DefaultWillPower = 20;
4575    DefaultWisdom = 30;
4576    DefaultCharisma = 20;
4577    NameSingular = "servant";
4578    AttachedGod = SEGES;
4579    FriendlyReplies =
4580    {
4581      7, /* 4 first are used before revolution */
4582      "\"Thank Silva I don't have to gather bananas!\"",
4583      "\"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!\"",
4584      "\"Palm leaves are good for health. Mr. Decos loves their smell.\"",
4585      "\"When I was a highly educated doctor in independent Tweraif, I didn't have to wear stupid bikinis all day long.\"",
4586      "\"Our hero!\" @Dd shouts as @pp hugs you. \"Aargh! Go away, you're all sweaty and bloody!\"",
4587      "\"Don't tell me you need a palm leaf expert, too.\"",
4588      "\"Now it's my sister's turn to be jealous!\"";
4589    }
4590    AutomaticallySeen = true;
4591  }
4592
4593  Config IMPRISONED_FEMALE;
4594  {
4595    NameSingular = "prisoner";
4596    CanBeGenerated = false;
4597    AttachedGod = DULCIS;
4598    RightWielded = 0;
4599    IsMasochist = true;
4600    FriendlyReplies =
4601    {
4602      8,
4603      "\"It hurt me more than it did her.\"",
4604      "\"I just wanted everything to be right.\"",
4605      "\"It wasn't supposed to happen that way.\"",
4606      "\"I wanted to help Him realize the truth.\"",
4607      "\"It was her or me.\"",
4608      "\"I thought He would understand.\"",
4609      "\"Now we can be together.\"",
4610      "\"It was for her own good.\"";
4611    }
4612    UndeadVersions = false;
4613  }
4614
4615  Config JESTER;
4616  {
4617    DefaultDexterity = 15;
4618    DefaultAgility = 20;
4619    DefaultIntelligence = 25;
4620    DefaultWillPower = 15;
4621    DefaultWisdom = 30;
4622    HairColor = rgb16(51, 51, 255);
4623    TorsoMainColor = rgb16(255, 0, 0);
4624    ArmMainColor = rgb16(0, 204, 0);
4625    LegMainColor = rgb16(255, 255, 102);
4626    TorsoBitmapPos = 32, 160;
4627    ArmBitmapPos = 64, 160;
4628    LegBitmapPos = 0, 128;
4629    Adjective = "court";
4630    NameSingular = "jester";
4631    AttachedGod = DULCIS;
4632    RightWielded = 0;
4633    CanBeGenerated = false;
4634    DeathMessage = "@Dd laughs for the last time and dies.";
4635    FriendlyReplies =
4636    {
4637      36,
4638      "@Dd imitates you.",
4639      "\"What kind of bread do dwarves make? Well, short bread, of course.\"",
4640      "\"Kobolds are a living proof that the gods have a sense of humor.\"",
4641      "\"Did you hear about that wizard who was arrested for drunk-casting? He had his magic license evoked!\"",
4642      "\"What has two legs and bleeds? Half a goblin.\"",
4643      "\"An orc told me that a thought crossed his mind once. It must have been a long and lonely journey.\"",
4644      "\"Why do dragons sleep all day? So they can fight knights.\"",
4645      "\"How do you escape from a dwarf? Step on a chair.\"",
4646      "\"Why didn't the skeleton cross the road? He didn't have the guts.\"",
4647      "\"A skeleton walks into a bar... and orders a beer and a mop.\"",
4648      "\"What's the difference between a slave and a bench? A bench can support a family.\"",
4649      "\"What do you call a knight who is too afraid to fight? Sir Render.\"",
4650      "\"It's not that I don't like kobolds. I just that I can't finish a whole one.\"",
4651      "\"Why should you never ask a dwarf to pay for drinks? Because he's always a little short.\"",
4652      "\"A sage was once asked by an orc general what did he think about orcish civilization. The sage replied: 'Yes, that would be a great idea.'\"",
4653      "\"A woman comes home to find her husband in bed with a female dwarf. She screams at him: 'You said you wouldn't cheat on me anymore!' He replies: 'I know. Can't you see I'm trying to cut it down?'\"",
4654      "\"Why do dwarven songs sound better by candlelight? You can shove the wax in your ears.\"",
4655      "\"An elf, a man and a dwarf order an ale, but there is a fly in each tankard. When the elf notices it, he pours his ale out in disgust. The man picks the fly out and drinks the ale. The dwarf picks the fly out, holds it legs-up and shouts: 'Spit it back, ye' li'l blight!'\"",
4656      "\"A blind elf walks into a bar, sits down and says: 'Do you want to hear a dwarf joke?' A voice beside him growls: 'Before you tell a dwarf joke, know that the bartender is a dwarf, the guard is a dwarf, I am a dwarf and my two companions are dwarves. Do you still want to tell your joke?!' The blind elf thinks for a moment and then replies: 'No, not if I have to explain it five times.'\"",
4657      "\"If ugly was a crime the entire orcish race would have rotted in the dungeons long ago. Oh, wait a minute...\"",
4658      "\"An orc, a barbarian and a blood-thirsty savage entered a bar... and that was just the first person!\"",
4659      "\"What do you call an orc with half a brain? Gifted.\"",
4660      "\"Two orc hunters went bear hunting. They came upon a fork in a road where a sign read 'BEAR LEFT'. And so they went home. And do you know what's the funny part? That any orc could read!\"",
4661      "\"How do orcs name their children? They throw them down the stairs and wait what noise they make.\"",
4662      "\"In a battle of wits, an orc is unarmed, blind and lame.\"",
4663      "\"How many kobolds do you need to paint a room? Only one if you throw him really hard.\"",
4664      "\"An orc walks into a bar with a parrot on his shoulder. Impressed by such a strange sight the barkeep says: 'An incredible beast, can he talk?' To which the parrot responds: 'Barely.'\"",
4665      "\"A dwarf walks out of a bar... Hey, it *could* happen!\"",
4666      "\"What did the human say when he walked into a dwarf bar? 'Argh, my head!'\"",
4667      "\"What do you call an elf that can count past ten? Barefoot.\"",
4668      "\"Why are rogues so sneaky? Because their armor is literally made of hide.\"",
4669      "\"Did you hear about that knight who fell from the tallest tower in the castle and lived? They called him Sir Vive.\"",
4670      "\"What do you call a group of witches in a hot spring? A self-cleaning coven.\"",
4671      "\"An elf, a man and an orc walk into a bar. The dwarf walks under it.\"",
4672      "\"Why was the wizard late for work? He was up all night playing with his staff.\"",
4673      "\"It is true that orcs sleep with horses. If you've seen their women, you'll know why.\"";
4674    }
4675  }
4676}
4677
4678librarian
4679{
4680  DefaultArmStrength = 10;
4681  DefaultLegStrength = 10;
4682  DefaultDexterity = 5;
4683  DefaultAgility = 5;
4684  DefaultEndurance = 10;
4685  DefaultPerception = 12;
4686  DefaultIntelligence = 30;
4687  DefaultWillPower = 15;
4688  DefaultWisdom = 15;
4689  DefaultCharisma = 10;
4690  DefaultMana = 20;
4691  HairColor = rgb16(200, 200, 200);
4692  ClothColor = rgb16(48, 48, 48);
4693  ArmMainColor = rgb16(180, 180, 180);
4694  HeadBitmapPos = 96, 224;
4695  TorsoBitmapPos = 32, 80;
4696  ArmBitmapPos = 64, 16;
4697  LegBitmapPos = 0, 0;
4698  TotalVolume = 80000;
4699  TotalSize = 170;
4700  CanRead = true;
4701  NameSingular = "librarian";
4702  PanicLevel = 50;
4703  CanBeCloned = false;
4704  DefaultMoney = 2000;
4705  HostileReplies =
4706  {
4707    3,
4708    "\"The pen is mightier than the sword! Fall, unlearned one!\"",
4709    "\"The pen is mightier than the sword! Especially if the sword is very short and the pen is very sharp.\"",
4710    "@Dd rasps: \"Suddenly I wish I worked out a bit.\"";
4711  }
4712  FriendlyReplies =
4713  {
4714    15,
4715    "\"Are you going to fight Elpuri? If so, beware, for it is a powerful enemy. Other monsters are very vulnerable if surrounded by your party, but not that beast. It may slay a horde of your friends at once with its horrendous tail attack.\"",
4716    "\"Elpuri the Dark Frog abhors light and resides in a place of eternal darkness.\"",
4717    "\"Shh! You shall be silent in the library.\"",
4718    "\"Brute force bereft of wisdom falls to ruin by its own weight.\"",
4719    "\"Elpuri's attacks are so strong that they may shatter many of your precious items.\"",
4720    "\"Don't you smell all the knowledge floating around here?\"",
4721    "\"The Shirt of the Golden Eagle is a legendary artifact. You cannot find a better armor.\"",
4722    "\"In this book they talk about Mortifer, the Great Chaos God. He hates mortals, gods and everything and will respond only to Champions of Evil.\"",
4723    "\"Attnam is traditionally ruled by the high priest of the Great Frog. He holds the holy broadsword named Valpurus' Justifier and the Shirt of the Golden Eagle, and has always killed his predecessor.\"",
4724    "\"You should keep all the artifacts you find. They shall make you famous after your retirement. If you can somehow survive that long, that is.\"",
4725    "\"If you should ever encounter an enner beast, know this: It is a horrible foe. It may shatter your items and armor with its scream that penetrates iron and stone. You should not engage it in melee but rather kill it from afar.\"",
4726    "\"A brave adventurer called Ivan delved into the cave of Elpuri not long ago.\"",
4727    "\"It is said that chaotic gods offer great power to their followers. But remember that lawful gods will help you even when things go bad.\"",
4728    "\"If a man cannot choose, he ceases to be a man.\"",
4729    "@Dd sighs: \"The censorship laws in this town are really too strict...\"";
4730  }
4731  IsUnique = true;
4732  IsNameable = false;
4733  DefaultName = "Haathbar";
4734  TamingDifficulty = NO_TAMING;
4735  IsExtraCoward = true;
4736  AttachedGod = SOPHOS;
4737  PolymorphIntelligenceRequirement = 20;
4738  ScienceTalkPossibility = 25;
4739  ScienceTalkIntelligenceModifier = 100;
4740  ScienceTalkWisdomModifier = 25;
4741  ScienceTalkIntelligenceRequirement = 20;
4742  ScienceTalkWisdomRequirement = 10;
4743}
4744
4745zombie
4746{
4747  DefaultArmStrength = 12;
4748  DefaultLegStrength = 12;
4749  DefaultDexterity = 3;
4750  DefaultAgility = 4;
4751  DefaultEndurance = 10;
4752  DefaultPerception = 12;
4753  DefaultIntelligence = 3;
4754  DefaultWillPower = 3;
4755  DefaultWisdom = 3;
4756  DefaultCharisma = 3;
4757  DefaultMana = 0;
4758  SkinColor = rgb16(0, 120, 120);
4759  EyeColor = rgb16(200, 200, 0);
4760  ClothColor = rgb16(56, 16, 96);
4761  HeadBitmapPos = 112, 112;
4762  TorsoBitmapPos = 32, 224;
4763  ArmBitmapPos = 64, 224;
4764  LegBitmapPos = 0, 160;
4765  TotalVolume = 80000;
4766  TotalSize = 160;
4767  NameSingular = "zombie";
4768  CanBeGenerated = true;
4769  Sex = UNDEFINED;
4770  ConsumeFlags = CT_MEAT|CT_LIQUID|CT_BONE;
4771  PanicLevel = 0;
4772  BaseUnarmedStrength = 200;
4773  /* HostileReplies overridden */
4774  FriendlyReplies =
4775  {
4776    3,
4777    "\"Need brain but you too stoopid!\"",
4778    "\"May I interest you in the idea of forfeiting the ownership of your brain in my favor?\"",
4779    "\"Brraaaaaaaaiiiiiiinnnz!!!\"";
4780  }
4781  DeathMessage = "@Dd is slain (again).";
4782  AttachedGod = MORTIFER;
4783  ClassStates = GAS_IMMUNITY;
4784  WieldedPosition = -1, -2;
4785  IsExtraFragile = true;
4786  IsCatacombCreature = true;
4787  IsUndead = true;
4788  CreateUndeadConfigurations = true;
4789  UndeadVersions = false;
4790  UndeadAttributeModifier = 75;
4791  Frequency = 500;
4792
4793  Config ZOMBIE_OF_KHAZ_ZADM;
4794  {
4795    DefaultName = "Moonrise Stealing Dark";
4796    PostFix = "of Khaz-zadm";
4797    TamingDifficulty = 20;
4798    IsNameable = false;
4799    IsUnique = true;
4800    DefaultArmStrength = 15;
4801    DefaultLegStrength = 15;
4802    DefaultDexterity = 10;
4803    DefaultAgility = 20;
4804    DefaultEndurance = 15;
4805    DefaultPerception = 18;
4806    DefaultIntelligence = 7;
4807    DefaultWillPower = 20;
4808    DefaultWisdom = 15;
4809    DefaultCharisma = 5;
4810    HeadBitmapPos = 112, 160; /* all dwarves have beards, no exceptions */
4811    BodyArmor = VERDIGRIS bodyarmor(CHAIN_MAIL);
4812    RightWielded = OCTIRON darkaxe;
4813    LeftWielded = OCTIRON darkaxe;
4814    KnownCWeaponSkills == AXES;
4815    CWeaponSkillHits == 150;
4816    RightSWeaponSkillHits = 100;
4817    LeftSWeaponSkillHits = 100;
4818    ClassStates = LEPROSY;
4819    FleshMaterial = DWARF_FLESH;
4820    IsExtraFragile = false;
4821    Sex = FEMALE;
4822    FireResistance = 25;
4823    ElectricityResistance = 15;
4824    EnergyResistance = 15;
4825    IsImmuneToLeprosy = true;
4826    CanBeGenerated = false;
4827    CanRead = true;
4828    CreateUndeadConfigurations = false;
4829    DeathMessage = "As @Dd collapses, you hear her hiss: \"Peeeeeetrrrruuuuuuuss!!!\"";
4830    HostileReplies =
4831    {
4832      25,
4833      "\"A pity.\"",
4834      "\"Are you so easily decieved?\"",
4835      "\"You will not suffer... for long.\"",
4836      "\"It must be this way.\"",
4837      "\"My city... in ruins.\"",
4838      "\"This will be quick.\"",
4839      "\"How we've fallen.\"",
4840      "\"You will fall as we did.\"",
4841      "\"This is for the best.\"",
4842      "\"He cannot be stopped.\"",
4843      "\"He must be stopped.\"",
4844      "\"I will save you.\"",
4845      "\"I will make you understand.\"",
4846      "\"How long have I slumbered?\"",
4847      "\"Let us end it.\"",
4848      "\"I will stop this.\"",
4849      "\"You cannot win.\"",
4850      "\"You cannot hurt me.\"",
4851      "\"You have been betrayed.\"",
4852      "\"I must do this, for your sake.\"",
4853      "\"Curse His name!\"",
4854      "\"It cannot end like this.\"",
4855      "\"I was wrong.\"",
4856      "\"Return them to me!\"",
4857      "@Dd whispers: \"Please... \"";
4858    }
4859    FriendlyReplies =
4860    {
4861      17,
4862      "\"Once, I was a duchess of a great dwarven fortress-city of Khaz-zadm.\"",
4863      "\"After the Dwarven Wars, our land lay in ruins. Our mines were undermined and filled with masterless golems. Our resources were stretched thin. That was when Petrus came with his offer of charity. I should have known better.\"",
4864      "\"Naught but ashes remain from my people. Petrus even saw that the word would not spread to Kharaz-arad or other dwarven lands.\"",
4865      "\"No one remembers Priscus, the former High Priest of Valpurus, these days. Only me.\"",
4866      "\"The poor children of Khaz-zadm! Taken from their murdered parents and trained to die at the behest of the high priest, praising Valpurus with their dying breath.\"",
4867      "\"Khaz-zadm once held the richest deposits of valpurian ore on this whole continent. No wonder Attnam has no shortage of vaplurium these days.\"",
4868      "\"Attnam and Khaz-zadm were close partners for many years. Attnam bought its sacred metal from us, but we needed attnamese priests to bless the smelting, lest a burnt slag was produced instead of a magical metal.\"",
4869      "\"I remember with fondness our shared visits with high priest Priscus. I was greatly saddened by the betrayal of the orcish delegation and his death. Too late did I learn the truth - I fell for the tricks of the same enemy he did.\"",
4870      "\"High priest Priscus had a life-long dream - Pax Attnamica, a peace amongst all the lands, races and religions. Alas, not everyone even in his own country agreed with his pacifistic ways and eventually, his efforts led to his untimely demise.\"",
4871      "\"Many have recounted the story differently, but I believe this: It was neither the retinue of Priscus, nor the orcish delegation of Vol-Khan who betrayed and massacred the other. There is someone else to blame.\"",
4872      "\"I learned too late it was Petrus along with Sir Galladon I. and his loyal elite guards who ambushed and murdered both Priscus and Vol-Khan, winning the attnamese throne for Petrus and throwing all khanite orcs into chaos.\"",
4873      "\"Vol-Khan was a great leader and politician. He managed to unite most of the orcish tribes in a singular horde the likes of which nobody had seen since the ancient War in Heavens. Yet he did not seek conquest, but rather strength and prosperity in unity for his people.\"",
4874      "\"Once, the great mountain was filled with the joy of dwarven life. But Khaz-zadm has fallen and its corridors are now gloomy and full of monsters.\"", /* Yes, gloomy caves once were the dwarven city of Khaz-zadm and its mines. */
4875      "\"Khaz-zadm stretched for miles below the great mountain - a monument to craftsdwarfship. What remains of it now but another dark dungeon?\"",          /* That's why there are so many artificial rooms and corridors in a 'cave'. */
4876      "\"We dug deep in our days of glory. And in the deepest reaches of Khaz-zadm, we built a massive fortress of solid steel. No one could ever dream of conquering it, even during the Dwarven Wars.\"", /* But Elpuri took it once it was abandoned. */
4877      "\"I only met Vol-Khan once, yet I saw a strong, wilful man in him, not a murderer.\"",
4878      "\"After the coup, I knew that another war would come. Priscus was a politician. Petrus was a warrior.\"";
4879    }
4880    Inventory = { 2, key(HEXAGONAL_LOCK) { Chance = 75; }, key(OCTAGONAL_LOCK) { Chance = 75; } }
4881  }
4882
4883  Config IMPRISONED_ZOMBIE;
4884  {
4885    PostFix = "prisoner";
4886    Sex = MALE;
4887    IsImmuneToLeprosy = true;
4888    CanBeGenerated = false;
4889    CreateUndeadConfigurations = false;
4890    IsMasochist = true;
4891    CanRead = true;
4892    FriendlyReplies =
4893    {
4894      4,
4895      "\"Mighty Petrus said: 'Eating brainz is bad.'\"",
4896      "\"I got off lightly - only three life sentences!\"",
4897      "\"Poems while you wait! Pay one brain, get one poem and one for free!\"",
4898      "\"My CV? I was a poet before I became a zombie. Then I worked as a mook, but quickly switched to freelance cannibal. And now I'm a prisoner.\"";
4899    }
4900    DeathMessage = "@Dd is slain (finally).";
4901  }
4902}
4903
4904gasghoul /* zombie-> */
4905{
4906  DefaultDexterity = 10;
4907  DefaultAgility = 12;
4908  CapColor = rgb16(27, 226, 21); /* eyes */
4909  SkinColor = rgb16(120, 70, 40);
4910  ClothColor = rgb16(125, 125, 125);
4911  HeadBitmapPos = 112, 512; /* broken gas mask */
4912  NameSingular = "gas-ghoul";
4913  DangerModifier = 150;
4914  PanicLevel = 20;
4915  HPRequirementForGeneration = 60;
4916  DayRequirementForGeneration = 4;
4917  IsExtraFragile = false;
4918  CreateUndeadConfigurations = false;
4919  UndeadVersions = false;
4920  FriendlyReplies =
4921  {
4922    3,
4923    "\"War... never... changes...\"",
4924    "\"How sweet and honourable it is to die for one's country...\"",
4925    "\"No more... Never more...\"";
4926  }
4927  DeathMessage = "@Dd is put to rest.";
4928  Inventory == gasgrenade { Chance = 10; }
4929  AllowedDungeons == PYRAMID;
4930}
4931
4932ghost
4933{
4934  DefaultArmStrength = 8;
4935  DefaultLegStrength = 10;
4936  DefaultDexterity = 10;
4937  DefaultAgility = 8;
4938  DefaultEndurance = 8;
4939  DefaultPerception = 24;
4940  DefaultIntelligence = 15;
4941  DefaultWillPower = 10;
4942  DefaultWisdom = 10;
4943  DefaultCharisma = 10;
4944  DefaultMana = 15;
4945  TorsoBitmapPos = 32, 416;
4946  LegBitmapPos = 0, 416;
4947  ClothColor = rgb16(100, 100, 100);
4948  TotalVolume = 80000;
4949  TotalSize = 175;
4950  Frequency = 5000;
4951  StandVerb = "hovering";
4952  NameSingular = "ghost";
4953  ClassStates = INFRA_VISION|ESP|GAS_IMMUNITY|LEVITATION;
4954  BaseEmitation = rgb24(110, 110, 130);
4955  HostileReplies =
4956  {
4957    5,
4958    "@Dd moans.",
4959    "@Dd wails.",
4960    "@Dd attempts to spook you.",
4961    "\"Thou shalt be one of us, soon!\"",
4962    "\"Boo!\"";
4963  }
4964  FriendlyReplies =
4965  {
4966    4,
4967    "@Dd moans.",
4968    "\"How did I die? Oh wow, that is kind of private!\"",
4969    "\"...oOoOOOooOooooOoOooOOoOoooOOo...\"",
4970    "\"A very good Boo to you, my friend.\"";
4971  }
4972  PanicLevel = 0;
4973  /*HasALeg = false;*/
4974  FleshMaterial = ECTOPLASM;
4975  DeathMessage = "@Dd is sucked into hell.";
4976  SpillsBlood = false;
4977  Sweats = false;
4978  UsesNutrition = false;
4979  AttachedGod = MORTIFER;
4980  BodyPartsDisappearWhenSevered = true;
4981  MoveType = ETHEREAL;
4982  CanChoke = false;
4983  IsImmuneToStickiness = true;
4984  BiteCapturesBodyPart = false;
4985  CreateUndeadConfigurations = true;
4986  UndeadAttributeModifier = 75;
4987  UndeadCopyMaterials = false;
4988  GhostCopyMaterials = true;
4989  CanBeGenerated = true;
4990  CanBeGeneratedOnlyInTheCatacombs = true;
4991  IsCatacombCreature = true;
4992  IsUndead = true;
4993  UndeadVersions = false;
4994  IsAbstract = true;
4995  CanUseEquipment = false;
4996}
4997
4998bonesghost
4999{
5000  CreateUndeadConfigurations = false;
5001  CanBeGenerated = false;
5002  CanBeGeneratedOnlyInTheCatacombs = false;
5003  IsCatacombCreature = false;
5004  UndeadVersions = false;
5005  IsAbstract = false;
5006  CanUseEquipment = false;
5007}
5008
5009xinrochghost
5010{
5011  DefaultArmStrength = 30;
5012  DefaultLegStrength = 30;
5013  DefaultDexterity = 26;
5014  DefaultAgility = 28;
5015  DefaultEndurance = 30;
5016  DefaultPerception = 36;
5017  DefaultIntelligence = 25;
5018  DefaultWillPower = 25;
5019  DefaultWisdom = 20;
5020  DefaultCharisma = 20;
5021  DefaultMana = 30;
5022  TotalVolume = 100000;
5023  TotalSize = 120;
5024  ArmBitmapPos = 80, 176;
5025  LegBitmapPos = 0, 96;
5026  HeadBitmapPos = 96, 112;
5027  TorsoBitmapPos = 48, 80;
5028  HairColor = rgb16(180, 0, 32);
5029  EyeColor = rgb16(200, 0, 0);
5030  BaseEmitation = rgb24(110, 110, 160);
5031  NameSingular = "ghost";
5032  PostFix = "of Xinroch";
5033  Helmet = METEORIC_STEEL helmet(FULL_HELMET) { Enchantment = 2; }
5034  BodyArmor = METEORIC_STEEL bodyarmor(CHAIN_MAIL) { Enchantment = 2; }
5035  RightWielded = METEORIC_STEEL EBONY_WOOD meleeweapon(LONG_SWORD) { Enchantment = 2; }
5036  LeftWielded = EBONY_WOOD shield { Enchantment = 2; }
5037  RightRing = ring(RING_OF_TELEPORT_CONTROL);
5038  LeftRing = ring(RING_OF_INVISIBILITY);
5039  RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 2; }
5040  RightBoot = METEORIC_STEEL boot { Enchantment = 2; }
5041  KnownCWeaponSkills = { 2, LARGE_SWORDS, SHIELDS; }
5042  CWeaponSkillHits = { 2, 1000, 1000; }
5043  RightSWeaponSkillHits = 500;
5044  LeftSWeaponSkillHits = 500;
5045  PanicLevel = 0;
5046  CanBeWished = true;
5047  DangerModifier = 800;
5048  FireResistance = 30;
5049  ElectricityResistance = 30;
5050  EnergyResistance = 30;
5051  DisplacePriority = 8;
5052  TamingDifficulty = NO_TAMING;
5053  IsNameable = false;
5054  IsUnique = true;
5055  CanRead = true;
5056  CanBeCloned = false;
5057  IsPolymorphable = false;
5058  CanBeConfused = false;
5059  IsImmuneToItemTeleport = true;
5060  AllowUnconsciousness = false;
5061  IsImmuneToWhipOfThievery = true;
5062  CreateUndeadConfigurations = false;
5063  CanBeGenerated = false;
5064  CanBeGeneratedOnlyInTheCatacombs = true;
5065  IsCatacombCreature = true;
5066  UndeadVersions = false;
5067  IsAbstract = false;
5068  CanUseEquipment = true;
5069  SpillsBlood = false;
5070  Sweats = false;
5071  UsesNutrition = false;
5072  BodyPartsDisappearWhenSevered = true;
5073  CanChoke = false;
5074  IsImmuneToStickiness = true;
5075  BiteCapturesBodyPart = false;
5076  ArticleMode = FORCE_THE;
5077  FleshMaterial = ECTOPLASM;
5078  MoveType = ETHEREAL;
5079  AttachedGod = INFUSCOR;
5080  ClassStates = INFRA_VISION|ESP|GAS_IMMUNITY|LEVITATION;
5081  StandVerb = "hovering";
5082  HostileReplies == "\"Who dares disturb my eternal slumber?\"";
5083  FriendlyReplies == "\"Boo!\"";
5084  DeathMessage = "@Dd is finally sucked into hell, leaving a shimmering cowl behind on the floor.";
5085  Inventory == cloak(CLOAK_OF_SHADOWS);
5086}
5087
5088imp
5089{
5090  DefaultPerception = 15;
5091  DefaultIntelligence = 10;
5092  DefaultWillPower = 10;
5093  DefaultWisdom = 10;
5094  DefaultCharisma = 5;
5095  DefaultMana = 15;
5096  HeadBitmapPos = 96, 16;
5097  TorsoBitmapPos = 48, 112;
5098  ArmBitmapPos = 64, 32;
5099  LegBitmapPos = 16, 80;
5100  TotalVolume = 40000;
5101  TotalSize = 100;
5102  NameSingular = "imp";
5103  IsAbstract = true;
5104  CanBeGenerated = true;
5105  Sex = UNDEFINED;
5106  AttackStyle = USE_ARMS|USE_HEAD;
5107  ConsumeFlags = CT_METAL|CT_MINERAL|CT_LIQUID|CT_PLASTIC;
5108  KnownCWeaponSkills = { 2, UNARMED, BITE; }
5109  CWeaponSkillHits = { 2, 50, 50; }
5110  PanicLevel = 0;
5111  BaseUnarmedStrength = 300;
5112  BaseBiteStrength = 500;
5113  VomittingIsUnhealthy = false;
5114  ClassStates = GAS_IMMUNITY|FEARLESS;
5115  CanChoke = false;
5116  UndeadVersions = false;
5117  IsSadist = true;
5118  FriendlyReplies =
5119  {
5120    6,
5121    "\"And she said: 'Stop pecking at your food!' And I was like: 'But mom! It's raw and I told you I wanted the toddler well done!'\"",
5122    "\"I was about to kiss her, but then I got summoned.\"",
5123    "\"It is said: To err is human. Stupid humans...\"",
5124    "\"They say, if you cannot beat them, join them. I say, if you cannot beat them, beat them later. Because they will be expecting you to join them, so you will have the element of surprise.\"",
5125    "\"Fight fire with fire! Unless it's not metaphorical fire but real fire, then you should probably use water.\"",
5126    "\"And the summoner tore his heart out and said: 'I present this humble sacrifice to thee, oh daemon of the Nether Realms!' And I was like: 'Gee, that's so sweet and all, but sorry, I already have a date for Valentine's.' Plus he was like what, seventy, maybe? I'm ten times older than him! How creepy is that, right?\"";
5127  }
5128  HostileReplies =
5129  {
5130    10,
5131    "@Dd cackles evilly.",
5132    "@Dd cackles diabolically.",
5133    "@Dd laughs devilishly.",
5134    "@Dd laughs demonically.",
5135    "@Dd giggles infernally.",
5136    "@Dd giggles fiendishly.",
5137    "@Dd snickers satanically.",
5138    "@Dd snickers apocalyptically.",
5139    "@Dd grins maniacally.",
5140    "@Dd grins sadistically.";
5141  }
5142  Inventory = { 2, potion { SecondaryMaterial = ASPHALT; Chance = 50; },
5143                   potion { SecondaryMaterial = QUICK_SILVER; Chance = 50; } }
5144}
5145
5146crimsonimp /* imp-> */
5147{
5148  EyeColor = rgb16(200, 200, 0);
5149  ClothColor = rgb16(111, 74, 37);
5150  HairColor = rgb16(100, 0, 0);
5151  Adjective = "crimson";
5152  FleshMaterial = SULFUR;
5153  BloodMaterial = NAPALM;
5154  VomitMaterial = NAPALM;
5155  AttachedGod = CRUENTUS;
5156  FireResistance = 1000;
5157  DeathMessage = "@Dd dies in a gout of hellfire.";
5158}
5159
5160mirrorimp /* imp-> */
5161{
5162  EyeColor = rgb16(160, 35, 160);
5163  ClothColor = rgb16(0, 71, 171);
5164  HairColor = rgb16(180, 180, 255);
5165  Adjective = "mirror";
5166  FleshMaterial = GLASS;
5167  BloodMaterial = LIQUID_FEAR;
5168  VomitMaterial = LIQUID_FEAR;
5169  AttachedGod = INFUSCOR;
5170  EnergyResistance = 100;
5171  PoisonResistance = 100;
5172  ElectricityResistance = 100;
5173  AcidResistance = 100;
5174  DeathMessage = "@Dd dies in a frozen explosion of glass.";
5175}
5176
5177bat
5178{
5179  DefaultArmStrength = 2;
5180  DefaultAgility = 40;
5181  DefaultEndurance = 8;
5182  DefaultPerception = 24;
5183  DefaultIntelligence = 7;
5184  DefaultWillPower = 5;
5185  DefaultWisdom = 5;
5186  DefaultCharisma = 5;
5187  DefaultMana = 0;
5188  TorsoSpecialColor = rgb16(220, 220, 0); /* EyeColor */
5189  StandVerb = "flying";
5190  CanOpen = false;
5191  TotalVolume = 1000;
5192  TorsoBitmapPos = 464, 16;
5193  HostileReplies =
5194  {
5195    2,
5196    "@Dd screeches!",
5197    "@Dd shrieks in ultrasound!";
5198  }
5199  FriendlyReplies =
5200  {
5201    2,
5202    "@Dd chirps.",
5203    "@Dd squeaks.";
5204  }
5205  DeathMessage = "@Dd chirps one last time and dies.";
5206  TotalSize = 20;
5207  SkinColor = rgb16(96, 64, 48);
5208  NameSingular = "bat";
5209  AttackStyle = USE_HEAD;
5210  BaseBiteStrength = 200;
5211  CanBeGenerated = true;
5212  ClassStates = INFRA_VISION;
5213  KnownCWeaponSkills == BITE;
5214  CWeaponSkillHits == 20;
5215  PanicLevel = 75;
5216  FleshMaterial = BAT_FLESH;
5217  AttachedGod = INFUSCOR;
5218  BiteCapturesBodyPart = false;
5219  MoveType = FLY;
5220  IsCatacombCreature = true;
5221}
5222
5223vampirebat /* bat-> */
5224{
5225  DefaultArmStrength = 4;
5226  TorsoSpecialColor = rgb16(220, 0, 0); /* EyeColor */
5227  PanicLevel = 100;
5228  DefaultEndurance = 10;
5229  DefaultIntelligence = 10;
5230  TotalVolume = 1200;
5231  TotalSize = 30;
5232  SkinColor = rgb16(64, 64, 96);
5233  Adjective = "vampire";
5234  AllowedDungeons = { 5, XINROCH_TOMB, ATTNAM, ASLONA_CASTLE, PYRAMID, DARK_FOREST; }
5235}
5236
5237nerfbat /* bat-> */
5238{
5239  DefaultArmStrength = 3;
5240  DefaultIntelligence = 12;
5241  DefaultMana = 20;
5242  TorsoSpecialColor = rgb16(220, 220, 220); /* EyeColor */
5243  SkinColor = rgb16(128, 0, 128);
5244  Frequency = 500;
5245  Adjective = "nurphe";
5246  IgnoreDanger = true;
5247  AllowedDungeons = { 4, GOBLIN_FORT, FUNGAL_CAVE, PYRAMID, DARK_FOREST; }
5248  AttackWisdomLimit = 12;
5249}
5250
5251fruitbat /* bat-> */
5252{
5253  DefaultEndurance = 10;
5254  TorsoSpecialColor = rgb16(180, 180, 180); /* EyeColor */
5255  SkinColor = rgb16(190, 130, 64);
5256  Frequency = 500;
5257  Adjective = "fruit";
5258  IgnoreDanger = true;
5259  IsCatacombCreature = false;
5260  AllowedDungeons = { 3, GOBLIN_FORT, FUNGAL_CAVE, DARK_FOREST; }
5261}
5262
5263mistress
5264{
5265  DefaultArmStrength = 20;
5266  DefaultLegStrength = 20;
5267  DefaultDexterity = 40;
5268  DefaultAgility = 40;
5269  DefaultEndurance = 20;
5270  DefaultPerception = 30;
5271  DefaultIntelligence = 20;
5272  DefaultWillPower = 20;
5273  DefaultWisdom = 20;
5274  DefaultCharisma = 40;
5275  DefaultMana = 10;
5276  Sex = FEMALE;
5277  SkinColor = rgb16(255, 212, 192);
5278  HairColor = rgb16(200, 200, 200);
5279  ClothColor = rgb16(35, 35, 35);
5280  HeadBitmapPos = 112, 240;
5281  TorsoBitmapPos = 48, 96;
5282  ArmBitmapPos = 80, 80;
5283  LegBitmapPos = 16, 32;
5284  TotalVolume = 50000;
5285  TotalSize = 180;
5286  CanRead = true;
5287  NameSingular = "mistress";
5288  NamePlural = "mistresses";
5289  CanBeGenerated = true;
5290  BodyArmor = BLACK_LEATHER bodyarmor(PLATE_MAIL);
5291  RightGauntlet = BLACK_LEATHER gauntlet;
5292  RightBoot = BLACK_LEATHER boot;
5293  RightWielded = NYMPH_HAIR whip { Enchantment = 1; }
5294  LeftWielded = NYMPH_HAIR whip { Enchantment = 1; }
5295  KnownCWeaponSkills == WHIPS;
5296  CWeaponSkillHits == 200;
5297  RightSWeaponSkillHits = 200;
5298  LeftSWeaponSkillHits = 200;
5299  ClassStates = INFRA_VISION;
5300  PanicLevel = 20;
5301  Inventory = { 3, banana { Chance = 10; }, holybanana { Chance = 1; }, RUBBER stick { Chance = 5; } }
5302  HostileReplies == "\"Come closer, little boy, I'll teach you something...\"";
5303  AttachedGod = NEFAS;
5304  FleshMaterial = ELF_FLESH;
5305  WieldedPosition = 0, -1;
5306  FriendlyReplies =
5307  {
5308    9,
5309    "\"What? You want more whip?\"",
5310    "\"I'm not THAT flexible.\"",
5311    "\"I sense a snake about!\"",
5312    "\"Pain! Make of me your quarry!\"",
5313    "\"Sweet, oh sweetest agony!\"",
5314    "\"They say our queen Sherarax uses bear traps for nipple clamps.\"",
5315    "\"The queen of mistresses is selected by a ritual where she must survive a night with Mistress Nefas herself.\"",
5316    "\"Ever participated in the weekly orgy at Nefas' High Temple? I guess not. You wouldn't have survived.\"",
5317    "\"If you think I'm rough, you should avoid Sherarax, my queen. No man has ever lived through a night with her.\"";
5318  }
5319  ScienceTalkAdjectiveAttribute =
5320  {
5321    52,
5322    "applied", "theoretical", "classical", "the future of", "queer",
5323    "practical", "the secrets of", "ancient", "empirical", "statistical",
5324    "the axioms of", "forbidden", "popular", "obscene", "ceremonial",
5325    "environmental", "the code of", "modern", "hard", "unorthodox",
5326    "the principle of", "oral", "commercial", "slippery", "scientific",
5327
5328    "the theory of", "educational", "recreational", "phallic", "gothic",
5329    "motorized",  "tropical", "the purpose of", "happy", "political",
5330    "the history of", "the creative uses of", "chaotic", "erotic", "arctic",
5331    "experimental", "lewd", "clinical", "electrical", "nymphomaniacal",
5332    "intellectual", "the origin of", "hot", "frictionless", "lesbian",
5333
5334    "the art of", "sick";
5335  }
5336  ScienceTalkSubstantiveAttribute =
5337  {
5338    4,
5339    "New Age", "last century", "horseback", "pagan";
5340  }
5341  ScienceTalkPrefix =
5342  {
5343    19,
5344    "", "", "", "", "",
5345    "", "", "", "", "",
5346    "ethno", "mega", "neo", "necro", "aero",
5347    "pyro", "caco", "sado", "hetero";
5348  }
5349  ScienceTalkName =
5350  {
5351    52,
5352    "impalement", "bondage", "slavery", "torture", "disembowelment",
5353    "whipmaking", "orgies", "herecy", "brazen bulls", "necrophilia",
5354    "masochism", "dentistry", "swedish", "feminism", "licking",
5355    "mushrooms", "rock", "nefasim", "birth-control", "fetishes",
5356    "testicle crushing", "pleasures", "anatomy", "pain", "sin",
5357
5358    "bananas", "bestiality", "agony", "Kama Sutra", "spanking",
5359    "piercings", "adultery", "frottage", "thumbscrews", "egoism",
5360    "beer", "castration", "watersports", "scaphism", "seduction",
5361    "iron maidens", "fisting", "drugs", "lingerie", "tablillas",
5362    "poker", "reproduction", "sake", "idolatry", "horror",
5363
5364    "sensory deprivation tanks", "hallucinations";
5365  }
5366  ScienceTalkPossibility = 95;
5367  ScienceTalkIntelligenceModifier = 2;
5368  ScienceTalkWisdomModifier = 1;
5369  ScienceTalkIntelligenceRequirement = 6;
5370  ScienceTalkWisdomRequirement = 3;
5371  IsSadist = true;
5372  IsMasochist = true;
5373
5374  Config TORTURING_CHIEF;
5375  {
5376    HairColor = rgb16(200, 200, 0);
5377    AttributeBonus = 15;
5378    BodyArmor = NYMPH_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 1; }
5379    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 1; }
5380    RightBoot = NYMPH_HAIR boot { Enchantment = 1; }
5381    RightWielded = OMMEL_HAIR whip { Enchantment = 2; }
5382    LeftWielded = OMMEL_HAIR whip { Enchantment = 2; }
5383    CWeaponSkillHits == 500;
5384    RightSWeaponSkillHits = 500;
5385    LeftSWeaponSkillHits = 500;
5386    NameSingular = "mistress torturing chief";
5387    PanicLevel = 15;
5388  }
5389
5390  Config WHIP_CHAMPION;
5391  {
5392    HairColor = rgb16(200, 0, 0);
5393    AttributeBonus = 30;
5394    BodyArmor = OMMEL_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 2; }
5395    RightGauntlet = OMMEL_HAIR gauntlet { Enchantment = 2; }
5396    RightBoot = OMMEL_HAIR boot { Enchantment = 2; }
5397    RightWielded = PHOENIX_FEATHER whip(RUNED_WHIP) { Enchantment = 3; }
5398    LeftWielded = PHOENIX_FEATHER whip(RUNED_WHIP) { Enchantment = 3; }
5399    CWeaponSkillHits == 1000;
5400    RightSWeaponSkillHits = 1000;
5401    LeftSWeaponSkillHits = 1000;
5402    NameSingular = "mistress whip champion";
5403    PanicLevel = 10;
5404  }
5405
5406  Config WAR_LADY;
5407  {
5408    HairColor = rgb16(80, 64, 32);
5409    AttributeBonus = 45;
5410    BodyArmor = PHOENIX_FEATHER bodyarmor(PLATE_MAIL) { Enchantment = 3; }
5411    Cloak = PHOENIX_FEATHER cloak { Enchantment = 3; }
5412    RightGauntlet = PHOENIX_FEATHER gauntlet { Enchantment = 3; }
5413    RightBoot = PHOENIX_FEATHER boot { Enchantment = 3; }
5414    RightWielded = ANGEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 4; }
5415    LeftWielded = ANGEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 4; }
5416    CWeaponSkillHits == 2000;
5417    RightSWeaponSkillHits = 2000;
5418    LeftSWeaponSkillHits = 2000;
5419    NameSingular = "mistress warlady";
5420    NamePlural = "mistress warladies";
5421    PanicLevel = 5;
5422    Inventory == Random { Category = RING; Chance = 10; }
5423  }
5424
5425  Config QUEEN;
5426  {
5427    HairColor = rgb16(35, 35, 35);
5428    AttributeBonus = 60;
5429    BodyArmor = ANGEL_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 4; }
5430    Amulet = amulet(AMULET_OF_LIFE_SAVING);
5431    Cloak = SPIDER_SILK cloak { Enchantment = 4; }
5432    Belt = DRAGON_HIDE belt { Enchantment = 4; }
5433    RightGauntlet = PHOENIX_FEATHER gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
5434    RightRing = ring(RING_OF_TELEPORT_CONTROL);
5435    LeftRing = ring(RING_OF_TELEPORTATION);
5436    RightBoot = DRAGON_HIDE boot(BOOT_OF_KICKING) { Enchantment = 4; }
5437    RightWielded = SPIDER_SILK whipofthievery { Enchantment = 5; }
5438    LeftWielded = SPIDER_SILK chameleonwhip { Enchantment = 5; }
5439    KnownCWeaponSkills = { 2, WHIPS, KICK; }
5440    CWeaponSkillHits = { 2, 5000, 1000; }
5441    RightSWeaponSkillHits = 5000;
5442    LeftSWeaponSkillHits = 5000;
5443    NameSingular = "mistress queen";
5444    PanicLevel = 0;
5445    ClassStates = INVISIBLE|HASTE|INFRA_VISION|ESP;
5446    TamingDifficulty = 50;
5447    IsUnique = true;
5448    CanBeWished = true;
5449    DefaultName = "Sherarax";
5450    DangerModifier = 1500;
5451    IsNameable = false;
5452    CanBeCloned = false;
5453    IsPolymorphable = false;
5454    Inventory = { 4, scrolloftaming, scrolloftaming, wand(WAND_OF_HASTE), wand(WAND_OF_HASTE); }
5455    CanBeConfused = false;
5456    FireResistance = 40;
5457    ElectricityResistance = 40;
5458    EnergyResistance = 40;
5459    IsImmuneToItemTeleport = true;
5460    AllowUnconsciousness = false;
5461    UndeadVersions = false;
5462    IsImmuneToWhipOfThievery = true;
5463    HostileReplies == "\"Bow before your queen!\"";
5464    FriendlyReplies =
5465    {
5466      7,
5467      "@Dd smiles: \"I am not afraid of pain. Quite the opposite.\"",
5468      "\"Rend me! Gore me! Pain forges me!\"",
5469      "\"The truth is, I... you... for some reason, I think I lik-eeehh, nevermind! It's nothing!\"",
5470      "\"Come closer, little boy, I'll give you something good!\"",
5471      "\"Bad kitty! I need to punish you.\"",
5472      "\"You can serve me to the end of your days, for you are my dearest slave.\"",
5473      "\"And I told her: 'That was awsome, but I said I will need some cunning linguists for the meeting.'\"";
5474    }
5475    DeathMessage = "@Dd dies with a smile: \"Good night, darling...\"";
5476  }
5477}
5478
5479werewolfhuman
5480{
5481  DefaultArmStrength = 20;
5482  DefaultLegStrength = 20;
5483  DefaultDexterity = 20;
5484  DefaultAgility = 20;
5485  DefaultEndurance = 15;
5486  DefaultPerception = 18;
5487  DefaultIntelligence = 20;
5488  DefaultWillPower = 20;
5489  DefaultWisdom = 20;
5490  DefaultCharisma = 20;
5491  DefaultMana = 20;
5492  TotalVolume = 70000;
5493  EyeColor = rgb16(160, 0, 0);
5494  ClothColor = rgb16(114, 84, 52);
5495  HeadBitmapPos = 96, 0;
5496  TorsoBitmapPos = 48, 0;
5497  ArmBitmapPos = 64, 0;
5498  LegBitmapPos = 0, 176;
5499  HostileReplies =
5500  {
5501    4,
5502    "\"I bet your innards taste real sweet!\"",
5503    "\"Yummy! I was getting tired of kobolds.\"",
5504    "@Dd throws back @sp head and lets out a blood-curdling howl!",
5505    "@Dd growls: \"Another adventurer? I just got through picking my teeth from the last.\"";
5506  }
5507  FriendlyReplies =
5508  {
5509    4,
5510    "@Dd screams in a friendly manner.",
5511    "\"Does the black moon howl?\"",
5512    "\"Flesh. Blood. Raw hearts and shredded bones!\"",
5513    "\"Full moon - my greatest love, my greatest fear.\"";
5514  }
5515  TotalSize = 170;
5516  NameSingular = "werewolf";
5517  NamePlural = "werewolves";
5518  AttackStyle = USE_ARMS;
5519  CanBeGenerated = true;
5520  CanRead = true;
5521  ClassStates = LYCANTHROPY;
5522  KnownCWeaponSkills == UNARMED;
5523  CWeaponSkillHits == 200;
5524  BaseUnarmedStrength = 300;
5525  FleshMaterial = WERE_WOLF_FLESH;
5526  AttachedGod = INFUSCOR;
5527  UndeadVersions = false;
5528}
5529
5530werewolfwolf
5531{
5532  DefaultArmStrength = 25;
5533  DefaultLegStrength = 25;
5534  DefaultDexterity = 35;
5535  DefaultAgility = 35;
5536  DefaultEndurance = 25;
5537  DefaultPerception = 24;
5538  DefaultIntelligence = 10;
5539  DefaultWillPower = 10;
5540  DefaultWisdom = 10;
5541  DefaultCharisma = 10;
5542  DefaultMana = 0;
5543  TotalVolume = 70000;
5544  EyeColor = rgb16(200, 200, 0);
5545  ClothColor = rgb16(114, 84, 52);
5546  SkinColor = rgb16(100, 100, 100);
5547  HeadBitmapPos = 112, 144;
5548  TorsoBitmapPos = 48, 0;
5549  ArmBitmapPos = 64, 240;
5550  LegBitmapPos = 0, 192;
5551  HostileReplies == "@Dd growls in fury.";
5552  FriendlyReplies =
5553  {
5554    5,
5555    "@Dd growls.",
5556    "@Dd howls.",
5557    "@Dd yips.",
5558    "@Dd whines.",
5559    "@Dd barks.";
5560  }
5561  TotalSize = 200;
5562  NameSingular = "werewolf";
5563  NamePlural = "werewolves";
5564  AttackStyle = USE_HEAD;
5565  Sex = UNDEFINED;
5566  BaseBiteStrength = 1200;
5567  CanUseEquipment = false;
5568  CanBeWished = false;
5569  ClassStates = INFRA_VISION|LYCANTHROPY;
5570  PanicLevel = 0;
5571  FleshMaterial = WERE_WOLF_FLESH;
5572  AttachedGod = INFUSCOR;
5573  WillCarryItems = true;
5574  UndeadVersions = false;
5575
5576  Config DRUID;
5577  {
5578    DefaultWillPower = 50;
5579    ArmBitmapPos = 64, 208;
5580    EyeColor = rgb16(34, 139, 34);
5581    ClothColor = rgb16(0, 160, 0);
5582    DefaultName = "Moryggan";
5583    PostFix = "druidess of Silva";
5584    RightWielded = WHITE_JADE taiaha { Enchantment = 2; }
5585    Cloak = DARK_PETAL cloak { Enchantment = 2; }
5586    KnownCWeaponSkills = { 2, POLE_ARMS, BITE; }
5587    CWeaponSkillHits = { 2, 50, 100; }
5588    RightSWeaponSkillHits = 20;
5589    FireResistance = 30;
5590    ElectricityResistance = 30;
5591    EnergyResistance = 30;
5592    TamingDifficulty = 20;
5593    CanUseEquipment = true;
5594    IsNameable = false;
5595    IsUnique = true;
5596    CanBeCloned = false;
5597    CanBeGenerated = true;
5598    IsPolymorphable = false;
5599    HostileReplies =
5600    {
5601      3,
5602      "@Dd growls: \"@Gd! I offer thee this sacrifice of flesh and violence!\"",
5603      "@Dd snarls in disdain.",
5604      "\"Ah... Fresh meat.\"";
5605    }
5606    FriendlyReplies =
5607    {
5608      3,
5609      "\"When I was bitten, @Gd blessed me with will strong enough to last through the transformation.\"",
5610      "\"The tattoos? They are pure moonsilver, enchanted with magic of nature and protection. They prevent the changing of forms and ward my mind against the madness of lycanthropy.\"",
5611      "\"I did not choose to become a monster, yet I am a werewolf. I am what I am.\"";
5612    }
5613    AttackStyle = USE_ARMS|USE_HEAD;
5614    Sex = FEMALE;
5615    ClassStates = INFRA_VISION|LYCANTHROPY|REGENERATION|POLYMORPH_LOCK;
5616    AttachedGod = SILVA;
5617    Inventory = { 3, scrollofearthquake, scrollofhardenmaterial, holybook(SILVA); }
5618  }
5619}
5620
5621vampire
5622{
5623  DefaultArmStrength = 20;
5624  DefaultLegStrength = 20;
5625  DefaultDexterity = 24;
5626  DefaultAgility = 24;
5627  DefaultEndurance = 15;
5628  DefaultPerception = 24;
5629  DefaultIntelligence = 20;
5630  DefaultWillPower = 20;
5631  DefaultWisdom = 20;
5632  DefaultCharisma = 20;
5633  DefaultMana = 20;
5634  TotalVolume = 70000;
5635  EyeColor = rgb16(180, 0, 0);
5636  HairColor = rgb16(8, 8, 8);
5637  ClothColor = rgb16(32, 0, 0);
5638  SkinColor = rgb16(208, 164, 164);
5639  BeltColor = rgb16(8, 8, 8);
5640  BootColor = rgb16(8, 8, 8);
5641  TorsoSpecialColor = rgb16(108, 108, 0);
5642  GauntletColor = rgb16(208, 164, 164);
5643  HeadBitmapPos = 96, 528;
5644  TorsoBitmapPos = 32, 304;
5645  LegBitmapPos = 0, 48;
5646  ArmBitmapPos = 80, 176;
5647  HostileReplies =
5648  {
5649    4,
5650    "\"Don't try to run. I will find you. I will always find you.\"",
5651    "\"I will suck you dry!\"",
5652    "\"This is my hunting ground that you dare to prowl!\"",
5653    "@Dd hisses: \"There is no place to run.\"";
5654  }
5655  FriendlyReplies =
5656  {
5657    10,
5658    "\"What's that smell? The sweet blood! Oh, it sings to me! It's enough to make a man sick.\"",
5659    "\"Blessed be blood!\"",
5660    "\"Blood makes us human, makes us more than human, makes us human no more.\"",
5661    "\"Vampires have a sense of smell ten times more acute than humans. And you blame us for being repulsed by garlic?\"",
5662    "\"Of course I die when you stake me in the heart and cut off my head. Everything dies when you stake it in the heart and cut off its head!\"",
5663    "\"Shall we prowl the night, master?\"",
5664    "\"Good feedings to you!\"",
5665    "\"I hate silver! It's so cold and gloomy. I much prefer wearing gold.\"",
5666    "\"I loathe the sun. All the sparkling drives me crazy.\"",
5667    "\"No, I can't cross running water. But can you?\"";
5668  }
5669  TotalSize = 170;
5670  NameSingular = "vampire";
5671  AttackStyle = USE_HEAD;
5672  KnownCWeaponSkills == BITE;
5673  CWeaponSkillHits == 200;
5674  Sex = MALE;
5675  BaseBiteStrength = 800;
5676  CanBeWished = false;
5677  ClassStates = HASTE|INFRA_VISION|VAMPIRISM;
5678  ConsumeFlags = CT_LIQUID; /* Could limit that further to only blood. */
5679  PanicLevel = 0;
5680  FleshMaterial = VAMPIRE_FLESH;
5681  AttachedGod = MORTIFER;
5682  WillCarryItems = true;
5683  CanUseEquipment = false;
5684  CanBeGenerated = true;
5685  CanRead = true;
5686  UndeadVersions = false;
5687  IsCatacombCreature = true;
5688  IsUndead = true;
5689  StandVerb = "prowling";
5690  BonusBiteStrength = 0; /* Doesn't need to be more powerful */
5691  AllowedDungeons = { 3, ATTNAM, XINROCH_TOMB, PYRAMID; }
5692}
5693
5694kobold
5695{
5696  DefaultArmStrength = 6;
5697  DefaultLegStrength = 6;
5698  DefaultDexterity = 7;
5699  DefaultAgility = 9;
5700  DefaultEndurance = 9;
5701  DefaultPerception = 12;
5702  DefaultIntelligence = 4;
5703  DefaultWillPower = 4;
5704  DefaultWisdom = 4;
5705  DefaultCharisma = 4;
5706  DefaultMana = 0;
5707  SkinColor = rgb16(60, 120, 120);
5708  EyeColor = rgb16(180, 180, 0);
5709  HairColor = rgb16(35, 35, 35);
5710  ClothColor = rgb16(48, 48, 48);
5711  LegMainColor = rgb16(111, 74, 37);
5712  HeadBitmapPos = 112, 208;
5713  TorsoBitmapPos = 48, 176;
5714  ArmBitmapPos = 64, 176;
5715  LegBitmapPos = 16, 112;
5716  TotalVolume = 30000;
5717  TotalSize = 90;
5718  NameSingular = "kobold";
5719  CanBeGenerated = true;
5720  Sex = UNDEFINED;
5721  ClassStates = SEARCHING;
5722  RightWielded = BALSA_WOOD BALSA_WOOD meleeweapon(SPEAR);
5723  KnownCWeaponSkills == POLE_ARMS;
5724  CWeaponSkillHits == 5;
5725  RightSWeaponSkillHits = 0;
5726  PanicLevel = 75;
5727  FleshMaterial = KOBOLD_FLESH;
5728  HostileReplies =
5729  {
5730    5,
5731    "@Dd grunts angrily.",
5732    "@Dd yells at the top of @sp lungs.",
5733    "@Dd makes vulgar gestures in your general direction.",
5734    "@Dd eyes you warily.",
5735    "@Dd screams: \"You killed all my friends!\"";
5736  }
5737  DeathMessage = "@Dd dies yelling like a tortured hyena.";
5738  StandVerb = "skulking";
5739  AttachedGod = CRUENTUS;
5740  WieldedPosition = 0, -1;
5741  IsExtraFragile = true;
5742
5743  Config HUNTER;
5744  {
5745    AttributeBonus = 30;
5746    RightWielded = COPPER PINE_WOOD meleeweapon(SPEAR);
5747    CWeaponSkillHits == 10;
5748    RightSWeaponSkillHits = 5;
5749    NameSingular = "kobold hunter";
5750    PanicLevel = 66;
5751    ClothColor = rgb16(100, 100, 48);
5752    LegMainColor = rgb16(111, 74, 37);
5753  }
5754
5755  Config WARRIOR;
5756  {
5757    AttributeBonus = 60;
5758    RightWielded = IRON FIR_WOOD meleeweapon(SPEAR);
5759    LeftWielded = FIR_WOOD shield;
5760    KnownCWeaponSkills = { 2, POLE_ARMS, SHIELDS; }
5761    CWeaponSkillHits = { 2, 20, 20; }
5762    RightSWeaponSkillHits = 10;
5763    LeftSWeaponSkillHits = 10;
5764    NameSingular = "kobold warrior";
5765    PanicLevel = 50;
5766    ClothColor = rgb16(160, 0, 0);
5767    LegMainColor = rgb16(111, 74, 37);
5768    Inventory == Random { Category = RING; Chance = 5; }
5769  }
5770
5771  Config PATRIARCH;
5772  {
5773    AttributeBonus = 120;
5774    Helmet = METEORIC_STEEL helmet;
5775    BodyArmor = METEORIC_STEEL bodyarmor(CHAIN_MAIL);
5776    RightWielded = MITHRIL meleeweapon(SPEAR) { Enchantment = 1; }
5777    Belt = OMMEL_HAIR belt;
5778    Cloak = NYMPH_HAIR cloak;
5779    RightGauntlet = NYMPH_HAIR gauntlet;
5780    RightBoot = TROLL_HIDE boot;
5781    CWeaponSkillHits == 100;
5782    RightSWeaponSkillHits = 50;
5783    NameSingular = "kobold patriarch";
5784    IsUnique = true;
5785    CanBeWished = true;
5786    DefaultName = "Rondol";
5787    DangerModifier = 2500;
5788    IsNameable = false;
5789    CanBeCloned = false;
5790    TotalVolume = 70000;
5791    PanicLevel = 33;
5792    TotalSize = 120;
5793    ClothColor = rgb16(144, 0, 144);
5794    LegMainColor = rgb16(111, 74, 37);
5795    Inventory == wand(WAND_OF_POLYMORPH);
5796    FireResistance = 20;
5797    ElectricityResistance = 20;
5798    EnergyResistance = 20;
5799    IsExtraFragile = false;
5800    TamingDifficulty = 15;
5801    IsSadist = true;
5802    UndeadVersions = false;
5803    Sex = MALE;
5804    FriendlyReplies =
5805    {
5806      8,
5807      "\"My family traces its lineage all the way back to Karl, a scholar-knight of Sophos who became the first kobold patriarch.\"",
5808      "\"The Path of Enlightenment is the greatest legacy our first patriarch Karl could bequeath to us. It will lead all kobolds out of the darkness of savagery.\"",
5809      "\"If a kobold speaks or acts with an evil thought, pain follows him. If a kobold speaks or acts with a pure thought, happiness follows him.\"",
5810      "\"Even death is not to be feared by a kobold who has lived wisely.\"",
5811      "\"You will not be punished for your anger, you will be punished by your anger.\"",
5812      "\"I often struggle to lead my kind on the Path of Enlightenment, but I must persevere. Too long we were beasts, now we shall become people.\"",
5813      "\"The mind is everything. What you think you become.\"",
5814      "\"Peace comes from within. Do not seek it without.\"";
5815    }
5816    HostileReplies =
5817    {
5818      4,
5819      "@Dd snarls: \"You murderer!\"",
5820      "@Dd frowns: \"I cannot let you terrorize my kind any longer.\"",
5821      "\"Die, you widowmaker!\"",
5822      "\"How many of my kin have you slaughtered?!\"";
5823    }
5824  }
5825
5826  Config ASSASSIN;
5827  {
5828    AttributeBonus = 90;
5829    RightWielded = IRON IRON meleeweapon(DAGGER) { Enchantment = 1; }
5830    LeftWielded = IRON IRON meleeweapon(DAGGER) { Enchantment = 1; }
5831    KnownCWeaponSkills == SMALL_SWORDS;
5832    CWeaponSkillHits == 50;
5833    RightSWeaponSkillHits = 20;
5834    LeftSWeaponSkillHits = 20;
5835    NameSingular = "kobold assassin";
5836    PanicLevel = 40;
5837    CriticalModifier = 10;
5838    ClothColor = rgb16(80, 80, 160);
5839    LegMainColor = rgb16(111, 74, 37);
5840    TotalSize = 80;
5841    Inventory == Random { Category = POTION; Chance = 25; }
5842  }
5843
5844  Config MASTER_ASSASSIN;
5845  {
5846    AttributeBonus = 120;
5847    Helmet = TIN helmet(MASK) { Enchantment = 2; }
5848    BodyArmor = NYMPH_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 2; }
5849    RightWielded = MITHRIL MITHRIL daggerofvenom { Enchantment = 2; }
5850    LeftWielded = MITHRIL MITHRIL daggerofvenom { Enchantment = 2; }
5851    Belt = NYMPH_HAIR belt;
5852    Cloak = NYMPH_HAIR cloak(CLOAK_OF_INVISIBILITY);
5853    RightGauntlet = NYMPH_HAIR gauntlet;
5854    RightBoot = NYMPH_HAIR boot;
5855    RightRing = ring(RING_OF_INFRA_VISION);
5856    KnownCWeaponSkills == SMALL_SWORDS;
5857    CWeaponSkillHits == 100;
5858    RightSWeaponSkillHits = 50;
5859    LeftSWeaponSkillHits = 50;
5860    DefaultName = "Trenia";
5861    NameSingular = "kobold master assassin";
5862    IsUnique = true;
5863    CanBeWished = true;
5864    DangerModifier = 2500;
5865    IsNameable = false;
5866    CanBeCloned = false;
5867    TotalSize = 70;
5868    PanicLevel = 20;
5869    CriticalModifier = 10;
5870    ClothColor = rgb16(20, 20, 160);
5871    LegMainColor = rgb16(111, 74, 37);
5872    Inventory == Random { Category = POTION; Times = 2:8; }
5873    FireResistance = 20;
5874    ElectricityResistance = 20;
5875    EnergyResistance = 20;
5876    IsExtraFragile = false;
5877    TamingDifficulty = 15;
5878    IsSadist = true;
5879    UndeadVersions = false;
5880    Sex = FEMALE;
5881  }
5882}
5883
5884gibberling
5885{
5886  DefaultArmStrength = 7;
5887  DefaultLegStrength = 7;
5888  DefaultDexterity = 5;
5889  DefaultAgility = 15;
5890  DefaultEndurance = 10;
5891  DefaultPerception = 15;
5892  DefaultIntelligence = 4;
5893  DefaultWillPower = 4;
5894  DefaultWisdom = 4;
5895  DefaultCharisma = 5;
5896  DefaultMana = 0;
5897  SkinColor = rgb16(100, 100, 200);
5898  HairColor = rgb16(50, 20, 80);
5899  ClothColor = rgb16(111, 74, 37);
5900  EyeColor = rgb16(50, 0, 0);
5901  HeadBitmapPos = 112, 96;
5902  TorsoBitmapPos = 48, 144;
5903  ArmBitmapPos = 80, 144;
5904  LegBitmapPos = 16, 128;
5905  TotalVolume = 30000;
5906  TotalSize = 90;
5907  SkinColor = rgb16(100, 100, 200);
5908  NameSingular = "gibberling";
5909  CanBeGenerated = true;
5910  Sex = UNDEFINED;
5911  CanUseEquipment = false;
5912  CanTalk = false; /* can, but no-one understands the gibberish */
5913  KnownCWeaponSkills == UNARMED;
5914  CWeaponSkillHits == 50;
5915  PanicLevel = 85;
5916  BaseUnarmedStrength = 300;
5917  FleshMaterial = GIBBERLING_FLESH;
5918  AttachedGod = SILVA;
5919  ClassStates = SWIMMING;
5920  WillCarryItems = false;
5921  IsExtraFragile = true;
5922  HostileReplies =
5923  {
5924    22, /* Gibberlings insult you in gibberish! */
5925    "\"Poshyel k chyertu!\"", /* russian */
5926    "\"Antiquis temporibus, nati tibi in rupibus ventosissimis exponebantur ad necem.\"", /* latin */
5927    "\"Vouz avez plein de merde.\"",  /* french */
5928    "\"Zhebni, debile.\"",  /* czech */
5929    "\"Vaffanculo!\"", /* italian */
5930    "\"Hisap telur!\"", /* malay */
5931    "\"Elif air ab tizak!\"", /* arabic */
5932    "\"Gellbourria salak!\"", /* turkish */
5933    "\"Hum kah chan!\"", /* cantonese */
5934    "\"Du Hurensohn!\"", /* german */
5935    "\"Baka yaro!\"", /* japanese */
5936    "\"Preklet kurac!\"", /* slovenian */
5937    "\"Cachu bant ti cachu mes!\"", /* welsh */
5938    "\"Lofasz a segedben!\"", /* hungarian */
5939    "\"Yumago!\"", /* korean */
5940    "\"Jebiesz jeze!\"", /* polish*/
5941    "@Dd sneers at you. \"Mishugena.\"", /* yiddish */
5942    "\"Lech zayen para.\"", /* hebrew */
5943    "\"Dra at skogen.\"", /* swedish */
5944    "\"Pinche idiota!\"", /* spanish */
5945    "\"Tha sou skiso to mouni!\"", /* greek */
5946    "\"Kurav tu ando mul!\""; /* romanian */
5947  }
5948  FriendlyReplies =
5949  {
5950    13, /* Famous literature, distorted into gibberish. */
5951    "\"Who would fard that dream? Ay, and there's tural shocks that dreams momething afterprises the sleep; no more!\"", /* Hamlet */
5952    "\"Buzzing a buzzing-noise, put lived unders, and he got of all he tree, and buzzing. If there's a buzzing.\"", /* Winnie the Pooh */
5953    "\"Shoot at tin the backyard, but sin cribs, do somethingbirds. That tin to enjoy. That's a sing, and I asked Miss Maudie.\"", /* To Kill a Mockingbird */
5954    "\"The heart. The most be seen or touched, things in they are felt with the heart.\"", /* The Little Prince */
5955    "\"Fear is the its past not fear has gone that brings to see inner me. And then my fear. Fear is there will turn the inner me.\"", /* Dune */
5956    "\"You want you remember and you? Yes. You forever, he said. You want to forget.\"", /* The Road */
5957    "\"Candles exploding, burn live, the same are mad to talk, mad to like stars.\"", /* On The Road */
5958    "\"Did seraphs, exhibit number for a princedom by the was and gentlemen initial girl-child. She tongue tip of my loin!\"", /* Lolita */
5959    "\"That sometimes you realize truth arrives on you can't even now, I wonder how much of my life is convinced.\"", /* The Book Thief */
5960    "\"Minitrue, which mainment, education and Minipax, the Miniluv and order. The Miniplenty.\"", /* 1984 */
5961    "\"But I wasn't me thing deaf; it was people that first started acting like I remembered one that first started acting.\"", /* One Flew Over the Cuckoos Nest */
5962    "\"And better to commit a hasty action which nobody feels but yourself, than to all consequences with yourself.\"", /* Jane Eyre */
5963    "@Dd gibbers.";
5964  }
5965
5966  Config LORD;
5967  {
5968    AttributeBonus = 50;
5969    BodyArmor = ROSE_QUARTZ bodyarmor(PLATE_MAIL) { Enchantment = 3; }
5970    Cloak = cloak(CLOAK_OF_ACID_RESISTANCE) { Enchantment = 3; }
5971    RightWielded = ROSE_QUARTZ ROSE_QUARTZ weepblade { Enchantment = 3; }
5972    LeftWielded = ROSE_QUARTZ acidshield { Enchantment = 3; }
5973    KnownCWeaponSkills = { 2, SMALL_SWORDS, SHIELDS; }
5974    CWeaponSkillHits = { 2, 100, 100; }
5975    RightSWeaponSkillHits = 50;
5976    LeftSWeaponSkillHits = 50;
5977    DefaultName = "Ydhee-Yiggub";
5978    NameSingular = "gibberlord";
5979    PanicLevel = 15;
5980    FireResistance = 15;
5981    ElectricityResistance = 15;
5982    EnergyResistance = 15;
5983    TamingDifficulty = 15;
5984    ClassStates = SWIMMING|GAS_IMMUNITY;
5985    ClothColor = rgb16(139, 0, 139);
5986    CanUseEquipment = true;
5987    WillCarryItems = true;
5988    IsExtraFragile = false;
5989    IsNameable = false;
5990    IsUnique = true;
5991    CanBeCloned = false;
5992    IsPolymorphable = false;
5993    UndeadVersions = false;
5994    Inventory == gasgrenade { Times = 3:7; }
5995  }
5996}
5997
5998feline
5999{
6000  IsAbstract = true;
6001  AttackStyle = USE_HEAD;
6002  KnownCWeaponSkills == BITE;
6003  HostileReplies =
6004  {
6005    4,
6006    "@Dd mews in a low, disconcerting tone.",
6007    "@Dd flattens its ears.",
6008    "@Dd bristles up.",
6009    "@Dd hisses menacingly!";
6010  }
6011  FriendlyReplies =
6012  {
6013    8,
6014    "@Dd mews.",
6015    "@Dd purrs.",
6016    "@Dd weaves between your legs.",
6017    "@Dd kneads you with its paws. Ouch!",
6018    "@Dd yowls.",
6019    "@Dd says: \"Nyah.\"",
6020    "You pet @dd.",
6021    "@Dd headbutts you playfully.";
6022  }
6023}
6024
6025largecat /* feline-> */
6026{
6027  DefaultArmStrength = 4;
6028  DefaultAgility = 35;
6029  DefaultEndurance = 10;
6030  DefaultPerception = 21;
6031  DefaultIntelligence = 10;
6032  DefaultWillPower = 15;
6033  DefaultWisdom = 10;
6034  DefaultCharisma = 20;
6035  DefaultMana = 0;
6036  TotalVolume = 15000;
6037  TorsoBitmapPos = 496, 0;
6038  TotalSize = 60;
6039  SkinColor = rgb16(50, 50, 50);
6040  Adjective = "large";
6041  NameSingular = "cat";
6042  BaseBiteStrength = 600;
6043  CanBeGenerated = true;
6044  CWeaponSkillHits == 50;
6045  ClassStates = INFRA_VISION;
6046  FleshMaterial = CAT_FLESH;
6047  AttachedGod = SILVA;
6048  DangerModifier = 50;
6049}
6050
6051largerat
6052{
6053  DefaultArmStrength = 3;
6054  DefaultAgility = 20;
6055  DefaultEndurance = 10;
6056  DefaultPerception = 12;
6057  DefaultIntelligence = 5;
6058  DefaultWillPower = 5;
6059  DefaultWisdom = 5;
6060  DefaultCharisma = 4;
6061  DefaultMana = 0;
6062  CanOpen = false;
6063  TotalVolume = 4000;
6064  TorsoBitmapPos = 512, 0;
6065  HostileReplies =
6066  {
6067    2,
6068    "@Dd bares its tiny fangs.",
6069    "The furious @du squeaks.";
6070  }
6071  FriendlyReplies =
6072  {
6073    4,
6074    "@Dd squeaks in a friendly manner.",
6075    "@Dd wiggles its ears at you.",
6076    "@Dd scratches in the dirt.",
6077    "@Dd sniffs at you.";
6078  }
6079  TotalSize = 30;
6080  SkinColor = rgb16(180, 100, 40);
6081  Adjective = "large";
6082  NameSingular = "rat";
6083  AttackStyle = USE_HEAD;
6084  BaseBiteStrength = 350;
6085  CanBeGenerated = true;
6086  KnownCWeaponSkills == BITE;
6087  CWeaponSkillHits == 20;
6088  ClassStates = INFRA_VISION;
6089  FleshMaterial = RAT_FLESH;
6090  AttachedGod = SCABIES;
6091  MoveType = WALK|SWIM;
6092  IsCatacombCreature = true;
6093}
6094
6095angel
6096{
6097  DefaultArmStrength = 25;
6098  DefaultLegStrength = 25;
6099  DefaultDexterity = 25;
6100  DefaultAgility = 25;
6101  DefaultEndurance = 25;
6102  DefaultPerception = 35;
6103  DefaultIntelligence = 25;
6104  DefaultWillPower = 25;
6105  DefaultWisdom = 35;
6106  DefaultCharisma = 50;
6107  DefaultMana = 35;
6108  TamingDifficulty = NO_TAMING;
6109  Sex = FEMALE;
6110  ClassStates = ESP|GAS_IMMUNITY|TELEPORT_CONTROL;
6111  TotalVolume = 60000;
6112  TorsoBitmapPos = 432, 0;
6113  TotalSize = 200;
6114  CanRead = true;
6115  NameSingular = "angel";
6116  UsesLongArticle = true;
6117  SkinColor = rgb16(200, 200, 200);
6118  HairColor = rgb16(180, 180, 0);
6119  EyeColor = rgb16(48, 48, 255);
6120  HeadBitmapPos = 112, 256;
6121  TorsoBitmapPos = 48, 256;
6122  ArmBitmapPos = 80, 256;
6123  /* LegBitmapPos is not used */
6124  CreateDivineConfigurations = true;
6125  IsAbstract = true;
6126  /* Equipment initialization overridden */
6127  PanicLevel = 0;
6128  BaseUnarmedStrength = 200;
6129  HostileReplies =
6130  {
6131    3,
6132    "\"Repent!\"",
6133    "\"Wrath of @Gd be upon thee!\"",
6134    "\"With the power of @Gd, I shall slay thee, sinner!\"";
6135  }
6136  FriendlyReplies =
6137  {
6138    7,
6139    "\"Do not be afraid!\"",
6140    "\"@Gd be with you, mortal.\"",
6141    "\"@Gd is in the Heavens. All is right over the world.\"",
6142    "\"Even though you walk through the valley of the shadow of death, you shall fear no one for @Gd is at your side.\"",
6143    "\"I am but a humble servant of @Gd.\"",
6144    "\"You are not worthy of @Gd, mortal. Alas, gods need your prayers badly.\"",
6145    "\"I was created to sing praises on @Gd. I am destined to die for @Gd. All hail @Gd!\"";
6146  }
6147  DeathMessage = "@Dd leaves this mortal plane behind.";
6148  StandVerb = "flying";
6149  AttachedGod = NONE;
6150  BodyPartsDisappearWhenSevered = true;
6151  CanBeConfused = false;
6152  WieldedPosition = 0, -2;
6153  MoveType = FLY;
6154  UsesNutrition = false;
6155  IsPolymorphable = false;
6156  ScienceTalkPossibility = 25;
6157  ScienceTalkIntelligenceModifier = 25;
6158  ScienceTalkWisdomModifier = 100;
6159  ScienceTalkIntelligenceRequirement = 10;
6160  ScienceTalkWisdomRequirement = 20;
6161  CanChoke = false;
6162  UndeadVersions = false;
6163
6164  Config MELLIS;
6165  {
6166    IsSadist = true;
6167  }
6168
6169  Config CLEPTIA;
6170  {
6171    IsSadist = true;
6172  }
6173
6174  Config NEFAS;
6175  {
6176    IsSadist = true;
6177    IsMasochist = true;
6178  }
6179
6180  Config SCABIES;
6181  {
6182    IsSadist = true;
6183  }
6184
6185  Config INFUSCOR;
6186  {
6187    IsSadist = true;
6188  }
6189
6190  Config CRUENTUS;
6191  {
6192    IsSadist = true;
6193  }
6194
6195  Config MORTIFER;
6196  {
6197    IsSadist = true;
6198  }
6199}
6200
6201kamikazedwarf
6202{
6203  DefaultArmStrength = 20;
6204  DefaultLegStrength = 20;
6205  DefaultDexterity = 20;
6206  DefaultAgility = 20;
6207  DefaultEndurance = 15;
6208  DefaultPerception = 18;
6209  DefaultIntelligence = 10;
6210  DefaultWillPower = 30;
6211  DefaultWisdom = 5;
6212  DefaultCharisma = 10;
6213  DefaultMana = 10;
6214  HeadBitmapPos = 112, 160;
6215  TorsoBitmapPos = 48, 16;
6216  ArmBitmapPos = 80, 0;
6217  LegBitmapPos = 0, 208;
6218  HairColor = rgb16(144, 72, 0);
6219  BeltColor = rgb16(72, 56, 16);
6220  TotalVolume = 60000;
6221  TotalSize = 130;
6222  CanRead = true;
6223  NameSingular = "kamikaze dwarf";
6224  NamePlural = "kamikaze dwarves";
6225  CanBeGenerated = true;
6226  CreateDivineConfigurations = true;
6227  IsAbstract = true;
6228  /* Equipment initialization overridden */
6229  PanicLevel = 1;
6230  Inventory == backpack;
6231  FleshMaterial = DWARF_FLESH;
6232  DeathMessage = "@Dd dies smiling.";
6233  IgnoreDanger = true;
6234  HPRequirementForGeneration = 60;
6235  DayRequirementForGeneration = 6;
6236  Frequency = 300;
6237  AttachedGod = NONE;
6238  WieldedPosition = -1, -2;
6239  HostileReplies =
6240  {
6241    4,
6242    "@Dd smiles at you, eyes glowing with religious mania.",
6243    "\"Die, infidel!\"",
6244    "\"For the glory of @Gd!\"",
6245    "\"Heaven awaits me in the house of @Gd after I bomb you, heretic!\"";
6246  }
6247  FriendlyReplies =
6248  {
6249    8,
6250    "\"Would you like me to teach you the best suicidal bombing tactics?\"",
6251    "\"I love the smell of gunpowder in the morning.\"",
6252    "\"My life for @Gd!\"",
6253    "\"Short? Who called me short?!\"",
6254    "\"Someone said I have a short fuse. OF COURSE I HAVE A SHORT FUSE! HOW ELSE AM I MEANT TO CLEANSE MY ENEMIES IN HOLY FIRE?!\"",
6255    "@Dd shouts: \"Death to disbelievers!\"",
6256    "@Dd praises @Gd with numerous hymns. @Pp is obviously a very devoted follower.",
6257    "\"One day, Holy War will break out and I shall sacrifice my life with joy.\"";
6258  }
6259}
6260
6261mammoth
6262{
6263  DefaultArmStrength = 80;
6264  DefaultAgility = 20;
6265  DefaultEndurance = 15;
6266  DefaultPerception = 18;
6267  DefaultIntelligence = 5;
6268  DefaultWillPower = 7;
6269  DefaultWisdom = 7;
6270  DefaultCharisma = 10;
6271  DefaultMana = 0;
6272  TotalVolume = 2000000;
6273  TorsoBitmapPos = 528, 0;
6274  HostileReplies == "@Dd roars furiously.";
6275  FriendlyReplies == "@Dd roars kindly.";
6276  TotalSize = 500;
6277  SkinColor = rgb16(100, 130, 160);
6278  Adjective = "baby";
6279  NameSingular = "mammoth";
6280  AttackStyle = USE_LEGS|USE_HEAD;
6281  BaseKickStrength = 1000;
6282  BaseBiteStrength = 500;
6283  CanBeGenerated = true;
6284  CanKick = true;
6285  KnownCWeaponSkills = { 2, KICK, BITE; }
6286  CWeaponSkillHits = { 2, 50, 50; }
6287  PanicLevel = 10;
6288  FleshMaterial = MAMMOTH_FLESH;
6289  AttachedGod = SILVA;
6290  Frequency = 2500;
6291  IsEnormous = true;
6292}
6293
6294unicorn
6295{
6296  DefaultArmStrength = 15;
6297  DefaultAgility = 40;
6298  DefaultEndurance = 10;
6299  DefaultPerception = 18;
6300  DefaultIntelligence = 25;
6301  DefaultWillPower = 20;
6302  DefaultWisdom = 20;
6303  DefaultCharisma = 30;
6304  DefaultMana = 25;
6305  HostileReplies == "The furious @du neighs.";
6306  FriendlyReplies =
6307  {
6308    3,
6309    "@Dd neighs.",
6310    "@Dd whinnies.",
6311    "@Dd whickers.";
6312  }
6313  DeathMessage = "@Dd neighs one last time and dies.";
6314  TotalVolume = 100000;
6315  TorsoBitmapPos = 544, 0;
6316  TotalSize = 200;
6317  NameSingular = "unicorn";
6318  AttackStyle = USE_LEGS|USE_HEAD;
6319  ConsumeFlags = CT_FRUIT|CT_LIQUID|CT_MISC_PLANT|CT_PROCESSED;
6320  BaseKickStrength = 700;
6321  BaseBiteStrength = 350;
6322  CanBeGenerated = true;
6323  CanKick = true;
6324  IsAbstract = true;
6325  TorsoMainColor = rgb16(200, 200, 200); /* the horn */
6326  KnownCWeaponSkills = { 2, KICK, BITE; }
6327  CWeaponSkillHits = { 2, 50, 50; }
6328  Inventory = { 2, stone { Chance = 50; }, stone { Chance = 50; } }
6329  Frequency = 5000;
6330
6331  Config GOOD;
6332  {
6333    SkinColor = rgb16(200, 200, 200);
6334    Adjective = "white";
6335    FleshMaterial = WHITE_UNICORN_FLESH;
6336    AttachedGod = DULCIS;
6337  }
6338
6339  Config NEUTRAL;
6340  {
6341    SkinColor = rgb16(144, 144, 144);
6342    Adjective = "gray";
6343    FleshMaterial = GRAY_UNICORN_FLESH;
6344    AttachedGod = TERRA;
6345  }
6346
6347  Config EVIL;
6348  {
6349    SkinColor = rgb16(80, 80, 80);
6350    Adjective = "black";
6351    FleshMaterial = BLACK_UNICORN_FLESH;
6352    AttachedGod = MORTIFER;
6353    IsSadist = true;
6354  }
6355}
6356
6357genie
6358{
6359  DefaultArmStrength = 20;
6360  DefaultLegStrength = 20; /* not used */
6361  DefaultDexterity = 25;
6362  DefaultAgility = 50;
6363  DefaultEndurance = 15;
6364  DefaultPerception = 18;
6365  DefaultIntelligence = 20;
6366  DefaultWillPower = 25;
6367  DefaultWisdom = 25;
6368  DefaultCharisma = 20;
6369  DefaultMana = 50;
6370  StandVerb = "floating";
6371  TotalVolume = 200000;
6372  TotalSize = 250;
6373  CanRead = true;
6374  NameSingular = "genie";
6375  ClothColor = rgb16(100, 100, 160);
6376  HeadBitmapPos = 96, 272;
6377  TorsoBitmapPos = 32, 272;
6378  ArmBitmapPos = 64, 272;
6379  /* LegBitmapPos is not used */
6380  KnownCWeaponSkills == LARGE_SWORDS;
6381  CWeaponSkillHits == 500;
6382  RightSWeaponSkillHits = 200;
6383  PanicLevel = 0;
6384  BaseEmitation = rgb24(110, 110, 130);
6385  HostileReplies =
6386  {
6387    3,
6388    "\"Fall, puny mortal!\"",
6389    "\"I will teach you not to disturb me!\"",
6390    "\"Your last wish?\"";
6391  }
6392  FriendlyReplies =
6393  {
6394    3,
6395    "\"I'm free!\"",
6396    "\"Sorry, I'm all out of wishes.\"",
6397    "\"You know, it's not fun to stay in an oil lamp for three centuries...\"";
6398  }
6399  Belt = SPIDER_SILK belt;
6400  FleshMaterial = ETHER;
6401  DeathMessage = "@Dd vanishes from existence.";
6402  SpillsBlood = false;
6403  Sweats = false;
6404  AttachedGod = ATAVUS;
6405  BodyPartsDisappearWhenSevered = true;
6406  ClassStates = GAS_IMMUNITY|LEVITATION;
6407  WieldedPosition = -1, -3;
6408  CanChoke = false;
6409  IsImmuneToStickiness = true;
6410  UndeadVersions = false;
6411}
6412
6413lion /* feline-> */
6414{
6415  DefaultArmStrength = 20;
6416  DefaultAgility = 25;
6417  DefaultEndurance = 15;
6418  DefaultPerception = 24;
6419  DefaultIntelligence = 7;
6420  DefaultWillPower = 7;
6421  DefaultWisdom = 15;
6422  DefaultCharisma = 20;
6423  DefaultMana = 0;
6424  TotalVolume = 100000;
6425  TorsoBitmapPos = 576, 0;
6426  TotalSize = 200;
6427  SkinColor = rgb16(200, 200, 112);
6428  NameSingular = "lion";
6429  BaseBiteStrength = 800;
6430  CanBeGenerated = true;
6431  CWeaponSkillHits == 200;
6432  FleshMaterial = LION_FLESH;
6433  DeathMessage = "@Dd growls and is slain.";
6434  AttachedGod = SILVA;
6435  AutomaticallySeen = true;
6436}
6437
6438carnivorousplant
6439{
6440  DefaultArmStrength = 4;
6441  DefaultAgility = 2;
6442  DefaultEndurance = 7;
6443  DefaultPerception = 6;
6444  DefaultIntelligence = 3;
6445  DefaultWillPower = 1;
6446  DefaultWisdom = 2;
6447  DefaultCharisma = 3;
6448  DefaultMana = 0;
6449  CanOpen = false;
6450  TotalVolume = 20000;
6451  TorsoBitmapPos = 0, 16;
6452  HostileReplies =
6453  {
6454    4,
6455    "@Dd is silent in a hostile manner.",
6456    "@Dd rustles @sp leaves.",
6457    "@Dd sways.",
6458    "@Dd drools."; /* It's carnivorous, after all. */
6459  }
6460  FriendlyReplies == "@Dd is silent in a firendly manner.";
6461  TotalSize = 100;
6462  Adjective = "carnivorous";
6463  NameSingular = "plant";
6464  AttackStyle = USE_HEAD;
6465  BaseBiteStrength = 300;
6466  SkinColor = rgb16(111, 64, 37);
6467  TorsoMainColor = rgb16(0, 160, 0); /* the leaves */
6468  /* TorsoSpecialColor (the flower) is random */
6469  CanBeGenerated = true;
6470  KnownCWeaponSkills == BITE;
6471  CWeaponSkillHits == 20;
6472  PanicLevel = 0;
6473  ClassStates = INFRA_VISION;
6474  HasALeg = false;
6475  FleshMaterial = PLANT_FIBER;
6476  BloodMaterial = PLANT_SAP;
6477  DeathMessage = "@Dd is destroyed.";
6478  SpillsBlood = false;
6479  Sweats = false;
6480  StandVerb = "rooted";
6481  AttachedGod = SILVA;
6482  IsPlant = true;
6483  IsRooted = true;
6484  AllowUnconsciousness = false;
6485  CanChoke = false;
6486
6487  Config GREATER;
6488  {
6489    AttributeBonus = 175;
6490    TorsoBitmapPos = 96, 16;
6491    Adjective = "greater carnivorous";
6492    BaseBiteStrength = 500;
6493    CWeaponSkillHits == 50;
6494    TotalVolume = 30000;
6495    TotalSize = 175;
6496  }
6497
6498  Config GIANT;
6499  {
6500    AttributeBonus = 250;
6501    TorsoBitmapPos = 80, 16;
6502    Adjective = "giant carnivorous";
6503    BaseBiteStrength = 700;
6504    CWeaponSkillHits == 100;
6505    TotalVolume = 40000;
6506    TotalSize = 250;
6507    IsEnormous = true;
6508  }
6509}
6510
6511buffalo
6512{
6513  DefaultArmStrength = 40;
6514  DefaultAgility = 25;
6515  DefaultEndurance = 20;
6516  DefaultPerception = 24;
6517  DefaultIntelligence = 5;
6518  DefaultWillPower = 5;
6519  DefaultWisdom = 5;
6520  DefaultCharisma = 5;
6521  DefaultMana = 0;
6522  TotalVolume = 200000;
6523  TorsoBitmapPos = 16,16;
6524  HostileReplies == "The angry @du snarls.";
6525  FriendlyReplies == "The friendly @du snarls.";
6526  TotalSize = 250;
6527  SkinColor = rgb16(90, 85, 80);
6528  TorsoMainColor = rgb16(120, 120, 120); /* the horns */
6529  NameSingular = "buffalo";
6530  AttackStyle = USE_LEGS|USE_HEAD;
6531  BaseKickStrength = 500;
6532  BaseBiteStrength = 250;
6533  CanKick = true;
6534  CanBeGenerated = true;
6535  KnownCWeaponSkills = { 2, KICK, BITE; }
6536  CWeaponSkillHits = { 2, 50, 50; }
6537  PanicLevel = 10;
6538  FleshMaterial = BUFFALO_FLESH;
6539  DeathMessage = "@Dd snarls one last time.";
6540  AttachedGod = SILVA;
6541  Frequency = 2500;
6542  IsEnormous = true;
6543  ConsumeFlags = CT_FRUIT|CT_LIQUID|CT_MISC_PLANT|CT_PROCESSED;
6544}
6545
6546snake
6547{
6548  DefaultArmStrength = 7;
6549  DefaultAgility = 5;
6550  DefaultEndurance = 10;
6551  DefaultPerception = 9;
6552  DefaultIntelligence = 5;
6553  DefaultWillPower = 5;
6554  DefaultWisdom = 5;
6555  DefaultCharisma = 5;
6556  DefaultMana = 0;
6557  TotalVolume = 10000;
6558  TorsoBitmapPos = 368, 0;
6559  TorsoMainColor = rgb16(30, 30, 30);
6560  TorsoSpecialColor = rgb16(200, 200, 0); /* RattleColor */
6561  HostileReplies =
6562  {
6563    3,
6564    "@Dd hisses.",
6565    "\"You sssmell deliciousss!\"",
6566    "@Dd rattles!";
6567  }
6568  FriendlyReplies == "@Dd hisses in a friendly manner.";
6569  DeathMessage = "@Dd hisses one last time and dies.";
6570  TotalSize = 250;
6571  NameSingular = "snake";
6572  AttackStyle = USE_HEAD;
6573  BaseBiteStrength = 500;
6574  StandVerb = "lying";
6575  CanBeGenerated = true;
6576  KnownCWeaponSkills == BITE;
6577  CWeaponSkillHits == 100;
6578  ClassStates = INFRA_VISION;
6579  HasALeg = false;
6580  IsAbstract = true;
6581  FleshMaterial = SNAKE_FLESH;
6582  DangerModifier = 75;
6583  CanOpen = false;
6584  AttachedGod = MELLIS;
6585  AutomaticallySeen = true;
6586  RunDescriptionLineOne = "Slithering";
6587  RunDescriptionLineTwo = " very fast";
6588
6589  Config RED_SNAKE;
6590  {
6591    Adjective = "garnet";
6592    SkinColor = rgb16(130, 0, 0);
6593    Frequency = 2000;
6594  }
6595
6596  Config GREEN_SNAKE;
6597  {
6598    Adjective = "viridian";
6599    SkinColor = rgb16(0, 130, 0);
6600    Frequency = 6000;
6601  }
6602
6603  Config BLUE_SNAKE;
6604  {
6605    Adjective = "cerulean";
6606    SkinColor = rgb16(0, 0, 130);
6607    Frequency = 2000;
6608  }
6609}
6610
6611orc
6612{
6613  DefaultArmStrength = 15;
6614  DefaultLegStrength = 15;
6615  DefaultDexterity = 10;
6616  DefaultAgility = 20;
6617  DefaultEndurance = 15;
6618  DefaultPerception = 18;
6619  DefaultIntelligence = 7;
6620  DefaultWillPower = 4;
6621  DefaultWisdom = 6;
6622  DefaultCharisma = 4;
6623  DefaultMana = 0;
6624  SkinColor = rgb16(48, 48, 48);
6625  EyeColor = rgb16(200, 200, 0);
6626  ClothColor = rgb16(180, 120, 80);
6627  BeltColor = rgb16(72, 60, 24);
6628  LegMainColor = rgb16(96, 80, 48);
6629  HeadBitmapPos = 112, 192;
6630  TorsoBitmapPos = 48, 0;
6631  ArmBitmapPos = 80, 32;
6632  LegBitmapPos = 0, 240;
6633  TotalVolume = 90000;
6634  TotalSize = 180;
6635  UsesLongArticle = true;
6636  NameSingular = "orc";
6637  CanBeGenerated = true;
6638  Sex = UNDEFINED;
6639  BodyArmor = TROLL_HIDE bodyarmor(PLATE_MAIL);
6640  RightWielded = BRONZE meleeweapon(AXE);
6641  LeftWielded = BRONZE meleeweapon(AXE);
6642  KnownCWeaponSkills == AXES;
6643  CWeaponSkillHits == 50;
6644  RightSWeaponSkillHits = 20;
6645  LeftSWeaponSkillHits = 20;
6646  ClassStates = GAS_IMMUNITY|INFRA_VISION;
6647  BloodMaterial = BLACK_BLOOD;
6648  PanicLevel = 50;
6649  HostileReplies =
6650  {
6651    3,
6652    "\"Nice scalp! Me want it!\"",
6653    "@Dd spits on the ground.",
6654    "@Dd scratches @sp armpit.";
6655  }
6656  FriendlyReplies =
6657  {
6658    2,
6659    "\"Has you seen any elf or dwarf? Me hungry.\"",
6660    "@Dd flips you the bird.";
6661  }
6662  FleshMaterial = ORC_FLESH;
6663  AttachedGod = CRUENTUS;
6664  WieldedPosition = -1, -1;
6665  DangerModifier = 75;
6666  ScienceTalkPossibility = 25;
6667  ScienceTalkIntelligenceModifier = 1;
6668  ScienceTalkWisdomModifier = 1;
6669  ScienceTalkIntelligenceRequirement = 3;
6670  ScienceTalkWisdomRequirement = 3;
6671  ScienceTalkName =
6672  {
6673    10,
6674    "killing", "murder", "rape", "torture", "burns",
6675    "cannibalism", "slaughtering", "malice", "axes", "blood";
6676  }
6677  IsSadist = true;
6678
6679  Config SLAUGHTERER;
6680  {
6681    TorsoBitmapPos = 48, 48;
6682    AttributeBonus = 20;
6683    Helmet = BRONZE helmet;
6684    BodyArmor = BRONZE bodyarmor(CHAIN_MAIL);
6685    RightWielded = IRON meleeweapon(AXE);
6686    LeftWielded = IRON meleeweapon(AXE);
6687    CWeaponSkillHits == 100;
6688    RightSWeaponSkillHits = 50;
6689    LeftSWeaponSkillHits = 50;
6690    NameSingular = "orc slaughterer";
6691    PanicLevel = 40;
6692    Inventory == potion { SecondaryMaterial = TROLL_BLOOD; Chance = 10; }
6693  }
6694
6695  Config SQUAD_LEADER;
6696  {
6697    HairColor = rgb16(120, 120, 120);
6698    HeadBitmapPos = 112, 176;
6699    TorsoBitmapPos = 48, 48;
6700    AttributeBonus = 40;
6701    Helmet = IRON helmet(FULL_HELMET);
6702    BodyArmor = IRON bodyarmor(CHAIN_MAIL);
6703    RightWielded = IRON meleeweapon(HALBERD);
6704    LeftWielded = 0;
6705    KnownCWeaponSkills == POLE_ARMS;
6706    CWeaponSkillHits == 200;
6707    RightSWeaponSkillHits = 100;
6708    NameSingular = "orc squad leader";
6709    PanicLevel = 30;
6710  }
6711
6712  Config OFFICER;
6713  {
6714    HairColor = rgb16(0, 200, 0);
6715    ClothColor = rgb16(96, 96, 96);
6716    LegMainColor = rgb16(72, 72, 72);
6717    LegSpecialColor = rgb16(112, 80, 48);
6718    HeadBitmapPos = 112, 176;
6719    TorsoBitmapPos = 48, 32;
6720    ArmBitmapPos = 80, 16;
6721    LegBitmapPos = 0, 224;
6722    AttributeBonus = 60;
6723    Helmet = STEEL helmet(FULL_HELMET);
6724    BodyArmor = STEEL bodyarmor(CHAIN_MAIL);
6725    RightWielded = STEEL meleeweapon(HALBERD) { Enchantment = 1; }
6726    LeftWielded = 0;
6727    KnownCWeaponSkills == POLE_ARMS;
6728    CWeaponSkillHits == 500;
6729    RightSWeaponSkillHits = 200;
6730    NameSingular = "orc officer";
6731    PanicLevel = 20;
6732  }
6733
6734  Config GENERAL;
6735  {
6736    HairColor = rgb16(200, 0, 0);
6737    ClothColor = rgb16(72, 72, 72);
6738    LegMainColor = rgb16(48, 48, 48);
6739    LegSpecialColor = rgb16(96, 64, 32);
6740    HeadBitmapPos = 112, 176;
6741    TorsoBitmapPos = 48, 32;
6742    ArmBitmapPos = 80, 16;
6743    LegBitmapPos = 0, 224;
6744    AttributeBonus = 80;
6745    Helmet = MITHRIL helmet(FULL_HELMET) { Enchantment = 1; }
6746    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 1; }
6747    RightWielded = MITHRIL meleeweapon(HALBERD) { Enchantment = 2; }
6748    LeftWielded = 0;
6749    KnownCWeaponSkills == POLE_ARMS;
6750    CWeaponSkillHits == 1000;
6751    RightSWeaponSkillHits = 500;
6752    NameSingular = "orc general";
6753    PanicLevel = 10;
6754    Inventory = { 2, potion { SecondaryMaterial = HEALING_LIQUID; Chance = 10; }, Random { Category = RING; Chance = 10; } }
6755    TotalVolume = 120000;
6756  }
6757
6758  Config MARSHAL;
6759  {
6760    HairColor = rgb16(200, 0, 200);
6761    ClothColor = rgb16(48, 48, 48);
6762    LegMainColor = rgb16(32, 32, 32);
6763    LegSpecialColor = rgb16(80, 48, 16);
6764    HeadBitmapPos = 112, 176;
6765    TorsoBitmapPos = 48, 32;
6766    ArmBitmapPos = 80, 16;
6767    LegBitmapPos = 0, 224;
6768    AttributeBonus = 100;
6769    Helmet = MITHRIL helmet(FULL_HELMET) { Enchantment = 2; }
6770    Cloak = ANGEL_HAIR cloak { Enchantment = 2; }
6771    BodyArmor = DRAGON_HIDE bodyarmor(PLATE_MAIL) { Enchantment = 2; }
6772    RightWielded = RUBY meleeweapon(HALBERD) { Enchantment = 3; }
6773    LeftRing = ring(RING_OF_TELEPORT_CONTROL);
6774    LeftWielded = 0;
6775    Belt = RUBY belt { Enchantment = 2; }
6776    RightGauntlet = DRAGON_HIDE gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 2; }
6777    RightBoot = SPIDER_SILK boot { Enchantment = 2; }
6778    LeftWielded = 0;
6779    KnownCWeaponSkills == POLE_ARMS;
6780    CWeaponSkillHits == 2000;
6781    RightSWeaponSkillHits = 1000;
6782    NameSingular = "orc marshal";
6783    PanicLevel = 0;
6784    IsUnique = true;
6785    CanBeWished = true;
6786    DefaultName = "Ur-Khan";
6787    DangerModifier = 1500;
6788    IsNameable = false;
6789    CanBeCloned = false;
6790    IsPolymorphable = false;
6791    TotalVolume = 150000;
6792    Inventory = { 4, potion { SecondaryMaterial = OMMEL_URINE; }, potion { SecondaryMaterial = OMMEL_URINE; }, potion { SecondaryMaterial = OMMEL_URINE; }, potion { SecondaryMaterial = OMMEL_URINE; } }
6793    CanBeConfused = false;
6794    FireResistance = 30;
6795    ElectricityResistance = 30;
6796    EnergyResistance = 30;
6797    IsImmuneToItemTeleport = true;
6798    IsEnormous = true;
6799    AllowUnconsciousness = false;
6800    TamingDifficulty = 35;
6801    UndeadVersions = false;
6802    IsImmuneToWhipOfThievery = true;
6803    Sex = MALE;
6804    FriendlyReplies =
6805    {
6806      27,
6807      "\"I have a diary. It's called the Book of World Records.\"",
6808      "\"I once threw a dwarven gas grenade and killed fifty people. Then the grenade exploded.\"",
6809      "\"I counted to infinity. Twice.\"",
6810      "\"I can kill two stones with one bird. Really!\"",
6811      "\"I can hear sign language!\"",
6812      "\"I can speak braille!\"",
6813      "\"A snake bit me once. After days of excruciating pain, the snake died.\"",
6814      "\"I make onions cry.\"",
6815      "\"I don't need to cheat Death. I always win fair and square.\"",
6816      "\"I once beat a mirror in a staring contest.\"",
6817      "\"I will never have a heart attack. My heart is not foolish enough to attack me!\"",
6818      "\"There is no evolution, just a list of creatures I allow to live.\"",
6819      "\"I once punched a cyclops between the eye!\"",
6820      "\"My tears can cure any disease. Too bad I never cry!\"",
6821      "\"I don't play 'hide and seek'. I play 'hide and pray I don't find you'.\"",
6822      "\"Death once had a near-me experience.\"",
6823      "\"I put the 'laughter' into 'manslaughter'.\"",
6824      "\"I should have died years ago, but Death can't get up the courage to tell me.\"",
6825      "\"I can unscramble an egg.\"",
6826      "\"I once found the end of a circle.\"",
6827      "\"I never lie. I change the truth.\"",
6828      "\"I use hot sauce as eye drops!\"",
6829      "\"Do you know how many push-ups I can do? All of them!\"",
6830      "\"I can slam a revolving door.\"",
6831      "\"I can slow down time just by looking at an hourglass and flexing.\"",
6832      "\"My father always wanted to be just like me when he was just a kid.\"",
6833      "@Dd guffaws.";
6834    }
6835    HostileReplies =
6836    {
6837      6,
6838      "\"You should have fled while you had the chance.\"",
6839      "\"You are about to die, maggot!\"",
6840      "\"Give me your best blow!\"",
6841      "\"This dungeon ain't big enough for the both of us.\"",
6842      "\"I'm gonna break your pretty face!\"",
6843      "@Dd spouts torrents of taunts.";
6844    }
6845  }
6846
6847  Config REPRESENTATIVE;
6848  {
6849    AttributeBonus = 60;
6850    DefaultWisdom = 19;
6851    DefaultWillPower = 15;
6852    HairColor = rgb16(224, 224, 0);
6853    ClothColor = rgb16(224, 224, 0);
6854    BeltColor = rgb16(176, 0, 0);
6855    LegMainColor = rgb16(224, 224, 0);
6856    LegSpecialColor = rgb16(176, 0, 0);
6857    HeadBitmapPos = 112, 176;
6858    TorsoBitmapPos = 48, 32;
6859    ArmBitmapPos = 80, 16;
6860    LegBitmapPos = 0, 224;
6861    Helmet = GOLD helmet(HELM_OF_ATTRACTIVITY) { Enchantment = 7; }
6862    Cloak = FABRIC cloak { Enchantment = 2; }
6863    BodyArmor = GOLD bodyarmor(CHAIN_MAIL) { Enchantment = 2; }
6864    Belt = GOLD belt(BELT_OF_CARRYING) { Enchantment = 2; }
6865    RightGauntlet = FABRIC gauntlet { Enchantment = 2; }
6866    RightBoot = FABRIC boot { Enchantment = 2; }
6867    RightWielded = GOLD EBONY_WOOD meleeweapon(AXE) { Enchantment = 3; }
6868    LeftWielded = 0;
6869    CWeaponSkillHits == 500;
6870    CanBeGenerated = false;
6871    IsNameable = false;
6872    IsUnique = true;
6873    CanBeCloned = false;
6874    IsPolymorphable = false;
6875    UndeadVersions = false;
6876    TamingDifficulty = 30;
6877    DefaultName = "Khor";
6878    NameSingular = "orcish representative";
6879    FriendlyReplies =
6880    {
6881      8,
6882      "\"I am here on behalf of the orcish freeholds of Gothrok, Gotturan and Gotrotill.\"",
6883      "\"We are a proud new nation which renounced both the barbarism of Ur-Khan's horde and the slavery under human overlords.\"",
6884      "\"The orcish freeholds do not recognize the rulership of Khans. We rule ourselves as a true democracy.\"",
6885      "\"We cannot tolerate the greenskin threat anymore! No goblin shall think it stands equal to an orc or a man.\"",
6886      "\"My lords want the head of Guugzamesh served to them on a silver platter, and Attnam can be very helpful in that.\"",
6887      "\"How long can Petrus ignore me?! I'm here to offer him an alliance!\"",
6888      "\"Oh, the emisary of Aslona is here, too. I will enjoy seeing him grovel and beg for the help from Attnam.\"",
6889      "\"Many of my peers have fallen in wars under the old king of Aslona. I will not mourn the fall of the new king, either.\"";
6890    }
6891    HostileReplies =
6892    {
6893      2,
6894      "\"I know what they say about orcish diplomacy! Well, it's not untrue!\"",
6895      "\"You're just prejudiced against my kind, aren't you?\"";
6896    }
6897    Sex = MALE;
6898    AttachedGod = MELLIS;
6899    TotalVolume = 120000;
6900    Inventory == potion { SecondaryMaterial = VODKA; Times = 1:10; }
6901  }
6902}
6903
6904cossack
6905{
6906  DefaultArmStrength = 20;
6907  DefaultLegStrength = 20;
6908  DefaultDexterity = 15;
6909  DefaultAgility = 15;
6910  DefaultEndurance = 15;
6911  DefaultPerception = 21;
6912  DefaultIntelligence = 10;
6913  DefaultWillPower = 15;
6914  DefaultWisdom = 7;
6915  DefaultCharisma = 7;
6916  DefaultMana = 0;
6917  BeltColor = rgb16(48, 48, 48);
6918  ClothColor = rgb16(64, 56, 24);
6919  HeadBitmapPos = 112, 224;
6920  TorsoBitmapPos = 48, 80;
6921  ArmBitmapPos = 64, 16;
6922  LegBitmapPos = 0, 96;
6923  TotalVolume = 70000;
6924  TotalSize = 190;
6925  NameSingular = "cossack";
6926  Helmet = WOLF_SKIN helmet;
6927  Cloak = WOLF_SKIN cloak;
6928  BodyArmor = IRON bodyarmor(CHAIN_MAIL);
6929  Belt = WOLF_SKIN belt;
6930  RightWielded = IRON IRON meleeweapon(LONG_SWORD);
6931  KnownCWeaponSkills == LARGE_SWORDS;
6932  CWeaponSkillHits == 100;
6933  RightSWeaponSkillHits = 100;
6934  RightGauntlet = WOLF_SKIN gauntlet;
6935  RightBoot = WOLF_SKIN boot;
6936  PanicLevel = 10;
6937  DeathMessage = "@Dd falls shouting: \"Hope there's vodka in hell!\"";
6938  HostileReplies == "@Dd shouts wildly: \"For Tataria!\"";
6939  AttachedGod = SILVA;
6940  FriendlyReplies =
6941  {
6942    5,
6943    "\"Graah! Eating raw flesh makes one feel so masculine and powerful (and sick)!\"",
6944    "\"It surely is cold on this island. Remembers me of my six years in Siberia after breaking into the local pub's booze cellar...\"",
6945    "\"What, why have I no horse? Er, I lost it in poker.\"",
6946    "\"I followed Ivan through some weird portal and ended up in this land. At least no creditors can find me.\"",
6947    "\"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.\"";
6948  }
6949
6950  Config REBEL_SOLDIER;
6951  {
6952    ClothColor = rgb16(75, 83, 32);
6953    CapColor = rgb16(220, 0, 0);
6954    TotalVolume = 70000;
6955    TotalSize = 170;
6956    NameSingular = "rebel soldier";
6957    Helmet = BRONZE helmet;
6958    Cloak = ELF_CLOTH cloak;
6959    BodyArmor = BRONZE bodyarmor(CHAIN_MAIL);
6960    Belt = BLACK_LEATHER belt;
6961    RightWielded = BRONZE CYPRESS_WOOD meleeweapon(BASTARD_SWORD);
6962    RightGauntlet = BLACK_LEATHER gauntlet;
6963    RightBoot = BLACK_LEATHER boot;
6964    FriendlyReplies =
6965    {
6966      10,
6967      "\"Lord Regent's men think us lawless beasts. How deluded can they be?\"",
6968      "\"We must free young prince Artorius from the clutches of that wretched Lord Regent.\"",
6969      "\"Lord Regent didn't think anyone would stand up to his treason, but here we are.\"",
6970      "\"We won't give up to Lord Regent without a fight, don't you worry.\"",
6971      "\"I've heard some people talk about just burning the castle to the ground. Probably just talk though. Everyone's a bit on edge right now.\"",
6972      "\"You heard about the scouting squad? They were caught and now they're in jail, waiting for the gallows!\"",
6973      "\"Truth is, we don't know who was behind the old king's murder. But too much power has suddenly fallen into Lord Regent's lap.\"",
6974      "\"Everyone wants to know what really happened to the old king.\"",
6975      "\"I'm sure Harvan will find some way to hold the kingdom together, once the young prince is crowned and we have a good king again.\"",
6976      "\"We're all talking about the old king's murder. How could Lord Regent get away with it?\"";
6977    }
6978    HostileReplies == "@Dd screams obscenities.";
6979    DeathMessage = "@Dd falls shouting: \"For Aslona!\"";
6980    AttachedGod = SEGES;
6981  }
6982
6983  Config REBEL_LIEUTENANT;
6984  {
6985    AttributeBonus = 20;
6986    ClothColor = rgb16(75, 83, 32);
6987    CapColor = rgb16(128, 0, 128);
6988    TotalVolume = 80000;
6989    TotalSize = 175;
6990    NameSingular = "rebel lieutenant";
6991    CWeaponSkillHits == 200;
6992    RightSWeaponSkillHits = 150;
6993    Helmet = DEEP_BRONZE helmet;
6994    Cloak = ELF_CLOTH cloak { Enchantment = 2; }
6995    BodyArmor = DEEP_BRONZE bodyarmor(CHAIN_MAIL);
6996    Belt = BLACK_LEATHER belt;
6997    RightWielded = DEEP_BRONZE CYPRESS_WOOD meleeweapon(BASTARD_SWORD) { Enchantment = 1; }
6998    RightGauntlet = BLACK_LEATHER gauntlet { Enchantment = 2; }
6999    RightBoot = BLACK_LEATHER boot { Enchantment = 2; }
7000    FriendlyReplies =
7001    {
7002      10,
7003      "\"Lord Regent's men think us lawless beasts. How deluded can they be?\"",
7004      "\"We must free young prince Artorius from the clutches of that wretched Lord Regent.\"",
7005      "\"Lord Regent didn't think anyone would stand up to his treason, but here we are.\"",
7006      "\"We won't give up to Lord Regent without a fight, don't you worry.\"",
7007      "\"Truth is, we don't know who was behind the old king's murder. But too much power has suddenly fallen into Lord Regent's lap.\"",
7008      "\"I don't know what to think about the goblins escaping their owners. Things seem to go from bad to worse, don't they?\"",
7009      "\"Lord Regent recently announced that he won't stop until slavery is outlawed. It's our right to have slaves, by the old laws!\"",
7010      "\"How does Lord Regent think we'll work the fields with no slaves? Our economy is already falling and he wants to kill it completely!\"",
7011      "\"I'm sure Harvan will find some way to hold the kingdom together, once the young prince is crowned and we have a good king again.\"",
7012      "\"We all believe Harvan will lead us to victory. But we can't let it go to his head, right? Heh heh.\"";
7013    }
7014    HostileReplies == "@Dd screams obscenities.";
7015    DeathMessage = "@Dd falls shouting: \"For Aslona!\"";
7016    AttachedGod = SEGES;
7017    Inventory == Random { Category = WAND; Times = 0:2; }
7018  }
7019}
7020
7021bananagrower
7022{
7023  DefaultArmStrength = 10;
7024  DefaultLegStrength = 15;
7025  DefaultDexterity = 10;
7026  DefaultAgility = 20;
7027  DefaultEndurance = 15;
7028  DefaultPerception = 15;
7029  DefaultIntelligence = 20;
7030  DefaultWillPower = 20;
7031  DefaultWisdom = 30;
7032  DefaultCharisma = 10;
7033  DefaultMana = 5;
7034  TotalVolume = 80000;
7035  TotalSize = 170;
7036  NameSingular = "banana grower";
7037  RightGauntlet = LEATHER gauntlet;
7038  SkinColor = rgb16(128, 80, 48);
7039  HairColor = rgb16(80, 48, 32);
7040  ClothColor = rgb16(56, 48, 20);
7041  HeadBitmapPos = 96, 0;
7042  TorsoBitmapPos = 32, 0;
7043  ArmBitmapPos = 64, 64;
7044  LegBitmapPos = 0, 288;
7045  Inventory == banana { Times = 10; }
7046  /* AI will no longer go insane if he leaves New Attnam. */
7047  HostileReplies == "\"Banana POWER!\"";
7048  AttachedGod = SILVA;
7049  CanRead = true;
7050  FriendlyReplies =
7051  {
7052    9, /* 6 first are used before the revolution */
7053    "@Dd curses: \"I hate bananas. I wish I still was @pd.\"",
7054    "\"I was @pd before Attnam invaded our peaceful land.\"",
7055    "@Dd glances thoughtfully to the sky: \"Our climate is truly optimal for bananas. It rains all the time here. Damn.\"",
7056    "\"1 + 1 = 3. I still don't believe it.\"",
7057    "@Dd sighs: \"Piranhas ate my mother-in-law a few days ago. And I thought that nature brings us no good!\"",
7058    "@Dd seems irritated. \"Go away! I know you can leave and I can't, and I'd prefer to forget that fact.\"";
7059    "@Dd seems very joyful. \"I can finally be @pd again!\"",
7060    "\"I knew you would come to save us!\"",
7061    "\"Kill Petrus for us, too!\"";
7062  }
7063  AutomaticallySeen = true;
7064  ScienceTalkPossibility = 10;
7065  ScienceTalkIntelligenceModifier = 10;
7066  ScienceTalkWisdomModifier = 25;
7067  ScienceTalkIntelligenceRequirement = 5;
7068  ScienceTalkWisdomRequirement = 10;
7069  IsMasochist = true;
7070}
7071
7072imperialist
7073{
7074  DefaultArmStrength = 20;
7075  DefaultLegStrength = 25;
7076  DefaultDexterity = 15;
7077  DefaultAgility = 20;
7078  DefaultEndurance = 15;
7079  DefaultPerception = 24;
7080  DefaultIntelligence = 35;
7081  DefaultWillPower = 20;
7082  DefaultWisdom = 10;
7083  DefaultCharisma = 25;
7084  DefaultMana = 10;
7085  TotalVolume = 160000;
7086  TotalSize = 160;
7087  NameSingular = "imperialist";
7088  KnownCWeaponSkills = { 2, WHIPS, KICK; }
7089  CWeaponSkillHits = { 2, 500, 500; }
7090  RightSWeaponSkillHits = 500;
7091  LeftSWeaponSkillHits = 500;
7092  PanicLevel = 10;
7093  TorsoBitmapPos = 48, 240;
7094  HeadBitmapPos = 96, 208;
7095  ArmBitmapPos = 80, 112;
7096  LegBitmapPos = 0, 0;
7097  ClothColor = rgb16(50, 50, 50);
7098  UsesLongArticle = true;
7099  Inventory = { 6, stone, stone, stone, stone, stone, holybook(MELLIS); }
7100  CanRead = true;
7101  IsUnique = true;
7102  IsNameable = false;
7103  CanBeCloned = false;
7104  AttackStyle = USE_ARMS|USE_LEGS;
7105  CriticalModifier = 4;
7106  TamingDifficulty = NO_TAMING;
7107  StandVerb = "smiling in a twisted way";
7108  AttachedGod = MELLIS;
7109  CanBeConfused = false;
7110  IsPolymorphable = false;
7111  AutomaticallySeen = true;
7112  ScienceTalkAdjectiveAttribute =
7113  {
7114    81,
7115    "applied",  "recent", "theoretical", "classical", "the future of",
7116    "fundamental", "legendary", "higher", "elementary", "practical",
7117    "artificial", "the wonders of", "modern", "empirical", "statistical",
7118    "the axioms of", "the theory of", "urban", "forbidden", "nautical",
7119    "popular", "the current state of", "liberal", "ceremonial", "heroic",
7120
7121    "mythical", "scientific", "advanced", "revolutionary", "motorized",
7122    "neolithic", "jurassic", "synthetic", "polymorphic", "strategic",
7123    "tropical", "diplomatic", "political", "experimental", "glorious",
7124    "the evolution of", "global", "natural", "genetic", "intellectual",
7125    "hard", "compressed", "educational", "recreational", "teleological",
7126
7127    "the creative uses of", "selective", "the origin of", "royal", "alien",
7128    "evolutionary", "the art of", "psychic", "unified", "postmodern",
7129    "hypnotic", "doctrine:", "frictionless", "the secrets of", "mental",
7130    "transcendent", "the purpose of", "the history of", "good", "arctic",
7131    "the implementation of", "paraller", "orthodox", "soft", "chaotic",
7132
7133    "happy", "the blessings of", "ancient", "flexible", "laissez-faire",
7134    "the magnificence of";
7135  }
7136  ScienceTalkSubstantiveAttribute =
7137  {
7138    7,
7139    "New Age", "space", "last century", "mass", "free market",
7140    "hybrid", "probability";
7141  }
7142  ScienceTalkPrefix =
7143  {
7144    18,
7145    "", "", "", "", "",
7146    "macro", "ethno", "hyper", "trans", "geo",
7147    "mega", "cosmo", "meta", "super", "ego",
7148    "pseudo", "eroto", "neo";
7149  }
7150
7151  ScienceTalkName =
7152  {
7153    37,
7154    "commercials", "lockouts", "banking", "profits", "egoism",
7155    "bazaars", "corporations", "sackings", "advertising", "capitalism",
7156    "monopolies", "!M.U.L.E.", "tax cuts", "bargaining", "brands",
7157    "wholesaling", "cartels", "economics", "commerse", "lobbying",
7158
7159    "the industrial revolution", "game theory", "!the Wealth of Nations",
7160    "economic growth", "right-wing politics", "customer manipulation",
7161    "public relations", "guerilla marketing", "industrial espionage",
7162    "the anti-communist movement", "investor relations", "price warfare",
7163    "the crusade against labour unions", "ESP marketing", "insurance firms",
7164    "cigarettes", "!the Prince";
7165  }
7166  ScienceTalkPossibility = 80;
7167  ScienceTalkIntelligenceModifier = 25;
7168  ScienceTalkWisdomModifier = 0;
7169  ScienceTalkCharismaModifier = 50;
7170  ScienceTalkIntelligenceRequirement = 10;
7171  ScienceTalkWisdomRequirement = 0;
7172  ScienceTalkCharismaRequirement = 15;
7173  IsSadist = true;
7174  IsAbstract = true;
7175  UndeadVersions = false;
7176
7177  Config VICE_ROY;
7178  {
7179    DefaultName = "Richel Decos";
7180    Cloak = NYMPH_HAIR cloak { Enchantment = 1; }
7181    BodyArmor = MITHRIL bodyarmor(CHAIN_MAIL) { Enchantment = 1; }
7182    Belt = GOLD belt(BELT_OF_CARRYING) { Enchantment = 2; }
7183    RightWielded = OMMEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 3; }
7184    LeftWielded = OMMEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 3; }
7185    LeftRing = ring(RING_OF_INFRA_VISION);
7186    RightGauntlet = NYMPH_HAIR gauntlet { Enchantment = 1; }
7187    RightBoot = MITHRIL boot(BOOT_OF_KICKING) { Enchantment = 3; }
7188    HostileReplies == "\"Die you communist pig!\"";
7189    FriendlyReplies =
7190    {
7191      11, /* the last isn't used if the player is a sumo champion */
7192      "@Dd wonders if he should buy a small country.",
7193      "\"And they said levitating ostriches had no future! Hah!\"",
7194      "\"Happiness is a great thing, but it won't buy you much.\"",
7195      "\"Everything can be bought, if you know the price. Once we appraise everything, we will be able to buy the universe!\"",
7196      "\"Everything has a price - your loyalty and life, the air we breathe, sunshine, even my own beliefs.\"",
7197      "\"Poor people shouldn't complain - after all it's their own fault.\"",
7198      "\"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?\"",
7199      "\"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.\"",
7200      "\"Low work and transportation costs have allowed me to thrive in a way envied by all rivals.\"",
7201      "\"I won't stop until my bananas lie on the breakfast tables of every single dwarf, elf and man above Valpurus!\"",
7202      "\"What? You're still here? What the hell I pay you for? Wait, I don't pay you anything. Never mind.\"";
7203    }
7204  }
7205
7206  Config MASTER_TORTURER;
7207  {
7208    DefaultWisdom = 25;
7209    DefaultCharisma = 10;
7210    HeadBitmapPos = 96, 64;
7211    TorsoBitmapPos = 48, 48;
7212    LegBitmapPos = 0, 48;
7213    TorsoMainColor = rgb16(30, 30, 30);
7214    LegMainColor = rgb16(30,30,30);
7215    SkinColor = rgb16(255, 222, 202);
7216    CapColor = rgb16(50, 50, 50);
7217    Helmet = BLACK_LEATHER helmet { Enchantment = 2; }
7218    Amulet = amulet(AMULET_OF_ESP);
7219    Cloak = BLACK_LEATHER cloak { Enchantment = 2; }
7220    BodyArmor = BLACK_LEATHER bodyarmor(PLATE_MAIL) { Enchantment = 3; }
7221    Belt = BLACK_LEATHER belt { Enchantment = 2; }
7222    RightRing = ring(RING_OF_FIRE_RESISTANCE);
7223    LeftRing = ring(RING_OF_ELECTRICITY_RESISTANCE);
7224    RightWielded = BLACK_LEATHER whip(RUNED_WHIP) { Enchantment = 3; }
7225    LeftWielded = BLACK_LEATHER whip(RUNED_WHIP) { Enchantment = 3; }
7226    RightGauntlet = BLACK_LEATHER gauntlet { Enchantment = 1; }
7227    RightBoot = BLACK_LEATHER boot(BOOT_OF_KICKING) { Enchantment = 3; }
7228    NameSingular = "master torturer";
7229    DefaultName = "Migel Decos";
7230    AttachedGod = CRUENTUS;
7231    HostileReplies == "\"All you can do is hurt me. And I *love* hurting!\"";
7232    FriendlyReplies =
7233    {
7234      11,
7235      "@Dd smiles. It's terrifying.",
7236      "@Dd sighs: \"Why don't the prisoners understand it's for their own good?\"",
7237      "@Dd looks smug. \"I'm the head of the Citizen Purification Committee.\"",
7238      "\"I would love to break your arms, one bone at a time.\"",
7239      "\"When I'm sad I stop being sad and go torture someone instead.\"",
7240      "\"Bazzaria, ah, home sweet home! You can buy there everything and anything, for the right price.\"",
7241      "@Dd smiles: \"How many lights do you see?\"",
7242      "\"Bazzaria is a land of possibility and opportunity, where every man can live his dream. Women, children and slaves not so much.\"",
7243      "\"New Attnam? Yes, my brother is a viceroy there.\"",
7244      "\"When I arrived to Attnam, Petrus immediately recognized my skills and appointed me the Cardinal of Love.\"",
7245      "\"I was tasked with re-education of thought-criminals by mighty Petrus himself!\"";
7246    }
7247    DeathMessage = "@Dd screams, dying: \"I see the door! The extasy of death! I'm coming!\"";
7248    ScienceTalkName =
7249    {
7250      75,
7251      "impalement", "mock executions", "phobias", "torture", "disembowelment",
7252      "whipping", "interrogation", "sleep deprivation", "brazen bulls", "disfigurement",
7253      "masochism", "dentistry", "maiming", "beating", "blinding",
7254      "boiling alive", "breaking bones", "branding", "forced abortion", "castration",
7255      "testicle crushing", "waterboarding", "anatomy", "pain", "agony",
7256
7257      "strangling", "combing", "cutting", "denailing", "spanking",
7258      "drowning", "flagellation", "flaying", "thumbscrews", "foot roasting",
7259      "foot whipping", "forced circumcision", "hamstringing", "scaphism", "kneecapping",
7260      "iron maidens", "stocks", "wooden horses", "dunking", "tablillas",
7261      "kneehauling", "mutilation", "pitchcapping", "rape", "horror",
7262
7263      "rat torture", "sawing", "scalping", "starving", "strappado",
7264      "tickle torture", "tooth extraction", "walling", "breaking wheels", "choke pears",
7265      "breast rippers", "heretic forks", "spiked chairs", "pendulums", "pillories",
7266      "torture racks", "freezing", "burning", "live burials", "half-hanging",
7267      "bamboo torture", "abacination", "hooding", "cangue", "tean zu";
7268    }
7269    ScienceTalkPossibility = 50;
7270    ScienceTalkIntelligenceModifier = 20;
7271    ScienceTalkWisdomModifier = 40;
7272    ScienceTalkCharismaModifier = 0;
7273    ScienceTalkIntelligenceRequirement = 10;
7274    ScienceTalkWisdomRequirement = 15;
7275    ScienceTalkCharismaRequirement = 0;
7276    Inventory == key;
7277  }
7278
7279  Config HOARD_MASTER;
7280  {
7281    AttributeBonus = -30;
7282    DefaultIntelligence = 50;
7283    DefaultWisdom = 50;
7284    HeadBitmapPos = 96, 80;
7285    TorsoBitmapPos = 32, 16;
7286    ArmBitmapPos = 64, 16;
7287    LegBitmapPos = 0, 32;
7288    HairColor = rgb16(160, 160, 160);
7289    TorsoMainColor = rgb16(176, 0, 0);
7290    LegMainColor = rgb16(176, 0, 0);
7291    SkinColor = rgb16(255, 222, 202);
7292    CapColor = rgb16(176, 0, 0);
7293    ClothColor = rgb16(176, 0, 0);
7294    Helmet = FABRIC helmet(HELM_OF_UNDERSTANDING) { Enchantment = 2; }
7295    Amulet = amulet(AMULET_OF_ESP);
7296    Cloak = FABRIC cloak { Enchantment = 3; }
7297    BodyArmor = 0;
7298    RightWielded = 0;
7299    LeftWielded = 0;
7300    LeftRing = 0;
7301    RightGauntlet = 0;
7302    Belt = FABRIC belt(BELT_OF_CARRYING) { Enchantment = 2; }
7303    RightBoot = FABRIC boot { Enchantment = 2; }
7304    NameSingular = "hoardmaster";
7305    DefaultName = "Thesaurius";
7306    KnownCWeaponSkills = { 2, UNARMED, KICK; }
7307    CWeaponSkillHits = { 2, 50, 50; }
7308    PanicLevel = 95;
7309    BaseUnarmedStrength = 200;
7310    IsExtraCoward = true;
7311    StandVerb = "scowling";
7312    HostileReplies == "\"Guards! Guards!\"";
7313    FriendlyReplies =
7314    {
7315      10,
7316      "\"I was appointed the Cardinal of Plenty because I can juggle the numbers like no one else.\"",
7317      "\"It's only thanks to my skills with numbers that the Cathedral's accounting books show a steady economic growth.\"",
7318      "\"The citizens have no bread, you say? Hmm... Let them eat cake!\"",
7319      "\"Hmm, there can be economy only where there is efficiency.\"",
7320      "\"The way to turn our economy stronger is not by making rich people poorer, it's by making poor people work harder.\"",
7321      "\"It's called political economy because it is has nothing to do with either politics or economy.\"",
7322      "\"Hmm... It is virtually impossible to compete in today's economy without the Cathedral's favor.\"",
7323      "\"The Attnamese domination of the local economy is based on its army.\"",
7324      "\"A powerful Attnam is coming, and Bazzaria has only two choices: Either they're at the table, or they're on the menu!\"",
7325      "\"The trick to strong and stable economy is to work the citizens hard enough they can't afford the luxury of thought.\"";
7326    }
7327    ScienceTalkPossibility = 20;
7328    ScienceTalkIntelligenceModifier = 40;
7329    ScienceTalkWisdomModifier = 40;
7330    ScienceTalkCharismaModifier = 0;
7331    ScienceTalkIntelligenceRequirement = 20;
7332    ScienceTalkWisdomRequirement = 20;
7333    ScienceTalkCharismaRequirement = 0;
7334    Inventory = { 3, GOLD key(HEXAGONAL_LOCK), GOLD scrollofdetectmaterial, GOLD holybook(MELLIS); }
7335  }
7336}
7337
7338smith
7339{
7340  DefaultArmStrength = 35;
7341  DefaultLegStrength = 20;
7342  DefaultDexterity = 30;
7343  DefaultAgility = 10;
7344  DefaultEndurance = 30;
7345  DefaultPerception = 15;
7346  DefaultIntelligence = 15;
7347  DefaultWillPower = 15;
7348  DefaultWisdom = 15;
7349  DefaultCharisma = 15;
7350  DefaultMana = 10;
7351  TotalVolume = 80000;
7352  TotalSize = 190;
7353  NameSingular = "smith";
7354  Helmet = STEEL helmet { Enchantment = 1; }
7355  BodyArmor = STEEL bodyarmor(PLATE_MAIL) { Enchantment = 1; }
7356  RightRing = ring(RING_OF_FIRE_RESISTANCE);
7357  LeftRing = ring(RING_OF_FIRE_RESISTANCE);
7358  RightBoot = STEEL boot { Enchantment = 1; }
7359  KnownCWeaponSkills == BLUNT_WEAPONS;
7360  CWeaponSkillHits == 500;
7361  RightSWeaponSkillHits = 200;
7362  LeftSWeaponSkillHits = 200;
7363  CanRead = true;
7364  /* Replies overridden */
7365  IsUnique = true;
7366  IsAbstract = true;
7367  IsNameable = false;
7368  CanBeCloned = false;
7369  TamingDifficulty = NO_TAMING;
7370  AttachedGod = LORICATUS;
7371
7372  Config ATTNAM;
7373  {
7374    DefaultName = "Ikiros";
7375    TorsoBitmapPos = 48, 192;
7376    HeadBitmapPos = 112, 160;
7377    ArmBitmapPos = 64, 64;
7378    LegBitmapPos = 0, 96;
7379    HairColor = rgb16(200, 200, 200);
7380    ClothColor = rgb16(100, 100, 100);
7381    Cloak = OMMEL_HAIR cloak(CLOAK_OF_FIRE_RESISTANCE) { Enchantment = 1; }
7382    RightGauntlet = LEATHER gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
7383    RightWielded = MITHRIL meleeweapon(HAMMER) { Enchantment = 2; }
7384  }
7385
7386  Config ASLONA_CASTLE;
7387  {
7388    DefaultName = "Khalybs";
7389    TorsoBitmapPos = 48, 192;
7390    HeadBitmapPos = 112, 480;
7391    ArmBitmapPos = 64, 64;
7392    LegBitmapPos = 0, 96;
7393    HairColor = rgb16(44, 34, 43);
7394    ClothColor = rgb16(100, 100, 100);
7395    TotalVolume = 90000;
7396    TotalSize = 200;
7397    Cloak = SELKIE_SKIN cloak(CLOAK_OF_FIRE_RESISTANCE) { Enchantment = 1; }
7398    RightGauntlet = SELKIE_SKIN gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
7399    RightWielded = CHROME MAHOGANY_WOOD meleeweapon(HAMMER);
7400    LeftWielded = CHROME MAHOGANY_WOOD meleeweapon(HAMMER);
7401    Sex = FEMALE;
7402  }
7403}
7404
7405ostrich
7406{
7407  DefaultArmStrength = 15;
7408  DefaultAgility = 30;
7409  DefaultEndurance = 10;
7410  DefaultPerception = 15;
7411  DefaultIntelligence = 5;
7412  DefaultWillPower = 5;
7413  DefaultWisdom = 5;
7414  DefaultCharisma = 7;
7415  DefaultMana = 0;
7416  TotalVolume = 120000;
7417  TorsoBitmapPos = 64, 16;
7418  HostileReplies == "@Dd cackles diabolically.";
7419  FriendlyReplies == "@Dd cackles cheerfully. @Pp likes @sp life.";
7420  TotalSize = 230;
7421  SkinColor = rgb16(160, 140, 140);
7422  TorsoMainColor = rgb16(48, 48, 48); /* the body feathers */
7423  Adjective = "levitating";
7424  NameSingular = "ostrich";
7425  NamePlural = "ostriches";
7426  AttackStyle = USE_HEAD;
7427  BaseBiteStrength = 200;
7428  KnownCWeaponSkills == BITE;
7429  CWeaponSkillHits == 20;
7430  PanicLevel = 95;
7431  FleshMaterial = OSTRICH_FLESH;
7432  DeathMessage = "@Dd is squashed to a bloody mass of feathers.";
7433  StandVerb = "floating";
7434  /* AI will no longer go insane if it leaves New Attnam */
7435  AttachedGod = SILVA;
7436  ClassStates = LEVITATION;
7437  AutomaticallySeen = true;
7438}
7439
7440elder
7441{
7442  DefaultArmStrength = 7;
7443  DefaultLegStrength = 10;
7444  DefaultDexterity = 7;
7445  DefaultAgility = 15;
7446  DefaultEndurance = 7;
7447  DefaultPerception = 21;
7448  DefaultIntelligence = 25;
7449  DefaultWillPower = 30;
7450  DefaultWisdom = 40;
7451  DefaultCharisma = 20;
7452  DefaultMana = 20;
7453  TotalVolume = 70000;
7454  TotalSize = 160;
7455  NameSingular = "village elder";
7456  SkinColor = rgb16(128, 80, 48);
7457  HairColor = rgb16(32, 32, 32);
7458  ClothColor = rgb16(56, 48, 20);
7459  HeadBitmapPos = 96, 224;
7460  TorsoBitmapPos = 32, 0;
7461  ArmBitmapPos = 64, 0;
7462  LegBitmapPos = 0, 288;
7463  IsUnique = true;
7464  DefaultName = "Kaethos";
7465  TamingDifficulty = NO_TAMING;
7466  AttachedGod = SOPHOS;
7467  CanRead = true;
7468  Inventory == pantheonbook;
7469  HostileReplies == "\"I knew those hippos couldn't raise anything decent!\"";
7470  FriendlyReplies =
7471  {
7472    16,
7473    "\"So you're leaving? The stars tell me you will fight glorious battles, meet interesting people, find out surprising things and eventually die a violent death. Good luck.\"",
7474    "\"I remember still clearly when we first found you in the jungle. You were five and had seemingly been raised by hippos since birth.\"",
7475    "\"It is said Mortifer was the first being to die, felled by the hand of His brother, Valpurus.\"",
7476    "\"It is said Valpurus is cursed to forever bear the world upon His shoulders, without a moment of respite, as a penance and punishment for His deeds.\"",
7477    "\"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?\"",
7478    "\"Not long ago Tweraif was a civilization advanced beyound your comprehension. But we were pacifists and could not repulse Attnam's grunt army.\"",
7479    "@Dd seems very melancholic. \"I was the head chancellor of the University of Tweraif before the invasion...\"",
7480    "\"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.\"",
7481    "\"According to old knowledge ostriches were once kings of the sky. Their divine perception, seven foot wingspans, 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.\"",
7482    "\"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.\"",
7483    "\"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.\"",
7484    "\"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.\"",
7485    "\"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.\"",
7486    "\"Through the millenia, Lobh-se has gained every imaginable disease and was bitten by every existing poisonous creature. Now she is practically invulnerable to all damage.\"",
7487    "\"When I was a child, we used to travel through the tunnel to easily reach the mainland. A mighty and wise guardian lived down there then... But now the tunnel is overrun by hedgehogs and carnivorous plants.\"",
7488    "\"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 in the hidden cave, and she returns promptly when satiated.\"";
7489  }
7490  AutomaticallySeen = true;
7491  ScienceTalkPossibility = 75;
7492  ScienceTalkIntelligenceModifier = 50;
7493  ScienceTalkWisdomModifier = 100;
7494  ScienceTalkIntelligenceRequirement = 10;
7495  ScienceTalkWisdomRequirement = 15;
7496  IsExtraFragile = true;
7497}
7498
7499encourager
7500{
7501  DefaultArmStrength = 15;
7502  DefaultLegStrength = 10;
7503  DefaultDexterity = 10;
7504  DefaultAgility = 10;
7505  DefaultEndurance = 15;
7506  DefaultPerception = 21;
7507  DefaultIntelligence = 7;
7508  DefaultWillPower = 7;
7509  DefaultWisdom = 7;
7510  DefaultCharisma = 7;
7511  DefaultMana = 0;
7512  CapColor = rgb16(64, 64, 64);
7513  EyeColor = rgb16(140, 100, 70);
7514  BootColor = rgb16(90, 60, 20);
7515  HeadBitmapPos = 96, 240;
7516  TorsoBitmapPos = 32, 0;
7517  ArmBitmapPos = 64, 0;
7518  LegBitmapPos = 16, 208;
7519  TotalVolume = 90000;
7520  TotalSize = 170;
7521  NameSingular = "banana grower encourager";
7522  Belt = LEATHER belt;
7523  RightWielded = HARDENED_LEATHER whip;
7524  RightBoot = HARDENED_LEATHER boot;
7525  KnownCWeaponSkills = { 2, KICK, WHIPS; }
7526  CWeaponSkillHits = { 2, 100, 100; }
7527  RightSWeaponSkillHits = 100;
7528  AttackStyle = USE_ARMS|USE_LEGS;
7529  TamingDifficulty = NO_TAMING;
7530  HostileReplies == "\"Ah! Again me kick ye!\"";
7531  AttachedGod = MELLIS;
7532  FriendlyReplies =
7533  {
7534    4;
7535    "@Dd shouts harshly: \"Work! Work! Bring food to yer betters!\"",
7536    "@Dd shouts almost sadly: \"Gonna leave, man? Pity. Me kinda liked kicking ya.\"",
7537    "@Dd screams at your face: \"Me talented shouter. That made everyone in Attnam jealous. Me was sent here and told to never come back.\"",
7538    "@Dd shouts smiling: \"Me has team management diploma from Decos business school! Me very good at encouraging workers.\"";
7539  }
7540  AutomaticallySeen = true;
7541  IsSadist = true;
7542}
7543
7544chameleon
7545{
7546  DefaultArmStrength = 4;
7547  DefaultAgility = 20;
7548  DefaultEndurance = 12;
7549  DefaultPerception = 12;
7550  DefaultIntelligence = 5;
7551  DefaultWillPower = 8;
7552  DefaultWisdom = 5;
7553  DefaultCharisma = 8;
7554  DefaultMana = 0;
7555  CanOpen = false;
7556  TotalVolume = 4500;
7557  TorsoBitmapPos = 16, 0;
7558  HostileReplies == "The skin of @du is blood red for a moment.";
7559  FriendlyReplies == "The skin of @du is white for a moment.";
7560  TotalSize = 30;
7561  /* SkinColor overridden */
7562  NameSingular = "chameleon";
7563  AttackStyle = USE_HEAD;
7564  BaseBiteStrength = 300;
7565  CanBeGenerated = true;
7566  KnownCWeaponSkills == BITE;
7567  CWeaponSkillHits == 20;
7568  FleshMaterial = CHAMELEON_FLESH;
7569  IgnoreDanger = true;
7570  HPRequirementForGeneration = 40;
7571  DayRequirementForGeneration = 4;
7572  Frequency = 1000;
7573  IsExtraCoward = true;
7574  AttachedGod = SCABIES;
7575}
7576
7577floatingeye
7578{
7579  DefaultArmStrength = 1;
7580  DefaultAgility = 3;
7581  DefaultEndurance = 6;
7582  DefaultPerception = 50;
7583  DefaultIntelligence = 2;
7584  DefaultWillPower = 2;
7585  DefaultWisdom = 2;
7586  DefaultCharisma = 8;
7587  DefaultMana = 0;
7588  CanOpen = false;
7589  TotalVolume = 30000;
7590  HostileReplies =
7591  {
7592    4,
7593    "@Dd stares at you intently.",
7594    "@Dd blinks.",
7595    "@Dd goes unfocused for a second.",
7596    "@Dd gazes at you.";
7597  }
7598  FriendlyReplies == "@Dd stares at you in a friendly manner.";
7599  TotalSize = 40;
7600  Adjective = "floating";
7601  NameSingular = "eye";
7602  CanBeGenerated = true;
7603  FleshMaterial = FLOATING_EYE_FLESH;
7604  IgnoreDanger = true;
7605  HPRequirementForGeneration = 40;
7606  DayRequirementForGeneration = 4;
7607  Frequency = 1500;
7608  TorsoBitmapPos = 32, 0;
7609  SkinColor = rgb16(180,180,180);
7610  ClothColor = rgb16(0, 0, 160); /* eye color */
7611  StandVerb = "levitating";
7612  HasALeg = false;
7613  CanRead = true;
7614  HasHead = false;
7615  UsesNutrition = false;
7616  AttackWisdomLimit = 8;
7617  AttachedGod = LEGIFER;
7618  ClassStates = INFRA_VISION|SEARCHING|GAS_IMMUNITY;
7619  AttackStyle = USE_HEAD;
7620  BaseBiteStrength = 0;
7621  MoveType = FLY;
7622  CanHear = false;
7623  AllowUnconsciousness = false;
7624  CanChoke = false;
7625}
7626
7627eddy
7628{
7629  DefaultArmStrength = 1;
7630  DefaultAgility = 10;
7631  DefaultEndurance = 3;
7632  DefaultPerception = 12;
7633  DefaultIntelligence = 1;
7634  DefaultWillPower = 1;
7635  DefaultWisdom = 1;
7636  DefaultCharisma = 1;
7637  DefaultMana = 10;
7638  TotalVolume = 150000; /* most of it is in some other dimension */
7639  TorsoBitmapPos = 64, 32;
7640  HostileReplies == "@Dd twirls angrily.";
7641  FriendlyReplies == "@Dd twirls faster for a moment.";
7642  TotalSize = 100;
7643  SkinColor = rgb16(200, 200, 112);
7644  NameSingular = "eddy";
7645  NamePlural = "eddies";
7646  PostFix = "in the space-time continuum";
7647  UsesLongArticle = true;
7648  CanBeGenerated = true;
7649  HasEyes = false;
7650  HasHead = false;
7651  HasALeg = false;
7652  CanBeGenerated = true;
7653  IgnoreDanger = true;
7654  HPRequirementForGeneration = 50;
7655  DayRequirementForGeneration = 5;
7656  Frequency = 1000;
7657  PanicLevel = 0;
7658  StandVerb = "twirling";
7659  ForceCustomStandVerb = true;
7660  UsesNutrition = false;
7661  SpillsBlood = false;
7662  Sweats = false;
7663  FleshMaterial = ETHER;
7664  DeathMessage = "@Dd disappears.";
7665  AttachedGod = SOPHOS;
7666  BodyPartsDisappearWhenSevered = true;
7667  ClassStates = GAS_IMMUNITY;
7668  AttackStyle = USE_HEAD;
7669  BaseBiteStrength = 0;
7670  TamingDifficulty = NO_TAMING;
7671  CanHear = false;
7672  CanChoke = false;
7673  IsImmuneToStickiness = true;
7674  MoveType = ETHEREAL|FLY;
7675}
7676
7677mushroom
7678{
7679  DefaultArmStrength = 4;
7680  DefaultAgility = 2;
7681  DefaultEndurance = 10;
7682  DefaultPerception = 5;
7683  DefaultIntelligence = 2;
7684  DefaultWillPower = 2;
7685  DefaultWisdom = 2;
7686  DefaultCharisma = 8;
7687  DefaultMana = 4;
7688  TotalVolume = 6250;
7689  TorsoBitmapPos = 208, 16;
7690  TotalSize = 40;
7691  Adjective = "giant";
7692  NameSingular = "mushroom";
7693  HasEyes = false;
7694  HasHead = false;
7695  HasALeg = false;
7696  UsesNutrition = false;
7697  SpillsBlood = false;
7698  Sweats = false;
7699  FleshMaterial = MUSHROOM_FLESH;
7700  SkinColor = rgb16(180, 180, 180);
7701  CanBeGenerated = true;
7702  AttachedGod = NEFAS;
7703  DeathMessage = "@Dd is squashed.";
7704  BaseUnarmedStrength = 200;
7705  PanicLevel = 0;
7706  CanOpen = false;
7707  StandVerb = "rooted";
7708  IsRooted = true;
7709  AllowUnconsciousness = false;
7710  CanChoke = false;
7711  HostileReplies =
7712  {
7713    4,
7714    "@Dd wobbles threateningly.",
7715    "@Dd suddenly seems very still.",
7716    "@Dd sporulates a bit.",
7717    "@Dd expresses @sp utter contempt for your pitiful and loathsome existence by wobbling erratically.";
7718  }
7719  FriendlyReplies == "@Dd wobbles knowingly.";
7720}
7721
7722magicmushroom /* mushroom-> */
7723{
7724  DefaultArmStrength = 6;
7725  DefaultAgility = 3;
7726  DefaultEndurance = 20;
7727  DefaultPerception = 7;
7728  DefaultIntelligence = 3;
7729  DefaultWillPower = 3;
7730  DefaultWisdom = 3;
7731  DefaultCharisma = 10;
7732  DefaultMana = 7;
7733  TotalVolume = 10000;
7734  TorsoBitmapPos = 128, 32;
7735  TotalSize = 60;
7736  Adjective = "magical";
7737  NameSingular = "mushroom";
7738  FleshMaterial = MAGIC_MUSHROOM_FLESH;
7739  SkinColor = rgb16(200, 170, 170);
7740  CanBeGenerated = true;
7741  AttachedGod = SCABIES;
7742  BaseUnarmedStrength = 300;
7743  KnownCWeaponSkills == UNARMED;
7744  CWeaponSkillHits == 20;
7745  Frequency = 5000;
7746  DangerModifier = 75;
7747  StandVerb = "wobbling";
7748}
7749
7750darkmage
7751{
7752  HeadBitmapPos = 112, 304;
7753  TorsoBitmapPos = 48, 224;
7754  ArmBitmapPos = 80, 64;
7755  LegBitmapPos = 16, 160;
7756  ClothColor = rgb16(50, 50, 50);
7757  CanRead = true;
7758  CanBeGenerated = true;
7759  ClassStates = INFRA_VISION;
7760  HostileReplies =
7761  {
7762    6,
7763    "\"Abracadabra!\"",
7764    "\"Hocus pocus!\"",
7765    "\"Alakazam.\"",
7766    "\"Sim sala bim!\"",
7767    "@Dd screams: \"May the Darkness swallow you!\"",
7768    "@Dd yells: \"Prepare to meet your maker!\"";
7769  }
7770  FriendlyReplies =
7771  {
7772    10,
7773    "\"Don't fear the Darkness, my friend.\"",
7774    "\"Knowledge itself is never dangerous, it is how that knowledge is used that is dangerous.\"",
7775    "\"Everything looks better when it's dead and on fire!\"",
7776    "\"My motto? If it's not on fire now, it will be soon.\"",
7777    "\"What hurts you, blesses you. Darkness is your candle.\"",
7778    "@Dd seems not to notice you.",
7779    "@Dd seems to mutter a cantrip.",
7780    "@Dd complains about unpleasant dungeon conditions.",
7781    "@Dd cackles madly: \"Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.\"",
7782    "\"Death awaits our foes.\"";
7783  }
7784  IgnoreDanger = true;
7785  AttachedGod = INFUSCOR;
7786  IsAbstract = true;
7787  KnownCWeaponSkills == BLUNT_WEAPONS;
7788  IsExtraFragile = true;
7789  IsSadist = true;
7790  ScienceTalkName =
7791  {
7792    25,
7793    "spellcraft", "druidcraft", "illusioncraft", "witchcraft", "conjuration",
7794    "charms", "enchantments", "summoning", "necromancy", "pyromancy",
7795    "oneiromancy", "transmutation", "transformation", "transmogrification", "alchemy",
7796    "elementalism", "animalism", "divination", "arcana", "thaumaturgy",
7797    "abjuration", "invocation", "evocation", "incantations", "hexes";
7798  }
7799
7800  Config APPRENTICE;
7801  {
7802    DefaultArmStrength = 15;
7803    DefaultLegStrength = 15;
7804    DefaultDexterity = 15;
7805    DefaultAgility = 21;
7806    DefaultEndurance = 15;
7807    DefaultPerception = 21;
7808    DefaultIntelligence = 15;
7809    DefaultWillPower = 10;
7810    DefaultWisdom = 10;
7811    DefaultCharisma = 10;
7812    DefaultMana = 20;
7813    UsesLongAdjectiveArticle = true;
7814    Adjective = "apprentice";
7815    NameSingular = "dark mage";
7816    TotalVolume = 60000;
7817    TotalSize = 180;
7818    ClothColor = rgb16(80, 80, 80);
7819    BeltColor = rgb16(80, 80, 80);
7820    Cloak = LEATHER cloak { Enchantment = 2; }
7821    RightWielded = OAK_WOOD OAK_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 3; }
7822    HPRequirementForGeneration = 150;
7823    DayRequirementForGeneration = 15;
7824    Frequency = 1500;
7825    PanicLevel = 75;
7826    Inventory == lantern;
7827    CWeaponSkillHits == 50;
7828    RightSWeaponSkillHits = 20;
7829    LeftSWeaponSkillHits = 20;
7830    PolymorphIntelligenceRequirement = 5;
7831    Inventory = { 2, Random { MaxPrice = 500; Category = WAND|SCROLL; Chance = 10; }, Random { MinPrice = 500; Category = WAND|SCROLL; Chance = 5; } }
7832    DeathMessage = "@Dd dies screaming: \"No! The Darkness, it's coming for me!\"";
7833    ScienceTalkPossibility = 25;
7834    ScienceTalkIntelligenceModifier = 10;
7835    ScienceTalkWisdomModifier = 5;
7836    ScienceTalkIntelligenceRequirement = 10;
7837    ScienceTalkWisdomRequirement = 5;
7838  }
7839
7840  Config BATTLE_MAGE;
7841  {
7842    DefaultArmStrength = 13;
7843    DefaultLegStrength = 13;
7844    DefaultDexterity = 20;
7845    DefaultAgility = 18;
7846    DefaultEndurance = 15;
7847    DefaultPerception = 18;
7848    DefaultIntelligence = 30;
7849    DefaultWillPower = 15;
7850    DefaultWisdom = 15;
7851    DefaultCharisma = 15;
7852    DefaultMana = 30;
7853    Adjective = "dark";
7854    NameSingular = "battlemage";
7855    TotalVolume = 70000;
7856    TotalSize = 170;
7857    HairColor = rgb16(180, 40, 40);
7858    CapColor = rgb16(180, 40, 40);
7859    Cloak = NYMPH_HAIR cloak { Enchantment = 3; }
7860    RightWielded = TEAK_WOOD TEAK_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 4; }
7861    HPRequirementForGeneration = 250;
7862    DayRequirementForGeneration = 25;
7863    Frequency = 1000;
7864    PanicLevel = 25;
7865    CWeaponSkillHits == 100;
7866    RightSWeaponSkillHits = 50;
7867    LeftSWeaponSkillHits = 50;
7868    PolymorphIntelligenceRequirement = 20;
7869    Inventory = { 2, Random { MaxPrice = 500; Category = WAND|SCROLL; Chance = 25; }, Random { MinPrice = 500; Category = WAND|SCROLL; Chance = 10; } }
7870    DeathMessage = "@Dd dies laughing: \"You understand nothing! The Darkness will rise and nothing you can do will stop it.\"";
7871    ScienceTalkPossibility = 50;
7872    ScienceTalkIntelligenceModifier = 25;
7873    ScienceTalkWisdomModifier = 10;
7874    ScienceTalkIntelligenceRequirement = 20;
7875    ScienceTalkWisdomRequirement = 10;
7876  }
7877
7878  Config ELDER;
7879  {
7880    DefaultArmStrength = 11;
7881    DefaultLegStrength = 11;
7882    DefaultDexterity = 25;
7883    DefaultAgility = 15;
7884    DefaultEndurance = 15;
7885    DefaultPerception = 15;
7886    DefaultIntelligence = 45;
7887    DefaultWillPower = 20;
7888    DefaultWisdom = 20;
7889    DefaultCharisma = 20;
7890    DefaultMana = 40;
7891    UsesLongAdjectiveArticle = true;
7892    Adjective = "elder";
7893    NameSingular = "dark mage";
7894    ClassStates = INFRA_VISION|ESP;
7895    TotalVolume = 80000;
7896    TotalSize = 160;
7897    HairColor = rgb16(140, 140, 140);
7898    CapColor = rgb16(80, 80, 160);
7899    Cloak = OMMEL_HAIR cloak { Enchantment = 4; }
7900    RightWielded = ARCANITE ARCANITE meleeweapon(QUARTER_STAFF) { Enchantment = 5; }
7901    HPRequirementForGeneration = 350;
7902    DayRequirementForGeneration = 35;
7903    Frequency = 500;
7904    PanicLevel = 10;
7905    CWeaponSkillHits == 200;
7906    RightSWeaponSkillHits = 100;
7907    LeftSWeaponSkillHits = 100;
7908    PolymorphIntelligenceRequirement = 35;
7909    Inventory = { 2, Random { MaxPrice = 500; Category = WAND|SCROLL; Chance = 50; }, Random { MinPrice = 500; Category = WAND|SCROLL; Chance = 50; } }
7910    DeathMessage = "@Dd dies laughing: \"You understand nothing! The Darkness will rise and nothing you can do will stop it.\"";
7911    ScienceTalkPossibility = 100;
7912    ScienceTalkIntelligenceModifier = 100;
7913    ScienceTalkWisdomModifier = 50;
7914    ScienceTalkIntelligenceRequirement = 35;
7915    ScienceTalkWisdomRequirement = 25;
7916  }
7917
7918  Config ARCH_MAGE;
7919  {
7920    DefaultArmStrength = 9;
7921    DefaultLegStrength = 9;
7922    DefaultDexterity = 30;
7923    DefaultAgility = 12;
7924    DefaultEndurance = 15;
7925    DefaultPerception = 12;
7926    DefaultIntelligence = 60;
7927    DefaultWillPower = 30;
7928    DefaultWisdom = 25;
7929    DefaultCharisma = 25;
7930    DefaultMana = 50;
7931    Adjective = "dark";
7932    NameSingular = "archmage";
7933    DefaultName = "Ischaldirh";
7934    ClassStates = INVISIBLE|INFRA_VISION|ESP|TELEPORT_CONTROL;
7935    TotalVolume = 100000;
7936    TotalSize = 150;
7937    IsUnique = true;
7938    TamingDifficulty = 50;
7939    IsNameable = false;
7940    CanBeCloned = false;
7941    IsPolymorphable = false;
7942    HairColor = rgb16(200, 200, 200);
7943    EyeColor = rgb16(0, 0, 0);
7944    ClothColor = rgb16(30, 30, 30);
7945    CapColor = rgb16(50, 50, 50);
7946    BodyArmor = ARCANITE bodyarmor(CHAIN_MAIL) { Enchantment = 5; }
7947    Cloak = PHOENIX_FEATHER cloak { Enchantment = 5; }
7948    Belt = ANGEL_HAIR belt { Enchantment = 5; }
7949    RightBoot = DRAGON_HIDE boot(BOOT_OF_AGILITY) { Enchantment = 5; }
7950    RightWielded = OCCULTUM BLACK_DIAMOND meleeweapon(QUARTER_STAFF) { Enchantment = 6; }
7951    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); }
7952    HPRequirementForGeneration = 450;
7953    DayRequirementForGeneration = 45;
7954    PanicLevel = 0;
7955    CanBeConfused = false;
7956    CWeaponSkillHits == 500;
7957    RightSWeaponSkillHits = 200;
7958    LeftSWeaponSkillHits = 200;
7959    FireResistance = 40;
7960    ElectricityResistance = 40;
7961    EnergyResistance = 40;
7962    PolymorphIntelligenceRequirement = 50;
7963    IsImmuneToItemTeleport = true;
7964    IsExtraFragile = false;
7965    AllowUnconsciousness = false;
7966    UndeadVersions = false;
7967    HostileReplies =
7968    {
7969      4,
7970      "\"Minions, slaughter this fool!\"",
7971      "\"Verily, thou shalt be one dead cretin.\"",
7972      "@Dd is humming an incantation of a devastating death-spell.",
7973      "\"A mere mortal dares challenge my might?\"";
7974    }
7975    FriendlyReplies =
7976    {
7977      8,
7978      "@Dd conjures a quick illusion. \"This is picture from my great-grandson's fourth birthday last week. His name is Timmy. And this is the arcanite golem I gave him.\"",
7979      "\"Timotheodon, my only great-grandson, once stole my spellbook and tried to blast his classmates with a fireball. Isn't he a lovable rascal?\"",
7980      "@Dd sighs: \"My late wife, Helen, baked a wonderful banana stollen. Atavus day is not the same anymore, without her.\"",
7981      "\"I miss my wife so much. I even considered looking into necromancy, but... No, she wouldn't like it that way.\"",
7982      "@Dd winks at you: \"Ever tried a shot of vodka with just a sprinkle of ommel urine? That gives it just the right bite!\"",
7983      "\"Magic always comes at a price.\"",
7984      "\"The Art. It is not a painting, yet people will marvel at the sight. It is not a poem, yet it will move those that hear it. To be an Artist is to see the world as your canvas, to see reality as your clay.\"",
7985      "\"Some holidays, I wish I could just summon my family rather than try to make them agree on a time and place...\"";
7986    }
7987    DeathMessage = "@Dd dies with a calm smile: \"Hello Darkness, my old friend...\"";
7988  }
7989}
7990
7991twoheadedmoose
7992{
7993  DefaultArmStrength = 25;
7994  DefaultAgility = 20;
7995  DefaultEndurance = 15;
7996  DefaultPerception = 18;
7997  DefaultIntelligence = 5;
7998  DefaultWillPower = 5;
7999  DefaultWisdom = 5;
8000  DefaultCharisma = 3;
8001  DefaultMana = 0;
8002  TotalVolume = 200000;
8003  TorsoBitmapPos = 176, 16;
8004  HostileReplies == "Both heads of the moose snarl angrily at you.";
8005  FriendlyReplies == "Both heads of the moose nod at you.";
8006  TotalSize = 250;
8007  SkinColor = rgb16(90, 85, 80);
8008  NameSingular = "moose";
8009  NamePlural = "moose";
8010  Adjective = "two-headed";
8011  AttackStyle = USE_HEAD;
8012  CanBeGenerated = true;
8013  KnownCWeaponSkills == BITE;
8014  CWeaponSkillHits == 100;
8015  FleshMaterial = MOOSE_FLESH;
8016  DeathMessage = "@Dd dies both heads snarling bitterly.";
8017  AttachedGod = SCABIES;
8018  BaseBiteStrength = 300;
8019  CanKick = true;
8020  DangerModifier = 50;
8021  IsEnormous = true;
8022  ConsumeFlags = CT_FRUIT|CT_LIQUID|CT_MISC_PLANT|CT_PROCESSED;
8023}
8024
8025magpie
8026{
8027  DefaultArmStrength = 2;
8028  DefaultAgility = 40;
8029  DefaultEndurance = 8;
8030  DefaultPerception = 20;
8031  DefaultIntelligence = 6;
8032  DefaultWillPower = 4;
8033  DefaultWisdom = 5;
8034  DefaultCharisma = 6;
8035  DefaultMana = 0;
8036  StandVerb = "flying";
8037  CanOpen = false;
8038  TotalVolume = 500;
8039  TorsoBitmapPos = 336, 16;
8040  HostileReplies == "@Dd peeps evilly.";
8041  FriendlyReplies == "@Dd chirps happily.";
8042  TotalSize = 20;
8043  SkinColor = rgb16(64, 64, 64);
8044  TorsoMainColor = rgb16(180, 180, 180);
8045  Adjective = "giant";
8046  NameSingular = "magpie";
8047  AttackStyle = USE_HEAD;
8048  BaseBiteStrength = 400;
8049  CanBeGenerated = true;
8050  KnownCWeaponSkills == BITE;
8051  CWeaponSkillHits == 50;
8052  PanicLevel = 75;
8053  FleshMaterial = MAGPIE_FLESH;
8054  AttachedGod = CLEPTIA;
8055  ClassStates = INFRA_VISION; /* So that invisible player doesn't screw the AI */
8056  BiteCapturesBodyPart = false;
8057  MoveType = FLY;
8058}
8059
8060skunk
8061{
8062  DefaultArmStrength = 6;
8063  DefaultAgility = 10;
8064  DefaultEndurance = 9;
8065  DefaultPerception = 18;
8066  DefaultIntelligence = 5;
8067  DefaultWillPower = 5;
8068  DefaultWisdom = 5;
8069  DefaultCharisma = 4;
8070  DefaultMana = 0;
8071  TotalVolume = 10000;
8072  TorsoBitmapPos = 128, 0;
8073  HostileReplies == "@Dd grawls.";
8074  FriendlyReplies == "@Dd discusses philosophy with you.";
8075  TotalSize = 50;
8076  SkinColor = rgb16(80, 80, 80);
8077  Adjective = "big";
8078  NameSingular = "skunk";
8079  AttackStyle = USE_HEAD;
8080  BaseBiteStrength = 350;
8081  CanBeGenerated = true;
8082  KnownCWeaponSkills == BITE;
8083  CWeaponSkillHits == 100;
8084  FleshMaterial = SKUNK_FLESH;
8085  AttachedGod = SILVA;
8086  PanicLevel = 85;
8087  TorsoMainColor = rgb16(220, 220, 220);
8088  PoisonResistance = 10;
8089  DangerModifier = 33;
8090  ClassStates = GAS_IMMUNITY;
8091}
8092
8093invisiblestalker
8094{
8095  DefaultArmStrength = 5;
8096  DefaultAgility = 25;
8097  DefaultEndurance = 15;
8098  DefaultPerception = 24;
8099  DefaultIntelligence = 8;
8100  DefaultWillPower = 7;
8101  DefaultWisdom = 6;
8102  DefaultCharisma = 5;
8103  DefaultMana = 0;
8104  TotalVolume = 40000;
8105  TorsoBitmapPos = 224, 16;
8106  FriendlyReplies =
8107  {
8108    4,
8109    "\"I will watch you when you sleep.\"",
8110    "\"Don't mind me. I'm just watching. Your. Every. Step.\"",
8111    "\"I'm not an invisible stalker! I'm your imaginary friend!\"",
8112    "\"Gah, I always feel like somebody's watching me. Creepy.\"";
8113  }
8114  HostileReplies =
8115  {
8116    2,
8117    "\"Gods are away on business.\"",
8118    "\"Misery is the river of the world.\"";
8119  }
8120  TotalSize = 170;
8121  NameSingular = "stalker";
8122  Adjective = "invisible";
8123  UsesLongAdjectiveArticle = true;
8124  AttackStyle = USE_ARMS;
8125  CanBeGenerated = true;
8126  FleshMaterial = ETHER;
8127  BaseUnarmedStrength = 750;
8128  DeathMessage = "@Dd hisses and vanishes.";
8129  AttachedGod = CLEPTIA;
8130  CanKick = true;
8131  DangerModifier = 250;
8132  KnownCWeaponSkills == UNARMED;
8133  CWeaponSkillHits == 200;
8134  ClassStates = INVISIBLE|SEARCHING;
8135  BodyPartsDisappearWhenSevered = true;
8136  IsImmuneToStickiness = true;
8137
8138  Config SLAYER;
8139  {
8140    DefaultIntelligence = 1;
8141    AttributeBonus = 50;
8142    TotalSize = 100;
8143    CWeaponSkillHits == 500;
8144    NameSingular = "slayer";
8145    EyeColor = rgb16(180, 0, 0);
8146    ClassStates = INVISIBLE|SEARCHING|TELEPORT;
8147  }
8148}
8149
8150largecreature
8151{
8152  IsAbstract = true;
8153  CanBeWished = false;
8154  CanBeGenerated = false;
8155  IsEnormous = true;
8156}
8157
8158elpuri
8159{
8160  DefaultArmStrength = 80;
8161  DefaultAgility = 25;
8162  DefaultEndurance = 20;
8163  DefaultPerception = 42;
8164  DefaultIntelligence = 45;
8165  DefaultWillPower = 35;
8166  DefaultWisdom = 35;
8167  DefaultCharisma = 2;
8168  DefaultMana = 35;
8169  TamingDifficulty = NO_TAMING;
8170  IsNameable = false;
8171  IsUnique = true;
8172  TotalVolume = 1000000;
8173  TorsoBitmapPos = 160, 64;
8174  TotalSize = 250;
8175  NameSingular = "Master Dark Frog";
8176  IsPolymorphable = false;
8177  CanBeGenerated = false;
8178  Alias == "Elpuri";
8179  CWeaponSkillHits == 1000;
8180  PanicLevel = 0;
8181  CanBeCloned = false;
8182  DefaultName = "Elpuri";
8183  HostileReplies =
8184  {
8185    6,
8186    "\"DiE, mOrTaL!!!\"",
8187    "\"tHe PoRtAl Is SpEaKiNg To Me... ThEy ArE cOmInG... tHeY aRe EnDlEsS... gRaH-hAH-hArR!!! aT LeAsT i WiLl HaVe WhAt To EaT!!!\"",
8188    "\"I hAvE dEvOuReD hOrDeS oF dAeMoNs, CoNsUmEd ThEiR pOwEr AnD sOuLs... YoU aRe BuT a TiNy MoRsEl!!!\"",
8189    "\"i ReMeMbEr LiGhT... bUt DaRkNeSs Is So MuCh MoRe... DeLiGhTfUl... AnD dElIcIoUs!!!\"",
8190    "\"PeTrUs!!! I rEmEmBeR!!! oNe DaY, i WiLl DeVoUr EnOuGh, I wIlL gRoW eNoUgH aNd ThEn I wIlL fEaSt On HiS fLeSh!!!\"",
8191    "@Dd roars horribly: \"DiE, pUnY hUmAn!!!\"";
8192  }
8193  BloodMaterial = DARK_FROG_BLOOD;
8194  SkinColor = rgb16(60, 60, 60);
8195  ClassStates = INFRA_VISION|TELEPORT_CONTROL;
8196  BaseBiteStrength = 1500;
8197  FleshMaterial = ELPURI_FLESH;
8198  DeathMessage = "@Dd groans horribly and drops @sp head.";
8199  AttachedGod = SCABIES;
8200  CanTalk = true;
8201  CanBeConfused = false;
8202  AttackStyle = USE_HEAD;
8203  KnownCWeaponSkills == BITE;
8204  MoveType = WALK|SWIM;
8205  DestroysWalls = true;
8206  AllowUnconsciousness = false;
8207}
8208
8209genetrixvesana
8210{
8211  DefaultArmStrength = 16;
8212  DefaultAgility = 8;
8213  DefaultEndurance = 30;
8214  DefaultPerception = 24;
8215  DefaultIntelligence = 12;
8216  DefaultWillPower = 8;
8217  DefaultWisdom = 8;
8218  DefaultCharisma = 20;
8219  DefaultMana = 0;
8220  TotalVolume = 60000;
8221  TorsoBitmapPos = 128, 64;
8222  TotalSize = 250;
8223  Adjective = "mother carnivorous";
8224  NameSingular = "plant";
8225  DefaultName = "Genetrix Vesana";
8226  AttackStyle = USE_HEAD;
8227  BaseBiteStrength = 600;
8228  SkinColor = rgb16(111, 64, 37);
8229  TorsoMainColor = rgb16(0, 160, 0); /* the leaves */
8230  TorsoSpecialColor = rgb16(160, 0, 0);
8231  KnownCWeaponSkills == BITE;
8232  CWeaponSkillHits == 100;
8233  PanicLevel = 0;
8234  TamingDifficulty = NO_TAMING;
8235  IsNameable = false;
8236  IsUnique = true;
8237  DeathMessage = "@Dd is brutally destroyed.";
8238  BaseEmitation = rgb24(140, 100, 100);
8239  FleshMaterial = MUTANT_PLANT_FIBER;
8240  BloodMaterial = PLANT_SAP;
8241  AttachedGod = SCABIES;
8242  IsPlant = true;
8243  CanOpen = false;
8244  HostileReplies == "@Dd is silent.";
8245  FriendlyReplies == "@Dd is silent.";
8246  ClassStates = INFRA_VISION;
8247  HasALeg = false;
8248  SpillsBlood = true; /* It will be more fun! */
8249  Sweats = false;
8250  StandVerb = "rooted";
8251  IsRooted = true;
8252  AllowUnconsciousness = false;
8253  Sex = FEMALE;
8254}
8255
8256hedgehog
8257{
8258  DefaultArmStrength = 2;
8259  DefaultAgility = 15;
8260  DefaultEndurance = 10;
8261  DefaultPerception = 12;
8262  DefaultIntelligence = 5;
8263  DefaultWillPower = 5;
8264  DefaultWisdom = 5;
8265  DefaultCharisma = 6;
8266  DefaultMana = 0;
8267  TotalVolume = 5000;
8268  TorsoBitmapPos = 112, 0;
8269  HostileReplies == "@Dd ignores you.";
8270  FriendlyReplies == "@Dd ignores you.";
8271  TotalSize = 30;
8272  SkinColor = rgb16(180, 160, 130);
8273  Adjective = "large";
8274  NameSingular = "hedgehog";
8275  AttackStyle = USE_HEAD;
8276  BaseBiteStrength = 300;
8277  CanBeGenerated = true;
8278  KnownCWeaponSkills == BITE;
8279  CWeaponSkillHits == 20;
8280  FleshMaterial = HEDGEHOG_FLESH;
8281  AttachedGod = SILVA;
8282  AutomaticallySeen = true;
8283  CanOpen = false;
8284}
8285
8286bunny
8287{
8288  DefaultEndurance = 16;
8289  DefaultPerception = 18;
8290  DefaultIntelligence = 10;
8291  DefaultWillPower = 6;
8292  DefaultWisdom = 6;
8293  DefaultCharisma = 10;
8294  DefaultMana = 0;
8295  TorsoBitmapPos = 160, 0;
8296  HostileReplies == "@Dd squeals furiously.";
8297  FriendlyReplies == "@Dd squeals happily.";
8298  SkinColor = rgb16(90, 70, 60);
8299  NameSingular = "bunny";
8300  NamePlural = "bunnies";
8301  AttackStyle = USE_HEAD;
8302  BaseBiteStrength = 650;
8303  CanBeGenerated = true;
8304  KnownCWeaponSkills == BITE;
8305  CWeaponSkillHits == 20;
8306  FleshMaterial = MUTANT_BUNNY_FLESH;
8307  AttachedGod = SILVA;
8308  IsAbstract = true;
8309  CanOpen = false;
8310  BloodMaterial = GLOWING_BLOOD;
8311
8312  Config BABY_MALE;
8313  {
8314    Adjective = "young male carnivorous mutant";
8315    TotalVolume = 20000;
8316    AttributeBonus = -50;
8317    TorsoBitmapPos = 144, 0;
8318    DefaultArmStrength = 8;
8319    DefaultAgility = 10;
8320    TotalSize = 100;
8321  }
8322
8323  Config BABY_FEMALE;
8324  {
8325    Adjective = "young female carnivorous mutant";
8326    TotalVolume = 17500;
8327    AttributeBonus = -50;
8328    TorsoBitmapPos = 144, 0;
8329    DefaultArmStrength = 4;
8330    DefaultAgility = 15;
8331    TotalSize = 90;
8332  }
8333
8334  Config ADULT_MALE;
8335  {
8336    Adjective = "adult male carnivorous mutant";
8337    TotalVolume = 40000;
8338    TorsoBitmapPos = 160, 0;
8339    DefaultArmStrength = 16;
8340    DefaultAgility = 20;
8341    TotalSize = 50;
8342  }
8343
8344  Config ADULT_FEMALE;
8345  {
8346    Adjective = "adult female carnivorous mutant";
8347    TotalVolume = 35000;
8348    TorsoBitmapPos = 160, 0;
8349    DefaultArmStrength = 8;
8350    DefaultAgility = 30;
8351    TotalSize = 45;
8352  }
8353}
8354
8355vladimir
8356{
8357  DefaultArmStrength = 60;
8358  DefaultAgility = 30;
8359  DefaultEndurance = 25;
8360  DefaultPerception = 30;
8361  DefaultIntelligence = 8;
8362  DefaultWillPower = 12;
8363  DefaultWisdom = 7;
8364  DefaultCharisma = 15;
8365  DefaultMana = 0;
8366  TorsoBitmapPos = 288, 32;
8367  HostileReplies == "@Dd roars terribly.";
8368  FriendlyReplies == "@Dd roars cheerfully.";
8369  SkinColor = rgb16(110, 90, 80);
8370  NameSingular = "bunny";
8371  Adjective = "gigantic carnivorous mutant";
8372  AttackStyle = USE_HEAD|USE_ARMS;
8373  BaseUnarmedStrength = 1000;
8374  BaseBiteStrength = 500;
8375  KnownCWeaponSkills = { 2, UNARMED, BITE; }
8376  CWeaponSkillHits == 200;
8377  FleshMaterial = MUTANT_BUNNY_FLESH;
8378  AttachedGod = SCABIES;
8379  TotalSize = 400;
8380  MoveType = WALK;
8381  DestroysWalls = true;
8382  DefaultName = "Vladimir";
8383  Alias == "Vladimir";
8384  TotalVolume = 800000;
8385  IsUnique = true;
8386  CanApply = true;
8387  IsPolymorphable = false;
8388  CanBeCloned = false;
8389  ConstantCommandFlags = FLEE_FROM_ENEMIES;
8390  BloodMaterial = GLOWING_BLOOD;
8391}
8392
8393hattifattener
8394{
8395  DefaultArmStrength = 3;
8396  DefaultAgility = 10;
8397  DefaultEndurance = 10;
8398  DefaultPerception = 9;
8399  DefaultIntelligence = 3;
8400  DefaultWillPower = 3;
8401  DefaultWisdom = 3;
8402  DefaultCharisma = 6;
8403  DefaultMana = 0;
8404  TotalVolume = 10000;
8405  TorsoBitmapPos = 208, 0;
8406  HostileReplies == "@Dd emits a thousand sparkles of furious electricity.";
8407  FriendlyReplies == "@Dd looks at you with @sp round, colourless eyes.";
8408  TotalSize = 80;
8409  SkinColor = rgb16(255, 255, 255);
8410  TorsoSpecialColor = rgb16(48, 48, 48);
8411  NameSingular = "hattifattener";
8412  AttackStyle = USE_HEAD;
8413  BaseBiteStrength = 1;
8414  CanBeGenerated = true;
8415  FleshMaterial = HATTIFATTENER_FLESH;
8416  AttachedGod = TERRA;
8417  IgnoreDanger = true;
8418  HPRequirementForGeneration = 60;
8419  DayRequirementForGeneration = 6;
8420  ElectricityResistance = 100;
8421  Frequency = 1000;
8422  PanicLevel = 0;
8423  BodyPartsDisappearWhenSevered = true;
8424  DeathMessage = "@Dd explodes in a burst of electricity!";
8425  BaseEmitation = rgb24(130, 130, 130);
8426  SpillsBlood = false;
8427  Sweats = false;
8428  Alias == "Hattivatti";
8429  AllowUnconsciousness = false;
8430  CanChoke = false;
8431}
8432
8433necromancer
8434{
8435  HeadBitmapPos = 112, 128;
8436  TorsoBitmapPos = 48, 352;
8437  ArmBitmapPos = 80, 96;
8438  LegBitmapPos = 16, 160;
8439  ClothColor = rgb16(50, 50, 50);
8440  EyeColor = rgb16(200, 0, 0);
8441  BeltColor = rgb16(100, 100, 100);
8442  ArmSpecialColor = rgb16(100, 100, 140);
8443  Helmet = helmet(MASK);
8444  CanRead = true;
8445  CanBeGenerated = true;
8446  ClassStates = INFRA_VISION;
8447  ConsumeFlags = CT_MEAT|CT_LIQUID|CT_PROCESSED|CT_BONE; /* Necromancers eat vegetarians, not vegetables! */
8448  HostileReplies == "@Dd yells: \"Death! Death!\"";
8449  IgnoreDanger = true;
8450  AttachedGod = INFUSCOR;
8451  IsAbstract = true;
8452  KnownCWeaponSkills == BLUNT_WEAPONS;
8453  NameSingular = "necromancer";
8454  IsExtraFragile = true;
8455  IsSadist = true;
8456  IsCatacombCreature = true;
8457
8458  Config APPRENTICE_NECROMANCER;
8459  {
8460    DefaultArmStrength = 15;
8461    DefaultLegStrength = 15;
8462    DefaultDexterity = 15;
8463    DefaultAgility = 8;
8464    DefaultEndurance = 15;
8465    DefaultPerception = 21;
8466    DefaultIntelligence = 15;
8467    DefaultWillPower = 15;
8468    DefaultWisdom = 10;
8469    DefaultCharisma = 10;
8470    DefaultMana = 20;
8471    UsesLongAdjectiveArticle = true;
8472    Adjective = "apprentice";
8473    TotalVolume = 60000;
8474    TotalSize = 180;
8475    Cloak = LEATHER cloak { Enchantment = 2; }
8476    RightWielded = OAK_WOOD OAK_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 3; }
8477    HPRequirementForGeneration = 50;
8478    DayRequirementForGeneration = 5;
8479    Frequency = 1500;
8480    PanicLevel = 5;
8481    CWeaponSkillHits == 50;
8482    RightSWeaponSkillHits = 20;
8483    LeftSWeaponSkillHits = 20;
8484    CapColor = rgb16(150, 150, 100);
8485    GauntletColor = rgb16(150, 150, 100);
8486    PolymorphIntelligenceRequirement = 5;
8487    Inventory = { 3, skull, Random { MaxPrice = 500; Category = WAND|SCROLL; Chance = 5; }, Random { MinPrice = 500; Category = WAND|SCROLL; Chance = 1; } }
8488    FriendlyReplies =
8489    {
8490      8,
8491      "@Dd smiles oddly: \"I see dead people.\"",
8492      "\"My powers over death suddenly manifested after I ate a wand of necromancy.\"",
8493      "\"What? No! Necromancy and necrophilia are *not* the same!\"",
8494      "\"Hey, I have a deal for you! Give me your soul, I will give you immortality. *cough* Raised as a mindless skeleton. *cough*\"",
8495      "\"I was working on my evil laugh lately. What do you think: MWHAHAHAHAHA - *cough* *cough* *cough* - Sorry.\"",
8496      "\"I hate vampires. They're all broody and sparkly and cool, but all they can talk about is blood. And angst, I guess.\"",
8497      "\"Once, I tried to subtly stick a dagger in my master's back. She said she would electrocute me, then raise me as a zombie and electrocute me again if I ever tried it again.\"",
8498      "\"My master says that ommel blood is sweeter and stronger than any wine.\"";
8499    }
8500    DeathMessage = "@Dd dies screaming: \"Nooo! I'm too young and beautiful to die!\"";
8501    ScienceTalkPossibility = 10;
8502    ScienceTalkIntelligenceModifier = 5;
8503    ScienceTalkWisdomModifier = 2;
8504    ScienceTalkIntelligenceRequirement = 10;
8505    ScienceTalkWisdomRequirement = 5;
8506  }
8507
8508  Config MASTER_NECROMANCER;
8509  {
8510    DefaultArmStrength = 13;
8511    DefaultLegStrength = 13;
8512    DefaultDexterity = 20;
8513    DefaultAgility = 6;
8514    DefaultEndurance = 15;
8515    DefaultPerception = 18;
8516    DefaultIntelligence = 30;
8517    DefaultWillPower = 30;
8518    DefaultWisdom = 15;
8519    DefaultCharisma = 15;
8520    DefaultMana = 30;
8521    Adjective = "master";
8522    TotalVolume = 70000;
8523    TotalSize = 170;
8524    Cloak = NYMPH_HAIR cloak { Enchantment = 3; }
8525    RightWielded = TEAK_WOOD TEAK_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 4; }
8526    HPRequirementForGeneration = 125;
8527    DayRequirementForGeneration = 12;
8528    Frequency = 1000;
8529    PanicLevel = 0;
8530    CWeaponSkillHits == 100;
8531    RightSWeaponSkillHits = 50;
8532    LeftSWeaponSkillHits = 50;
8533    CapColor = rgb16(100, 100, 200);
8534    GauntletColor = rgb16(100, 100, 200);
8535    PolymorphIntelligenceRequirement = 20;
8536    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; } }
8537    FriendlyReplies =
8538    {
8539      10,
8540      "@Dd smiles oddly: \"I see dead people. Lots of them. All the time. It's annoying.\"",
8541      "\"I'm trying to raise funds for a personal side-project of mine. Would you happen to have some virgins to spare?\"",
8542      "\"I was on a good way to become a lich, but I couldn't decide on the color of my phylactery.\"",
8543      "\"Yes, I'm angry! The library refused to extend my loan period on the Necronomicon.\"",
8544      "\"You don't know what SCP-008 is? Hehehe, ha ha! MWHAHAHAHAHAHA-ha. Sorry.\"",
8545      "\"The dead long for torture - to feel once more!\"",
8546      "\"I am the Reaper! Come join my dance.\"",
8547      "\"May you find beauty in endings...\"",
8548      "\"Nothing is more certain than death and nothing more uncertain than the time of dying.\"",
8549      "\"Are you a registered organ donor for the Flesh Golem Research Program? And would you like to be?\"";
8550    }
8551    DeathMessage = "@Dd dies laughing: \"Death is just a beginning!\"";
8552    ScienceTalkPossibility = 50;
8553    ScienceTalkIntelligenceModifier = 50;
8554    ScienceTalkWisdomModifier = 25;
8555    ScienceTalkIntelligenceRequirement = 20;
8556    ScienceTalkWisdomRequirement = 10;
8557  }
8558
8559  Config IMPRISONED_NECROMANCER;
8560  {
8561    HeadBitmapPos = 112, 128;
8562    TorsoBitmapPos = 48, 352;
8563    ArmBitmapPos = 80, 96;
8564    LegBitmapPos = 16, 160;
8565    ClothColor = rgb16(122, 60, 60);
8566    EyeColor = rgb16(190, 250, 0);
8567    ArmSpecialColor = rgb16(170, 82, 82);
8568    CapColor = rgb16(120, 50, 50);
8569    GauntletColor = rgb16(182, 64, 64);
8570    CanBeGenerated = false;
8571    /* Replies overridden */
8572    DefaultArmStrength = 15;
8573    DefaultLegStrength = 15;
8574    DefaultDexterity = 22;
8575    DefaultAgility = 12;
8576    DefaultEndurance = 18;
8577    DefaultPerception = 22;
8578    DefaultIntelligence = 36;
8579    DefaultWillPower = 35;
8580    DefaultWisdom = 20;
8581    DefaultCharisma = 9;
8582    DefaultMana = 50;
8583    DefaultName = "Anmah";
8584    Adjective = "imprisoned";
8585    TotalVolume = 80000;
8586    TotalSize = 180;
8587    Cloak = HARDENED_LEATHER cloak { Enchantment = 3; }
8588    RightWielded = EBONY_WOOD EBONY_WOOD meleeweapon(QUARTER_STAFF) { Enchantment = 5; }
8589    Frequency = 0;
8590    PanicLevel = 0;
8591    CWeaponSkillHits == 500;
8592    RightSWeaponSkillHits = 50;
8593    LeftSWeaponSkillHits = 50;
8594    ScienceTalkPossibility = 0;
8595    TamingDifficulty = NO_TAMING;
8596    IsNameable = false;
8597    IsUnique = true;
8598    CanRead = true;
8599    IsPolymorphable = false;
8600    PanicLevel = 0;
8601    CanBeCloned = false;
8602    BodyPartsDisappearWhenSevered = true;
8603    CanBeConfused = false;
8604    EnergyResistance = 50;
8605    IsImmuneToLeprosy = true;
8606    IsImmuneToItemTeleport = true;
8607    AllowUnconsciousness = false;
8608    DisplacePriority = 10;
8609    UndeadVersions = false;
8610    Inventory == celestialmonograph;
8611  }
8612}
8613
8614sumowrestler
8615{
8616  DefaultArmStrength = 25;
8617  DefaultLegStrength = 35;
8618  DefaultDexterity = 15;
8619  DefaultAgility = 6;
8620  DefaultEndurance = 12;
8621  DefaultPerception = 15;
8622  DefaultIntelligence = 10;
8623  DefaultWillPower = 15;
8624  DefaultWisdom = 15;
8625  DefaultCharisma = 6;
8626  DefaultMana = 0;
8627  TotalVolume = 200000;
8628  TotalSize = 160;
8629  NameSingular = "sumo wrestler";
8630  DefaultName = "Huang Ming Pong";
8631  SkinColor = rgb16(128, 80, 48);
8632  HairColor = rgb16(80, 48, 32);
8633  ClothColor = rgb16(56, 48, 20);
8634  HeadBitmapPos = 96, 336;
8635  TorsoBitmapPos = 32, 352;
8636  ArmBitmapPos = 64, 336;
8637  LegBitmapPos = 16, 176;
8638  TamingDifficulty = NO_TAMING;
8639  HostileReplies == "\"SSSUUUMMMMMMOOOOORRRRGGGGGHHHHH!!!! (Mr. Decos said sumo wrestlers always yell like this.)\"";
8640  AttachedGod = SILVA;
8641  KnownCWeaponSkills = { 2, UNARMED, KICK; }
8642  CWeaponSkillHits = { 2, 1000, 1000; }
8643  AttackStyle = USE_ARMS|USE_LEGS;
8644  IsUnique = true;
8645  CanBeWished = true;
8646  IsPolymorphable = false;
8647  PanicLevel = 10;
8648  BaseUnarmedStrength = 100;
8649  FriendlyReplies =
8650  {
8651    9, /* 6 first are used before the revolution */
8652    "@Dd smiles broadly: \"'Tis the perfect occupation, this. I eat like kings! Or at least like kings who only eat bananas.\"",
8653    "\"The ancient rules of this traditional martial art were designed by Mr. Decos himself, so don't complain about them.\"",
8654    "\"My real name is Alfred, but the viceroy said it wasn't exotic enough for this job.\"",
8655    "@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.\"",
8656    "@Dd seems to be recalling sorrowful memories. \"When Tweraif was still sovereign, I tried to run a restaurant for a while. It ended in bankruptcy since I ate all the food myself.\"",
8657    "@Dd winks at you: \"A belt of levitation is really useful for large people.\"",
8658    "@Dd looks almost panicked. \"Hey, why aren't people bringing me bananas anymore! I'm hungry! Help! Don't let me starve!\"",
8659    "\"If you attack Attnam, too, please don't liberate my wife. She'll force me to commence a merciless diet for sure!\"",
8660    "\"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!\"";
8661  }
8662  AutomaticallySeen = true;
8663  IsEnormous = true;
8664}
8665
8666tourist
8667{
8668  DefaultMana = 0;
8669  CanRead = true;
8670  IsAbstract = true;
8671  AttachedGod = MELLIS;
8672  SkinColor = rgb16(200, 110, 70);
8673  IsExtraCoward = true;
8674  AutomaticallySeen = true;
8675  DefaultCommandFlags = FOLLOW_PLAYER|FLEE_FROM_ENEMIES;
8676  ConstantCommandFlags = DONT_CONSUME_ANYTHING_VALUABLE;
8677  WillCarryItems = false;
8678  IsExtraFragile = true;
8679
8680  Config HUSBAND;
8681  {
8682    DefaultArmStrength = 10;
8683    DefaultLegStrength = 15;
8684    DefaultDexterity = 12;
8685    DefaultAgility = 8;
8686    DefaultEndurance = 10;
8687    DefaultPerception = 15;
8688    DefaultIntelligence = 10;
8689    DefaultWillPower = 10;
8690    DefaultWisdom = 7;
8691    DefaultCharisma = 8;
8692    TotalVolume = 90000;
8693    TotalSize = 175;
8694    NameSingular = "male tourist";
8695    HeadBitmapPos = 96, 64;
8696    TorsoBitmapPos = 32, 368;
8697    ArmBitmapPos = 80, 48;
8698    LegBitmapPos = 16, 224;
8699    DefaultMoney = 5000;
8700    BootColor = rgb16(200, 0, 0);
8701    ClothColor = rgb16(200, 16, 200);
8702    LegMainColor = rgb16(50, 100, 132);
8703    CapColor = rgb16(200, 200, 0);
8704    HostileReplies == "\"Violence is barbaric. Couldn't we settle this little dispute of ours in a court of law?\"";
8705    FriendlyReplies =
8706    {
8707      6,
8708      "\"Don't you barbarians really eat anything but fruits? I need some greasy sausages badly!\"",
8709      "\"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.\"",
8710      "\"Back home I plan commercials acted during theatre play breaks.\"",
8711      "\"It is good for my son to see how we would live if science and trade hadn't brought us the prosperity and welfare it has.\"",
8712      "\"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.\"",
8713      "\"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.\"";
8714    }
8715  }
8716
8717  Config WIFE;
8718  {
8719    DefaultArmStrength = 8;
8720    DefaultLegStrength = 12;
8721    DefaultDexterity = 8;
8722    DefaultAgility = 12;
8723    DefaultEndurance = 8;
8724    DefaultPerception = 21;
8725    DefaultIntelligence = 7;
8726    DefaultWillPower = 15;
8727    DefaultWisdom = 10;
8728    DefaultCharisma = 10;
8729    TotalVolume = 70000;
8730    TotalSize = 170;
8731    Sex = FEMALE;
8732    NameSingular = "female tourist";
8733    HeadBitmapPos = 112, 48;
8734    TorsoBitmapPos = 48, 368;
8735    ArmBitmapPos = 64, 160;
8736    LegBitmapPos = 16, 192;
8737    BootColor = rgb16(20, 20, 20);
8738    HairColor = rgb16(60, 48, 24);
8739    ClothColor = rgb16(50, 200, 50);
8740    LegMainColor = rgb16(60, 60, 60);
8741    LegSpecialColor = rgb16(60,50,60);
8742    AttackStyle = USE_ARMS|USE_LEGS;
8743    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!\"";
8744    FriendlyReplies =
8745    {
8746      5,
8747      "\"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?\"",
8748      "\"Why are all the villagers so sweaty? Can't they try to wash themselves often enough at least when civilized people are around?\"",
8749      "\"I so love bananas! This is a heaven!\"",
8750      "\"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.\"",
8751      "\"Richel Decos is such a wonderful person! I wish I was married to someone as well-off as him!\"";
8752    }
8753  }
8754
8755  Config CHILD;
8756  {
8757    DefaultArmStrength = 7;
8758    DefaultLegStrength = 7;
8759    DefaultDexterity = 15;
8760    DefaultAgility = 15;
8761    DefaultEndurance = 10;
8762    DefaultPerception = 18;
8763    DefaultIntelligence = 12;
8764    DefaultWillPower = 5;
8765    DefaultWisdom = 5;
8766    DefaultCharisma = 6;
8767    TotalVolume = 50000;
8768    TotalSize = 130;
8769    NameSingular = "child tourist";
8770    HeadBitmapPos = 112, 352;
8771    TorsoBitmapPos = 32, 384;
8772    ArmBitmapPos = 80, 352;
8773    LegBitmapPos = 16, 16;
8774    BootColor = rgb16(200, 200, 200);
8775    ClothColor = rgb16(200, 200, 200);
8776    LegMainColor = rgb16(50, 100, 132);
8777    CapColor = rgb16(40, 40, 40);
8778    AttackStyle = USE_ARMS|USE_LEGS|USE_HEAD;
8779    FriendlyReplies =
8780    {
8781      4,
8782      "\"A real native!!! Can I touch him, mommy? Can I? Can I?\"",
8783      "\"I wanna see you sacrifice someone to tree gods!!!\"",
8784      "\"Did you see that Pong person? He's fatter than daddy!!! I can't believe it!!!\"",
8785      "\"Mister, can you catch me a demon spider? I wanna bring one home as a pet!!!\"";
8786    }
8787  }
8788}
8789
8790blinkdog
8791{
8792  DefaultArmStrength = 8;
8793  DefaultAgility = 25;
8794  DefaultEndurance = 8;
8795  DefaultPerception = 21;
8796  DefaultIntelligence = 10;
8797  DefaultWillPower = 5;
8798  DefaultWisdom = 5;
8799  DefaultCharisma = 10;
8800  DefaultMana = 5;
8801  TotalVolume = 30000;
8802  TotalSize = 100;
8803  SkinColor = rgb16(225, 225, 32);
8804  NameSingular = "blink dog";
8805  BaseBiteStrength = 450;
8806  CWeaponSkillHits == 100;
8807  AttachedGod = SOPHOS;
8808  DangerModifier = 50;
8809  FleshMaterial = BLINK_DOG_FLESH;
8810  ConsumeFlags = CT_FRUIT|CT_MEAT|CT_LIQUID|CT_PROCESSED|CT_BONE|CT_MAGIC;
8811}
8812
8813veterankamikazedwarf
8814{
8815  AttributeBonus = 50;
8816  DefaultIntelligence = 3;
8817  DefaultWisdom = 2;
8818  Adjective = "veteran";
8819  Inventory == backpack { SecondaryMaterial = GUN_POWDER { Volume = 30000; } }
8820  HPRequirementForGeneration = 200;
8821  DayRequirementForGeneration = 20;
8822  Frequency = 200;
8823  IsAbstract = true;
8824  CreateDivineConfigurations = true;
8825  FriendlyReplies =
8826  {
8827    6,
8828    "\"Everyone believes I failed intentionally. Never! My loyalty to @Gd is spotless!\"",
8829    "\"The commander gave me too few explosives! It wasn't my fault!\"",
8830    "@Dd shouts: \"Death to disbelievers!\"",
8831    "@Dd praises @Gd with numerous hymns. @Pp is obviously a very devoted follower.",
8832    "@Dd seems very sorrowful. \"You can't believe how much I've been despised since that fateful mission...\"",
8833    "@Dd almost sheds tears. \"I've lost all my friends and self-confidence due to the failure.\"";
8834  }
8835}
8836
8837archangel
8838{
8839  DefaultArmStrength = 35;
8840  DefaultLegStrength = 35;
8841  DefaultDexterity = 35;
8842  DefaultAgility = 35;
8843  DefaultEndurance = 35;
8844  DefaultPerception = 45;
8845  DefaultIntelligence = 35;
8846  DefaultWillPower = 35;
8847  DefaultWisdom = 45;
8848  DefaultCharisma = 60;
8849  DefaultMana = 45;
8850  IsAbstract = true;
8851  ClassStates = TELEPORT|HASTE|INFRA_VISION|ESP|TELEPORT_CONTROL|POLYMORPH_CONTROL|GAS_IMMUNITY|LIFE_SAVED;
8852  TamingDifficulty = NO_TAMING;
8853  IsUnique = true;
8854  IsNameable = false;
8855  CanBeCloned = false;
8856  IsPolymorphable = false;
8857  CanBeConfused = false;
8858  FireResistance = 40;
8859  ElectricityResistance = 40;
8860  EnergyResistance = 40;
8861  NameSingular = "archangel";
8862  BodyArmor = ANGEL_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 4; }
8863  Cloak = ANGEL_HAIR cloak { Enchantment = 4; }
8864  Belt = ANGEL_HAIR belt { Enchantment = 4; }
8865  RightGauntlet = ANGEL_HAIR gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
8866  KnownCWeaponSkills = { 2, LARGE_SWORDS, SHIELDS; }
8867  CWeaponSkillHits = { 2, 5000, 5000; }
8868  RightSWeaponSkillHits = 2000;
8869  LeftSWeaponSkillHits = 2000;
8870  IsImmuneToItemTeleport = true;
8871  ScienceTalkPossibility = 100;
8872  ScienceTalkIntelligenceModifier = 50;
8873  ScienceTalkWisdomModifier = 250;
8874  ScienceTalkIntelligenceRequirement = 20;
8875  ScienceTalkWisdomRequirement = 40;
8876  AllowUnconsciousness = false;
8877  CanChoke = false;
8878  DisplacePriority = 10;
8879  AllowPlayerToChangeEquipment = false;
8880  HostileReplies =
8881  {
8882    3,
8883    "\"Do be afraid!\"",
8884    "\"In the most holy name of @Gd, die!\"",
8885    "\"I judge thee guilty!\"";
8886  }
8887  FriendlyReplies =
8888  {
8889    3,
8890    "\"I command us all to be friends!\"",
8891    "\"I judge thee... barely adequate of my Glory.\"",
8892    "\"I'm here only because @Gd wished so.\"";
8893  }
8894
8895  Config VALPURUS;
8896  {
8897    DefaultName = "Inlux";
8898    BodyArmor = VALPURIUM bodyarmor(CHAIN_MAIL) { Enchantment = 0; }
8899    Cloak = GOLDEN_EAGLE_FEATHER cloak { Enchantment = 0; }
8900    Belt = GOLDEN_EAGLE_FEATHER belt { Enchantment = 0; }
8901    RightGauntlet = GOLDEN_EAGLE_FEATHER gauntlet { Enchantment = 0; }
8902    RightWielded = VALPURIUM VALPURIUM meleeweapon(TWO_HANDED_SWORD);
8903    LeftWielded = VALPURIUM shield;
8904    HostileReplies == "\"Thou wouldst defy the King Upon the Throne, the Lord of Lords and God of Gods, the Frog Beneath the World Who Bears the Greatest of All Burdens, Mighty Valpurus Himself? I shall not stand thy heresy any longer, worthless worm!\"";
8905  }
8906
8907  Config LEGIFER;
8908  {
8909    DefaultName = "Iustitia";
8910    Helmet = ILLITHIUM helmet(HELM_OF_PERCEPTION) { Enchantment = 4; }
8911    BodyArmor = ILLITHIUM bodyarmor(CHAIN_MAIL) { Enchantment = 4; }
8912    RightWielded = SUN_CRYSTAL GOLD flamingsword { Enchantment = 7; }
8913    LeftWielded = SUN_CRYSTAL shield { Enchantment = 7; }
8914  }
8915
8916  Config ATAVUS;
8917  {
8918    DefaultName = "Beneficus";
8919    BodyArmor = ARCANITE bodyarmor(PLATE_MAIL) { Enchantment = 0; }
8920    RightWielded = DIAMOND OCTIRON meleeweapon(BATTLE_AXE) { Enchantment = 4; }
8921    LeftWielded = DIAMOND shield { Enchantment = 4; }
8922    KnownCWeaponSkills = { 2, AXES, SHIELDS; }
8923  }
8924
8925  Config DULCIS;
8926  {
8927    DefaultName = "Amatrix";
8928    Helmet = DARK_GOLD helmet(HELM_OF_ATTRACTIVITY) { Enchantment = 10; }
8929    RightWielded = 0;
8930    LeftWielded = 0;
8931    KnownCWeaponSkills = { 2, UNARMED, BITE; }
8932    AttackStyle = USE_ARMS|USE_HEAD;
8933    BaseUnarmedStrength = 2000;
8934    BaseBiteStrength = 1500;
8935  }
8936
8937  Config SEGES;
8938  {
8939    DefaultName = "Salubris";
8940    Helmet = UNICORN_HORN helmet(HELM_OF_UNDERSTANDING) { Enchantment = 4; }
8941    RightWielded = DIAMOND OCTIRON bansheesickle { Enchantment = 6; }
8942    LeftWielded = DIAMOND OCTIRON bansheesickle { Enchantment = 6; }
8943    KnownCWeaponSkills = { 2, SMALL_SWORDS, LARGE_SWORDS; }
8944    Inventory == Random { Category = FOOD; Times = 2; }
8945  }
8946
8947  Config SOPHOS;
8948  {
8949    DefaultName = "Magus";
8950    Helmet = ARCANITE helmet(HELM_OF_BRILLIANCE) { Enchantment = 4; }
8951    BodyArmor = SPIDER_SILK bodyarmor(PLATE_MAIL) { Enchantment = 0; }
8952    Cloak = SPIDER_SILK cloak { Enchantment = 0; }
8953    RightWielded = OCCULTUM OCCULTUM meleeweapon(QUARTER_STAFF) { Enchantment = 6; }
8954    Belt = SPIDER_SILK belt { Enchantment = 0; }
8955    RightGauntlet = SPIDER_SILK gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 4; }
8956    KnownCWeaponSkills = { 2, BLUNT_WEAPONS, UNARMED; }
8957  }
8958
8959  Config SILVA;
8960  {
8961    DefaultName = "Nux";
8962    Helmet = BLUE_CRYSTAL helmet(FULL_HELMET) { Enchantment = 4; }
8963    RightWielded = BLUE_CRYSTAL SIDGURE_WOOD pickaxe { Enchantment = 7; }
8964    LeftWielded = SIDGURE_WOOD shield { Enchantment = 4; }
8965    KnownCWeaponSkills = { 2, AXES, SHIELDS; }
8966  }
8967
8968  Config LORICATUS;
8969  {
8970    DefaultName = "Ignigena";
8971    Helmet = ADAMANT helmet(FULL_HELMET) { Enchantment = 0; }
8972    BodyArmor = ADAMANT bodyarmor(PLATE_MAIL) { Enchantment = 0; }
8973    Cloak = 0;
8974    RightWielded = ADAMANT ADAMANT thunderhammer;
8975    LeftWielded = ADAMANT ADAMANT thunderhammer;
8976    Belt = ADAMANT belt(BELT_OF_PROTECTION) { Enchantment = 0; }
8977    RightGauntlet = ADAMANT gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 4; }
8978    KnownCWeaponSkills = { 2, BLUNT_WEAPONS, UNARMED; }
8979  }
8980
8981  Config MELLIS;
8982  {
8983    DefaultName = "Leguleius";
8984    IsSadist = true;
8985    RightWielded = SAPPHIRE GOLD meleeweapon(BASTARD_SWORD) { Enchantment = 4; }
8986    LeftWielded = SAPPHIRE shield { Enchantment = 4; }
8987    Belt = SAPPHIRE belt(BELT_OF_CARRYING) { Enchantment = 4; }
8988    Inventory == fiftymillionroubles;
8989  }
8990
8991  Config CLEPTIA;
8992  {
8993    DefaultName = "Latro";
8994    IsSadist = true;
8995    Cloak = ANGEL_HAIR cloak(CLOAK_OF_INVISIBILITY) { Enchantment = 4; }
8996    RightWielded = RUBY OCTIRON daggerofvenom { Enchantment = 5; }
8997    LeftWielded = whipofthievery { Enchantment = 5; }
8998    Belt = ANGEL_HAIR belt(BELT_OF_THIEF) { Enchantment = 4; }
8999    KnownCWeaponSkills = { 2, SMALL_SWORDS, WHIPS; }
9000  }
9001
9002  Config NEFAS;
9003  {
9004    DefaultName = "Rapax";
9005    IsSadist = true;
9006    IsMasochist = true;
9007    RightWielded = OMMEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 5; }
9008    LeftWielded = OMMEL_HAIR RUBY whip(RUNED_WHIP) { Enchantment = 5; }
9009    KnownCWeaponSkills = { 2, WHIPS, BITE; }
9010    Inventory == potion { Times = 2; SecondaryMaterial = VODKA; }
9011  }
9012
9013  Config SCABIES;
9014  {
9015    DefaultName = "Pestilentia";
9016    IsSadist = true;
9017    BodyArmor = ANGEL_HAIR bodyarmor(ARMOR_OF_GREAT_HEALTH) { Enchantment = 4; }
9018    RightWielded = RUBY RUBY weepblade { Enchantment = 5; }
9019    LeftWielded = chameleonwhip { Enchantment = 5; }
9020    KnownCWeaponSkills = { 2, SMALL_SWORDS, WHIPS; }
9021  }
9022
9023  Config INFUSCOR;
9024  {
9025    DefaultName = "Sinistra";
9026    IsSadist = true;
9027    Helmet = OCTIRON helmet(HELM_OF_MANA) { Enchantment = 4; }
9028    RightWielded = OCTIRON PURPLE_CRYSTAL wondersmellstaff { Enchantment = 6; }
9029    KnownCWeaponSkills = { 2, BLUNT_WEAPONS, UNARMED; }
9030  }
9031
9032  Config CRUENTUS;
9033  {
9034    DefaultName = "Gladius";
9035    IsSadist = true;
9036    RightWielded = RUBY OCTIRON meleeweapon(HALBERD) { Enchantment = 4; }
9037    LeftWielded = RUBY OCTIRON meleeweapon(HALBERD) { Enchantment = 4; }
9038    Belt = RUBY belt(BELT_OF_GIANT_STRENGTH) { Enchantment = 4; }
9039    RightGauntlet = OCTIRON gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 4; }
9040    KnownCWeaponSkills = { 2, POLE_ARMS, LARGE_SWORDS; }
9041    Inventory == RUBY OCTIRON meleeweapon(TWO_HANDED_SCIMITAR) { Enchantment = 4; }
9042  }
9043
9044  Config MORTIFER;
9045  {
9046    DefaultName = "Erado";
9047    IsSadist = true;
9048    IsUndead = true;
9049    Helmet = OMMEL_BONE skull;
9050    RightWielded = PSYPHER OCTIRON terrorscythe { Enchantment = 2; }
9051    LeftWielded = PSYPHER OCTIRON meleeweapon(SICKLE) { Enchantment = 4; }
9052    KnownCWeaponSkills = { 2, POLE_ARMS, SMALL_SWORDS; }
9053  }
9054}
9055
9056tailor
9057{
9058  DefaultArmStrength = 15;
9059  DefaultLegStrength = 15;
9060  DefaultDexterity = 35;
9061  DefaultAgility = 15;
9062  DefaultEndurance = 20;
9063  DefaultPerception = 27;
9064  DefaultIntelligence = 15;
9065  DefaultWillPower = 15;
9066  DefaultWisdom = 15;
9067  DefaultCharisma = 15;
9068  DefaultMana = 10;
9069  NameSingular = "tailor";
9070  KnownCWeaponSkills == SMALL_SWORDS;
9071  CWeaponSkillHits == 500;
9072  RightSWeaponSkillHits = 200;
9073  LeftSWeaponSkillHits = 200;
9074  CanRead = true;
9075  /* Replies overridden */
9076  IsUnique = true;
9077  IsAbstract = true;
9078  IsNameable = false;
9079  CanBeCloned = false;
9080  TamingDifficulty = NO_TAMING;
9081  AttachedGod = SOPHOS;
9082
9083  Config ATTNAM;
9084  {
9085    DefaultName = "Mirvo";
9086    TorsoBitmapPos = 48, 48;
9087    HeadBitmapPos = 96, 0;
9088    ArmBitmapPos = 64, 16;
9089    LegBitmapPos = 0, 0;
9090    ClothColor = rgb16(200, 200, 200);
9091    LegMainColor = rgb16(111, 64, 37);
9092    TotalVolume = 70000;
9093    TotalSize = 180;
9094    Cloak = LEATHER cloak { Enchantment = 1; }
9095    BodyArmor = HARDENED_LEATHER bodyarmor(PLATE_MAIL) { Enchantment = 1; }
9096    RightWielded = MITHRIL meleeweapon(DAGGER) { Enchantment = 2; }
9097    RightGauntlet = NYMPH_HAIR gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
9098    RightBoot = OMMEL_HAIR boot { Enchantment = 1; }
9099  }
9100
9101  Config ASLONA_CASTLE;
9102  {
9103    DefaultName = "Palea";
9104    NameSingular = "seamstress";
9105    HeadBitmapPos = 112, 64;
9106    TorsoBitmapPos = 32, 160;
9107    ArmBitmapPos = 64, 160;
9108    LegBitmapPos = 0, 112;
9109    HairColor = rgb16(181, 82, 57);
9110    ClothColor = rgb16(0, 191, 255);
9111    BeltColor = rgb16(100, 100, 200);
9112    TotalVolume = 60000;
9113    TotalSize = 165;
9114    Cloak = MERMAID_HAIR cloak { Enchantment = 1; }
9115    BodyArmor = MERMAID_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 3; }
9116    Belt = MERMAID_HAIR belt { Enchantment = 1; }
9117    RightWielded = STAINLESS_STEEL meleeweapon(DAGGER) { Enchantment = 6; }
9118    RightGauntlet = MERMAID_HAIR gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
9119    RightBoot = SELKIE_SKIN boot { Enchantment = 1; }
9120    Sex = FEMALE;
9121  }
9122}
9123
9124mysticfrog
9125{
9126  DefaultArmStrength = 10;
9127  DefaultAgility = 25;
9128  DefaultEndurance = 12;
9129  DefaultPerception = 18;
9130  DefaultMana = 40;
9131  BaseBiteStrength = 1000;
9132  TotalVolume = 30000;
9133  TorsoBitmapPos = 96, 0;
9134  TotalSize = 50;
9135  CWeaponSkillHits == 100;
9136  IsPolymorphable = false;
9137  IsAbstract = true;
9138  ScienceTalkPossibility = 100;
9139  CanChoke = false;
9140
9141  Config DARK;
9142  {
9143    DefaultIntelligence = 35;
9144    DefaultWillPower = 35;
9145    DefaultWisdom = 25;
9146    DefaultCharisma = 6;
9147    BloodMaterial = DARK_FROG_BLOOD;
9148    SkinColor = rgb16(60, 60, 60);
9149    Adjective = "mystic dark";
9150    CanBeGenerated = true;
9151    ClassStates = INFRA_VISION|TELEPORT_CONTROL|INVISIBLE|ESP;
9152    AttachedGod = INFUSCOR;
9153    IgnoreDanger = true;
9154    HPRequirementForGeneration = 400;
9155    DayRequirementForGeneration = 40;
9156    Frequency = 250;
9157    PolymorphIntelligenceRequirement = 25;
9158    ScienceTalkIntelligenceModifier = 100;
9159    ScienceTalkWisdomModifier = 50;
9160    ScienceTalkIntelligenceRequirement = 25;
9161    ScienceTalkWisdomRequirement = 15;
9162    FriendlyReplies == "@Dd croaks happily.";
9163    IsCatacombCreature = true;
9164  }
9165
9166  Config LIGHT;
9167  {
9168    DefaultIntelligence = 25;
9169    DefaultWillPower = 30;
9170    DefaultWisdom = 35;
9171    DefaultCharisma = 30;
9172    BloodMaterial = LIGHT_FROG_BLOOD;
9173    SkinColor = rgb16(32, 88, 32);
9174    Adjective = "mystic light";
9175    ClassStates = TELEPORT_CONTROL|INVISIBLE|ESP;
9176    AttachedGod = VALPURUS;
9177    PolymorphIntelligenceRequirement = 15;
9178    ScienceTalkIntelligenceModifier = 25;
9179    ScienceTalkWisdomModifier = 50;
9180    ScienceTalkIntelligenceRequirement = 20;
9181    ScienceTalkWisdomRequirement = 30;
9182  }
9183}
9184
9185lobhse
9186{
9187  DefaultArmStrength = 40;
9188  DefaultAgility = 20;
9189  DefaultEndurance = 40;
9190  DefaultPerception = 21;
9191  DefaultIntelligence = 5;
9192  DefaultWillPower = 5;
9193  DefaultWisdom = 5;
9194  DefaultCharisma = 6;
9195  DefaultMana = 0;
9196  SkinColor = rgb16(64, 64, 100);
9197  BeltColor = rgb16(50, 150, 50); /* the mouth */
9198  TorsoMainColor = rgb16(30, 30, 30);
9199  TorsoBitmapPos = 192, 64;
9200  TotalSize = 200;
9201  TotalVolume = 500000;
9202  TamingDifficulty = 50;
9203  DefaultName = "Lobh-se";
9204  NameSingular = "behemoth spider";
9205  AttackStyle = USE_HEAD;
9206  BaseBiteStrength = 400;
9207  KnownCWeaponSkills == BITE;
9208  CWeaponSkillHits == 500;
9209  ClassStates = INFRA_VISION|GAS_IMMUNITY|DISEASE_IMMUNITY;
9210  AttachedGod = SCABIES;
9211  FleshMaterial = SICK_SPIDER_FLESH;
9212  BloodMaterial = SICK_BLOOD;
9213  VomitMaterial = LIQUID_DARKNESS;
9214  CanOpen = false;
9215  BiteCapturesBodyPart = false;
9216  AutomaticallySeen = true;
9217  IsImmuneToStickiness = true;
9218  IsNameable = false;
9219  IsUnique = true;
9220  IsPolymorphable = false;
9221  CanBeGenerated = false;
9222  CanBeCloned = false;
9223  CanBeConfused = false;
9224  DestroysWalls = true;
9225  AllowUnconsciousness = false;
9226  IsImmuneToLeprosy = true;
9227  VomittingIsUnhealthy = false;
9228  EnergyResistance = 30;
9229  FireResistance = 30;
9230  PoisonResistance = 1000;
9231  ElectricityResistance = 30;
9232  AcidResistance = 1000;
9233  PanicLevel = 3;
9234  DisplacePriority = 8;
9235  HostileReplies =
9236  {
9237    3,
9238    "@Dd whimpers.",
9239    "@Dd cries a little.",
9240    "@Dd tears up.";
9241  }
9242  FriendlyReplies =
9243  {
9244    4,
9245    "\"Mommy!\"",
9246    "\"Where... my mommy?\"",
9247    "\"You... new mommy?\"",
9248    "You pet @dd.";
9249  }
9250  DeathMessage = "@Dd vomits up a glowing seedling and dies in a pool of sizzling blood.";
9251}
9252
9253siren
9254{
9255  DefaultArmStrength = 3;
9256  DefaultLegStrength = 3;
9257  DefaultDexterity = 20;
9258  DefaultAgility = 25;
9259  DefaultEndurance = 12;
9260  DefaultPerception = 25;
9261  DefaultIntelligence = 10;
9262  DefaultWillPower = 10;
9263  DefaultWisdom = 15;
9264  DefaultCharisma = 50;
9265  DefaultMana = 5;
9266  Sex = FEMALE;
9267  StandVerb = "flaunting";
9268  HeadBitmapPos = 112, 368;
9269  TorsoBitmapPos = 48, 288;
9270  ArmBitmapPos = 80, 240;
9271  LegBitmapPos = 16, 240;
9272  TotalVolume = 40000;
9273  Frequency = 2500;
9274  TotalSize = 150;
9275  BaseUnarmedStrength = 200;
9276  CanRead = true;
9277  NameSingular = "siren";
9278  IsAbstract = true;
9279  CanBeGenerated = true;
9280  AttachedGod = DULCIS;
9281  FleshMaterial = ELF_FLESH;
9282  HostileReplies == "\"LAallaaalalaaa!\"";
9283  FriendlyReplies =
9284  {
9285    5,
9286    "@Dd curses all orcs.",
9287    "@Dd comes on to you.",
9288    "@Dd cajoles you.",
9289    "\"Hello, sailor!\"";
9290    "\"I'm singing in the rain... Oh wait...\"";
9291  }
9292  DeathMessage = "@Dd stops singing once and for all.";
9293
9294  /* if somebody really wants to J_Kahvi has provided
9295     detailed discussion of nipple and pubic hair
9296     color in Doc/Data/Dialog.txt starting from
9297     line 2552 to 2640 */
9298
9299  ScienceTalkPossibility = 33;
9300  ScienceTalkIntelligenceModifier = 0;
9301  ScienceTalkWisdomModifier = 0;
9302  ScienceTalkCharismaModifier = 2;
9303  ScienceTalkIntelligenceRequirement = 0;
9304  ScienceTalkWisdomRequirement = 0;
9305  ScienceTalkCharismaRequirement = 15;
9306
9307  Config LIGHT_ASIAN_SIREN;
9308  {
9309    SkinColor = rgb16(254, 247, 208);
9310    HairColor = rgb16(80, 48, 32);
9311    TorsoMainColor = rgb16(70, 40, 25);
9312  }
9313
9314  Config DARK_ASIAN_SIREN;
9315  {
9316    SkinColor = rgb16(254, 247, 183);
9317    HairColor = rgb16(64, 48, 32);
9318    TorsoMainColor = rgb16(50, 40, 28);
9319  }
9320
9321  Config CAUCASIAN_SIREN;
9322  {
9323    SkinColor = rgb16(255, 212, 192);
9324    HairColor = rgb16(35, 35, 35);
9325    TorsoMainColor = rgb16(30, 30, 30);
9326  }
9327
9328  Config DARK_SIREN;
9329  {
9330    SkinColor = rgb16(128, 80, 48);
9331    HairColor = rgb16(35, 35, 35);
9332    TorsoMainColor = rgb16(30, 30, 30);
9333  }
9334
9335  Config GREEN_SIREN;
9336  {
9337    SkinColor = rgb16(180, 255, 150);
9338    HairColor = rgb16(200, 48, 32);
9339    TorsoMainColor = rgb16(180, 255, 150);
9340  }
9341
9342  Config BLUE_SIREN;
9343  {
9344    SkinColor = rgb16(153, 204, 255);
9345    HairColor = rgb16(51, 51, 255);
9346    TorsoMainColor = rgb16(153, 204, 255);
9347    ClassStates = SWIMMING;
9348  }
9349
9350  Config RED_SIREN;
9351  {
9352    SkinColor = rgb16(255, 51, 51);
9353    HairColor = rgb16(255, 255, 255);
9354    TorsoMainColor = rgb16(255, 51, 51);
9355    ClassStates = REGENERATION;
9356  }
9357
9358  Config PINK_SIREN;
9359  {
9360    SkinColor = rgb16(240, 200, 201);
9361    HairColor = rgb16(255, 51, 153);
9362    TorsoMainColor = rgb16(240, 200, 201);
9363    ClassStates = DETECTING;
9364  }
9365
9366  Config HISPANIC_SIREN;
9367  {
9368    SkinColor = rgb16(160, 100, 64);
9369    HairColor = rgb16(80, 48, 32);
9370    TorsoMainColor = rgb16(160, 100, 64);
9371  }
9372
9373  Config AMBASSADOR_SIREN;
9374  {
9375    DefaultIntelligence = 30;
9376    DefaultWillPower = 30;
9377    DefaultWisdom = 35;
9378    DefaultCharisma = 75;
9379    HeadBitmapPos = 112, 400;
9380    SkinColor = rgb16(180, 255, 150);
9381    HairColor = rgb16(200, 48, 32);
9382    TorsoMainColor = rgb16(180, 255, 150);
9383    CanBeGenerated = false;
9384    IsNameable = false;
9385    IsUnique = true;
9386    CanBeCloned = false;
9387    IsPolymorphable = false;
9388    TamingDifficulty = NO_TAMING;
9389    ClassStates = HASTE|FEARLESS;
9390    DefaultName = "Elianise";
9391    NameSingular = "elven ambassador";
9392    PostFix = "of the Dark Forest";
9393    Cloak = NYMPH_HAIR cloak { Enchantment = 4; }
9394    RightWielded = charmlyre;
9395    FriendlyReplies =
9396    {
9397      7,
9398      "\"Greetings! I am Elianise Lurora Faefina Glynjor Ilythyrra Reysatra Liarryn, Her Most Trusted Advisor and Ambassador of the Fair Empress of Elvenkind.\"",
9399      "\"I was sent from Lunethia to here on a diplomatic mission from my Empress. I hope my stay will be short.\"",
9400      "\"Yes, the rumors are true. Lunethia really is a town built atop a gigantic mango tree.\"",
9401      "\"I'm not 'an elf', I come from the royal blood of Vindael, or wood-children, if you will.\"",
9402      "\"I've heard a mistress of Nefas has infiltrated even this very Cathedral. Do not trust Dar'Vindael, for their words and deeds are just as treacherous as their goddess!\"",
9403      "\"I never understood why are your people calling mine 'dark elves'. We may be living in the Dark Forest, but we give our lives to fight Darkness in all its forms.\"",
9404      "\"The violation of our borders must end! We don't care where Attnam gets its wood, but the Dark Forest will not be exploited.\"";
9405    }
9406    IsExtraCoward = true;
9407    UndeadVersions = false;
9408    ScienceTalkPossibility = 15;
9409    ScienceTalkCharismaModifier = 20;
9410    StandVerb = "waiting";
9411  }
9412}
9413
9414mindworm
9415{
9416  DefaultArmStrength = 1;
9417  DefaultAgility = 12;
9418  DefaultEndurance = 2;
9419  DefaultPerception = 5;
9420  DefaultWisdom = 15;
9421  DefaultCharisma = 1;
9422  DefaultMana = 30;
9423  TotalSize = 7;
9424  TotalVolume = 30;
9425  TorsoBitmapPos = 208, 32;
9426  TorsoMainColor = rgb16(200, 30, 30);
9427  CanOpen = false;
9428  HasALeg = false;
9429  HasEyes = false;
9430  HasHead = false;
9431  CanHear = false;
9432  CanChoke = false;
9433  Sweats = false;
9434  IsImmuneToStickiness = true;
9435  UsesNutrition = false;
9436  AttackStyle = USE_HEAD;
9437  ConstantCommandFlags = FLEE_FROM_ENEMIES;
9438  DefaultCommandFlags = FLEE_FROM_ENEMIES;
9439  ClassStates = ESP;
9440  FleshMaterial = MIND_WORM_FLESH;
9441  AttachedGod = SCABIES;
9442  BaseBiteStrength = 0;
9443  MoveType = WALK|SWIM;
9444  IsAbstract = true;
9445  CanBeGenerated = true;
9446  IgnoreDanger = true;
9447  HPRequirementForGeneration = 80;
9448  DayRequirementForGeneration = 6;
9449  FriendlyReplies =
9450  {
9451    5,
9452    "\"It is the mark of an educated mind to be able to entertain a thought without accepting it.\"",
9453    "\"You have power over your mind - not outside events. Realize this, and you will find strength.\"",
9454    "\"We are shaped by our thoughts; we become what we think. When the mind is pure, joy follows like a shadow that never leaves.\"",
9455    "\"Learning never exhausts the mind.\"",
9456    "\"The mind is everything. What you think you become.\"";
9457  }
9458  HostileReplies == "@Dd screeches in the back of your mind.";
9459  DeathMessage = "@Dd is squashed.";
9460  StandVerb = "writhing";
9461
9462  Config HATCHLING;
9463  {
9464    DefaultIntelligence = 20;
9465    DefaultWillPower = 20;
9466    NameSingular = "mind worm hatchling";
9467    Frequency = 100;
9468    ScienceTalkPossibility = 25;
9469    ScienceTalkIntelligenceModifier = 10;
9470    ScienceTalkWisdomModifier = 5;
9471    ScienceTalkIntelligenceRequirement = 10;
9472    ScienceTalkWisdomRequirement = 5;
9473  }
9474
9475  Config BOIL;
9476  {
9477    DefaultIntelligence = 35;
9478    DefaultWillPower = 35;
9479    NameSingular = "mind worm boil";
9480    Frequency = 500;
9481    ScienceTalkPossibility = 25;
9482    ScienceTalkIntelligenceModifier = 100;
9483    ScienceTalkWisdomModifier = 50;
9484    ScienceTalkIntelligenceRequirement = 35;
9485    ScienceTalkWisdomRequirement = 25;
9486  }
9487}
9488
9489punisher
9490{
9491  DefaultArmStrength = 15;
9492  DefaultLegStrength = 10;
9493  DefaultDexterity = 10;
9494  DefaultAgility = 10;
9495  DefaultEndurance = 15;
9496  DefaultPerception = 21;
9497  DefaultIntelligence = 15;
9498  DefaultWillPower = 7;
9499  DefaultWisdom = 7;
9500  DefaultCharisma = 10;
9501  DefaultMana = 0;
9502  HeadBitmapPos = 96, 352;
9503  TorsoBitmapPos = 48, 48;
9504  ArmBitmapPos = 64, 256;
9505  LegBitmapPos = 0, 48;
9506  CapColor = rgb16(200, 200, 10);
9507  TorsoMainColor = rgb16(30, 30, 30);
9508  LegMainColor = rgb16(30,30,30);
9509  SkinColor = rgb16(255, 222, 202);
9510  TotalVolume = 95000;
9511  TotalSize = 175;
9512  NameSingular = "punisher";
9513  Belt = BLACK_LEATHER belt;
9514  RightWielded = BLACK_LEATHER whip;
9515  RightBoot = BLACK_LEATHER boot;
9516  KnownCWeaponSkills = { 2, KICK, WHIPS; }
9517  CWeaponSkillHits = { 2, 200, 200; }
9518  RightSWeaponSkillHits = 200;
9519  AttackStyle = USE_ARMS|USE_LEGS;
9520  HostileReplies == "\"You are now about to enter a world of pain!\"";
9521  AttachedGod = CRUENTUS;
9522  IsSadist = true;
9523  FriendlyReplies =
9524  {
9525    2,
9526    "\"We work very hard here. You would not believe how exhausting is it to torture people.\"",
9527    "\"Gah, that mask itches! But Mr. Decos says we have to wear it to keep the morale of prisoners up.\"";
9528  }
9529
9530  Config LAW_STUDENT;
9531  {
9532    DefaultArmStrength = 10;
9533    DefaultLegStrength = 10;
9534    DefaultDexterity = 15;
9535    DefaultAgility = 15;
9536    DefaultEndurance = 10;
9537    DefaultPerception = 24;
9538    DefaultIntelligence = 28;
9539    DefaultWillPower = 10;
9540    DefaultWisdom = 25;
9541    DefaultCharisma = 30;
9542    Sex = FEMALE;
9543    HairColor = rgb16(200, 96, 0);
9544    EyeColor = rgb16(4, 93, 28);
9545    CapColor = rgb16(4, 93, 28);
9546    SkinColor = rgb16(240, 200, 201);
9547    ClothColor = rgb16(255, 105, 180);
9548    ArmMainColor = rgb16(240, 200, 201);
9549    LegMainColor = rgb16(240, 200, 201);
9550    LegSpecialColor = rgb16(255, 105, 180);
9551    BootColor = rgb16(30, 30, 30);
9552    HeadBitmapPos = 128, 416;
9553    TorsoBitmapPos = 48, 96;
9554    ArmBitmapPos = 80, 240;
9555    LegBitmapPos = 16, 192;
9556    TotalVolume = 40000;
9557    TotalSize = 175;
9558    CanRead = true;
9559    NameSingular = "law student";
9560    DefaultName = "Laki Oppilas";
9561    RightWielded = 0;
9562    LeftWielded = holybook(LEGIFER);
9563    KnownCWeaponSkills = { 2, UNARMED, KICK; }
9564    CWeaponSkillHits = { 2, 100, 100; }
9565    AttachedGod = MELLIS;
9566    IsSadist = false;
9567    IsNameable = false;
9568    IsUnique = true;
9569    CanBeCloned = false;
9570    IsPolymorphable = false;
9571    FriendlyReplies =
9572    {
9573      8,
9574      "\"I'm here on a student exchange program, to gather resources for my dissertation.\"",
9575      "\"I'm writing a dissertation on the legal implications of using torture in public proceedings.\"",
9576      "\"The law system of Bazzaria is derived from the old, time-tested methods - trials by ordeal, layman juries and lynching.\"",
9577      "\"Legifer? No, I'm a future lawyer, of course I worship Mellis!\"",
9578      "@Dd says very loudly: \"Why yes, I love working with Mr. Decos! It's a pleasure to assist a true professional with his work.\"",
9579      "@Dd whispers with a haunted expression: \"Please, help me! I don't want to be here. Mr. Decos is a madman and those punishers...\"",
9580      "@Dd whispers on the verge of tears: \"Please, help me! I don't want to know anything any more about their laws or techniques. I just want to go home.\"",
9581      "@Dd whispers to you: \"Please, help me! I can't take it anymore.\"";
9582    }
9583    HostileReplies =
9584    {
9585      2,
9586      "\"Stop or I will sue you!\"",
9587      "@Dd screams: \"No! This is assault and battery!\"";
9588    }
9589  }
9590}
9591
9592child
9593{
9594  DefaultArmStrength = 7;
9595  DefaultLegStrength = 8;
9596  DefaultDexterity = 10;
9597  DefaultAgility = 12;
9598  DefaultEndurance = 10;
9599  DefaultPerception = 14;
9600  DefaultIntelligence = 9;
9601  DefaultWillPower = 5;
9602  DefaultWisdom = 5;
9603  DefaultCharisma = 8;
9604  DefaultMana = 0;
9605  TorsoBitmapPos = 32, 384;
9606  ArmBitmapPos = 80, 352;
9607  LegBitmapPos = 16, 16;
9608  BootColor = rgb16(90, 50, 10);
9609  ClothColor = rgb16(200, 200, 200);
9610  LegMainColor = rgb16(180, 80, 0);
9611  TotalVolume = 40000;
9612  TotalSize = 100;
9613  Sex = UNDEFINED;
9614  AttackStyle = USE_ARMS|USE_LEGS|USE_HEAD;
9615  DefaultCommandFlags = FOLLOW_PLAYER|FLEE_FROM_ENEMIES;
9616  HostileReplies == "\"Mommy! Daddy! Help!\"";
9617  AttachedGod = ATAVUS;
9618  IsAbstract = true;
9619  IsExtraCoward = true;
9620  IsExtraFragile = true;
9621  AutomaticallySeen = true;
9622  CanRead = false;
9623  CanBeGenerated = false;
9624
9625  Config BOY;
9626  {
9627    HairColor = rgb16(181, 82, 57);
9628    HeadBitmapPos = 112, 335;
9629    NameSingular = "boy";
9630    Sex = MALE;
9631    FriendlyReplies =
9632    {
9633      3,
9634      "\"Do you like snowball fighting?\"",
9635      "\"Let's play catch!\"",
9636      "\"Eeny, meeny, miny, moe...\"";
9637    }
9638  }
9639
9640  Config GIRL;
9641  {
9642    HairColor = rgb16(80, 48, 32);
9643    CapColor = rgb16(80, 48, 32); /* also used for hair */
9644    HeadBitmapPos = 96, 335;
9645    NameSingular = "girl";
9646    Sex = FEMALE;
9647    FriendlyReplies =
9648    {
9649      3,
9650      "\"My sister was eaten by a wolf yesterday.\"",
9651      "\"I hope I will get a doll on Atavus day.\"",
9652      "\"Do you want to play make-believe? I will be a princess and you can be my man-servant!\"";
9653    }
9654  }
9655
9656  Config KING;
9657  {
9658    HeadBitmapPos = 96, 415;
9659    HairColor = rgb16(36, 36, 36);
9660    ClothColor = rgb16(176, 0, 0);
9661    DefaultName = "His Highness crown prince Artorius";
9662    NameSingular = "heir";
9663    PostFix = "to the throne of Aslona";
9664    Cloak = FABRIC cloak { Enchantment = 1; }
9665    Belt = FABRIC belt { Enchantment = 1; }
9666    Sex = MALE;
9667    AttachedGod = SEGES;
9668    BloodMaterial = BLUE_BLOOD;
9669    TamingDifficulty = 20;
9670    IsUnique = true;
9671    IsNameable = false;
9672    CanBeCloned = false;
9673    IsPolymorphable = false;
9674    UndeadVersions = false;
9675    CanRead = true;
9676    FriendlyReplies =
9677    {
9678      8,
9679      "\"I was just coming back home from Castle Noth when those ugly goblins attacked and took me here.\"",
9680      "\"I will tell daddy to catch all the goblins and send them to the mines!\"",
9681      "\"I will tell uncle Myrddin to burn this whole dungeon down with his magic!\"",
9682      "\"I hope uncle Mittrars is all right. He always worries so much!\"",
9683      "\"I hope uncle Efra and uncle Harvan are talking with each other again. When I last saw them they were arguing pretty badly.\"",
9684      "\"I hate goblins! They are mean and stinky!\"",
9685      "@Dd whines: \"Are we there yet?\"",
9686      "\"I can't wait to see my daddy! I miss him so much!\"";
9687    }
9688    HostileReplies =
9689    {
9690      3,
9691      "\"How dare you assault a prince!\"",
9692      "\"Guards! Guards!\"",
9693      "@Dd screams for help.";
9694    }
9695    Alias == "Artorius";
9696  }
9697}
9698
9699bum
9700{
9701  DefaultArmStrength = 18;
9702  DefaultLegStrength = 18;
9703  DefaultDexterity = 10;
9704  DefaultAgility = 10;
9705  DefaultEndurance = 25;
9706  DefaultPerception = 10;
9707  DefaultIntelligence = 6;
9708  DefaultWillPower = 18;
9709  DefaultWisdom = 6;
9710  DefaultCharisma = 2;
9711  DefaultMana = 5;
9712  HeadBitmapPos = 112, 160;
9713  TorsoBitmapPos = 32, 288;
9714  LegBitmapPos = 16, 256;
9715  ArmBitmapPos = 80, 192;
9716  HairColor = rgb16(35, 35, 35);
9717  TorsoMainColor = rgb16(30, 30, 30);
9718  TotalVolume = 80000;
9719  TotalSize = 190;
9720  NameSingular = "bum";
9721  BaseUnarmedStrength = 600;
9722  KnownCWeaponSkills == UNARMED;
9723  CWeaponSkillHits == 500;
9724  RightSWeaponSkillHits = 200;
9725  IsAlcoholic = true;
9726  CanBeGenerated = false;
9727  IsNameable = false;
9728  PanicLevel = 0; /* too drunk */
9729  FriendlyReplies =
9730  {
9731    153, /* rumors, more to come */
9732    "\"There was this guy I used to adventure with, who nearly got killed by a spider because he couldn't hit it with his halberd. Har har har, what was he thinking, right? Trying to squash the tiny spider with such a huge weapon?\"",
9733    "\"You shouldn't leave your weapons filthy! I once had this nice adamantine sword, but some blood got on it and before I knew it, the sword was completely covered in rust.\"",
9734    "\"I've heard about a belt that can make you float in the air! Now that would have been useful that one time in the caves I stepped on a mine and nearly got my leg blown off.\"",
9735    "\"You know magpies? Small, black and white birds? Murder them all! I hate those thieving... Argh!\"",
9736    "\"As a little boy, I saw my father get into a fight with other farmers. You wouldn't believe how easily a sickle chops off limbs.\"",
9737    "\"I miss my cloak. The cold is not so bad, but I felt safer with it wrapped around my body.\"",
9738    "\"Me and my father once got cornered by a pack of wolves when I was young. He took off his belt and chased them off. Belts really can pack a whip, har har har.\"",
9739    "\"I met this Ivan when he was in Attnam a few weeks back. He had a cute pet bunny, Vladimir!\"",
9740    "\"I met this Ivan when he was in Attnam a few weeks back. He seemed a cool guy, but quite reclusive. Maybe I was not cool enough for him to want to hang out? Har har har.\"",
9741    "\"Yes, I've met some orcs in my days, both khanites and from the freeholds. Did you know they can all see in the dark as well as a cat? They can't read, though, but who needs that, right? Har har har.\"",
9742    "\"Yes, I've met some orcs in my days, both khanites and from the freeholds. Did you know they can't smell at all? I once saw an orc standing in a cloud of mustard gas like it was nothing!\"",
9743    "\"Have you ever lost a limb? Or maybe contracted leprosy? Woke up after a night of drinking as a wolf and knew nothing about it? Trust me and ask any priest, they know quite a bit about stuff like that.\"",
9744    "\"I've tasted unicorn flesh just once in my whole life and... Well, it was weird.\"",
9745    "\"My mama always told me that white unicorn steak can cure all your ills but... I'm not sure I really wish to try.\"",
9746    "\"Har har har, it's always funny when you smack somebody on the head hard enough that they get this stupid, but quite happy smile and completely forget what they were doing. Har har har!\"",
9747    "\"I once managed to mirror myself a doppelganger! We were unstoppable in battle, but sadly he didn't last.\"",
9748    "\"Maybe you've heard about those fabled wands of cloning? I can think about a few things I wouldn't mind having more of, har har har.\"",
9749    "\"Don't believe those legends about grateful genies released from their lamps! I've met one so grumpy he tried to behead me just because I rubbed his lamp.\"",
9750    "\"Adamant, huh? Some say it's truly miraculous metal, but it's really just a noble iron, but heavy! Har har har!\"",
9751    "\"Breaking your wands can have quite an effect, har har har. I've learned the hard way.\"",
9752    "\"One of my friends once told me that altars and wands of polymorph mix surprisingly well. Hm, I'll have to try for myself one day.\"",
9753    "\"My mama always told me, eat carrots and you'll see as well as a giant golden eagle.\"",
9754    "\"Mushrooms are my favorite! They spawn so quickly you'll never run out of food! Har har har!\"",
9755    "\"My mama always told me that fat people are not very agile and gaunt people are weak. It's best to try and stay fit, she said.\"",
9756    "\"Ommels, eh? Magnificent creatures. Some say they have bones harder than steel and teeth like adamant!\"",
9757    "\"Ommels, eh? Magnificent creatures. Some say you can even make good use of their excretions.\"",
9758    "\"If you never had some troll blood, you should try it. It's so sweet, so tasty and nutritious... Enough to make a man sick.\"",
9759    "\"Trolls really have tough hides. I made a pair of boots from the one I encountered in mountains far to the north, and used them for years before they wore out.\"",
9760    "\"One priestess once told me that angels look out for ardent worshippers. I'm not sure what ardent means, so I just smiled and nodded.\"",
9761    "\"Those kamikaze dwarves can't tell friend from foe. Maybe the gods don't care about a little friendly fire? Har har har!\"",
9762    "\"Have you seen Petrus? Wise men have massive beards, indeed. Har har har!\"",
9763    "\"One of my friends always said that when everything else fails, you can always bite your foes to death. Granted, she was a werewolf, but still...\"",
9764    "\"Don't believe those rumors about an enchanted valpurium flaming sword just lying around! It's all lies! Lies, I say!\"",
9765    "\"I've heard tales about arcanite, a magical metal lighter than some wood! I would love to try out a shield made of arcanite.\"",
9766    "\"One priestess once told me that phoenix feathers rise from their ashes. I wonder how incredible the whole birds must be, then.\"",
9767    "\"Be careful about the minefields deep underground. The Dwarven Wars left behind so many landmines, it's smart to invest into some fireproof dragon hide and a ring of fire resistance before going anywhere.\"",
9768    "\"My mama told me tales about golden eagles, the kings of the sky, when I was a boy. That's why I first went to do some adventuring - to try and find them. Maybe I will, one day, har har har.\"",
9769    "\"Deep underground, you can sometimes find incredible crystals. I've even heard tales about some that glow with inner light.\"",
9770    "\"Don't remind me of school food! Just thinking about it makes me want to puke!\"",
9771    "\"Blink dogs have acute understanding of spatial locations, mages say. I've also heard some goblin tribes make a tasty stew from them. Blink dogs and mages, both.\"",
9772    "\"Pepsi? I wouldn't say the name aloud, being you. Some valpurists consider it a heresy just to speak this accursed name.\"",
9773    "\"No, gibberlings talk nonsense. Don't pay attention to them.\"",
9774    "\"Oh, a hattifattener? Really a shocking sight, let me tell you! Har har har!\"",
9775    "\"Trust me when I tell you that kobold flesh has a stunning taste. Har har har!\"",
9776    "\"I remember one mycologist telling me that eating mushrooms can lead to some strange experiences. Must be an interesting occupation, being a mycologist. Har har har!\"",
9777    "\"Skunks are so smelly it makes me physically ill. Sometimes I wish I was an orc.\"",
9778    "\"When a friend told me that a pea soup can save your life, I didn't believe them. I know better now.\"",
9779    "\"I've heard that deep in the south, some cities have junkie dens where you can inhale some mysterious blue gas. Reportedly, it can make you feel unstoppable! Har har har!\"",
9780    "\"I've heard that deep in the south, some cities have interesting junkie dens, but you should be very wary if you see any red gas hovering near them.\"",
9781    "\"A sorceress once told me that raw magic is unpredictable. Not that I would think otherwise.\"",
9782    "\"Ah yes, antidote is an adventurer's best friend. Don't be fooled, it can cure much more than just poison.\"",
9783    "\"My mama always told me to take a bottle of water with me into a dungeon. There's nothing like a refreshing drink after an exhausting fight.\"",
9784    "\"Drunks are fearless. Don't bother to scare them; I should know something about that. Har har har!\"",
9785    "\"Backpacks full of gunpowder are not safe to have at home. Trust me, I've learned the hard way. Har har har!\"",
9786    "\"I used to travel with an angel and help her heal the ailing. I love to think back to those days.\"",
9787    "\"I've dated an angel once. She was really sweet, but we were sadly forced to break up when she had to return back to Heavens and I wasn't really ready to let go of this world...\"",
9788    "\"My father had a saying: Bears are bad news.\"",
9789    "\"Have you heard about Bill, that powerful psion? No? Then you're lucky. Har har har.\"",
9790    "\"If you ever wish to go down under the Cathedral Cellar, remember that ghosts can be really scary.\"",
9791    "\"What a pleasure to chat with the dolphins. They are more clever than it seems, har har har!\"",
9792    "\"One necromancer once told me no one could ever get the hang of animating animals.\"",
9793    "\"No matter how smart it seems at the time, pushing your fingers down your throat can be harmful to your body. And it's disgusting.\"",
9794    "\"Some people are simply stronger. You can't do much about it. But nothing is stronger than an adamantine arm!\"",
9795    "\"Some people are simply more healthy. You can't do much about it. Maybe wear an armor of great health, but...\"",
9796    "\"Some people are simply faster. You can't do much about it. But nothing is quicker than an phoenix feather arm!\"",
9797    "\"Some people are simply more clever. You can't do much about it. But maybe you can talk with people and try to learn from them?\"",
9798    "\"I used to grow carnivorous plants when I had a garden. They liked acidic soil and fresh meat every morning.\"",
9799    "\"Have you ever had hiccups? I had. For nearly a day. It was annoying.\"",
9800    "\"My mama always told me that talking to yourself is dumb.\"",
9801    "\"I had a friend who ended up with a prosthetic arm and was rather surprised when it didn't heal after a fight. Har har har! I don't know what she was thinking, but I gave her my scroll of repair and all was well.\"",
9802    "\"Zombies are not be trusted! They say they need brains, but when I chopped one's head off, it could still walk rather well with no brain at all!\"",
9803    "\"One mage once told me that no magic can regrow you a head. At least not when you're still alive.\"",
9804    "\"My grandpa used to tell me bedtime stories about Solicitus, a god no one believed in. The poor god was quite stressed and hopeless about his situation.\"",
9805    "\"My grandpa used to tell me bedtime stories about a god of pain, misery and annoying noises, who one day mysteriously disappeared. No one missed him.\"",
9806    "\"I had a lovely pet kitten as a boy, until it died in a mammoth accident. Fortunately, my grandpa had a wand of resurrection.\"",
9807    "\"Mustard is very, very bad for you. You don't want a first-hand experience, trust me.\"",
9808    "\"My grandpa used to say that dangerous people face more dangerous foes and pride comes before a fall. I guess the moral is to be humble and murder everything before it can murder you. Har har har!\"",
9809    "\"My grandpa used to tell me bedtime stories about Ischaldirh, the most powerful sorcerer in all realms. I've heard he's still alive and as dangerous as ever. Har har har! I hope I'll never meet him.\"",
9810    "\"My grandpa used to tell me bedtime stories about the queens of mistresses, who are always the most powerful warladies of their times. The current one is called Sherarax, as far as I know. I don't say this often but his lady is too hot for my tastes, har har har!\"",
9811    "\"Only sadists are not nice to their pets! No one should treat their pet like the High Priest treats his wives.\"",
9812    "\"My father was a farmer. He taught me how to use sickles and scythes, how to eviscerate the weeds. Those farming blades are deadly against plants. Har har har!\"",
9813    "\"My grandpa used to say that it's best to slow the germs in our food so that they can't make it go bad. He was a bit crazy by then, and obsessed with his wands, but you never know what can save your life one day, eh?\"",
9814    "\"My grandpa was a wandmaker, and damn good at that. You don't see many of their craft today. That's why wands are so pricey, I guess. Or it's those damned capitalists, har har har.\"",
9815    "\"Invisible kamikaze dwarves are the worst kamikaze dwarves. They do it unseen, but with a huge bang. Har har har!\"",
9816    "\"Enner beasts? Yes, I've heard about them. Try attacking them when they're out of breath. Not even such a monster can scream all day long, right? At least I hope so.\"",
9817    "\"My mama always told me, don't read under bad lighting or you'll ruin your eyes!\"",
9818    "\"My grandpa used to tell me bedtime stories about frogs, both light and dark. Did you know they like to eat magnolias?\"",
9819    "\"My grandpa used to tell me bedtime stories about ommels, the kings of the wild. They dwarf elephants, scare dragons and completely ignore humankind. The elder males, called bristlers, are so ancient their hair is said to petrify while still on their bodies!\"",
9820    "\"Don't be shy to talk to your friends. You can learn more, my mama used to say, and you definitely can! Har har har.\"",
9821    "\"Eh, the shop magic is strange. How they can keep all the bananas fresh and unspoiled in the middle of a winter, I have no idea.\"",
9822    "\"If you hate hose floating eyes as much as I do, try waiting for them in the dark. They can't see in darkness any better then you! Har har har!\"",
9823    "\"I didn't know how much Nefas was into vodka until I got into a drinking contest with a mistress. When I regained consciousness, she told me how they train in the temples with full kegs.\"",
9824    "\"My grandpa once lost an arm to an unfortunate chain explosion of some of his wands. He had a wand of resurrection on hand, though, so a single zap made it all better.\"",
9825    "\"My grandpa never liked my father much. He didn't think a farmer would be a good match for his only daughter. He did like me, though. He always let me play with the wands in his workshop, or told me wonderful bedtime stories.\"",
9826    "\"I always liked daggers. They may not do so much damage, but for some foes, it's just critical to find the gaps in their armor.\"",
9827    "\"Don't eat snakes. And don't let me even get started on school food. Though it does make you tough, har har har.\"",
9828    "\"Mining is hard, exhausting job. I used to work in a valpurium mine back in the day and man, was I hungry after a work shift!\"",
9829    "\"Be careful what you wish for, my mama always told me. Well, I wish I had a bottle full of vodka! Har har har.\"",
9830    "\"Har har har, masochists like it rough, if you know what I mean.\"",
9831    "\"Loricatus? That's the smith god, right? I don't know what's with him, but he seems to really hate bananas.\"",
9832    "\"I've heard that Silva rocks!\"",
9833    "\"Once I ate a resurrected banana and gosh, was it tasty!\"",
9834    "\"I met an angel once. She fixed my arm. Lovely lady, she was.\"",
9835    "\"Don't eat too much, my mama told me, or you'll grow fat and clumsy.\"",
9836    "\"I've heard that unicorns taste weird. Not that I would know first-hand.\"",
9837    "\"Tweraif? Yeah, I heard about it from a guy... What was his name again? Oily Orpiv, I think.\"",
9838    "\"I once saw an apprentice dark mage polymorph his small chest and spill all his stuff. I would have laughed, but I didn't wanna be turned into a dark frog.\"",
9839    "\"I've heard you can fetch a nice iron arm from the dwarves of Kharaz-arad.\"",
9840    "\"I once tried to pet a hedgehog and got my hand all screwed up. Tried it next time with a gauntlet, and let me tell ya, it takes the sting from their spines!\"",
9841    "\"You ever thrown a bone to a doggie? I love the way it makes them happy.\"",
9842    "\"You ever thrown a fish to a kitty? I love the way it makes them happy.\"",
9843    "\"You ever thrown a carrot to a bunny? I love the way it makes them happy.\"",
9844    "\"You know what I've heard? That intellectuals can get harder. Har har har.\"",
9845    "\"All those priests can say so many weird and foreign words... I betcha gods love listening to wise words!\"",
9846    "\"You know how to best get a discount in a shop, eh? Use your charms, dummy! Har har!\"",
9847    "\"My dad was an adventurer, years ago. Died in some damp cave. I hope no other bloody adventurer found his bones and took all of his stuff.\"",
9848    "\"That doctor who had to run from here, he said to me once that mutant flesh is not good for your body form. Eh, I say when you have nothing else...\"",
9849    "\"You came through that scary underwater tunnel, right? I've heard it's deeper than it seems. Sounds spooky, eh?\"",
9850    "\"I hate zombies! Dead things should stay dead and not try to bite you. I was bitten once, in the Cellar, and my arm got all inflamed and necrotic.\"",
9851    "\"You know how people talk about the genies locked in old oil lamps? Tavern stories and wishful legends, I tell ya!\"",
9852    "\"One Cossack once told me about an old guy named Xinroch. He lived and died long ago, but he lost his favorite sword, so he came back.\"",
9853    "\"Some Cossack once told me about a guy named Xinroch who can be at several places at once! And to top it off, he's dead! Yeah!\"",
9854    "\"I've heard that only the dead can be safe around an enner beast! I say when you're dead, it's no longer of concern what's around you, eh?\"",
9855    "\"The Cathedral has impenetrable defenses with its four Cardinals scanning the thoughts of everyone, they say. Well, they still get their stuff stolen by kobolds, har har har! Those little midgets are so dumb no thoughts can be read from them! Har har!\"",
9856    "\"My mama told me you only need a wand of polymorph and some rocks to make a fortune. Eh, never held a wand in my hands, so what can I know?\"",
9857    "\"Those bananas are dangerous, I tell ya! You eat one, you drop that peel-thingy and then someone goes and slips on it, cracking their skull open!\"",
9858    "\"Let me give you a word of advice - next time you get drunk, don't let the bottles lying on the ground. Broken bottles are a pain in the foot, if you know what I mean.\"",
9859    "\"I got attacked by a kobold one night, but I blocked his spear with my lantern and then beaten him to death with it.\"",
9860    "\"Mistresses love a good whipping, you say? Eh, I got whipped once and let me tell ya, there's nothing to love about it.\"",
9861    "\"I've heard from a friend that you can enchant a pair for the price of one, if you know what to do. Sounds like a bargain to me, har har!\"",
9862    "\"I've heard from a friend that enchantments can be broken and you have to repair them. Eh, magic is weird.\"",
9863    "\"My mama always told me, don't eat people, it's indecent. I'd say more like evil, but she always knew best.\"",
9864    "\"I tried to pray once and it worked! So I said to myself, once is good, twice is better, right? Then I got smote. I guess gods don't like pestering, right?\"",
9865    "\"Some priest once told me that Law and Chaos mix like cats and dogs. That's bad, right?\"",
9866    "\"Some priest once told me that gods can be quite jealous of their worshipers. I guess that's why they can't stand each other?\"",
9867    "\"When my mama took me to an altar for the first time, she made me kneel there. It makes the gods happy, she said.\"",
9868    "\"I knew a guy who had this altar in his home and kept pushing his fingers down his throat and vomiting all over it! He said it was an offering for some Scabies, but ew!\"",
9869    "\"There was this arch-magic-guy some years back running around with a wand of resurrection. Those lucky bastards he raised where so grateful he quickly amassed an army of followers! Then he attacked Attnam and got promptly massacred.\"",
9870    "\"Someone once told me that necromancy is not for vegetarians. Well, they have to work with meat, I guess?\"",
9871    "\"They say necromancy sows Chaos into your heart. I say you have to already have some Chaos in you to even try using necromancy.\"",
9872    "\"Only time I ever ate a fortune cookie, it said: 'When aflame, douse yourself with water from a fountain.' Why the Dark Gods would I be aflame in the first place?\"",
9873    "\"I used to drink from the fountains, because it's free, but then I got all sick, so it's not always healthy. Now I drink vodka.\"",
9874    "\"I've heard those fountains are connected by pipes large enough for a man to fit into! You wouldn't want to get sucked inside, right? Har har!\"",
9875    "\"One mage once told me that wet clothes and electricity don't mix well. Eh, it's not like I know what an electricity is, but wet clothes are uncomfortable.\"",
9876    "\"One mage once told me that metal armor and electricity don't mix well. I have neither armor, nor electricity, so I don't care.\"",
9877    "\"One mage once told me not only gods can wield thunder in their hands. I told her that's a blasphemy and she should burn at a stake.\"",
9878    "\"One mage once told me that careless use of lightning can leave you in a shock. I think she was making fun of me.\"",
9879    "\"You ever tried hitting someone with an iron gauntlet on? That packs a punch!\"",
9880    "\"I remember an execution where a noble tried to get around his punishment with an amulet of life saving. But as they cut his head off, the amulet fell from the stump of his neck! We had a good laugh about it! What a moron!\"",
9881    "\"You know about floating eyes? There's one of those buggers around the Cathedral all the time. Take just a single look at them and they will knock you out cold. But when it's dark... Har har!\"",
9882    "\"You know about floating eyes? I was told eating them can make your mind go haywire. You'll start hearing voices and seeing things. Just like vodka, I say! Har har!\"",
9883    "\"Stupid good-for-nothing kobolds! You can't even eat them without being knocked out cold.\"",
9884    "\"Do you know of any good way of getting rid of a tapeworm? I tried drinking some acid the last time. It worked, but the heartburn was awful.\"";
9885  }
9886  HostileReplies =
9887  {
9888    3,
9889    "\"All right, you savage, mindless creature. Prepare to meet your equal!\"",
9890    "\"Bad adventurer! No more living for you!\"",
9891    "@Dd yells gibberish in a drunken rage.";
9892  }
9893  Alias == "hobo";
9894}
9895
9896nihil
9897{
9898  DefaultArmStrength = 35;
9899  DefaultLegStrength = 35;
9900  DefaultDexterity = 35;
9901  DefaultAgility = 70;
9902  DefaultEndurance = 35;
9903  DefaultPerception = 45;
9904  DefaultIntelligence = 35;
9905  DefaultWillPower = 35;
9906  DefaultWisdom = 45;
9907  DefaultCharisma = 60;
9908  DefaultMana = 45;
9909  FireResistance = 40;
9910  ElectricityResistance = 40;
9911  EnergyResistance = 40;
9912  HeadBitmapPos = 112, 256;
9913  TorsoBitmapPos = 48, 256;
9914  ArmBitmapPos = 80, 256;
9915  SkinColor = rgb16(200, 200, 200);
9916  HairColor = rgb16(180, 180, 0);
9917  EyeColor = rgb16(180, 0, 0);
9918  TorsoMainColor = rgb16(40, 40, 40);
9919  ArmMainColor = rgb16(40, 40, 40);
9920  WieldedPosition = 0, -2;
9921  DefaultName = "Nihil";
9922  NameSingular = "fallen archangel";
9923  PostFix = "of Mortifer";
9924  IsUnique = true;
9925  IsNameable = false;
9926  CanBeCloned = false;
9927  IsPolymorphable = false;
9928  CanBeConfused = false;
9929  IsSadist = true;
9930  CanBeGenerated = true;
9931  IsImmuneToItemTeleport = true;
9932  IsImmuneToStickiness = true;
9933  AllowUnconsciousness = false;
9934  CanChoke = false;
9935  CanRead = true;
9936  UndeadVersions = false;
9937  UsesNutrition = false;
9938  IgnoreDanger = true;
9939  AllowPlayerToChangeEquipment = false;
9940  Helmet = BLACK_DIAMOND helmet(HELM_OF_WILLPOWER) { Enchantment = 4; }
9941  Amulet = BLACK_DIAMOND amulet(AMULET_OF_LIFE_SAVING);
9942  BodyArmor = OCTIRON bodyarmor(CHAIN_MAIL) { Enchantment = 4; }
9943  Belt = BLACK_DIAMOND belt(BELT_OF_REGENERATION) { Enchantment = 4; }
9944  RightWielded = BLACK_DIAMOND OCTIRON sharpaxe { Enchantment = 4; }
9945  LeftWielded = BLACK_DIAMOND OCTIRON darkaxe { Enchantment = 4; }
9946  RightGauntlet = OCTIRON gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 4; }
9947  RightRing = ring(RING_OF_INVISIBILITY);
9948  LeftRing = ring(RING_OF_POLYMORPH_LOCK);
9949  KnownCWeaponSkills == AXES;
9950  CWeaponSkillHits == 5000;
9951  RightSWeaponSkillHits = 2000;
9952  LeftSWeaponSkillHits = 2000;
9953  DisplacePriority = 10;
9954  PanicLevel = 0;
9955  BaseUnarmedStrength = 200;
9956  TotalVolume = 60000;
9957  TotalSize = 200;
9958  Sex = FEMALE;
9959  AttachedGod = NONE;
9960  ClassStates = TELEPORT|TELEPORT_CONTROL|HASTE|INFRA_VISION|ESP|DISEASE_IMMUNITY|GAS_IMMUNITY|FEARLESS;
9961  TamingDifficulty = NO_TAMING;
9962  MoveType = FLY;
9963  StandVerb = "flying";
9964  DeathMessage = "@Dd dissolves into nothingness.";
9965  HostileReplies =
9966  {
9967    6,
9968    "\"Do you know what punishments I've endured for my sins? None. I am proof of the absurdity of 'divinity'. No true god would tolerate my existence.\"",
9969    "\"The truth is an endless deathly agony. The truth is death. You have to choose: death or lies. I've never been able to kill myself.\"",
9970    "\"In nothingness, there is no ignorance, no old age or death, no suffering.\"",
9971    "\"The only absolute knowledge is that everything is meaningless.\"",
9972    "\"I wish to believe but belief is a graveyard.\"",
9973    "\"The point is there's no point.\"";
9974  }
9975  Inventory = { 8, celestialmonograph, NEUTRONIUM stone(SOL_STONE), wand(WAND_OF_RESURRECTION), wand(WAND_OF_CLONING), scrollofchangematerial, scrollofcharging, scrollofwishing, horn(HEALING); }
9976  HPRequirementForGeneration = 450;
9977  DayRequirementForGeneration = 45;
9978}
9979
9980terra
9981{
9982  DefaultArmStrength = 15;
9983  DefaultLegStrength = 15;
9984  DefaultDexterity = 25;
9985  DefaultAgility = 25;
9986  DefaultEndurance = 15;
9987  DefaultPerception = 28;
9988  DefaultIntelligence = 25;
9989  DefaultWillPower = 25;
9990  DefaultWisdom = 42;
9991  DefaultCharisma = 35;
9992  DefaultMana = 55;
9993  TotalVolume = 50000;
9994  TotalSize = 160;
9995  HeadBitmapPos = 112, 0;
9996  TorsoBitmapPos = 32, 208;
9997  ArmBitmapPos = 64, 208;
9998  LegBitmapPos = 0, 144;
9999  SkinColor = rgb16(160, 100, 64);
10000  HairColor = rgb16(80, 48, 32);
10001  AttachedGod = SILVA;
10002  DefaultName = "Terra";
10003  NameSingular = "elder priestess";
10004  PostFix = "of Silva";
10005  Sex = FEMALE;
10006  BloodMaterial = PLANT_SAP;
10007  BodyArmor = RATA_WOOD bodyarmor(PLATE_MAIL) { Enchantment = 3; }
10008  Cloak = RAINBOW_CLOTH cloak(CLOAK_OF_ACID_RESISTANCE) { Enchantment = 3; }
10009  Belt = RATA_WOOD belt(BELT_OF_REGENERATION) { Enchantment = 3; }
10010  RightWielded = SIDGURE_WOOD BLUE_CRYSTAL meleeweapon(QUARTER_STAFF) { Enchantment = 3; }
10011  RightRing = ring(RING_OF_INFRA_VISION);
10012  LeftRing = ring(RING_OF_POISON_RESISTANCE);
10013  RightGauntlet = RAINBOW_CLOTH gauntlet { Enchantment = 3; }
10014  RightBoot = RAINBOW_CLOTH boot { Enchantment = 3; }
10015  KnownCWeaponSkills == BLUNT_WEAPONS;
10016  CWeaponSkillHits == 500;
10017  RightSWeaponSkillHits = 200;
10018  FriendlyReplies =
10019  {
10020    11,
10021    "\"The Holy Mango World-tree, Silva's earthly manifestation, supports the elven city of Lunethia.\"",
10022    "\"Silva is the goddess of earth, forests and animals. She is the Mother Nature and the source of all that is alive.\"",
10023    "\"The roots of Silva drink from the Waters of Eternity, where the dead souls wander over an endless twilight ocean, and Her treetop supports the Heavens of the other gods.\"",
10024    "\"Would you happen to know Kaethos? I hope he is alright after all those years. Sometimes, I still think back to our... Nevermind.\"",
10025    "\"Hopefully one day, I will find an apprentice to take my place. How I wish to see Tweraif again!\"",
10026    "\"My vigil is long and lonely, but necessary. Lobh-se cannot be let out of her prison.\"",
10027    "\"Beware and avoid Lobh-se at all costs! She is the misbegotten daughter of Scabies, who exists only to devour any man or beast she senses.\"",
10028    "\"Through the millennia, Lobh-se has gained every imaginable disease and was bitten by every existing poisonous creature. Now she is practically invulnerable to all damage.\"",
10029    "\"Fortunately, Lobh-se only leaves her lair in the heart of the night and even then does not venture far, since nutrition is plenty here, and she returns promptly when satiated. Still, it is becoming harder and harder to ward her off.\"",
10030    "\"This cave once was a magnificent garden, a bulwark against evil. But after the Attnamese invasion, the power of Silva was weakened, and darkness and strife crept in here from below.\"",
10031    "\"I am bound by sacred oaths to protect this shrine with my life. I remained behind when Tweraifians buried the entrance to hide this place from Attnam.\"";
10032  }
10033  DeathMessage = "@Dd dies, whispering: \"I'm sorry! I failed you, Silva.\"";
10034}
10035
10036aslonawizard
10037{
10038  DefaultArmStrength = 13;
10039  DefaultLegStrength = 13;
10040  DefaultDexterity = 21;
10041  DefaultAgility = 18;
10042  DefaultEndurance = 15;
10043  DefaultPerception = 8;
10044  DefaultIntelligence = 35;
10045  DefaultWillPower = 40;
10046  DefaultWisdom = 25;
10047  DefaultCharisma = 25;
10048  DefaultMana = 60;
10049  HeadBitmapPos = 112, 304;
10050  TorsoBitmapPos = 48, 224;
10051  ArmBitmapPos = 80, 64;
10052  LegBitmapPos = 16, 160;
10053  HairColor = rgb16(139, 69, 19);
10054  EyeColor = rgb16(96, 96, 200);
10055  CapColor = rgb16(112, 128, 144);
10056  BeltColor = rgb16(80, 80, 80);
10057  ClothColor = rgb16(128, 128, 128);
10058  DefaultName = "Myrddin Wyllt";
10059  Adjective = "royal";
10060  NameSingular = "wizard";
10061  PostFix = "of Aslona";
10062  TotalVolume = 100000;
10063  TotalSize = 175;
10064  Helmet = SELKIE_SKIN helmet(HELM_OF_BRILLIANCE) { Enchantment = 5; }
10065  Amulet = amulet(AMULET_OF_UNBREATHING);
10066  BodyArmor = SELKIE_SKIN bodyarmor(PLATE_MAIL) { Enchantment = 5; }
10067  Cloak = MERMAID_HAIR cloak(CLOAK_OF_FIRE_RESISTANCE) { Enchantment = 3; }
10068  RightWielded = MAHOGANY_WOOD SAPPHIRE meleeweapon(QUARTER_STAFF) { Enchantment = 4; }
10069  RightRing = ring(RING_OF_MAGIC_RESISTANCE);
10070  LeftRing = ring(RING_OF_SEARCHING);
10071  RightBoot = SELKIE_SKIN boot { Enchantment = 5; }
10072  Inventory == Random { MinPrice = 150; Category = WAND|SCROLL|POTION; Times = 5; }
10073  KnownCWeaponSkills == BLUNT_WEAPONS;
10074  CWeaponSkillHits == 200;
10075  RightSWeaponSkillHits = 150;
10076  LeftSWeaponSkillHits = 150;
10077  BloodMaterial = MAGIC_LIQUID;
10078  AttachedGod = SOPHOS;
10079  ClassStates = ESP;
10080  TamingDifficulty = NO_TAMING;
10081  PanicLevel = 5;
10082  IsUnique = true;
10083  IsNameable = false;
10084  CanBeCloned = false;
10085  IsPolymorphable = false;
10086  CanBeGenerated = false;
10087  UndeadVersions = false;
10088  IsImmuneToItemTeleport = true;
10089  AllowUnconsciousness = false;
10090  IsExtraFragile = false;
10091  BodyPartsDisappearWhenSevered = true;
10092  CanRead = true;
10093  HostileReplies =
10094  {
10095    6,
10096    "\"Abracadabra!\"",
10097    "\"Hocus pocus!\"",
10098    "\"Alakazam.\"",
10099    "\"Sim sala bim!\"",
10100    "@Dd screams: \"I shall blow thee to smithereens!\"",
10101    "@Dd yells: \"Prepare to meet your maker!\"";
10102  }
10103  FriendlyReplies =
10104  {
10105    8,
10106    "\"What exactly do you think I'm capable of?\"",
10107    "\"Aslona isn't built on magic, but on people, on their faith.\"",
10108    "\"Remember, there's always someone cleverer than yourself.\"",
10109    "\"I've never studied magic or been taught... I was born like this.\"",
10110    "\"Do you know how it feels, to be a monster? To be afraid of what you can do?\"",
10111    "\"It is my responsibility to protect the people of this kingdom, whoever they may be.\"",
10112    "\"The love that binds us is more important than the power we wield.\"",
10113    "\"No young man, no matter how great, can know his destiny.\"";
10114  }
10115  DeathMessage = "@Dd discorporates in a puff of magic.";
10116}
10117
10118aslonacaptain /* guard-> */
10119{
10120  AttributeBonus = 50;
10121  TotalVolume = 120000;
10122  Helmet = SEA_SERPENT_SCALE helmet(FULL_HELMET) { Enchantment = 3; }
10123  Amulet = amulet(AMULET_OF_WARDING);
10124  BodyArmor = SEA_SERPENT_SCALE bodyarmor(PLATE_MAIL) { Enchantment = 3; }
10125  Cloak = MERMAID_HAIR cloak(CLOAK_OF_QUICKNESS) { Enchantment = 3; }
10126  RightWielded = OCTIRON SAPPHIRE meleeweapon(BASTARD_SWORD) { Enchantment = 3; }
10127  LeftWielded = OCTIRON shield { Enchantment = 3; }
10128  RightRing = ring(RING_OF_TELEPORT_CONTROL);
10129  LeftRing = ring(RING_OF_INFRA_VISION);
10130  RightGauntlet = SEA_SERPENT_SCALE gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 3; }
10131  RightBoot = SEA_SERPENT_SCALE boot(BOOT_OF_AGILITY) { Enchantment = 3; }
10132  CWeaponSkillHits = { 2, 2000, 2000; }
10133  RightSWeaponSkillHits = 200;
10134  LeftSWeaponSkillHits = 200;
10135  PanicLevel = 5;
10136  CriticalModifier = 4;
10137  TamingDifficulty = NO_TAMING;
10138  BloodMaterial = BLUE_BLOOD;
10139  IsUnique = true;
10140  DefaultName = "Lord Mittrars"; /* Tristram */
10141  NameSingular = "field marshal";
10142  PostFix = "of Aslona";
10143  IsNameable = false;
10144  CanBeCloned = false;
10145  IsPolymorphable = false;
10146  ClothColor = rgb16(0, 0, 139);
10147  CanBeConfused = false;
10148  FriendlyReplies =
10149  {
10150    5,
10151    "@Dd says with a sad nod: \"This civil war, I worry that it will be the end of us all.\"",
10152    "@Dd sighs with a deep sadness.",
10153    "\"This will all end in tears, I'm telling you.\"",
10154    "\"I knew something bad was about to happen when the dolphin looked all dejected, and then prince Artorius was abducted.\"",
10155    "\"I knew something bad was about to happen when I spilled wine on my favorite cloak, and then king Othyr died.\"";
10156  }
10157  HostileReplies =
10158  {
10159    3,
10160    "\"Die, you treacherous bastard!\"",
10161    "\"I will crush you like a grape!\"",
10162    "\"Low-blooded scum! You dare to attack a knight of Aslona?\"";
10163  }
10164  DeathMessage = "@Dd falls screaming: \"For Aslona!\"";
10165  IsImmuneToItemTeleport = true;
10166  AllowUnconsciousness = false;
10167  DisplacePriority = 4;
10168  UndeadVersions = false;
10169}
10170
10171aslonapriest /* priest-> */
10172{
10173  DefaultArmStrength = 8;
10174  DefaultLegStrength = 12;
10175  DefaultDexterity = 10;
10176  DefaultAgility = 15;
10177  DefaultEndurance = 18;
10178  DefaultPerception = 14;
10179  DefaultIntelligence = 20;
10180  DefaultWillPower = 20;
10181  DefaultWisdom = 35;
10182  DefaultCharisma = 20;
10183  DefaultMana = 30;
10184  HairColor = rgb16(204, 204, 204);
10185  EyeColor = rgb16(0, 126, 178);
10186  ClothColor = rgb16(39, 119, 20);
10187  HeadBitmapPos = 96, 128;
10188  TorsoBitmapPos = 32, 16;
10189  ArmBitmapPos = 64, 16;
10190  LegBitmapPos = 0, 32;
10191  TotalVolume = 80000;
10192  TotalSize = 175;
10193  DefaultName = "Senex";
10194  PostFix = "of Seges";
10195  AttachedGod = SEGES;
10196  BloodMaterial = BLUE_BLOOD;
10197  Helmet = HEPATIZON helmet(HELM_OF_UNDERSTANDING) { Enchantment = 2; }
10198  Amulet = amulet(AMULET_OF_WARDING);
10199  BodyArmor = HEPATIZON bodyarmor(CHAIN_MAIL) { Enchantment = 2; }
10200  Cloak = ELF_CLOTH cloak { Enchantment = 2; }
10201  Belt = ELF_CLOTH belt { Enchantment = 2; }
10202  RightWielded = HEPATIZON bansheesickle { Enchantment = 3; }
10203  LeftWielded = holybook(SEGES);
10204  RightGauntlet = ELF_CLOTH gauntlet { Enchantment = 2; }
10205  RightBoot = ELF_CLOTH boot { Enchantment = 2; }
10206  KnownCWeaponSkills == SMALL_SWORDS;
10207  CWeaponSkillHits == 50;
10208  RightSWeaponSkillHits = 20;
10209  LeftSWeaponSkillHits = 20;
10210  TamingDifficulty = NO_TAMING;
10211  PanicLevel = 50;
10212  IsUnique = true;
10213  IsNameable = false;
10214  CanBeCloned = false;
10215  IsPolymorphable = false;
10216  CanBeGenerated = false;
10217  UndeadVersions = false;
10218  FriendlyReplies =
10219  {
10220    5,
10221    "\"The people have faith in Seges, and I do my best to heal and comfort them in adversity.\"",
10222    "\"No wonder everyone is so cranky these days. If you had to live year-round in a cold, drafty castle like this one, you'd be cranky, too.\"",
10223    "\"Was it the Black-cloak or Lord Regent who caused the old king's death? I doubt we'll ever know for sure.\"",
10224    "\"I've sometimes thought I'd like to make a pilgrimage to the Cathedral of Attnam, but my duties prevent me from such extensive and dangerous travel.\"",
10225    "\"There's something strange about Lord Regent.\"";
10226  }
10227  Inventory = { 3, lantern, potion { Times = 2; SecondaryMaterial = CURE_ALL_LIQUID; }, Random { Category = WAND; Times = 5; } }
10228}
10229
10230harvan
10231{
10232  DefaultArmStrength = 30;
10233  DefaultLegStrength = 25;
10234  DefaultDexterity = 30;
10235  DefaultAgility = 25;
10236  DefaultEndurance = 30;
10237  DefaultPerception = 30;
10238  DefaultIntelligence = 20;
10239  DefaultWillPower = 35;
10240  DefaultWisdom = 20;
10241  DefaultCharisma = 35;
10242  DefaultMana = 13;
10243  FireResistance = 10;
10244  ElectricityResistance = 10;
10245  HeadBitmapPos = 96, 112;
10246  TorsoBitmapPos = 48, 0;
10247  ArmBitmapPos = 80, 32;
10248  LegBitmapPos = 0, 240;
10249  HairColor = rgb16(6, 6, 6); /* horns */
10250  SkinColor = rgb16(160, 160, 160); /* arms */
10251  ClothColor = rgb16(211, 211, 211);
10252  WieldedPosition = -1, -1;
10253  DefaultName = "Harvan Black-cloak";
10254  NameSingular = "rebel leader";
10255  IsUnique = true;
10256  IsNameable = false;
10257  CanBeCloned = false;
10258  IsPolymorphable = false;
10259  CanBeConfused = false;
10260  CanBeGenerated = false;
10261  IsImmuneToItemTeleport = true;
10262  IsImmuneToStickiness = true;
10263  AllowUnconsciousness = false;
10264  CanRead = true;
10265  UndeadVersions = false;
10266  Helmet = UR_STEEL helmet(FULL_HELMET) { Enchantment = 4; }
10267  Amulet = amulet(AMULET_OF_LIFE_SAVING);
10268  BodyArmor = UR_STEEL bodyarmor(CHAIN_MAIL);
10269  Cloak = SOUL_STEEL cloak(CLOAK_OF_PROTECTION) { Enchantment = 10; }
10270  Belt = UR_STEEL belt(BELT_OF_CARRYING) { Enchantment = 4; }
10271  RightWielded = muramasa;
10272  LeftWielded = UR_STEEL shield(SHIELD_OF_FIRE_RESISTANCE) { Enchantment = 4; }
10273  RightRing = ring(RING_OF_INFRA_VISION);
10274  LeftRing = ring(RING_OF_POISON_RESISTANCE);
10275  RightGauntlet = SPIDER_SILK gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
10276  RightBoot = SPIDER_SILK boot(BOOT_OF_AGILITY) { Enchantment = 4; }
10277  KnownCWeaponSkills = { 5, LARGE_SWORDS, SHIELDS, UNARMED, KICK, BITE; }
10278  CWeaponSkillHits = { 5, 2000, 2000, 2000, 1500, 1500; }
10279  RightSWeaponSkillHits = 500;
10280  LeftSWeaponSkillHits = 200;
10281  PanicLevel = 0;
10282  TamingDifficulty = NO_TAMING;
10283  TotalVolume = 120000;
10284  TotalSize = 195;
10285  Sex = MALE;
10286  AttachedGod = LEGIFER;
10287  NaturalSparkleFlags = CLOTH_COLOR;
10288  BloodMaterial = BLUE_BLOOD;
10289  DeathMessage = "@Dd dies and the rebellion will soon follow.";
10290  FriendlyReplies =
10291  {
10292    7,
10293    "\"We are surrounded by jackals and vultures, and now Lord Peredivall drives a new wedge between the people of Aslona.\"",
10294    "\"The death of old king Othyr was a great blow, but greater still is the unrest that Lord Regent brings with his controversies.\"",
10295    "\"I never wished to lead, yet here I am. I will not allow Aslona to fall apart.\"",
10296    "\"You cannot come to an already bad situation and expect to make it better by disturbing things further, yet this is what Lord Efra seems to be doing.\"",
10297    "\"Lord Efra used to be like a brother to me. I don't know what madness possessed him to start a civil war like this.\"",
10298    "\"We must end this quickly and decisively. I won't let Aslona turn its back on hundreds of years of history.\"",
10299    "\"Lord Peredivall used to be the secretary of the state of Aslona. Interesting how quickly he grabbed for more power after king Othyr's death, right?\"";
10300  }
10301  HostileReplies =
10302  {
10303    3,
10304    "\"So you're with him, after all.\"",
10305    "\"I should have expected someone from Attnam to be nothing but a traitor.\"",
10306    "\"I don!t want to kill you, but trust me that I will.\"";
10307  }
10308}
10309
10310lordregent
10311{
10312  DefaultArmStrength = 24;
10313  DefaultLegStrength = 24;
10314  DefaultDexterity = 56;
10315  DefaultAgility = 56;
10316  DefaultEndurance = 24;
10317  DefaultPerception = 36;
10318  DefaultIntelligence = 56;
10319  DefaultWillPower = 24;
10320  DefaultWisdom = 36;
10321  DefaultCharisma = 36;
10322  DefaultMana = 7;
10323  AcidResistance = 10;
10324  PoisonResistance = 10;
10325  HeadBitmapPos = 96, 368;
10326  TorsoBitmapPos = 32, 144;
10327  ArmBitmapPos = 80, 176;
10328  LegBitmapPos = 0, 0;
10329  HairColor = rgb16(200, 0, 0); /* beard */
10330  ClothColor = rgb16(0, 35, 102);
10331  BeltColor = rgb16(224, 224, 0);
10332  LegSpecialColor = rgb16(6, 6, 6);
10333  DefaultName = "His Excellency Efra Peredivall"; /* Percival */
10334  NameSingular = "Lord Regent";
10335  PostFix = "of Aslona";
10336  IsUnique = true;
10337  IsNameable = false;
10338  CanBeCloned = false;
10339  IsPolymorphable = false;
10340  CanBeConfused = false;
10341  CanBeGenerated = false;
10342  IsImmuneToItemTeleport = true;
10343  IsImmuneToStickiness = true;
10344  AllowUnconsciousness = false;
10345  CanRead = true;
10346  UndeadVersions = false;
10347  Helmet = HEPATIZON helmet(HELM_OF_TELEPATHY) { Enchantment = 3; }
10348  Amulet = amulet(AMULET_OF_LIFE_SAVING);
10349  BodyArmor = SPIDER_SILK bodyarmor(ARMOR_OF_GREAT_HEALTH) { Enchantment = 6; }
10350  Cloak = SPIDER_SILK cloak(CLOAK_OF_FIRE_RESISTANCE) { Enchantment = 3; }
10351  Belt = GOLD belt(BELT_OF_GIANT_STRENGTH) { Enchantment = 6; }
10352  RightWielded = masamune;
10353  LeftWielded = OCTIRON GOLD daggerofvenom { Enchantment = 6; }
10354  RightRing = ring(RING_OF_ACID_RESISTANCE);
10355  LeftRing = ring(RING_OF_ELECTRICITY_RESISTANCE);
10356  RightGauntlet = SPIDER_SILK gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 3; }
10357  RightBoot = SPIDER_SILK boot(BOOT_OF_AGILITY) { Enchantment = 3; }
10358  KnownCWeaponSkills = { 5, LARGE_SWORDS, SMALL_SWORDS, UNARMED, KICK, BITE; }
10359  CWeaponSkillHits = { 5, 5000, 5000, 2000, 1500, 1500; }
10360  RightSWeaponSkillHits = 500;
10361  LeftSWeaponSkillHits = 500;
10362  PanicLevel = 0;
10363  TamingDifficulty = NO_TAMING;
10364  TotalVolume = 75000;
10365  TotalSize = 155;
10366  Sex = MALE;
10367  AttachedGod = SEGES;
10368  BloodMaterial = BLUE_BLOOD;
10369  DeathMessage = "@Dd dies and the few remaining royalists will soon scatter without his lead.";
10370  FriendlyReplies =
10371  {
10372    7,
10373    "\"Change is never simple, but we must change or be left behind.\"",
10374    "\"A tragedy has granted me this chance, but I will try to make sure Aslona benefits in the end.\"",
10375    "\"Lord Harvan seems to think that ends justify the means. I will never stand for that.\"",
10376    "\"Lord Harvan used to be like a brother to me. I don't know what madness possessed him to start a civil war like this.\"",
10377    "\"The rebels don't understand that we *need* to change. The kingdom is rigid and crumbling under the weight of history, our traditions will hinder our very survival if we don't approach them with reason and not reverence.\"",
10378    "\"Not only did we lost our king, but crown prince Artorius was abducted by a goblin raiding party, too!\"",
10379    "\"Our history was forged from the blood and sweat of others, but never more. I cannot stand by and let our history thwart our future.\"";
10380  }
10381  HostileReplies =
10382  {
10383    3,
10384    "\"I don't know what Harvan told you, but I hope it's worth dying for.\"",
10385    "@Dd hisses: \"I cannot let you stop me now!\"",
10386    "\"Do you really wish to see Aslona fall?\"";
10387  }
10388}
10389
10390fusanga
10391{
10392  DefaultArmStrength = 60;
10393  DefaultAgility = 8;
10394  DefaultEndurance = 60;
10395  DefaultPerception = 40;
10396  DefaultIntelligence = 40;
10397  DefaultWisdom = 8;
10398  DefaultWillPower = 60;
10399  DefaultCharisma = 40;
10400  DefaultMana = 60;
10401  TotalVolume = 100000;
10402  TotalSize = 300;
10403  Adjective = "massive magical";
10404  NameSingular = "mushroom";
10405  DefaultName = "Sieni Fusanga";
10406  TorsoBitmapPos = 128, 128;
10407  TorsoMainColor = rgb16(111, 74, 60); /* the cap */
10408  TorsoSpecialColor = rgb16(111, 74, 60);
10409  BaseEmitation = rgb24(140, 100, 100);
10410  IsNameable = false;
10411  IsUnique = true;
10412  CanBeCloned = false;
10413  IsPolymorphable = false;
10414  CanBeConfused = false;
10415  CanBeGenerated = false;
10416  IsImmuneToItemTeleport = true;
10417  IsImmuneToStickiness = true;
10418  AllowUnconsciousness = false;
10419  UndeadVersions = false;
10420  HasEyes = false;
10421  HasHead = false;
10422  HasALeg = false;
10423  UsesNutrition = false;
10424  SpillsBlood = false;
10425  Sweats = false;
10426  CanOpen = false;
10427  IsRooted = true;
10428  CanChoke = false;
10429  FleshMaterial = MAGIC_MUSHROOM_FLESH;
10430  AttachedGod = SCABIES;
10431  ClassStates = ESP|TELEPORT_LOCK|GAS_IMMUNITY|REGENERATION;
10432  /* No damage resistances, but regenerates. */
10433  TamingDifficulty = NO_TAMING;
10434  PanicLevel = 0;
10435  BaseUnarmedStrength = 600;
10436  KnownCWeaponSkills == UNARMED;
10437  CWeaponSkillHits == 150;
10438  StandVerb = "glowering";
10439  DeathMessage = "@Dd is finally squashed.";
10440  HostileReplies =
10441  {
10442    2,
10443    "@Dd radiates loathing and contempt.",
10444    "@Dd radiates danger and majesty.";
10445  }
10446  FriendlyReplies == "@Dd wobbles disappointedly due to the fact that you are cheating.";
10447  Alias == "Fusanga";
10448}
10449