Generic Casting/Armour/View/Freeze/Combat/Magic Effect #8868

Parent #517Owner Flags Source rpg_march_2006/Dependencies/8868.txt

Aliases: Generic Casting/Armour/View/Freeze/Combat/Magic Effect, effect

3 verbs · 10 properties · 1 children

Verbs

VerbSpecFlagsDefinerLines
add removethis none this#88688
make_fertilethis none this#886814
set_aliasesthis none this#88688

Properties

PropertyDefinerFlagsOwnerValue
manufactured#8868947275400
worth#8868-1
condition#8868E_NONE
odrop_failed_msg#8868"%<tries> to drop %t but fails!"
odrop_succeeded_msg#8868"%<drops> %t."
otake_succeeded_msg#8868"%<picks> up %t."
key#8868not readable (E_PERM)
aliases#8868{"Generic Casting/Armour/View/Freeze/Combat/Magic Effect", "effect"}
description#8868
value (450 chars){"Ok, so here's how it works:", "", "Design the effect object with combat and/or armour and/or magic effects ", "and make it a child of Generic Armour/Combat/Magic Effect (#8868) as ", "appropriate.", "", "Set the .effects to be {\"magic_effects\", \"combat_effects\"} or whatever ", "you've defined.", "", "Now you can use this:add(<doll>) and this:remove(<doll>) to add/remove ", "this object from the correct effects properties on <doll>. Whee."}
object_size#8868{2750, 1141286627}

Ancestry

Ancestors (nearest first): #517 Generic LRPG Thing

Children: #1760 generic poison

Source

add remove

Spec this none thisDefiner #8868

Referenced by

Source

1":add(<doll>) or :remove(<doll>)";
2"Adds/Removes this object to all the effects props on <doll> that are specified in this.effects.";
3{doll} = args;
4$local.rpg:secure();
5function = ("set" + verb) + "_att";
6for effects in (this.effects)
7  doll:(function)(effects, this);
8endfor

make_fertile

Spec this none thisDefiner #8868

Referenced by

none

Source

1"Usage: make_fertile()  => Makes this temporarily fertile if permitted.";
2"       make_fertile(<True>) => Resets this to unfertile.";
3if ($local.rpg:trusted(caller_perms()))
4  if (args && this.f)
5    this.f = 0;
6  elseif (!this.f)
7    this.f = 1;
8    fork (0)
9      this.f = 0;
10    endfork
11  endif
12else
13  return E_PERM;
14endif

set_aliases

Spec this none thisDefiner #8868

Referenced by

none

Source

1if ($perm_utils:controls(caller_perms(), this) || (this == caller))
2  fork (0)
3    pass(setadd(@args, "effect"));
4  endfork
5  return pass(@args);
6else
7  return E_PERM;
8endif