


Page Title

M_LIGHATBLE>

M_LIGHTABLE gives you object the ablitity to be lit, and give off 
light, thus allowing you to see in the dark.  

Functions you put in your setup():

          
    set_light_level(int)     --  This function tells the lib "how much" light your object
                                 gives off.  The higher the number the more light.  You can
                                 also create a light source that gives off negative light, 
                                 radiates darkness bu supplying a negative number to this
                                 function.
    
    set_burned_out_msg(msg)  --  This function allows you to set the message for when the 
                                 a player tried to light a burnt out light source,the default
                                 is, "The (object) is burned out.".

    set_extinguish_msg(msg)  --  This function allows you to set the message for when the 
                                 light source is turned off/extinguished.  The default is
                                 (PLayer) extinguishes a (object).

    set_die_msg(msg)         --  This function allows you to set the message for when the 
                                 light source burns out.  The default is "The light from the 
                                 (object) flickers and dies.".

    set_fuel(amount)         --  This function allows you to set how long the torch can stay lit. 
                                 When the object is lit, a call_out(), is down on that amount, when
                                 the call_out is executed, the light burns out.

    set_source(f)            --  Sets the source by which this object may be lit.  If f is a 
                                 string, only objects that have that string as an id may light it.
                                 If f is 0, anyobject may light it.

        
Important functions:

    query_lit()              --  Returns 1 if the object is lit, and producing light.

    extinguish()             --  Is called by do_extinguish(), when the player tries to 
                                 extinguish the object.  This function also looks to call 2 hooks
                                 in your object the first is "prevent_extinguish", which could stop
                                 the object from being extinuished if it returns 0 or a string.
                                 If the prevent extinguish returns 1, turn the light source off.                             

                                 The second hook called is "extinguish" the return value of this hook
                                 is ignored, The hook gives you a chance to do somethign unique, if 
                                 you desire.
                              
                                     
    do_extinguish()          --  Calls extinguish(), if the return value is 1 display the 
                                 set_extinguish_msg(), otherwise print an error message..

                                     
    check_fuel()             --  Checks to see if there is still fuel in the light source, if not 
                                 it returns the set_burned_out_msg().

    light()                  --  This function is called by do_light(), and checks to see if its 
                                 ok to light this object, is there enough fuel etc.  Also calls 
                                 2 hooks in your object "prevent_light", which gives your object 
                                 a chance to not let itself be lit, and "light" that lets you
                                 do a unique action after the light source is lit.
 
    do_light(with)           --  This function handles the lighting of an object.  The first thing
                                 it does is call light().  If that returns 0 or a string it prints the 
                                 appropriate error message, if not it prints the appropriate message
                                 to show the object is lit, either with an item or without an item.

    burn_out()               --  Handles the burning out of the light source.

    direct_light_obj()       --  This function is a parser callback.  It checks to see if a source
                                 is needed to light the object, if a source is needed  it returns an
                                 error message.
                                 
    direct_extinguish_obj()  --  This function is a parser callback.  It checks to see if the source is
                                 lit or not.  If the source is not lit, return an error message.

    direct_light_obj_with_obj() --  This function is a parser callback.  It checks to see if the with 
                                 object is valid if not return appropriate messages.

    indirect_light_obj_with_obj() --This function is a parser callback.  It checks to see if the object
                                 is lit, if it is the return 1, otherwise return 1.  

                                 *** note that this is called when trying to use this object as a source
                                 *** to light another light source.

          


Last Updated: Friday, April 26, 1996



