Attribute is_coin; Class Coin with name "coin", description "A round unstamped disc, presumably part of the local currency.", parse_name [ i j w; if (parser_action==##TheSame) { if ((parser_one.&name)-->0 == (parser_two.&name)-->0) return -1; return -2; } w=(self.&name)-->0; for (::i++) { j=NextWord(); if (j=='coins') parser_action=##PluralFound; else if (j~='coin' or w) return i; } ], has is_coin; Class GoldCoin class Coin, with name "gold", short_name "gold coin", plural "gold coins"; Class SilverCoin class Coin, with name "silver", short_name "silver coin", plural "silver coins"; Class BronzeCoin class Coin, with name "bronze", short_name "bronze coin", plural "bronze coins"; SilverCoin players_coin; [ TossCoinSub; if (noun notin player) "You need to be holding the coin first."; move noun to parent(player); if (location==thedark) "You throw it away into the darkness."; if (random(20)==1) "You toss the coin, and it lands... on its edge, amazingly."; "You toss the coin, and it comes up... blank, since neither side is marked."; ];