From bbefa2c38bdcc3a38225b3eed7a8475764c5671d Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sun, 24 Feb 2008 15:31:21 +0000 Subject: Outsource randart names. Also: - Move database text files into subfolder "database", yay! - Don't print "uncursed" for identified randart weapons/jewellery as the status should be obvious once the name is known. - A bit of code cleanup (change in enum.h breaks saves!) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3460 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/branch.cc | 18 +- crawl-ref/source/dat/database/help.txt | 115 ++ crawl-ref/source/dat/database/rand_all.txt | 403 +++++ crawl-ref/source/dat/database/rand_arm.txt | 505 ++++++ crawl-ref/source/dat/database/rand_wpn.txt | 1010 ++++++++++++ crawl-ref/source/dat/database/randname.txt | 681 ++++++++ crawl-ref/source/dat/database/shout.txt | 255 +++ crawl-ref/source/dat/database/speak.txt | 2307 ++++++++++++++++++++++++++++ crawl-ref/source/dat/help.txt | 115 -- crawl-ref/source/dat/shout.txt | 255 --- crawl-ref/source/dat/speak.txt | 2307 ---------------------------- crawl-ref/source/database.cc | 96 +- crawl-ref/source/database.h | 4 +- crawl-ref/source/enum.h | 2 +- crawl-ref/source/itemname.cc | 31 +- crawl-ref/source/itemprop.cc | 6 + crawl-ref/source/randart.cc | 1053 +++---------- crawl-ref/source/randart.h | 10 - crawl-ref/source/xom.cc | 18 +- 19 files changed, 5651 insertions(+), 3540 deletions(-) create mode 100644 crawl-ref/source/dat/database/help.txt create mode 100644 crawl-ref/source/dat/database/rand_all.txt create mode 100644 crawl-ref/source/dat/database/rand_arm.txt create mode 100644 crawl-ref/source/dat/database/rand_wpn.txt create mode 100644 crawl-ref/source/dat/database/randname.txt create mode 100644 crawl-ref/source/dat/database/shout.txt create mode 100644 crawl-ref/source/dat/database/speak.txt delete mode 100644 crawl-ref/source/dat/help.txt delete mode 100644 crawl-ref/source/dat/shout.txt delete mode 100644 crawl-ref/source/dat/speak.txt diff --git a/crawl-ref/source/branch.cc b/crawl-ref/source/branch.cc index 0739562861..b8fd808aae 100644 --- a/crawl-ref/source/branch.cc +++ b/crawl-ref/source/branch.cc @@ -281,6 +281,15 @@ Branch branches[] = { NULL, NULL, NULL, NULL, 0, 'Y', true, true }, + { BRANCH_HALL_OF_ZOT, BRANCH_MAIN_DUNGEON, 5, 27, BFLAG_HAS_ORB, 0, + DNGN_ENTER_ZOT, DNGN_RETURN_FROM_ZOT, + "Zot", "the Realm of Zot", "Zot", + NULL, + false, true, BLACK, BLACK, + mons_hallzot_rare, mons_hallzot_level, + NULL, NULL, NULL, NULL, + 1, 'Z', false, true }, + { BRANCH_INFERNO, BRANCH_MAIN_DUNGEON, -1, -1, 0, 0, NUM_FEATURES, NUM_FEATURES, NULL, NULL, NULL, @@ -299,15 +308,6 @@ Branch branches[] = { NULL, NULL, NULL, NULL, 0, '0', false, false }, - { BRANCH_HALL_OF_ZOT, BRANCH_MAIN_DUNGEON, 5, 27, BFLAG_HAS_ORB, 0, - DNGN_ENTER_ZOT, DNGN_RETURN_FROM_ZOT, - "Zot", "the Realm of Zot", "Zot", - NULL, - false, true, BLACK, BLACK, - mons_hallzot_rare, mons_hallzot_level, - NULL, NULL, NULL, NULL, - 1, 'Z', false, true }, - { BRANCH_CAVERNS, BRANCH_MAIN_DUNGEON, -1, -1, 0, 0, NUM_FEATURES, NUM_FEATURES, NULL, NULL, NULL, diff --git a/crawl-ref/source/dat/database/help.txt b/crawl-ref/source/dat/database/help.txt new file mode 100644 index 0000000000..e21ab52078 --- /dev/null +++ b/crawl-ref/source/dat/database/help.txt @@ -0,0 +1,115 @@ +%%%% +stash-search.prompt + +Searching the stash-tracker + +You can search for items and dungeon features by name (or a substring of the +name). In the list of search results, you can select a search result by its +hotkey to travel to its location. + +You can also examine shops and items in the search results by pressing ? +and then hitting the hotkey for the search result. This will show you a +description of the item or the contents of the shop. + +Some examples of search strings: +cure mutation find all potions of cure mutation, including potions + in shops. +cloak find all cloaks in the dungeon. +Lair:2 find everything known to be on Lair:2. +Lair:[2-4] finds everything on Lair:2-4. Regexes are allowed! Note + that Lair:[3-10] will not work as intended, since [x-y] is + a regex character range. +. is a shortcut to find everything on your current level. +Lair.*axe +or +axe && Lair both show all axes in the Lair. + +The stash search string is case-insensitive. + + +Searching by item properties: + +You can search for spell names (such as Ignite Poison) to find spellbooks +or rods that contain the spell. + +You can search for artefact item properties (such as prevents.*teleport) +to find artefacts that have the property. + +If you're using stash.lua, you can also search by some additional item +properties: +artefact will find identified artefacts. +Skill names (such as Polearms or Long Blades) will find all +weapons that train that skill. + +If you're using stash.lua and have set annotate_item_class = true in your +init.txt, you can also search by item types such as book or +jewellery. + + +Finding Dungeon Features: + +You can search for dungeon features by name: all shops will be found by a +search for shop (including shops that do not have "shop" in their name); +other dungeon features can also be found by name: fountain, axe trap, +altar, etc. You can also search for altars by deity name: Zin. + + +Non-regex operators: + +You can use !! to negate a search string, && for a boolean AND, || for +boolean OR, and <<<< >> for grouping. + +For instance, to find rings (jewellery) but not ring mail you could use: +ring && !!mail +%%%% +level-map + +Level Map ('X' in the main screen): +Esc : Leave level map (also Space or any unused key). +Dir. : Move the cursor. +/ Dir. : Move the cursor in larger steps (also Shift-Dir.). +-/+ : Scroll level map up/down +. : Start travel (also Enter and , and ;). + (Moves cursor to the last travel destination if still on @.) +<</> : Cycle through up/down stairs. +^ : Cycle through traps. +Tab : Cycle through shops and portals. +X : Cycle through travel eXclusions. +x : Change the radius of a travel exclusion in three steps. +W : Cycle through waypoints. +* : Cycle forward through stashes (by default, all items). +/ : Cycle backward through stashes (by default, all items). +_ : Cycle through altars. +Ctrl-X : Set travel exclusion. +Ctrl-E : Erase all travel exclusions. +Ctrl-W : Set waypoint. +Ctrl-C : Clear level and main maps. +Ctrl-F : Forget level map. +%%%% +interlevel-travel.branch.prompt + +Interlevel Travel (choose a branch): + Use the shortcut letter for a branch to select the branch for travel. + + Once you select a branch, you will be prompted for a depth in that + branch (more help is available there). + + Enter : Repeat last interlevel travel. + . : Travel to a level in the current branch. + << : Go up the nearest stairs. + > : Go down the nearest stairs. + Ctrl-P : Travel to a level in the branch above this one. + * : Show available waypoints (if any are set). + 0-9 : Go to the numbered waypoint. +%%%% +interlevel-travel.depth.prompt + +Interlevel Travel (go to a specific level in the selected branch) + Type in the level number you want to go to and hit Enter, or use: + Enter : Go to the default level. + << : Change the default to one level above the current. + > : Change default to one level below the current. + -/p : Change default to the branch above this one. + $ : Change default to deepest visited level in this branch. + ^ : Change default to the entrance to the current level. +%%%% diff --git a/crawl-ref/source/dat/database/rand_all.txt b/crawl-ref/source/dat/database/rand_all.txt new file mode 100644 index 0000000000..8867886cf6 --- /dev/null +++ b/crawl-ref/source/dat/database/rand_all.txt @@ -0,0 +1,403 @@ +###################################################### +# Randart Names +# ------------- +# rand_all.txt: keywords for randart JEWELLERY and +# those used for ALL randart types +# +# This file contains the lists of keywords (and their +# weights) for keywords specific to randart jewellery +# as well as those used for all three types of +# randarts (weapons, armour, jewellery). You will find +# other ones in rand_wpn.txt and rand_arm.txt. +# See the explanation in the main file, randname.txt, +# for more details. +###################################################### +%%%% +###################################################### +# Library of keywords used (mostly) for randart jewellery. +###################################################### +jewellery_animal + +Magpie + +Firefly + +Scarab + +%%%% +jewellery_special_name + +Misfortune + +Ephemeral Luck + +Wishful Thinking + +Moodiness + +Reimbursement + +the Tempest + +Finality + +Attitude + +Lady Luck + +Temptation + +False Pretenses + +%%%% +suspicion_name + +Secrets + +Suspicion + +Mistrust + +Jealousy + +Incredulity + +Doubts + +Suspected Treachery + +w:20 +@conflict_name@ + +%%%% +###################################################### +# Library of keywords used for all randart types. +###################################################### +divine_esteem + +# good +Esteem + +Favour + +Hope + +Regard + +Approval + +Delight + +Pride + +Generosity + +Supremacy + +Benevolence + +Whim + +Favour + +# bad +Displeasure + +Envy + +w:70 +@anger_name@ + +%%%% +xom_esteem + +# chosen 20% of the time +w:40 +@divine_esteem@ + +Entertainment + +Best Wishes + +Amusement + +Dangerous Boredom + +Questionable Humour + +Ringing Laughter + +Bemusement + +Passing Interest + +Full Attention + +Everchanging Rules + +Whimsicality + +Capriciousness + +Sleight of Hands + +Flight of Fancy + +Premature Condolences + +Absentmindedness + +Malicious Joy + +Psychedelic Visions + +Fair Game + +Experimental Loan + +%%%% +time_name + +Day + +Night + +Midnight + +Twilight + +Dawn + +w:5 +Spring + +w:5 +Springtime + +w:5 +Summer + +w:5 +Summertime + +Autumn + +Winter + +Midsummer + +Midwinter + +the Solstice + +the Harvest + +Eternal Night + +Eternity + +%%%% +colour_name + +Blue + +Red + +Orange + +Purple + +%%%% +sky_or_light + +the Sun + +the Moon + +Light + +Darkness + +Dim Light + +the Shining Light + +Sunlight + +Starshine + +the Clouds + +the Sky + +the @colour_name@ Skies + +%%%% +virtue_or_vice + +w:5 +@virtue_name@ + +@valour_name@ + +@vice_name@ + +%%%% +virtue_name + +Virtue + +Truth + +Honesty + +Faith + +Hospitality + +Charity + +Patience + +Modesty + +%%%% +vice_name + +# some of the deadly sins +Sloth + +Vanity + +Gluttony + +Pride + +Greed + +# general immorality +Sin + +the Original Sin + +Lies + +Dishonesty + +Cowardice + +Dishonour + +Impatience + +Immorality + +Amorality + +Untruth + +%%%% +number_or_qualifier + +# exact numbers +the Three + +the Four + +the Five + +the Six + +the Seven + +the Eight + +the Nine + +the Ten + +the Eleven + +the Twelve + +the Thirteen + +the Fifty + +a Hundred + +a Thousand + +# vague numbers +the + +the Many + +the Countless + +# other qualifiers +the Lost + +the Forgotten + +the Forsaken + +the Hidden + +the Last + +the Lonely + +the Jolly + +the Ancient + +%%%% +thing_names + +Suns + +Moons + +Stars + +Planets + +Hells + +Lives + +Deaths + +Curses + +Blessings + +Gods + +Spirits + +Demons + +Wars + +Mice + +Eyes + +Nights + +Orbs + +Runes + +Seas + +Places + +Wishes + +Wonders + +%%%% + diff --git a/crawl-ref/source/dat/database/rand_arm.txt b/crawl-ref/source/dat/database/rand_arm.txt new file mode 100644 index 0000000000..9ecec293a2 --- /dev/null +++ b/crawl-ref/source/dat/database/rand_arm.txt @@ -0,0 +1,505 @@ +###################################################### +# Randart Names +# ------------- +# rand_arm.txt: keywords for randart ARMOUR +# +# This file contains the lists of keywords (and their +# weights) for most of the keywords used for randart +# armour. You will find others in rand_wpn.txt and +# rand_all.txt, respectively. +# +# See the explanation in the main file, randname.txt, +# for more details. +###################################################### +%%%% +armour_animal + +# bacteria +Amoeba + +# insects +Butterfly + +Cricket + +Echidna + +Ladybird + +# invertebrates +Slug + +Snail + +Gastropod + +# arachnides and clams +Tarantula + +Clam + +Barnacle + +Lobster + +# amphibia and reptiles +Tortoise + +Turtle + +Frog + +Komodo Dragon + +Dragon + +# birds +Turtledove + +Nightingale + +Meadowlark + +# mammals +Hare + +Kangaroo + +Elephant + +Zebra + +Hippo + +Monkey + +# not strictly an animal... :) +Monkey's Uncle + +%%%% +flower_name + +Lilacs + +Daffodils + +the Rose + +the Garden + +%%%% +# non-Crawl critters +critter_name + +the Slorg + +the Alphagorgon + +# from the crawl.akrasiac.org patch. +the Hot Ocelot + +Eight Boll Weevils + +%%%% +discomfort_and_inaction + +# discomfort +Minor Irritation + +Bitterness + +Negation + +Failure + +Servitude + +Submission + +# inaction +Lifelessness + +Boredom + +Ennui + +Restlessness + +Omission + +Negligence + +Inaction + +%%%% +mental_illness_armour + +Paranoia + +Claustrophobia + +Agoraphobia + +Dyspraxia + +Mental Paralysis + +%%%% +good_or_divine + +# good things +the Good + +the Leaf + +Leaves + +Music + +Birdsong + +Brilliance + +Satisfaction + +Fun + +Joy + +Happiness + +Wonder + +Surprise + +Curiosity + +Creativity + +Beauty + +Life + +Liberty + +Freedom + +Amelioration + +# divine events +Divine Compulsion + +the Invisible Hand + +Divine Intervention + +%%%% +# in contrast to "wacky_armour_name" these do have some connection to armour and protection +armour_name_shielding + +Shielding + +Impermeability + +Defence + +Death's Door + +the Gate + +the Saviour + +the Untouchables + +the Armoured One + +Exclusion + +Repulsion + +Preservation + +Conservation + +Inviolability + +%%%% +# other armour properties (beside protection) +armour_property_name + +Supple Strength + +Resist Death + +Grace + +Weightlessness + +Shadows and Fog + +Disguise + +Least Resistance + +Protective Custody + +%%%% +wacky_armour_name + +the Onion + +Vlad + +the Eternal Fruit + +Plasticity + +Baldness + +Terror + +Good Intentions + +the Arcane + +Anaesthesia + +the Armadillo + +Weirdness + +Pathos + +Loss + +Hedging + +Indemnity + +Untold Secrets + +the Earth + +Limited Liability + +Hadjma + +Hairiness + +Space + +the Vacuum + +Compression + +Decompression + +the Loofah + +Love and Death + +%%%% +# Lemuel's suggestions +celestial_bodies + +Sun + +Moon + +Stars + +Planets + +Pleiades + +Morning Star + +Evening Star + +%%%% +instrument_name + +Trumpets + +the Kettle-Drum + +the Accordion + +the Bagpipe + +the Lute + +%%%% +evil_being + +the Devil + +Demons + +Lesser Demons + +Greater Demons + +the Iron Devil + +the Devil's Advocate + +%%%% +# um, reeeeally bad weather... +weather_name + +the First Snow + +Boiling Hail + +Perpetual Drought + +the Thunderstorm + +%%%% +profession_name + +Guilds + +Guild-Master + +Apprentice + +Blacksmith + +Carpenter + +Wheelwright + +Cooper + +Fisher + +Hunter + +Ditch-Digger + +Guardian + +Beekeeper + +Gardener + +%%%% +# something for Xom +game_name + +# general games +Fun and Games + +the Great Game + +# children's games +Peek-a-Boo + +Hide-and-Seek + +Leapfrog + +# board games etc. +the Game of Life + +Card Tricks + +Hangman + +the Dice + +Jigsaw + +Whack-A-Mole + +Ladders and Snakes + +%%%% +politics_name_armour + +the King + +the Queen + +Royalty + +Nobility + +the Republic + +the Empire + +Coronation + +Commoners + +Peasants + +Townfolk + +the City + +the Country + +the Suburbs + +the Mutiny + +%%%% +other_armour_name + +w:5 +Grot + +w:5 +Grottiness + +Filth + +# magic +Magic + +Sorcery + +# other +Crawling + +the Orb + +the Orb Guardian + +the Storm King + +the Hanged Man + +Hedge Wizardry + +Feasting + +Insatiable Hunger + +Imperfection + +Trial and Error + +Misfortune + +Wrong Decisions + +Unambiguity + +the Lost Path + +Misanthrophy + +%%%% +plain_armour_name + +Forget-Me-Not + +Hero's Friend + +%%%% + diff --git a/crawl-ref/source/dat/database/rand_wpn.txt b/crawl-ref/source/dat/database/rand_wpn.txt new file mode 100644 index 0000000000..72faa9f59b --- /dev/null +++ b/crawl-ref/source/dat/database/rand_wpn.txt @@ -0,0 +1,1010 @@ +###################################################### +# Randart Names +# ------------- +# rand_wpn.txt: keywords for randart WEAPONS +# +# This file contains the lists of keywords (and their +# weights) for most of the keywords used for randart +# weapons. You will find other ones in rand_all.txt. +# See the explanation in the main file, randname.txt, +# for more details. +###################################################### +%%%% +power_or_anger + +@power_name@ + +w:7 +@conflict_name@ + +w:7 +@anger_name@ + +%%%% +power_name + +Power + +Might + +Wondrous Power + +Invincibility + +Glory + +Success + +Triumph + +Domination + +Dominance + +Victory + +Intimidation + +%%%% +conflict_name + +Conflict + +Tension + +Dischord + +Division + +Doubt + +Internal Strife + +%%%% +anger_name + +Anger + +Fury + +Righteous Anger + +Righteous Fury + +Wrath + +Brutal Revenge + +Vengeance + +%%%% +battle_or_war + +Battle + +Crusades + +War + +Eternal War + +Eternal Warrior + +# Lemuel's Suggestions +Warrior + +Doomed Warrior + +# akrasiac patch +the Pyrrhic Victory + +#killing +Blood-Lust + +Joyful Slaughter + +Wounding + +Blood + +Fear + +Pain + +Agony + +# Lemuel's suggestion +Hacking and Slashing + +# related to cutting +Truncation + +Severance + +Dullness + +Precise Incision + +#collateral effects +Mourning + +Death's Door + +the Grave + +%%%% +death_or_doom + +# death +Death + +Bloody Death + +Painful Death + +Quick Death + +Instant Death + +Imminent Death + +Sudden Death + +Slow Death + +Certain Death + +Uncertain Death + +Pain and Death + +# doom +Doom + +Premature Burial + +Peril + +Execution + +Destruction + +Evisceration + +Extermination + +# pain and misery +Infinite Pain + +Eternal Torment + +Dismemberment + +Terror + +Misery + +%%%% +strategy_or_justice + +w:2 +@strategy_name@ + +w:4 +@valour_name@ + +w:3 +@justice_name@ + +%%%% +strategy_name + +#strategy +Defence + +Defence by Offence + +Offence + +Protection + +Reinforcement + +Expedience + +Optimality + +%%%% +valour_name + +Honour + +Integrity + +Responsibility + +Watchfulness + +Duty + +Prudence + +Courage + +Valour + +Ressourcefulness + +Action + +Purpose + +Fortitude + +Defiance + +Valiance + +Courage + +Eternal Vigilance + +%%%% +justice_name + +Tender Mercy + +Cruel Justice + +Punishment + +Innocence + +Guilt + +Tortfeasance + +Extenuating Circumstances + +Absolution + +False Accusations + +Wrongful Imprisonment + +Corporal Punishment + +Capital Punishment + +%%%% +diviner_name + +Augurer + +Water Diviner + +Soothsayer + +Seeker + +%%%% +people_name + +King + +Queen + +Jester + +Fool + +Ancients + +Saviour + +Messenger + +Genius + +Coward + +@diviner_name@ + +%%%% +weapon_animal + +# insects +Pill-Bug + +Butterfly + +Wasp + +Moth + +Mosquito + +Gnat + +Blowfly + +# arachnides +Spider + +Scorpion + +# amphibes and reptiles +Rattle-Snake + +# birds +Penguin + +Puffin + +Lamprey + +# mammals +Weasel + +Goat + +Whale + +%%%% +# plants and fungi +plant_name + +Eggplant + +Turnip + +Whelk + +#fungi + +Mushroom + +Toadstool + +# ??? +Puffball + +%%%% +# undead and evil beings +evil_stuff + +Curses + +Hell's Wrath + +the Undead + +Ancient Evil + +Evil + +the Beast + +Shrieking Terror + +the Lurker + +the Crawling Thing + +the Thing + +Abomination + +Mutilation + +Deformation + +Infection + +Demonkind + +%%%% +# catastrophes etc. +catastrophe_name + +the Inferno + +Earthquakes + +# the Apocalypse +the Apocalypse + +Armageddon + +World's End + +Ragnarok + +# the Apocalyptic Riders (except Death) +Pestilence + +Plague + +Famine + +%%%% +chaos_name + +Chaos + +Chance + +Mayhem + +Havoc + +Turmoil + +Calamity + +Arbitration + +the Extremes + +Disorder + +Disaster + +Unbalance + +Disharmony + +Ambiguity + +Change + +Extremism + +%%%% +balance_or_order + +the Middle + +the Median + +Departure + +Arrival + +Ascent + +Descent + +Stasis + +Bodily Harmony + +Moderation + +Eternal Harmony + +Peace + +Equivalence + +Balance + +Harmony + +Fragile Peace + +Circularity + +Linearity + +Law + +Order + +%%%%% +economics_or_politics + +# economics +Inflation + +Deflation + +Supply + +Demand + +# politics +the Imperium + +Greatest Utility + +the Revolution + +Defenestration + +the People + +the Little People + +Wealth + +Poverty + +Reapportionment + +# akrasiac patch +Impeachment + +# umm, quoi? +Freehold + +Attainder + +Fee Simple + +Mandamus + +Breach + +Fundamental Breach + +Termination + +Sequestration + +%%%% +place_name + +Earth + +the World + +the Sea + +the Forest + +the Trees + +the Volcano + +the Equator + +the Old World + +the New World + +Distant Worlds + +the Unseen Realm + +the Spheres + +Proximity + +the Wilderness + +the Maze + +the Pit + +the Eternal Void + +%%%% +discomfort_weapon + +Unpleasantness + +Discomfort + +Disgust + +Frustration + +Chagrin + +Dismay + +Desperation + +Shame + +Embarrassment + +Annoyance + +Anxiety + +Urgency + +%%%% +mental_illness_weapon + +Psychosis + +Neurosis + +Fixation + +Megalomania + +Egomania + +Compulsion + +Fatigue + +%%%% +philosophy_or_science + +@philosophy_name@ + +@science_name@ + +%%%% +philosophy_name + +Monotheism + +Atheism + +Agnosticism + +Existentialism + +Relativism + +Absolutism + +Abstinence + +Orthodoxy + +Heresy + +Free Expression + +the Ego + +Optimism + +Pessimism + +Serendipity + +Limitation + +Levity + +%%%% +science_name + +Reason + +Unreason + +Calculation + +Instinct + +Intuition + +Circular Logic + +Context + +Articulation + +the Mind + +the Nexus + +the Beginning + +the End + +Analysis + +Infinity + +Quantum Leap + +Gravity + +Rotation + +%%%% +item_name + +# items +Orb + +Egg + +Globe + +Candle + +Candelabrum + +Key + +Ring + +# body parts +Heart + +Brain + +Tooth + +%%%% +magic_name + +the Magi + +the Archmagi + +the Warrior-Mage + +%%%% +# substances +substance_name + +Bread + +Sulphur + +Crystal + +Bloodstone + +Oozing Pus + +Ash + +Slime + +Bile + +# these don't really fit +Mana + +Yeast + +Spores + +Dust + +%%%% +# non-groupables +other_weapon_name + +the Omega Point + +Crawling + +Conversion + +Prescription + +the Open Hand + +Spontaneous Combustion + +Res Nullius + +Terra Nullius + +Desertification + +the Spinneret + +Grontol + +# akrasiac patch +Irrepressible Laughter + +%%%% +# single word monster names, to allow for combinations like slayer +short_monster_name + +Dragon + +Hydra + +Ogre + +Spider + +Newt + +Giant + +Beetle + +Jelly + +%%%% +monster_name + +@short_monster_name@ + +@player_name@ + +@player_species@ + +Killer Bee + +Killer Klown + +Orb Guardian + +%%%% +short_killer_name + +bane + +slayer + +%%%% +killer_name + +'s Bane + +'s Death + +'s Death Toll + +'s Doom + +'s Foe + +'s Funeral + +'s Harbinger of Death + +'s Nightmare + +'s Regret + +%%%% +real_weapon_name + +Grim Tooth + +w:5 +Widowmaker + +w:5 +Widowermaker + +Lifebane + +Conservator + +Banisher + +Tormentor + +Pendulum + +Murmur + +Sarcophage + +Concordance + +Dragon's Tongue + +Arbiter + +Death Rattle + +Arcanum + +Transmigrator + +Ultimatum + +Earthworm + +Worm + +Worm's Wrath + +Leviticus + +Grim + +# Lemuel's suggestions +Eviscerator + +Undertaker + +Embalmer + +Trog's @anger_name@ + +Hellblazer + +Hell-Harrower + +%%%% +joke_weapon_name + +Secret Weapon + +Thing + +Mud Pie of Death + +Xom's @xom_esteem@ + +String + +Stringbean + +Blob + +Globulus + +Hulk + +Raisin + +Starlight + +Giant's Toothpick + +Backscratcher + +Brush + +Gram + +Grom + +Grum + +Rummage + +Omelette + +Egg + +Aubergine + +Z + +X + +Q + +Ox + +Tattletale + +Fish + +Bung + +Bingo + +# from the crawl.akrasiac.org patch +Cookie Cutter + +%%%% +plain_weapon_name + +w:15 +@short_monster_name@@short_killer_name@ + +@monster_name@@killer_name@ + +w:15 +@real_weapon_name@ + +w:5 +@joke_weapon_name@ + +%%%% \ No newline at end of file diff --git a/crawl-ref/source/dat/database/randname.txt b/crawl-ref/source/dat/database/randname.txt new file mode 100644 index 0000000000..ad81a7d1f0 --- /dev/null +++ b/crawl-ref/source/dat/database/randname.txt @@ -0,0 +1,681 @@ +###################################################### +# Randart Names +# ------------- +# randname.txt: lookup randart type +# +# This file contains the lists of keywords (and their +# weights) for some lookup phrases of randart type, +# namely "weapon", "armour" and "jewellery" as well as +# in combination with those gods that occasionally +# gift randarts, i.e. "Trog weapon", "Okawaru weapon", +# "Okawaru armour", "Xom weapon", "Xom armour" and +# "Xom jewellery". Incidentally, they are listed in +# precisely that order. At the end of the file you +# will also find a few lists of adjectives used for +# unidentified randart appearances. +# +# The syntax for keywords is the same as that of +# monster speech (see monster_speech.txt for the full +# details). Any phrase encased in '@' symbols is one +# the database will recognise as a keyword that needs +# to be replaced. Definitions of such keywords can be +# found in 4 different places: +# +# o rand_wpn.txt – keywords used mainly for weapons +# o rand_arm.txt - keywords used mainly for armour +# o rand_all.txt - keywords used for jewellery +# as well as for all three types +# o hardcoded (randart.cc) +# +# The latter allows the use of phrases elsewhere +# defined in Crawl. The list of hardcoded keywords is +# as follows: +# +# * player_name - player-chosen character name +# * player_species - species of the character +# * branch_name – name of a random Crawl branch +# * race_name - name of a random Crawl species +# * god_name - name of a random Crawl god +# * xom_name - one of Xom's long names +# +# In the case of god_name this actually allows some +# more refined handling. In fact, the god will not be +# picked entirely at random as there are some +# restrictions to make sure that e.g. no good god is +# chosen for evil weapons, that Beogh isn't matched +# with orc slaying, or that Zin doesn't get picked for +# randarts with mutagenic properties. +# +# Note that weapons and armour use database names for +# only half of all randarts created (the others are +# entirely random names), for jewellery this is only +# the case for one in five randarts. These chances +# are hardcoded. +# +# Feel free to play around with the keywords or their +# weights. The default weight of an entry is w:10, and +# an entry is picked with a chance of its weight out +# of the sum of all weights for entries in a group. +# Consequently if you set the weight of a keyword to +# a really high value (say, 10,000) you can test how +# it looks in the game. Even better, if you have +# wizard mode compiled in (check the in-game 'V'ersion +# information) you can use the wizard command '&o' to +# create objects and '&+' to turn an ordinary object +# into a randart. +# +# Have fun! +###################################################### +%%%% +###################################################### +# 1. WEAPONS +###################################################### +weapon + +# weapon specific keywords (see rand_wpn.txt) +of @power_or_anger@ + +of @battle_or_war@ + +w:1 +of @player_name@'s @death_or_doom@ + +w:9 +of @death_or_doom@ + +w:16 +of @strategy_or_justice@ + +w:4 +of the @people_name@ + +w:8 +of the @weapon_animal@ + +w:2 +of the @plant_name@ + +w:7 +of @evil_stuff@ + +w:5 +of @catastrophe_name@ + +w:8 +of @chaos_name@ + +w:8 +of @balance_or_order@ + +of @economics_or_politics@ + +w:8 +of @branch_name@ + +w:7 +of @place_name@ + +w:5 +of @discomfort_weapon@ + +w:3 +of @mental_illness_weapon@ + +w:4 +of the @item_name@ + +w:1 +of @magic_name@ + +w:5 +of @substance_name@ + +w:7 +of @science_name@ + +w:5 +of @other_weapon_name@ + +w:30 +"@plain_weapon_name@" + +# general keywords (see rand_all.txt) +w:5 +of @time_name@ + +w:5 +of @sky_or_light@ + +w:18 +of @virtue_or_vice@ + +of @number_or_qualifier@ @thing_names@ + +w:9 +of @god_name@'s @divine_esteem@ + +# hardcoded keywords +w:1 +of @god_name@ + +of the @race_name@ + +%%%% +###################################################### +# 2. ARMOUR +###################################################### +armour + +# armour specific keywords (see rand_arm.txt) +of @armour_name_shielding@ + +w:8 +of @armour_property_name@ + +w:20 +of @wacky_armour_name@ + +of the @profession_name@ + +of @politics_name_armour@ + +w:3 +of @weather_name@ + +w:17 +of @good_or_divine@ + +w:5 +of the @celestial_bodies@ + +w:5 +of @instrument_name@ + +w:20 +of the @armour_animal@ + +w:3 +of @flower_name@ + +w:3 +of @critter_name@ + +w:5 +of @evil_being@ + +w:5 +of @mental_illness_armour@ + +of @discomfort_and_inaction@ + +of @game_name@ + +w:15 +of @other_armour_name@ + +w:1 +"@plain_armour_name@" + +# weapon specific keywords (see rand_arm.txt) +w:25 +of @philosophy_or_science@ + +w:15 +of @place_name@ + +# general keywords (see rand_all.txt) +of @time_name@ + +w:8 +of @sky_or_light@ + +w:30 +of @virtue_or_vice@ + +w:16 +of @number_or_qualifier@ @thing_names@ + +w:20 +of @god_name@'s @divine_esteem@ + +# hardcoded keywords +w:1 +of @god_name@ + +w:15 +of @branch_name@ + +%%%% +###################################################### +# 3. JEWELLERY +###################################################### +jewellery + +# jewellery specials (see rand_all.txt) +w:3 +of @jewellery_animal@ + +of @jewellery_special_name@ + +of @suspicion_name@ + +# as defined for weapons (see rand_wpn.txt) +of @people_name@ + +w:17 +of @balance_or_order@ + +w:14 +of @philosophy_name@ + +w:7 +of @mental_illness_weapon@ + +of @other_weapon_name@ + +# as defined for armour (see rand_arm.txt) +w:20 +of @armour_animal@ + +w:3 +of @flower_name@ + +w:5 +of @evil_being@ + +w:20 +of @good_or_divine@ + +w:12 +of @politics_name_armour@ + +w:1 +"@plain_armour_name@" + +# same for all three types (see rand_all.txt) +w:13 +of @time_name@ + +of @sky_or_light@ + +w:20 +of @god_name@'s @divine_esteem@ + +of Xom's @xom_esteem@ + +w:7 +of @virtue_name@ + +w:13 +of @vice_name@ + +w:20 +of @name_or_qualifier@ @thing_names@ + +%%%% +###################################################### +# GOD GIFT specials +###################################################### +# TROG (weapons only) +###################################################### +Trog weapon + +# names containing battle and death are more likely +w:25 +of @power_or_anger@ + +w:25 +of @battle_or_war@ + +w:25 +of @death_or_doom@ + +w:7 +of @strategy_name@ + +w:15 +of @justice_name@ + +w:30 +of @virtue_or_vice@ + +w:1 +of Trog + +w:20 +of Trog's @divine_esteem@ + +of Trog's @anger_name@ + +w:15 +of the @weapon_animal@ + +w:15 +of @evil_stuff@ + +of @catastrophe_name@ + +w:15 +of @chaos_name@ + +w:20 +of @balance_or_order@ + +w:20 +of @economics_or_politics@ + +w:20 +of the @race_name@ + +w:15 +of @branch_name@ + +w:15 +of @place_name@ + +w:15 +of @time_name@ + +of @sky_or_light@ + +w:20 +of @number_or_qualifier@ @thing_names@ + +of @discomfort_weapon@ + +of @mental_illness_weapon@ + +of the @item_name@ + +w:15 +of @philosophy_name@ + +of @science_name@ + +of @other_weapon_name@ + +of @monster_name@@killer_name@ + +w:30 +"@plain_weapon_name@" + +%%%% +###################################################### +# OKAWARU weapon +###################################################### +Okawaru weapon + +# basically use normal set +w:400 +@weapon@ + +# with a few special cases +w:2 +of @player_name@'s @valour_name@ + +w:3 +of Okawaru's @divine_esteem@ + +# and bonus probability for some of the more harmless themes +of @strategy_or_justice@ + +w:5 +of @philosophy_name@ + +w:3 +of @balance_or_order@ + +w:5 +of @power_name@ + +w:2 +of @virtue_name@ + +w:1 +of the @diviner_name@ + +w:5 +of the @weapon_animal@ + +w:5 +of @place_name@ + +w:2 +of @item_name@ + +%%%% +###################################################### +# OKAWARU armour +###################################################### +Okawaru armour + +# again use normal chances with a few exceptions +w:400 +@armour@ + +w:2 +of @player_name@'s @valour_name@ + +w:2 +of Okawaru's @divine_esteem@ + +w:2 +of @armour_animal@ + +w:1 +of @good_or_divine@ + +w:2 +of @armour_name_shielding@ + +w:1 +of @armour_property_name@ + +w:1 +of @wacky_armour_name@ + +w:2 +of @politics_name_armour@ + +%%%% +###################################################### +# XOM weapon +###################################################### +# Xom will basically allow everything +Xom weapon + +# increased chances (obviously!) +w:5 +of @chaos_name@ + +w:5 +of @xom_name@'s @xom_esteem@ + +w:2 +of @xom_name@'s @divine_esteem@ + +# uses the long name +w:1 +of @xom_name@ + +w:1 +of @game_name@ + +w:400 +@weapon@ + +# and why not some of the other names? +@jewellery@ + +@armour@ + +%%%% +###################################################### +# XOM armour +###################################################### +Xom armour + +# increased chances (obviously!) +w:5 +of @chaos_name@ + +w:5 +of @xom_name@'s @xom_esteem@ + +w:2 +of @xom_name@'s @divine_esteem@ + +# uses the long name +w:1 +of @xom_name@ + +w:1 +of @game_name@ + +w:1 +of @player_name@'s @killer_name@ + +w:400 +@armour@ + +# why not some other names? +# (sadly, some weapon names don't make sense even for Xom) +@jewellery@ + +%%%% +###################################################### +# XOM jewellery +###################################################### +Xom jewellery + +# increased chances (obviously!) +w:5 +of @chaos_name@ + +w:5 +of @xom_name@'s @xom_esteem@ + +w:2 +of @xom_name@'s @divine_esteem@ + +# uses the long name +w:1 +of @xom_name@ + +w:1 +of @game_name@ + +w:1 +of @player_name@'s @killer_name@ + +w:1 +of @player_name@'s @killer_name@ + +w:300 +@jewellery@ + +# why not some other names? +# (sadly, some weapon names don't make sense even for Xom) +@armour@ + +%%%% +###################################################### +# Library of randart APPEARANCE (un-identified). +###################################################### +# common to all three types of randarts +general appearance + +brightly glowing + +smoking + +twisted + +shimmering + +warped + +transparent + +encrusted + +pitted + +slimy + +polished + +fine + +crude + +ancient + +faintly glowing + +steaming + +shiny + +%%%% +weapon appearance + +iridescent + +bloodstained + +crystal + +jewelled + +ichor-stained + +# currently 16 entries, so their overall weight amounts 160 +w:160 +@general appearance@ + +%%%% +armour appearance + +faintly humming + +bloodstained + +heavily runed + +jewelled + +ichor-stained + +distressingly furry + +w:160 +@general appearance@ + +%%%% +jewellery appearance + +#specific jewels +ruby + +crystal + +diamond + +emerald + +#other descriptions +runed + +scintillating + +sparkling + +flickering + +glittering + +w:160 +@general appearance@ +%%%% + diff --git a/crawl-ref/source/dat/database/shout.txt b/crawl-ref/source/dat/database/shout.txt new file mode 100644 index 0000000000..e18fcdbd07 --- /dev/null +++ b/crawl-ref/source/dat/database/shout.txt @@ -0,0 +1,255 @@ +############################################################ +# As of Stone Soup 0.3 the previously hardcoded monster +# speech has been outsourced. This makes changing existing +# messages, and adding new ones really easy. +# +# shout.txt holds the utterances (and visual equivalents) of +# monsters that notice you. +# +# For an explanation of how to read shout.txt and speak.txt +# and how to add new messages, see monster_speech.txt in the +# docs directory. +############################################################ +%%%% +__BUGGY + +# This line should never get displayed to the user, even if +# handle_monster_shouts() in view.cc detects buggy behavior, +# so showing this line would itself be a bug. +SOUND:You hear doubly buggy behavior! +%%%% +__SHOUT + +SOUND:You hear a shout! +%%%% +__BARK + +SOUND:You hear a bark! +%%%% +__TWO_SHOUTS + +SOUND:You hear two shouts! +%%%% +__ROAR + +SOUND:You hear a roar! +%%%% +__SCREAM + +SOUND:You hear a hideous shriek! +%%%% +__BELLOW + +SOUND:You hear a bellow! +%%%% +__SCREECH + +SOUND:You hear a screech! +%%%% +__BUZZ + +SOUND:You hear an angry buzzing noise. +%%%% +__MOAN + +SOUND:You hear a chilling moan. +%%%% +__WHINE + +SOUND:You hear an irritating high-pitched whine. +%%%% +__CROAK + +SOUND:You hear a loud, deep croak! + +SOUND:You hear a croak. +%%%% +__GROWL + +SOUND:You hear an angry growl. +%%%% +__HISS + +SOUND:You hear an angry hiss. +%%%% +__DEMON_TAUNT + +@The_monster@ @says@, "@demon_taunt@" +############################################ +# End of default shouts +############################################ + + +############################################################ +# Player ghost shouts. Potentially different ones for each +# class, though currently they all just copy the default +# player ghost. +############################################################ +%%%% +player ghost + +VISUAL:@The_monster@ turns @possessive@ malevolent gaze towards you. +%%%% +Fighter player ghost + +@player ghost@ +%%%% +Wizard player ghost + +@player ghost@ +%%%% +Priest player ghost + +@player ghost@ +%%%% +Thief player ghost + +@player ghost@ +%%%% +Gladiator player ghost + +@player ghost@ +%%%% +Necromancer player ghost + +@player ghost@ +%%%% +Paladin player ghost + +@player ghost@ +%%%% +Assassin player ghost + +@player ghost@ +%%%% +Berserker player ghost + +@player ghost@ +%%%% +Hunter player ghost + +@player ghost@ +%%%% +Conjurer player ghost + +@player ghost@ +%%%% +Enchanter player ghost + +@player ghost@ +%%%% +Fire Elementalist player ghost + +@player ghost@ +%%%% +Ice Elementalist player ghost + +@player ghost@ +%%%% +Summoner player ghost + +@player ghost@ +%%%% +Air Elementalist player ghost + +@player ghost@ +%%%% +Earth Elementalist player ghost + +@player ghost@ +%%%% +Crusader player ghost + +@player ghost@ +%%%% +Death Knight player ghost + +@player ghost@ +%%%% +Venom Mage player ghost + +@player ghost@ +%%%% +Chaos Knight player ghost + +@player ghost@ +%%%% +Transmuter player ghost + +@player ghost@ +%%%% +Healer player ghost + +@player ghost@ +%%%% +Reaver player ghost + +@player ghost@ +%%%% +Stalker player ghost + +@player ghost@ +%%%% +Monk player ghost + +@player ghost@ +%%%% +Warper player ghost + +@player ghost@ +%%%% +Wanderer player ghost + +@player ghost@ + +######################################## +# Shouts by monster symbol +######################################## +%%%% +'&' + +@__DEMON_TAUNT@ +%%%% +'a' + +@The_monster@ twitches @possessive@ antennae in your direction. +%%%% +'cap-B' + +@The_monster@ twitches @possessive@ antennae in your direction. +%%%% +# Giant spores have their own visual, this is only for the eyeball +# related ones. +'cap-G' + +@The_monster@ turns @possessive@ gaze towards you. +%%%% +'cap-J' + +@The_monster@ quivers. +######################################## +# Shouts for specific monsters +######################################## +%%%% +# The giant spore has no eyes, so it can't gaze at the player like the +# other 'G' monsters. +giant spore + +__NONE +%%%% +# Shadow imps and white imps copy imps. +imp + +# Shout one half the time, taunt the other half. +@__SHOUT@ + +@The_monster@ @says@, "@imp_taunt@" +%%%% +shadow imp + +@imp@ +%%%% +white imp + +@imp@ +%%%% diff --git a/crawl-ref/source/dat/database/speak.txt b/crawl-ref/source/dat/database/speak.txt new file mode 100644 index 0000000000..bd558d162d --- /dev/null +++ b/crawl-ref/source/dat/database/speak.txt @@ -0,0 +1,2307 @@ +############################################################ +# As of Stone Soup 0.3 the previously hardcoded monster +# speech has been outsourced. This makes changing existing +# messages, and adding new ones really easy. +# +# speak.txt contains the messages of monsters that "talk" +# to the player, or at least the biggest part there-of. +# +# For an explanation of how to read shout.txt and speak.txt +# and how to add new messages, see monster_speech.txt in the +# docs directory +############################################################ + +############################################################ +# Library of randomized word/phrase substitutions. (The keys +# will have to be changed in the unlikely event that +# monsters are ever given names like "yells" or "begs".) +############################################################ +%%%% +__RESIST_OR_NOTHING + +__YOU_RESIST + +__NOTHING_HAPPENS +%%%% +ATTACK + +ATTACK + +DIE +%%%% +shouts + +shouts + +yells +%%%% +yells + +yells + +wails + +cries + +screams +%%%% +# for ghosts +wails + +wails + +shouts + +says + +screams +%%%% +begs + +begs + +pleads +%%%% +almost + +almost + +nearly +%%%% +moans + +moans + +wails +%%%% +mutters + +mutters + +mumbles +%%%% +blubbers + +blubbers + +cries +%%%% +Mommeee + +Mommeee + +Daddeee +%%%% +rattled + +rattled + +scared stiff +%%%% +pointless + +pointless + +senseless + +useless +%%%% +ploy + +ploy + +trick + +############################################################ +# Library of speeches for types of monsters, like priests, +# wizards, guards and so on. +############################################################ +%%%% +_high_priest_ + +SPELL:@The_monster@ prays. + +SPELL:@The_monster@ mumbles some strange prayers. + +SPELL:@The_monster@ intones a terrible prayer. + +VISUAL:@The_monster@ looks excited. + +@The_monster@ starts to sing a prayer. + +@The_monster@ says, "All sinners must die." + +@The_monster@ says, "You will make a fine sacrifice." + +@The_monster@ says, "Right in the middle of my sermon, too." + +@The_monster@ says "The wages of sin are death, you know." + +@The_monster@ shouts, "You must be punished!" + +@The_monster@ shouts, "You are a heretic and must be destroyed!" +## END _high_priest_ ## +%%%% +_mercenary_guard_ + +VISUAL:@The_monster@ looks very unfriendly. + +VISUAL:@The_monster@ looks very cold. + +VISUAL:@The_monster@ grins evilly. + +@The_monster@ says, "Now you've reached the end of your journey." + +@The_monster@ says, "Drop everything you've found here and return home." + +@The_monster@ says, "Return every stolen item!" + +@The_monster@ says, "No trespassing is allowed here." + +@The_monster@ says, "It's nothing personal." + +@The_monster@ says, "A dead adventurer is a good adventurer." + +@The_monster@ says, "Coming here was your last mistake." + +@The_monster@ screams, "One false step and I'll kill you." + +@The_monster@ screams, "I'm going to kill you! Now!" + +@The_monster@ screams, "You must be punished!" + +@The_monster@ shouts, "You will never get the Orb!" + +@The_monster@ shouts, "Return immediately or I'll kill you!" + +@The_monster@ shouts, "Intruder!" + +@The_monster@ shouts, "It's the end of the party!" +## END _mercenary_guard_ ## +%%%% +_wizard_ + +w:30 +SPELL:@The_monster@ wildly gestures. +@__RESIST_OR_NOTHING@ + +w:30 +SPELL:@The_monster@ mumbles some strange words. +@__RESIST_OR_NOTHING@ + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@ becomes transparent for a moment. + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@ glows brightly for a moment. + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@ becomes larger for a moment. + +SPELL:@The_monster@ casts a spell. +ENCHANT:@possessive@ fingertips start to glow. + +SPELL:@The_monster@ casts a spell. +__YOU_RESIST + +VISUAL SPELL:@The_monster@ throws some strange powder towards you. + +SPELL:@The_monster@ says, "Argatax netranoch dertex." + +SPELL:@The_monster@ says, "Dogrw nutew berg." + +SPELL:@The_monster@ shouts, "Entram moth deg ulag!" + +VISUAL SPELL:@The_monster@'s eyes start to glow. + +VISUAL SPELL:@The_monster@ tries to paralyze you with @possessive@ gaze. + +@The_monster@ shouts, "You can't withstand my power!" + +@The_monster@ shouts, "You are history!" +## END _wizard_ ## +%%%% +_hostile_adventurer_ + +VISUAL:@The_monster@ frowns. + +VISUAL:@The_monster@ looks very upset. + +@The_monster@ screams, "Return home!" + +@The_monster@ screams, "The Orb is mine!" + +@The_monster@ screams, "Give me all your treasure!" + +@The_monster@ screams, "You will never get the Orb!" + +@The_monster@ screams, "I was here first!" + +@The_monster@ screams, "Go away or die!" + +@The_monster@ screams, "Die!" + +@The_monster@ screams, "First you have to pass me!" + +@The_monster@ screams, "I hate you!" +## END _hostile_adventurer_ ## +%%%% +_friendly_imp_ + +VISUAL:@The_monster@ jumps up and down with excitement. + +VISUAL:@The_monster@ grins impishly at you. + +VISUAL:@The_monster@ picks up some beetles from the @surface@ and offers them to you. + +VISUAL:@The_monster@ blows smoke rings. + +@The_monster@ says, "Just tell me who NOT to kill." + +@The_monster@ says, "OK boss!" + +@The_monster@ says, "The Orb is all yours." + +@The_monster@ says, "Isn't this more fun with friends?" + +@The_monster@ says, "Uh-oh! Wait. OK." + +@The_monster@ says, "You're so much nicer than my last boss." + +@The_monster@ shouts, "Stay back! It could be a trick!" + +@The_monster@ shouts, "Over here! I found it!" +## END _friendly_imp_ ## +%%%% +_hostile_imp_ + +@The_monster@ laughs crazily. + +VISUAL:@The_monster@ grins evilly. + +VISUAL:@The_monster@ breathes smoke at you. + +VISUAL:@The_monster@ lashes his tail. + +VISUAL:@The_monster@ grinds his teeth. + +@The_monster@ sputters. + +VISUAL:@The_monster@ breathes steam at you. + +VISUAL:@The_monster@ spits at you. + +VISUAL:@The_monster@ disappears for a moment. + +VISUAL:@The_monster@ summons a swarm of flies. + +VISUAL:@The_monster@ picks up a beetle and eats it. +## END _hostile_imp_ ## +%%%% +_demon_taunt_ + +@The_monster@ @says@, "@demon_taunt@" +%%%% +_imp_taunt_ + +@The_monster@ @says@, "@imp_taunt@" +########################################## +# Messages by monster body shape +########################################## +%%%% +default stupid friendly humanoid + +__NONE +%%%% +default stupid fleeing humanoid + +__NONE +%%%% +default stupid silenced humanoid + +__NONE +%%%% +default stupid confused humanoid + +__NONE +%%%% +default silenced confused humanoid + +w:40 +VISUAL:@The_monster@ gestures wildly. + +w:20 +VISUAL:@The_monster@ says something but you don't hear anything. + +VISUAL:@The_monster@ looks confused. + +VISUAL:@The_monster@ grins evilly. + +VISUAL:@The_monster@ smiles happily. + +VISUAL:@The_monster@ cries. +## END silenced confused humanoid ## +%%%% +default fleeing silenced humanoid + +w:30 +VISUAL:@The_monster@ glances furtively about. + +w:30 +VISUAL:@The_monster@ seems to say something. + +VISUAL:@The_monster@ opens @possessive@ mouth, as if shouting. + +VISUAL:@The_monster@ looks around. + +VISUAL:@The_monster@ ponders the situation. +## END fleeing silenced humanoid ## +%%%% +default friendly silenced humanoid + +w:30 +VISUAL:@The_monster@ gives you the thumbs up. + +w:30 +VISUAL:@The_monster@ says something you can't hear. + +VISUAL:@The_monster@ looks at you. + +VISUAL:@The_monster@ waves at you. + +VISUAL:@The_monster@ smiles happily. + +VISUAL:@The_monster@ winks at you. +## END friendly silenced humanoid ## +%%%% +default silenced humanoid + +w:30 +VISUAL:@The_monster@ says something but you don't hear anything. + +w:30 +VISUAL:@The_monster@ gestures. + +VISUAL:@The_monster@ gestures obscenely. + +VISUAL:@The_monster@ grins. + +VISUAL:@The_monster@ looks angry. + +VISUAL:@The_monster@ seems to be listening. +## END silenced humanoid ## +%%%% +default friendly confused humanoid + +@The_monster@ prays for help. + +@The_monster@ screams, "Help!" + +@The_monster@ shouts, "I'm loosing control!" + +@The_monster@ shouts, "What's happening?!" + +VISUAL:@The_monster@ cries. + +@The_monster@ shouts, "Yeah!" + +@The_monster@ sings. + +@The_monster@ laughs crazily. + +VISUAL:@The_monster@ ponders the situation. + +VISUAL:@The_monster@ grins madly. + +VISUAL:@The_monster@ looks very confused. + +@The_monster@ mumbles something. + +@The_monster@ giggles crazily. + +@The_monster@ screams, "@player_name@! Help!" + +@The_monster@ screams, "@player_name@! What's going on?!" + +@The_monster@ says, "@player_name@, I'm a little confused!" +## END friendly confused humanoid ## +%%%% +default confused humanoid + +w:30 +VISUAL:@The_monster@ gestures wildly. + +@The_monster@ yells, "Get them off me!" + +@The_monster@ screams, "I'll kill you anyway!" + +@The_monster@ shouts, "What's happening?!" + +VISUAL:@The_monster@ cries. + +@The_monster@ shouts, "NO!" + +@The_monster@ shouts, "YES!" + +@The_monster@ laughs crazily. + +VISUAL:@The_monster@ ponders the situation. + +VISUAL:@The_monster@ grins madly. + +VISUAL:@The_monster@ looks very confused. + +@The_monster@ mumbles something. + +@The_monster@ says, "I'm a little confused." + +@The_monster@ asks, "Where am I?" + +VISUAL:@The_monster@ shakes. + +@The_monster@ asks, "Who are you?" + +@The_monster@ asks, "What the hell are we doing here? Hmm, I see..." + +@The_monster@ cries, "My head! MY HEAD!!!" + +@The_monster@ says, "Why is everything spinning?" + +@The_monster@ screams, "NO! I can't bear this much noise." + +VISUAL:@The_monster@ covers @possessive@ eyes. +## END confused humanoid ## +%%%% +default friendly fleeing humanoid + +w:30 +VISUAL:@The_monster@ tries to hide somewhere. + +@The_monster@ @shouts@, "WAIT FOR ME, @player_name@! Could you help me?" + +@The_monster@ screams, "Help!" + +@The_monster@ shouts, "Cover me!" + +@The_monster@ screams, "@player_name@! Help me!" + +@The_monster@ prays for help. + +@The_monster@ shouts, "Protect me!" + +@The_monster@ cries, "Don't forget your friends!" +## END friendly fleeing humanoid ## +%%%% +default fleeing humanoid + +w:30 +VISUAL:@The_monster@ gives up. + +w:20 +@The_monster@ @yells@, "Help!" + +@The_monster@ @begs@, "Why can't we all just get along?" + +# This one won't work for nagas. +VISUAL:@The_monster@ @almost@ stumbles in trying to escape. + +@The_monster@ @mutters@, "Of all the rotten luck!" + +@The_monster@ @moans@, "Oh dear! Oh dear!" + +@The_monster@ @mutters@, "Damn and blast!" + +@The_monster@ prays for help. + +@The_monster@ shouts, "No! I'll never do that again!" + +@The_monster@ begs for mercy. + +@The_monster@ cries, "Mercy!" + +@The_monster@ @blubbers@, "@Mommeee@!" + +@The_monster@ @begs@, "Please don't kill me!" + +@The_monster@ @begs@, "Please! I have a lot of children..." + +VISUAL:@The_monster@ tries to recover @possessive@ lost courage. + +VISUAL:@The_monster@ looks really @rattled@. +## END fleeing humanoid ## +%%%% +default friendly humanoid + +@The_monster@ yells, "Run! I'll cover you!" + +@The_monster@ shouts, "Die, monster!" + +@The_monster@ says, "It's nice to have friends." + +VISUAL:@The_monster@ looks at you. + +VISUAL:@The_monster@ smiles at you. + +@The_monster@ says, "@player_name@, you are my only friend." + +@The_monster@ says, "@player_name@, I like you." + +VISUAL:@The_monster@ waves at you. + +@The_monster@ says, "Be careful!" + +@The_monster@ says, "Don't worry. I'm here with you." + +VISUAL:@The_monster@ smiles happily. + +@The_monster@ shouts, "No mercy! Kill them all!" + +@The_monster@ says, "I'll never leave you." + +@The_monster@ says, "I would die for you." + +@The_monster@ shouts, "Beware of monsters!" + +VISUAL:@The_monster@ looks friendly. +## END friendly humanoid ## + +%%%% +default insect + +VISUAL:@The_monster@ waves @possessive@ antennae. +%%%% +default confused insect + +VISUAL:@The_monster@ wildly waves @possessive@ antennae. + +VISUAL:@The_monster@ seems to be having trouble coordinating all six of @possessive@ legs. +%%%% +default confused winged insect + +VISUAL:@The_monster@ wildly waves @possessive@ antennae. + +VISUAL:@The_monster@ wobbles in @possessive@ flight. +%%%% +default confused arachnid + +VISUAL:@The_monster@ seems to be having trouble coordinating all eight of @possessive@ legs. +%%%% +centipede + +VISUAL:@The_monster@ waves its antennae. +%%%% +default confused centipede + +VISUAL:@The_monster@ seems to be having trouble coordinating @possessive@ many legs. + +VISUAL:@The_monster@ wildly waves @possessive@ antennae. + +######################################### +# Speech strings by monster symbol +######################################### +%%%% +default confused 'b' + +VISUAL:@The_monster@ flutters around in erratic circles. +%%%% +default 'cap-G' + +VISUAL:@The_monster@ pulsates ominously. +%%%% +default 'cap-J' + +VISUAL:@The_monster@ jiggles. +%%%% +default confused 'k' + +SOUND:@The_monster@ buzzes around in tight circles. +%%%% +default silenced confused 'k' + +VISUAL:@The_monster@ flies around in tight circles. +%%%% +'l' + +@The_monster@ hisses menacingly. +%%%% +'r' + +VISUAL:@The_monster@ twitches @possessive@ whiskers. +%%%% +default confused 'r' + +VISUAL:@The_monster@ runs around in a circle. +%%%% +# Excluding the moth of wrath, which being a moth doesn't buzz. +default confused 'y' + +SOUND:@The_monster@ buzzes around in tight circles. +%%%% +# Statues and golems never speak unless assigned a message to their +# specific species. +default '8' + +__NONE + +###################### +# Demon taunts +###################### +%%%% +'&' + +@_demon_taunt_@ +%%%% +'1' + +@_demon_taunt_@ +%%%% +'2' + +@_demon_taunt_@ +%%%% +'3' + +@_demon_taunt_@ +%%%% +'4' + +@_demon_taunt_@ + +##################################### +# Demons are silent when not taunting +##################################### +%%%% +default '&' + +__NONE +%%%% +default '1' + +__NONE +%%%% +default '2' + +__NONE +%%%% +default '3' + +__NONE +%%%% +default '4' + +__NONE +%%%% +default '5' + +__NONE + +############### +# Friendly imps +############### +%%%% +# Friendly imps are very common so they speak very very rarely +friendly '5' + +w:9 +__NONE + +w:1 +@_friendly_imp_@ + +%%%% + +#################################################################### +# Player ghost phrases. Ghosts with different classes can be given +# different messages. +#################################################################### +%%%% +# Only use messages that are explicitly for the player ghost, since +# other messages might seem weird coming out of it. +default player ghost + +__NONE +%%%% +silenced player ghost + +VISUAL SPELL:@The_monster@ stares at you. +VISUAL WARN:You feel cold. + +VISUAL:@The_monster@ points at you threateningly. + +VISUAL:@The_monster@ stares at you while slowly dragging a finger across @possessive@ throat. +## END silenced player ghost ## +%%%% +player ghost + +SPELL:@The_monster@ stares at you. +WARN:You feel cold. + +@The_monster@ lets out a mournful wail. + +@The_monster@ keens inconsolably. + +@The_monster@ laughs crazily. + +VISUAL:@The_monster@ grins evilly. + +@The_monster@ makes a sound of rattling chains. + +@The_monster@ wails. + +# mv: ghosts are usually wailing instead of speaking normally, +# aren't they? +@The_monster@ @wails@, "I have seen your future, and it is all used up." + +@The_monster@ @wails@, "They lied to you. The Dungeon just goes down and down forever." + +@The_monster@ @wails@, "Do you think the gods will protect you?" + +@The_monster@ @wails@, "I was like you once." + +@The_monster@ @wails@, "Very impressive. But it won't help. Nothing will." + +@The_monster@ @wails@, "What have you got that I didn't have?" + +@The_monster@ says very slowly, "There's no hope." + +@The_monster@ @wails@, "You will never get the ORB!" + +@The_monster@ @wails@, "You must not succeed where I failed!" + +@The_monster@ screams, "I'll kill anyone who wants the ORB!" + +@The_monster@ screams, "Don't try to defend! You have no chance!" + +@The_monster@ @wails@, "You will join me soon!" + +# Hamlet +@The_monster@ wails, "To die, to sleep, no more." + +@The_monster@ @wails@, "Death is your only future!" + +@The_monster@ whispers, "They're coming for you..." + +@The_monster@ whispers, "Trust me. Just give in." + +@The_monster@ whispers, "Meet the emptiness of death!" + +@The_monster@ whispers, "Death is liberation." + +@The_monster@ whispers, "Everlasting silence awaits you." + +@The_monster@ whispers, "Death doesn't hurt. What you feel is life." + +@The_monster@ whispers, "The ORB doesn't exist." +## END player ghost ## + +####################################### +# Unique monsters +####################################### +%%%% +# She is trying to get money and treasure +Agnes + +VISUAL:@The_monster@ grins evilly. + +@The_monster@ says, "I need a new robe. I'll buy it with your money." + +@The_monster@ says, "How can you wear that ugly dress?" + +@The_monster@ screams, "Give me all your money!" + +@The_monster@ screams, "All treasure is mine!" + +@The_monster@ screams, "You'll never get my money!" + +@The_monster@ screams, "Give me everything and get away!" + +@The_monster@ screams, "I want your rings! And amulets! And... EVERYTHIGNG!" + +@The_monster@ screams, "I hate dirty adventurers like you!" + +@The_monster@ screams, "Die, beast!" +## END Agnes ## +%%%% +Blork the orc + +VISUAL:@The_monster@ grins evilly. + +VISUAL:@The_monster@ frowns. + +VISUAL:@The_monster@ looks angry. + +@The_monster@ screams, "I don't like you!" + +@The_monster@ screams, "I'm going to kill you!" + +@The_monster@ screams, "I'm much stronger than you!" + +@The_monster@ screams, "I'll eat your brain! And then I'll vomit it back up!" + +@The_monster@ screams, "You are the ugliest creature I've ever seen!" + +@The_monster@ screams, "I'll cut your head off!" + +@The_monster@ screams, "I'll break your legs!" + +@The_monster@ screams, "I'll break your arms!" + +@The_monster@ screams, "I'll crush all your ribs! One by one!" + +@The_monster@ screams, "I'll make a cloak from your skin!" + +@The_monster@ screams, "I'll decorate my home with your organs!" + +@The_monster@ screams, "Die!" + +@The_monster@ screams, "I'll cover the dungeon with your blood!" + +@The_monster@ screams, "I'll drink your blood! Soon!" +## END Blork the orc ## +%%%% +# An ancient lich +Boris + +VISUAL SPELL:@The_monster@ stares at you. +VISUAL WARN:You feel drained. + +VISUAL SPELL:@The_monster@ stares at you. +VISUAL WARN:You feel weakened. + +VISUAL SPELL:@The_monster@ stares at you. +VISUAL WARN:You feel troubled. + +SPELL:@The_monster@ casts a spell. +WARN:Your equipment suddenly seems to weigh more. + +SPELL:@The_monster@ casts a spell. +__YOU_RESIST + +SPELL:@The_monster@ casts a spell. +WARN:Suddenly you are surrounded with a pale green light. + +SPELL:@The_monster@ casts a spell. +WARN:You have a terrible headache. + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@ speeds up. + +VISUAL SPELL:@The_monster@ gestures. + +@The_monster@ laughs. + +@The_monster@ says, "I didn't invite you." + +@The_monster@ says, "You can't imagine my power." + +@The_monster@ says, "Orb? You want the Orb? You'll never get it." + +@The_monster@ says, "The world, the flesh, and the devil." + +@The_monster@ says "Magic. You know nothing about it." + +@The_monster@ says, "My power is unlimited." + +@The_monster@ says, "You can't kill me. I'm immortal." + +@The_monster@ says, "I know the secret of eternal life. Do you?" + +@The_monster@ says, "I'll be back." + +@The_monster@ says, "I know your future. Your future is death." + +@The_monster@ says, "Who wants to live forever? Me." + +@The_monster@ says, "Join the legion of my servants." + +@The_monster@ says, "There's only one solution for you. To die." + +@The_monster@ says, "You can never win." +## END Boris ## +%%%% +# An adventurer hating competition +Donald + +@_hostile_adventurer_@ +%%%% +# A mercenary guarding the dungeon +Duane + +@_mercenary_guard_@ +%%%% +# A mercenary guarding the dungeon +Edmund + +@_mercenary_guard_@ +%%%% +# A wild tempered adventuress +Erica + +VISUAL:@The_monster@ looks angry. + +VISUAL:@The_monster@ drinks a potion. + +@The_monster@ laughs wildly. + +@The_monster@ says, "I'm so much better than you." + +@The_monster@ says, "I love to fight, but killing is better." + +@The_monster@ says, "Fast and perfect. Such is my way of killing." + +@The_monster@ screams, "Die!" + +@The_monster@ screams, "Do you want it fast or slow?!" + +@The_monster@ screams, "Hurry, death awaits!" + +@The_monster@ screams, "I'll never tell where it is!" + +@The_monster@ screams, "You'll never get it!" + +@The_monster@ screams, "Coming here was suicide!" +## END Erica ## +%%%% +# An ugly ogre +Erolcha + +@The_monster@ roars. + +@The_monster@ growls. + +VISUAL:@The_monster@ tries to grin evilly. + +@The_monster@ screams, "Eat!" + +@The_monster@ screams, "Stand! Erolcha hit you!" + +@The_monster@ screams, "Blood!" + +@The_monster@ screams, "Erolcha kill you!" + +@The_monster@ screams, "Erolcha crush your head!" + +@The_monster@ screams, "Lunch!" + +@The_monster@ screams, "Erolcha happy to kill you!" + +@The_monster@ screams, "Erolcha angry!" +## END Erolcha ## +%%%% +# A mercenary guarding the dungeon +Frances + +@_mercenary_guard_@ +%%%% +# A wizard looking for body-parts as spell components +Francis + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@'s hands start to glow with a soft light. + +VISUAL:@The_monster@ ponders the situation. + +VISUAL:@The_monster@ looks for a scalpel. + +VISUAL:@The_monster@ throws something at you. + +@The_monster@ asks, "Did you know that corpses are an important natural resource?" + +@The_monster@ asks, "What about a little dissection?" + +@The_monster@ says, "You've nice eyes. I could use them." + +@The_monster@ says, "Excuse me, but I need your head." + +@The_monster@ says, "I only need a few of your organs!" + +@The_monster@ says, "This won't hurt a bit." + +@The_monster@ says, "I want you in my laboratory!" + +@The_monster@ says, "I have something special for you." + +@The_monster@ says, "What about your heart? Do you need it?" + +@The_monster@ says, "Don't worry, I'll take only what I need." + +@The_monster@ screams, "Don't move! I want to cut off your ear!" +## END Francis ## +%%%% +# A mercenary guarding the dungeon +Frederick + +@_mercenary_guard_@ +%%%% +# A twisted goblin +Ijyb + +VISUAL:@The_monster@ grins evilly. + +@The_monster@ screams, "Die!" + +@The_monster@ screams, "Me kill you!" + +@The_monster@ screams, "Me stronger than you!" + +@The_monster@ screams, "It's all mine!" + +@The_monster@ screams, "Get away!" + +@The_monster@ screams, "Level is mine! All mine!" + +@The_monster@ screams, "I cut your head off!" + +@The_monster@ screams, "I dance on your bones!" + +@The_monster@ screams, "Me very upset!" + +@The_monster@ screams, "You nasty! Big nasty!" + +@The_monster@ screams, "No! No, no, no, no!" + +@The_monster@ screams, "I no like you!" +## END Ijyb ## +%%%% +# A middle aged man, hired to kill you. He is in a hurry. +Harold + +VISUAL:@The_monster@ looks nervous. + +@The_monster@ says, "Stand still. I'm trying to kill you." + +@The_monster@ says, "Only a few hits and it's over." + +@The_monster@ says, "You know, I'm in a hurry." + +@The_monster@ says, "Mine is not to reason why. Mine's to do, yours to die." + +@The_monster@ says, "I hope you die faster." + +@The_monster@ screams, "Hurry up!" + +@The_monster@ screams, "Could you die faster?!" + +@The_monster@ screams, "Die!" + +@The_monster@ screams, "I'll finish you soon!" + +@The_monster@ screams, "Don't delay it!" +## END Harold ## +%%%% +# A sorceress disturbed by player +Jessica + +VISUAL:@The_monster@ grins evilly. + +VISUAL:@The_monster@ looks very angry. + +@The_monster@ says, "I'm really upset." + +@The_monster@ very coldly says, "I hate your company." + +@The_monster@ shouts, "I don't like beings like you!" + +@The_monster@ shouts, "Stop bothering me, or I'll kill you!" + +@The_monster@ shouts, "You're disturbing me! I'll have to kill you!" + +@The_monster@ shouts, "You are a ghastly nuisance!" + +SPELL:@The_monster@ mumbles something strange. + +SPELL:@The_monster@ gestures wildly. +## END Jessica ## +%%%% +Joseph + +VISUAL:@The_monster@ smiles happily. + +VISUAL:@The_monster@ tries to grin evilly. + +@The_monster@ says, "I'm happy to see you. And I'll be happy to kill you." + +@The_monster@ says, "I've waited for this moment for such a long time." + +@The_monster@ says, "It's nothing personal, but I have to kill you." + +@The_monster@ says, "You will never get the Orb, sorry." + +@The_monster@ says, "I'm here to kill trespassers. I like my job." + +@The_monster@ says, "You must be punished! Or... I want to punish you!" + +@The_monster@ sighs, "Being a guard is usually so boring..." + +@The_monster@ shouts, "At last, some action!" + +@The_monster@ shouts, "I love to fight! I love killing!" + +@The_monster@ shouts, "Wow!" +## END Joseph ## +%%%% +# An ugly old witch looking for someone to kill +Josephine + +VISUAL:@The_monster@ grins evilly. + +VISUAL:@The_monster@ grins malevolently. + +VISUAL:@The_monster@ grinds her teeth. + +@The_monster@ laughs insanely. + +@The_monster@ says, "I'll make a rug of your skin." + +@The_monster@ says, "How about some decapitation?" + +@The_monster@ screams, "Die!" + +@The_monster@ screams, "I have something special for you." + +@The_monster@ screams, "I'll use your head as a decoration in my hut!" +## END Josephine ## +%%%% +# A bounty hunter +Jozef + +VISUAL:@The_monster@ looks satisfied. + +@The_monster@ asks, "Did you write a testament? You should." + +@The_monster@ asks, "You are @player_name@, aren't you?" + +@The_monster@ says, "You don't look worth it for that money." + +@The_monster@ says, "It's nothing personal. I'm paid for it!" + +@The_monster@ says, "I suppose that you are @player_name@. Sorry if I'm wrong." + +@The_monster@ says, "One dead @player_name@, 500 gold pieces. It's in my contract." + +@The_monster@ says, "My job is sometimes very exciting. Sometimes..." + +@The_monster@ says, "I think I deserve my money." + +@The_monster@ shouts, "I'll get 500 gold for your head!" + +@The_monster@ shouts, "Your time has come!" + +@The_monster@ screams, "Die!" + +@The_monster@ screams, "At last I found you!" + +@The_monster@ screams, "Die! I've got more contracts today." +## END Jozef ## +%%%% +# A powerful sorceress, guarding the ORB +Margery + +VISUAL SPELL:@The_monster@ gestures. + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@ is surrounded with an aura of power. + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@ becomes transparent for a moment. + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@'s hands start to glow. + +SPELL:@The_monster@ screams, "Ergichanteg reztahaw!" +WARN:You feel really bad. + +VISUAL SPELL:@The_monster@ gestures. +VISUAL WARN:You feel doomed. + +VISUAL SPELL:@The_monster@ gestures. +VISUAL WARN:You feel weakened. + +VISUAL SPELL:@The_monster@ throws some purple powder towards you. +VISUAL WARN:You feel cursed. + +VISUAL SPELL:@The_monster@'s eyes start to glow with a red light. + +VISUAL SPELL:@The_monster@'s eyes start to glow with a green light. + +VISUAL SPELL:@The_monster@'s eyes start to glow with a blue light. + +VISUAL:@The_monster@ looks very self-confident. + +@The_monster@ says, "You are dead." + +@The_monster@ says, "Die!" + +@The_monster@ screams, "You must be punished!" + +@The_monster@ screams, "You can't withstand my power!" + +@The_monster@ screams, "All trespassers must die!" + +@The_monster@ screams, "You'll have to get past me!" + +@The_monster@ screams, "You are doomed!" + +@The_monster@ screams, "Nothing can help you." + +@The_monster@ screams, "Death is my middle name!" + +@The_monster@ screams, "The ORB is only a tale, but I will kill you anyway!" +## END Margery +%%%% +# A mercenary guarding the dungeon +Louise + +@_mercenary_guard_@ +%%%% +# A warrior princess looking for the sword "Entarex". +Maud + +VISUAL:@The_monster@ frowns. + +VISUAL:@The_monster@ looks upset. + +@The_monster@ asks, "Will you think of me as you die?" + +@The_monster@ screams, "Submit or die!" + +@The_monster@ screams, "Give me 'Entarex'!" + +@The_monster@ screams, "You can't face my power!" + +@The_monster@ screams, "Give me that sword! Immediately!" + +@The_monster@ screams, "Your life or 'Entarex'! You must choose!" + +@The_monster@ screams, "I want it!" + +@The_monster@ screams, "Die, you thief!" + +@The_monster@ screams, "If you give me 'Entarex', I'll let you live!" +## END Maud ## +%%%% +# Loner spell-caster +Michael + +SPELL:@The_monster@ mumbles some strange words. + +SPELL:@The_monster@ gestures wildly. + +VISUAL SPELL:@The_monster@ points at you. +VISUAL:__YOU_RESIST + +VISUAL:@The_monster@ drinks a potion. + +VISUAL:@The_monster@ looks very angry. + +VISUAL:@The_monster@ frowns. + +VISUAL:@The_monster@ looks angry. + +VISUAL:@The_monster@ shakes with wrath. + +@The_monster@ says, "You really are a nuisance." + +@The_monster@ screams, "I want to be alone!" + +@The_monster@ screams, "Get away! Or better yet, die!" +%%%% +# A disembodied skull. +Murray + +VISUAL:@The_monster@ rolls in a circle. + +VISUAL:@The_monster@ rolls around. + +VISUAL:@The_monster@ spins like a top. + +VISUAL:@The_monster@ grins evilly. + +@The_monster@ laughs evilly. + +@The_monster@'s teeth chatter loudly. + +@The_monster@ says, "You're the second biggest fool I've ever met!" + +@The_monster@ says, "You're the second biggest fool I've ever met!" + +@The_monster@ cackles, "I will rule the world!" + +@The_monster@ screams, "If I had legs, you would be dead twenty times over!" + +@The_monster@ shouts, "Give me your head, so I can impale it on a pike!" + +@The_monster@ shouts, "Let the forces of evil and voodoo overcome you!" + +@The_monster@ yells, "I'm a mighty demonic power!" + +@The_monster@ yells, "My visage is famous all over the dungeon!" +## END Murray ## +%%%% +silenced Murray + +VISUAL:@The_monster@ rolls in a circle. + +VISUAL:@The_monster@ rolls around. + +VISUAL:@The_monster@ spins like a top. + +VISUAL:@The_monster@ grins evilly. + +VISUAL:@The_monster@ seems to say something. + +VISUAL:@The_monster@ says something you can't hear. It was probably not a compliment. +## END silenced Murray ## +%%%% +# A skilled warrior looking for some fame. More kills = more fame. +Norbert + +VISUAL:@The_monster@ smiles happily. + +@The_monster@ asks, "Did you write a will? You should." + +@The_monster@ says, "A pity your head will make such an ugly trophy." + +@The_monster@ says, "I love killing ugly monsters like you." + +@The_monster@ says, "You know, it's an honour to die by my hand." + +@The_monster@ says, "Another dead monster... It must be my lucky day!" + +@The_monster@ says, "I'm sorry but you don't have a chance." + +@The_monster@ screams, "Die, monster!" + +@The_monster@ screams, "I'm a hero!" + +@The_monster@ screams, "Blood an destruction!" + +@The_monster@ screams, "Pray, because you'll die soon!" + +@The_monster@ shouts, "YES! Another notch!" + +@The_monster@ shouts, "Your time has come!" + +@The_monster@ says, "I'm sorry but you don't have a chance." +## END Norbert ## +%%%% +# An enlightened but crazy man +Norris + +SPELL:@The_monster@ mumbles some mantras. + +VISUAL:@The_monster@ is surrounded with aura of peace. + +VISUAL:@The_monster@ looks very balanced. + +VISUAL:@The_monster@ smiles at you. + +VISUAL:@The_monster@ looks relaxed. + +@The_monster@ sings "Hare Rama, Hare Krishna!" + +@The_monster@ sings, "Peace now, freedom now! Peace now, freedom now!" + +@The_monster@ says, "After death you'll find inner peace." + +@The_monster@ says, "Life is just suffering. I'll help you." + +@The_monster@ says, "Don't resist. I'll do it for you." + +@The_monster@ says, "Death is just a liberation!" + +@The_monster@ says, "Feel free to die. It's great thing." + +@The_monster@ says, "OHM MANI PADME HUM!" + +@The_monster@ says, "Breathe deeply." + +@The_monster@ says, "The Orb is only a myth. Forget about it." + +@The_monster@ says, "It's all maya." + +@The_monster@ says, "Drop out!" + +@The_monster@ says, "This is called Combat Meditation." + +@The_monster@ sighs "Enlightenment is such responsibility." + +@The_monster@ screams, "Enter NIRVANA! Now!" + +@The_monster@ screams, "Love! Eternal love!" + +@The_monster@ screams, "Peace! I bring you eternal peace!" + +@The_monster@ screams, "Free your soul! Die!" + +@The_monster@ screams, "Blow your mind!" +## END Norris ## +%%%% +# An insane sorceress +Psyche + +VISUAL:@The_monster@ smiles happily. + +@The_monster@ giggles crazily. + +VISUAL:@The_monster@ cries. + +VISUAL:@The_monster@ stares at you for a moment. + +@The_monster@ sings. + +@The_monster@ sings a strange song. + +VISUAL:@The_monster@ bursts into tears. + +VISUAL:@The_monster@ sucks her thumb. + +@The_monster@ says, "Please, could you die a little faster?" + +@The_monster@ says, "I'm a bad girl, but I can't do anything about it." + +@The_monster@ says, "I'm so lonely. Only corpses are my friends." + +@The_monster@ says, "I'll kill you and take you home." + +@The_monster@ cries, "I hate blood and violence." + +@The_monster@ cries, "You've killed my pet." + +@The_monster@ screams, "YOU ARE VIOLATING AREA SECURITY!!!" + +@The_monster@ screams, "Peace! Flowers! Freedom! Dead adventurers!" + +@The_monster@ shouts, "Well, maybe I'm nutty, but who cares?!" + +@The_monster@ shouts, "I hope that you are sorry for that!" + +# Copyright U2? +@The_monster@ whispers, "Hold me, thrill me, kiss me, kill me." +## END Psyche ## +%%%% +# A crazy adventurer +Rupert + +VISUAL:@The_monster@ looks excited. + +VISUAL:@The_monster@ looks confused. + +@The_monster@ asks, "You're a monster, aren't you?" + +@The_monster@ says, "My Mom always said: 'Kill them all'." + +@The_monster@ shouts, "I'm a great and powerful hero!" + +@The_monster@ screams, "Die, monster!" + +@The_monster@ screams, "Give me the Holy Grail!" + +@The_monster@ screams, "Get ready! I'll kill you! Or something like that..." + +@The_monster@ screams, "You killed all those lovely monsters, you murderer!" + +@The_monster@ screams, "Hurray!" + +@The_monster@ screams, "Red! No, blue!" +## END Rupert ## +%%%% +# Mad old wizard +Sigmund + +w:30 +@The_monster@ laughs crazily. + +VISUAL:@The_monster@ grinds his teeth. + +VISUAL:@The_monster@ tries to bite you. + +@The_monster@ asks, "Do you like me?" + +@The_monster@ says, "Don't worry, I'll kill you fast." + +@The_monster@ says, "You will soon forget everything." + +@The_monster@ says, "Look into my eyes." + +@The_monster@ says, "I'm your fate." + +@The_monster@ screams, "Die, monster!" + +@The_monster@ screams, "You will never... NEVER!!!" + +@The_monster@ screams, "I am the angel of Death!" + +@The_monster@ screams, "Only death can liberate you!" + +@The_monster@ screams, "Don't try to resist!" + +@The_monster@ whispers, "You'll know eternity soon." + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@'s eyes start glowing with a red light. + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@ is suddenly surrounded by pale blue light. + +SPELL:@The_monster@ casts a spell. +ENCHANT:@The_monster@ is suddenly surrounded by pale green light. +## END Sigmund ## +%%%% +# A fighter who likes to kill +Terence + +VISUAL:@The_monster@ looks scornfully at you. + +VISUAL:@The_monster@ bares @possessive@ teeth. + +@The_monster@ asks, "Do you want it fast or slow?" + +@The_monster@ says, "Rest in peace." + +@The_monster@ says, "How do you enjoy it?" + +@The_monster@ says, "You're history." + +@The_monster@ says, "Did you write a will? You should..." + +@The_monster@ says, "Time to say good-bye..." + +@The_monster@ says, "Don't bother to defend, it's @pointless@." + +@The_monster@ says, "I'll show you a few @ploy@s." + +@The_monster@ shouts, "Now you die!" + +@The_monster@ shouts, "@ATTACK@!!!" + +@The_monster@ shouts, "Get ready for death!" + +@The_monster@ screams, "I want your blood!" + +@The_monster@ screams, "I'm going to kill you!" +## END Terence ### +%%%% +# An orc hired to kill you +Urug + +VISUAL:@The_monster@ grins evilly. + +@The_monster@ roars. + +@The_monster@ howls with blood-lust. + +@The_monster@ says, "Maybe you aren't @player_name@. It doesn't matter." + +@The_monster@ sneers, "Innocent? I'll kill you anyway." + +@The_monster@ screams, "Die!" + +@The_monster@ screams, "I'm going to kill you! Now!" + +@The_monster@ screams, "Blood and destruction!" + +@The_monster@ screams, "I'll get 30 silver pieces for your head!" + +@The_monster@ screams, "You are already dead." + +@The_monster@ screams, "I love blood!" +## END Urug ## +%%%% +# An adventurer hating competition +Wayne + +@_hostile_adventurer_@ +%%%% +# An ancient dragon +Xtahua + +VISUAL:@The_monster@ glares at you. + +@The_monster@ growls, "YOU BORE ME SO." + +@The_monster@ rumbles, "YOU'RE BARELY A SNACK." + +@The_monster@ roars, "DIE, PUNY ONE!" + +@The_monster@ roars, "I HATE BEING BOTHERED!" + +@The_monster@ roars, "I HOPE YOU'RE TASTY!" + +@The_monster@ roars, "BAH! BLOODY ADVENTURERS." + +@The_monster@ roars, "FACE MY WRATH!" + +@The_monster@ roars, "COMING HERE WAS YOUR LAST MISTAKE!" + +@The_monster@ roars, "I'VE KILLED HUNDREDS OF ADVENTURERS!" + +@The_monster@ roars horribly. +You are afraid. +## END Xtahua ## + +########################################## +# Specific non-unique monsters +########################################## +%%%% +crystal golem + +VISUAL:@The_monster@ glitters in the dim dungeon light. +%%%% +death cob + +w:1 +The death cob makes a corny joke. + +w:1999 +__NONE +%%%% +death yak + +@yak@ +%%%% +deep elf sorcerer + +@_wizard_@ +%%%% +default electric golem + +SOUND:@The_monster@ crackles and sizzles. +%%%% +default ice statue + +VISUAL:@The_monster@ glitters in the dim dungeon light. +%%%% +imp + +w:1 +@_imp_taunt_@ + +w:2 +@_hostile_imp_@ +%%%% +# Too many killer bees in the hive to have them give messages, unless +# they're confused or fleeing. +killer bee + +__NONE +%%%% +Killer Klown + +@The_monster@ giggles crazily. + +@The_monster@ laughs merrily. + +VISUAL:@The_monster@ beckons to you. + +VISUAL:@The_monster@ does a flip. + +VISUAL:@The_monster@ does a somersault. + +VISUAL:@The_monster@ smiles at you. + +VISUAL:@The_monster@ grins with merry abandon. + +@The_monster@ howls with blood-lust! + +VISUAL:@The_monster@ pokes out @possessive@ tongue. + +@The_monster@ says, "Come and play with me!" +## END Killer Klown ## +%%%% +# The moth of wrath doesn't buzz like the other 'y' monsters, what +# with it being a moth. +default confused moth of wrath + +VISUAL:@The_monster@ flutters around in erratic circles. +%%%% +default orange crystal statue + +VISUAL:@The_monster@ glitters in the dim dungeon light. +%%%% +orc sorcerer + +@_wizard_@ +%%%% +shadow imp + +w:1 +@_imp_taunt_@ + +w:2 +@_hostile_imp_@ +%%%% +sheep + +@The_monster@ "Baaaas" balefully. +%%%% +default silver statue + +VISUAL:@The_monster@ glitters in the dim dungeon light. +%%%% +# A cruel demon +tormentor + +w:1 +@_demon_taunt_@ + +w:9 +@_tormentor_@ +%%%% +_tormentor_ + +w:20 +@The_monster@ says, "I'll crush your bones, one by one." + +@The_monster@ laughs crazily. + +VISUAL:@The_monster@ grins evilly. + +VISUAL:@The_monster@ grins madly. + +VISUAL:@The_monster@ grins malevolently. + +@The_monster@ says, "I am all your nightmares come true." + +@The_monster@ says, "I will show you what pain is." + +@The_monster@ says, "You will wish to die when I get to you." + +@The_monster@ says, "I will drown you in your own blood." + +@The_monster@ says, "I will eat your liver." + +@The_monster@ says, "I know a thousand and one ways to kill you." + +@The_monster@ says, "I'll show you my torture chamber!" + +@The_monster@ says, "I know your fate. It's pain." + +@The_monster@ says, "Get ready! Throes of agony await you." + +@The_monster@ screams, "You will die horribly!" + +@The_monster@ shouts, "Prepare for my thousand needles of pain!" + +@The_monster@ shouts, "I'll tear you apart!" +## END _tormentor_ ## +%%%% +white imp + +w:1 +@_imp_taunt_@ + +w:2 +@_hostile_imp_@ +%%%% +wizard + +@_wizard_@ +%%%% +yak + +@The_monster@ snorts and paws the @surface@. +%%%% +############################################## +############################################## +# Weapons that make noises. +############################################## +# The Singing Sword loves to sing and sometimes talks. +singing sword + +w:4 +@weapon_sings@ + +w:1 +@weapon_talks@ + +%%%% +# Noisy weapons like to chatter and imitate dungeon noises. +noisy weapon + +w:2 +@weapon_talks@ + +w:1 +SOUND:You hear @weapon_noise@ +%%%% +# for the Singing Sword only! +weapon_sings + +#sings +@The_weapon@ hums a little @tune_or_melody@. + +@The_weapon@ breaks into glorious song! + +@The_weapon@ sings. + +@The_weapon@ sings loudly. + +@The_weapon@ sings off-key. + +@The_weapon@ sings, "Tra-la-la..." + +@The_weapon@ sings a lullaby. + +@The_weapon@ whines plaintively. + +@The_weapon@ wails mournfully. + +@The_weapon@ practices its scales. + +@The_weapon@ lilts tunefully. + +@The_weapon@ yodels. + +@The_weapon@ hums tunelessly. + +@The_weapon@ makes a painfully high-pitched squeak. + +@The_weapon@ sings a sudden staccato note. + +@The_weapon@ sings a catchy @tune_or_melody@. + +@The_weapon@ hums a slow waltz. + +@The_weapon@ whistles merrily. + +#Beethoven +@The_weapon@ goes "Da-da-da-dum". + +@The_weapon@ chants serenely. + +@The_weapon@ trills happily. + +@The_weapon@ chants a little melody. + +@The_weapon@ sings a deeply moving song. + +@The_weapon@ hums an eerie @tune_or_melody@. + +@The_weapon@ hums a slow and mournful tune. + +@The_weapon@ launches into yet another solo. + +@The_weapon@ strikes up a merry @tune_or_melody@. + +@The_weapon@ emits a series of high-pitched trills. + +@The_weapon@ composes a new song. + +@The_weapon@ makes a sound as if to clear its throat. + +@The_weapon@ sings a quivering drawn-out note. + +@The_weapon@ sings a little jingle. + +@The_weapon@ strikes up a funeral march. + +@The_weapon@ merrily whistles a melody. + +In a hysterical voice, @the_weapon@ strikes up a march. + +@The_weapon@ sings @several@ chords at once. + +@The_weapon@ trains the @kind_of_scales@ scales. + +@The_weapon@ pulls out all the stops. + +@The_weapon@ sets up a furious crescendo. + +@The_weapon@ plays a requiem for the unknown sword. + +@The_weapon@ strikes up a @dance@. + +@The_weapon@ intones @an_aria_or_fugue@. + +@The_weapon@ @nearly_or_clearly@ @hits_or_misses@ the concert pitch. + +#imitates instruments +@The_weapon@ makes a twanging sound. + +@The_weapon@ chimes melodiously. + +@The_weapon@ chimes harmoniously. + +@The_weapon@ makes beautiful music. + +@The_weapon@ produces a loud orchestral chord. + +@The_weapon@ tinkles. + +@The_weapon@ rings like a bell. + +@The_weapon@ imitates a saxophone. + +@The_weapon@ chimes like a gong. + +@The_weapon@ applauds itself. + +@The_weapon@ goes toot-toot! + +@The_weapon@ does a drum roll. + +@The_weapon@ holds a dissonant chord. + +@The_weapon@ beats time. + +#speaks +@The_weapon@ says, "Hi! I'm the Singing Sword!" + +@The_weapon@ shouts, "Sing along with me!" + +@The_weapon@ shouts, "One, two, three..." + +@The_weapon@ spouts musical wisdom. + +@The_weapon@ chants, "I am golden and pointed, and with blood well anointed." + +@The_weapon@ dictates a lengthy tome entitled 'The Well-Tempered Blade'. + +@The_weapon@ @points_out@ the lack of singing @not_swords@. + +@The_weapon@ embarks on a lenghty monologue about murderous music. + +@The_weapon@ curses its smith: "I was supposed to be the Stinging Sword!" + +@The_weapon@ muses how they don't make such fine swords anymore. + +@The_weapon@ tries to improvise rhymes, and fails miserably. + +@The_weapon@ complains about @double_or_triple@ swords. + +@The_weapon@ derides short swords. + +@The_weapon@ yells, "Ploughshares to swords!" and giggles. + +@The_weapon@ chants, "Rather stab than club, rather slice than rub!" + +# end Singing Sword +%%%% +# general chatter for noisy weapons, +# including Singing Sword +weapon_talks + +#speaks +@Your_weapon@ shouts, "Whoopee!" + +@Your_weapon@ argues with itself. + +@Your_weapon@ complains about the scenery. + +@Your_weapon@ says, "I'm bored." + +@Your_weapon@ shouts out instructions! + +@Your_weapon@ says, "Ssh! Did you hear that?" + +@Your_weapon@ cheers you on. + +@Your_weapon@ calls out a warning! + +@Your_weapon@ hurls insults at you. + +@Your_weapon@ chatters happily. + +@Your_weapon@ recites a poem. + +@Your_weapon@ prattles on and on. + +@Your_weapon@ regales you with its life story. + +@Your_weapon@ speaks gibberish. + +@Your_weapon@ raves incoherently. + +@Your_weapon@ shouts, "Help!" + +@Your_weapon@ happily shouts, "Violence is virtue, silence is sin." + +@Your_weapon@ says, "They will have to pry me from your cold, dead hands." + +@Your_weapon@ longs back for the days in the arena. + +#song by the Misfits +@Your_weapon@ asks plaintively, "Mommy, can I go out and kill tonight?" + +@Your_weapon@ cries, "Don't ditch me yet! I promise to be forever silent." + +@Your_weapon@ amuses itself with detailed descriptions of past executions. + +@Your_weapon@ wails, "I am too young to rust!" + +@Your_weapon@ wishes everyone in the dungeon @unpleasant_or_sudden@ @demise_or_death@. + +@Your_weapon@ fumes, "Being battered, bent and broken sure is better than this boredom!" + +@Your_weapon@ yells, "No battle, no fun!" + +@Your_weapon@ shouts, "This level is mine! Um, ours." + +@Your_weapon@ cracks jokes of @questionable@ humour. + +@Your_weapon@ dwells on sagas on the glory of old. + +@Your_weapon@ belts out, "Dying in battle is most honourable!" + +@Your_weapon@ gleefully confesses its misdeeds. + +@Your_weapon@ groans, "That's what you call fighting?" + +@Your_weapon@ shouts, "Left! No, no, right!". + +@Your_weapon@ says, "How I wish you were a better fighter." + +@Your_weapon@ grouses, "Could you please kill something? I'm itching all over." + +@Your_weapon@ shouts, "Make war, not love!" + +#makes noises +@Your_weapon@ growls menacingly. + +@Your_weapon@ sputters and hisses. + +@Your_weapon@ hollers! + +@Your_weapon@ pants and wheezes. + +@Your_weapon@ barks abruptly. + +@Your_weapon@ sighs. + +@Your_weapon@ wails. + +@Your_weapon@ howls with laughter! + +@Your_weapon@ laughs crazily. + +@Your_weapon@ burps! + +@Your_weapon@ goes snicker-snack! + +@Your_weapon@ lets out a mournful sigh. + +@Your_weapon@ yells in some weird language. + +@Your_weapon@ makes a horrible noise. + +@Your_weapon@ makes a deep moaning sound. + +@Your_weapon@ gives off a wolf whistle. + +@Your_weapon@ wails. + +@Your_weapon@ giggles. + +@Your_weapon@ lets out a whoop! + +@Your_weapon@ yawns loudly. + +@Your_weapon@ intones a prayer. + +@Your_weapon@ cries out! + +@Your_weapon@ swears loudly. + +@Your_weapon@ inquires about your family. + +@Your_weapon@ coughs loudly. + +@Your_weapon@ burbles away merrily. + +@Your_weapon@ gurgles. + +@Your_weapon@ suddenly shrieks! + +@Your_weapon@ cackles. + +@Your_weapon@ warbles. + +@Your_weapon@ suddenly bursts into laughter! + +@Your_weapon@ snorts. + +@Your_weapon@ comments on the weather. + +@Your_weapon@ makes a deep, guttural noise. + +@Your_weapon@ gives off a sizzling sound. + +@Your_weapon@ whistles innocently. + +@Your_weapon@ makes a popping sound. + +@Your_weapon@ yelps loudly! + +@Your_weapon@ lets out a series of bird calls. + +# end weapon chatter +%%%% +# noises for weapons with NOISES property (not Singing Sword!) +weapon_noise + +#dungeon noises +a shout. + +an angry hiss. + +a high-pitched scream! + +a roar! + +a hideous shriek! + +a piteous moan. + +a screech! + +a bellow! + +a loud, deep croak! + +an angry buzzing noise. + +an irritating high-pitched whine. + +a splashing noise. + +a sizzling sound. + +a loud clanging noise! + +a grinding noise. + +a mighty clap of thunder! + +a hideous screaming! + +a bark! + +a rumbling sound. + +a crunching sound. + +a distant "Zot"! + +the distant roaring of an enraged frog. + +# other noises, usually not found in the dungeon +a voice call your name. + +a very strange noise. + +someone snoring. + +the sound of rushing water. + +someone calling for help! + +strange voices. + +a knock. + +maniacal laughter. + +snatches of song. + +a twanging sound. + +the chiming of a distant gong. + +the tinkle of an enormous bell. + +an echo. + +the wailing of sirens. + +a flourish of trumpets! + +# end weapon noises +%%%% +#synonyms for weapon noises +several + +several + +three or four + +a multitude of +%%%% +kind_of_scales + +pentatonic + +chromatic + +diatonic +%%%% +not_swords + +clubs + +axes + +polearms +%%%% +points_out + +points out + +remarks in passing on +%%%% +dance + +bossanova + +waltz + +menuet +%%%% +an_aria_or_fugue + +an aria + +a fugue +%%%% +nearly_or_clearly + +nearly + +clearly +%%%% +hits_or_misses + +hits + +misses +%%%% +tune_or_melody + +tune + +melody +%%%% +unpleasant_or_sudden + +an unpleasant + +a sudden +%%%% +demise_or_death + +demise + +death +%%%% +questionable + +questionable + +doubtful +%%%% +double_or_triple + +double + +triple +%%%% diff --git a/crawl-ref/source/dat/help.txt b/crawl-ref/source/dat/help.txt deleted file mode 100644 index e21ab52078..0000000000 --- a/crawl-ref/source/dat/help.txt +++ /dev/null @@ -1,115 +0,0 @@ -%%%% -stash-search.prompt - -Searching the stash-tracker - -You can search for items and dungeon features by name (or a substring of the -name). In the list of search results, you can select a search result by its -hotkey to travel to its location. - -You can also examine shops and items in the search results by pressing ? -and then hitting the hotkey for the search result. This will show you a -description of the item or the contents of the shop. - -Some examples of search strings: -cure mutation find all potions of cure mutation, including potions - in shops. -cloak find all cloaks in the dungeon. -Lair:2 find everything known to be on Lair:2. -Lair:[2-4] finds everything on Lair:2-4. Regexes are allowed! Note - that Lair:[3-10] will not work as intended, since [x-y] is - a regex character range. -. is a shortcut to find everything on your current level. -Lair.*axe -or -axe && Lair both show all axes in the Lair. - -The stash search string is case-insensitive. - - -Searching by item properties: - -You can search for spell names (such as Ignite Poison) to find spellbooks -or rods that contain the spell. - -You can search for artefact item properties (such as prevents.*teleport) -to find artefacts that have the property. - -If you're using stash.lua, you can also search by some additional item -properties: -artefact will find identified artefacts. -Skill names (such as Polearms or Long Blades) will find all -weapons that train that skill. - -If you're using stash.lua and have set annotate_item_class = true in your -init.txt, you can also search by item types such as book or -jewellery. - - -Finding Dungeon Features: - -You can search for dungeon features by name: all shops will be found by a -search for shop (including shops that do not have "shop" in their name); -other dungeon features can also be found by name: fountain, axe trap, -altar, etc. You can also search for altars by deity name: Zin. - - -Non-regex operators: - -You can use !! to negate a search string, && for a boolean AND, || for -boolean OR, and <<<< >> for grouping. - -For instance, to find rings (jewellery) but not ring mail you could use: -ring && !!mail -%%%% -level-map - -Level Map ('X' in the main screen): -Esc : Leave level map (also Space or any unused key). -Dir. : Move the cursor. -/ Dir. : Move the cursor in larger steps (also Shift-Dir.). --/+ : Scroll level map up/down -. : Start travel (also Enter and , and ;). - (Moves cursor to the last travel destination if still on @.) -<</> : Cycle through up/down stairs. -^ : Cycle through traps. -Tab : Cycle through shops and portals. -X : Cycle through travel eXclusions. -x : Change the radius of a travel exclusion in three steps. -W : Cycle through waypoints. -* : Cycle forward through stashes (by default, all items). -/ : Cycle backward through stashes (by default, all items). -_ : Cycle through altars. -Ctrl-X : Set travel exclusion. -Ctrl-E : Erase all travel exclusions. -Ctrl-W : Set waypoint. -Ctrl-C : Clear level and main maps. -Ctrl-F : Forget level map. -%%%% -interlevel-travel.branch.prompt - -Interlevel Travel (choose a branch): - Use the shortcut letter for a branch to select the branch for travel. - - Once you select a branch, you will be prompted for a depth in that - branch (more help is available there). - - Enter : Repeat last interlevel travel. - . : Travel to a level in the current branch. - << : Go up the nearest stairs. - > : Go down the nearest stairs. - Ctrl-P : Travel to a level in the branch above this one. - * : Show available waypoints (if any are set). - 0-9 : Go to the numbered waypoint. -%%%% -interlevel-travel.depth.prompt - -Interlevel Travel (go to a specific level in the selected branch) - Type in the level number you want to go to and hit Enter, or use: - Enter : Go to the default level. - << : Change the default to one level above the current. - > : Change default to one level below the current. - -/p : Change default to the branch above this one. - $ : Change default to deepest visited level in this branch. - ^ : Change default to the entrance to the current level. -%%%% diff --git a/crawl-ref/source/dat/shout.txt b/crawl-ref/source/dat/shout.txt deleted file mode 100644 index e18fcdbd07..0000000000 --- a/crawl-ref/source/dat/shout.txt +++ /dev/null @@ -1,255 +0,0 @@ -############################################################ -# As of Stone Soup 0.3 the previously hardcoded monster -# speech has been outsourced. This makes changing existing -# messages, and adding new ones really easy. -# -# shout.txt holds the utterances (and visual equivalents) of -# monsters that notice you. -# -# For an explanation of how to read shout.txt and speak.txt -# and how to add new messages, see monster_speech.txt in the -# docs directory. -############################################################ -%%%% -__BUGGY - -# This line should never get displayed to the user, even if -# handle_monster_shouts() in view.cc detects buggy behavior, -# so showing this line would itself be a bug. -SOUND:You hear doubly buggy behavior! -%%%% -__SHOUT - -SOUND:You hear a shout! -%%%% -__BARK - -SOUND:You hear a bark! -%%%% -__TWO_SHOUTS - -SOUND:You hear two shouts! -%%%% -__ROAR - -SOUND:You hear a roar! -%%%% -__SCREAM - -SOUND:You hear a hideous shriek! -%%%% -__BELLOW - -SOUND:You hear a bellow! -%%%% -__SCREECH - -SOUND:You hear a screech! -%%%% -__BUZZ - -SOUND:You hear an angry buzzing noise. -%%%% -__MOAN - -SOUND:You hear a chilling moan. -%%%% -__WHINE - -SOUND:You hear an irritating high-pitched whine. -%%%% -__CROAK - -SOUND:You hear a loud, deep croak! - -SOUND:You hear a croak. -%%%% -__GROWL - -SOUND:You hear an angry growl. -%%%% -__HISS - -SOUND:You hear an angry hiss. -%%%% -__DEMON_TAUNT - -@The_monster@ @says@, "@demon_taunt@" -############################################ -# End of default shouts -############################################ - - -############################################################ -# Player ghost shouts. Potentially different ones for each -# class, though currently they all just copy the default -# player ghost. -############################################################ -%%%% -player ghost - -VISUAL:@The_monster@ turns @possessive@ malevolent gaze towards you. -%%%% -Fighter player ghost - -@player ghost@ -%%%% -Wizard player ghost - -@player ghost@ -%%%% -Priest player ghost - -@player ghost@ -%%%% -Thief player ghost - -@player ghost@ -%%%% -Gladiator player ghost - -@player ghost@ -%%%% -Necromancer player ghost - -@player ghost@ -%%%% -Paladin player ghost - -@player ghost@ -%%%% -Assassin player ghost - -@player ghost@ -%%%% -Berserker player ghost - -@player ghost@ -%%%% -Hunter player ghost - -@player ghost@ -%%%% -Conjurer player ghost - -@player ghost@ -%%%% -Enchanter player ghost - -@player ghost@ -%%%% -Fire Elementalist player ghost - -@player ghost@ -%%%% -Ice Elementalist player ghost - -@player ghost@ -%%%% -Summoner player ghost - -@player ghost@ -%%%% -Air Elementalist player ghost - -@player ghost@ -%%%% -Earth Elementalist player ghost - -@player ghost@ -%%%% -Crusader player ghost - -@player ghost@ -%%%% -Death Knight player ghost - -@player ghost@ -%%%% -Venom Mage player ghost - -@player ghost@ -%%%% -Chaos Knight player ghost - -@player ghost@ -%%%% -Transmuter player ghost - -@player ghost@ -%%%% -Healer player ghost - -@player ghost@ -%%%% -Reaver player ghost - -@player ghost@ -%%%% -Stalker player ghost - -@player ghost@ -%%%% -Monk player ghost - -@player ghost@ -%%%% -Warper player ghost - -@player ghost@ -%%%% -Wanderer player ghost - -@player ghost@ - -######################################## -# Shouts by monster symbol -######################################## -%%%% -'&' - -@__DEMON_TAUNT@ -%%%% -'a' - -@The_monster@ twitches @possessive@ antennae in your direction. -%%%% -'cap-B' - -@The_monster@ twitches @possessive@ antennae in your direction. -%%%% -# Giant spores have their own visual, this is only for the eyeball -# related ones. -'cap-G' - -@The_monster@ turns @possessive@ gaze towards you. -%%%% -'cap-J' - -@The_monster@ quivers. -######################################## -# Shouts for specific monsters -######################################## -%%%% -# The giant spore has no eyes, so it can't gaze at the player like the -# other 'G' monsters. -giant spore - -__NONE -%%%% -# Shadow imps and white imps copy imps. -imp - -# Shout one half the time, taunt the other half. -@__SHOUT@ - -@The_monster@ @says@, "@imp_taunt@" -%%%% -shadow imp - -@imp@ -%%%% -white imp - -@imp@ -%%%% diff --git a/crawl-ref/source/dat/speak.txt b/crawl-ref/source/dat/speak.txt deleted file mode 100644 index bd558d162d..0000000000 --- a/crawl-ref/source/dat/speak.txt +++ /dev/null @@ -1,2307 +0,0 @@ -############################################################ -# As of Stone Soup 0.3 the previously hardcoded monster -# speech has been outsourced. This makes changing existing -# messages, and adding new ones really easy. -# -# speak.txt contains the messages of monsters that "talk" -# to the player, or at least the biggest part there-of. -# -# For an explanation of how to read shout.txt and speak.txt -# and how to add new messages, see monster_speech.txt in the -# docs directory -############################################################ - -############################################################ -# Library of randomized word/phrase substitutions. (The keys -# will have to be changed in the unlikely event that -# monsters are ever given names like "yells" or "begs".) -############################################################ -%%%% -__RESIST_OR_NOTHING - -__YOU_RESIST - -__NOTHING_HAPPENS -%%%% -ATTACK - -ATTACK - -DIE -%%%% -shouts - -shouts - -yells -%%%% -yells - -yells - -wails - -cries - -screams -%%%% -# for ghosts -wails - -wails - -shouts - -says - -screams -%%%% -begs - -begs - -pleads -%%%% -almost - -almost - -nearly -%%%% -moans - -moans - -wails -%%%% -mutters - -mutters - -mumbles -%%%% -blubbers - -blubbers - -cries -%%%% -Mommeee - -Mommeee - -Daddeee -%%%% -rattled - -rattled - -scared stiff -%%%% -pointless - -pointless - -senseless - -useless -%%%% -ploy - -ploy - -trick - -############################################################ -# Library of speeches for types of monsters, like priests, -# wizards, guards and so on. -############################################################ -%%%% -_high_priest_ - -SPELL:@The_monster@ prays. - -SPELL:@The_monster@ mumbles some strange prayers. - -SPELL:@The_monster@ intones a terrible prayer. - -VISUAL:@The_monster@ looks excited. - -@The_monster@ starts to sing a prayer. - -@The_monster@ says, "All sinners must die." - -@The_monster@ says, "You will make a fine sacrifice." - -@The_monster@ says, "Right in the middle of my sermon, too." - -@The_monster@ says "The wages of sin are death, you know." - -@The_monster@ shouts, "You must be punished!" - -@The_monster@ shouts, "You are a heretic and must be destroyed!" -## END _high_priest_ ## -%%%% -_mercenary_guard_ - -VISUAL:@The_monster@ looks very unfriendly. - -VISUAL:@The_monster@ looks very cold. - -VISUAL:@The_monster@ grins evilly. - -@The_monster@ says, "Now you've reached the end of your journey." - -@The_monster@ says, "Drop everything you've found here and return home." - -@The_monster@ says, "Return every stolen item!" - -@The_monster@ says, "No trespassing is allowed here." - -@The_monster@ says, "It's nothing personal." - -@The_monster@ says, "A dead adventurer is a good adventurer." - -@The_monster@ says, "Coming here was your last mistake." - -@The_monster@ screams, "One false step and I'll kill you." - -@The_monster@ screams, "I'm going to kill you! Now!" - -@The_monster@ screams, "You must be punished!" - -@The_monster@ shouts, "You will never get the Orb!" - -@The_monster@ shouts, "Return immediately or I'll kill you!" - -@The_monster@ shouts, "Intruder!" - -@The_monster@ shouts, "It's the end of the party!" -## END _mercenary_guard_ ## -%%%% -_wizard_ - -w:30 -SPELL:@The_monster@ wildly gestures. -@__RESIST_OR_NOTHING@ - -w:30 -SPELL:@The_monster@ mumbles some strange words. -@__RESIST_OR_NOTHING@ - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@ becomes transparent for a moment. - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@ glows brightly for a moment. - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@ becomes larger for a moment. - -SPELL:@The_monster@ casts a spell. -ENCHANT:@possessive@ fingertips start to glow. - -SPELL:@The_monster@ casts a spell. -__YOU_RESIST - -VISUAL SPELL:@The_monster@ throws some strange powder towards you. - -SPELL:@The_monster@ says, "Argatax netranoch dertex." - -SPELL:@The_monster@ says, "Dogrw nutew berg." - -SPELL:@The_monster@ shouts, "Entram moth deg ulag!" - -VISUAL SPELL:@The_monster@'s eyes start to glow. - -VISUAL SPELL:@The_monster@ tries to paralyze you with @possessive@ gaze. - -@The_monster@ shouts, "You can't withstand my power!" - -@The_monster@ shouts, "You are history!" -## END _wizard_ ## -%%%% -_hostile_adventurer_ - -VISUAL:@The_monster@ frowns. - -VISUAL:@The_monster@ looks very upset. - -@The_monster@ screams, "Return home!" - -@The_monster@ screams, "The Orb is mine!" - -@The_monster@ screams, "Give me all your treasure!" - -@The_monster@ screams, "You will never get the Orb!" - -@The_monster@ screams, "I was here first!" - -@The_monster@ screams, "Go away or die!" - -@The_monster@ screams, "Die!" - -@The_monster@ screams, "First you have to pass me!" - -@The_monster@ screams, "I hate you!" -## END _hostile_adventurer_ ## -%%%% -_friendly_imp_ - -VISUAL:@The_monster@ jumps up and down with excitement. - -VISUAL:@The_monster@ grins impishly at you. - -VISUAL:@The_monster@ picks up some beetles from the @surface@ and offers them to you. - -VISUAL:@The_monster@ blows smoke rings. - -@The_monster@ says, "Just tell me who NOT to kill." - -@The_monster@ says, "OK boss!" - -@The_monster@ says, "The Orb is all yours." - -@The_monster@ says, "Isn't this more fun with friends?" - -@The_monster@ says, "Uh-oh! Wait. OK." - -@The_monster@ says, "You're so much nicer than my last boss." - -@The_monster@ shouts, "Stay back! It could be a trick!" - -@The_monster@ shouts, "Over here! I found it!" -## END _friendly_imp_ ## -%%%% -_hostile_imp_ - -@The_monster@ laughs crazily. - -VISUAL:@The_monster@ grins evilly. - -VISUAL:@The_monster@ breathes smoke at you. - -VISUAL:@The_monster@ lashes his tail. - -VISUAL:@The_monster@ grinds his teeth. - -@The_monster@ sputters. - -VISUAL:@The_monster@ breathes steam at you. - -VISUAL:@The_monster@ spits at you. - -VISUAL:@The_monster@ disappears for a moment. - -VISUAL:@The_monster@ summons a swarm of flies. - -VISUAL:@The_monster@ picks up a beetle and eats it. -## END _hostile_imp_ ## -%%%% -_demon_taunt_ - -@The_monster@ @says@, "@demon_taunt@" -%%%% -_imp_taunt_ - -@The_monster@ @says@, "@imp_taunt@" -########################################## -# Messages by monster body shape -########################################## -%%%% -default stupid friendly humanoid - -__NONE -%%%% -default stupid fleeing humanoid - -__NONE -%%%% -default stupid silenced humanoid - -__NONE -%%%% -default stupid confused humanoid - -__NONE -%%%% -default silenced confused humanoid - -w:40 -VISUAL:@The_monster@ gestures wildly. - -w:20 -VISUAL:@The_monster@ says something but you don't hear anything. - -VISUAL:@The_monster@ looks confused. - -VISUAL:@The_monster@ grins evilly. - -VISUAL:@The_monster@ smiles happily. - -VISUAL:@The_monster@ cries. -## END silenced confused humanoid ## -%%%% -default fleeing silenced humanoid - -w:30 -VISUAL:@The_monster@ glances furtively about. - -w:30 -VISUAL:@The_monster@ seems to say something. - -VISUAL:@The_monster@ opens @possessive@ mouth, as if shouting. - -VISUAL:@The_monster@ looks around. - -VISUAL:@The_monster@ ponders the situation. -## END fleeing silenced humanoid ## -%%%% -default friendly silenced humanoid - -w:30 -VISUAL:@The_monster@ gives you the thumbs up. - -w:30 -VISUAL:@The_monster@ says something you can't hear. - -VISUAL:@The_monster@ looks at you. - -VISUAL:@The_monster@ waves at you. - -VISUAL:@The_monster@ smiles happily. - -VISUAL:@The_monster@ winks at you. -## END friendly silenced humanoid ## -%%%% -default silenced humanoid - -w:30 -VISUAL:@The_monster@ says something but you don't hear anything. - -w:30 -VISUAL:@The_monster@ gestures. - -VISUAL:@The_monster@ gestures obscenely. - -VISUAL:@The_monster@ grins. - -VISUAL:@The_monster@ looks angry. - -VISUAL:@The_monster@ seems to be listening. -## END silenced humanoid ## -%%%% -default friendly confused humanoid - -@The_monster@ prays for help. - -@The_monster@ screams, "Help!" - -@The_monster@ shouts, "I'm loosing control!" - -@The_monster@ shouts, "What's happening?!" - -VISUAL:@The_monster@ cries. - -@The_monster@ shouts, "Yeah!" - -@The_monster@ sings. - -@The_monster@ laughs crazily. - -VISUAL:@The_monster@ ponders the situation. - -VISUAL:@The_monster@ grins madly. - -VISUAL:@The_monster@ looks very confused. - -@The_monster@ mumbles something. - -@The_monster@ giggles crazily. - -@The_monster@ screams, "@player_name@! Help!" - -@The_monster@ screams, "@player_name@! What's going on?!" - -@The_monster@ says, "@player_name@, I'm a little confused!" -## END friendly confused humanoid ## -%%%% -default confused humanoid - -w:30 -VISUAL:@The_monster@ gestures wildly. - -@The_monster@ yells, "Get them off me!" - -@The_monster@ screams, "I'll kill you anyway!" - -@The_monster@ shouts, "What's happening?!" - -VISUAL:@The_monster@ cries. - -@The_monster@ shouts, "NO!" - -@The_monster@ shouts, "YES!" - -@The_monster@ laughs crazily. - -VISUAL:@The_monster@ ponders the situation. - -VISUAL:@The_monster@ grins madly. - -VISUAL:@The_monster@ looks very confused. - -@The_monster@ mumbles something. - -@The_monster@ says, "I'm a little confused." - -@The_monster@ asks, "Where am I?" - -VISUAL:@The_monster@ shakes. - -@The_monster@ asks, "Who are you?" - -@The_monster@ asks, "What the hell are we doing here? Hmm, I see..." - -@The_monster@ cries, "My head! MY HEAD!!!" - -@The_monster@ says, "Why is everything spinning?" - -@The_monster@ screams, "NO! I can't bear this much noise." - -VISUAL:@The_monster@ covers @possessive@ eyes. -## END confused humanoid ## -%%%% -default friendly fleeing humanoid - -w:30 -VISUAL:@The_monster@ tries to hide somewhere. - -@The_monster@ @shouts@, "WAIT FOR ME, @player_name@! Could you help me?" - -@The_monster@ screams, "Help!" - -@The_monster@ shouts, "Cover me!" - -@The_monster@ screams, "@player_name@! Help me!" - -@The_monster@ prays for help. - -@The_monster@ shouts, "Protect me!" - -@The_monster@ cries, "Don't forget your friends!" -## END friendly fleeing humanoid ## -%%%% -default fleeing humanoid - -w:30 -VISUAL:@The_monster@ gives up. - -w:20 -@The_monster@ @yells@, "Help!" - -@The_monster@ @begs@, "Why can't we all just get along?" - -# This one won't work for nagas. -VISUAL:@The_monster@ @almost@ stumbles in trying to escape. - -@The_monster@ @mutters@, "Of all the rotten luck!" - -@The_monster@ @moans@, "Oh dear! Oh dear!" - -@The_monster@ @mutters@, "Damn and blast!" - -@The_monster@ prays for help. - -@The_monster@ shouts, "No! I'll never do that again!" - -@The_monster@ begs for mercy. - -@The_monster@ cries, "Mercy!" - -@The_monster@ @blubbers@, "@Mommeee@!" - -@The_monster@ @begs@, "Please don't kill me!" - -@The_monster@ @begs@, "Please! I have a lot of children..." - -VISUAL:@The_monster@ tries to recover @possessive@ lost courage. - -VISUAL:@The_monster@ looks really @rattled@. -## END fleeing humanoid ## -%%%% -default friendly humanoid - -@The_monster@ yells, "Run! I'll cover you!" - -@The_monster@ shouts, "Die, monster!" - -@The_monster@ says, "It's nice to have friends." - -VISUAL:@The_monster@ looks at you. - -VISUAL:@The_monster@ smiles at you. - -@The_monster@ says, "@player_name@, you are my only friend." - -@The_monster@ says, "@player_name@, I like you." - -VISUAL:@The_monster@ waves at you. - -@The_monster@ says, "Be careful!" - -@The_monster@ says, "Don't worry. I'm here with you." - -VISUAL:@The_monster@ smiles happily. - -@The_monster@ shouts, "No mercy! Kill them all!" - -@The_monster@ says, "I'll never leave you." - -@The_monster@ says, "I would die for you." - -@The_monster@ shouts, "Beware of monsters!" - -VISUAL:@The_monster@ looks friendly. -## END friendly humanoid ## - -%%%% -default insect - -VISUAL:@The_monster@ waves @possessive@ antennae. -%%%% -default confused insect - -VISUAL:@The_monster@ wildly waves @possessive@ antennae. - -VISUAL:@The_monster@ seems to be having trouble coordinating all six of @possessive@ legs. -%%%% -default confused winged insect - -VISUAL:@The_monster@ wildly waves @possessive@ antennae. - -VISUAL:@The_monster@ wobbles in @possessive@ flight. -%%%% -default confused arachnid - -VISUAL:@The_monster@ seems to be having trouble coordinating all eight of @possessive@ legs. -%%%% -centipede - -VISUAL:@The_monster@ waves its antennae. -%%%% -default confused centipede - -VISUAL:@The_monster@ seems to be having trouble coordinating @possessive@ many legs. - -VISUAL:@The_monster@ wildly waves @possessive@ antennae. - -######################################### -# Speech strings by monster symbol -######################################### -%%%% -default confused 'b' - -VISUAL:@The_monster@ flutters around in erratic circles. -%%%% -default 'cap-G' - -VISUAL:@The_monster@ pulsates ominously. -%%%% -default 'cap-J' - -VISUAL:@The_monster@ jiggles. -%%%% -default confused 'k' - -SOUND:@The_monster@ buzzes around in tight circles. -%%%% -default silenced confused 'k' - -VISUAL:@The_monster@ flies around in tight circles. -%%%% -'l' - -@The_monster@ hisses menacingly. -%%%% -'r' - -VISUAL:@The_monster@ twitches @possessive@ whiskers. -%%%% -default confused 'r' - -VISUAL:@The_monster@ runs around in a circle. -%%%% -# Excluding the moth of wrath, which being a moth doesn't buzz. -default confused 'y' - -SOUND:@The_monster@ buzzes around in tight circles. -%%%% -# Statues and golems never speak unless assigned a message to their -# specific species. -default '8' - -__NONE - -###################### -# Demon taunts -###################### -%%%% -'&' - -@_demon_taunt_@ -%%%% -'1' - -@_demon_taunt_@ -%%%% -'2' - -@_demon_taunt_@ -%%%% -'3' - -@_demon_taunt_@ -%%%% -'4' - -@_demon_taunt_@ - -##################################### -# Demons are silent when not taunting -##################################### -%%%% -default '&' - -__NONE -%%%% -default '1' - -__NONE -%%%% -default '2' - -__NONE -%%%% -default '3' - -__NONE -%%%% -default '4' - -__NONE -%%%% -default '5' - -__NONE - -############### -# Friendly imps -############### -%%%% -# Friendly imps are very common so they speak very very rarely -friendly '5' - -w:9 -__NONE - -w:1 -@_friendly_imp_@ - -%%%% - -#################################################################### -# Player ghost phrases. Ghosts with different classes can be given -# different messages. -#################################################################### -%%%% -# Only use messages that are explicitly for the player ghost, since -# other messages might seem weird coming out of it. -default player ghost - -__NONE -%%%% -silenced player ghost - -VISUAL SPELL:@The_monster@ stares at you. -VISUAL WARN:You feel cold. - -VISUAL:@The_monster@ points at you threateningly. - -VISUAL:@The_monster@ stares at you while slowly dragging a finger across @possessive@ throat. -## END silenced player ghost ## -%%%% -player ghost - -SPELL:@The_monster@ stares at you. -WARN:You feel cold. - -@The_monster@ lets out a mournful wail. - -@The_monster@ keens inconsolably. - -@The_monster@ laughs crazily. - -VISUAL:@The_monster@ grins evilly. - -@The_monster@ makes a sound of rattling chains. - -@The_monster@ wails. - -# mv: ghosts are usually wailing instead of speaking normally, -# aren't they? -@The_monster@ @wails@, "I have seen your future, and it is all used up." - -@The_monster@ @wails@, "They lied to you. The Dungeon just goes down and down forever." - -@The_monster@ @wails@, "Do you think the gods will protect you?" - -@The_monster@ @wails@, "I was like you once." - -@The_monster@ @wails@, "Very impressive. But it won't help. Nothing will." - -@The_monster@ @wails@, "What have you got that I didn't have?" - -@The_monster@ says very slowly, "There's no hope." - -@The_monster@ @wails@, "You will never get the ORB!" - -@The_monster@ @wails@, "You must not succeed where I failed!" - -@The_monster@ screams, "I'll kill anyone who wants the ORB!" - -@The_monster@ screams, "Don't try to defend! You have no chance!" - -@The_monster@ @wails@, "You will join me soon!" - -# Hamlet -@The_monster@ wails, "To die, to sleep, no more." - -@The_monster@ @wails@, "Death is your only future!" - -@The_monster@ whispers, "They're coming for you..." - -@The_monster@ whispers, "Trust me. Just give in." - -@The_monster@ whispers, "Meet the emptiness of death!" - -@The_monster@ whispers, "Death is liberation." - -@The_monster@ whispers, "Everlasting silence awaits you." - -@The_monster@ whispers, "Death doesn't hurt. What you feel is life." - -@The_monster@ whispers, "The ORB doesn't exist." -## END player ghost ## - -####################################### -# Unique monsters -####################################### -%%%% -# She is trying to get money and treasure -Agnes - -VISUAL:@The_monster@ grins evilly. - -@The_monster@ says, "I need a new robe. I'll buy it with your money." - -@The_monster@ says, "How can you wear that ugly dress?" - -@The_monster@ screams, "Give me all your money!" - -@The_monster@ screams, "All treasure is mine!" - -@The_monster@ screams, "You'll never get my money!" - -@The_monster@ screams, "Give me everything and get away!" - -@The_monster@ screams, "I want your rings! And amulets! And... EVERYTHIGNG!" - -@The_monster@ screams, "I hate dirty adventurers like you!" - -@The_monster@ screams, "Die, beast!" -## END Agnes ## -%%%% -Blork the orc - -VISUAL:@The_monster@ grins evilly. - -VISUAL:@The_monster@ frowns. - -VISUAL:@The_monster@ looks angry. - -@The_monster@ screams, "I don't like you!" - -@The_monster@ screams, "I'm going to kill you!" - -@The_monster@ screams, "I'm much stronger than you!" - -@The_monster@ screams, "I'll eat your brain! And then I'll vomit it back up!" - -@The_monster@ screams, "You are the ugliest creature I've ever seen!" - -@The_monster@ screams, "I'll cut your head off!" - -@The_monster@ screams, "I'll break your legs!" - -@The_monster@ screams, "I'll break your arms!" - -@The_monster@ screams, "I'll crush all your ribs! One by one!" - -@The_monster@ screams, "I'll make a cloak from your skin!" - -@The_monster@ screams, "I'll decorate my home with your organs!" - -@The_monster@ screams, "Die!" - -@The_monster@ screams, "I'll cover the dungeon with your blood!" - -@The_monster@ screams, "I'll drink your blood! Soon!" -## END Blork the orc ## -%%%% -# An ancient lich -Boris - -VISUAL SPELL:@The_monster@ stares at you. -VISUAL WARN:You feel drained. - -VISUAL SPELL:@The_monster@ stares at you. -VISUAL WARN:You feel weakened. - -VISUAL SPELL:@The_monster@ stares at you. -VISUAL WARN:You feel troubled. - -SPELL:@The_monster@ casts a spell. -WARN:Your equipment suddenly seems to weigh more. - -SPELL:@The_monster@ casts a spell. -__YOU_RESIST - -SPELL:@The_monster@ casts a spell. -WARN:Suddenly you are surrounded with a pale green light. - -SPELL:@The_monster@ casts a spell. -WARN:You have a terrible headache. - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@ speeds up. - -VISUAL SPELL:@The_monster@ gestures. - -@The_monster@ laughs. - -@The_monster@ says, "I didn't invite you." - -@The_monster@ says, "You can't imagine my power." - -@The_monster@ says, "Orb? You want the Orb? You'll never get it." - -@The_monster@ says, "The world, the flesh, and the devil." - -@The_monster@ says "Magic. You know nothing about it." - -@The_monster@ says, "My power is unlimited." - -@The_monster@ says, "You can't kill me. I'm immortal." - -@The_monster@ says, "I know the secret of eternal life. Do you?" - -@The_monster@ says, "I'll be back." - -@The_monster@ says, "I know your future. Your future is death." - -@The_monster@ says, "Who wants to live forever? Me." - -@The_monster@ says, "Join the legion of my servants." - -@The_monster@ says, "There's only one solution for you. To die." - -@The_monster@ says, "You can never win." -## END Boris ## -%%%% -# An adventurer hating competition -Donald - -@_hostile_adventurer_@ -%%%% -# A mercenary guarding the dungeon -Duane - -@_mercenary_guard_@ -%%%% -# A mercenary guarding the dungeon -Edmund - -@_mercenary_guard_@ -%%%% -# A wild tempered adventuress -Erica - -VISUAL:@The_monster@ looks angry. - -VISUAL:@The_monster@ drinks a potion. - -@The_monster@ laughs wildly. - -@The_monster@ says, "I'm so much better than you." - -@The_monster@ says, "I love to fight, but killing is better." - -@The_monster@ says, "Fast and perfect. Such is my way of killing." - -@The_monster@ screams, "Die!" - -@The_monster@ screams, "Do you want it fast or slow?!" - -@The_monster@ screams, "Hurry, death awaits!" - -@The_monster@ screams, "I'll never tell where it is!" - -@The_monster@ screams, "You'll never get it!" - -@The_monster@ screams, "Coming here was suicide!" -## END Erica ## -%%%% -# An ugly ogre -Erolcha - -@The_monster@ roars. - -@The_monster@ growls. - -VISUAL:@The_monster@ tries to grin evilly. - -@The_monster@ screams, "Eat!" - -@The_monster@ screams, "Stand! Erolcha hit you!" - -@The_monster@ screams, "Blood!" - -@The_monster@ screams, "Erolcha kill you!" - -@The_monster@ screams, "Erolcha crush your head!" - -@The_monster@ screams, "Lunch!" - -@The_monster@ screams, "Erolcha happy to kill you!" - -@The_monster@ screams, "Erolcha angry!" -## END Erolcha ## -%%%% -# A mercenary guarding the dungeon -Frances - -@_mercenary_guard_@ -%%%% -# A wizard looking for body-parts as spell components -Francis - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@'s hands start to glow with a soft light. - -VISUAL:@The_monster@ ponders the situation. - -VISUAL:@The_monster@ looks for a scalpel. - -VISUAL:@The_monster@ throws something at you. - -@The_monster@ asks, "Did you know that corpses are an important natural resource?" - -@The_monster@ asks, "What about a little dissection?" - -@The_monster@ says, "You've nice eyes. I could use them." - -@The_monster@ says, "Excuse me, but I need your head." - -@The_monster@ says, "I only need a few of your organs!" - -@The_monster@ says, "This won't hurt a bit." - -@The_monster@ says, "I want you in my laboratory!" - -@The_monster@ says, "I have something special for you." - -@The_monster@ says, "What about your heart? Do you need it?" - -@The_monster@ says, "Don't worry, I'll take only what I need." - -@The_monster@ screams, "Don't move! I want to cut off your ear!" -## END Francis ## -%%%% -# A mercenary guarding the dungeon -Frederick - -@_mercenary_guard_@ -%%%% -# A twisted goblin -Ijyb - -VISUAL:@The_monster@ grins evilly. - -@The_monster@ screams, "Die!" - -@The_monster@ screams, "Me kill you!" - -@The_monster@ screams, "Me stronger than you!" - -@The_monster@ screams, "It's all mine!" - -@The_monster@ screams, "Get away!" - -@The_monster@ screams, "Level is mine! All mine!" - -@The_monster@ screams, "I cut your head off!" - -@The_monster@ screams, "I dance on your bones!" - -@The_monster@ screams, "Me very upset!" - -@The_monster@ screams, "You nasty! Big nasty!" - -@The_monster@ screams, "No! No, no, no, no!" - -@The_monster@ screams, "I no like you!" -## END Ijyb ## -%%%% -# A middle aged man, hired to kill you. He is in a hurry. -Harold - -VISUAL:@The_monster@ looks nervous. - -@The_monster@ says, "Stand still. I'm trying to kill you." - -@The_monster@ says, "Only a few hits and it's over." - -@The_monster@ says, "You know, I'm in a hurry." - -@The_monster@ says, "Mine is not to reason why. Mine's to do, yours to die." - -@The_monster@ says, "I hope you die faster." - -@The_monster@ screams, "Hurry up!" - -@The_monster@ screams, "Could you die faster?!" - -@The_monster@ screams, "Die!" - -@The_monster@ screams, "I'll finish you soon!" - -@The_monster@ screams, "Don't delay it!" -## END Harold ## -%%%% -# A sorceress disturbed by player -Jessica - -VISUAL:@The_monster@ grins evilly. - -VISUAL:@The_monster@ looks very angry. - -@The_monster@ says, "I'm really upset." - -@The_monster@ very coldly says, "I hate your company." - -@The_monster@ shouts, "I don't like beings like you!" - -@The_monster@ shouts, "Stop bothering me, or I'll kill you!" - -@The_monster@ shouts, "You're disturbing me! I'll have to kill you!" - -@The_monster@ shouts, "You are a ghastly nuisance!" - -SPELL:@The_monster@ mumbles something strange. - -SPELL:@The_monster@ gestures wildly. -## END Jessica ## -%%%% -Joseph - -VISUAL:@The_monster@ smiles happily. - -VISUAL:@The_monster@ tries to grin evilly. - -@The_monster@ says, "I'm happy to see you. And I'll be happy to kill you." - -@The_monster@ says, "I've waited for this moment for such a long time." - -@The_monster@ says, "It's nothing personal, but I have to kill you." - -@The_monster@ says, "You will never get the Orb, sorry." - -@The_monster@ says, "I'm here to kill trespassers. I like my job." - -@The_monster@ says, "You must be punished! Or... I want to punish you!" - -@The_monster@ sighs, "Being a guard is usually so boring..." - -@The_monster@ shouts, "At last, some action!" - -@The_monster@ shouts, "I love to fight! I love killing!" - -@The_monster@ shouts, "Wow!" -## END Joseph ## -%%%% -# An ugly old witch looking for someone to kill -Josephine - -VISUAL:@The_monster@ grins evilly. - -VISUAL:@The_monster@ grins malevolently. - -VISUAL:@The_monster@ grinds her teeth. - -@The_monster@ laughs insanely. - -@The_monster@ says, "I'll make a rug of your skin." - -@The_monster@ says, "How about some decapitation?" - -@The_monster@ screams, "Die!" - -@The_monster@ screams, "I have something special for you." - -@The_monster@ screams, "I'll use your head as a decoration in my hut!" -## END Josephine ## -%%%% -# A bounty hunter -Jozef - -VISUAL:@The_monster@ looks satisfied. - -@The_monster@ asks, "Did you write a testament? You should." - -@The_monster@ asks, "You are @player_name@, aren't you?" - -@The_monster@ says, "You don't look worth it for that money." - -@The_monster@ says, "It's nothing personal. I'm paid for it!" - -@The_monster@ says, "I suppose that you are @player_name@. Sorry if I'm wrong." - -@The_monster@ says, "One dead @player_name@, 500 gold pieces. It's in my contract." - -@The_monster@ says, "My job is sometimes very exciting. Sometimes..." - -@The_monster@ says, "I think I deserve my money." - -@The_monster@ shouts, "I'll get 500 gold for your head!" - -@The_monster@ shouts, "Your time has come!" - -@The_monster@ screams, "Die!" - -@The_monster@ screams, "At last I found you!" - -@The_monster@ screams, "Die! I've got more contracts today." -## END Jozef ## -%%%% -# A powerful sorceress, guarding the ORB -Margery - -VISUAL SPELL:@The_monster@ gestures. - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@ is surrounded with an aura of power. - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@ becomes transparent for a moment. - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@'s hands start to glow. - -SPELL:@The_monster@ screams, "Ergichanteg reztahaw!" -WARN:You feel really bad. - -VISUAL SPELL:@The_monster@ gestures. -VISUAL WARN:You feel doomed. - -VISUAL SPELL:@The_monster@ gestures. -VISUAL WARN:You feel weakened. - -VISUAL SPELL:@The_monster@ throws some purple powder towards you. -VISUAL WARN:You feel cursed. - -VISUAL SPELL:@The_monster@'s eyes start to glow with a red light. - -VISUAL SPELL:@The_monster@'s eyes start to glow with a green light. - -VISUAL SPELL:@The_monster@'s eyes start to glow with a blue light. - -VISUAL:@The_monster@ looks very self-confident. - -@The_monster@ says, "You are dead." - -@The_monster@ says, "Die!" - -@The_monster@ screams, "You must be punished!" - -@The_monster@ screams, "You can't withstand my power!" - -@The_monster@ screams, "All trespassers must die!" - -@The_monster@ screams, "You'll have to get past me!" - -@The_monster@ screams, "You are doomed!" - -@The_monster@ screams, "Nothing can help you." - -@The_monster@ screams, "Death is my middle name!" - -@The_monster@ screams, "The ORB is only a tale, but I will kill you anyway!" -## END Margery -%%%% -# A mercenary guarding the dungeon -Louise - -@_mercenary_guard_@ -%%%% -# A warrior princess looking for the sword "Entarex". -Maud - -VISUAL:@The_monster@ frowns. - -VISUAL:@The_monster@ looks upset. - -@The_monster@ asks, "Will you think of me as you die?" - -@The_monster@ screams, "Submit or die!" - -@The_monster@ screams, "Give me 'Entarex'!" - -@The_monster@ screams, "You can't face my power!" - -@The_monster@ screams, "Give me that sword! Immediately!" - -@The_monster@ screams, "Your life or 'Entarex'! You must choose!" - -@The_monster@ screams, "I want it!" - -@The_monster@ screams, "Die, you thief!" - -@The_monster@ screams, "If you give me 'Entarex', I'll let you live!" -## END Maud ## -%%%% -# Loner spell-caster -Michael - -SPELL:@The_monster@ mumbles some strange words. - -SPELL:@The_monster@ gestures wildly. - -VISUAL SPELL:@The_monster@ points at you. -VISUAL:__YOU_RESIST - -VISUAL:@The_monster@ drinks a potion. - -VISUAL:@The_monster@ looks very angry. - -VISUAL:@The_monster@ frowns. - -VISUAL:@The_monster@ looks angry. - -VISUAL:@The_monster@ shakes with wrath. - -@The_monster@ says, "You really are a nuisance." - -@The_monster@ screams, "I want to be alone!" - -@The_monster@ screams, "Get away! Or better yet, die!" -%%%% -# A disembodied skull. -Murray - -VISUAL:@The_monster@ rolls in a circle. - -VISUAL:@The_monster@ rolls around. - -VISUAL:@The_monster@ spins like a top. - -VISUAL:@The_monster@ grins evilly. - -@The_monster@ laughs evilly. - -@The_monster@'s teeth chatter loudly. - -@The_monster@ says, "You're the second biggest fool I've ever met!" - -@The_monster@ says, "You're the second biggest fool I've ever met!" - -@The_monster@ cackles, "I will rule the world!" - -@The_monster@ screams, "If I had legs, you would be dead twenty times over!" - -@The_monster@ shouts, "Give me your head, so I can impale it on a pike!" - -@The_monster@ shouts, "Let the forces of evil and voodoo overcome you!" - -@The_monster@ yells, "I'm a mighty demonic power!" - -@The_monster@ yells, "My visage is famous all over the dungeon!" -## END Murray ## -%%%% -silenced Murray - -VISUAL:@The_monster@ rolls in a circle. - -VISUAL:@The_monster@ rolls around. - -VISUAL:@The_monster@ spins like a top. - -VISUAL:@The_monster@ grins evilly. - -VISUAL:@The_monster@ seems to say something. - -VISUAL:@The_monster@ says something you can't hear. It was probably not a compliment. -## END silenced Murray ## -%%%% -# A skilled warrior looking for some fame. More kills = more fame. -Norbert - -VISUAL:@The_monster@ smiles happily. - -@The_monster@ asks, "Did you write a will? You should." - -@The_monster@ says, "A pity your head will make such an ugly trophy." - -@The_monster@ says, "I love killing ugly monsters like you." - -@The_monster@ says, "You know, it's an honour to die by my hand." - -@The_monster@ says, "Another dead monster... It must be my lucky day!" - -@The_monster@ says, "I'm sorry but you don't have a chance." - -@The_monster@ screams, "Die, monster!" - -@The_monster@ screams, "I'm a hero!" - -@The_monster@ screams, "Blood an destruction!" - -@The_monster@ screams, "Pray, because you'll die soon!" - -@The_monster@ shouts, "YES! Another notch!" - -@The_monster@ shouts, "Your time has come!" - -@The_monster@ says, "I'm sorry but you don't have a chance." -## END Norbert ## -%%%% -# An enlightened but crazy man -Norris - -SPELL:@The_monster@ mumbles some mantras. - -VISUAL:@The_monster@ is surrounded with aura of peace. - -VISUAL:@The_monster@ looks very balanced. - -VISUAL:@The_monster@ smiles at you. - -VISUAL:@The_monster@ looks relaxed. - -@The_monster@ sings "Hare Rama, Hare Krishna!" - -@The_monster@ sings, "Peace now, freedom now! Peace now, freedom now!" - -@The_monster@ says, "After death you'll find inner peace." - -@The_monster@ says, "Life is just suffering. I'll help you." - -@The_monster@ says, "Don't resist. I'll do it for you." - -@The_monster@ says, "Death is just a liberation!" - -@The_monster@ says, "Feel free to die. It's great thing." - -@The_monster@ says, "OHM MANI PADME HUM!" - -@The_monster@ says, "Breathe deeply." - -@The_monster@ says, "The Orb is only a myth. Forget about it." - -@The_monster@ says, "It's all maya." - -@The_monster@ says, "Drop out!" - -@The_monster@ says, "This is called Combat Meditation." - -@The_monster@ sighs "Enlightenment is such responsibility." - -@The_monster@ screams, "Enter NIRVANA! Now!" - -@The_monster@ screams, "Love! Eternal love!" - -@The_monster@ screams, "Peace! I bring you eternal peace!" - -@The_monster@ screams, "Free your soul! Die!" - -@The_monster@ screams, "Blow your mind!" -## END Norris ## -%%%% -# An insane sorceress -Psyche - -VISUAL:@The_monster@ smiles happily. - -@The_monster@ giggles crazily. - -VISUAL:@The_monster@ cries. - -VISUAL:@The_monster@ stares at you for a moment. - -@The_monster@ sings. - -@The_monster@ sings a strange song. - -VISUAL:@The_monster@ bursts into tears. - -VISUAL:@The_monster@ sucks her thumb. - -@The_monster@ says, "Please, could you die a little faster?" - -@The_monster@ says, "I'm a bad girl, but I can't do anything about it." - -@The_monster@ says, "I'm so lonely. Only corpses are my friends." - -@The_monster@ says, "I'll kill you and take you home." - -@The_monster@ cries, "I hate blood and violence." - -@The_monster@ cries, "You've killed my pet." - -@The_monster@ screams, "YOU ARE VIOLATING AREA SECURITY!!!" - -@The_monster@ screams, "Peace! Flowers! Freedom! Dead adventurers!" - -@The_monster@ shouts, "Well, maybe I'm nutty, but who cares?!" - -@The_monster@ shouts, "I hope that you are sorry for that!" - -# Copyright U2? -@The_monster@ whispers, "Hold me, thrill me, kiss me, kill me." -## END Psyche ## -%%%% -# A crazy adventurer -Rupert - -VISUAL:@The_monster@ looks excited. - -VISUAL:@The_monster@ looks confused. - -@The_monster@ asks, "You're a monster, aren't you?" - -@The_monster@ says, "My Mom always said: 'Kill them all'." - -@The_monster@ shouts, "I'm a great and powerful hero!" - -@The_monster@ screams, "Die, monster!" - -@The_monster@ screams, "Give me the Holy Grail!" - -@The_monster@ screams, "Get ready! I'll kill you! Or something like that..." - -@The_monster@ screams, "You killed all those lovely monsters, you murderer!" - -@The_monster@ screams, "Hurray!" - -@The_monster@ screams, "Red! No, blue!" -## END Rupert ## -%%%% -# Mad old wizard -Sigmund - -w:30 -@The_monster@ laughs crazily. - -VISUAL:@The_monster@ grinds his teeth. - -VISUAL:@The_monster@ tries to bite you. - -@The_monster@ asks, "Do you like me?" - -@The_monster@ says, "Don't worry, I'll kill you fast." - -@The_monster@ says, "You will soon forget everything." - -@The_monster@ says, "Look into my eyes." - -@The_monster@ says, "I'm your fate." - -@The_monster@ screams, "Die, monster!" - -@The_monster@ screams, "You will never... NEVER!!!" - -@The_monster@ screams, "I am the angel of Death!" - -@The_monster@ screams, "Only death can liberate you!" - -@The_monster@ screams, "Don't try to resist!" - -@The_monster@ whispers, "You'll know eternity soon." - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@'s eyes start glowing with a red light. - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@ is suddenly surrounded by pale blue light. - -SPELL:@The_monster@ casts a spell. -ENCHANT:@The_monster@ is suddenly surrounded by pale green light. -## END Sigmund ## -%%%% -# A fighter who likes to kill -Terence - -VISUAL:@The_monster@ looks scornfully at you. - -VISUAL:@The_monster@ bares @possessive@ teeth. - -@The_monster@ asks, "Do you want it fast or slow?" - -@The_monster@ says, "Rest in peace." - -@The_monster@ says, "How do you enjoy it?" - -@The_monster@ says, "You're history." - -@The_monster@ says, "Did you write a will? You should..." - -@The_monster@ says, "Time to say good-bye..." - -@The_monster@ says, "Don't bother to defend, it's @pointless@." - -@The_monster@ says, "I'll show you a few @ploy@s." - -@The_monster@ shouts, "Now you die!" - -@The_monster@ shouts, "@ATTACK@!!!" - -@The_monster@ shouts, "Get ready for death!" - -@The_monster@ screams, "I want your blood!" - -@The_monster@ screams, "I'm going to kill you!" -## END Terence ### -%%%% -# An orc hired to kill you -Urug - -VISUAL:@The_monster@ grins evilly. - -@The_monster@ roars. - -@The_monster@ howls with blood-lust. - -@The_monster@ says, "Maybe you aren't @player_name@. It doesn't matter." - -@The_monster@ sneers, "Innocent? I'll kill you anyway." - -@The_monster@ screams, "Die!" - -@The_monster@ screams, "I'm going to kill you! Now!" - -@The_monster@ screams, "Blood and destruction!" - -@The_monster@ screams, "I'll get 30 silver pieces for your head!" - -@The_monster@ screams, "You are already dead." - -@The_monster@ screams, "I love blood!" -## END Urug ## -%%%% -# An adventurer hating competition -Wayne - -@_hostile_adventurer_@ -%%%% -# An ancient dragon -Xtahua - -VISUAL:@The_monster@ glares at you. - -@The_monster@ growls, "YOU BORE ME SO." - -@The_monster@ rumbles, "YOU'RE BARELY A SNACK." - -@The_monster@ roars, "DIE, PUNY ONE!" - -@The_monster@ roars, "I HATE BEING BOTHERED!" - -@The_monster@ roars, "I HOPE YOU'RE TASTY!" - -@The_monster@ roars, "BAH! BLOODY ADVENTURERS." - -@The_monster@ roars, "FACE MY WRATH!" - -@The_monster@ roars, "COMING HERE WAS YOUR LAST MISTAKE!" - -@The_monster@ roars, "I'VE KILLED HUNDREDS OF ADVENTURERS!" - -@The_monster@ roars horribly. -You are afraid. -## END Xtahua ## - -########################################## -# Specific non-unique monsters -########################################## -%%%% -crystal golem - -VISUAL:@The_monster@ glitters in the dim dungeon light. -%%%% -death cob - -w:1 -The death cob makes a corny joke. - -w:1999 -__NONE -%%%% -death yak - -@yak@ -%%%% -deep elf sorcerer - -@_wizard_@ -%%%% -default electric golem - -SOUND:@The_monster@ crackles and sizzles. -%%%% -default ice statue - -VISUAL:@The_monster@ glitters in the dim dungeon light. -%%%% -imp - -w:1 -@_imp_taunt_@ - -w:2 -@_hostile_imp_@ -%%%% -# Too many killer bees in the hive to have them give messages, unless -# they're confused or fleeing. -killer bee - -__NONE -%%%% -Killer Klown - -@The_monster@ giggles crazily. - -@The_monster@ laughs merrily. - -VISUAL:@The_monster@ beckons to you. - -VISUAL:@The_monster@ does a flip. - -VISUAL:@The_monster@ does a somersault. - -VISUAL:@The_monster@ smiles at you. - -VISUAL:@The_monster@ grins with merry abandon. - -@The_monster@ howls with blood-lust! - -VISUAL:@The_monster@ pokes out @possessive@ tongue. - -@The_monster@ says, "Come and play with me!" -## END Killer Klown ## -%%%% -# The moth of wrath doesn't buzz like the other 'y' monsters, what -# with it being a moth. -default confused moth of wrath - -VISUAL:@The_monster@ flutters around in erratic circles. -%%%% -default orange crystal statue - -VISUAL:@The_monster@ glitters in the dim dungeon light. -%%%% -orc sorcerer - -@_wizard_@ -%%%% -shadow imp - -w:1 -@_imp_taunt_@ - -w:2 -@_hostile_imp_@ -%%%% -sheep - -@The_monster@ "Baaaas" balefully. -%%%% -default silver statue - -VISUAL:@The_monster@ glitters in the dim dungeon light. -%%%% -# A cruel demon -tormentor - -w:1 -@_demon_taunt_@ - -w:9 -@_tormentor_@ -%%%% -_tormentor_ - -w:20 -@The_monster@ says, "I'll crush your bones, one by one." - -@The_monster@ laughs crazily. - -VISUAL:@The_monster@ grins evilly. - -VISUAL:@The_monster@ grins madly. - -VISUAL:@The_monster@ grins malevolently. - -@The_monster@ says, "I am all your nightmares come true." - -@The_monster@ says, "I will show you what pain is." - -@The_monster@ says, "You will wish to die when I get to you." - -@The_monster@ says, "I will drown you in your own blood." - -@The_monster@ says, "I will eat your liver." - -@The_monster@ says, "I know a thousand and one ways to kill you." - -@The_monster@ says, "I'll show you my torture chamber!" - -@The_monster@ says, "I know your fate. It's pain." - -@The_monster@ says, "Get ready! Throes of agony await you." - -@The_monster@ screams, "You will die horribly!" - -@The_monster@ shouts, "Prepare for my thousand needles of pain!" - -@The_monster@ shouts, "I'll tear you apart!" -## END _tormentor_ ## -%%%% -white imp - -w:1 -@_imp_taunt_@ - -w:2 -@_hostile_imp_@ -%%%% -wizard - -@_wizard_@ -%%%% -yak - -@The_monster@ snorts and paws the @surface@. -%%%% -############################################## -############################################## -# Weapons that make noises. -############################################## -# The Singing Sword loves to sing and sometimes talks. -singing sword - -w:4 -@weapon_sings@ - -w:1 -@weapon_talks@ - -%%%% -# Noisy weapons like to chatter and imitate dungeon noises. -noisy weapon - -w:2 -@weapon_talks@ - -w:1 -SOUND:You hear @weapon_noise@ -%%%% -# for the Singing Sword only! -weapon_sings - -#sings -@The_weapon@ hums a little @tune_or_melody@. - -@The_weapon@ breaks into glorious song! - -@The_weapon@ sings. - -@The_weapon@ sings loudly. - -@The_weapon@ sings off-key. - -@The_weapon@ sings, "Tra-la-la..." - -@The_weapon@ sings a lullaby. - -@The_weapon@ whines plaintively. - -@The_weapon@ wails mournfully. - -@The_weapon@ practices its scales. - -@The_weapon@ lilts tunefully. - -@The_weapon@ yodels. - -@The_weapon@ hums tunelessly. - -@The_weapon@ makes a painfully high-pitched squeak. - -@The_weapon@ sings a sudden staccato note. - -@The_weapon@ sings a catchy @tune_or_melody@. - -@The_weapon@ hums a slow waltz. - -@The_weapon@ whistles merrily. - -#Beethoven -@The_weapon@ goes "Da-da-da-dum". - -@The_weapon@ chants serenely. - -@The_weapon@ trills happily. - -@The_weapon@ chants a little melody. - -@The_weapon@ sings a deeply moving song. - -@The_weapon@ hums an eerie @tune_or_melody@. - -@The_weapon@ hums a slow and mournful tune. - -@The_weapon@ launches into yet another solo. - -@The_weapon@ strikes up a merry @tune_or_melody@. - -@The_weapon@ emits a series of high-pitched trills. - -@The_weapon@ composes a new song. - -@The_weapon@ makes a sound as if to clear its throat. - -@The_weapon@ sings a quivering drawn-out note. - -@The_weapon@ sings a little jingle. - -@The_weapon@ strikes up a funeral march. - -@The_weapon@ merrily whistles a melody. - -In a hysterical voice, @the_weapon@ strikes up a march. - -@The_weapon@ sings @several@ chords at once. - -@The_weapon@ trains the @kind_of_scales@ scales. - -@The_weapon@ pulls out all the stops. - -@The_weapon@ sets up a furious crescendo. - -@The_weapon@ plays a requiem for the unknown sword. - -@The_weapon@ strikes up a @dance@. - -@The_weapon@ intones @an_aria_or_fugue@. - -@The_weapon@ @nearly_or_clearly@ @hits_or_misses@ the concert pitch. - -#imitates instruments -@The_weapon@ makes a twanging sound. - -@The_weapon@ chimes melodiously. - -@The_weapon@ chimes harmoniously. - -@The_weapon@ makes beautiful music. - -@The_weapon@ produces a loud orchestral chord. - -@The_weapon@ tinkles. - -@The_weapon@ rings like a bell. - -@The_weapon@ imitates a saxophone. - -@The_weapon@ chimes like a gong. - -@The_weapon@ applauds itself. - -@The_weapon@ goes toot-toot! - -@The_weapon@ does a drum roll. - -@The_weapon@ holds a dissonant chord. - -@The_weapon@ beats time. - -#speaks -@The_weapon@ says, "Hi! I'm the Singing Sword!" - -@The_weapon@ shouts, "Sing along with me!" - -@The_weapon@ shouts, "One, two, three..." - -@The_weapon@ spouts musical wisdom. - -@The_weapon@ chants, "I am golden and pointed, and with blood well anointed." - -@The_weapon@ dictates a lengthy tome entitled 'The Well-Tempered Blade'. - -@The_weapon@ @points_out@ the lack of singing @not_swords@. - -@The_weapon@ embarks on a lenghty monologue about murderous music. - -@The_weapon@ curses its smith: "I was supposed to be the Stinging Sword!" - -@The_weapon@ muses how they don't make such fine swords anymore. - -@The_weapon@ tries to improvise rhymes, and fails miserably. - -@The_weapon@ complains about @double_or_triple@ swords. - -@The_weapon@ derides short swords. - -@The_weapon@ yells, "Ploughshares to swords!" and giggles. - -@The_weapon@ chants, "Rather stab than club, rather slice than rub!" - -# end Singing Sword -%%%% -# general chatter for noisy weapons, -# including Singing Sword -weapon_talks - -#speaks -@Your_weapon@ shouts, "Whoopee!" - -@Your_weapon@ argues with itself. - -@Your_weapon@ complains about the scenery. - -@Your_weapon@ says, "I'm bored." - -@Your_weapon@ shouts out instructions! - -@Your_weapon@ says, "Ssh! Did you hear that?" - -@Your_weapon@ cheers you on. - -@Your_weapon@ calls out a warning! - -@Your_weapon@ hurls insults at you. - -@Your_weapon@ chatters happily. - -@Your_weapon@ recites a poem. - -@Your_weapon@ prattles on and on. - -@Your_weapon@ regales you with its life story. - -@Your_weapon@ speaks gibberish. - -@Your_weapon@ raves incoherently. - -@Your_weapon@ shouts, "Help!" - -@Your_weapon@ happily shouts, "Violence is virtue, silence is sin." - -@Your_weapon@ says, "They will have to pry me from your cold, dead hands." - -@Your_weapon@ longs back for the days in the arena. - -#song by the Misfits -@Your_weapon@ asks plaintively, "Mommy, can I go out and kill tonight?" - -@Your_weapon@ cries, "Don't ditch me yet! I promise to be forever silent." - -@Your_weapon@ amuses itself with detailed descriptions of past executions. - -@Your_weapon@ wails, "I am too young to rust!" - -@Your_weapon@ wishes everyone in the dungeon @unpleasant_or_sudden@ @demise_or_death@. - -@Your_weapon@ fumes, "Being battered, bent and broken sure is better than this boredom!" - -@Your_weapon@ yells, "No battle, no fun!" - -@Your_weapon@ shouts, "This level is mine! Um, ours." - -@Your_weapon@ cracks jokes of @questionable@ humour. - -@Your_weapon@ dwells on sagas on the glory of old. - -@Your_weapon@ belts out, "Dying in battle is most honourable!" - -@Your_weapon@ gleefully confesses its misdeeds. - -@Your_weapon@ groans, "That's what you call fighting?" - -@Your_weapon@ shouts, "Left! No, no, right!". - -@Your_weapon@ says, "How I wish you were a better fighter." - -@Your_weapon@ grouses, "Could you please kill something? I'm itching all over." - -@Your_weapon@ shouts, "Make war, not love!" - -#makes noises -@Your_weapon@ growls menacingly. - -@Your_weapon@ sputters and hisses. - -@Your_weapon@ hollers! - -@Your_weapon@ pants and wheezes. - -@Your_weapon@ barks abruptly. - -@Your_weapon@ sighs. - -@Your_weapon@ wails. - -@Your_weapon@ howls with laughter! - -@Your_weapon@ laughs crazily. - -@Your_weapon@ burps! - -@Your_weapon@ goes snicker-snack! - -@Your_weapon@ lets out a mournful sigh. - -@Your_weapon@ yells in some weird language. - -@Your_weapon@ makes a horrible noise. - -@Your_weapon@ makes a deep moaning sound. - -@Your_weapon@ gives off a wolf whistle. - -@Your_weapon@ wails. - -@Your_weapon@ giggles. - -@Your_weapon@ lets out a whoop! - -@Your_weapon@ yawns loudly. - -@Your_weapon@ intones a prayer. - -@Your_weapon@ cries out! - -@Your_weapon@ swears loudly. - -@Your_weapon@ inquires about your family. - -@Your_weapon@ coughs loudly. - -@Your_weapon@ burbles away merrily. - -@Your_weapon@ gurgles. - -@Your_weapon@ suddenly shrieks! - -@Your_weapon@ cackles. - -@Your_weapon@ warbles. - -@Your_weapon@ suddenly bursts into laughter! - -@Your_weapon@ snorts. - -@Your_weapon@ comments on the weather. - -@Your_weapon@ makes a deep, guttural noise. - -@Your_weapon@ gives off a sizzling sound. - -@Your_weapon@ whistles innocently. - -@Your_weapon@ makes a popping sound. - -@Your_weapon@ yelps loudly! - -@Your_weapon@ lets out a series of bird calls. - -# end weapon chatter -%%%% -# noises for weapons with NOISES property (not Singing Sword!) -weapon_noise - -#dungeon noises -a shout. - -an angry hiss. - -a high-pitched scream! - -a roar! - -a hideous shriek! - -a piteous moan. - -a screech! - -a bellow! - -a loud, deep croak! - -an angry buzzing noise. - -an irritating high-pitched whine. - -a splashing noise. - -a sizzling sound. - -a loud clanging noise! - -a grinding noise. - -a mighty clap of thunder! - -a hideous screaming! - -a bark! - -a rumbling sound. - -a crunching sound. - -a distant "Zot"! - -the distant roaring of an enraged frog. - -# other noises, usually not found in the dungeon -a voice call your name. - -a very strange noise. - -someone snoring. - -the sound of rushing water. - -someone calling for help! - -strange voices. - -a knock. - -maniacal laughter. - -snatches of song. - -a twanging sound. - -the chiming of a distant gong. - -the tinkle of an enormous bell. - -an echo. - -the wailing of sirens. - -a flourish of trumpets! - -# end weapon noises -%%%% -#synonyms for weapon noises -several - -several - -three or four - -a multitude of -%%%% -kind_of_scales - -pentatonic - -chromatic - -diatonic -%%%% -not_swords - -clubs - -axes - -polearms -%%%% -points_out - -points out - -remarks in passing on -%%%% -dance - -bossanova - -waltz - -menuet -%%%% -an_aria_or_fugue - -an aria - -a fugue -%%%% -nearly_or_clearly - -nearly - -clearly -%%%% -hits_or_misses - -hits - -misses -%%%% -tune_or_melody - -tune - -melody -%%%% -unpleasant_or_sudden - -an unpleasant - -a sudden -%%%% -demise_or_death - -demise - -death -%%%% -questionable - -questionable - -doubtful -%%%% -double_or_triple - -double - -triple -%%%% diff --git a/crawl-ref/source/database.cc b/crawl-ref/source/database.cc index 04accbd4f3..d222c31988 100644 --- a/crawl-ref/source/database.cc +++ b/crawl-ref/source/database.cc @@ -26,6 +26,7 @@ db_list openDBList; DBM *descriptionDB; +DBM *randartDB; // shout and speak databases are all generated from a single // text file in the data directory and stored as .db files in the @@ -59,9 +60,15 @@ SingleFileDB singleFileDBs[MAX_DBID] = #define DESC_TXT_DIR "descript" #define DESC_DB (DESC_BASE_NAME ".db") +#define DATABASE_TXT_DIR "database" +#define RANDART_BASE_NAME "randart" +#define RANDART_DB (RANDART_BASE_NAME ".db") + static std::vector description_txt_paths(); -static void store_text_db(const std::string &in, const std::string &out); +static std::vector randart_txt_paths(); static void generate_description_db(); +static void generate_randart_db(); +static void store_text_db(const std::string &in, const std::string &out); static DBM *get_dbm(db_id id); void databaseSystemInit() @@ -85,6 +92,25 @@ void databaseSystemInit() end(1, true, "Failed to open DB: %s", descriptionPath.c_str()); } + if (!randartDB) + { + std::string randartPath = get_savedir_path(RANDART_DB); + std::vector textPaths = randart_txt_paths(); + + // If any of the randart text files are newer then + // aggregated randart db, then regenerate the whole db + for (int i = 0, size = textPaths.size(); i < size; i++) + if (is_newer(textPaths[i], randartPath)) + { + generate_randart_db(); + break; + } + + randartPath.erase(randartPath.length() - 3); + if (!(randartDB = openDB(randartPath.c_str()))) + end(1, true, "Failed to open DB: %s", randartPath.c_str()); + } + for (unsigned int i = 0; i < MAX_DBID; i++) { if (singleFileDBs[i].db) @@ -92,8 +118,14 @@ void databaseSystemInit() std::string dbPath = get_savedir_path( singleFileDBs[i].base_name + ".db"); - std::string dbText = datafile_path( - singleFileDBs[i].base_name + ".txt"); + + std::string filename = DATABASE_TXT_DIR; + filename += FILE_SEPARATOR; + filename += singleFileDBs[i].base_name; + filename += ".txt"; + + std::string dbText = datafile_path(filename); + std::string dbBase = get_savedir_path( singleFileDBs[i].base_name); @@ -121,6 +153,7 @@ void databaseSystemShutdown() } openDBList.clear(); descriptionDB = NULL; + randartDB = NULL; } //////////////////////////////////////////////////////////////////////////// @@ -573,6 +606,47 @@ static void generate_description_db() DO_CHMOD_PRIVATE(full_db_path.c_str()); } +static std::vector randart_txt_paths() +{ + std::vector txt_file_names; + std::vector paths; + + txt_file_names.push_back("randname"); + txt_file_names.push_back("rand_wpn"); // mostly weapons + txt_file_names.push_back("rand_arm"); // mostly armour + txt_file_names.push_back("rand_all"); // jewellery and general + + for (int i = 0, size = txt_file_names.size(); i < size; i++) + { + std::string name = DATABASE_TXT_DIR; + name += FILE_SEPARATOR; + name += txt_file_names[i]; + name += ".txt"; + + std::string txt_path = datafile_path(name); + + if (!txt_path.empty()) + paths.push_back(txt_path); + } + + return (paths); +} + +static void generate_randart_db() +{ + std::string db_path = get_savedir_path(RANDART_BASE_NAME); + std::string full_db_path = get_savedir_path(RANDART_DB); + + std::vector txt_paths = randart_txt_paths(); + + file_lock lock(get_savedir_path(RANDART_BASE_NAME ".lk"), "wb"); + unlink( full_db_path.c_str() ); + + for (int i = 0, size = txt_paths.size(); i < size; i++) + store_text_db(txt_paths[i], db_path); + DO_CHMOD_PRIVATE(full_db_path.c_str()); +} + static DBM *get_dbm(db_id id) { DBM *ret = singleFileDBs[id].db; @@ -590,7 +664,7 @@ std::string getShoutString(const std::string &monst, int num_replacements = 0; return getRandomizedStr(get_dbm(DB_SHOUT), monst, suffix, - num_replacements); + num_replacements); } ///////////////////////////////////////////////////////////////////////////// @@ -602,6 +676,20 @@ std::string getSpeakString(const std::string &monst) return getRandomizedStr(get_dbm(DB_SPEAK), monst, "", num_replacements); } +///////////////////////////////////////////////////////////////////////////// +// Randname DB specific functions. +std::string getRandNameString(const std::string &itemtype, + const std::string &suffix) +{ + if (!randartDB) + return (""); + + int num_replacements = 0; + + return getRandomizedStr(randartDB, itemtype, suffix, + num_replacements); +} + ///////////////////////////////////////////////////////////////////////////// // Help DB specific functions. diff --git a/crawl-ref/source/database.h b/crawl-ref/source/database.h index a23773c6ce..d7fa281a7f 100644 --- a/crawl-ref/source/database.h +++ b/crawl-ref/source/database.h @@ -3,7 +3,7 @@ * Crawl * * Created by Peter Berger on 4/15/07. - * $Id:$ + * $Id$ */ @@ -60,6 +60,8 @@ std::vector getLongDescBodiesByRegex(const std::string ®ex, std::string getShoutString(const std::string &monst, const std::string &suffix = ""); std::string getSpeakString(const std::string &monst); +std::string getRandNameString(const std::string &itemtype, + const std::string &suffix = ""); std::string getHelpString(const std::string &topic); #endif diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h index 109e01ee27..52527c6979 100644 --- a/crawl-ref/source/enum.h +++ b/crawl-ref/source/enum.h @@ -334,9 +334,9 @@ enum branch_type // you.where_are_you BRANCH_GEHENNA, BRANCH_COCYTUS, BRANCH_TARTARUS, + BRANCH_HALL_OF_ZOT, BRANCH_INFERNO, // unimplemented BRANCH_THE_PIT, // unimplemented - BRANCH_HALL_OF_ZOT, BRANCH_CAVERNS, // unimplemented NUM_BRANCHES }; diff --git a/crawl-ref/source/itemname.cc b/crawl-ref/source/itemname.cc index 3ac3df5ee8..74b30e88d2 100644 --- a/crawl-ref/source/itemname.cc +++ b/crawl-ref/source/itemname.cc @@ -980,15 +980,15 @@ std::string item_def::name_aux( description_level_type desc, unsigned long ignore_flags) const { // Shortcuts - const int item_typ = this->sub_type; - const int it_plus = this->plus; + const int item_typ = this->sub_type; + const int it_plus = this->plus; const int item_plus2 = this->plus2; const bool know_type = ident || item_type_known(*this); - const bool dbname = desc == DESC_DBNAME; + const bool dbname = (desc == DESC_DBNAME); const bool basename = (desc == DESC_BASENAME || (dbname && !know_type)); - const bool qualname = desc == DESC_QUALNAME; + const bool qualname = (desc == DESC_QUALNAME); const bool know_curse = !basename && !qualname && !dbname @@ -1029,9 +1029,11 @@ std::string item_def::name_aux( description_level_type desc, // for the name on the main screen). If you're going to change // this behaviour, *please* make it so that there is an option // that maintains this behaviour. -- bwr + // Nor for artefacts. Again, the state should be obvious. --jpeg if (item_cursed( *this )) buff << "cursed "; - else if (Options.show_uncursed && !know_pluses) + else if (Options.show_uncursed && !know_pluses + && (!know_type || !is_artefact(*this))) buff << "uncursed "; } @@ -1163,7 +1165,7 @@ std::string item_def::name_aux( description_level_type desc, // When asking for the base item name, randartism is ignored. if (is_random_artefact( *this ) && !basename && !dbname) { - buff << randart_armour_name(*this); + buff << randart_name(*this); break; } @@ -1378,24 +1380,25 @@ std::string item_def::name_aux( description_level_type desc, break; case OBJ_JEWELLERY: + { if (basename) { if ( jewellery_is_amulet(*this) ) buff << "amulet"; - else // i.e., an amulet + else buff << "ring"; break; } - // not using {tried} here because there are some confusing - // issues to work out with how we want to handle jewellery - // artefacts and base type id. -- bwr + const bool is_randart = is_random_artefact( *this ); + if (know_curse) { if (item_cursed( *this )) buff << "cursed "; else if (Options.show_uncursed && !terse + && (!is_randart || !know_type) && (!ring_has_pluses(*this) || !know_pluses) // If the item is worn, its curse status is known, // no need to belabour the obvious. @@ -1405,9 +1408,9 @@ std::string item_def::name_aux( description_level_type desc, } } - if (is_random_artefact( *this ) && !dbname) + if (is_randart && !dbname) { - buff << randart_jewellery_name(*this); + buff << randart_name(*this); break; } @@ -1435,7 +1438,7 @@ std::string item_def::name_aux( description_level_type desc, << amulet_primary_string(this->special % 13) << " amulet"; } - else // i.e., an amulet + else // i.e., a ring { buff << ring_secondary_string(this->special / 13) << ring_primary_string(this->special % 13) @@ -1443,7 +1446,7 @@ std::string item_def::name_aux( description_level_type desc, } } break; - + } case OBJ_MISCELLANY: if ( item_typ == MISC_RUNE_OF_ZOT ) { diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc index 2dc8e9bcce..86e20cd1d2 100644 --- a/crawl-ref/source/itemprop.cc +++ b/crawl-ref/source/itemprop.cc @@ -1907,6 +1907,10 @@ int ring_has_pluses( const item_def &item ) { ASSERT (item.base_type == OBJ_JEWELLERY); + // not known -> no pluses + if (!item_type_known(item)) + return (0); + switch (item.sub_type) { case RING_SLAYING: @@ -2448,6 +2452,8 @@ std::string item_base_name(const item_def &item) return Missile_prop[Missile_index[item.sub_type]].name; case OBJ_ARMOUR: return Armour_prop[Armour_index[item.sub_type]].name; + case OBJ_JEWELLERY: + return (jewellery_is_amulet(item) ? "amulet" : "ring"); default: return ""; } diff --git a/crawl-ref/source/randart.cc b/crawl-ref/source/randart.cc index a0477e5a60..4c623f19ee 100644 --- a/crawl-ref/source/randart.cc +++ b/crawl-ref/source/randart.cc @@ -23,8 +23,13 @@ #include #include "externs.h" + +#include "database.h" #include "itemname.h" #include "itemprop.h" +#include "place.h" +#include "player.h" +#include "religion.h" #include "stuff.h" #define KNOWN_PROPS_KEY "randart_known_props" @@ -34,728 +39,172 @@ in dungeon.cc and consists of giving it a few random things - plus & plus2 mainly. */ -static const char *rand_wpn_names[] = { - " of Blood", - " of Death", - " of Bloody Death", - " of Pain", - " of Painful Death", - " of Pain & Death", - " of Infinite Pain", - " of Eternal Torment", - " of Power", - " of Wrath", -/* 10: */ - " of Doom", - " of Tender Mercy", - " of the Apocalypse", - " of the Jester", - " of the Ring", - " of the Fool", - " of the Gods", - " of the Imperium", - " of Destruction", - " of Armageddon", -/* 20: */ - " of Cruel Justice", - " of Righteous Anger", - " of Might", - " of the Orb", - " of Makhleb", - " of Trog", - " of Xom", - " of the Ancients", - " of Mana", - " of Nemelex Xobeh", -/* 30: */ - " of the Magi", - " of the Archmagi", - " of the King", - " of the Queen", - " of the Spheres", - " of Circularity", - " of Linearity", - " of Conflict", - " of Battle", - " of Honour", -/* 40: */ - " of the Butterfly", - " of the Wasp", - " of the Frog", - " of the Weasel", - " of the Troglodytes", - " of the Pill-Bug", - " of Sin", - " of Vengeance", - " of Execution", - " of Arbitration", -/* 50: */ - " of the Seeker", - " of Truth", - " of Lies", - " of the Eggplant", - " of the Turnip", - " of Chance", - " of Curses", - " of Hell's Wrath", - " of the Undead", - " of Chaos", -/* 60: */ - " of Law", - " of Life", - " of the Old World", - " of the New World", - " of the Middle World", - " of Crawl", - " of Unpleasantness", - " of Discomfort", - " of Brutal Revenge", - " of Triumph", -/* 70: */ - " of Evisceration", - " of Dismemberment", - " of Terror", - " of Fear", - " of Pride", - " of the Volcano", - " of Blood-Lust", - " of Division", - " of Eternal Harmony", - " of Peace", -/* 80: */ - " of Quick Death", - " of Instant Death", - " of Misery", - " of the Whale", - " of the Lobster", - " of the Whelk", - " of the Penguin", - " of the Puffin", - " of the Mushroom", - " of the Toadstool", -/* 90: */ - " of the Little People", - " of the Puffball", - " of Spores", - " of Optimality", - " of Pareto-Optimality", - " of Greatest Utility", - " of Anarcho-Capitalism", - " of Ancient Evil", - " of the Revolution", - " of the People", -/* 100: */ - " of the Elves", - " of the Dwarves", - " of the Orcs", - " of the Humans", - " of Sludge", - " of the Naga", - " of the Trolls", - " of the Ogres", - " of Equitable Redistribution", - " of Wealth", -/* 110: */ - " of Poverty", - " of Reapportionment", - " of Fragile Peace", - " of Reinforcement", - " of Beauty", - " of the Slug", - " of the Snail", - " of the Gastropod", - " of Corporal Punishment", - " of Capital Punishment", -/* 120: */ - " of the Beast", - " of Light", - " of Darkness", - " of Day", - " of the Day", - " of Night", - " of the Night", - " of Twilight", - " of the Twilight", - " of Dawn", -/* 130: */ - " of the Dawn", - " of the Sun", - " of the Moon", - " of Distant Worlds", - " of the Unseen Realm", - " of Pandemonium", - " of the Abyss", - " of the Nexus", - " of the Gulag", - " of the Crusades", -/* 140: */ - " of Proximity", - " of Wounding", - " of Peril", - " of the Eternal Warrior", - " of the Eternal War", - " of Evil", - " of Pounding", - " of Oozing Pus", - " of Pestilence", - " of Plague", -/* 150: */ - " of Negation", - " of the Saviour", - " of Infection", - " of Defence", - " of Protection", - " of Defence by Offence", - " of Expedience", - " of Reason", - " of Unreason", - " of the Heart", -/* 160: */ - " of Offence", - " of the Leaf", - " of Leaves", - " of Winter", - " of Summer", - " of Autumn", - " of Spring", - " of Midsummer", - " of Midwinter", - " of Eternal Night", -/* 170: */ - " of Shrieking Terror", - " of the Lurker", - " of the Crawling Thing", - " of the Thing", - " \"Thing\"", - " of the Sea", - " of the Forest", - " of the Trees", - " of Earth", - " of the World", -/* 180: */ - " of Bread", - " of Yeast", - " of the Amoeba", - " of Deformation", - " of Guilt", - " of Innocence", - " of Ascent", - " of Descent", - " of Music", - " of Brilliance", -/* 190: */ - " of Disgust", - " of Feasting", - " of Sunlight", - " of Starshine", - " of the Stars", - " of Dust", - " of the Clouds", - " of the Sky", - " of Ash", - " of Slime", -/* 200: */ - " of Clarity", - " of Eternal Vigilance", - " of Purpose", - " of the Moth", - " of the Goat", - " of Fortitude", - " of Equivalence", - " of Balance", - " of Unbalance", - " of Harmony", -/* 210: */ - " of Disharmony", - " of the Inferno", - " of the Omega Point", - " of Inflation", - " of Deflation", - " of Supply", - " of Demand", - " of Gross Domestic Product", - " of Unjust Enrichment", - " of Detinue", -/* 220: */ - " of Conversion", - " of Anton Piller", - " of Mandamus", - " of Frustration", - " of Breach", - " of Fundamental Breach", - " of Termination", - " of Extermination", - " of Satisfaction", - " of Res Nullius", -/* 230: */ - " of Fee Simple", - " of Terra Nullius", - " of Context", - " of Prescription", - " of Freehold", - " of Tortfeasance", - " of Omission", - " of Negligence", - " of Pains", - " of Attainder", -/* 240: */ - " of Action", - " of Inaction", - " of Truncation", - " of Defenestration", - " of Desertification", - " of the Wilderness", - " of Psychosis", - " of Neurosis", - " of Fixation", - " of the Open Hand", -/* 250: */ - " of the Tooth", - " of Honesty", - " of Dishonesty", - " of Divine Compulsion", - " of the Invisible Hand", - " of Freedom", - " of Liberty", - " of Servitude", - " of Domination", - " of Tension", -/* 260: */ - " of Monotheism", - " of Atheism", - " of Agnosticism", - " of Existentialism", - " of the Good", - " of Relativism", - " of Absolutism", - " of Absolution", - " of Abstinence", - " of Abomination", -/* 270: */ - " of Mutilation", - " of Stasis", - " of Wonder", - " of Dullness", - " of Dim Light", - " of the Shining Light", - " of Immorality", - " of Amorality", - " of Precise Incision", - " of Orthodoxy", -/* 280: */ - " of Faith", - " of Untruth", - " of the Augurer", - " of the Water Diviner", - " of the Soothsayer", - " of Punishment", - " of Amelioration", - " of Sulphur", - " of the Egg", - " of the Globe", -/* 290: */ - " of the Candle", - " of the Candelabrum", - " of the Vampires", - " of the Orcs", - " of the Halflings", - " of World's End", - " of Blue Skies", - " of Red Skies", - " of Orange Skies", - " of Purple Skies", -/* 300: */ - " of Articulation", - " of the Mind", - " of the Spider", - " of the Lamprey", - " of the Beginning", - " of the End", - " of Severance", - " of Sequestration", - " of Mourning", - " of Death's Door", -/* 310: */ - " of the Key", - " of Earthquakes", - " of Failure", - " of Success", - " of Intimidation", - " of the Mosquito", - " of the Gnat", - " of the Blowfly", - " of the Turtle", - " of the Tortoise", -/* 320: */ - " of the Pit", - " of the Grave", - " of Submission", - " of Dominance", - " of the Messenger", - " of Crystal", - " of Gravity", - " of Levity", - " of the Slorg", - " of Surprise", -/* 330: */ - " of the Maze", - " of the Labyrinth", - " of Divine Intervention", - " of Rotation", - " of the Spinneret", - " of the Scorpion", - " of Demonkind", - " of the Genius", - " of Bloodstone", - " of Grontol", -/* 340: */ - " \"Grim Tooth\"", - " \"Widowmaker\"", - " \"Widowermaker\"", - " \"Lifebane\"", - " \"Conservator\"", - " \"Banisher\"", - " \"Tormentor\"", - " \"Secret Weapon\"", - " \"String\"", - " \"Stringbean\"", -/* 350: */ - " \"Blob\"", - " \"Globulus\"", - " \"Hulk\"", - " \"Raisin\"", - " \"Starlight\"", - " \"Giant's Toothpick\"", - " \"Pendulum\"", - " \"Backscratcher\"", - " \"Brush\"", - " \"Murmur\"", -/* 360: */ - " \"Sarcophage\"", - " \"Concordance\"", - " \"Dragon's Tongue\"", - " \"Arbiter\"", - " \"Gram\"", - " \"Grom\"", - " \"Grim\"", - " \"Grum\"", - " \"Rummage\"", - " \"Omelette\"", -/* 370: */ - " \"Egg\"", - " \"Aubergine\"", - " \"Z\"", - " \"X\"", - " \"Q\"", - " \"Ox\"", - " \"Death Rattle\"", - " \"Tattletale\"", - " \"Fish\"", - " \"Bung\"", -/* 380: */ - " \"Arcanum\"", - " \"Mud Pie of Death\"", - " \"Transmigrator\"", - " \"Ultimatum\"", - " \"Earthworm\"", - " \"Worm\"", - " \"Worm's Wrath\"", - " \"Xom's Favour\"", - " \"Bingo\"", - " \"Leviticus\"", -/* 390: */ - " of Joyful Slaughter" - - // Lemuel's new names - " \"Eviscerator\"", - " \"Undertaker\"", - " \"Embalmer\"", - " of Sudden Death", - " of Slow Death", - " of Certain Death", - " of Uncertain Death", - " \"Trog's Wrath\"", - " \"Ogre's Foe\"", - " \"Dragon's Doom\"", - " \"Hellblazer\"", - " \"Hell-Harrower\"", - " of Hacking and Slashing", - " of Anger", - " of Fury", - " of Righteous Fury", - " of the Warrior", - " of the Doomed Warrior", - " of the Warrior-Mage", - - // from the crawl.akrasiac.org patch - " of the Alphagorgon", - " \"Cookie Cutter\"", - - " of the Nine Deaths", - " of Megalomania", - " of Egomania", - " of Pyrrhic Victory", - " of Irrepressible Laughter", - " of Impeachment", -}; -static const char *rand_armour_names[] = { -/* 0: */ - " of Shielding", - " of Grace", - " of Impermeability", - " of the Onion", - " of Life", - " of Defence", - " of Nonsense", - " of Eternal Vigilance", - " of Fun", - " of Joy", - " of Death's Door", - " of the Gate", - " of Watchfulness", - " of Integrity", - " of Bodily Harmony", - " of Harmony", - " of the Untouchables", - " of Grot", - " of Grottiness", - " of Filth", - " of Wonder", - " of Wondrous Power", - " of Power", - " of Vlad", - " of the Eternal Fruit", - " of Invincibility", - " of Hide-and-Seek", - " of the Mouse", - " of the Saviour", - " of Plasticity", - " of Baldness", - " of Terror", - " of the Arcane", - " of Resist Death", - " of Anaesthesia", - " of the Guardian", - " of Inviolability", - " of the Tortoise", - " of the Turtle", - " of the Armadillo", - " of the Echidna", - " of the Armoured One", - " of Weirdness", - " of Pathos", - " of Serendipity", - " of Loss", - " of Hedging", - " of Indemnity", - " of Limitation", - " of Exclusion", - " of Repulsion", - " of Untold Secrets", - " of the Earth", - " of the Turtledove", - " of Limited Liability", - " of Responsibility", - " of Hadjma", - " of Glory", - " of Preservation", - " of Conservation", - " of Protective Custody", - " of the Clam", - " of the Barnacle", - " of the Lobster", - " of Hairiness", - " of Supple Strength", - " of Space", - " of the Vacuum", - " of Compression", - " of Decompression", - " of the Loofah", - - // Lemuel's new names - " of the Sun", - " of the Moon", - " of the Stars", - " of the Planets", - " of the Pleiades", - " of the Morning Star", - " of the Evening Star", - " of the Seven Stars", - " of the Seventy-Seven Stars", - " of Departure", - " of Arrival", - " of Change", - " of Stasis", - " of Doubt", - " of Uncertainty", - " of the Elephant", - " of the Donkey", - " of the Zebra", - " of the Hippo", - " of the Giraffe", - " of the Monkey", - " of the Monkey's Uncle", - " of Shadows and Fog", - " of Love and Death", - " of Crimes and Misdemeanours", - " of Courage", - " of Cowardice", - " of Valour", - " of the Extremes", - " of the Middle", - " of the Median", - " of Optimism", - " of Pessimism", - " of the Man with No Name", - " of Crawling", - " of Zot", - " of the Orb", - " of the Orb Guardian", - " of the Dragon", - " of the Komodo Dragon", - " of the Swamp", - " of the Islands", - " of the Lair", - " of the Beasts", - " of the Vault", - " of the Hive", - " of the Beekeeper", - " of the Garden", - " of the Gardener", - " of the Assistant Gardener", - " of War", - " of Peace", - " of Xom", - " of Xom's Laughter", - " of Xom's Questionable Humour", - " of Zin's Displeasure", - " of the Gods", - " of Atheism", - " of Agnosticism", - " of Heresy", - " of the Nightingale", - " of the Meadowlark", - " of Analysis", - " of the Ego", - " of the Id", - " of the Empty Set", - " with No Name", - " with an Unpronounceable Name", - " with a Strange-Sounding Name", - " of Trumpets", - " of the Kettle-Drum", - " of the Accordion", - " of the Hangman", - " of the Hanged Man", - " of Insatiable Hunger", - " of the Devil", - " of Demons", - " of Lesser Demons", - " of Greater Demons", - " of the Iron Devil", - " of Terror", - " of Annoyance", - " of Minor Irritation", - " of Boredom", - " of Ennui", - " of the Springtime", - " of Midsummer", - " of the Harvest", - " of First Snow", - " of Boiling Hail", - " of Perpetual Drought", - " of the Poles", - " of the Tropics", - " of the Equator", - " of the Flat Earth", - " of Premature Burial", - " of False Imprisonment", - " of Moderation", - " of Extremism", - " of Fun and Games", - " of the Great Game", - " of the Game of Life", - " of the King", - " of the Queen", - " of Royalty", - " of Nobility", - " of the Republic", - " of the Empire", - " of Commoners", - " of Peasants", - " of Townfolk", - " of the City", - " of the Country", - " of the Suburbs", - " \"Hero's Friend\"", - " of Calculation", - " of Instinct", - " of Intuition", - " of Magic", - " of Sorcery", - " of Hedge Wizardry", - " of Doom", - " of Pride", - " of Honour", - " of Dishonour", - " of Shame", - " of Embarrassment", - " of Abstract Expressionism", - " of Free Expression", - " of the Guilds", - " of the Guild-Master", - " of the Apprentice", - " of the Blacksmith", - " of the Carpenter", - " of the Wheelwright", - " of the Cooper", - " of the Fisher", - " of the Hunter", - " of the Ditch-Digger", - " of Patience", - " of Impatience", - " of Anxiety", - " of Urgency", - " \"Forget-Me-Not\"", - " of Lilacs", - " of Daffodils", - " of the Rose", - - // from the crawl.akrasiac.org patch. - " of the Hot Ocelot", - " of Eight Boll Weevils", - - " of Internal Strife", - " of Paranoia", - " of Claustrophobia", - " of Agoraphobia", - " of Dyspraxia", - " of Mental Paralysis" -}; +static bool god_fits_artefact(const god_type which_god, const item_def &item) +{ + if (which_god == GOD_NO_GOD) + return (false); + + const int brand = get_weapon_brand(item); + + if (is_evil_god(which_god) && brand == SPWPN_HOLY_WRATH) + return (false); + else if (is_good_god(which_god) && (brand == SPWPN_DRAINING + || brand == SPWPN_PAIN || brand == SPWPN_VAMPIRICISM)) + { + return (false); + } -static const char *randart_weapon_appearance[] = { - "brightly glowing ", "iridescent ", "smoking ", "bloodstained ", "twisted ", - "shimmering ", "warped ", "crystal ", "jewelled ", "transparent ", - "encrusted ", "pitted ", "slimy ", "polished ", "fine ", "crude ", - "ancient ", "ichor-stained ", "faintly glowing ", "steaming ", "shiny " -}; + switch (which_god) + { + case GOD_BEOGH: + if (brand == SPWPN_ORC_SLAYING) + return (false); + break; + + case GOD_ELYVILON: // peaceful healer god, no weapons, no berserking + if (item.base_type == OBJ_WEAPONS) + return (false); + + if (item.base_type == OBJ_JEWELLERY && item.sub_type == AMU_RAGE) + return (false); + + if (randart_wpn_property( item, RAP_ANGRY ) + || randart_wpn_property( item, RAP_BERSERK )) + { + return (false); + } + break; + + case GOD_OKAWARU: // precision fighter + if (item.base_type == OBJ_JEWELLERY && item.sub_type == AMU_INACCURACY) + return (false); + break; + + case GOD_ZIN: + if (item.base_type == OBJ_JEWELLERY && item.sub_type == RING_HUNGER) + return (false); // goes against food theme + + if (randart_wpn_property( item, RAP_MUTAGENIC )) + return (false); // goes against anti-mutagenic theme + break; + + case GOD_SIF_MUNA: + case GOD_KIKUBAAQUDGHA: + case GOD_VEHUMET: + if (randart_wpn_property( item, RAP_PREVENT_SPELLCASTING)) + return (false); + break; + + case GOD_TROG: // hates anything enhancing magic + if (item.base_type == OBJ_JEWELLERY && (item.sub_type == RING_WIZARDRY + || item.sub_type == RING_FIRE || item.sub_type == RING_ICE + || item.sub_type == RING_MAGICAL_POWER)) + { + return (false); + } + if (brand == SPWPN_PAIN) // involves magic + return (false); + + if (randart_wpn_property( item, RAP_MAGICAL_POWER)) + return (false); -static const char *randart_armour_appearance[] = { - "brightly glowing ", "faintly humming ", "smoking ", "bloodstained ", - "twisted ", "shimmering ", "warped ", "heavily runed ", "jewelled ", - "transparent ", "encrusted ", "pitted ", "slimy ", "polished ", "fine ", - "crude ", "ancient ", "ichor-stained ", "faintly glowing ", - "steaming ", "shiny ", "distressingly furry " -}; + default: + break; + } + + return (true); +} -static const char *randart_jewellery_appearance[] = { - "brightly glowing", "runed", "smoking", "ruby", "twisted", - "shimmering", "warped", "crystal", "diamond", "transparent", - "encrusted", "pitted", "slimy", "polished", "fine", "crude", - "ancient", "emerald", "faintly glowing", "steaming", "shiny", - "scintillating", "sparkling", "flickering", "glittering" -}; +static std::string replace_name_parts(const std::string name_in, + const item_def item) +{ + std::string name = name_in; + + // maybe god gift? + god_type god_gift = GOD_NO_GOD; + if (item.orig_monnum < 0) + { + int help = -item.orig_monnum - 2; + if (help > GOD_NO_GOD && help < NUM_GODS) + god_gift = static_cast(help); + } + + // Don't allow "player's Doom" type names for god gifts (except Xom!) + if (name.find("@player_name@'s", 0) != std::string::npos + && god_gift != GOD_NO_GOD && god_gift != GOD_XOM) + { + // simply overwrite the name with one of type "god's Favour" + name = "of "; + name += god_name(god_gift, false); + name += "'s "; + name + getRandNameString("divine_esteem"); + } + name = replace_all(name, "@player_name@", you.your_name); + + name = replace_all(name, "@player_species@", + species_name(static_cast(you.species), 1)); + + name = replace_all(name, "@race_name@", + species_name(static_cast(random2(SP_ELF)),1)); + + if (name.find("@branch_name@", 0) != std::string::npos) + { + std::string place; + if (one_chance_in(5)) + { + switch(random2(6)) + { + case 0: + case 1: + default: + place = "the Abyss"; + break; + case 2: + case 3: + place = "Pandemonium"; + break; + case 4: + place = "the Labyrinth"; + break; + case 5: + place = "the Portal Chambers"; + break; + } + } + else + { + const branch_type branch = + static_cast(random2(BRANCH_INFERNO)); + place = place_name( get_packed_place(branch, 1, LEVEL_DUNGEON), + true, false ); + } + if (!place.empty()) + name = replace_all(name, "@branch_name@", place); + } + + // occasionally use long name for Xom (see religion.cc) + name = replace_all(name, "@xom_name@", god_name(GOD_XOM, coinflip())); + + if (name.find("@god_name@", 0) != std::string::npos) + { + god_type which_god; + + // God gifts will always get the gifting god's name + if (god_gift != GOD_NO_GOD) + which_god = god_gift; + else + { + do { + which_god = static_cast(random2(NUM_GODS)); + } while (!god_fits_artefact(which_god, item)); + } + + name = replace_all(name, "@god_name@", god_name(which_god, false)); + } + + return name; +} // Remember: disallow unrandart creation in abyss/pan @@ -1679,59 +1128,42 @@ bool randart_wpn_known_prop( const item_def &item, randart_prop_type prop ) return known; } -std::string randart_name( const item_def &item ) +static std::string get_artefact_type(const int type) { - ASSERT( item.base_type == OBJ_WEAPONS ); - - if (is_unrandom_artefact( item )) + switch (type) { - const unrandart_entry *unrand = seekunrandart( item ); - return (item_type_known(item) ? unrand->name : unrand->unid_name); - } - - const long seed = calc_seed( item ); - - rng_save_excursion rng_state; - seed_rng( seed ); - - std::string result; - - if (!item_type_known(item)) - { - result += RANDOM_ELEMENT(randart_weapon_appearance); - result += item_base_name(item); - return result; + case OBJ_WEAPONS: + return "weapon"; + case OBJ_ARMOUR: + return "armour"; + case OBJ_JEWELLERY: + return "jewellery"; + default: + return "artefact"; } +} - if (coinflip()) - { - result += item_base_name(item); - result += RANDOM_ELEMENT(rand_wpn_names); - } - else +static bool pick_db_name(const int type) +{ + switch (type) { - const std::string st_p = make_name(random_int(), false); - result += item_base_name(item); - - if (one_chance_in(3)) - { - result += " of "; - result += st_p; - } - else - { - result += " \""; - result += st_p; - result += "\""; - } + case OBJ_WEAPONS: + case OBJ_ARMOUR: + return coinflip(); + case OBJ_JEWELLERY: + return one_chance_in(5); + default: + return 0; } - - return result; } -std::string randart_armour_name( const item_def &item ) +std::string randart_name( const item_def &item ) { - ASSERT( item.base_type == OBJ_ARMOUR ); + ASSERT(is_artefact(item)); + + ASSERT(item.base_type == OBJ_WEAPONS + || item.base_type == OBJ_ARMOUR + || item.base_type == OBJ_JEWELLERY); if (is_unrandom_artefact( item )) { @@ -1741,79 +1173,70 @@ std::string randart_armour_name( const item_def &item ) const long seed = calc_seed( item ); - rng_save_excursion exc; - seed_rng( seed ); - + std::string lookup; std::string result; - if (!item_type_known(item)) + // use prefix of gifting god, if applicable + bool god_gift = false; + int item_orig = 0; + if (item_type_known(item)) // god prefix not necessary for appearance { - result += RANDOM_ELEMENT(randart_armour_appearance); - result += item_base_name(item); - return result; - } - - if (coinflip()) - { - result += item_base_name(item); - result += RANDOM_ELEMENT(rand_armour_names); - } - else - { - const std::string st_p = make_name(random_int(), false); - result += item_base_name(item); - if (one_chance_in(3)) - { - result += " of "; - result += st_p; - } + item_orig = item.orig_monnum; + if (item_orig < 0) + item_orig = -item_orig - 2; else + item_orig = 0; + + if (item_orig > GOD_NO_GOD && item_orig < NUM_GODS) { - result += " \""; - result += st_p; - result += "\""; + lookup += god_name(static_cast(item_orig), false) + " "; + god_gift = true; } } - - return result; -} - -std::string randart_jewellery_name( const item_def &item ) -{ - ASSERT( item.base_type == OBJ_JEWELLERY ); - - - if (is_unrandom_artefact( item )) - { - const unrandart_entry *unrand = seekunrandart( item ); - return (item_type_known(item) ? unrand->name : unrand->unid_name); - } - - const long seed = calc_seed( item ); - - rng_save_excursion exc; + + // get base type + lookup += get_artefact_type(item.base_type); + + rng_save_excursion rng_state; seed_rng( seed ); - std::string result; - if (!item_type_known(item)) { - result += RANDOM_ELEMENT(randart_jewellery_appearance); + std::string appear = getRandNameString(lookup, " appearance"); + if (appear.empty()) // nothing found for lookup + { + appear = getRandNameString("general appearance"); + if (appear.empty()) // still nothing found? + appear = "non-descript"; + } + result += appear; result += " "; - result += (jewellery_is_amulet(item) ? "amulet" : "ring"); - + result += item_base_name(item); return result; } - if (one_chance_in(5)) + if (pick_db_name(item.base_type)) { - result += (jewellery_is_amulet(item) ? "amulet" : "ring"); - result += RANDOM_ELEMENT(rand_armour_names); + result += item_base_name(item) + " "; + std::string name = getRandNameString(lookup); + + if (name.empty() && god_gift) // if nothing found, try god name alone + { + name = getRandNameString(god_name(static_cast(item_orig), false)); + + if (name.empty()) // if still nothing found, try base type alone + name = getRandNameString(get_artefact_type(item.base_type).c_str()); + } + + if (name.empty()) // still nothing found? + result += "of Bugginess"; + else + result += replace_name_parts(name, item); } else { const std::string st_p = make_name(random_int(), false); - result += (jewellery_is_amulet(item) ? "amulet" : "ring"); + result += item_base_name(item); if (one_chance_in(3)) { diff --git a/crawl-ref/source/randart.h b/crawl-ref/source/randart.h index a1002b34bd..a4fdc910e5 100644 --- a/crawl-ref/source/randart.h +++ b/crawl-ref/source/randart.h @@ -32,21 +32,11 @@ unique_item_status_type get_unique_item_status( object_class_type base_type, void set_unique_item_status( object_class_type base_type, int type, unique_item_status_type status ); -/* *********************************************************************** - * called from: itemname - * *********************************************************************** */ -std::string randart_armour_name( const item_def &item ); - /* *********************************************************************** * called from: itemname * *********************************************************************** */ std::string randart_name( const item_def &item ); -/* *********************************************************************** - * called from: itemname - * *********************************************************************** */ -std::string randart_jewellery_name( const item_def &item ); - /* *********************************************************************** * called from: describe * *********************************************************************** */ diff --git a/crawl-ref/source/xom.cc b/crawl-ref/source/xom.cc index 227798e990..2d84382575 100644 --- a/crawl-ref/source/xom.cc +++ b/crawl-ref/source/xom.cc @@ -108,15 +108,15 @@ static const char *xom_generic_beneficence[] = const char *describe_xom_favour() { return (you.piety > 160) ? "A beloved toy of Xom." : - (you.piety > 145) ? "A favourite toy of Xom." : - (you.piety > 130) ? "A very special toy of Xom." : - (you.piety > 115) ? "A special toy of Xom." : - (you.piety > 100) ? "A toy of Xom." : - (you.piety > 85) ? "A plaything of Xom." : - (you.piety > 70) ? "A special plaything of Xom." : - (you.piety > 55) ? "A very special plaything of Xom." : - (you.piety > 40) ? "A favourite plaything of Xom." : - "A beloved plaything of Xom."; + (you.piety > 145) ? "A favourite toy of Xom." : + (you.piety > 130) ? "A very special toy of Xom." : + (you.piety > 115) ? "A special toy of Xom." : + (you.piety > 100) ? "A toy of Xom." : + (you.piety > 85) ? "A plaything of Xom." : + (you.piety > 70) ? "A special plaything of Xom." : + (you.piety > 55) ? "A very special plaything of Xom." : + (you.piety > 40) ? "A favourite plaything of Xom." : + "A beloved plaything of Xom."; } bool xom_is_nice() -- cgit v1.2.3-54-g00ecf