From someone@ghostwheel.mud.org Sun Mar 14 10:54:21 1999 Return-Path: Received: from localhost (quinn@localhost [127.0.0.1]) by requiem.vv.com (8.8.7/8.8.7) with ESMTP id KAA14942 for ; Sun, 14 Mar 1999 10:54:10 -0500 Received: from mailhost.vv.com by localhost with POP3 (fetchmail-4.7.7) for quinn@localhost (single-drop); Sun, 14 Mar 1999 10:54:20 -0500 (EST) Received: from casper.realtime.net (casper.realtime.com [205.238.128.161]) by eniac.vv.com (8.9.0.Beta5/8.9.0.Beta5) with ESMTP id KAA02686 for ; Sun, 14 Mar 1999 10:53:18 -0500 (EST) Received: from casper.bga.com (localhost [127.0.0.1]) by casper.realtime.net (8.7.4/8.7.3) with SMTP id KAA06534 for ; Sun, 14 Mar 1999 10:01:35 -0600 Message-Id: <199903141601.KAA06534@casper.realtime.net> Date: Sun, 14 Mar 1999 10:00:42 -0400 From: "Quinn@GhostWheel" To: quinn@netsville.com Subject: GhostWheel Message(s) 101 - 209 from *db (#84) X-Mail-Agent: GhostWheel (casper.bga.com 6969) Status: RO Content-Length: 48474 Lines: 1611 Message 101 from *db (#84): Date: Tue Mar 11 10:22:13 1997 CST From: Quinn (#2) To: *db-issues (#84) Subject: @define @define should work now, with an actual *unabridged* dictionary, but on a rather slow site. I have a cache in operation, to save the trouble of multiple lookups when someone mentions a big word in conversation. -------------------------- Message 102 from *db (#84): Date: Thu Apr 10 01:05:06 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: wannabe (wearable clothing) Mulder sat at the bar, idly sipping from his pint glass. Alluvia sat at the end of the bar, quietly glaring at Smoke, sitting in at the couch, who was returning the glare, in kind. By odd coincidence, Lamia happened to walk into the room, and so the glare-fest turned three way. Hoping to avoid a cat fight, Mulder planted his pint on the bar, and announced, "I'll tell you what I want. What I really, really want..." In chorus the girls piped up, "So tell us what you want. What you really, really want..." Taken aback, Mulder stuttered, "I'll tell you what I want. What I really, really want..." And the girls repied again, with a bit more irritation the second time, "So tell us what you want. What you really, really want..." Taking a deep breath, Mulder stated, "I wanna, I wanna, I wanna, I wanna, I wanna really, really, really wanna wearable container." "Oh," they said. "So why don't you bloody well code it, then?" Mulder flinched, "Right, I'll get you for that, you buggers! You blew the lyric! I'll just show you, I will... I'll code that object, I will... blimey." And he stauntered off in a huff and coded it. So it is with much anticipation of personal taste flaming that I introduce the generic wearable container (#1646). It's a $container, no wait, it's a piece of $clothing! By golly, it's both! (And only for 1434 bytes of quota!) ------- Begin Caveats Here ------- When joining objects together without truely server-supported multiple parentage, you always run into problems. In this case, the problems reside in two places, and the only variances one would expect are rooted in those. 1. Message names. Clothing already has a .remove_msg and .oremove_msg on it, so those had to be replaced. The new messages are, .takeout_msg, .otakeout_msg, .takeout_fail_msg, and .otakeout_fail_msg. Mmmmm, makes me hungry for sweet and sour pork... 2. do_remove The do_remove verb on clothing has two problems with it, the second created by the obvious fix for the first. Clothing checks its contents, and then runs the :tuck_in verb on it (it assumes all contents are clothing, which has a :tuck_in verb) However, since you can put stuff in wearable containers, most of those things not having a :tuck_in verb, it dies. So, simple, hack the verb to only look at the players.contents for clothing, since that's where it sits anyways. Unfortunetly, now the verb is $prog owned, and the last line (it's always the damned last line) sets the clothings .worn_on to #-1, something a programmer simply can't do. So, I had to hack into :contents (which the verb usually calls for the .contents listing) and return a fake list when that verb calls it. So sad. You probably won't care. - Mulder -------------------------- Message 103 from *db (#84): Date: Fri Apr 11 15:12:11 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: Something Kinda Funny (or, the login watcher) Mulder sat at the bar idly, rapping his knuckles on its beer stained surface. After the other nights tedious confrontation, he didn't want to risk another run-in with the terrible trio. But how would he know when they logged in? He wasn't in the habit of typing 'WHO' every few seconds... What could he do? "By jove," he exclaimed, "I could write a login watcher!" Osbornn eyed him warily, "A what?" Mulder grinned, "A login watcher... you know, that watches for logins, and when they happen, tells you about em!" "Ah, I see," Osbornn replied, "But what are you going to do about lag? And how are you going to get a Spice Girls lyric into this post?" "Well, about the lag..." Mulder said slowly, and then grinned, "We've got something kinda funny going on. We've got something kinda funny going on... Wherever you're going, high or low, remember to sure enjoy the show, so climb aboard my journey deep inside, better late than dead on time." "What's that got to do with lag," Osbornn coughed. "Well, nothing really. Except maybe the 'better late than dead on time' part. Which is why I created a little widget to monitor how much CPU time this login watcher's taking." "Oh, well, that's good. Wouldn't want it to get out of hand." "Indeed," Mulder said with a grin, "But Ylise, Smoke, and Lamia all just logged in, so I've got to be moseying along." -------------- Insert nitty gritty details here -------------- Most of you should know what a login watcher does, but if you don't, here's the low down. You tell it who you want to watch for, and it does just that. If it spots them, then it tells you. Simple enough. Easier than watching the WHO listing. The commands work thusly: @watch / @watch all The first version only watches for specific people, while the second tells you about everybody. (Read: SPAM) @unwatch / @unwatch all Removes a specific person, or everyone, from your watch listing. @watcher-options Shows a list of options related to the login watcher. Works just like the @options-mail and such commands. This one controls whether you're shown logins, logouts, or both. @timecodes This shows the tick counts for the main watcher verb over the last minute. The verb runs in five second intervals, which are appended to the end of the listing. If this command shows things are getting out of hand (15,000 tick counts listed repeatedly over a minutes time) we'll have to reconsider the login watcher, and it may be pulled. ********* Privacy ********* The login watcher does not show hidden users logins or logouts. If you don't want people to know your here (aside from wizzen), then @hide. - Mulder -------------------------- Message 104 from *db (#84): Date: Fri Apr 11 15:14:57 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: append to #103 FYI, there is also a @watched command, which shows you who you are currently watching. The Login Watcher is a FO, and to have it, you must @add-feature #2691. -------------------------- Message 105 from *db (#84): Date: Tue Apr 29 20:04:54 1997 CDT From: Rathe (#14172) To: *db-issues (#84) Subject: citadels.. Small question. I've looked at the sheets/ect of people who have houses/citadels, and some seem to have 10 pts for citadel, other's don't. I've asked Wizzen which is the correct way to do things, some said 10 character points + x amount of crys/room, others only said crystals. What's the official rule? --Rathe. -------------------------- Message 106 from *db (#84): Date: Wed May 14 17:04:29 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @gag @gag only works for pages now. I should extend the trust system to work like refusals for pages, mail, etc. -------------------------- Message 107 from *db (#84): Date: Sat May 17 15:22:28 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @beep Added check for :has_gagged in $player:@beep. -------------------------- Message 108 from *db (#84): Date: Mon May 19 16:13:43 1997 CDT From: Mulder (#709) To: *db-issues (#84) Changed generic revealable clothing(#8521):worn_msg so that it prints out the revealable bit _after_ the usual message. Looks better. Grrr, could have sworn I did this before. -------------------------- Message 109 from *db (#84): Date: Tue May 20 05:32:14 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: Reposts of things that should be re-posted There was a question a few days ago about the permiability system. I knew I'd read about it before, so I was looking through my stuff on disk, and found this. Appologies to Quinn if it's out of date. Exits now have a property `sound_permeability' which determines whether or not a sound of certain volume is transmitted through it. sound_permeability -- How clearly sound travels through the exit. 0 -> silence 1 -> audible -x -> varying degrees of distortedness For example, when we get some doors, the sound permeability will be 0 when they're closed. Certain exits might not want sound passing through them at all, and should likewise be 0. To fix your exit so that it does not transmit sound, do: @set exit.sound_permeability to 0 Or if you'd like it to only sometimes receive sound, use: @set exit.sound_permeability to A shout is of loudness 6, thus a -7 or greater sound permeability won't transmit a shout. Some sounds and their loudness: pindrop -- 0 (rarely, if ever, heard) whisper -- 0-1 normal speech -- 1-4 shout -- 5-6 $exit has sound permeability of -2. That's the default. It should be neat when worked out. Please feel free to comment now before the scheme becomes law. -quinn ------------------- I pushed this down to -3, which means about 25% of speech will transmit through exits. Whispers/Murmurs are completely private right now, so don't worry about those. DO keep in mind, however, that someone might be overhearing your spoken conversations in the next room. -------------------------- Message 110 from *db (#84): Date: Sun Jun 1 14:30:03 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: idle_seconds Hacked $char:idle_seconds to return -1 if an error. -------------------------- Message 111 from *db (#84): Date: Sun Jun 1 14:31:02 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: connected_seconds Same here. -------------------------- Message 112 from *db (#84): Date: Sat Jun 7 16:33:45 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: new builtins Added builtins hash_string_as_int (via $string_utils:strhash) and match_verbname (via existing $code_utils:verbname_match), at the suggestion and code-pasting of Janus. -------------------------- Message 113 from *db (#84): Date: Mon Jun 16 12:28:17 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: eval Added "eval?" and "eval-d?" aliases to $prog:eval, which will prompt for code. Like a disposable @program. -------------------------- Message 114 from *db (#84): Date: Mon Jun 16 12:59:04 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @options I've revamped the @options system to use a single "options" property on the player, which uses the new $table interface (ported by Janus). All old-style options have been ported over, and the user-interface is identical. The upside of the switch is that any programmer can now write and retrieve options on a player. How? ;player:get_option(#my_option_package, "key") ;player:set_option(#my_option_package, "key", "val") If #my_option_package is a child of $generic_options, then that interface is used to get and set the options. Otherwise, #my_option_package is simply a key in the options table. Basically, it's like being able to define your own properties on a player-- having your own "namespace". -Quinn -------------------------- Message 115 from *db (#84): Date: Tue Jun 17 16:25:03 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $ignore_timeout You can now call $ignore_timeout() in your verbs if you don't want them to traceback when they run out of ticks/seconds. They'll quietly die instead, which isn't always a good idea. Use with caution. -------------------------- Message 116 from *db (#84): Date: Tue Jun 17 18:33:51 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: tracebacks New option `@display-options +short_tbks` will show one-line tracebacks rather spam you with the real long ones. -------------------------- Message 117 from *db (#84): Date: Thu Jun 19 17:02:57 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: netmail Added `@mail-option +netmail` in case you'd like your MOO-mail to go directly to your registered e-mail address. -------------------------- Message 118 from *db (#84): Date: Thu Jun 19 21:08:09 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: @fdos/@dos .gm_notes bug fix Fixed a traceback that popped up when Quinn changed the permissions on .gm_notes, thereby inadvertently passing an error to $player:notify_lines, resulting in a traceback. Bleah. -------------------------- Message 119 from *db (#84): Date: Fri Jun 20 11:38:44 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @prog-option no_verbdup Added programmer option "no_verbdup" which prevents @verb from creating a verb with an alias of an existing verb. -------------------------- Message 120 from *db (#84): Date: Sun Jun 22 19:03:53 1997 CDT From: Rathe (#14172) To: *db-issues (#84) Subject: Question What is the rule about having items put out of play? Say I found an item that I thought was a bit too beastly and wanted to ICly destroy it..? Rathe -------------------------- Message 121 from *db (#84): Date: Tue Jun 24 01:34:13 1997 CDT From: Janus (#3597) To: *db-issues (#84) Subject: $table An in-db implementation of the table/dictionary data type. Fully documented. Basiccaly it allow to make variables that are kind of smart associated list and provide all kinds of accessors to manipulate that data type. help $table for more information. Enjoy. J. P.S. I first created it at E_MOO, now I ported it here and refined the code/API. -------------------------- Message 122 from *db (#84): Date: Tue Jun 24 01:41:17 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: @age FO Changed the @age FO (#19101) to gm only, in anticipation of coming changes. -------------------------- Message 123 from *db (#84): Date: Thu Jun 26 19:29:42 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: #212/@puppets Total overhaul for this old champ. Cleanup of @puppets list, better (faster?) matching, better failure messages, no un-necessarily wiz-owned verbs. -------------------------- Message 124 from *db (#84): Date: Fri Jun 27 14:18:00 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: ~username Hacked $string_utils:literal_object to recognize the ~username syntax. -------------------------- Message 125 from *db (#84): Date: Fri Jun 27 14:28:38 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $string_utils:matching Now redirecting match_player, match_player_or_object and literal_object to $match_utils. Please use the $match_utils versions in your code. -------------------------- Message 126 from *db (#84): Date: Sun Jun 29 17:32:21 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: netmail Now prepending "MOO-Mail from player.name: " to subjects of netforwarded mail, for those whose mail readers don't show the Original-*: headers. -------------------------- Message 127 from *db (#84): Date: Sun Jul 6 15:16:52 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @trusted Fixed to weed out non-characters. -------------------------- Message 128 from *db (#84): Date: Sat Jul 12 17:14:38 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @dump Fixed longstanding bug with @dump ignoring its options. -------------------------- Message 129 from *db (#84): Date: Sun Jul 13 15:02:31 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: misc Fixed @hangouts to delete non-$room hangouts. Fixed #12689:can_cast_spell to stop tracing back on invalid targets. Fixed $rpg_room:_combat to break out of the combat loop gracefully if a temporary room has been recycled. Fixed $clothing:absorb_damage to avoid traceback when passed weapon is not valid. The whole suite of attack arguments should be standardized and/or encapsulated. Argh! -------------------------- Message 130 from *db (#84): Date: Sun Jul 13 15:21:21 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: fastenable/revealable clothing feature Added a feature to the revealable and fastenable clothing parents. You can now set whether the fastened/revealed message will be in front of, or behind the worn message. The syntax is thus: @revealed_loc clothing is after/before @fastened_loc clothing is after/before Clothing defaults to before. -------------------------- Message 131 from *db (#84): Date: Sun Jul 13 15:48:06 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: generic revealable wearable container (#7998) Created generic revealable wearable container (#7998) as per manys constant, nagging, and irritating requests. Basicly just threw generic revealable clothing and generic wearable container together. Neither feature is linked to the other, so you can get stuff out of a un-revealed container, and the like. -------------------------- Message 132 from *db (#84): Date: Mon Jul 14 10:54:59 1997 CDT From: Quinn (#2) To: Stalinger (#657) and *db-issues (#84) Subject: @features Re-wrote $player:@features to handle both `@features` and `@features matching for any` in the same verb, to sort feature output, and to check for a $feature:display_msg that, when returning a non-string, means the feature doesn't show up in @features. `@features!` shows all features, regardless of their :display_msg output. -------------------------- Message 133 from *db (#84): Date: Mon Jul 14 19:14:25 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $room:go Fixed bug with :go tracing back when the player has left a room before the next direction can be taken, and the room has since been recycled. -------------------------- Message 134 from *db (#84): Date: Tue Jul 15 00:50:52 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: fastenable clothing/revealable clothing Fixed a bug where a blank worn_msg would result in four blank spaces between messages. -------------------------- Message 135 from *db (#84): Date: Tue Jul 15 16:37:43 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: pronoun_sub Fixed so a list argument of ONE element isn't forced to be conjugated as plural. -------------------------- Message 136 from *db (#84): Date: Wed Jul 16 16:02:52 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: pronoun_sub Really fixed bad conjugation for single-element lists in $string_utils:pronoun_sub. The right way. -------------------------- Message 137 from *db (#84): Date: Thu Jul 17 16:00:59 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: eval, $error, buggy events Hacked eval_cmd_string to check for "try" before prepending a "return" to an eval. Added $error:short_traceback, returning a one-liner describing an exception. Aliased :format_traceback on same to :full_traceback. Use the latter. Hacked $room:broadcast_event_* to notify the player with $error:short_traceback rather than blowing up. -------------------------- Message 138 from *db (#84): Date: Sun Jul 20 12:45:58 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @sweep Made a quick hack to @sweep to reflect martial law. Also added NPCs to the sweep output. Nothing fancy, erring on the side of paranoia. -------------------------- Message 139 from *db (#84): Date: Sun Jul 20 12:57:38 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $string_utils:to_bytes Fixed to_bytes to properly convert negatives. -------------------------- Message 140 from *db (#84): Date: Wed Jul 23 17:06:41 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @build-options zone Fixed zone option to parse properly. -------------------------- Message 141 from *db (#84): Date: Thu Jul 24 13:34:36 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $exit:move $exit:move now returns true if the object being moved actually made it to the other side. -------------------------- Message 142 from *db (#84): Date: Sat Jul 26 18:51:45 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @copy Added a strong nag to @copy. Heed it well, or you really will find yourself in big fucking trouble. -------------------------- Message 143 from *db (#84): Date: Mon Jul 28 14:37:36 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $integrated:announce_mood Added a :choose_mood verb which can be hacked for greater control over what mood message is shown. -------------------------- Message 144 from *db (#84): Date: Mon Jul 28 15:09:05 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @full-owned I recently hacked #411:@owned to use a more proper measurement of bytes. That is, 1kb is 1024b, not 1000b. No, you didn't lose any quota. 200kb is just measured as 195.31kb. Like 8mb of RAM is really 8192kb. -------------------------- Message 145 from *db (#84): Date: Tue Jul 29 17:01:23 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: hide_who Added $player:public_who. You should use this to determine whether or not a player should be included in a WHO listing. (Or better, use $login:connected to get a list.) It makes checks above the usual $privacy_options hide_who setting. To the point-- if you're IC, you can't @hide from WHO. Open for criticism. In other news... removed @where from players. -------------------------- Message 146 from *db (#84): Date: Tue Jul 29 19:01:09 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: toliteral Opened the toliteral() builtin to public use again after putting checks in $bf_toliteral for very large values. -------------------------- Message 147 from *db (#84): Date: Thu Jul 31 12:08:44 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: public_loc Added privacy option public_loc which allows either a toggle or "zone" (show only your zone). :public_loc will now return either $hidden_loc, a player's :room(), or their :zone() accordingly. (Previously, it always returned a $room. Now it could return a $zone. Thus caveat.) -------------------------- Message 148 from *db (#84): Date: Mon Aug 4 20:05:42 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $root.help_msg As a result of the HOUNDING OF JANUS, I added a $root.help_msg, and (hopefully) switched over all existing ones. -------------------------- Message 149 from *db (#84): Date: Wed Aug 6 11:39:54 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $room:is_resident Added $room:is_resident, and hacked various $room verbs to use it rather than direct access to the residents property. This a first step in folding some of the more basic features of various $room branches into $room to streamline the parentage. -------------------------- Message 150 from *db (#84): Date: Wed Aug 6 12:01:50 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @value-edit I moved @value-edit from $prog to $builder. This verb brings you into an editor which allows you to edit any value as its text representation, and save it back as its parsed value. Could be quite useful for builders. -------------------------- Message 151 from *db (#84): Date: Wed Aug 6 14:33:19 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @chmod Moved @chmod to $builder. -------------------------- Message 152 from *db (#84): Date: Fri Aug 8 15:20:30 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: *list matching Janus tracked down a bug in matching whereby *strings weren't being recognized as list references. -------------------------- Message 153 from *db (#84): Date: Sat Aug 9 16:21:36 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @set Fixed @set to allow setting to explicit object numbers (ie. #69, #-1). Used to be a problem with invalid objects being interpreted as failed matches. -------------------------- Message 154 from *db (#84): Date: Tue Aug 12 17:07:37 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $root:set_description Hacked to check :is_writable_by rather than a hard $perm_utils check. -------------------------- Message 155 from *db (#84): Date: Wed Aug 13 18:43:10 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $room:@exits Hacked this verb to do double-duty for @entrances and @exits, and to allow any builder to view all exits and/or entrances. -------------------------- Message 156 from *db (#84): Date: Mon Aug 18 12:13:34 1997 CDT From: Quinn (#2) To: *db-issues (#84) Reversed $feature:display_msg argument order. Should have no effect on anyone. -------------------------- Message 157 from *db (#84): Date: Tue Sep 16 12:56:30 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: trans system Transportation system craft now listen for 'engage' in any way shape or form, so you can just type "engage to start them, instead of "computer, engage, or just typing engage. Beware, if you type "Now type 'engage'! The system'll see it and start off. I may tinker with that later and fix it, but right now I'm too lazy. -------------------------- Message 158 from *db (#84): Date: Tue Sep 23 14:55:26 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: drinks, examine Now allow various different types of drinking, each consuming a different percentage of the drink. Done via a new :do_consume passed the consumer and a number of portions. (Maybe I should just pass a percentage?) Also hacked :do_examine to prevent certain beyond-VR cheats. (Seeing armour under armour, etc.) -------------------------- Message 159 from *db (#84): Date: Thu Oct 2 17:35:09 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $string_utils:_toscalar Hacked this to handle floats by copying LambdaCore code. (This means you can @set things to floats now.) -------------------------- Message 160 from *db (#84): Date: Wed Oct 15 23:04:44 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: generic gendered clothing (#13131) I wiped the generic gendered clothing, since it was 7-8k and had no kids. I have a copy of the code offline, for future possible reincarnation. -------------------------- Message 161 from *db (#84): Date: Wed Oct 15 23:31:12 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: effects ahab (#3648) Recycled the test $ahab for the effects system. All code is archived offline, and the $ahab was simply a test dummy to prove that it worked. And it did! Haha! -------------------------- Message 162 from *db (#84): Date: Fri Oct 17 00:49:27 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: generic toll room (#21576) In an effort to spicen up an area I'm currently working on, (Hey, another Spice Girls reference, and it's only the first sentance!) I've created the generic toll room. What the generic toll room does is very simple. You have to pay to enter it. Nothing more, nothing less. You can set the type of collectable you want to be paid with, you can set the amount per person you want, and all your booty is transfered to a safe container until you want it. There are messages for the initial encounter, the initial encounter when you're carrying someone(s), the result if you don't want to pay, and the result if you don't have any money, but try to pay anyways. Tut, tut. The generic defaults to asking for 5 crystals per person, a fairly megar entrance fee, but a fee none the less. It will grab them out of your inventory first, or a container if it has to, so you don't actually have to 'hand' the crystals to somebody. GM's, for an example of this in action, you can audit me for 'Dingy Alleyway' and try to go into Dave's Gym. Possible uses for this includes toll bridges, entrance fees for shows, cover charges for bars, or the like. The generic is fertile, but use it at your own risk, it hasn't been _that_ thourougly tested. The only thing that you _MUST_ set on the room is the .storehouse, which should be a container/person where the collected funds will go. If this isn't set (it defaults to #-1), it _will_not_work_. - Mulder -------------------------- Message 163 from *db (#84): Date: Fri Oct 17 12:27:59 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $exit:o* Added $exit:o[di]name/title[c] verbs which redirect to the appropriate verbs on the exit's "otherside". For example, "onamec" for "west" would (probably) be "East". These would come in useful for the new @my_oarrive messages on children of the generic wanderer ($nomad). For example: @my_oarrive fodder is "%N % through %[todname,entrance], shoulders shrugged, all forlorn." -------------------------- Message 164 from *db (#84): Date: Mon Oct 20 18:00:59 1997 CDT From: Quinn (#2) To: *db-issues (#84) Subject: get/drop I "fixed" a possible infinite loop in the `get all` code by removing it, so you can't re-arrange your inventory with 'all' until I re-write it. I need to fix this so it can be used with child containers, as well, such as Mulder's wearables. That's always been tracebacking with E_PERM. -------------------------- Message 165 from *db (#84): Date: Fri Oct 24 12:59:21 1997 CDT From: Mulder (#709) To: *db-issues (#84) Subject: protection reactor (#20652) At the request of Spiral I've created a makeshift Protection Reactor. (This is the biz, see? You don't give us what we ask for, and we break your legs, see?) It's features read as follows: A .friends list. If you your $ahab to protect another ahab/species, create a child of #20652, and set the .friends list to the ahab/species object number. A crazy gardener might wander ghostwheel, attacking everything that attacked a belliflora. His .friends list would be {#324}. A .attack_chance percentage. The higher the percentage, the more probable they'll attack the attacker of one of their little friends. An .entrance_follow switch. If set to 1, they will follow their friend, if the friend enters the room. Not generally a good idea if they have many friends. A .follow_death switch. If set to 1, they will return home if their friend dies. Useful in conjunction with the .entrance_follow switch to have constantly buddied $ahabs. The .wander_msg on the reactor is printed when the other $ahab dies. If the protected creature is knocked out, the protector is setup to: 1. Pick up the ahab. 2. Flee. 3. Drop the ahab. 4. Heal the ahab. 5. Attempt to revive the ahab. I haven't tested this thing yet, fully. For all I know, it may (may, I said) not work. Mail bugs to me, si vous plait. - Mulder -------------------------- Message 166 from *db (#84): Date: Tue Nov 4 13:17:12 1997 CST From: Quinn (#2) To: *db-issues (#84) Subject: $terrain_room Properly hacked $terrain_room:impassable verb to return the value of the solid property, rather than the opaque property. (All opaque rooms seem to be solid, so this shouldn't cause any problems with existing rooms.) Also hacked $terrain_room:acceptable_from_cell to return this:impassable. -------------------------- Message 167 from *db (#84): Date: Tue Nov 4 13:24:04 1997 CST From: Quinn (#2) To: *db-issues (#84) Subject: $terrain_room bug The problem with impassable terrain rooms being created and then forgotten should be fixed now. It was likely related to what was corrected (fixed) by the hack in the previous post -- :impassable was checking 'opaque' instead of 'solid', from back when there wasn't a 'solid' property. -------------------------- Message 171 from *db (#84): Date: Tue Nov 25 12:38:58 1997 CST From: Quinn (#2) To: *db-issues (#84) Subject: misc bugfixes Fixed problem with recursion when one asked for `help *`. Also, finished_aliases on $consumable was returning E_PERM if the player didn't have read permissions on the item, which was causing E_TYPE when the calling verb attempted to write E_PERM[1] as the name. Fixed. -------------------------- Message 174 from *db (#84): Date: Thu Dec 11 09:19:03 1997 CST From: Quinn (#2) To: *db-issues (#84) Subject: @branches, @leaves I've moved @kids and @parents from $builder to $builder_feature. Added aliases @leaves and @branches, and an optional iobjstr specifying a matching string. For example, `@branches $ahab with grave` will get you the grave dancer prototype right quick. My apologies if this functionality is elsewhere. -------------------------- Message 175 from *db (#84): Date: Thu Dec 18 16:23:08 1997 CST From: Quinn (#2) To: *db-issues (#84) Subject: $located_room Corified $campground and $located_room. A located room will be moved to its .campground property (set to $campground by default) if it happens to have been placed in $nowhere. This should cut down on problems with tents which have been @ejected from inappropriate places. -------------------------- Message 178 from *db (#84): Date: Tue Jan 6 11:32:59 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $root:description I hacked this so it always returns a LIST. Consequently, some verbs may break if they expected a string back from pass(@args). That aside, the change should make it easier to fold new strings into a description -- you no longer have to worry about regularizing it as a list. -------------------------- Message 181 from *db (#84): Date: Thu Feb 5 08:04:50 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: *sb *sb now correctly matches *Sounding-Board, and not StormBringer. -------------------------- Message 182 from *db (#84): Date: Fri Feb 13 09:35:43 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $taskmaster Added this object, which attempts to keep all of our important tasks alive. Its own keepalive method is called upon the issuance of every 1000'th command, ensuring that itself does not break. -------------------------- Message 183 from *db (#84): Date: Mon Feb 16 06:15:00 1998 CST From: Mulder (#709) To: *db-issues (#84) Subject: generic laceable clothing (#21886) At Ariadne's proposing, I've created the generic laceable clothing. Obvious uses are for gloves, boots, and of course... corsets. Teehee. Features include the usual cadre of stuff that comes with the generic fastenable/revealable clothing, IE: settable message locations and message integration. For this generic I finally fixed the pronoun subbing stuff, so this clothing generic uses the same pronouns in the same places as the generic clothing. This generic also allows you to set whether or not the wearer can lace and unlace it. Obvious uses, a corset that is laced up the back. Laced clothing cannot be removed or stripped while it is laced up. Players must be @trusted to strip in order to lace or unlace the clothing. If you want one of these, page me. They aren't in any replicators yet. There are probably still bugs, too. -------------------------- Message 184 from *db (#84): Date: Mon Feb 16 08:38:41 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: pose After reading Kzin's post 174 to *bugs, I realized I forgot to mention that I'd changed a few things about pose. It'll only print individual names if /all evaluates to 6 or less people. There's not much of a point in listing all those folks individually. "Good morning, students." is easier than "Good morning, Cindy, Bobby, Jan, Peter, Marcia, Greg, Carol, Mike, Alice, Sam, Tiger, Davey_Jones, and Joe_Namath." -------------------------- Message 185 from *db (#84): Date: Mon Feb 16 10:40:45 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $player:confunc Hacked this to move someone to $player_start if their current location is invalid. Also moved saved-pages checking to a separate :check_saved_pages verb. -------------------------- Message 186 from *db (#84): Date: Mon Feb 16 10:47:02 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $builder_help.event-types Added event-types to the builder help. The event documentation needs work. -------------------------- Message 187 from *db (#84): Date: Tue Feb 17 11:41:03 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: @trust Moved the lists of trusted folk from the individual trust databases (kids of $trust_db) to the player emself. Pretty sure I converted all trust from the old properties to the new $char.trustees. Deleted $char.trusted_objects (which previously held those you trusted completely), and all the many properties on each child of $trust_db. -------------------------- Message 188 from *db (#84): Date: Tue Feb 24 14:08:01 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: hole Closed huge hole whereby unconscious people trusted everyone to chown to and from them. Isn't that just great? Thanks to Rathe for being the first to report this. Hacked $trust_db:do_while_unconscious to always return 0 if an action is not "virtual", such as is the case with chown-from and chown-to. I've no idea how long this little fucker has been around. -------------------------- Message 189 from *db (#84): Date: Wed Feb 25 09:24:54 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $time_utils Added $time_utils.week, and fixed the integers for the rest of the time utils symbols. Month and year seemed to point to week and month. Duh. -------------------------- Message 190 from *db (#84): Date: Tue Mar 3 14:23:06 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $exit:set_dest I added $exit:set_dest and $exit:set_source. These should be used to set the source and destination of your exits. I didn't chown $exit.dest/source to $hacker, but I hope to sometime in the future, so if you run across any of your code which sets these properties directly, change them to use the accessor methods. -------------------------- Message 191 from *db (#84): Date: Tue Mar 10 08:57:32 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $code_utils:parse_verbref Removed the check in $code_utils:parse_verbref for a valid $global reference in the pre-colon part of the verbref. I also hacked it to return {"#0", verbname"} when sent "$verbname". -------------------------- Message 192 from *db (#84): Date: Wed Mar 11 16:08:42 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: tents in limbo Hacked #1726:move to check $recycler:valid(dest) rather than just dest == #-1 when deciding whether or not to move a tent to the Interdimensional Campground ($campground). This in case someone's tent manages to get stuck in a recyclable object somehow. Also send to campground if the destination doesn't have a :bless_for_entry verb? -------------------------- Message 193 from *db (#84): Date: Wed Mar 18 09:33:22 1998 CST From: Quinn (#2) To: Lykaj (#6068) and *db-issues (#84) Subject: @add-key, @remove-key Added @add-key and @remove-key verbs to the generic $door, to allow players to, well, add and remove keys. The $doors should probably be rewritten to use real locks, for chrissakes. -------------------------- Message 194 from *db (#84): Date: Thu Mar 19 11:48:11 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $lockable Hacked $lockable to make sure the lockable object :is_local_to the player. -------------------------- Message 195 from *db (#84): Date: Wed Apr 1 17:44:05 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: NPC Added $rpg:is_npc (preferred way to test if someone is or is not an NPC, brought about by my regretting my choice of an IC status of -1), $rpg.npc_are_immortal (if true, NPC cannot die) and $rpg.npc_are_invulnerable (if true, NPC cannot be attacked without being trusted to "act on" by their attacker, and vice-versa). Hacked the verbs I remembered to use $rpg:is_npc rather than checking the value of the 'ic' property directly. -------------------------- Message 196 from *db (#84): Date: Wed Apr 1 17:44:06 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: IC/OOC Hacked $rpg_exit:move to prevent an IC player from moving into an OOC dest, and vice-versa. Hacked $player:@ic to prevent a player from going IC in an OOC room, and vice-versa. Both are used only when $rpg.strict_ic is set true. It's false now. -------------------------- Message 197 from *db (#84): Date: Mon Apr 6 11:43:02 1998 CDT From: Quinn (#2) To: Shadowrunner (#23593) and *db-issues (#84) Subject: quota A hack I made to $quota_utils:all_characters made for some odd errors when trying to create something. Should be fixed now. -------------------------- Message 198 from *db (#84): Date: Mon Apr 6 14:16:38 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: error handling Added $player:handle_uncaught_error and $player:handle_task_timeout, called from the respective $sys verbs. Moved the short tracebacks options handling into those player verbs. -------------------------- Message 199 from *db (#84): Date: Tue Apr 7 16:31:14 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: help $anything My hack to $code_utils:parse_verbref to recognize $verbs defined on #0 backfired for $properties defined there, incorrectly (or prematurely) identifying something like "$terrain_room" as a verb reference. Hacked it to return true only if there is not a #0.ref with an OBJect value. -------------------------- Message 200 from *db (#84): Date: Tue Apr 7 17:04:48 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: init_for_core Added $core_utils:install_bare_init_for_core, which will be called by @corify if no :init_for_core exists on the target object. It installs a skeletal version of said method, simply passing if a wiz-perm check succeeds. -------------------------- Message 201 from *db (#84): Date: Tue Apr 7 20:41:54 1998 CDT From: Akeashar (#20348) To: *db-issues (#84) Subject: #14688 (spear named "Harbinger") Started a series of changes, hacked :menace so you couldn't menace #-1, #-2, #-3, and hacked a :moveto so you can't put it in a container. Complaints should be directed to me.. but I wouldn't neccessarily change the code unless #2 asks me too ;) Ake -------------------------- Message 202 from *db (#84): Date: Tue Apr 7 20:46:43 1998 CDT From: Akeashar (#20348) To: *db-issues (#84) Subject: #21607 (Longsword) hacked a :moveto on it which is similar to #14688 Ake -------------------------- Message 203 from *db (#84): Date: Wed Apr 8 16:37:47 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $container:acceptable Hacked $container:acceptable to prevent a container from accepting an item with a v_size greater than its own. By default, everything has a v_size of 25, so you'll have to set (for example) extra large weapons to something higher. See `help size` for guidelines. -------------------------- Message 204 from *db (#84): Date: Thu Apr 16 17:08:18 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: whip Added armed skill WHIP, which should be FLAIL, but the unarmed FLAIL skill was misnamed FLAIL when it should probably be something like LASH. -------------------------- Message 205 from *db (#84): Date: Tue Apr 21 10:31:27 1998 CDT From: Quinn (#2) To: Kylnaria (#20206) and *db-issues (#84) Subject: tents Hacked occupied tents not to name the occupants when someone attempts to get them. -------------------------- Message 206 from *db (#84): Date: Tue Apr 21 19:24:52 1998 CDT From: Mulder (#709) To: *db-issues (#84) Subject: Generic Changing Room (#455) The generic changing room is a simple $room child solution to the problem of rooms that change as the day progresses. Though the rooms created before (the generic timechange zone/room/exit) are more feature-filled than this version, this version is much lighter and easier to use. This version also doesn't require constant background processes, and doesn't depend on others. This room generic provides a couple of helpful features to the builder interested in spicing up their zone or area. - Time-Dependent Descriptions The rooms are seperated into night, morning, day, and evening description sets. The split points are: Night -> 7am <- Morning -> 9am <- Day -> 7pm <- Evening -> 9pm <- Night If you don't have a morning description, it checks and uses the night description if it exists. The evening description will default to the day description, if it doesn't exist. If the day and night descriptions don't exist, they default to the .description property. The properties are .night_desc_msg, .morning_desc_msg, .day_desc_msg, and .evening_desc_msg. They can be either strings or lists. - Time-Dependent Moods Moods follow the same design as the descriptions, without the night/morning and day/evening overlap. The properties are .night_mood, .morning_mood, .day_mood, and .evening_mood. They can either be a string, or a randomly picked list of strings. - Settable Time Offsets There's no reason the sun should rise in Ghostwheel the same time it rises on Morlith. The time offset is in time-zones from RTMT, Real/Time Mean Time. To find out what the offset for your area is, look at a timezone map, count the number of hops (negetive hops are to the left from a place, positive to the right), and put that in the .time_offset property. For example... San Francisco is 2 hours earlier than RTMT (central), so we set our .time_offset to -2. New York is 1 hour later than RTMT, so we set our .time_offset to 1. - The 'time' Verb I've added a general purpose verb to the room, which simply tells the user whether it is night, morning, day, or evening where they are, based on the IC time and the room time offset. - Seasonal Messages I added one little tweak to the room, which is that you can set message to be displayed for each season. Maybe you want leaves on the ground in fall, snow on the ground in winter, trickling water on the ground in spring, and partched, cracked, dry ground in summer. The message (list or string) will be appended after the description. The properties are .winter_desc_msg, .spring_desc_msg, .summer_desc_msg, .fall_desc_msg. -Mulder -------------------------- Message 207 from *db (#84): Date: Thu Apr 30 10:28:33 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @reroll Moved @reroll help out of the verb and into $help.@reroll. Also modified its behaviour so that a trailing ! now means skip the confirmation message. Apparently some folks have fucked-up mud clients which somehow don't allow them to answer prompts? Go figure. -------------------------- Message 208 from *db (#84): Date: Fri May 8 14:00:08 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: shapers Moved the @add-shaper, @remove-shaper, and @list-shapers code entirely to the puppet remote control FO (#212), replacing the wrapper verbs there which redirected to the puppet. Also hacked them to use :add_shaper and :remove_shaper to do the work. -------------------------- Message 209 from *db (#84): Date: Mon May 11 17:46:44 1998 CDT From: Mulder (#709) To: *db-issues (#84) Subject: @ahabs New verb on Mulder's Big Brother Wiz FO (#12053), @ahabs. Lists all the ahabs owned by $players. Simple enough. --------------------------