Changes since Lima 1.0b1

Sun Jul 2 09:00:32 2000: Tigran
updated help release

Sun Jul 2 22:08:05 2000: Tigran
modified compile() in LPSCRIPT_D so that it will not regenerate the tmp file if the tmp file is newer than the source file.

Fri Jul 7 14:45:01 2000: Tigran
made a change to SOCKET to utilize an updated socket_address() efun

Fri Jul 7 16:38:34 2000: Tigran
added a local_address() function to SOCKET (That's harder to get than you might think and this way is better)

Fri Jul 7 16:38:34 2000: Tigran
made various modifications to FTP_D to remove resolve() calls that are no longer necessary with the recent SOCKET modifications

Sat Jul 8 00:43:46 2000: Tigran
fixed FTP_D to return an empty list when trying to ls /. rather than a 550 error. The other way worked, but was not what is proper. (This still isn't perfect, but it's much much closer. It's not an error now, but still gives an extra linefeed, which may be acceptable)

Fri Jul 14 12:58:51 2000: Loriel
fixed BODY (/std/body.c) to inherit /std/body/skills.c (subject to the define USE_SKILLS), removing comments and fixing a typo.

Sat Jul 15 12:18:58 2000: Loriel
fixed M_ITEMS (/std/modules/m_items.c), changing "long" to "look" in line 43.

Tue Jul 18 09:49:03 2000: Tigran
fixed a typo in M_EXIT on line 327. query_method_destination should be query_method_description

Tue Jul 18 10:14:55 2000: Tigran
made a modification to M_EXIT to automatically append a \n to an exit description if it does not already have one. (lines 341,342 added)

Tue Jul 18 10:24:53 2000: Tigran
modified the look verb so that you can now look at exits. This means that exits can be described with set_exit_description(dir,desc) from the room. (This function is smart enough to set the long of complex exits as well though not preferred and may change). add_item()'s will still error if you add_item() an item with the same name as a simple exit(which shouldn't happen).

Sun Jul 23 09:53:34 2000: Loriel
fixed the typo "bask" to "back" in /domains/std/Example_Room1.c

Sun Jul 23 12:04:27 2000: Loriel
extended /include/combat_modules.h to handle FORMULA_STATS.

Sun Jul 23 12:09:05 2000: Loriel
extended /std/adversary/mod_config.c to recognise FORMULA_STATS as a valid option.

Wed Aug 2 14:16:01 2000: Tigran
(re)installed the colours command that works without the CONFIGURABLE_COLOUR define that was removed a /long/ time ago

Sun Aug 6 08:29:16 2000: Loriel
fixed /domains/std/table.c, changing the inherit from COMPLEX_CONTAINER to CONTAINER and added a default relation of "on" (Thanks to Jonez for pointing this out).

Sun Aug 6 12:34:30 2000: Loriel
amended PLAYER_MENU (/obj/mudlib/plmemu.c) to better handle prompting to change the ansi setting, by adding an intermediate function prompt_change_ansi() (problem and solution courtesy of Jonez).

Sun Aug 6 13:39:12 2000: Tigran
added some additional LPSCRIPT functionality to OBJECT> Objects now retain their lpscript_attributes after first use so that they do not have to be recalculated every time an lpscript object is loaded. A list of lpscript_attributes for a given object can also be acquired with list_lpscript_attributes(). A copy of the mapping is attained through dump_lpscript_attributes().

Tue Aug 8 20:09:08 2000: Loriel
changed the north exit in /domains/std/cult/Foyer.c from ../room2 to ../Relations_And_Toys. Thanks to Marroc for pointing this out.

Fri Aug 18 17:09:00 2000: Loriel
amended /trans/cmds/cat.c, changing line 22 to avoid looping on an empty string when reading a null file. Thanks to Rakk for pointing out the problem.

Mon Sep 4 21:32:48 2000: Tigran
added go down as an equivalent to descend and 'go up' as an equivalent to 'ascend' in METHOD_D

Thu Sep 7 09:08:20 2000: Tigran
added has_method() to M_COMPLEX_EXIT

Thu Sep 7 09:09:10 2000: Tigran
rewrote STAIRS. This may be a bit of a compat buster, but I don't think so. It is no longer necessary for STAIRS to have arguments passed to it's crete/setup() in order for them to properly function.

Thu Sep 7 09:09:50 2000: Tigran
fixed /std/object/names.c so that add_adjective will set a primary_adjective if one does not already exisdt.

Thu Sep 7 11:08:32 2000: Tigran
added the verbs ascend and descend

Thu Sep 7 19:28:41 2000: Tigran
fixed DOC_D to check for existing directories before creating new ones.

Thu Sep 7 20:14:33 2000: Tigran
fixed M_READABLE at Loriel's suggestion just over a year ago (Line 60, in set_text())

Fri Sep 8 14:36:34 2000: Loriel
amended /std/adversary/wield/multiple.c, adding a check for empty slots into query_weapon() as suggested by Designa.

Sat Sep 9 10:38:52 2000: Loriel
made 3 fixes in M_FILE (/secure/modules/m_file.c) for problems pointed out by Seven - line 37, line 174 and line 183.

Sun Sep 10 13:10:59 2000: Iizuka
added LIMB_ATTACKING to /include/limbs.h and added query_attacking_limbs() to /std/adversary/health/limbs.c.

Sun Sep 10 13:18:19 2000: Iizuka
updated /obj/admtool/daemons/body.c with respect to attacking limbs.

Sun Sep 10 22:44:17 2000: Loriel
amended /obj/admtool/daemons/body.c, inserting parent in finish_add_limb() - line 58.

Sun Sep 10 22:57:39 2000: Loriel
amended BODY_D (/daemons/body_d.c) adding the setting of parent into add_limb_to_body().

Mon Sep 11 15:06:47 2000: Loriel
added is_attacking_limb() into /std/adversary/health/limbs.c.

Mon Sep 11 20:17:50 2000: Loriel
changed STR to STRINGIZE in /std/classes/event_info.c to comply with the correct usage enforced in newer drivers (v22.2b5 onwards).

Tue Sep 12 19:26:41 2000: Loriel
improved /obj/admtool/daemons/body.c, fixing the description of the 'r' option (remove limb) to distinguish it from 'R' (remove body), and added attacking to the valid limb types referred to in line 93 in set_limb_flags().

Tue Sep 12 19:27:25 2000: Loriel
added a check for valid body type into add_limb_to_body() in BODY_D (/daemons/body_d.c).

Fri Sep 15 16:41:10 2000: Loriel
amended "/bulders/" to "/wiz/" in DOC_D (/daemons/doc_d.c). Thanks to Marroc for spotting it.

Sun Sep 17 01:02:37 2000: Loriel
improved the messaging in do_diagnose_liv() in /cmds/verbs/diagnose.c, to avoid others in the room seeing full details - problem reported by Krant.

Mon Sep 18 19:37:35 2000: Loriel
fixed the typo in line 90 of NON_ROOM (/std/non_room.c) pointed out by Krant : ..RESET^.. -> ..RESET%%^..

Sat Sep 23 19:59:54 2000: Loriel
changed data from int to mixed in class event_info in /std/classes/event_info/simple.c (pointed out by Argon).

Sun Sep 24 12:20:04 2000: Iizuka
removed /std/accountant.c and removed ACCOUNTANT from /include/mudlib.h.

Sun Sep 24 12:21:56 2000: Iizuka
installed /std/modules/m_accountant.c and added M_ACCOUNTANT to /include/mudlib.h.

Sun Sep 24 12:23:00 2000: Iizuka
updated /domains/std/bank_accountant.c with respect to the last two changelogs.

Fri Sep 29 11:08:40 2000: Iizuka
installed /std/accountant.c. This solves the LPscript problem reported by Marroc. This assumes adversary, so if you want one from living either modify this or make a similar object using living instead.

Sat Sep 30 16:25:35 2000: Loriel
fixed follow_hook() in M_FOLLOW (/std/modules/m_follow.c) to improve following, including support for function pointers and better checking.

Sun Oct 1 11:21:01 2000: Iizuka
removed add_save() from /std/armor.c and moved it to /std/modules/m_wearable.c, as Marroc suggested. m_wearable now has a mudlib_setup().

Wed Oct 11 04:25:24 2000: Deathblade
fixed a bug! whee! the LPSCRIPT_D / ACCOUNTANT thing. solution was posted by Marroc a couple weeks ago to lima.bugs. It prevented a clean login for me on a fresh mud reboot... had to be fixed :-)

Fri Oct 13 05:41:58 2000: Deathblade
put /daemons/imud/channel.c back to its original pre-bogus state. Minus three cool points to whoever borked it up. Lima can now speak on I3 channels.

Fri Oct 13 06:01:20 2000: Deathblade
added a comment to imud_d.c about us-1.i3.intermud.org being the router address. would be nice if somebody could change imud_d.c to use a hostname rather than a bare IP

Fri Oct 13 21:40:59 2000: Loriel
moved "help release" from /help/wizard/ to /help/player/ so visitors can see it without being auto-wizzed.

Sat Oct 14 16:16:44 2000: Loriel
amended get_size() to query_size() in /domains/std/rooms/beach/Outside_Cave.c. Thanks to Marroc for pointing it out.

Mon Oct 16 07:01:30 2000: Deathblade
added a comment about router_list to imud_d.c to inform newless clubies that it really *is* intended to be saved. (*cough kesac* ahem)

Tue Oct 17 05:38:36 2000: Deathblade
updated USAGE. christ was that an old email address.

Fri Oct 20 18:13:56 2000: Loriel
amended GUILD_D (/daemons/guild_d.c) so that admtool does not give privilege problems, by allowing changes where that is the previous object as well as where the check_previous_privilege() test is passed.

Thu Nov 16 16:25:29 2000: Tigran
fixed a typo in master.c line 372 adjectiv->adjective

Sun Nov 19 09:35:22 2000: Loriel
updated the help on parse_command_adjective_id_list, following the correction of spelling - see /help/wizard/mudos_doc/applies/parsing/.

Sat Dec 16 19:21:51 2000: Loriel
fixed the "no do_* function in /cmds/verbs/go!" error by changing the spelling of do_go_word_obj() to do_go_wrd_obj().

Sat Dec 16 20:10:01 2000: Loriel
further amended /cmds/verbs/go.c, adding a can_go_wrd_obj() returning "You can't do that!\n"

Sat Dec 23 15:55:44 2000: Loriel
amended /help/release/player to show the new (temporary) download site available by courtesy of Rust : http://pip.list.org/~viega/lima-1.0b1+driver.tar.gz

Sun Jan 7 17:20:55 2001: Iizuka
installed very simple docs for adversary in /help/wizard/lib/std/

Tue Jan 23 09:01:32 2001: Loriel
amended DOOR (/std/door.c), changing the messaging in door_check() as proposed by Marroc, namely deleting this_body() from the arguments of the other_action() and changing dir to the_short() in the returned sprintf().

Tue Jan 23 17:15:16 2001: Loriel
rearranged the "screwed up" help files on test_bit/next_bit/set_bit, in /help/wizard/mudos_doc/efuns/strings. Thanks to Pan for pointing it out.

Thu Jan 25 18:59:29 2001: Loriel
amended /std/adversary/blows/base.c, adding a check for queue[i]->target into line 113.

Thu Jan 25 19:03:25 2001: Loriel
amended COMBAT_SPELL (/std/combat_spell.c), changing the final argument to evaluate(damage_func).

Thu Jan 25 19:17:19 2001: Loriel
amended /domains/std/spells/fireball.c to use more appropriate message and damage types.

Wed Jan 31 07:06:19 2001: Loriel
amended /std/objects/names.c, setting primary_id to 0 in remove_id() and clear_id(), and setting primary_adj to 0 in remove_adj() and clear_adj(), as suggested by Marroc.

Wed Jan 31 07:12:59 2001: Loriel
changed pick() to do_pick() in M_LOCKABLE (/std/modules/m_lockable.c), as suggested by Marroc.

Wed Jan 31 07:18:57 2001: Loriel
added a default failure in direct_look_wrd_obj() in /std/object/vsupport.c, as suggested by Marroc.

Wed Jan 31 07:23:55 2001: Loriel
amended the 'helper functions' page_before() and page_after() in BOOK (/std/book.c), as suggested by Marroc (under the misleading heading 'DOOR'.

Wed Jan 31 07:28:55 2001: Loriel
amended the portal setting in setup() in WIZ_ROOM (/domains/std/Wizroom.c) from START to "/domains/std/rooms/beach/Sandy_Beach.c" as suggested by Marroc.

Fri Feb 2 12:12:07 2001: Loriel
amended M_AGGRESSIVE (/std/modules/m_aggressive.c), adding functions agro_fn = (: agro_func :) and moved_fn = (: i_moved :) to ensure hooks are removed properly as required.

Tue Feb 13 13:59:17 2001: Loriel
amended /secure/user/login.c to use choice() in selecting alternate welcome screens, and to check there are files available before doing so.

Mon Feb 19 14:52:08 2001: Loriel
amended /cmds/player/didlog.c so that the /on and /off options use this_user()->set_didlog_off() instead of this_body()->set_ilog_off().

Mon Feb 19 20:38:18 2001: Loriel
amended someone_did() in DID_D (/daemons/did_d.c) to send messages to users, instead of bodies.

Mon Feb 19 22:52:46 2001: Loriel
changed M_COMPLEX_EXIT (/std/modules/m_complex_exit.c), changing the pattern for Destination from %s to %O in stat_me().

Mon Feb 19 23:20:56 2001: Loriel
fixed VEHICLE (/std/vehicle.c) by removing a stray comma from "person_left," in mudlib_setup().

Tue Feb 20 09:59:38 2001: Loriel
amended /std/adversary/advancement/simple.c, changing use of this_body() to this_object().

Tue Feb 20 10:17:54 2001: Loriel
amended HIDDEN_DOOR (/std/hidden_door.c) to use set_hidden() rather than add/remove_hidden_exit(), as suggested by Marroc.

Tue Feb 20 10:25:30 2001: Loriel
amended M_EXIT (/std/modules/m_exit.c) as suggeted by Marroc, using query_hidden_exits() instead of hidden_exits in the function show_exits().

Tue Feb 20 10:40:21 2001: Loriel
amended M_SIBLING (/std/modules/m_sibling.c) as proposed by Marroc, adding set_sibling_ident() and zeroing cached_sibling in setup_sibling().

Tue Feb 20 10:56:49 2001: Loriel
amended DOOR (/std/door.c) for Marroc's suggested replacement of respond_to_sibling_ident() by setup_sibling_ident() in setup_door().

Tue Feb 20 11:55:07 2001: Loriel
amended /include/mudlib.h, adding (back?) the define for MOVING_ROOM.

Tue Feb 20 12:38:43 2001: Loriel
amended various rooms and other items in /domains/std/ for door-related changes from Marroc: Wizroom.c, 2.4.5/attic.scr, 2.4.5/church.scr, 2.4.5/wiz_hall.scr, 2.4.5/elevator.c, 2.4.5/obj/elevator_button.scr, 2.4.5/obj/elevator_call_button.scr, 2.4.5/obj/elevator_door.c.

Tue Feb 20 16:23:09 2001: Loriel
fixed problems in PLAYER_MENU (/obj/mudlib/plmenu.c) by replacing input_one_arg with get_input_then_call approx lines 270 - 290 (solution from Marroc).

Tue Feb 20 16:48:01 2001: Loriel
amended BASE_ROOM (/std/base_room.c), removing the invalid LPscript attribute "default exit" (as pointed out by Marroc), and adding support for room chats, plus support for verbs smell, and pray in the room, as well as proving set_listen() to set the message for listening in the room.

Tue Feb 20 16:54:05 2001: Loriel
added /cmds/verbs/pray.c to support prayers for resurrection (with the NEED_TO_BE_ALIVE flag cleared).

Tue Feb 20 16:55:25 2001: Loriel
extended /cmds/verbs/smell.c to support the simple 'smell' and using do_smell() in the environment.

Tue Feb 20 17:07:53 2001: Loriel
added support for speaking from within containers in rooms to /cmds/players/say.c and /cmds/verbs/say.c (Thanks to Marroc for the code).

Tue Feb 20 17:11:29 2001: Loriel
added Marroc's fixed versions of /cmds/players/adverbs.c and /cmds/players/feelings.c which should no longer error if SOUL_D has been cleared.

Tue Feb 20 17:15:21 2001: Loriel
installed Marroc's amended LPSCRIPT_D (/secure/daemons/lpscript_d.c) which should fix permission problems in sub object file generation.

Changes since Lima 1.0b2

Tue Feb 27 09:48:59 2001: Loriel
added a further error-trap into read_entry() in M_READABLE (/std/modules/m_readable.c) to return 'nothing there' for attempts to read invalid entries, instead of erroring.

Tue Feb 27 16:35:53 2001: Loriel
changed get_lowest_unread_id(current_group) to current_id in menu_select_change_header() in NEWSREADER (/obj/mudlib/newsreader.c) as suggested by Marroc.

Tue Feb 27 18:40:45 2001: Loriel
installed a new ACCOUNTANT (/std/accountant.c) to use the M_ACCOUNTANT (/std/modules/m_accountant.c) module by IIzuka.

Tue Feb 27 18:43:55 2001: Loriel
amended the lpscript attributes of DOOR (/std/door.c) for ident to set_sibling_ident. Thanks to Marroc for spotting it.

Tue Feb 27 19:00:04 2001: Loriel
amended the door_check() function in SECRET_DOOR (/std/secret_door.c) from int to mixed, and to return the environment's get_default_exit() instead of writing it and returning 0. (suggested by Marroc)

Tue Feb 27 19:11:04 2001: Loriel
finished the incomplete implementation of Marroc's fixes to PLAYER_MENU (/obj/mudlib/plmenu.c) relating to souls and adverbs.

Tue Feb 27 19:17:50 2001: Loriel
fixed the spelling of parse_command_adjective_id_list() in /secure/master.c.

Wed Feb 28 09:27:43 2001: Loriel
reinstalled earlier fix to GUILD_D (/daemons/guild_d.c) so that admtool does not give privilege problems, by allowing changes where that is the previous object as well as where the check_previous_privilege() test is passed.

Wed Feb 28 10:37:40 2001: Loriel
amended CONTAINER (/std/container.c), adding error-trapping into reinsert_object() to assume default relation if none is specified, and commented out some of the conditions in indirect_verb_rule, and provided better error messages. Note that there are probably better checks to be added for indirect_verb_rule, but at least these correctly check basic stuff like getting from and putting in.

Thu Mar 1 09:10:06 2001: Loriel
fixed the exit in /domains/std/cult/Foyer.c from ../room2 to ../Relations_And_Toys. Thanks to Marroc for pointing it out.

Thu Mar 1 09:13:22 2001: Loriel
changed get_size() to query_size() in /domains/std/rooms/beach/Outside_Cave.c. Thanks to Marroc for spotting it.

Thu Mar 1 09:16:16 2001: Loriel
replaced example_room1 with Example_Room1 in /domains/std/rooms/v_plains.data - thanks to Marroc for spotting it.

Thu Mar 1 09:23:36 2001: Loriel
added into OBJ (/std/object.c) various lpscript support functions from Marroc.

Thu Mar 1 09:27:24 2001: Loriel
replaced inheritance of COMPLEX_CONTAINER by CONTAINER in /domains/std/table.c.

Thu Mar 1 09:35:32 2001: Loriel
added the saving of num_eats into a newly added mudlib_setup() in M_EDIBLE (/std/modules/m_edible.c).

Thu Mar 1 09:37:40 2001: Loriel
added a new mudlib_setup() into FOOD (/std/food.c) to properly handle the two inherited mudlib_setup() functions from OBJECT and M_EDIBLE.

Thu Mar 1 09:47:25 2001: Loriel
amended query_mail_forward() in NEWS_D (/daemons/news_d.c) as suggested by Marroc, to return an array, empty if no mail forward, and 0 for permission denied.

Thu Mar 1 09:47:31 2001: Loriel
amended /obj/admtool/daemons/news.c to reflect the amendment above.

Thu Mar 1 09:48:55 2001: Loriel
amended show_exits() in M_EXIT (/std/modules/m_exit.c), installing Marroc's fix to better handle case with all exits hidden.

Thu Mar 1 09:57:23 2001: Loriel
added Marroc's proposed fix to /std/body/quests.c, returning 0 for check_quest() if there are no quests.

Fri Mar 2 08:22:25 2001: Loriel
added error-checking into can_drive_str() in /cmds/verbs/drive.c so that attempting to drive whilst not in a vehicle is better handled.

Sat Mar 3 08:12:44 2001: Loriel
amended CORPSE (/std/corpse.c) to remove the $v from $vgnaw in the set_decay_action() in mudlib_setup().

Mon Mar 5 08:31:06 2001: Loriel
amended direct_enter_obj() in /domains/std/objects/sand_castle.c to return a suitable failure message (moving the one from do_enter()).

Tue Mar 6 19:01:26 2001: Loriel
fixed /domains/std/object/dock_wall.c to use do_close instead of close in its trigger() function.

Wed Mar 7 17:50:46 2001: Loriel
removed /daemons/cmd.c (unneeded - misplaced copy of /daemons/channel/cmd.c).

Sat Mar 10 10:28:46 2001: Loriel
amended rcv_finger_reply() in /daemons/imud/finger.c to convert int to string for those muds which choose to break the I3 protocol by returning level as int instead of string.

Fri Mar 23 05:29:59 2001: Loriel
fixed check_previous() in GUILD_D (/daemons/guild_d.c) to take the argument passed - thanks to Sarak for pointing it out.

Sun Mar 25 14:58:49 2001: Loriel
added Marroc's proposed changes to /secure/master.c, to better handle errors of the 'which ... do you mean?' type, adding parser_gen_pos() and amending the ERR_AMBIG case in parser_error_message() to use it.

Tue Mar 27 08:05:31 2001: Loriel
installed Marroc's recursive extension to his fix to the master for ambiguous errors - see parser_gen_pos() and parser_error_message().

Thu Mar 29 15:03:02 2001: Rust
fixed it so that remote tells from others show up in your tell history.

Tue Apr 10 02:53:36 2001: Marroc
created newsgroup lima.bugs.fixed, for bugreps that are supposedly fixed, so that they do not clutter the lima.bugs group.

Tue Apr 10 15:27:25 2001: Rust
made it so that when I3 reports an error it tells you the mud name that sent the error.

Mon Apr 16 19:39:35 2001: Tigran
tweaked HTTP_D so that it parses cgi a bit better with arguments (? vs ?=)

Tue Apr 17 05:51:51 2001: Loriel
amended make_unique_objects_if_needed() in CONTAINER (/std/container.c), adding a clonep() filter and adjusting the number by 1, which should ensure correct number of unique clones created on initial cloning.

Tue Apr 17 05:55:01 2001: Loriel
fixed the default fill_action in M_FLUID_SOURCE (/std/modules/m_fluid_source.c), changing withdraw to $vwithdraw.

Tue Apr 17 05:58:49 2001: Loriel
amended M_READABLE (/std/modules/m_readable.c), adding set_entry_synonyms() as an alternative to set_synonyms() and adjusting the autodoc help appropriately.

Tue Apr 17 06:07:43 2001: Loriel
made fixes to M_FOLLOW (/std/modules/m_follow.c), changing autodoc name of set_follow_search() from set_follow_string, adding a did_move() into do_follow_obj() and improving arrive_hook().

Mon Apr 23 02:54:55 2001: Marroc
amended /cmds/player/colours.c, removing the check for CONFIGURABLE_COLOUR (this was probably fixed before, but lost).

Mon Apr 23 02:58:35 2001: Marroc
added support for colours in admtool using the defined colours ADMTOOL_HEADING, ADMTOOL_HI and ADMTOOL_LO. Modified /obj/admtool/admtool2.c, /obj/admtool/internal/base.c slightly. The colours default to 'none'.

Tue Apr 24 00:38:03 2001: Marroc
amended ADVERSARY (/std/adversary.c), ARMOR (/std/armor.c), CONTAINER (/std/container.c), FLAME (/std/flame.c), FOLLOWING_MONSTER (/std/following_monster.c), FOOD (/std/food.c), KEY (/std/key.c), PAPER (/std/paper.c), SIGN (/std/sign.c), TORCH (/std/torch.c), WANDERING_MONSTER (/std/wandering_monster.c) and WEAPON (/std/weapon.c) -- Eliminating calls to ::lpscript_attributes() in inherited modules etc, as they are redundant; LPSCRIPT_D digs through all the inherits by itself.

Thu May 10 14:19:49 2001: Marroc
updated M_SIBLING (/std/modules/m_sibling.c) to use a function instead of a string to refer to the sibling room path, removing the need for initialisation through on_clone().

Thu May 10 14:20:07 2001: Marroc
updated DOOR (/std/door.c) to reflect the changes in M_SIBLING.

Fri May 11 04:03:02 2001: Loriel
added a 'destruct(ob)' into add_sell() in M_VENDOR (/std/modules/m_vendor.c) to remove items which are cloned as part of the sales process but neither used nor removed properly.

Fri May 11 05:56:38 2001: Marroc
added the concept of a 'through' object in the movement system, that specifies the object through which you enter a room. This enables enter/leave msgs to make more sense, especially when one room has a "northern door" that you walk through, entering the next room through it's "southern door". Complex exit objects automatically set the 'through' object if they can find a sibling at the destination. Modified CLASS_MOVE (/std/classes/move.c), M_COMPLEX_EXIT (/std/modules/m_complex_exit.c) and M_SMARTMOVE (/std/modules/m_smartmove.c).

Fri May 11 06:09:32 2001: Marroc
updated SECRET_DOOR (/std/secret_door.c), replacing call to get_default_exit() with query_default_error() so that it'll return the proper error message if trying to walk through the door without opening it (same message as if trying to walk in an invalid direction).

Fri May 11 06:11:08 2001: Marroc
modified M_OPENABLE (/std/modules/m_openable.c), commenting out the code that changes adjectives of the object depending on open/closed state, as the new adjective seems to become primary, interfering with what you set in the object.

Fri May 11 07:52:59 2001: Marroc
added punctiation and a newline to the return message of door_check() in DOOR (/std/door.c)

Fri May 11 08:12:09 2001: Marroc
modified /std/object/names.c, moving initialisation of primary_adj to resync(), where init. of primary_id is. Also modified set_id() and set_adj() to ensure the new ids/adjs end up in the beginning of the id/adj arrays, so that primary_id/adj resync properly.

Sun May 13 16:19:06 2001: Marroc
amended M_COMPLEX_EXIT (/std/modules/m_complex_exit.c), removing call to error() in complex_exit_direct_verb_rule() when rule format is unexpected. It now returns 0 now, as would seem more proper when the check cannot handle the rule.

Sun May 13 16:47:50 2001: Loriel
fixed part of the 'Pirate Quest', changing "player_left" to "person_left" in on_clone() in /domains/std/objects/ocean.c, and changing the matching in award_points() to if(evaluate(direction) == "the ocean") in the same file, and set the granting object to ocean instead of room.

Changes since Lima 1.0b3

Wed May 30 12:59:16 2001: Marroc
added a lima_version() sefun to /secure/simul_efun/misc.c, returning a version string like "Lima 1.0b3".

Thu May 31 08:22:29 2001: Loriel
amended action_movement() in M_ACTIONS allow combination of wandering and set_actions to work better.

Fri Jun 1 10:56:40 2001: Loriel
fixed show_money() in M_ACCOUNTANT (/std/modules/accountant.c) which had lost the MONEY_D->currency_to_string() conversion (approx line 100). Thanks to Pteppic@Beyond the Flame for spotting it.

Sat Jun 9 13:13:34 2001: Loriel
added a filter for userp() to listeners in rcv_channel_who_req() in /daemons/imud/channel.c, which was failing as it tried to use listeners->query_body()->query_name() with /daemons/chanlog_d.c included in listeners.

Sat Jun 9 13:39:00 2001: Loriel
amended mudname to canon_mudname(mudname) in remote_listeners() in /daemons/imud_d/channel.c.

Thu Jun 14 13:56:15 2001: Loriel
fixed /domains/std/lima/workroom_ob.c, converting to use class for the argument in move_to() call. Thanks to Seven for reporting it.

Sun Jun 17 13:29:52 2001: Loriel
amended /cmds/wiz/clean.c so it excludes add_items (simple_obs).

Tue Jun 19 19:27:09 2001: Marroc
amended LPSCRIPT_D (/secure/daemons/lpscript_d.c), making handle_string() split long strings to multiple lines, thereby avoiding errors from the driver.

Wed Jun 20 09:04:34 2001: Marroc
commented the set_enter_msg() line of /domains/std/Car_Wash.c as it was causing trouble. Needs more attention.

Wed Jun 20 09:09:00 2001: Marroc
modified can_go_str() and do_go_str() of /cmds/verbs/go.c to enable moving around with vehicles.

Wed Jun 20 09:12:10 2001: Marroc
switched departure and arrival msgs of /domains/std/camaro.c as they seemed to be in the wrong order, and generated errors.

Wed Jun 20 10:10:54 2001: Marroc
modified complex_exit_do_verb_rule() of M_COMPLEX_EXIT (/std/modules/m_complex/exit.c) to allow for "WRD" rule, making "get out" etc possible.

Wed Jun 20 10:11:26 2001: Marroc
added "get WRD" rule to /cmds/verbs/get.c, so that you can "get out" of vehicles.

Wed Jun 20 11:42:40 2001: Marroc
updated M_SMARTMOVE (/std/modules/m_smartmove.c) to actually use data->who instead of this_body() for messaging; this_object() is also conceivable, but gives less options.

Wed Jun 20 11:44:00 2001: Marroc
updated M_EXIT (/std/modules/m_exit.c) to correctly set exit->who both for moving with vehicle and without.

Wed Jun 20 11:50:40 2001: Marroc
amended /domains/std/Example_Room1.c, changing can_go_east() to can_go_str(string dir) and checking that dir is "east".

Wed Jun 27 03:38:28 2001: Loriel
added the if(!weapon) check back into chance_to_hit() in /std/adversary/formula/simple.c.

Mon Jul 2 03:27:24 2001: Smack
changed /std/body/title.c to use query_name() instead of query_userid() to better reflect chosen names.. could represent a security hole on muds that care

Mon Jul 2 14:24:52 2001: Loriel
amended FTP_D (/secure/daemons/ftp_d.c) adding functions query_passives(), query_sessions() and query_dataports(), and amending FTP_CMD_pasv() to close previous passive pipe (if any) and amending FTP_CMD_quit() to close passive pipe (if any) and remove the entry from the passives mapping.

Tue Jul 17 07:54:43 2001: Marroc
amended can_go_str() in /domains/std/Example_Room1.c, having it call ::can_go_str() instead of just returning 1 so as to ensure proper checks are performed.

Sun Jul 29 21:15:23 2001: Loriel
amended FTP_D (/secure/daemons/ftp_d.c) to restrict the range of ports used in passive mode - currently set to 4000 - 4100, but configurable as MIN_PORT and MAX_PORT.

Mon Sep 3 22:50:07 2001: Loriel
fixed chance_to_hit() in /std/adversary/formula/stats.c by changing the check from if(!weapon) to if(!weapon || weapon == this_object())

Sun Sep 23 02:40:29 2001: Loriel
applied Kesac's proposed fixes to close a loophole which allows players to read unrestricted files into the editor (eg when mailing) by using "1r ". Files amended : /trans/obj/ed_session.c and /trans/obj/edit_ob.c.

Sun Nov 18 21:26:06 2001: Loriel
amended /include/config to define ANON_CAN_PUT, so non-wizards have limited ablility to upload - hence can put contributions into /open etc.

Wed Dec 19 05:15:40 2001: Loriel
amended /include/driver/runtime.h, changing the define of BASE_CONFIG_INT from (BASE_CONFIG_STR + 14) to (BASE_CONFIG_STR + 15). Thanks to Dunedain for spotting it.

Wed Dec 19 05:33:12 2001: Dunedain
added a check in /cmds/player/random2.c to ensure that no mappings exceeded __MAX_MAPPING_SIZE__. It should no longer error on first update.

Fri Jan 4 22:46:31 2002: Loriel
amended inv_list() in /secure/simul_efun/objcalls.c to filter out null objects instead of erroring.

Thu Feb 14 09:19:22 2002: Loriel
amended clean_up() in OBJ (/std/object.c) to use children() to check whether the file is inherited (and should not be cleaned up yet) instead of the 'instances' parameter passed, which appears to be inaccurate.

Sun Feb 17 16:57:38 2002: Loriel
amended show_objects() in /std/rooms/roomdesc.c to correctly show players "(outside the...)" description in appropriate cases.

Thu Feb 21 12:35:50 2002: Loriel
updated the greeter in /domains/std/ to reflect current info for where to get the lib (ie 'help release') and where to report MudOS bugs.

Thu Feb 28 11:51:04 2002: Marroc
fixed problem in parse_arg() of CMD_D (/secure/daemons/cmd_d.c) causing it not to parse OBFILE arguments correctly if they indirectly refer to LPSCRIPT objects (ie, "update here" would fail in an LPSCRIPT room). It seems that base_name() for an LPSCRIPT object returns the full filename, including ".scr".

Thu Feb 28 12:02:27 2002: Loriel
added set_combat_message() to M_DAMAGE_SOURCE (/std/modules/m_damage_source.c) to allow the setting of a single combat message, replacing the existing one(s).

Sun Mar 3 11:59:44 2002: Marroc
added TaskTool, a useful tool for keeping track of development tasks etc, and allows you to mark them as completed. It's a tree structure, so you can add sub-tasks for every task, and completing a task is prohibited until all sub-tasks are completed. Installed TASK_D (/daemons/task_d.h), /obj/tasktool/* and /cmds/wiz/tasktool.c. Modified /include/daemons.h, /include/commands.h and /include/mudlib.h. Try it out :)

Wed Mar 6 05:48:37 2002: Loriel
fixed help on /secure/simul_efun/misc::is_normal_direction(), which had a typo in the FUNCTION token and for which the help comments appear to have been misposted from the call_trace function.

Sat Mar 16 02:53:31 2002: Loriel
fixed wrong tokens in the combat_sword dam3 message in MESSAGES_D (/daemons/messages_d.c).

Sat Mar 16 18:27:51 2002: Loriel
amended /cmds/player/tell.c to use "$N " + arg for intermud tell/emotes, as suggested by Andrew.

Mon Mar 18 15:35:15 2002: Loriel
amended /secure/user/login.c to use the lima_version() sefun in the message in login_handle_logon().

Sun Apr 7 13:23:37 2002: Loriel
amended message for "stand" method in FURNITURE (/std/furniture.c) to $vstand (from $vstands). Thanks to Bunny for spotting it.

Fri Apr 19 14:48:03 2002: Loriel
added missing support for attack_speed into /std/adversary/formula/stats.c.

Sun May 5 23:54:50 2002: Loriel
amended /trans/cmds/ed.c, restricting the size of files to be edited, to stop over-ambitious editors from crashing the mud.

Mon May 6 00:41:11 2002: Loriel
amended MORE_OB (/trans/obj/more_ob.c) to handle "large" files, by adding a "number of lines" parameter to read_file().

Tue May 7 10:47:17 2002: Loriel
changed /std/adversary/armor/complex_slots.c, adding a reset_slots() function to set bodyslots to the default_slots mapping, simplifying the adding of new body slots to existing players.

Fri May 17 11:59:22 2002: Loriel
fixed /domains/std/Car_Wash.c so the set_enter_msg() is on the right exit (west), and the room now loads.

Mon May 20 04:20:43 2002: Loriel
added some usage help to the colours command (/cmds/player/colours.c)

Mon Jun 3 03:44:54 2002: Loriel
amended 'look' to use exit descriptions in M_EXIT for 'look '

Wed Jun 5 14:12:18 2002: Loriel
fixed query_exit_description() in M_EXIT (/std/modules/m_exit.c) to handle invalid directions without erroring.

Sat Jun 15 11:21:53 2002: Loriel
fixed main() in /WWW/cgi/who.c to strip the leading "=" to find individual players, instead of returning "No such player".

Thu Jun 27 01:18:47 2002: Loriel
amended move() in /std/object/move.c to use default relation of dest where none is specified (otherwise give_new_obj() will break).

Thu Jun 27 01:21:14 2002: Loriel
updated /domains/std/stone.c to the relation-based container system, adding the relation "in", making it the default relation, and adding it to set_hide_contents() in receive_object(). Additionally changed the condition in receive_object() to "if(target->id("sword"))".

Sun Jun 30 14:08:19 2002: Loriel
fixed the typo 'loccation' in /help/wizard/bin/start.

Sun Aug 18 18:41:46 2002: Loriel
added a file size check to /trans/cmds/grep.c, similar to /trans/cmds/ed.c, and moved the actual value to /include/config.h - MAXFILESIZE, currently set to 1000000.

Fri Aug 23 03:29:58 2002: Loriel
changed /obj/admtool/daemons/body.c::add_limb() to check sizeof(BODY_D->get_body()) instead of checking for 0.

Sat Aug 24 17:01:26 2002: Loriel
fixed problems in /domains/std/2.4.5/giant_conf.scr arising from non-existent attributes (armor_class and proper_name) and from the switching of weapon and sword.

Sat Aug 24 20:43:36 2002: Loriel
added relations and default_relation to lpscript_attributes() in CONTAINER (/std/container.c).

Sat Aug 24 20:51:30 2002: Loriel
fixed /domains/std/2.4.5/sea_bottom, adding relations and default_relation to the octopus, and correcting the setting of objects in it, so it clones 1 chest containing random(500) gold, rather than random(500) chests (empty).

Sat Aug 24 20:51:58 2002: Loriel
fixed /domains/std/2.4.5/obj/chest, adding relations and default_relation and capacity.

Sat Aug 24 22:07:29 2002: Loriel
fixed /domains/std/2.4.5/forest2.scr, which used "money=500" instead of "objects=/std/money(1,500,"gold"), and also changed proper_name to primary_id.

Sun Aug 25 00:13:33 2002: Loriel
changed this_body() to this_object() within the 'response' section of handle_block() in LPSCRIPT_D (/daemons/secure/lpscript_d.c), namely the part handling line[0] == "!" around line 500.

Sun Aug 25 00:17:57 2002: Loriel
made various fixes to the beggar in /domains/std/2.4.5/yard, including inheriting M_ACTIONS by setting is=monster,actor, moving the "periodic" section from the room to the beggar, making those actions consistent (ie !says blah etc), and removing the query_money check in the trigger as it's no longer valid, and the money system doesn't easily support the intention of checking how much he has.

Sun Aug 25 01:09:24 2002: Loriel
added a simple rope into /domains/std/2.4.5/big_tree - in place of the missing /domains/std/2.4.5/obj/rope (which would ideally handle tie and untie, if those verbs existed).

Sun Aug 25 03:24:46 2002: Loriel
changed /domains/std/2.4.5/shop to use the standard M_VENDOR shop system, instead of the old (non-functional) add_actions, and also removed surplus related (non-functional) code from /domains/std/2.4.5/store and /domains/std/2.4.5/storage.

Mon Aug 26 00:26:59 2002: Loriel
added support in LPSCRIPT_D (/secure/daemons/lpscript_d.c) for the following : "hidden_door", "key", "block" (M_BLOCKEXITS), "outdoor", "aggressive" (AGGRESSIVE_MONSTER), "wielded" and "worn".

Mon Aug 26 00:27:24 2002: Loriel
added LPSCRIPT_WIELD and LPSCRIPT_WORN to /include/lpscript.h.

Mon Aug 26 00:27:48 2002: Loriel
added lpscript support to KEY (/std/key.c) for "keytype".

Mon Aug 26 00:28:18 2002: Loriel
added into /std/adversary/armor/armor_base.c lpscript support for "worn".

Mon Aug 26 00:28:40 2002: Loriel
added into /std/adversary/wield/wield_base.c lpscript support for "wielded".

Mon Aug 26 00:29:10 2002: Loriel
added support for "aggressive" to M_AGGRESSIVE (/std/modules/m_aggressive.c).

Mon Aug 26 00:30:55 2002: Loriel
added lpscript support for "block", "unblock" and "block_action" to M_BLOCKEXITS (/std/modules/m_blockexits.c).

Mon Aug 26 00:31:31 2002: Loriel
fixed "weight" and "mass" lpscript support for the "size" option in OBJECT (/std/object.c).

Mon Aug 26 00:32:19 2002: Loriel
fixed the following files in the /domains/std/2.4.5 directory : bank, bankroom, fortress, giant_lair, orc_treasure, orc_vall, plane9, obj/stethoscope, quest_room, mine/tunnel9, south/sforst39, south/sislnd10, south/sislnd15, south/sshore7, south/sshore9, south/sshore24, south/sshore25, south/sshore26, south/sshore27, south/sshore28, south/sshore29, south/sshore30. There are about 6 left with bugs to remove, and many more where the functionality is poor.

Mon Aug 26 22:35:06 2002: Loriel
extended handle_action() in LPSCRIPT_D (/secure/daemons/lpscript_d.c) to use this_object() for $o in messaging.

Mon Aug 26 22:37:47 2002: Loriel
added the verbs tie and untie, and extended the verb listen to cover 'listen to obj with obj' - directory /cmds/verbs/.

Mon Aug 26 22:39:08 2002: Loriel
added picture.scr to the directory /domains/lpscript/, and fixed the following files there : camera.scr, large_oak_door.scr and wizroom.scr.

Mon Aug 26 22:40:52 2002: Loriel
fixed stethoscope.scr in the directory /domains/std/2.4.5/obj/ and added the following files to that directory - safe.scr, wheel.scr, rope.scr and ring.scr.

Mon Aug 26 22:42:25 2002: Loriel
fixed the following files in /domains/std/2.4.5/mine/ - tunnel3.scr, tunnel5.scr, tunnel9.scr, tunnel12.scr, tunnel16.scr, tunnel19.scr and tunnel29.scr.

Mon Aug 26 23:39:26 2002: Loriel
added the file /domains/std/2.4.5/obj/lever.scr and amended the following files : /domains/std/2.4.5/well.scr, /domains/std/2.4.5/sub/door_trap.scr and /domains/std/2.4.5/sub/after_door.scr.

Tue Aug 27 22:55:10 2002: Loriel
amended compile_object() in /secure/master.c to add the .scr suffix to lpscript files where appropriate if the name is quoted without it.

Wed Aug 28 13:12:37 2002: Loriel
add support in LPSCRIPT_D (/secure/daemons/lpscript_d.c) for drinkable (M_DRINKABLE) and regex (M_REGEX) and amended handle_wield() and handle_worn() to allow random choice using one_object().

Wed Aug 28 13:13:35 2002: Loriel
added lpscript support to BOOK (/std/book.c).

Wed Aug 28 13:16:56 2002: Loriel
amended the following files in /domains/std/2.4.5/ : inn.scr, pub2.scr and obj/leo.scr, and added the following : npc/innkeeper, npc/go_player, obj/beer, obj/special, obj/firebreather, obj/potion, obj/go_board, obj/go_book, obj/Rule1, obj/Rule2, obj/Rule3, obj/Rule4 and obj/Rule5.

Thu Aug 29 03:52:21 2002: Loriel
fixed a couple of problems in main() in /WWW/cgi/mudinfo.c, where leading '=' was not being stripped from pattern, and trailing $ was not being added for 'exact match' where mud is selected from a list of part-matching names.

Thu Aug 29 17:43:26 2002: Loriel
fixed a problem in /WWW/cgi/autodoc.c::main() where leading "=" was not being stripped before parsing the arg, and added a function html() to convert \n to
for better display.

Fri Aug 30 01:05:13 2002: Loriel
amended main() in /WWW/cgi/who.c to handle mixed data, using 'name' element from mapping, to strip leading '=' where appropriate, and strip colour tokens from titles. Also amended /WWW/fingeruser.html to use post instead of get.

Sat Aug 31 23:24:42 2002: Loriel
added combat_messages to lpscript_attributes() in M_DAMAGE_SOURCE (/std/modules/m_damage_source.c).

Sun Sep 1 21:14:44 2002: Loriel
amended query_name() in LIVING (/std/living.c) to return query_primary_id() if name has not been set.

Sun Sep 22 14:52:38 2002: Loriel
removed a duplicate "M_" prefix from module_summary_line() in /WWW/cgi/autodoc.c.

Tue Sep 24 03:59:11 2002: Loriel
extended /obj/admtool/daemons/i3chan.c to handle allowing/disallowing muds to owned channels, and also to set the type of owned channel.

Fri Oct 4 13:29:49 2002: Loriel
fixed a bug in SOCKET (/obj/secure/socket.c) which generated errors when handling large files (eg jpgs) : 'write_queue = ({ evaluate(write_func, this_object()) });' should be 'evaluate(write_func, this_object());' in write_callback().

Mon Nov 11 09:27:16 2002: Loriel
amended /cmds/player/semote.c to support "LIV LIV" cases, adding file semote2.c to return appropriate names for second argument.

Sun Dec 1 10:23:16 2002: Loriel
amended /cmds/wiz/people.c to better handle the "h" option.

Sat Mar 22 10:12:16 2003: Tigran
fixed a bug in /obj/admtool/daemons/i3chan.c that needed to wrap an int in a to_int() so that it was actually an int instead of a string in rcv_channel_add()

Sun Apr 27 11:15:52 2003: Loriel
renamed inventory_header() to introduce_contents() in LIVING (/std/living.c) so inventory is now displayed as "X is carrying ..." instead of "X contains ...".

Sun Apr 27 11:40:31 2003: Loriel
extended do_damage_event() in /std/adversary/blows/base.c for HEALTH_USES_LIMBS to pass the additional parameter evt->target_extra (ie which limb is hit).

Mon Apr 28 22:31:06 2003: Loriel
fixed M_DICE (/std/modules/m_dice.c) by adding missing "int" to the function declaration roll_dice(int num_dice, num_sides).

Tue Apr 29 10:38:30 2003: Loriel
fixed the DOC_D tag for /std/object/names::query_primary_name().

Tue Apr 29 10:41:45 2003: Loriel
fixed the DOC_D tag for /std/object/msg_recipient::environment_can_hear() - previously environment_can_here().

Tue Apr 29 10:48:17 2003: Loriel
fixed /trans/cmds/shutdown.c to log the shutdown reason, by changing args to args[0] (line 62).

Tue Apr 29 10:53:42 2003: Loriel
fixed a couple of bad messages in MESSAGES_D (/daemons/messages_d.c) - unarmed dam4 and unarmed dam6 ($vland and $vpummel).

Wed Apr 30 05:27:34 2003: Loriel
added support for the USE_MASS option to the following files : BOOK (/std/book.c), CORPSE (/std/corpse.c), FLAME (/std/flame.c), FLASK (/std/flask.c), FLUID (/std/fluid.c), HOLE (/std/hole.c), LANTERN (/std/lantern.c), PAPER (/std/paper) and M_FLUID_CONTAINER (/std/modules/m_fluid_container.c).

Wed Apr 30 05:28:44 2003: Loriel
amended the pour() function in FLUID (/std/fluid.c) to use part_fill_with() instead of fill_with(), correcting the problem of "overfilling"

Wed Apr 30 12:12:02 2003: Loriel
changed the syntax of numerous functions in M_EXIT (/std/modules/m_exit.c) for "which=present(direction)" checks.

Wed Apr 30 12:21:15 2003: Loriel
added a limb-based set of messages to /std/adversary/health/diagnose_msg.c, in diagnose_limb_msg(), and amended /std/adversary/health/limbs.c to use it.

Wed Apr 30 13:28:23 2003: Loriel
updated the URLs for Lima and MudOS in /WWW/cgi/mudlist.c and /WWW/cgi/mudinfo.c, and amended /WWW/cgi/mudinfo::main() to better handle names containing blanks by substituting + for blank.

Wed Apr 30 22:34:07 2003: Loriel
amended mudlib_setup() in ACCOUNTANT (/std/accountant.c) to properly pass arguments.

Fri May 2 08:07:27 2003: Loriel
amended /cmds/verbs/drive.c and /cmds/verbs/go.c to use the sefun is_normal_direction() instead of using member_array() on an array of "normal directions".

Thu Jul 3 07:38:04 2003: Loriel
added a can_get_wrd() function to the get verb, to restrict it to valid exits (eg "get out" from vehicles), which should make get messages work correctly again in both add_items and normal objects. Thanks to Limanoob for reporting the problem.

Thu Jul 3 07:40:17 2003: Loriel
added a clear_tell_history() function to /secure/user/history.c and amended /cmds/player/tell.c to call this, so "tell /clear" should now work as advertised. Thanks to Zen for reporting this.

Sun Sep 14 14:37:20 2003: Loriel
amended /cmds/player/stats.c to use query_experience() instead of the mis-named query_exp() - line 87 approx.

Sun Sep 14 17:51:12 2003: Loriel
switched the arrival and departure messages in /domains/std/horse.c

Sun Sep 14 18:14:29 2003: Loriel
added another exception to pluralize() in M_GRAMMAR (/std/modules/m_grammar.c) to handle current MudOS driver's habit of pluralizing "elf" as "eves" etc (Not needed here as we run older version).

Tue Sep 16 18:11:58 2003: Loriel
added support for default container into FLUID (/std/fluid.c), to specify container in which the fluid will be sold, amended M_VENDOR (/std/modules/m_vendor.c) to use it, added a suitable example container (tankard) to /domains/std/, and modified ale and shopkeeper there to use/demonstrate it.

Thu Oct 9 09:06:18 2003: Loriel
added /WWW/cgi/viewfile.c, a simple file viewer based on the web editor. This allows viewing of any mud files by non-wizards who can't or don't want to download them by ftp. Also amended /WWW/index.html to link to it.

Thu Oct 9 09:30:52 2003: Loriel
amended the following example itmes in /domains/std/ to support mass :- ale, keg, river, scarf, sword_in_stone, table, attic/coffee_table, camera/button, lima/leaflet and small_mailbox, objects/backpack, debris, hole, maps, navigation_passage, navigation_table, pac_sword, platemail, rock, sandcastle, sand_with_treasure, shovel, sword, and treasure_chest.

Sat Oct 11 12:45:18 2003: Loriel
amended FTP_CMD_port() in FTP_D (/secure/daemons/ftp_d.c) to use the public address instead of private address where these differ. This should fix many of the longstanding ftp problems for users with NAT/port forwarding, theough they will need to be in DMZ in order for the data channel to connect back from mud to user. In addition there still appears to be a bug with large files (over approx 11K).

Wed Oct 15 01:59:09 2003: Loriel
amended M_MESSAGES (/std/modules/m_messages.c), adding functions _a_short() and _the_short() to fix the problem of adding unnecessary prefixes, and added handle_obs() to better handle multiple objects for the "o" case in compose_message().

Wed Oct 15 02:00:39 2003: Loriel
amended direct_verb_rule() in /std/object/vsupport.c to return 0 by default for non-exits.

Wed Oct 15 02:03:56 2003: Loriel
moved the verb support from CONTAINER (/std/container.c) to /std/container/vsupport.c, and removed the generic indirect_verb_rule(), adding indirect_get_ and indirect_put_ functions instead.

Wed Oct 15 02:19:17 2003: Loriel
fixed various problems in inventory_recurse() in CONTAINER (/std/container.c).

Wed Oct 15 02:24:00 2003: Loriel
amended VERB_OB (/std/verb_ob.c), adding do_verb() and do_verb_obs() to provide default support for "" and "OBS" rules, and removed the unnecessary messages from handle_obs(). Also added checking for existence of do_ functions in targets.

Wed Oct 15 14:08:38 2003: Loriel
extended the combat system to allow use of the skill system. This involved moving part of the existing /std/body/skills.c to a new /std/adversary/skills.c, adding /std/adversary/formula/skills.c and /include/skills.h, plus modifications to /std/adversary.c, /std/adversary/mod_config.c, include/combat_modules.h and /std/sword.c.

Wed Oct 15 14:38:01 2003: Loriel
amended the messaging system for combat to handle randomly-chosen limbs as targets - represented by "$o2". Files changed were : /daemons/messages_d.c, /std/adversary/health/hit_points.c (added query_random_limb()), /std/adversary/blows/base.c (also fixed "disarm" to disarm the right combatant), /std/adversary/messages.c, and /std/adversary/armor/simple_slots.c (fixed query_random_armor_slot()).

Wed Oct 15 15:27:54 2003: Loriel
added a simple implementation for ranged/reloadable weapons (bows, guns etc). Files added/amended : /std/adversary.c, /std/adversary/main.c, /std/adversary/condition.c (previously /std/adversary/state_of_mind.c), /std/adversary/formula/stats.c, /std/adversary/formula/skills.c, /std/adversary/behaviors.c, /std/modules/m_ready.c, /include/mudlib.h, /std/ranged_weapon.c, /std/ammunition.c, /cmds/verbs/fire.c, /cmds/verbs/ready.c and /cmds/verbs/unready.c. Examples have been provided in the form of crossbow and quarrel in /domains/std/.

Wed Oct 15 15:44:17 2003: Loriel
added validation for damage types for the combat system. Files added/changed : /daemons/damage_d.c, /include/daemons.h, /obj/admtool/daemons/damage.c, /std/modules/m_damage_sink.c and /std/modules/m_damage_source.c.

Wed Oct 15 16:57:27 2003: Loriel
added /cmds/player/rows.c to allow players to change the number of rows displayed before pausing, and amended /obj/mudlib/pshell.c to support this.

Wed Oct 15 17:07:58 2003: Loriel
made various improvements to the help system - amending DOC_D (/daemons/doc_d.c) to handle PLAYERCOMMAND and ADMINCOMMAND tags, adding a mapping topic_refs for intermediate menus into HELP_D (/daemons/help_d.c) and adding a shorten_array() function to HELPSYS (/obj/mudlib/helpsys.c) to use them. Use "help player commands" for an example.

Sat Oct 18 04:43:08 2003: Loriel
amended FTP_D (/secure/daemons/ftp_d.c), adding code to FTP_CMD_passv() to close "old" pipes with the same user when a new one is started.

Sat Oct 18 04:50:40 2003: Loriel
added the directory /trans/admincmds/ for admin-only commands, defined it in /include/commands.h, amended /trans/obj/wish.c to add the path for admins (using "resetpath"), and amended /trans/cmds/addpath.c to prevent non-admins from adding the path. Transferred the following commands from /trans/cmds/ to /trans/admincmds/ : addguest, listeners, objpurge, removeguest, shutdown, snoops, telnet, wall.

Sat Oct 18 05:04:38 2003: Loriel
transferred help files from /help/player/bin/, /help/wiz/bin/ and help/admin/ to the corresponding command files where possible, added missing help, and made a number of minor fixes.

Sat Oct 18 05:09:52 2003: Loriel
amended ANSI_D (/daemons/ansi_d.c) and /obj/admtool/daemons/colour.c to support "wizard-only" configurable colours, and amended /cmds/player/colours.c to ignore them for non-wizards.

Sat Oct 18 05:11:12 2003: Loriel
amended /cmds/player/chanlist.c to dynamically determine channels available, rather than using a hard-coded list.

Sat Oct 18 05:14:09 2003: Loriel
amended /cmds/player/tell.c to warn if the target is inactive (ie has set the F_INACTIVE flag via the "inactive" command). Also amended query_idle_string() in /std/body/naming.c to include it, for "who" lists.

Sat Oct 18 05:24:48 2003: Loriel
amended /cmds/player/quests.c to distinguish completed quests.

Sat Oct 18 05:25:37 2003: Loriel
amended /cmds/player/version.c to use the sefun lima_version() instead of using a hard-coded value.

Sat Oct 18 05:26:57 2003: Loriel
amended /std/object/description.c to display a "yellow sticky tag" for wizards on any "annotated" objects.

Sat Oct 18 05:27:57 2003: Loriel
added a_short() to /cmds/wiz/review.c to fix missing parts of the fol_leave and fol_enter messages.

Sat Oct 18 05:31:04 2003: Loriel
rewrote /help/wiz/coding/verbs.

Sat Oct 18 05:31:39 2003: Loriel
added /FAQ, which should answer many newbie wizard/admin questions.

Sat Oct 18 05:40:23 2003: Loriel
added an "effects" system, similar in concept though different in implementation to the "transient_effect" system in /contrib/. Files added/changed : /std/living/effects.c, /std/living/, /std/classes/effect.c, /include/classes.h and /std/body.c. Examples provided in /domains/std/effects/base_disease.c and /domains/std/effects/cold.c.

Sat Oct 18 05:44:55 2003: Loriel
added further spell example(s) in /domains/std/spells/stock-priest/std_priest_spell.c and cure_cold.c, which include the use of a prevent_combat hook (added to /std/adversary/main.c) and interrupt hook (added to M_SMARTMOVE).