What we have here is a very basic generic swinging weapon. Send any suggestions to me at [j--r--y] at [teetot.acusd.edu.] Note that this is not meant to be something functional. It's more like a generic nerf swinging weapon. Generates interesting messages, and that's it. -- Jerry Stratton ([j--r--y] at [teetot.acusd.edu], [C--Vi--o] at [valhalla]) CONTENTS: Generic Swinging Weapon ($thing:) THE GENERIC SWINGING WEAPON @create $thing named generic swinging weapon:generic swinging weapon,swinger @prop #97."oswing_msg" "%N &ohits %i with %p %d, &wounds." rc @prop #97."swing_msg" "You &hit %i with your %d, &wounds." rc @prop #97."tswing_msg" "%N &ohits you with %p %d, &wounds. &tcomment" rc @prop #97."wounds_msg" "dealing a deadly wound" rc @prop #97."ono_target_msg" "%N appears to be developing an interesting rapport with %p %d." rc @prop #97."no_target_msg" "I don't see any %i here. Feeling a little troubled?" rc @prop #97."ohits_msg" "hits" rc @prop #97."hit_msg" "hit" rc @prop #97."tcomment_msg" "Good Lord, %i, are you going to stand for this?" rc ;;#97.("help_msg") = {"The generic swinging weapon has the following messages:", " tswing: What the target sees when the weapon is swung.", " swing: What the swinger sees when the weapon is swung.", " oswing: What others see when the weapon is swung.", " no_target: What the swinger sees when the weapon is swung at a target that doesn't exist.", " ono_target: What others see when the weapon is swung at a target that doesn't exist.", "", "In addition, the following 'ampersand' substitutions can be placed in the above messages:", " &wounds: Should be set to the kind of wounds the weapon does as a phrase: \"dealing a deadly wound\"", " &hit: What the weapon does when it hits as the swinger sees it: \"hit\"", " &ohit: What the weapon does when it hits as others see it: \"hits\"", " &tcomment: An extra comment for the target. Should be a complete sentence. \"Good Lord, %i, are you going to stand for this?\"", "", "For the current state of the above messages, use the @messages verb.", "", "Remember to be careful what you do with this thing! We don't want any ownerless eyeballs floating around Valhalla."} ;;#97.("aliases") = {"generic swinging weapon", "swinger"} ;;#97.("description") = "a nondescript weapon of untold power; be careful with it: you might knock someone's eye out!" ;;#97.("object_size") = {0, 0} @verb #97:"swing" this to any @program #97:swing if (valid(iobj)) player:tell($string_utils:pronoun_sub(this:hitting_sub(this.swing_msg))); player.location:announce_all_but({player, iobj}, $string_utils:pronoun_sub(this:hitting_sub(this.oswing_msg))); if ($object_utils:has_callable_verb(iobj, "tell")) iobj:tell($string_utils:pronoun_sub(this:hitting_sub(this.tswing_msg))); endif else player:tell($string_utils:pronoun_sub(this:hitting_sub(this.no_target_msg))); player.location:announce($string_utils:pronoun_sub(this:hitting_sub(this.ono_target_msg))); endif . @verb #97:"hitting_sub" this none this @program #97:hitting_sub The_Message = args[1]; Substitute_List = {{"&hit", this.hit_msg}, {"&ohits", this.ohits_msg}, {"&wounds", this.wounds_msg}, {"&tcomment", this.tcomment_msg}}; Munged_Message = $string_utils:substitute(The_Message, Substitute_List); return Munged_Message; . "***finished***