abstract's RPG FO for Lazy RPG'ers #96200

Parent #18181Owner Flags Source rpg_march_2006/Features/abstract's RPG FO for Lazy RPG'ers.txt

Aliases: abstract's RPG FO for Lazy RPG'ers

6 verbs · 10 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
checkany none nonerxd#962004
wo*und dr*ainany none none#9620036
stripnone none nonerxd#9620021
Testingnone none nonerxd#9620016
unstripnone none nonerxd#9620024
@takeallnone none nonerxd#9620021

Properties

PropertyDefinerFlagsOwnerValue
usage#96200not readable (E_PERM)
users#96200
value (1783 chars){#90731, #94368, #98263, #94965, #94456, #104202, #97613, #104467, #91224, #58026, #102292, #101504, #106308, #90441, #87010, #58091, #85077, #63625, #56054, #50290, #103615, #91812, #103523, #88395, #108054, #108147, #108214, #108431, #103911, #69513, #110215, #86275, #106587, #90331, #104233, #59447, #71781, #109472, #112066, #110565, #112743, #112968, #110280, #106854, #101594, #113391, #87951, #59254, #113727, #89395, #93228, #113686, #106273, #110586, #103703, #114702, #114774, #114518, #113418, #114808, #114019, #113800, #110805, #115109, #105473, #115124, #113235, #113338, #114874, #91113, #114928, #112190, #115545, #107610, #107413, #110077, #87340, #115432, #80422, #37544, #114859, #116200, #116082, #107807, #71111, #116385, #37972, #87593, #116358, #116339, #107998, #107189, #113285, #112529, #115937, #116886, #116473, #115922, #117048, #117236, #117283, #112886, #117470, #30568, #117139, #115067, #117649, #109271, #115397, #116883, #12399, #118014, #118143, #117486, #90723, #98705, #118526, #118551, #118248, #109395, #118711, #118720, #117766, #118750, #115095, #118672, #118864, #92953, #118654, #117345, #119039, #119012, #38441, #119057, #114413, #59424, #119177, #118916, #118018, #118153, #119429, #112473, #119469, #115366, #112971, #118985, #87760, #119257, #119884, #111987, #119492, #118360, #115834, #118730, #118861, #120144, #88076, #91798, #112837, #112369, #116376, #119899, #120282, #106488, #119161, #109288, #119957, #119906, #120791, #114670, #110183, #121077, #120546, #121332, #121456, #113754, #120804, #121358, #121648, #121095, #87625, #121758, #121865, #109911, #121895, #106468, #121918, #121816, #121976, #121852, #121386, #114072, #122359, #119265, #122354, #122410, #110582, #122428, #118977, #122453, #122460, #122491, #122644}
users_last_updated#96200922829506
help_msg#96200{}
feature_verbs#96200{"strip", "unstrip", "@takeall"}
guest_ok#962001
key#96200not readable (E_PERM)
aliases#96200{"abstract's RPG FO for Lazy RPG'ers"}
description#96200"This is Sick's version of the Generic Feature Object. It is not meant to be used as a feature object itself, but is handy for making new feature objects."
object_size#96200{17392, 1141286864}

Ancestry

Ancestors (nearest first): none

Children: none

Source

check

Spec any none noneFlags rxdDefiner #96200

Referenced by

none

Source

1a = args[1];
2for x in (a.contents)
3  player:tell(x.name, "|", a);
4endfor

wo*und dr*ain

Spec any none noneDefiner #96200

Referenced by

none

Source

1"This is the same as with #57580.";
2"You got the wand, you must have good stats, you should know how to use this ;)";
3"But in case you don't:";
4"wo <TARGET>    will cast the wound spell on the target.";
5"dr <TARGET>    will cast the drain spell on the target.";
6doll = $local.rpg:get_doll(player);
7staff = #-1;
8for X in ({@doll.wielding, @doll.wearing})
9  if ($object_utils:isa(X, #331))
10    staff = X;
11  endif
12endfor
13if (!valid(staff))
14  player:Tell("You must wield a proper focus first.");
15  return E_PERM;
16endif
17if (!$object_utils:has_verb(staff, "wound" || "drain"))
18  player:tell("You need to wield something which can cast the wound or drain spell first...");
19  return;
20endif
21if (dobjstr == "")
22  player:tell("You need to define a target.");
23  return;
24endif
25if (index(verb, "wo"))
26  #272:wound(dobj, "with", staff);
27  return;
28endif
29if (index(verb, "dr"))
30  if ($local.rpg:get_doll(dobj) != #-1)
31    staff:magic(player, dobj, "heal", 0, 0, 0, "drain");
32  else
33    player:tell("Your target is Dead to the life-magics.");
34  endif
35  return;
36endif

strip

Spec none none noneFlags rxdDefiner #96200

Referenced by

none

Source

1"Okay, this is a quick strip, removing all your armor.  (Primarily for MOOfu is this verb designed, but you can use it for just stripping anyway).";
2"If you are holding a ghi, it will automatically wear it.";
3this:update_usage(verb, player, args);
4stripped = this.stripped;
5if (!valid(doll = $local.rpg:get_doll(player)))
6  player:tell(tostr("You can't strip.  You're not of the Bovine."));
7endif
8if (index = $list_utils:iassoc(player, this.stripped))
9  this.stripped = setremove(this.stripped, this.stripped[index]);
10endif
11this.stripped = {@this.stripped, {player, @doll.wearing}};
12for x in (doll.wearing)
13  x:remove();
14  $command_utils:suspend_if_needed(2);
15endfor
16for stuff in (player.contents)
17  if ($object_utils:isa(stuff, #69882))
18    stuff:wear();
19  endif
20endfor
21player:tell("> Stripping finished.");

Testing

Spec none none noneFlags rxdDefiner #96200

Referenced by

none

Source

1"Okay, this is a quick strip, removing all your armor.  (Primarily for MOOfu is this verb designed, but you can use it for just stripping anyway).";
2"If you are holding a ghi, it will automatically wear it.";
3stripped = this.stripped;
4if (!valid(doll = $local.rpg:get_doll(player)))
5  player:tell(tostr("You can't strip.  You're not of the Bovine."));
6endif
7for x in (doll.wearing)
8  this.stripped = {@stripped, {player, x}};
9  x:remove();
10endfor
11for stuff in (player.contents)
12  if ($object_utils:isa(stuff, #69882))
13    stuff:wear();
14  endif
15endfor
16player:tell("> Stripping finished.");

unstrip

Spec none none noneFlags rxdDefiner #96200

Referenced by

none

Source

1"To unstrip what you've stripped..";
2this:update_usage(verb, player, args);
3if (!valid(doll = $local.rpg:get_doll(player)))
4  player:tell("You're not of the Bovine...");
5  return E_PERM;
6endif
7if (index = $list_utils:iassoc(player, this.stripped))
8  for wearing in (this.stripped[index][2..length(this.stripped[index])])
9    for ghi in (doll.wearing)
10      if ($object_utils:isa(ghi, #69882))
11        ghi:remove();
12      endif
13    endfor
14    if (wearing in player.contents)
15      wearing:wear();
16    else
17      player:tell("You're not carrying ", $string_utils:nn(wearing), " and thus you have not worn it.");
18    endif
19  endfor
20  this.stripped = setremove(this.stripped, this.stripped[index]);
21else
22  player:tell("You never stripped, how ya meant to unstrip??");
23  return E_PERM;
24endif

@takeall

Spec none none noneFlags rxdDefiner #96200

Referenced by

none

Source

1"This verb will take all RPG stuff in an RPG room for ou automatically.  You LAZY person you :)";
2"Syntax (real simple):   @takeall    :)";
3"Now just don't go racing to pick things up to sell to Paula  :)";
4if (!valid(doll = $local.rpg:get_doll(player)))
5  return player:tell("You're not of the Bovine and cannot use this Bovine verb.");
6endif
7this:update_usage(verb, player);
8if (!$object_utils:isa(where = player.location, #258))
9  return player:tell("You can only use this in an RPG room.");
10elseif (doll.wielding)
11  for weapon in (doll.wielding)
12    weapon:unwield();
13  endfor
14endif
15for x in (player.location.contents)
16  if ($object_utils:isa(x, #517))
17    x:get(this);
18    $command_utils:suspend_if_needed(2);
19  endif
20endfor
21player:tell("Done taking everything in this room.");