lima-1.0b5/
lima-1.0b5/driver/
lima-1.0b5/driver/ChangeLog.old/
lima-1.0b5/driver/Win32/
lima-1.0b5/driver/compat/
lima-1.0b5/driver/include/
lima-1.0b5/driver/testsuite/
lima-1.0b5/driver/testsuite/clone/
lima-1.0b5/driver/testsuite/command/
lima-1.0b5/driver/testsuite/data/
lima-1.0b5/driver/testsuite/etc/
lima-1.0b5/driver/testsuite/include/
lima-1.0b5/driver/testsuite/inherit/
lima-1.0b5/driver/testsuite/inherit/master/
lima-1.0b5/driver/testsuite/log/
lima-1.0b5/driver/testsuite/single/
lima-1.0b5/driver/testsuite/single/tests/compiler/
lima-1.0b5/driver/testsuite/single/tests/efuns/
lima-1.0b5/driver/testsuite/single/tests/operators/
lima-1.0b5/driver/testsuite/u/
lima-1.0b5/driver/tmp/
lima-1.0b5/etc/
lima-1.0b5/lib/WWW/help/
lima-1.0b5/lib/cmds/
lima-1.0b5/lib/cmds/create/
lima-1.0b5/lib/cmds/player/attic/
lima-1.0b5/lib/contrib/bboard/
lima-1.0b5/lib/contrib/boards/
lima-1.0b5/lib/contrib/marriage/
lima-1.0b5/lib/contrib/roommaker/
lima-1.0b5/lib/contrib/transient_effect/
lima-1.0b5/lib/daemons/channel/
lima-1.0b5/lib/daemons/imud/
lima-1.0b5/lib/data/
lima-1.0b5/lib/data/config/
lima-1.0b5/lib/data/links/
lima-1.0b5/lib/data/news/
lima-1.0b5/lib/data/players/
lima-1.0b5/lib/data/secure/
lima-1.0b5/lib/domains/
lima-1.0b5/lib/domains/std/2.4.5/maze1/
lima-1.0b5/lib/domains/std/2.4.5/npc/
lima-1.0b5/lib/domains/std/2.4.5/post_dir/
lima-1.0b5/lib/domains/std/2.4.5/sub/
lima-1.0b5/lib/domains/std/camera/
lima-1.0b5/lib/domains/std/config/
lima-1.0b5/lib/domains/std/cult/
lima-1.0b5/lib/domains/std/effects/
lima-1.0b5/lib/domains/std/misc/
lima-1.0b5/lib/domains/std/monsters/
lima-1.0b5/lib/domains/std/recorder/
lima-1.0b5/lib/domains/std/rooms/
lima-1.0b5/lib/domains/std/rooms/beach/
lima-1.0b5/lib/domains/std/rooms/labyrinth/
lima-1.0b5/lib/domains/std/school/
lima-1.0b5/lib/domains/std/school/O/
lima-1.0b5/lib/domains/std/spells/
lima-1.0b5/lib/domains/std/spells/stock-mage/
lima-1.0b5/lib/domains/std/spells/stock-priest/
lima-1.0b5/lib/help/
lima-1.0b5/lib/help/admin/
lima-1.0b5/lib/help/hints/General_Questions/
lima-1.0b5/lib/help/hints/Pirate_Quest/
lima-1.0b5/lib/help/player/
lima-1.0b5/lib/help/player/bin/
lima-1.0b5/lib/help/player/quests/
lima-1.0b5/lib/help/wizard/
lima-1.0b5/lib/help/wizard/coding/guilds/
lima-1.0b5/lib/help/wizard/coding/rooms/
lima-1.0b5/lib/help/wizard/lib/daemons/
lima-1.0b5/lib/help/wizard/lib/lfun/
lima-1.0b5/lib/help/wizard/lib/std/
lima-1.0b5/lib/help/wizard/mudos_doc/
lima-1.0b5/lib/help/wizard/mudos_doc/applies/
lima-1.0b5/lib/help/wizard/mudos_doc/applies/interactive/
lima-1.0b5/lib/help/wizard/mudos_doc/applies/parsing/
lima-1.0b5/lib/help/wizard/mudos_doc/concepts/
lima-1.0b5/lib/help/wizard/mudos_doc/driver/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/arrays/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/buffers/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/compile/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/filesystem/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/floats/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/functions/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/general/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/mappings/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/mixed/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/numbers/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/parsing/
lima-1.0b5/lib/help/wizard/mudos_doc/lpc/constructs/
lima-1.0b5/lib/help/wizard/mudos_doc/lpc/types/
lima-1.0b5/lib/include/driver/
lima-1.0b5/lib/log/
lima-1.0b5/lib/obj/admtool/
lima-1.0b5/lib/obj/admtool/internal/
lima-1.0b5/lib/obj/admtool/mudinfo/
lima-1.0b5/lib/obj/admtool/secure/
lima-1.0b5/lib/obj/secure/
lima-1.0b5/lib/obj/secure/cmd/
lima-1.0b5/lib/obj/secure/mailers/
lima-1.0b5/lib/obj/secure/shell/
lima-1.0b5/lib/obj/secure/shell/classes/
lima-1.0b5/lib/obj/tasktool/
lima-1.0b5/lib/obj/tasktool/internal/
lima-1.0b5/lib/open/
lima-1.0b5/lib/secure/
lima-1.0b5/lib/secure/cgi/
lima-1.0b5/lib/secure/modules/
lima-1.0b5/lib/secure/simul_efun/
lima-1.0b5/lib/std/adversary/
lima-1.0b5/lib/std/adversary/advancement/
lima-1.0b5/lib/std/adversary/armor/
lima-1.0b5/lib/std/adversary/blows/
lima-1.0b5/lib/std/adversary/death/
lima-1.0b5/lib/std/adversary/formula/
lima-1.0b5/lib/std/adversary/health/
lima-1.0b5/lib/std/adversary/pulse/
lima-1.0b5/lib/std/adversary/wield/
lima-1.0b5/lib/std/classes/event_info/
lima-1.0b5/lib/std/container/
lima-1.0b5/lib/std/living/
lima-1.0b5/lib/std/modules/contrib/
lima-1.0b5/lib/std/patterns/
lima-1.0b5/lib/std/race/
lima-1.0b5/lib/std/race/restricted/
lima-1.0b5/lib/std/room/
lima-1.0b5/lib/tmp/
lima-1.0b5/lib/trans/
lima-1.0b5/lib/trans/admincmds/
lima-1.0b5/lib/trans/obj/
lima-1.0b5/lib/wiz/
FREQUENTLY ASKED QUESTIONS
==========================

Q Does Lima work on Windows ?

A No - MudOS does not support Windows.
  However, it does compile satisfactorily on Cygwin, a Linux emulator
  which runs on Windows.

Q Does Lima work with other drivers ?

A No - it was written specifically for MudOS.
  It could be converted for other drivers (eg LDMUD or DGD),
  but that would involve a lot of work.

Q Does Lima work on OS X? (or other versions of *nix)

A It should do. However we don't test on all versions.
  Report any problems compiling the driver on Lima Bean 
 (lima.mudlib.org:7878) and by email to marius@mudos.org (with full details)

Q Why doesn't the mud work - says it can't find the mudlib directory ?

A This usually means faulty filepaths in config.lima in the /etc directory.
  Usual problems are either not getting the correct absolute filepath,
  or editing in a Windows/DOS editor, instead of *nix.

Q Why don't my code changes have any effect ?

A Firstly "update" the changed file, to make sure it compiles without error.
  Generally objects already in the mud will still use the "old" code, 
  and only newly created objects will use the "new" code.
  Using the "renew" command on an old object should replace the "old" code
  with the "new" code.
  You may also need to use "update -R" on objects which inherit the code 
  that you have changed.
  If all else fails, try rebooting the mud. However, make sure that 
  you've not "broken" any critical files (eg anything inherited by the 
  user or body), which would stop the mud from booting, or stop you from
  logging in.

Q I've broken the mud, and it won't boot. WHat do I do ?

A Restore the mud from the last backup.
  Restore the broken file from its last backup.

Q How do I make backups ?

A The entire mud can be backed up by using the "backup" script in the /etc
  directory.
  Individual files can be backed up with the "bak" command, which places a
  copy in the corresponding BAK directory, name amended to incorporate a
  timestamp. Restore with the "rst" command.

Q Where is the Lima documentaion?

A Start with the help files - either "help <subject>" or browse through the
  /help/ directory
  Read the code
  Look at examples in the /domains/std/ directory
  In particular, look at the "school" in /domains/std/school/
  If these don't answer your question, then visit Lima Bean itself
  (lima.mudlib.org:7878) and ask there - and please wait long enough for 
  somebody to notice you and reply

Q How can I learn LPC?

A There are useful manuals by Descartes and Ronnie Wikh - search for them
  on the web.
  But the best way is to join an existing mud and learn there.

Q how do I call functions from the command line / shell prompt?

A Use the "@" command - eg "@.me->query_health()"
  Details are available in the shell help ("?" from the shell prompt)

Q Why don't add_actions work in Lima?

A They have deliberately been disabled, as they are far inferior to verbs,
  and should not be used.
  See the design_decisions section in help for full reasons.

Q How do I use verbs ?

A Read "help verbs" and "help parser" for details.
  Don't forget the undocumented command "rehash" to get the parser to 
  recognise a new verb when you've written it.

Q How do I get my new verb to work properly ?

A Best way to find what is wrong is to use the "parse" command in front of 
  the verb - eg "parse smash apple" to see why "smash apple" isn't working.
  You need to have debugging enabled in the driver, which can be done be
  recompiling the driver starting with "./build.MudOS debug", then "make",
  "make install" etc.

Q How do I find/fix errors in my code ?

A Start with the "dbxwhere <playername>" and "dbxframe <playername> <frame>" 
  commands to see where the error is occuring.
  You may then need to show yourself variable values at that point - 
  see the LBUG etc macros in /include/global.h, add one for yourself, 
  add in a suitable statement to your code (eg "LBUG(myvar);") 
  then update the code and try again.
  If you can't fix it yourself, try asking on Lima Bean, but fixing other
  people's problems takes much longer than fixing our own, and we often
  don't have the time available to do anything other than suggest places
  you can look for yourself.

Q Why don't I get any xp for killing monsters ?

A Assuming you have configured the combat system to use experience, 
  you will need to add a bit of extra code.
  When anything dies, the appropriate health module will call the function
  die() - which exists only for players (in /std/body.c).
  You should probably add a die() function into /std/adversary.c, 
  which should award appropriate xp to previous_object().

Q Why aren't there any guilds in Lima ?

A Most of the code you will need to set up guilds is already present.
  Read "help guild_d" for details of the guild daemon, which handles the
  criteria and consequences for leaving/joining.
  There are several example guild specification files - in /data/config/ 
  and in /domains/std/.
  There's several example guild masters in /domains/std/monsters/, 
  and an example guild guard in /domains/std/.
  There are inheritables for guild masters, guards and trainers within /std/
  and /std/modules/, though the trainer is unfinished.

Q What about magic and spells ?

A All the groundwork is in place, with a "cast" command, spell daemon and a
  basic inheritable for spells.
  There is an example in /domains/std/magic/ of a more advanced spell 
  inheritable, with a couple of example spells.
  There's no "spell point" or "mana" system provided, but it should be fairly
  simple to adapt a copy of the hit_point health module to similarly track
  spell points.

Q I've found a bug. What do I do ?

A Report it on Lima Bean - use the "bug" command.

Q How do I give money to myself (or another player) ?

A Use "@.me->add_money(type, number)" - eg @.me->give_money("copper",3)
  See /std/body/money.c for details.

Q How do I code an npc to carry money ?

A This is a little more complicated.
  Use the set_objects function, with COINS or MONEY as the object
  (ie the mapping key), and the value should be an array consisting of :
  the number of objects (usually 1)
  the type of currency
  the number of coin
  eg set_objects( ([ COINS : ({ 1, "copper", 5 }) ]) );

Q I changed one of the default colours, but it had no effect. Why ?

A Your colour settings will have been set to the old default colours.
  To change to a new one, clear the old one.
  In the "colours" command, use the "colours remove <whatever>" syntax.
  Any newly created characters will automatically start with the current
  default colour settings.

Q Why is the suicide command disabled ?

A Because it doesn't work properly in its current form.
  The security system prevents a player command accessing secure data,
  so the deletion fails.
  If you want to enable it, look at how the "finger" command uses redirection
  to a command in the /trans/cmds/ directory, and daemons in the /secure/
  directory to achieve access to secure player data.

Q How do players customise the prompt to show hit points etc ?

A They don't.
  Lima's health system was written to reduce processor load by only 
  calculating halth (hit points) when required.
  If you calculate that every time a command is entered, you've wiped
  out most of that gain.
  The system is also modular, with options for using limb- or wound-
  based health,  which would probably be too detailed to display in a prompt.
  It may be useful to add a display each round during combat, in which case
  look at /std/adversary/main.c for the main combat loop.