MUDL:send msgs for cast

From WikiName
Revision as of 22:13, 4 March 2016 by Teker (talk | contribs) (Example)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Summary

Function Name send_msgs_for_cast
Settable No
Returns Boolean


This function sends the appropriate messages for casting a spell. It is most likely to be used inside the intercept_cast function but could be used in other places. The function returns TRUE if all the parameters are valid and FALSE otherwise.


Parameters

Arguments
Character Actor performing the cast.
Integer Id of the spell being cast.


Output

Person Message Sent
Actor OK.
Others in Room <Actor> utters the words '<Spell Name>'.


Example

addproc <mobile> mudl
setproc <mobile> 0 intercept_cast_i

# Is this a spell we care about?
if (spell_name(%1) != 'fireball',
(
    # Wrong spell.
    return(false)
)),

# Is this targeted at us?
if ((length(%s) < 1) OR !(char_in_room(%a, %s[1]) = %c),
(
    # Not targeting us.  Use normal processing.
    return(false)
)),


send_msgs_for_cast(%a, %1),

cmd(%c, 'say Your fire is no match for me!'),

# Mark spell as successful - full mana drain.
set(flag(%f, 'procedure-flags', 'success'), true),

# Stop future processing of this command
set(flag(%f, 'procedure-flags', 'overrode-command'), true),
return(true)
@

setproc <mobile> 0 PROC_ENABLED 1
compile