Path: utzoo!utgpu!attcan!uunet!tektronix!tekgen!tekred!games From: games@tekred.TEK.COM Newsgroups: comp.sources.games Subject: v05i046: umoria2 - single player dungeon simulation (ver. 4.87), Part12/18 Message-ID: <2882@tekred.TEK.COM> Date: 28 Jul 88 17:25:49 GMT Sender: billr@tekred.TEK.COM Lines: 1218 Approved: billr@saab.CNA.TEK.COM Submitted by: "James E. Wilson" Comp.sources.games: Volume 5, Issue 46 Archive-name: umoria2/Part12 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh 'Moria.doc.2' <<'END_OF_FILE' X X.NH 2 XThe Town Level X.LP XThe town level is where you will begin your adventure. The Xtown consists of six buildings each with an entrance, some Xtowns `people', and a wall which surrounds the town. The first time Xyou are in town it will be daytime, but you may return to find Xthat darkness has fallen. (Note that some spells may act Xdifferently in the town level.) X X.NH 3 XTownspeople X.LP XThe town contains many different kinds of people. There are Xthe street urchins, young children who will mob an adventurer for Xmoney, and seem to come out of the woodwork when excited. XBlubbering Idiots are a constant annoyance, but not harmful. XPublic drunks wander about the town singing, and are of no Xthreat to anyone. Sneaky rogues hang about watching for a Xlikely victim to mug. And finally, what town would be complete Xwithout a swarm of half drunk warriors, who take offense or Xbecome annoyed just for the fun of it. X.LP XMost of the towns people should be avoided by the largest Xpossible distance when you wander from store to store. Fights Xwill break out though, so be prepared. Since your character grew Xup in this world of intrigue, no experience is awarded for Xkilling on the town level. X X.NH 3 XSupplies X.LP XYour character will begin his adventure with some supplies Xalready on him. Use the Inventory `i' command to check what Xthese supplies are. It will be necessary to buy other supplies Xbefore continuing into the dungeon, however, so be sure to enter Xeach of the stores. X X.NH 3 XTown Buildings X.LP XYou may enter any of the stores, if they are open, and Xbarter with the owner for items you can afford. But be warned Xthat the owners can easily be insulted, and may even throw you Xout for a while if you insult them too often. To enter a store, Xsimply move onto the entrance represented by the numbers 1 Xthrough 6. X.LP XOnce inside a store, his inventory will appear on the screen Xalong with a set of options for your character. You may browse Xthe store's inventory if it takes more than one page to display, Xand you may sell or purchase items in his inventory. You can Xexecute your inventory and equipment commands to see what you are Xcarrying. Not shown with the options are the wear, take-off, and Xexchange commands which will also work, but were excluded to keep Xthe options simple. X.LP XStores do not always have everything in stock. As the game Xprogresses, they may get new items so check from time to time. XAlso, if you sell them an item, it may get sold to a customer Xwhile you are adventuring so don't always expect to be able to Xget back anything you have sold. X.LP XStore owners will not buy harmful or useless items. If an Xobject is unidentified, they will pay you some base price for it. XOnce they have bought it they will immediately identify the Xobject. If it is a good object, they will add it to their Xinventory. If it was a bad bargain, they simply throw the item Xaway. In any case, you may receive some knowledge of the item if Xanother is encountered. X.IP "The General Store" XThe General Store sells foods, drinks, some clothing, Xtorches, lamps, oil, and spikes. All of these items, and others, Xcan be sold back to the General store for money. The entrance to Xthe General Store is a `1'. X.IP "The Armory" XThe Armory is where the town's armor is fashioned. All Xsorts of protective gear may be bought and sold here. The Xentrance to the Armory is a `2'. X.IP "The Weaponsmith\'s Shop" XThe Weaponsmith's Shop is where the town's weapons are Xfashioned. Hand and missile weapons may be purchased and sold Xhere, along with arrows, bolts, and shots. The entrance to the XWeaponsmith's is a `3'. X.IP "The Temple" XThe Temple deals in healing and restoration potions, as well Xas bless scrolls, word-of-recall scrolls, some approved priestly Xweapons, etc. The entrance to the Temple is a `4'. X.IP "The Alchemy shop" XThe Alchemy Shop deals in all manner of potions and scrolls. XThe entrance to the Alchemy Shop is a `5'. X.IP "The Magic User\'s Shop" XThe Magic User's Shop is the most expensive of all the Xstores. It deals in all sorts of rings, wands, amulets, and Xstaves. The entrance to the Magic Shop is a `6'. X X.NH 2 XWithin The Dungeon X.LP XOnce your character is adequately supplied with food, light, Xarmor, and weapons, he is ready to enter the dungeon. Move on Xtop of the `>' symbol and use the down `>' command. Your Xcharacter enters a maze of interconnecting staircases and finally Xpasses through a one-way door. He is now on the first level of Xthe dungeon (50 feet), and must survive many horrible and Xchallenging encounters to find the treasure lying about. X X.NH 3 XLight X.LP XThere are two sources for light once inside the dungeon. XPermanent light which has been magically placed within rooms, and Xa light source carried by the player. If neither is present, the Xcharacter will be unable to map or see any attackers. Lack of Xlight will also affect searching, picking locks, and disarming. X.LP XA character must wield a torch or lamp in order to supply Xhis own light. Once a torch or lamp has only 50 or less turns Xleft before burning out, the message \*QYour light is getting low\*U Xwill be displayed at random intervals. Once a torch is burnt Xout, it is useless and can be dropped. A lamp or lantern can be Xrefilled with oil by using the Fill `F' command. You must of Xcourse be carrying extra oil to refill a lantern. X X.NH 3 XAttacking And Being Attacked X.LP XAttacking is simple in \fImoria\fP. If you move into a creature, Xyou attack him. You can attack from a distance by firing a Xmissile, or by magical means such as aiming a wand. Creatures Xattack in the same way, if they move into you, they attack you. XSome creatures can cast spells from a distance, and dragon type Xcreatures can breath from a distance, but these are the only Xexceptions. X.LP XIf you are wielding a weapon, the damage for the weapon is Xused when you hit the creature. If you are wielding no weapons, Xyou get two fist strikes. Note that very strong creatures can do Xa lot of damage with their fists... A character may have a Xprimary and secondary weapon. A secondary weapon is kept on the Xbelt, or on the shoulder for immediate use. You can switch Xbetween your primary and secondary weapons by using the exchange Xcommand. Be sure you are wielding the proper weapon when Xfighting. Hitting a dragon over the head with a bow will simply Xmake him mad, and get you killed. X.LP XMissile weapons, such as bows, can be wielded, and then the Xproper missile, in this case an arrow, can be fired across the Xroom into a target. Missiles can be used without the proper Xmissile weapon, but used together they have a greater range and Xdo far more damage. X.LP XHits and misses are determined by ability to hit vs. armor Xclass. A miss doesn't necessarily mean you failed to hit the Xtarget, but only that you failed to do any damage. Therefore Xa `hit' is a strike that does some damage. Higher armor classes Xmake it harder to do damage, therefore more misses. X X.NH 4 XYour Weapon X.LP XCarrying a weapon in your backpack does you no good. You Xmust wield a weapon before it can be used in a fight. Note that Xa secondary weapon can be kept by wielding it and then using the Xexchange command. A secondary weapon is not in use, simply Xready to be switched with the current weapon if needed. X.LP XWeapons have two main characteristics, their ability to hit Xand their ability to do damage, expressed as `(+ ,+ )'. A normal Xweapon would be `(+0,+0)'. Many weapons in \fImoria\fP have magical Xbonuses to hit and/or do damage. Some weapons are cursed, and Xhave penalties that hurt the player. Note that cursed swords Xcannot be un-wielded until the curse is lifted. X.LP XMissile weapons, such as bows, have only one major Xcharacteristic which is to hit, expressed `(+ )'. This plus to Xhit is added to that of the missile used, if the proper Xweapon/missiles combination are used. X.LP XAlthough you receive any magical bonuses an unidentified Xweapon may possess when you wield it, those bonuses will not be Xadded in to the displayed values of to-hit and to-dam on your Xcharacter sheet. You must identify the weapon before the Xdisplayed values reflect the real values used. X.LP XFinally, some rare weapons have special abilities. These are Xcalled ego weapons, and are feared by great and meek. An ego Xsword must be wielded to receive benefit of its abilities. X.LP XSpecial weapons are denoted by the following abbreviations: X.IP "DF - Defender." XA magical weapon that actually helps the wielder defend Xhimself, thus increasing his/her armor class. X.IP "FB - Frost Brand." XA magical weapon of ice that delivers a cold critical to Xheat based creatures. X.IP "FT - Flame Tongue." XA magical weapon of flame that delivers a heat critical Xto cold based creatures. X.IP "HA - Holy Avenger." XA Holy Avenger is by far the most powerful of weapons. XHoly Avengers have been known to increase several of the Xwielder's stats, to actually increase the wielder's armor Xclass (because of the terror the weapon spawns in its foes), Xand to actually help the wielder to fight more effectively. X.IP "SD - Slay Dragon." XA Slay Dragon weapon is a special purpose weapon whose Xsole intent is to destroy dragon-kind. Therefore, when used Xagainst a dragon, the amount of damage done is greatly Xincreased. X.IP "SE - Slay Evil." XA Slay Evil weapon is a special purpose weapon whose Xsole intent is to destroy all forms of evil. When used Xagainst an evil creature, either alive or undead, the damage Xdone is greatly increased. X.IP "SM - Slay Monster." XA Slay Monster weapon is a special purpose weapon whose Xsole intent is to destroy all the vile monsters of the world. XA monster is any creature not natural to the world. XTherefore an orc would be a monster, but a giant snake would Xnot be. X.IP "SU - Slay Undead." XA Slay Undead weapon is a special purpose weapon whose Xsole intent is to destroy all forms of undead. This weapon Xis hated and feared by the intelligent undead, for a single Xblow from this weapon is capable of destroying them. X X.NH 4 XBody And Shield Bashes X.LP XWeight is the primary factor in being able to bash Xsomething, but strength plays a role too. After bashing, a Xcharacter may be off balance for several rounds depending upon Xhis dexterity. X.LP XDoors can be broken down by bashing them. Once a door is Xbashed open, it is forever useless and cannot be closed. X.LP XChests too may be bashed open, but be warned that the Xcareless smashing of a chest often ruins the contents. Bashing Xopen a chest will not disarm any traps it may contain, but does Xallow the strong and ignorant to see what is inside. X.LP XFinally, a creature may be bashed. If a shield is currently Xbeing worn, the bash is a shield bash and will do more damage. XIn either case, a bash may throw an opponent off balance for a Xnumber of rounds, allowing a player to get in a free hit or more. XIf the player is thrown off-balance, his opponent may get free Xhits on him. This is a risky attack. X X.NH 4 XYour Armor Class X.LP XArmor class is a number that describes the amount and the Xquality of armor being worn. Armor class will generally run from Xabout 0 to 40, but could become negative or greater than 40 in Xrare cases. X.LP XThe larger your armor class, the more protective it is. A Xnegative armor class would actually help get you hit. Armor Xprotects you in three manners. One, it makes you harder to be Xhit for damage. A hit for no damage is the same as a miss. Two, Xgood armor will absorb some of the damage that your character Xwould have taken. An armor class of 30 would absorb 30% of any Xdamage meant for him. Three, fire and acid damage are reduced by Xwearing body armor. It is obvious that a high armor class is a Xmust for surviving the lower levels of \fImoria\fP. X.LP XEach piece of armor has an armor class adjustment, and a Xmagical bonus. Armor bought in town will have these values Xdisplayed with their description. Armor that is found within the Xdungeon must be identified before these values will be displayed. XArmor class values are always displayed between a set of Xbrackets `[ ,+ ]'. The first value is the armor class of the item. The Xsecond number is the magical bonus of the item, and will always Xhave a sign preceding the value. There are a few cases where the Xform `[+ ]' is used, meaning the object has no armor class, only Xa magical armor bonus if worn. X.LP XSome pieces of armor will possess special abilities denoted Xby the following abbreviations: X.IP "RA - Resist Acid." XThis magical ability is usually enchanted into armor, Xbut may occasionally be found as an ability of a weapon. A Xcharacter using such an object will take only quarter Xdamage from any acid thrown upon him. In addition, armor so Xenchanted will resist the acid's effects and not be damaged Xby it. X.IP "RC - Resist Cold." XThis magical ability is also found in both weapons and Xarmor. A character using a resist cold object will take only Xone third damage from frost and cold. X.IP "RF - Resist Fire." XThis magical ability is found in both weapons and armor. XA character using a resist fire object will take only one Xthird damage from heat and fire. X.IP "RL - Resist Lightning." XThis magical ability is found in both weapons and armor. XA character using a resist lightning object will take only Xone third damage from electrical attacks. X.IP "R - Resistance." XThis magical ability is found only in armor. A Xcharacter wearing armor with this ability will have Xresistance to Acid, Cold, Fire, and Lightning as explained in Xeach part above. X X.NH 3 XObjects Found In The Dungeon X.LP XThe mines are full of objects just waiting to be picked up Xand used. How did they get there? Well, the main source for Xuseful items are all the foolish adventurers that proceeded into Xthe dungeon before you. They get killed, and the helpful Xmonsters scatter the various treasure throughout the dungeon. XMost cursed items are placed there by the joyful evil sorcerers, Xwho enjoy a good joke when it gets you killed. X.LP XYou pick up objects by moving on top of them. You can carry Xup to 22 different items in your backpack while wearing and Xwielding many others. Note that although you are limited to 22 Xdifferent items, you may be carrying several of each item Xrestricted only by the amount of weight your character can carry. XYour character's weight limit is determined by his strength. XOnly one object may occupy any one given floor location, which Xmay or may not also contain one monster. Note that doors, traps, Xand staircases are considered objects for this purpose. X.LP XMany objects found within the dungeon have special commands Xfor their use. Wands must be Aimed, staves must be Used, scrolls Xmust be Read, and potions must be Quaffed. In any case, you must Xfirst be able to carry an object before you can use it. Some Xobjects, such as chests, are very complex. Chests contain other Xobjects and may be trapped, and/or locked. Read the list of Xplayer commands carefully for a further understanding of chests. X.LP XOne item in particular will be discussed here. The scroll Xof \*QWord of Recall\*U can be found within the dungeon, or bought at Xthe temple in town. It acts in two manners, depending upon your Xcurrent location. If read within the dungeon, it will teleport Xyou back to town. If read in town, it will teleport you back Xdown to the deepest level of the dungeon one which your character Xhas previously been. This makes the scroll very useful for Xgetting back to the deeper levels of \fImoria\fP. Once the scroll has Xbeen read it takes a while for the spell to act, so don't expect Xit to save you in a crisis. X.LP XAnd lastly, a final warning. Not all objects are what they Xseem. Skeletons lying peacefully about the dungeon have been Xknown to get up... X X.NH 3 XCursed Objects X.LP XSome objects, mainly armor and weapons, have had curses laid Xupon them. These horrible objects will look like any other Xnormal item, but will detract from your character's stats or Xabilities if worn. They will also be impossible to remove until Xa remove curse is done. X.LP XWhen a cursed item has been identified, an asterisk `*' will Xappear next to the inventory letter of the item. If you should Xwear a cursed item, you will immediately know it is cursed and Xagain the asterisk will appear. X X.NH 3 XMining X.LP XMuch of the treasure within the dungeon can be found only by Xmining it out of the walls. Many rich strikes exist within each Xlevel, but must be found and mined. Quartz veins are the Xrichest, yielding the most metals and gems, but magma veins will Xhave some hordes hidden within. X.LP XMining is virtually impossible without a pick or shovel. XPicks and shovels have an additional magical ability expressed as `(+ )'. XThe higher the number, the better the magical digging Xability of the tool. Note that a pick or shovel also has pluses Xto hit and damage, and can be used as a weapon. X.LP XWhen a vein of quartz or magma is located, the character Xshould wield his pick or shovel and begin digging out a section. XWhen that section is removed, he should locate another section of Xthe vein, and begin the process again. Since granite rock is Xmuch harder to dig through, it is much faster to follow the vein Xexactly and dig around the granite. X.LP XIf the character has a scroll or staff of treasure location, Xhe can immediately locate all strikes of treasure within a vein Xshown on the screen. This makes mining much easier and more Xprofitable. X X.NH 3 XStaircases X.LP XStaircases are the manner in which you get deeper, or climb Xout of the dungeon. The symbols for the up and down staircases Xare the same as the commands to use them. A `<' represents an up Xstaircase and a `>' represents a down staircase. You must move Xyour character over the staircase before you can use them. X.LP XEach level has at least one up staircase, and at least two Xdown staircases. There are no exceptions to this rule. You may Xhave trouble finding some well hidden secret doors, but the Xstairs are there. X X.NH 3 XSecret Doors, Passages, And Rooms X.LP XMany secret doors are used within the dungeon to confuse and Xdemoralize adventurers foolish enough to enter. But with some Xluck, and lots of concentration, you can find these secret doors. X.LP XSecret doors will sometimes hide rooms or corridors, or even Xentire sections of that level of the dungeon. Sometimes they Xsimply hide small empty closets or even dead ends. X.LP XCreatures in the dungeon will generally know and use this Xsecret doors. If they leave one open, you will be able to go Xright through it. If they close it behind them you will have to Xsearch for the catch first. Once a secret door has been Xdiscovered by you, it is drawn as a known door and no more Xsearching will be required to use it. X X.NH 3 XWinning The Game X.LP XOnce your character has progressed into killing dragons with Xbut a mean glance and snap of his fingers, he may be ready to Xtake on the Balrog. The Balrog will appear on every level after Xlevel 49, so don't go down there until you are ready for him. X.LP XThe Balrog cannot be killed in some of the easier methods Xused on normal creatures. Because of the Balrog's cunning, he Xwill teleport away to another level if a spell such as genocide Xis used upon him, and the Balrog cannot be polymorphed, slept, or Xcharmed. Magical spells like coldball are effective against him Xas are weapons, but he is difficult to kill and if allowed to Xescape for a time can heal himself. X.LP XIf you should actually survive the attempt of killing the XBalrog, you will receive the status of WINNER. Since you have Xdefeated the toughest monster alive, your character is ready to Xretire and cannot be saved. When you quit the game, your Xcharacter receives a surprise bonus score and is entered into the Xtoptwenty file. X X.NH 3 XUpon Death And Dying X.LP XIf your character falls below 0 hit points, he has died and Xcannot be restored. A tombstone showing information about your Xcharacter will be displayed with the option to print the Xinformation to a file. X.LP XAfter the tombstone, the toptwenty list of heroes is Xdisplayed. If your score beats any of the toptwenty, your Xcharacter will join this elite rank of heroes. Otherwise, well, Xthere is always next time... X X.NH 3 XWizards X.LP XThere are rumors of \fImoria\fP Wizards which, if asked nicely, Xcan explain details of the \fImoria\fP game that seem complicated to Xbeginners. In addition, they have special spells which can Xrestore characters lost by accident, such as power-outs and such. END_OF_FILE if test 20322 -ne `wc -c <'Moria.doc.2'`; then echo shar: \"'Moria.doc.2'\" unpacked with wrong size! fi # end of 'Moria.doc.2' fi if test -f 'PROBLEMS' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'PROBLEMS'\" else echo shar: Extracting \"'PROBLEMS'\" \(30716 characters\) sed "s/^X//" >'PROBLEMS' <<'END_OF_FILE' X:::::1987 Fixes::::: XFixes before 5/1 Xfixed moving into column one Xtunnel through permanent rock prints tunnel through air? message Xprinting of 18/ stats X^C stops find flag, resting, searching Xmonsters bash doors with 0 hit points Xwhat if pto_hit is negative? Xtest_hit, attack_blows, critical_blows are wrong Xmon_tot_mult bug fixed Xalways have same stats when start Xenchant armor scroll Xwizard_create does not set level!! Xshould treasure level be set to finding level? Xafter cure blindness need a move_char(5) to restore light Xlose_exp in spells.c Xmass_genocide when there are no monsters Xdrop_throw, throwing object against wall goes into infinite loop Xplayer titles for level wrong? Xtd_destroy should unlock chests Xuse of 8's in generate, set wallstk in build_tunnel Xdoor/trap destroy should replace doors with corr2.floor, delete_object Xwhen staff has 0 charges left, don't get warning message Xrecharge spell X----- 5/1 Xinjection from types of wands to metals Xextra space at end of scroll names Xprinting numbers in a field of 6 Xwarning if wielding too heavy of a weapon Xattack_blows, penalty for wielding heavy weapon too severe, Xsave routine, doesn't exit if you type ESCAPE, shouldn't if doing panic save Xselling items to stores, they are still unidentified Xitem prices in stores line up on the right Xrogue_like key binding option Xspelling fixes Xfixed getlogin() call in death.c Xdisable local special characters (^Y, ^R, ^W, ^V, ^O) X------------------- 5/2 Xfixed . problem caused above Xfixed problem with speed, only call search_off in signal.c if search_flag set Xfood problems, fix initialization of py structure in variables.h X------------------- 5/2.5 Xafter ^C, if type n, erase the line at top of screen Xput refresh in erase_line(), so that lines really do get erased Xmonster 'o' Ogre Magi casting unknown spells Xm_level problems, not calculating right numbers for monster generation Xchanged damroll/max_hd so that they no longer clear 'd' in strings Xincreased size of dtype for damroll strings Xincreased size of all defined strings, need one more char for the '\0' Xwands of wonder, not generating new flag correctly Xonly print 'too heavy weapon' message if actually wielding weapon Xwand of heal monster, causes them to scream when hit Xput (void) before all sscanf calls Ximplemented shell_out and (no_)controlz functions Xfixed build_tunnel, removed leftover fragment of earlier incorrect fix X to build_tunnel Xdisplay_inventory doesn't clear last line when 12 items on one page 11 other Xstore_purchase when over 12 items in store passed calculated wrong X count of number of items on second page Xshould put priv_switch stuff back in, i.e. setuid Xgame should be setuid X------------------------- 5/3 Xfixed equip list bug when taking off items Xchanged shell escape command to '!' Xchanged version number to 4.82 Xrestore terminal modes in signal.c before core dumping Xfixed bug in save.c, it was writting/reading too much for magic_spell Xrefixed m_level code, m_level[0] must be added after the randint Xwrote convert program to fix old save files X---------------------------- 5/4 Xput sigsetmask in signals.c, now dumps core on QUIT signal Xfixed empty chests, set flags to zero so no treasure, if search X then identify it as empty Xmissing break for amulets in magic_treasurein misc.c, caused cursed X amulets to have positive attributes Xdispell evil staffs gives segmentation fault, didn't check for muptr == 0 X------------------- 5/5 Xyour resist the affects -> you resist the effects Xonly print "%s appears healthier" if can see the monster Xcheck all uses of muptr, make sure test it not zero before using Xcost for amulets of searching is too high Xevil iggy prints wierd messages when he hits, break missing X----------------------------------- 5/6 Xfixed index bug in misc.c objdes(), used 0 as null string pointer Xadded sun to 'getuid' ifdefs in death.c and misc.c X--------------------------- 5/8 Xfixed help page for rogue mode, searching mode command is ^S Xwhen stun monster by bashing, now does not print name if can't see monster Xallow controlz again, except when setuid or accessing save files X--------------------------- 5/10 Xadded break after cure_poison() in potions.c Xitems sold in stores do not appear in the inventory when last on second page Xsignals.c should restore local special chars before core dump exit Xmonsters bashing doors end up on top of them X can't hit the monsters, can't cast spells at them, etc. X----------------------- 5/11 Xfixed cast_spell, cast was not initialized to FALSE Xinfravision in misc.c should be multiplied by 10 Xfood items become known in a more reasonable fashion X----------------------- 5/13 Xif cast from empty spell book, print error message Xthe base height/weight for female/male characters were reversed X---------------------- 5/14 Xrefixed empty spell book to distinguish the three cases, cas_spell X now has three return values Xremoved the numbers (1 2 3 4 6 7 8 9) from get_dir prompt Xchanged some % chars to %% in print_monster() in files.c Xchanged HD from %d to %s in print_monster() Xfixed jamdoor() was setting i_ptr->p1 instead of t_ptr->p1 Xredefine Search mode command for rogue_like option to # Xchanged message for rest_on, press '^C' not 'any key' Xfixed potential infinite loop problem, must initialize curses before X install signal handlers Xextensive mods to the save routine, added protection mechanisms Xchanged version number to 4.83 Xminor fixes so that source passes lint, removed inkey_delay function Xin store2.c, fix display_inventory() and purchase_haggle() so that X items will not be listed with 0 price for high chr characters X------------------------ 5/15 Xcheck result of fopen for writing scoreboard in top_twenty() Xetc. misspelled in print_monsters() Xadded 'drools' and 'insults' messages in print_monsters() Xmore mods to save routine, compress cave before writing to save file Xwrote wizard restore_char() function Xfixed test for Nighttime in generate.c, should be turn/5000 not turn%5000 Xset moria_flag true after a call to restore_char() in moria.c Xupdate game_version() to include info about me Xran through spell again X---------------------------- 5/16 Xshould call prt_stat_block after wizard restore command Xsetuid code was just plain wrong, fixed it X---------------------------- XSummer vacation! X--------------------------- 8/26 Xchecked every switch statement, found five missing breaks X--------------------------- 8/28 Xchanged use of geteuid() for random seeds, didn't work if setuid to root X--------------------------- 9/4 - 9/6 Xport to SYS V Xchanged store type (and save file format) to avoid warning about nonportable X signed character comparison X--------------------------- 9/9 Xadded bug fixes from doc@s.cc.purdue.edu, mainly dealing with setuid code X---------------------------- 9/11 Xcorrect spelling of receive_offer() (was recieve) X^R in store will 'really' clear screen now Xget_haggle will not accept negative numbers now Xdisarm_all caused segment faults, missing level of braces after t_ptr = &... Xmore spelling errors: Delila(+h) Slim(-e)y Smok(-e)y X--------------------------- 9/16 Xtook out old compatibility code in save.c Xchanged version number to 4.84 Xchanged clear_screen and really_clear_screen so that they set msg_flag FALSE X-------------------------- 9/17 Xremoved loop_flag = FALSE after prt_comment6(), stops wierd behavior if X when buy/sell give a price greater/less than that offered Xput entry in scoreboard when quit Xmodified get_char so that it will read 4.83 save files X------------------------- 9/18 Xfix code so that it passes lint on ultrix and sun Xfix curses bugs with Ultrix, by adding ifdefs for BUGGY_CURSES X remove calls to nl(), and nonl(), don't write chars in last column X-------------------------- 9/19 Xport to SYSTEM V again Xbreakup all files so that they are less than 64K, except the doc file X-------------------------- 10/?? Xchange all instances of (index(...) > 0) to (index(...) != 0) Xfixed three errors, calling randint with arg of 0 Xfixed bug that allowed one to buy objects for negative gold pieces Xfixed many other errors, but forgot to document them (sorry!) X-------------------------- 10/26 Xadd comment about defining _DNO_SIGNED_CHARS for 3Bx series computers XSUN4 has variable class in math.h, added ifdefs to misc1.c and externs.h X to avoid the conflict Xmake variables.h monsters.h treasure1.h and treasure2.h into c files X to avoid problems compiling the HUGE main.c file on a 3B20 Xadded an option '-o' to use the original style key bindings Xadded compiler option to Makefile, so that installer can choose X which key binding style should be the default Xcontrol-c puts you in scoreboard only after character generation complete Xchanged all USG savetty/resetty to saveterm/resetterm, it still seems to work Xchanged version number to 4.85 for distribution purposes X started mailing to comp.sources.games X--------------------------- 10/27 Xmoved clear_screen in top_twenty to before the wizard1 test Xin wizard_restore, don't exit if can't chmod the save file Xwhen save file in wizard mode, leave it readable, this is necessary X to allow the wiazrd to restore other player's 'touch'ed save files Xfixed up the install option in the makefile, added comments to INSTALL Xit is possible to get 'final offer = 0' when selling an object, X fixed by making sure that min_buy and max_buy are >= 1 X---------------------------- 10/29 Xfixed breath, was calling poison_gas with dam = 0 Xput note into MISC_NOTES on how to restore touched save files Xfinished mailing to comp.sources.games X all bug fixes listed above are included in 4.85 X--------------------------------- 11/7 Xmore fixes for SYSV shell out problem X X:::::1988 Fixes::::: X--------------------------------- 1/11 Xfixed "You are too confused to scanf..." message X--------------------------------- 1/14 Xfor SYS V, replaced rand() with lrand(), also fixed init_seeds, set_seed, X reset_seed Xfixed randint, it now returns 32 bits for both BSD & SYS V Xreplaced st_ctime with st_atime in save.c Xdeleted "? for help" messages during character creation Xcheck_pswd now accepts CR or LF to end password, affected those who X used BUGGY_CURSES option Xwhen ^C to quit, now get "killed by quitting" message Xfixed searching of trapped chests, printed wrong message Xif control-C while resting, don't get asked if want to quit Xadded setgid(getgid) to main.c Xremove extraneous refresh/putqio calls from io.c, greatly reduce CPU usage Xcasting blind monster on a monster that normally doesn't move, X causes it to start moving, fixed Xproblem if control-C during -more- prompt fixed Xafter fork, close open file descriptors (scoreboard) X-------------------------------- 1/15 Xafter change of dex/str, misc stats are updated Xchecked all randint for possible randint(0) calls Xremove bonuses for old object before adding bonus for new object in wear() X this affected increase stat rings mostly Xdeleted unneccesary loop from restore_levels in spells.c Xfixed 'no more' message for items that don't start with ampersand, in desc.c Xfixed dprint in death.c, not printing last line of tombstone Xfixed special effects (bolt, ball, breath) in spells.c by adding put_qio calls Xlocked chests were treated as trapped during searching in moria1.c XC command to file showed equipment list starting with b), files.c Xwhen 21 items in inventory, equip list was not updated after removing an X item, unwear() in moria1.c X------------------------------1/18 Xfixed test of py.misc.fos in moria2.c, this number could go negative Xin io.c, clear_screen cleared all used_line flags instead of just the ones X actually cleared Xin io.c, change loops that modify used_line to stop at 22, not 23 X----------------------------- 1/22 Xin scrolls.c, tmp[] was accessed starting at index one instead of zero Xin store2.c, when 12 items in store, offered to sell a-m instead of a-l X---------------------------- 2/6 Xadded check of characters hit point in get_char, this ensures that dead X characters will not be given a chance to restore their hit points X dead characters can be saved by a signal Xconfig.h was non-ansi, macro expanding inside of string constants not allowed X--------------------------- 2/7 Xfixed speed monster problem, infinite loop if point wand at wall X--------------------------- 2/12 Xcompact_objects will no longer delete doors if are on the town level Xin store_create, index to inven_init was off by one, this will fix store X inventories Xmade init_seeds generate a more random initial setup Xremoved Public Domain messages, contradicted the 'all rights reserved' phrase Xchanged all msg_line, msg_line places to msg_line, 0 Xchanged pause_exit in io.c, so that ESC does not quit game, this is X inconsistent with rest of game, expecially get_char Xquart_height, quart_width, msg_line changed to be constants Xchanged turn and store_open to be longs, before store_open was a short which X meant that stores could not become locked after 64K turns Xanother spelling check of all files Xfixed sell_haggle and purchase_haggle so that prices will not go the wrong X way, i.e. no more negative numbers while selling Xchanged time check in save.c to 5 secs so that it matched sleeping time X------------------------------2/14 Xchanged inner loop of print_map to use strcat instead of sprintf, X this gives a big time savings here!! X-----------------------------2/15 Xchanged inner loop of printf_map to index a character pointer instead X of using strcat Xremoved strcpy from lite_spot Xdelete unused code from rest check in dungeon.c, no longer refreshes screen Xremoved refresh from msg_print Xeliminated most abs calls, speed up commonly called routines Xspeed up many of the most commonly used functions Xeliminate test_light call in prt_map in misc1.c, inline the code Ximage avoided by typing ^R Xchanged rogue-like summon monster from ^U to ^S Xfixed throw_object, did not draw object on screen as it moved X---------------------------- 2/18 Xfixed print_objects in files.c, had an exclamation mark before the get_string X---------------------------------2/19 Xooze bug?, cursor disappears, invulnerability, fixed by changing delete X monster so that pushm() is ALWAYS called Xno more silver bug, changed all object definitions so that 'number' is 1 Xplayer_save did not take level into account, two calls did not add it in Xget_hitdie could return a negative number for increase in hit points Xadd rerolling of characters X---------------------- 2/21 Xchanged superb before excellent in likert() in misc1.c to be superb X after excellent X--------------------- 2/27 Xfixed some signal problems upon forking a subprocess Xstone-to-mud that kills a creature now prints death message Xadded ' of' to name of infra-vision potion Xcan now enchant boots with enchant armor scroll Xremoved caps for 'Some' in treasure1.c Xstrip 'some' at start of string in objdes when pref is false X------------------ 3/5 Xalways treat boots as armor, fixed scrolls.c, minus_ac in moria1.c Xask for confirmation if try to cast spell without enough mana Xfix msg_print, put flush if -more- had been printed back in Xfix control-c handler, add test for 0 in get_com of io.c X------------------ 3/7 Xmany grammar/spelling errors fixed, complements Col Sicherman X------------------ 3/17 Xnoticed that character rerolling has somehow disappeared?!?!? X------------------ 3/28 Xexit find mode if character takes damage (for any reason) Xflush input, exit search/rest modes if creature attacks Xbroke up line in place_object, misc2.c to avoid reported compiler bug Xfixed problem with range attacks vs filthy urchin, mon_take_hit returns X -1 if no monster dies not 0 as before Xif monster in unlit area lit by ranged attack then teleports, symbol not X cleared, set in mon_spell_cast, set cast to TRUE when cast X------------------- 3/31 Xset_lightning_destroy was returning the inverse set Xin generate.c, change "doorptr <= 100" to "doorptr < 100", so that X array doorstk[100] accessed correctly X------------------ 4/6 Xoff by one error in place_trap call in vault_trap in generate.c X------------------ 4/16 Xincrease dam/increase ac rings were setting cost incorrectly in misc1.c X------------------ 5/1 Xsalt water not clear POISONED message, call cure_poison instead of clearing X poisoned flag Xlose_exp takes off one too many mana points, wasn't rounding correctly Xin death.c, print out 'mighty Queen' if female character Xcan 'kill' the program twice to get two save files, added var that only allows X one signal handler to execute Xfixed use of reset_flag for free moves, for many commands Xcure blindness does not redraw monsters, added creatures(FALSE) call to X dungeon.c Xeliminate any abs that calls randnor (misc1.c), since abs may be defined X as a macro Xoff by one bug for all player_exp references, could not reach level40, Xcon_adj() used before class adjustments to abilities made in create.c, X so I moved it afterwards Xbless prints max hit points, dungeon.c, the calls were deleted X------------------------ 5/4 Xchanged version number to 4.86, first diffs sent out X----------------------- 5/6 Xfixed recharge in spells.c, did not redraw srceen properly X----------------------- 5/7 Xin dungeon.c, moria1.c, moria2.c, scrolls.c, substituted INVEN_* constants Xin dungeon.c, fast code called msg_print before slowing player, creative X killing could make character permanently hasted X------------------------- 5/10 Xafter save character, set a global so that will not save again if X catch a signal Xexchange x command should report 'can not wield heavy weapon' Xgain_level problem, could reach level 41 with ^J, change player_max_exp in X main.c so that this won't happen, also changed player_exp[39] in var.c X------------------------ 5/17 Xfix typos in misc2.c, io.c, dungeon.c, store2.c, moria2.c to get program X to compile X------------------------- 5/18 Xfixed typo 'of' -> 'or' in dungeon.c Xanother savefile/signal problem, set char_saved before sleep Xmore 'do action before calling msg_print' bugs in dungeon.c fixed, see 5/7 Xlevel 50 objects never created, make t_level 51 element array instead of 50 Xbashing effects (stunned) not cumulative X------------------------- 5/20 Xadded some SYS III notes to INSTALL Xlamp fill messages added to moria2.c, to make it more informative Xwhen player overeats, he is temporarily slowed Xmodified objects in treasure1.c and magic_treasure() in misc1.c X so that all object pluses are part of name Xchanged subval of mush so that it is not same as slime mold Xcast which spell? message does not go away if hit escape, fixed get_spell Xerase_line now clear msg_flag if row == 0 Xnow save stack of last ten messages, changes to io.c and dungeon.c Xoriginal commands changed, wiz pass ^P -> ^W, last message ^M -> ^P, X create object ^W -> ^Q, ^M did not work on Ultrix for last message Xcloaks incorrectly priced, misc1.c was adding 100*to_ac to cost, X this add is done in store1.c Xtreat boots like other armor, add to disenchant list in creature.c Xturn over store contents every 1000 turns, if not on town level X------------------------- 5/21 Xonly print monster name if visible, moria2.c: throw_object() X creature.c: confuse monster check in make_move() X spells.c: sleep_monster1(), fire_bolt(), hp_monster(), drain_life(), X speed_monster(), confuse_creature(), sleep_monster(), X wall_to_mud(), poly_monster(), speed_monsters(), X sleep_monsters2(), dispel_creature(), turn_undead(), X lite_line() Xcast which spell? prompt cleared when ask for list of spells, misc2.c Xfix spells.c so that all spells return TRUE when they should Xcreate food no longer destroys object under player X------------------------- 5/22 Xadd -cont.- message to store display, store2.c X``There is something there already'' *before* asking which drop item, moria2.c X------------------------- 5/24 Xadded panic_save, don't save scores for games from panic save files X modified death.c save.c signals.c Xcould 'ESC' from learn_spell without learning a spell, misc2.c Xarea_affect() moria1.c, exit immediately if clear find_flag X------------------------- 5/25 Xchange prt_field in misc2.c to only pad to 13 char, avoid Ultrix display prob Xdelete unnecessary space in prt_num in misc2.c, avoid Ultrix display prob Xmore mods to the repeat old message code Xchange create object command from ^Q to @ because of problems with control-flow X----------------------- 5/26 Xdon't flush keyboard buffer in create.c, inkey_flush no longer used anywhere Xifdefs SLOW around sleeping code, so that it is optional Xallow much longer names to be entered to create command, wizard.c Xclear store -more- message when number of items drop below 12 Xeliminate large number of uses of the strings " " and "" Xlooking at shop entrance was giving: X you see no more The entrance to the magic shop.. Xchanged version number to 4.87 Xincreased stack to 20 messages Xfixed spacing of equipment list header in file_character(), files.c Xstop run at edge of screen, changed get_panel in moria1.c Xadd store_maint() call when restore save file, one for every day the file X is old X------------------------- 5/27 Xfixed *enchant armor* so that it randomly picks an object to enchant, scrolls.c Xfix town_gen() of generate.c so that stairs always put in same place Xin msg_print() of io.c, clear find flag to terminate a run Xmade sure that documentation race/stat class/stat adjustments corresponded X with the program Xthe save adjustments based on classes were all wrong Xmages fos (i.e. perception) was too high (i.e. bad) Xadded range adjustments to stealth and perception, so that display of this X abilities gave better results, misc2.c files.c X------------------------- 5/28 Xadded character rerolling again to create.c Xfixed indentation of race and class choices in create.c Xadded zillions of register declarations Xeliminated the three different Makefile, put all configurable stuff X in config.h X------------------------- 6/1 Xwhen spell casters lose exp, they lose spells too quickly X lose spell when: not high enough level, num spells more than int allows X should lose spells when lose int/wis Xbrought all miscellaneous documentation files up to date Xstore_open and turn changed back to worlint/int for save file compatibility X reasons Xput new version on ucbarpa, and announced it on the net X----------------------- 6/3 Xwhen removing item in wear() moria1.c, do it after inven_destroy, otherwise X inventory may increase to 23 objects thereby overwritting wielded obj Xadd message about void/int declaration of signal() to signals.c X---------------------- 6/4 Xadded message about gcc needing -fwritable-strings to Makefile and INSTALL Xreworked Makefile to make it easier to use X---------------------- 6/6 Xfix check_pwsd in misc2.c, was strcpy 12 char (13 with \0) into 12 char array X----------------------- 6/9 Xadded separate SYS_III and SYS_V defines to config.h Xadded indirection to function call in spells.c, damage() -> (*damage)() Xfixed initialization of damstring in gold_list, treasure2.c X------------------------ 6/14 Xupdated README and INSTALL documentation Xnew Flexnames sed file for 4.87 umoria, created by shortc Xadd refresh call to shell_out, move duplicate code in dungeon.c into shell_out XSYS_III compiler gives register allocation errors for *= and /= operators X only 23 of them, so I removed them all X---------------------- 6/27 Xtreasure1.c: rings of weakness are now initially cursed Xspells.c: cdefense & 0x80000000 should be cmove, correct comments Xmany files, check places where find_flag cleared and make sure move_char(5) X is called if necessary, particularly msg_print caused a problem X--------------------- 6/28 XMakefile: updated dependency list for .c files Xmany files: change move_char(5) to move_light(char_row, char_col, char_row, X char_col), avoid problems with potential recursive calls to move_char() X XWorking on: X XCheating/Tricks: Xshould potion stat increase (in_statp) be based on cstr (including ring plus) X or on the characters base str (without ring plus) X presently cstr which allows cheating by manipulation of cstr X should de_statp be changed also? Xshould de_statt followed by in_statt increase stat to next 18/xx mod 10? Xgrape jelly trick, restore levels take you back to old hit point levels X or give new levels based on current stats? Xcan circle monsters, by only using diagonals in a diamond shape X XThings to be fixed: X Xcheck plurals "~" in object names, esp. Pint in treasure2.c Xmake get_panel run stops user customizable? Xobjects in outside corners do not stop run Xmoria1.c: area_affect does not need to check "if (find_flag)" Xcarefully check everyplace that clears find_flag, there are a lot X of unnecessary checks, perhaps even some recursive calls to move_char Xcheck setting of moria_flag in dungeon.c, esp. after restore_char () Xadd "moria ^file" option to automatically do wizard restore, X do the umask calls in the program instead of forcing user to type them Xdon't ask for quit on char '\0', should instead ignore it Xcheck for EOF when reading characters Xcomplaint that a hangup (kill -1) results in a game whose X score will no longer be posted to the scoreboard Xresting should have small but finite chance of waking a monster X perhaps check once every 10 turns against randint(6) > stealth Xcursor should be positioned somewhere before each inkey call Xall npc spells should print descriptive message Xallow rerolling after choose race/class Xremove "clear" from random potion names? Xpad should take a char not a string Xprint a number with the repeat_msg command XMessage line overextending into second line should be erased Xidentify staffs/wands as having zero charges, when they run out X``can't carry that much weight'' before ``that many items'' is wrong? X I like it the way it is now, though Xstill too slow on i/o, perhaps rewrite to avoid refresh() calls? X perhaps use only motion optimization stuff? XDot tunneling command Xencrypt info before writing it to the save file X perhaps xor with stat buffer Xdprint in death.c is stupid!! Xprt_map in misc1.c is stupid!! Xdraw_block and sub2_move_light is pretty stupid also, in moria1.c!! Xproblems reported with many calls to detect_sdoors, I think this is a result X of the vault_trap bug fixed 4/6 Xsubval, missile_ctr could be short ints Xnote that some armor can decrease to-hit values in docs, X should these be displayed in name? Xmissing amulets, 1-4 strength, constitution, intelligence, dexterity Xmissing rings 5-6 gain wisdom, gain charisma X note that missing rings/amulets are disjoint Xmissing staff 9 genocide Xmissing staff 24 mass_genocide Xhigh level offensive spells give have a far lower damage/mana ratio than X magic missiles Xhow to abort run on systems without ^C? X perhaps some ifdefed code which does no-blocking I/O for them? Xadd death due to starvation Xwielding heavy wepaons, fix + to hit on screen? Xdon't let dragons breathe on first attack, AMHD is nasty X especially after the screen changes to the next panel Xchecking both ((!m_ptr->ml) or (!see_invis && mon invis)) is probably X redundant when determining whether or not player can see a monster Xlist of spell books not cleared when get cast which spell? prompt Xshould we call m_name if spell only applies to visible creatures? Xmany spells do not print desciptive comment, aggravate_monster for instance Xstores: haggling gets very boring X add prompt to fix price of all objects with same starting price X always go to minimum price after player has exhibited his excellence at X haggling Xwhen moving on objects, say what character moved onto (like rogue) Xbe able to move onto objects without picking them up (like rogue) Xfor throw command, ask for direction first (like rogue) XSYS V does not lock scoreboard when changing it Xcompressing save files would make many people happy Xit is pretty easy to defeat the file protection mechanism, should I toughen X it up? Xif amulet raises stat over 118, stat will be lowered (more than it should be) X when take amulet off, fix this by having 4 values for each stat Xthis file should be in reverse chronological order! Xclonning shimmering molds, one droppped a chest, went over to search chest, X panic save, get panic save everytime restore character, this X may be related to old trap generation problem fixed 4/6 Xweight problem reported, character can not pick anything up? Xwhat if can't write into current directory? (saves files, etc.) Xshould detect monster work on invisible creatures if have see invisible X ability from ring/sword/etc.? Xdoes not understand ~ in path names Xloss of strength doesn't force you to drop items Xin general, loss of an ability should have many affects, non of which are X implemented, for example, lose of intelligence should cause a mage X to lose spells Xcases of permanent slowness reported? Xadd user name to scoreboard? Xalso add points and experience to scoreboard Xchange cost in sell_haggle to a long Xchange item_value to return a long Xchange turn to a long Xstore_open should be a long Xuse of reset_flag for free moves still a little inconsistent Xfix save files to include obj desc, then only need one random number X generator which can use table program Xreplace magic numbers with constants Xname objects if use did not identify them X Xadd a pull-back map command like the PC version, display entire map on screen X only showing important features, like stairs X XVery Hard things to add: Xrecenter character on screen? Xcan't look in any direction, only in the 8 dirs Xcan't cast in any direction, X XLong term stuff, enhancement suggestions: Xgive player something to do with money, i.e. 1Million gp for a HA +10 +10 sword X'flavor' the levels, dragons on one level, undead on another, etc. Xwhat's been discovered list Xuse environment variables to specify rogue-like/original keys Xuse environment variable for default save file Xadd option to restore files from default save filename Xcommands not close enough to rogue style Xfixed item lettering in inventory, in-line/cmd-line options? Xscoreboard have all scores, not top twenty Xcommand line option to print out times open Xcan't drop, identify, pick up, or throw items in equipment list XY destroy command, allow destroy from equipment list Xlet o, c, D commands automatically pick direction when they can Xgive rogue's a chance to steal, e.g. let monsters carry items that they X pick up Xgive magic users a chance at pre identifying scrolls Xcould use a help system, like VMS version Xmake scroll of identify more common, to help non-MU character classes X XFeatures: Xhero/superhero do not subtract hit points when effect wears off XWOR scroll can save you with minus hit points!! Xdetect monster does not detect invisible monsters (normally) Xcan hit monsters in walls, but can not cast at them Xcan not enchant something with negative numbers (i.e. cursed items) Xhow does armor protect against breath/gas? it doesn't!!! Xrun stops one character before room lights, because it is supposed to END_OF_FILE if test 30716 -ne `wc -c <'PROBLEMS'`; then echo shar: \"'PROBLEMS'\" unpacked with wrong size! fi # end of 'PROBLEMS' fi if test -f 'PRONOUNCE' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'PRONOUNCE'\" else echo shar: Extracting \"'PRONOUNCE'\" \(3073 characters\) sed "s/^X//" >'PRONOUNCE' <<'END_OF_FILE' XNewsgroups: rec.games.moria XSubject: Re: How do you pronounce 'moria'? (long) XSummary: MOR-yah XExpires: XReferences: <13523@shemp.CS.UCLA.EDU> XSender: XReply-To: wilson@ji.Berkeley.EDU.UUCP (James E. Wilson) XFollowup-To: XDistribution: XOrganization: University of California, Berkeley XKeywords: Tolkien, Lord of the Rings, Silmarillion X XIn article <13523@shemp.CS.UCLA.EDU> krig@CS.UCLA.EDU (not really; see below) writes: X>Is the name of the game: a) more-EYE-ah X> b) more-EE-ah X> or c) MORE-ee-ah X Xd) None of the above. X XI have always pronounced the name as mor-EYE-uh. This is probably because I Xhave heard a song "They call the wind Mariah!" which uses this Xpronounciation. This song is from the musical "Paint Your Wagon" by XLerner and Lowe. X XThis game is based on the books by J. R. R. Tolkien, though, so I got out my Xbooks and looked it up. Below is the result of my investigation. X X-- "The Return of the King", Part Three of the trilogy "The Lord of the Rings" XAppendix F, X section II: On Translation, paragraph 19 X"But Moria is an Elvish name, and given without love; for the Eldar, though Xthey might at need, in their bitter wars with the Dark Power and his servants, Xcontrive fortresses underground, were not dwellers in such places of choice." X section I: The Languages and Peoples of the Third Age, X subsection Of the Elves, paragraph 2 X"Of the Eldarin tongues two are found in this book: the High-elven or Quenya, Xand the Grey-elven or Sindarin." X paragraph 4 X"The Exiles, dwelling among the more numerous Grey-elves, had adopted the XSindarin for daily use; and hence it was the tongue of all those Elves and XElf-lords that appear in this history." X XAppendix E X section I: Pronunciation of Words and Names X subsection Consonants X"I initially before another vowel has the consonantal sound of y in you, Xyore in Sindarin only: as in Ioreth, Iarwain." X"R represents a trilled r in all positions; the sound was not lost before Xconsonants (as in English part). The Orcs, and some Dwarves, are said to have Xused a back or uvular r, a sound which the Eldar found distasteful." X subsection Vowels, paragraph 1 X"That is, the sounds were approximately those represented by i, e, a, o, u in XEnglish machine, were, father, for, brute, irrespective of quantity." X subsection Vowels, paragraph 4 X"In Sindarin long vowels in stressed monosyllables are marked with the Xcircumflex, since they tended in such cases to be specially prolonged; so in Xdu^n compared with Du'nadan." [Note: see ia^ below] X subsection Stress, paragraph 1 X"In words of two syllables it falls in practically all cases on the first Xsyllable." X X-- "The Silmarillion" XAppendix: Elements in Quenya and Sindarin Names X"mor 'dark' in Mordor, Morgoth, Moria, etc." X"ia^ 'void, abyss' in Moria" X[Note: ia^ apparently is a single syllable because of the circumflex over the a] X XHence, the correct pronounciation appears to be X MOR-yah (trill the r) X XAlternatively, MOR-ee-ah might be acceptable if the ee sound is kept short. X END_OF_FILE if test 3073 -ne `wc -c <'PRONOUNCE'`; then echo shar: \"'PRONOUNCE'\" unpacked with wrong size! fi # end of 'PRONOUNCE' fi echo shar: End of archive 12 \(of 18\). cp /dev/null ark12isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 18 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0