MUDL:send msgs for cast
From WikiName
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 template mudl
setproc template 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