Mudlib *effects* ***************** Documentation for the living-effects functions for the mudlib in */std/living/effects.c*. Module Information ================== Handles effects (ie delayed/repeating events) Each effect calls start_effect in the specified file when the effect starts Calls reinstate_effect when it restarts (at login etc) Calls do_effect periodically Calls end_effect when it ends Each of these functions takes arguments : effect sufferer, args, counter where counter is the number of times it will repeat args is a mixed set of args as appropriate to the effect Functions ========= .. c:function:: int time_to_next_effect() Returns time remaining in call_out to the next effect .. c:function:: int actual_period(mixed val) Converts period to an actual interval, with suitable randomisation Formats : int val : period = val int *({ fixed, var}) : period = fixed + random(var) function : evaluate it .. c:function:: void remove_effect_at(int pos) Removes effect from queue at appropriate point .. c:function:: int find_effect_index(string ob) Return position of effect with specified object in queue Return -1 on failure .. c:function:: int find_effect_name_index(string name) Return position of effect with specified name in queue Return -1 on failure .. c:function:: int *find_effect_indexes_matching(string name) Return array of positions of effects (part-)matching specified name Return ({}) .. c:function:: int find_effect(string ob) Return effect with specified object in queue Return 0 on failure .. c:function:: mixed query_effect_args(string ob) Return args of specified effect .. c:function:: int remove_effect(string ob) Locate effect matching the specified ob and remove it Return 1 on success, 0 on failure .. c:function:: int remove_effect_named(string name) Locate effect matching the specified name and remove it Return 1 on success, 0 on failure .. c:function:: int remove_effects_matching(string name) Locate effects matching the specified name and remove them Return 1 on success, 0 on failure .. c:function:: void insert_effect_at(class effect_class effect, int pos) Inserts effect into queue at appropriate point .. c:function:: int insert_effect(class effect_class effect) Finds appropriate point in queue to insert effect Adjusts delay to following effect Returns 1 on success, 0 on failure. .. c:function:: void next_effect() Call the function specified in the function at the head of the queue Move it to appropriate place in queue Then call out to next effect in the queue .. c:function:: void clear_effects() Clears the effects queue .. c:function:: mixed *query_effects() Returns copy of the effects queue .. c:function:: void add_effect(string ob, mixed args, int repeats, mixed interval) Adds the specified effect Usage: add_effect(string ob, mixed args, int repeats, mixed interval) repeats will default to ob->query_repeats() interval will default to ob->query_interval() .. c:function:: void reinstate_effects() Called on relogging to restart effects. *File generated by Lima 1.1a4 reStructured Text daemon.*