0.7 - Contributions: It's your turn now

Submitted by Trispis on Fri, 2006-09-15 14:57

CONTRIBUTED CODE

In an effort to keep the 'core' and its primary modules from becoming excessively large and/or complex as an overall package, the "substance" of this project will (hopefully) manifest in the form of 'contributed code' or 'contributed modules'. These contributions will mainly take the form of .function()s (see the section on @functions above) and should be installed on one of the three @functions THINGs, depending on the privs required. Some proposed suggestions for what I envision contributions to look like have already been briefly illustrated above, but I feel this deserves a little more attention and am dedicating this section to further enhancing this aspect of the WARPEDcore.

Some examples of what I anticipate seeing are as follows...

  • A function library
    • .verb() - It seems feasible, and possibly even logical, to write rudamentary and/or highly customized forms of these functions to use globally, in place of workhorse @parent THINGs. Some MUSHes encourage sharing of such code, others don't care and often have multiple clones of basically the same code. So, it might be beneficial to be able to do something like...
      @osucc =.verb(osucc,indoor,outdoor)

      ... which would return an OSUCC message appropriate for an indoor exit which leads to an outdoor room. (other variations might be written for dealing with second story windows -- where it's not likely that you 'walk through the window to main street')

    • .time() - Similar to time(), this custom function would return IC time, rather than RL server time, and could easily be incorporated into descriptions (much like the proposed .weather() example earlier in this document).
      NOTE: The Cron, as it is written, should be easily adaptable to pretty much any time compression algorithm you choose for your game (if it's not already, the hope is that we'll get a contrib patch of some sort to make it so).
  • Tools and Utilities
    • @config controls - config() is neat, but some commands for utilizing it (instead of 'think config(foo)', maybe some +config toys).
    • Debug Zone - A Zone Master Room for debugging global behaviors.

The whole idea here being that of creating some basic, optional utilities and features.