AOY_CONTAINER PATCH Changes the containerisation of the five big ones: The Amulet of Yendor, The Book of the Dead, The Bell of Opening, The Candelabrum of Invocation and the Quest Artifact. config.h #define AOY_CONTAINER in experimental section controls the compilation of this patch dungeon.h #define MIGR_ORACLE to specify that a migrating item is destined to be given to Oracle on her level. extern.h Some functions have been changed from static to global, some functions have parameters added and some new external functions have been declared: pray.c at_your_feet and godvoice changed from static to global. shk.c delete_contents and obfree have new parameter added. steal.c desire_value function added. hack.h #defines for desire_value added. apply.c Usage of obfree changed. bones.c Resetting the desire_values of containers before save. dig.c Two usages of obfree changed. do.c Two usages of obfree changed. do_name.c Naming of Amulet of Yendor or unknown fake Amulet of Yendor is prohibited and are either major or minor transgressions depending is the character still serving it's original god or not. Original god takes greater offence than a new one. Uses godvoice. Also naming of the three invocation items are prohibited. dogmove.c Prohibited a pet to pick up a container that has the Amulet of Yendor inside. dokick.c Two usages of obfree changed. In obj_delivery added a case where the delivery is to be done to the Oracle if she is on her level. If She is not on her level then delivery is done to her adobe. dothrow.c Usage of obfree changed. end.c Usage of obfree changed. fountain.c Two usages of obfree changed. invent.c Uses two global variables defined in rumors.c. Three usages of obfree changed. freeinv_core changed to take care of freeing from the heros inventory a container containing one of the five big ones. addinv_core1 changed to take care of adding into the heros inventory a container containing one of the five big ones. lock.c Usage of obfree changed makemon.c Usage of obfree changed. Changed the handling of quantum mechanics large box. mklev.c Usage of obfree changed. mkobj.c Changed to clear obj->spe and obj->recharged when creating a container. Testing for Schroedinger's Cat changed. Usage of obfree changed. monmove.c Added a move for covetous monster to extract a desired item from a container. The order of extraction is same as the order for stealing. A container containing the desired item counts as the desired item. mthrowu.c Two usages of obfree changed. objnam.c Usage of delete_contents and obfree changed. pickup.c Usage of delete_contents and two usages of obfree changed. Changed the behaviour of in_container to allow the insertion of the big five into a container. The insertion is recorded in obj->spe field of the container so that it is known in which container the item is. Also the fields that record that you carry one of the big five are updated even though the item itself has left your inventory. Changed the behaviour of out_container to reflect that an item that is desired no longer is in the container. Changed the testing for Schroedinger's Cat. potion.c Three usages of obfree changed. pray.c at_your_feet and godvoice made into global functions. rumors.c Defines two global variables oracle_knows and oracle_has that keep record of which of the big four items (QA excluded) Oracle has knowledge or possession. Changed doconsult to handle the migration of the big four items. If the Oracle has one of these items She gives it (them) to the hero for minor consultation. If she has knowledge of the whereabouts of the big four she tells the hero for minor consultation. >> Should the giving of the items changed into a major consultation? shk.c Uses two global variables defined in rumors.c. Changed delete_contents to keep track if the container is a BoH and what to do if the item to be deleted is one of the big four. If AoY is to be deleted then it is sent to the sanctum level unless the hero is on that level, in which case it is dropped to the ground. The other three are half of the time sent to the Oracle and half of the time to their original level, but never to the level where the hero is at the time of deletion. Changed obfree to keep track if the item to be freed was in a BoH. Usage of obfree changed. sp_lev.c Usage of delete_contents changed. spell.c Two usages of obfree changed. steal.c Usage of obfree changed. stealamulet changed to steal a container containing the desired item if applicable. desire_value function added, it returns the value that describes how desirable the item is to a covetous monster. timeout.c Four usages of obfree changed. trap.c Two usages of obfree and one usage of delete_contents changed. uhitm.c Definition of macro useup_eggs changed to reflect the new obfree function. Two usages of obfree changed. wizard.c Added a static function desire_value_by_type that returns the same value as desire_value, but by item type. mon_has_arti and on_ground changed to take account container containing one of the big five. write.c Three usages of obfree changed. zap.c Two usages of obfree and one usage of delete_contents changed. Added the position of object if a container is polymorphed in case the container contains items that are not to be deleted but dropped to the place.