a sewing machine (#2036)

(an instance of Generic Dispenser made by Marcus)

     An old-fashioned sewing machine, not the fancy programmed kind but still looking like you could operate it.......
     
     1. Type 'cut pattern' to fashion a sewing pattern.
     2. Cutting the pattern you can make up a role and its description.
     3. 'Run machine with pattern' and you'll sew your very own costume.
     4. ('@chparent me to #1223' if you can't wear costumes.)
     5. Watch out! if you run the machine without cutting a pattern, you'll get a costume just like the last person's who used it...

Go to location of this object, Pattern Room.



VERB SOURCE CODE:

run use op*erate:
set_task_perms(player);
this:dispense_item(argstr);
.


set_new_name:
pattern = this.dispenses;
name = tostr(pattern.role_msg, " costume");
return pass(name);
.


set_new_aliases:
pattern = this.dispenses;
name = tostr(pattern.role_msg, " costume");
alias = tostr(player.name, "'s ", pattern.role_msg, " costume");
aliases = {name, pattern.role_msg, alias, "costume"};
return pass(aliases);
.


set_new_desc:
pattern = this.dispenses;
description = tostr("You see a costume, for the part of ", pattern.role_msg, ". Seemingly 
sewn by ", player.name, ".");
return pass(description);
.


pre_dispense:
this.location:announce_all("There's a whirring, shuttling, snipping...");
suspend(3);
this:set_new_name();
this:set_new_aliases();
this:set_new_desc();
.


post_dispense:
pass(@args);
object = args[2];
object.role_msg = object.role_msg;
object.role_desc_msg = object.role_desc_msg;
player:tell("Looking over your handiwork...");
player:tell_lines(object.role_desc_msg);
.



PROPERTY DATA:
      sitting_msg