Difference between revisions of "MUDL:send msgs for cast"
From SlothMUD Wiki
					
										
					
					|  (Created page with " __TOC__   = Summary =  {|class="abilitiestable" border="0" cellspacing="0" cellpadding="0" ! Function Name | send_msgs_for_cast |- ! Settable | No |- ! Returns | Boolean |}...") |  (→Example) | ||
| Line 49: | Line 49: | ||
| = Example = | = Example = | ||
| <pre> | <pre> | ||
| − | addproc  | + | addproc <mobile> mudl | 
| − | setproc  | + | setproc <mobile> 0 intercept_cast_i | 
| # Is this a spell we care about? | # Is this a spell we care about? | ||
Latest revision as of 22:13, 4 March 2016
Contents
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
