From quinn@fazigu.org Thu Feb 01 11:16:54 2001 Received: from localhost [127.0.0.1] (quinn) by requiem.netsville.com with esmtp (Exim 3.22 #1 (Debian)) id 14OMPl-0001mE-01; Thu, 01 Feb 2001 11:16:53 -0500 Delivered-To: quinn@netsville.com Received: from corpmail.netsville.com [216.42.80.32] by localhost with POP3 (fetchmail-5.5.3) for quinn@localhost (single-drop); Thu, 01 Feb 2001 11:16:53 -0500 (EST) Received: (qmail 85968 invoked from network); 1 Feb 2001 16:13:59 -0000 Received: from holder35.net57.block16.connectsouth.net (HELO yami.57thstreet.com) (66.16.57.35) by univac.netsville.com with SMTP; 1 Feb 2001 16:13:59 -0000 Received: (qmail 30973 invoked by uid 1502); 1 Feb 2001 16:13:57 -0000 Received: from localhost (HELO moo.ghostmoo.org) (127.0.0.1) by localhost with SMTP; 1 Feb 2001 16:13:57 -0000 Date: Thu, 1 Feb 2001 10:13:57 -0400 From: "Quinn@Ghostwheel" To: quinn@netsville.com Subject: Ghostwheel Message(s) 210 - 311 from *db (#84) X-Mail-Agent: Ghostwheel (moo.ghostmoo.org 6969) Message-Id: Status: RO Content-Length: 49315 Lines: 1551 Message 210 from *db (#84): Date: Mon May 11 20:07:08 1998 CDT From: Mulder (#709) To: *db-issues (#84) Subject: generic useable thing(#19350) Updated the generic useable thing to service a request of Naxos's. ------------ The generic useable thing is for everybody who wants a little 'cool' thing that doesn't really require any special code, and just needs to spit out a message when prodded. (And who doesn't?) This object holds the message/messages in the .message property, which can be edited with the note editor thusly: @edit myobject.messages If saved as a single string, it is printed every time the object is used. If the .messages property is a list of messages (like a note), the line is selected at random. To use the object, type: use myobject It also has a .umessages property which works much like the .messages property, except those messages are only sent to the user. If the .umessage property is set, the .umessage is sent to the user, and the .message is sent to the room. You can have the .umessage property be a list, picked from randomly, and have the .message property be a string. Or vice versa. So, to have something that just prints a random message to the user that uses it, set the .umessage, and leave the .message blank. -------------------------- Message 211 from *db (#84): Date: Fri May 15 09:09:13 1998 CDT From: Quinn (#2) To: Mulder (#709) and *db-issues (#84) Subject: #217:- Hacked the - directed speech command to send speech events as the ` does, so AHaBs should now receive directed speech from it. Also changed the way speech volume is detected and passed -- just checking for speech[$] == "!" now. -------------------------- Message 212 from *db (#84): Date: Sun May 17 15:45:52 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: WHO Hacked WHO to sort by idle time. WHAT A CONCEPT! The code is likely bad, but that's because I'm using the verb editor through Win95 on a 14" 800x600 monitor and not on my xterm w/Emacs on a 17" 1280x1024. -------------------------- Message 213 from *db (#84): Date: Wed May 20 16:06:47 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $nomad Added $nomad:ok_destination_terrain, with a hook to it in :ok_exit. The wanderer will not take an exit which leads to a terrain descended from an object within the forbidden_terrain property -- assumed to be a list of generic terrain rooms. -------------------------- Message 214 from *db (#84): Date: Wed May 20 16:23:24 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: forbidden terrain whoops Thanks to Smoke for telling me slisssh weren't running anymore. Fixed backwards logic in $nomad:ok_exit. -------------------------- Message 215 from *db (#84): Date: Fri Jun 12 11:36:39 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: guests Guest's connection addresses are already listed in their descriptions. Now it should be in their finger text, as well. -------------------------- Message 216 from *db (#84): Date: Tue Jun 16 09:51:51 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: containers You can now retrieve something from a container regardless of its 'dark' state. I'm not sure why this was in there; likely a relic of LambdaCore. -------------------------- Message 217 from *db (#84): Date: Fri Jun 19 10:40:58 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: look at 1. Fixed bug in regex of $match_utils:parse_ordinal_reference whereby anything could be referenced by its ordinal position in the match pool. Now requires something after the dot. -------------------------- Message 218 from *db (#84): Date: Sat Jun 20 13:28:26 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: channels I just installed a generic channel feature, as announced on *chat. #16545 is the feature, with a single verb "@x". All commands are based off this verb, as evidenced by adding the feature and typing "@x/help". Most of the commands are based on IRC commands and housed on the channel objects themselves, the mother of which is #20220. It's fairly simple to add commands to custom channels, though I'd rather there not be a proliferation of them now that I've asked everyone to get rid of their old ones. -------------------------- Message 219 from *db (#84): Date: Tue Jun 23 16:33:50 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: ANSI Fixed longstanding bug whereby if @ansi was off, you'd get a tilde at the beginning of certain ANSI lines. Specifically, those containing a "!" token (for bold text). Fixed with $emu.ASCII_Translations[1..1] = {}. -------------------------- Message 220 from *db (#84): Date: Wed Jul 1 18:43:10 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: unconsciousness As per Heretic's suggestion, KO'd folks may now attempt to `wake up`, success based on their willpower. Boosting this way is impossible, so don't bother. Raw willpower (not focus) is used, and it's a difficult test. -------------------------- Message 221 from *db (#84): Date: Thu Jul 16 01:18:07 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: guests, $player_start, help Eliminated some un-necessaries from guest login spam. Set default exit_sentence to 0, to make it easier for newbies to see where to go. Eliminated pointer to `game` in help, since some critical components are missing, likely to confuse people even more. I have some hopefully simpler help waiting in a text file to be folded into the main help system. Hacked the main help verb to surround all output with delimiters indicating it's help, to delimit it from environmental spam. Removed a few topics such as 'tinymud' and 'index' which could only result in confusion. Help really needs a complete overhaul. Changed the $player_start to the Nexus. Eliminated links to the newbie 'Gauntlet' from there, for similiar reasons as removing `game`. -------------------------- Message 222 from *db (#84): Date: Thu Jul 16 02:42:40 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $rpg.strict_ic As noted in the news, I've toggled on the "strict IC" mode. Of greatest significance, players cannot enter an IC room if they are OOC, and vice-versa. As `@ic` will remind you, "You may toggle your IC/OOC state only in IC-neutral locations (designated as such in their titles), your home, or rooms in which you are the sole occupant." I anticipate difficulties, but hope we can work them out. -------------------------- Message 224 from *db (#84): Date: Thu Jul 16 20:05:28 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @go addendum Removed all IC locations from the globals allowed with the @go command. This includes the Guest chamber. It still tries to match on a room in your current zone, though, so (at least staff members with appropriate movement privs) might end up somewhere they didn't intend. -------------------------- Message 225 from *db (#84): Date: Thu Jul 16 20:18:57 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: strict ic tweaks Waived @ic/@ooc and room entry restrictions for staff members. They should know better than to disrupt role-play. If not, they'll enjoy a FABULOUS VACATION! -------------------------- Message 226 from *db (#84): Date: Tue Jul 21 17:03:16 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $replicator Hacked $replicator:add_parent to refuse a parent if its v_size is greater than the replicator's. Also boosted the v_size of the parent to 50, which might be a logical stretch according to `help size`, but not so much as to make it absurd. -------------------------- Message 227 from *db (#84): Date: Fri Jul 24 09:44:56 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: new player starts Hacked $player:initialize to explicitly set player homes to $player_start, rather than relying on whatever $player.home was at the time. Thanks to Zorn for pointing this out. -------------------------- Message 228 from *db (#84): Date: Fri Jul 24 15:49:58 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $char:is_wearing(OBJ) Added $char:is_wearing(OBJ), true if the character is wearing the given object. -------------------------- Message 229 from *db (#84): Date: Tue Aug 4 11:34:05 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: exit_sentence I switch the $display_options.default_exit_sentence back to 1, since nobody liked it and everyone kept asking how to switch it back. -------------------------- Message 230 from *db (#84): Date: Thu Aug 6 14:40:48 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $rpg:att_bonus I tweaked this verb, with some mathematical aid from Bishamon. It's probably a bit whacked right now, but I think it's a step in the right direction. Just warning everyone that the bonus scale might be sliding a lot. Currently, bonuses begin later (but increase exponentially) and penalties begin sooner (likewise increasing). -------------------------- Message 231 from *db (#84): Date: Thu Aug 13 22:44:20 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $communicator Hacked $communicator:tell_description to not show personal info to those peeking at it from afar. Also cleaned up the code a little. Relatively. -------------------------- Message 232 from *db (#84): Date: Fri Aug 14 01:28:50 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: help sheet Added `help sheet`. Tell me (*gms, *chat, ~quinn) if there are any inconsistencies with current policy. I may be oversimplifying things, but it seems as if you really don't need to know more than what's in that document to create a character. Granted, it leaves out a lot of 'advantages' and skill examples. Anyway, comments welcome. -------------------------- Message 233 from *db (#84): Date: Fri Aug 14 22:44:09 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: guest, channels Added the channel fo (#16545) as a default player feature. Added LambdaMOO feature of confunc polling features' :player_disconnected verbs, and added one to the channel fo to disconnect guests from all channels and unset their current channel. -------------------------- Message 234 from *db (#84): Date: Sun Aug 16 00:21:30 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: guests Guests may no longer perform any violent RPG actions. -------------------------- Message 235 from *db (#84): Date: Sun Aug 16 15:57:59 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: total power, healing, moods Moved all the damage mood messages to $player, as they're too anthropocentric for generic creatures. Added a 'mood' to $combatant which will cause one with a lot of fatigue (5*strength) to actually fall unconscious. Hacked $char:provoke_mood to prod the character's mood announcements only if their :should_be_moody verb returns true. One :should_be_moody if conscious, IC, and (if a player) online. Hacked $combatant:update_damage_monitors to figure total_power in when healing and determining when one regains consciousness. The formula uses a percentage obtained by total power divided by 200,000 up to a maximum of 50%. The highest total power in play now is ~30k, which would heal 15% of damage/unconsciousness per pulse. This jibes more with the "Highlanderish" effect I was going for when implementing total power so long ago. -------------------------- Message 236 from *db (#84): Date: Sun Aug 16 20:42:51 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: fat/ins Added :should_suffer_insanity, :suffer_insanity, :should_suffer_fatigue, and :suffer_fatigue to $combatant as shells. Filled them in on $player to do the actual unconsciousness, weapon-dropping, and manic twitching associated with these states. Should probably add same for injury and place the actual death and unconsciousness code in there. -------------------------- Message 237 from *db (#84): Date: Sun Aug 16 20:51:25 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @gag, $rpg:notify Hacked @gag to allow combat messages through to the gagger. This is probably not going to work with spells or some other methods. If you have a verb which should bypass gag (NONE which allow the player to say something personalized should!), then use $rpg:notify to send critical messages to the primary parties. In general, only things that would cause damage should use it. -------------------------- Message 238 from *db (#84): Date: Sun Aug 16 21:13:22 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @gag, btw Forgot to mention that @gag actualls gags everything (except combat messages) now. Just like it's documented to do. I figured this way was easier than modifying all the docs. ;) -------------------------- Message 239 from *db (#84): Date: Mon Aug 17 01:13:41 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @tag Hacked $player:tag_msg to choose a tag at random if the tag_msg property is a list. So, you can `@edit me.tag_msg` and each line will be a possible tag. -------------------------- Message 240 from *db (#84): Date: Mon Aug 17 01:40:07 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: fatigue/exertion Implemented fatigue. The highest exertion (points of fatigue per attack) of a "common" weapon is a chainsaw, with a 10. This is for a player with a 50 strength; $weapon:exertion is more for the weak, less for the strong. Parrying currently does not incur any exertion cost. You *can* fall unconscious if you're very weak, but as of now it has to be at least 5 times your strength. We'll see how it goes. Be careful out there. ;) -------------------------- Message 241 from *db (#84): Date: Mon Aug 17 19:37:04 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: gendrink, fatigue Took Menroth's advice on 1108 on *ideas and made drinks given out by the bartender reactor cure some fatigue. -------------------------- Message 242 from *db (#84): Date: Mon Aug 17 19:45:24 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: crystals, fatigue Quadrupled the amount of fatigue healed by crystals to 20 per unit. (Insanity is 3/crystal, mobility and injury are 1/1.)+skywalker grins. "I experienced it myself earlier today. It is a bit annoying." -------------------------- Message 243 from *db (#84): Date: Tue Aug 25 08:28:01 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: attack with fangs,fists,etc. Sorta fixed the problem with choosing a natural weapon with which to attack. $combatant:cleanup_attack was resetting the weapon to a random one after each attack. Moved that up to $npc so non-players have some unattended variety in their attack, which was the whole point to begin with, before we had recombs with multiple natural weapons. So, just `attack with whatever` to set your current weapon to whatever. The "problem" with this "fix" (besides "excessive" "quoting") is that the weapon is set as soon as you queue the command, not when it runs. Thus, if you queue up five fang attacks and a claw attack, the claws are going to be used for every attack which fires after that. This is not necessarily bad, but it isn't intuitive. Might be better to just remove the 'with foo' part of attack and require something be readied/wielded before each attack. Hmm. -------------------------- Message 244 from *db (#84): Date: Thu Aug 27 17:38:19 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: exertion Knocked the default exertion of a melee weapon from 4 to 2. Gave all of the bodily weapons an exertion of 1 except some passive weapons (eg. "acid flesh") which got a 0. Chainsaw from 10 to 8 (same as sledge hammer). All daggers to 1 from ~2-4. Generic scythe from 8 to 6 (one special scythe is a 9; no change). Various swords, in particular the outrageously statted "claymore" parent, have been "adjusted". -------------------------- Message 245 from *db (#84): Date: Sat Aug 29 13:37:09 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: attack/defense 'Massive' overhaul of the attack and defense core. The attack_mod, dodge_mod, parry_with and parry_against methods on $weapon now recognize a FLOAT value for their respective properties as being a modifier based on the skill of whomever is wielding the weapon (or, in the case of dodge_mod, the person dodging). Fixed long-standing bug in $combatant:do_defense which meant that the `defend` verb never really worked. It was calling a non-existant verb. Go figure! Fixed various other little logic traps I'm surprised have been around this long without notice, and added a lot of comments. Also changed the way combat 'works' slightly. Previously, an attack was automatically discarded if it was less than -25. Now it has to be less than either -100 or the negafied attacker skill (whichever is closer to zero). A few other little tweaks. Tell me (or *chat) if you notice any difference. -------------------------- Message 246 from *db (#84): Date: Sat Aug 29 14:17:36 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @reroll Hacked $skilled:reroll method to more evenly distribute points, and @reroll verb to restore `total points` display. Both a result of Dante's bitching, as I'd probably just let it go otherwise. ;) Feedback appreciated. -------------------------- Message 247 from *db (#84): Date: Sat Aug 29 14:21:49 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: defend Defend works by typing `defend foo`. When Foo is attacked, all of its defenders get a chance to parry the blow. If they do, Foo is protected: neither a dodge nor parry attempt is made by it. The attack fails. -------------------------- Message 248 from *db (#84): Date: Sat Aug 29 16:35:34 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: combat Broke :do_defense into separate calls to :attempt_guard on each defender, :attempt_dodge on the victim, and finally an :attempt_parry on the victim. The default $combatant:attempt_guard just calls :attempt_parry, behaving as if the one attacking the defended player had attacked the guard, but it can be hacked for more imaginative uses. -------------------------- Message 249 from *db (#84): Date: Mon Aug 31 07:56:17 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: afterlives Set the various afterlife locations IC-neutral, as per 1155-1156 on *ideas. -------------------------- Message 250 from *db (#84): Date: Wed Sep 2 13:12:37 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: stat bonuses Just tweaked stat bonuses for what will hopefully be the last time. Here's a list of all of them from 1 to 160. Penalties are unchanged since the last tweaking. Stats up to 95 have reverted to a more generous version of the original bonuses. 96-99 are steeper steps up to a +100 at 100. Things jump at 101, then bonuses are roughly as they've been recently, up to a maximum of +1000 at 150. 1-> -164 23-> -40 45-> -2 67-> 10 89-> 30 111-> 226 133-> 571 2-> -156 24-> -37 46-> -2 68-> 15 90-> 30 112-> 238 134-> 592 3-> -148 25-> -34 47-> -1 69-> 15 91-> 30 113-> 250 135-> 614 4-> -140 26-> -31 48-> -1 70-> 15 92-> 35 114-> 262 136-> 636 5-> -133 27-> -28 49-> -1 71-> 15 93-> 35 115-> 274 137-> 658 6-> -125 28-> -26 50-> 0 72-> 15 94-> 35 116-> 287 138-> 681 7-> -119 29-> -23 51-> 0 73-> 15 95-> 35 117-> 300 139-> 704 8-> -112 30-> -21 52-> 0 74-> 20 96-> 60 118-> 314 140-> 729 9-> -106 31-> -19 53-> 0 75-> 20 97-> 70 119-> 328 141-> 753 10-> -100 32-> -17 54-> 0 76-> 20 98-> 80 120-> 343 142-> 778 11-> -94 33-> -15 55-> 0 77-> 20 99-> 90 121-> 357 143-> 804 12-> -88 34-> -14 56-> 5 78-> 20 100-> 100 122-> 373 144-> 830 13-> -83 35-> -12 57-> 5 79-> 20 101-> 132 123-> 389 145-> 857 14-> -77 36-> -11 58-> 5 80-> 25 102-> 140 124-> 405 146-> 884 15-> -72 37-> -9 59-> 5 81-> 25 103-> 148 125-> 421 147-> 912 16-> -68 38-> -8 60-> 5 82-> 25 104-> 157 126-> 438 148-> 941 17-> -63 39-> -7 61-> 5 83-> 25 105-> 166 127-> 456 149-> 970 18-> -59 40-> -6 62-> 10 84-> 25 106-> 175 128-> 474 150-> 1000 19-> -55 41-> -5 63-> 10 85-> 25 107-> 185 129-> 493 20-> -51 42-> -4 64-> 10 86-> 30 108-> 195 130-> 512 21-> -47 43-> -3 65-> 10 87-> 30 109-> 205 131-> 531 22-> -43 44-> -3 66-> 10 88-> 30 110-> 216 132-> 551 Comments welcome, as always. -------------------------- Message 251 from *db (#84): Date: Wed Sep 9 12:07:38 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: wearable Upped the wearable container's v_size to 33. -------------------------- Message 252 from *db (#84): Date: Wed Sep 16 18:29:58 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: crystals Did some $crystal hacking. Damage monitors and mobility are now healed concurrently, meaning all the healing can now happen with one gulp of crystals. If nothing happened, you'll just feel "invigorated". If you were healed in some way but not cured, you'll feel "somewhate better". If you were completely healed in any area, you'll see a message to that effect. If you boosted an attribute, you'll see that, too. On a less interesting note, fixed a bug wherein fatigue less than 20 could never be cured with crystals. Praise be to Yalindra for reporting it. -------------------------- Message 253 from *db (#84): Date: Wed Sep 16 18:33:40 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: flying exit (#1750) Fixed the flying exit so that it uses :move to check for flyability, rather than doing it in :invoke. Thus insane people will no longer be flying about willy-nilly. -------------------------- Message 254 from *db (#84): Date: Wed Sep 16 18:35:01 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: crystals addendum Sorry, forgot to mention that you still have to be in perfect health in order to boost an attribute. This is arguably a pain in the ass (especially when you don't realize you've got a single fatigue point before popping 10k hoping for a boost), but I'm going to keep it for now. -------------------------- Message 255 from *db (#84): Date: Fri Sep 18 12:00:46 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: boosting changes Hacked skills so that it is significantly easier to spar up to an 'average' rank. The only hurdle which must be cleared by these folks is the general difficulty of learning something new in a skill (which is "1 in 5" by default, varying per skill; shock is 1 in 33). If you're at some point above average, you must pass the learn difficulty, "roll" within a particular range (the razor's edge between success and failure), and you're paced to a certain amount of improvements within a certain amount of time. -------------------------- Message 256 from *db (#84): Date: Fri Sep 18 13:01:28 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: guard/defend Hacked guard and defend to work more like `ambush' in that once you start, you defend them until you type `stop defending `, and you can't queue any other actions while you're defending someone. -------------------------- Message 257 from *db (#84): Date: Tue Sep 22 13:54:02 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: last_attacked_by, last_killed_by Hacked $combatant:receive_damage to re-set last_attacked_by, which should catch those attacks which do not give :do_defense a chance to do so. It should probably set something like last_damaged_by, but hopefully it won't cause any problems. Added $combatant.last_killed_by as a replacement for last_death_time containing both the killer and the time, and hacked everything that used last_death_time to use it. (This includes @fdoss, :tell_player, and :tell_ahab on #12053, Mulder; you might want to hack them yourself. Just search for last_killed_by. I commented out the last_death_time call.) Speaking of commenting things, I ported over the LambdaMOO $verb_editor:comment command a while back. Handy! -------------------------- Message 258 from *db (#84): Date: Thu Sep 24 08:17:10 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: $root:set_ic Added $root:set_ic so folks can set the in-character status of their own rooms. -------------------------- Message 259 from *db (#84): Date: Mon Sep 28 17:49:58 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: parrying with fists Hacked a $natural_weapon:parry_with to return -1000 if the opposing weapon is not also a natural weapon. Yes, this can still result in someone parrying deadly sharp claws or horns, but it should rule out some of the more obvious absurdities. When I fix the float weapon modifiers, I'll have it return 0.0 instead of -1000, meaning none of the defender's skill will be used in the parry. -------------------------- Message 260 from *db (#84): Date: Fri Oct 2 12:10:15 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: defenders Hacked $combatant:do_defense to simply choose a random person from the defenders list and use them as the current defender, but NOT removing them from the list. So, one defender randomly chosen from all those defending you per attack. Removed now-useless :get_defender, though it might have been useful to return the quickest defender, for example. -------------------------- Message 261 from *db (#84): Date: Sat Oct 3 23:00:05 1998 CDT From: Mulder (#709) To: *db-issues (#84) Subject: generic discussion room (#12393) The generic discussion room is a place for people to voice their opinions in a formulated atmosphere. The room as two modes, quiet and open. While the room is open, everyone may speak and emote. When the room is quiet, only the moderator and the current speaker may speak and emote. The managerial controls of the generic discussion room are as follows: speaking Sets this person to the currently active speaker. mode Sets the room to either mode. The room also allows for voting on ballots, submitted by the moderator. The form for that is as follows: submit Submit the text of a ballot for voting. Re-sets the votes, and announces the new ballot to everyone in the room. vote Vote on the currently open ballot. You can vote either yes, no, or abstain. ballot View the currently open ballot. tally Allows the moderator to tally all the votes, and display the results to everyone in the room. -------------------------- Message 262 from *db (#84): Date: Tue Oct 6 09:47:32 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: species Added a cat/feline species suitable for any feline type recomb. It has retractable claws (the feature #696), a snout and tail. To set someone's species, `@addfeature $species_feature` then `@species character is species_name`. Do `@kids $species` to see a list. I am not the only one allowed to do this. All GM are free to set someone's species. For now, just make sure they have allocated 30 points in their sheet for the recomb advantage. -------------------------- Message 263 from *db (#84): Date: Tue Oct 6 15:28:56 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: claw message set (#16436) Created a claw message set, and installed it on claws (#14728) and claws (#4730). I'm using #14728 for the species claws, but Stal is using #4730 for the retractable claw feature (now used on the feline $species), so I might switch to that one. Too many duplicate things lying around. Praise be to Durandal for the initial set of 3 kill messages. -------------------------- Message 264 from *db (#84): Date: Thu Oct 8 10:21:21 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: latency_period, dodge Renamed latency_period to "wait", removed latency_median. I don't know why I chose the word "latency". Knocked Dodge down to about equal with Melee et al, but with a base wait of 3 hours. -------------------------- Message 265 from *db (#84): Date: Thu Oct 8 17:30:24 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: healing Boosted ludicrously tiny wait between heals from 15 to 60 seconds. Should probably be more like 5 minutes, but we'll see how this goes. -------------------------- Message 266 from *db (#84): Date: Fri Oct 9 11:38:59 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: size Added Dragon as an example for HUGE-1 section of `help size.` Added $combatant:melee_damage_bonus and hacked $weapon:damage to use it (through its own wrapper). The new melee damage bonus is calculated using the raw strength bonus (min/max to a range of 1-25) adjusted proportionately for the size of the combatants. Thus, if my target is twice as big as me, I do half the bonus damage I normally would, and he does TWICE the bonus damage to me. The 25 cap is in place until I'm sure existing natural weapons (such as perhaps my own waste titan claws?) don't already try to take size into account by their raw damage. Once everything checks out, I might rip the cap off and allow massive damage for proportionately massive combatants. We'll see. If you know of some weapons as aforementioned which have increased damage to reflect their size, please tell me about them. They need to be converted to use the new system. (Which probably only involves reducing their damage and letting :melee_damage_bonus do the work.) -------------------------- Message 267 from *db (#84): Date: Fri Oct 9 13:52:01 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: @opaque/@defined Hacked the display of these verbs to be both prettier and informative. -------------------------- Message 268 from *db (#84): Date: Sun Oct 11 14:14:17 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: pot Hacked $player:pulse to call :maybe_increase_potential, which regularly assigns potential based on $rpg.pot_rate. Currently, this means for every pulse (approximately each 3-5m), if you're IC and idle for less than 5m, you receive 0.01 pot points. -------------------------- Message 269 from *db (#84): Date: Thu Oct 15 09:45:48 1998 CDT From: Quinn (#2) To: *db-issues (#84) and *core (#14631) Subject: janus utils @copied $public.janus_utils:isa to $object_utils:isany, and hacked #2637 to use that instead. Will fold into the next core; might try to extract another this weekend. -------------------------- Message 270 from *db (#84): Date: Thu Oct 15 09:54:00 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: janus utils Fixed some other references to janus_utils:isa in the core. Should be all clean now. -------------------------- Message 271 from *db (#84): Date: Fri Oct 16 18:26:52 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: finger Moved god-only finger code to $wiz:finger none none none. Replaced $player:finger_text with $player:finger_header, which displays only basic info about a player. Hacked $player:finger to show only that header information by default. If you want to see the "plan", "sheet" or "snitch" notes, include those in the iobjstr. Ie. `finger quinn with plan`, `finger quinn with sheet`, etc. Less spam is good. -------------------------- Message 272 from *db (#84): Date: Sat Oct 17 10:45:14 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: finger Fixed finger fudgery with regards to plans, sheets, and such. -------------------------- Message 273 from *db (#84): Date: Tue Oct 20 18:57:00 1998 CDT From: Quinn (#2) To: *db-issues (#84) Subject: finger By request, @finger again shows all information by default. `@display-option +brief_finger` puts you in brief mode. -------------------------- Message 274 from *db (#84): Date: Tue Nov 3 07:49:05 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: mail dates Hacked $mail_agent:to_text to use a player's :ctime verb for dates displayed in message headers, as per Sterno's reminder on *bugs. -------------------------- Message 275 from *db (#84): Date: Fri Nov 6 15:25:11 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $combatant:forgive Hacked forgive to remove anyone who hasn't connected in the past month from your PK list. Type `forgive` to purge yourself of stale guilt. -------------------------- Message 276 from *db (#84): Date: Wed Nov 11 09:42:02 1998 CST From: Quinn (#2) To: Stalinger (#657) and *db-issues (#84) Subject: #14734:cast Hacked #14734:cast to return if :match_target returns an invalid match, thus preventing people from casting on #-3.psc and such. Changed code commented. Just spank me if this was a mistake, Stal. ;) -------------------------- Message 277 from *db (#84): Date: Thu Nov 12 16:38:38 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: @known Added @remember, @forget, and @known to $builder. Builders can use them to remember frequently referenced objects. Idea and verbnames ripped from LambdaMOO, but functionally different. The known objects are not automagically matched on in any way (yet); they're simply accessible via @known. -------------------------- Message 278 from *db (#84): Date: Thu Nov 12 17:24:00 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $effects Events will now be relayed to effects via the $tangible:dispatch_event_* method. To have your effect hear an event, just add a :hear_event_foo verb where 'foo' is one of those in `help event-types`. Currently all errors are being trapped, which is sloppy and bad and I apologize. -------------------------- Message 279 from *db (#84): Date: Fri Nov 13 08:58:02 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: pose, dragons Might have fixed it so you can pose to people in the room while on a dragon. Same with any partially enclosing space. Hacked $pose_feature:occupants_in to use what:env() instead of what:contents(). -------------------------- Message 280 from *db (#84): Date: Fri Nov 13 10:01:36 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: bartenders, ahabs Hacked perms in $reactor:hear_event_* to accept any calls from the NPC itself. That was what prevented y'all imbibing last night. -------------------------- Message 281 from *db (#84): Date: Wed Nov 25 15:10:10 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $exit:oarrive_msg Set iobj to the exit's otherside in $exit:oarrive_msg. This may have been my original intent, since there was an existing useless definition of an 'otherside' variable to same. This might be useful to those of you who had a problem with subbing the otherside into a message. Just use %i now. (I usually customize the messages instead, so never saw this unfeature in action.) -------------------------- Message 282 from *db (#84): Date: Fri Dec 18 17:08:23 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: vacinity Fixed #2099.head_kills as per Skywalker's message to *bugs. -------------------------- Message 283 from *db (#84): Date: Mon Dec 21 12:04:05 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: $char:is_wearing Fixed this verb to actually WORK by flattening what :clothing() returns. -------------------------- Message 284 from *db (#84): Date: Mon Dec 21 17:46:22 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: load of $channel fixes Fixed channels so that listening to multiple channels is possible. Use @x/join to join a new channel or switch listening channels. Added optional second arg to $channel_feature:channel_name_conflicts so a channel can ask if a prospective name is used by a channel _other_than_itself_. Colorized default @prefix message. Added $channel:is_heard_by, returning true if a given user is listening. Modified @channel_feature:@x/list to (a) count only connected users in the listener count and (b) to show an ear (close parenthesis) for channels to which you're listening, with plus indicating the active channel. Fixed @x/part such that if you part from your currently active channel, it tries to set you up with another to which you are listening. If @x/part is given no arguments, it first tries to leave your active (speaking) channel. If none, it leaves the next channel to which you're listening. -------------------------- Message 285 from *db (#84): Date: Mon Dec 28 11:44:06 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: wasteland I set wasteland terrain master #1831.default_zone it to the Wasteland zone #1598; hope it doesn't break anything. -------------------------- Message 287 from *db (#84): Date: Tue Dec 29 10:17:00 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: defenders Thanks to Durandal's *bugs post, fixed a problem with defenders defending even when not in defensive range. Now they're removed in that case, and when the defender attacks the defended, via a hack to $combatant:attempt_guard and $combatant:do_defense. While at it, I hacked $combatant:add/remove_defender to also remove the defended character from the defender's defending list. Whew. Tell me if defense is now broken. -------------------------- Message 288 from *db (#84): Date: Thu Dec 31 07:16:54 1998 CST From: Mulder (#709) To: *db-issues (#84) Subject: #755:close Fixed a typo in this return error, thanks to DB for pointing it out. -------------------------- Message 289 from *db (#84): Date: Thu Dec 31 16:31:21 1998 CST From: Quinn (#2) To: *db-issues (#84) Subject: channels You can override your 'current' channel by using the format `@x-foo` where the string "foo" matches a channel to which you're currently listening. For example, if you're active on Fallout (that is, @x sends messages there by default) but want to respond to something on Public, you could type `@x-p yah`. That only works because 'p' only matches Public right now. You can use the shortest string unique to a channel to which you're listening. -------------------------- Message 290 from *db (#84): Date: Wed Jan 6 10:16:51 1999 CST From: Quinn (#2) To: *db-issues (#84) Subject: pose Fixed some cases of the you're->yourr problem noted by Rhea on *bugs. It now only subs "you's" with "your", and does it case-sensitively so that an attempt is made to preserve at least the capitalization. I hereby declare pose "magic", because I can't even understand how it works anymore. -------------------------- Message 291 from *db (#84): Date: Wed Jan 6 10:17:31 1999 CST From: Quinn (#2) To: *db-issues (#84) Subject: pose No, that doesn't mean it's magic in an IC sense. -------------------------- Message 292 from *db (#84): Date: Wed Jan 6 17:56:32 1999 CST From: Quinn (#2) To: *db-issues (#84) Subject: new skills? Here are some new skills I've got in mind. @addskill Throwing named Javelin,Spear @addskill Bladed named Trident,Pitchfork @addskill Throwing named Discus @addskill Ranged named Archery @addskill Ranged named Sling Please direct comments to *ideas. In related news, I hacked $skill:improve to force an additional dispersion for each call, which should mean less of a trickle-down effect for skills. In fact, it probably means third-generation skills such as Bladed and Blunt will _never_ cause Melee to improve. I should probably hack the .pot for some skills. Brawl, for example, would likely boost general combat ability (Melee) more than Bladed or Blunt. -------------------------- Message 293 from *db (#84): Date: Thu Jan 7 14:59:21 1999 CST From: Quinn (#2) To: *db-issues (#84) Subject: skills With perhaps not enough time for discussion, I have rushed ahead and added the aforementioned new skills: Trident (#19373), Archery (#8270), Sling (#8104), Javelin (#23502) and Discus (#8234). Please update weapons to appropriate skills where applicable, or notify me of those weapons which need changed. Don't rush ahead with replicating frisbees just yet, though. I'd like to add a mechanism whereby weapons can have a hand in how often they improve, which would make it safer to introduce low-damage weapons which might possibly share a skill with a "real" weapon. -------------------------- Message 294 from *db (#84): Date: Mon Jan 11 13:06:15 1999 CST From: Quinn (#2) To: *db-issues (#84) Subject: feature:player_rerolled Hacked $skilled:reroll to loop through all of a players features, calling a :player_rerolled verb on each, with a single arguments of the player being rerolled. PLEASE hack a :player_rerolled on your class-related features to perform the appropriate clean up procedures. In particular, mage features should remove themselves when a player is rerolled. -------------------------- Message 295 from *db (#84): Date: Tue Jan 12 08:12:16 1999 CST From: Quinn (#2) To: *db-issues (#84) Subject: skills Even with Rathe's "fatal flaw", I think the proposed percentage plan would be less exploitable than the current one. Perhaps the separate problem of uneven tiers should be addressed such that nothing uses Bladed anymore, and instead uses Sword, Axe, or Knife. -------------------------- Message 296 from *db (#84): Date: Tue Jan 12 10:51:17 1999 CST From: Quinn (#2) To: *db (#84) Subject: skills Knocked $skill.pot back down to 3, but it's now not the total dispersed, but a range of random 1-pot to be given to each skill down the line. The limiting factor is now the trickle_chance property, a percentage which is halved for each parent skill. It starts with 200% sure chance of improvement, then 100% for the parent, 50% for the next parent, 25%, and so on. In related news, I reinstated that old hack which limits the skill rank bonus to a hard addition of 100, plus a random amount of whatever is left over. Thus, if your bladed is 800 you're guaranteed only a +100, with an extra random(700). Let's see how THIS one goes. -------------------------- Message 297 from *db (#84): Date: Tue Jan 12 10:59:57 1999 CST From: Quinn (#2) To: *db (#84) Subject: @copy Removed the spammy @copy warning. It's still true, just too spammy. Just please don't @copy verbs when you could be creating parents. Contact me if there's a sticky issue. Copied verbs are nigh impossible to maintain. -------------------------- Message 298 from *db (#84): Date: Tue Jan 12 11:29:02 1999 CST From: Quinn (#2) To: *db (#84) Subject: editors Added support for regular expression search-replace in the editor. The substitution stuff was primarily ripped from LambdaMOO; I hacked in the search enhancements. Also, a new 'g' arg to the editor search means "search the whole damned text", borne from my frustration with incrementing my search start number endlessly when changing code. -------------------------- Message 299 from *db (#84): Date: Wed Jan 13 13:20:05 1999 CST From: Quinn (#2) To: *db (#84) Subject: more skills Added $skill.census_interval to define the length between min/max/average computations. Set it to 3 days. Renamed $skill:_total to $skill:skill_bonus_for. Removed inheritance calculation from it, and adjusted the bonus applied to add breaks at 250, 500, and 1000. Hacked $skill:total to compute total bonus by calculating the average of the :skill_bonus_for of a skill and all of its parents. Previously, it was the result of calculating the top skills' :skill_bonus_for, plus an adjusted average of all parent's raw skill ranks. In a nutshell: bonuses have been scaled lower across the board. -------------------------- Message 300 from *db (#84): Date: Thu Jan 14 11:24:55 1999 CST From: Quinn (#2) To: *db (#84) Subject: skill resolution adjustment Split guts of $skill:total into $skill:total_skill_bonus_for, which :total adds to the :att_bonus to arrive at the optimal total bonus for a character. Hacked $skill:resolve to use only the :total_skill_bonus_for when factoring the hard bonus cap at 100. Thus, your attribute bonus may push you above that hard 100, meaning attribute bonuses (and penalties) mean a bit more than previously. Praise be to Ymerith for the att bonus suggestion. -------------------------- Message 301 from *db (#84): Date: Thu Jan 14 18:00:49 1999 CST From: Quinn (#2) To: *db (#84) Subject: whoops Total fuck up on my part while fixing $attribute to behave properly when resolved against directly. Resulted in some INSANE bonuses a few of you took advantage of for a few hours. -------------------------- Message 302 from *db (#84): Date: Wed Jan 20 12:33:46 1999 CST From: Quinn (#2) To: *db (#84) Subject: $builder_feature:@branches Enhanced this verb and its siblings to accept a few new arguments. `with columns` shows the output in columns. `matching STR` shows only those matching the given string. Eg. `@branches $ahab matching mini-rex with columns`. The matching was already there, but poorly realized. Columns are new, mainly so I can more easily search my buffer for matching lines. -------------------------- Message 303 from *db (#84): Date: Thu Jan 21 17:20:49 1999 CST From: Quinn (#2) To: *db (#84) Subject: ansi Real quickly just to avert bug reports: the @ansi stuff is being replaced by the `color' and `charset' display options. More when I get everything working properly. -------------------------- Message 304 from *db (#84): Date: Thu Jan 21 17:37:30 1999 CST From: Quinn (#2) To: *db (#84) Subject: trident averages Hacked $skill:compile_census to gracefully handle the case where nobody has any skill rank eligible for counting in the average. -------------------------- Message 305 from *db (#84): Date: Thu Jan 28 17:57:34 1999 CST From: Quinn (#2) To: *db (#84) Subject: linesplit,$word_game Added an extra argument to player:linesplit() which prevents indenting each additional line, but only so I could use it in $word_game:compile_board (prime candidate for the absolutely grossest MOO code on Earth) to print a few rows of mixed up tiles in place of the stupid-ass bag graphic now ripped out. -------------------------- Message 306 from *db (#84): Date: Fri Jan 29 10:41:55 1999 CST From: Quinn (#2) To: *db (#84) Subject: crosswarp (#18952) I hacked :custom_score to use this.multiple_word_bonuses to determine the amount of the bonuses. Right now they're the same bonuses, but I'm going to switch the Scrabble Mosaic to a base requirement of 5 words. -------------------------- Message 307 from *db (#84): Date: Sat Jan 30 14:51:10 1999 CST From: Quinn (#2) To: *db (#84) Subject: drinks Hacked $consumable:relative_volume to use floats for more accurate description of remaining portions. -------------------------- Message 308 from *db (#84): Date: Mon Feb 1 09:59:16 1999 CST From: Quinn (#2) To: *db (#84) Subject: @coverage @coverage should work again. Hacked $root:is_writable_by to check that the passed object is valid before checking its wizard status. -------------------------- Message 309 from *db (#84): Date: Wed Feb 3 15:34:34 1999 CST From: Quinn (#2) To: *db (#84) Subject: generic newbie-friendly critter (#23757) Added generic newbie-friendly critter (#23757), chparented mini-rex (#3055) and mini-raptor (#3235) to it. It outputs a normal crystal yield to those less than a week old (last reroll time), none to those older. It should probably use a more sophisticated means of determining newbieness, such as total_power or checking stat levels. -------------------------- Message 310 from *db (#84): Date: Thu Feb 4 09:28:04 1999 CST From: Quinn (#2) To: *db (#84) Subject: newbie-friendly Whoops, fixed this. I wasn't sending enough arguments from $corpse:setup_for to $combatant:crystal_worth. -------------------------- Message 311 from *db (#84): Date: Thu Feb 4 15:42:14 1999 CST From: Quinn (#2) To: *db (#84) Subject: channels and criminals If someone $justice:is_criminal, they can't use the @x channels. --------------------------