This function has specific usefulness within a BlobbieScript used to implement a spell. The function makes particular use of variables pre-defined for spell BlobbieScripts and is provided to mimic behaviour present in the MUD's C source code as provided via #defined MACROS.
This function is used to generate a list of @targets for a spell. If @targets is already defined then it will not try to retrieve them using standard methods (pre-defined @targets serves as an override). When generating a list of targets the function will take into consideration the source of the spell (cast, staff, potion, etc), the area effect of the spell (single target, area), and the invoker of the spell (mobile, object, room). The function will then retrieve the appropriate list of mobiles and items in the room as perceivable by the invoker. If no targets are found then the spell will output the standard "Who will be your target?" and either terminate the script or jump execution to a defined "spellComplete" jump label. The specific mobiles are determined via the following targetting range as might be used for the %getTargets() function: "r[m] i[o] e[o] r[o]"
Example:
%spellRoutineMitemTargets();
Wrong Example:
@targets = %spellRoutineMitemTargets(); |