^#^
vampiric touch^#^
SUBTOPIC-mage^#^
______________________________ ______________________________
__/ \/ \__
| /| |: |:||
||:| Spell: Vampiric Touch |: Description: |:||
||:| School: Necromancy |: |:||
||:| Cost: 12 |: The spell has a chance to |:||
||:| Level: 12 |: pipe some of the victim's |:||
||:| Usage: vampiric touch who |: living essence into the |:||
||:| Component: corpse or skeleton|: caster. This in effect can |:||
||:| Related Spells: |: heal the caster. |:||
||:| None. |: |:||
||:| |: |:||
||:|_____________________________ |: _____________________________|:||
||/______________________________\|:/______________________________\||
|_______________________________ _______________________________|
'----`
^#^
ventriloquism^#^
SUBTOPIC-mage^#^
______________________________ ______________________________
__/ \/ \__
| /| |: |:||
||:| Spell: Ventriloquism |: Description: |:||
||:| School: Illusion |: |:||
||:| Cost: 1 |: This spell causes another |:||
||:| Level: 1 |: person to appear to speak. |:||
||:| Usage: vent target message |: The ventriloquised victim |:||
||:| |: realises that they did not |:||
||:| Related Spells: |: say it. But they do not |:||
||:| Phantasm, Improved Phantasm |: realise who ventriloquised |:||
||:| |: them. |:||
||:|_____________________________ |: _____________________________|:||
||/______________________________\|:/______________________________\||
|_______________________________ _______________________________|
'----`
^#^
visual illusion^#^
SUBTOPIC-mage^#^
______________________________ ______________________________
__/ \/ \__
| /| |: |:||
||:| Spell: Visual Illusion |: Description: |:||
||:| School: Illusion |: |:||
||:| Cost: 15 |: This spell weaves an |:||
||:| Level: 15 |: illusion about an item |:||
||:| Usage: visual illusion item |: or monster. The woven |:||
||:| |: illusion fools all who |:||
||:| Related Spells: |: touch and look at the item. |:||
||:| Permanent Illusion |: It can be dispelled with a |:||
||:| |: dispel magic. |:||
||:|_____________________________ |: _____________________________|:||
||/______________________________\|:/______________________________\||
|_______________________________ _______________________________|
'----`
^#^
valid_exec^#^
SUBTOPIC-efun32^#^
SYNOPSIS
int valid_exec(string name)
DESCRIPTION
Validate the rebinding of an IP connection by usage of efun
exec(). The argument is the name of the _program_ attempting
to rebind the connection. This is not the file_name() of the
object, and has no leading slash.
Return 0 to disallow the action, any other value to allow it.
SEE ALSO
exec(E)
^#^
valid_query_snoop^#^
SUBTOPIC-efun32^#^
SYNOPSIS
valid_query_snoop(object ob)
DESCRIPTION
Should return 1 if previous_object() (the one that called the
efun query_snoop()) is allowed to query wether ob is being
snooped, 0 if not.
The master object is always allowed to use query_snoop().
SEE ALSO
valid_snoop(M), query_snoop(E), snoop(E)
^#^
valid_read^#^
SUBTOPIC-efun32^#^
SYNOPSIS
string valid_read(string path, string uid, string func, object ob)
DESCRIPTION
This function is called to check if the object ob with the
user-id uid has read permissions for the file given by path
for the operation named by func. It should return 0 if
permission is denied, or the normalized path if permission is
granted. You can also return 1 to indicate that the path can
be used unchanged.
The returned pathname must not contain ``..'', a leading /
will be stripped by the interpreter.
Func denotes the efun call or other operation that caused
valid_read() to be called:
ed_start (check if the file to be edited is readable),
file_size,
get_dir,
print_file (efun cat()),
read_bytes,
read_file,
restore_object,
tail.
Note that this function is called in compat mode as well. If
you need to be compatible with the old 2.4.5-mudlib, redirect
these calls to the valid_read/valid_write in the user
object.
SEE ALSO
valid_write(M), make_path_absolute(M)
^#^
valid_seteuid^#^
SUBTOPIC-efun32^#^
SYNOPSIS
int valid_seteuid(object ob, string newid)
DESCRIPTION
Should return 1 if ob is allowed to set its euid to newid.
Objects are always allowed to set their euid to 0.
SEE ALSO
seteuid(E), uids(C)
^#^
valid_snoop^#^
SUBTOPIC-efun32^#^
SYNOPSIS
int valid_snoop(object me, object you)
DESCRIPTION
Should return 1 if me is allowed to snoop you, 0 if not.
SEE ALSO
snoop(E), query_snoop(E), valid_query_snoop(M)
^#^
valid_write^#^
SUBTOPIC-efun32^#^
SYNOPSIS
string valid_write(string path, string uid, string func, object ob)
DESCRIPTION
This function is called to check if the object ob with the
user-id uid has write permissions to the file given by path
for the operation named by func. It should return 0 if
permission is denied, or the normalized path if permission is
granted. You can also return 1 to indicate that the path can
be used unchanged.
The returned pathname must not contain ``..'', a leading /
will be stripped by the interpreter.
Func denotes the efun call or other operation that caused
valid_write() to be called:
cindent,
do_rename (efun rename(), for the old and then for the new name),
ed_start (whenever the builtin ed tries to write to a file),
mkdir,
remove_file (efun rm()),
rmdir,
save_object,
write_bytes,
write_file.
Note that this function is called in compat mode as well. If
you need to be compatible with the old 2.4.5-mudlib, redirect
these calls to the valid_read/valid_write in the user
object.
SEE ALSO
valid_read(M), make_path_absolute(M)