@read 1-200 on *rpg-dev Message 1 on *rpg-development (#20779): Date: Sat Jan 30 04:13:22 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: PURPOSE This list is for discussing and announcing changes to the Lamba-RPG. Formerly, admins mailed Grand_Master and relied on the mail being forwarded to its incarnations. I'd prefer we use this forum henceforth, as it doesn't needlessly copy mail. -Quinn -------------------------- Message 2 on *rpg-development (#20779): Date: Sat Jan 30 17:32:12 1993 PST From: Grand_Master (#2693) To: Grand_Master (#2693) and *rpg-development (#20779) Subject: More lag-code changes... I moved the code from #74:attack to #82:hit and #258:hit...the doll attack code often gets called from itself and other verbs in the system to deal with two-handed attacks and such, which I think is a cool thing to have. I like the :long_enough() code well_enough :) so I used it. Btw, I am working with a port of the original RPG and heavily modifying in on another MOO to be more portable and readable (not to mention more customizable)...I am keeping my eyes out for optimizations that we could institute here. One I thought of was to take #46:trust() out of many verbs, and just leave them in get_att() and set_att(), which all RPG verbs would always call. Do you'all think this would result in a net tick savings? dr -------------------------- Message 3 on *rpg-development (#20779): Date: Sun Jan 31 00:10:55 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: trust move Moving :trust() to :get/set_att() would most probably result in more ticks, since those verbs are called several times within one trusted verb. It does make things simpler to have the trusting in two verbs, but it isn't tick- efficient. -------------------------- Message 4 on *rpg-development (#20779): Date: Sun Jan 31 21:31:50 1993 PST From: Phantom (#12538) To: *rpg-development (#20779) Subject: #46:trust() Back when G7 was still active once in a while, I believe we discussed ideas about trust calls. Currently, the system simply checks backward in its callers and skips over those written by people in #46.exporters. If it finds one written by a GM, it returns true and terminates. If it finds one written by a non-GM, non-exporter, it returns false and terminates. However, it only checks until it finds one or the other, going no further, thus requiring a call to #46:trust() in *every* RPG verb to avoid a security breach, as we had with the spell system. A check through all callers was suggested, but turned down due to the dynamics of verb calls (too many different variables to be covered while conserving ticks/seconds). No one could be sure when to stop checking the callers list or whether to stop at all. Implementation into all RPG verbs of a new system also seemed impossible... Perhaps a marker system could be set up, telling trust when to stop, but helplessly redundant calls would still be the result, so I can find no perfect solution, much less a nice way to grep through everyone's verbs and re-adapt them. We're probably stuck, unless we get some clever solutions and Wizardly support. The Phantom -------------------------- Message 5 on *rpg-development (#20779): Date: Sun Jan 31 21:47:30 1993 PST From: Phantom (#12538) To: *rpg-development (#20779) Subject: Monster Interaction My point in my earlier note to Grand_Master was not that monsters should not interact/fight among themselves. Instead, I believe that some player should be around to warrant the server time spent on monster interactions. My complaint, that of the MOO community, is that we shouldn't contribute any more to lag than we must, especially when nobody's around to feel/notice the fruits of our endeavors. I believe that intelligent monsters should eventually wind down, as with Frand's wanderers. However, they should not simply be activated by :tell's, which any monster can generate, but by player activity/proximity. A player's entrance into any part of the kobold mines could activate that large scenario, but his departure should warrant a slowly grinding halt. This may detract slightly from the realism, but this effect could be limited by a relatively large number of "wind-down" reactions. The absolute server "silence" when nobody is active (besides the Master Clock, RPG Vaccuum, etc.) would still be greatly appreciated and cost us little to nothing. We already have enterfunc's set which could "trigger" an area, something my generic monster domain had begun to explore with the Soulwraith. I believe that we must give this matter some serious thought... The Phantom -------------------------- Message 6 on *rpg-development (#20779): Date: Sun Jan 31 22:00:20 1993 PST From: Phantom (#12538) To: *rpg-development (#20779) Subject: Skill Management System I think I'd like to work on the skill object creation/management system that dr mentioned a long time ago. I think that skill creation can be rather tedious and dangerous (with all those messy list manipulations for :sheet). I wanted to write something to let you "prime" your skill object (setting all penalties and dependent skills, etc.) and see/understand the results/values. It would also be nice to be able to slide skills around the sheet in a visual presentation. I plan to allow viewing of various pieces of information, using the regular sheet format, with comparative displays of the various penalties, etc. of each skill. Since this isn't something in high demand for the survival of the RPG, I think I could bring it out to work on IRL. Perhaps some use could be found in "featurizing" the commands, allowing normal GMs the passive viewing capabilities, in order to understand the numbers and statistics in relation to one another, like my old compilation of weapon statistics... The Phantom -------------------------- Message 7 on *rpg-development (#20779): Date: Sun Jan 31 22:25:45 1993 PST From: Phantom (#12538) To: *rpg-development (#20779) Subject: Pauses in RPG Activity Regarding the forced pauses in RPG, perhaps we could use a dynamic system of RPG-triggering through terminating RPG verbs. Thus, a person could be turned "RPG off" after an action and "RPG on" when the appropriate tasks set off by his actions have finished, in this way keeping with the flow of lag at a given time, without the compilations of data from the lag meter. I believe that any person has as much right to server time as the next; someone can waste just as many ticks with a pathfinder/go call, recursive movie/event room, etc. as by using the RPG system--we just happen to be an easy target, due to our vast system of verb calls. Would the on/off triggering be a viable solution? It would be, in effect, analogous to using suspend instead of fork. Hmm... I finished reading the mail and checked #74:long_enough(), which is nice (How often will meter.total ever be less than meter.sample_count??? :). However, we still bump into the inflexibility for normal variations in lag. Perhaps with on/off triggering, we could force players to wait to enter their commands until *after* seeing the effects of a previous command... The Phantom -------------------------- Message 8 on *rpg-development (#20779): Date: Mon Feb 1 08:23:45 1993 PST From: darkrider (#7003) To: *rpg-development (#20779) Subject: Pauses vs. toggling, etc... re: using the system...yes, Phantom, everyone has a right to use the server equally. Yes, we are under pressure from people who don't like the RPG...we limit ourselves as we do to show a good faith effort to control our system and be a little proactive about avoiding server deadlock due to our verbs. If you can show us a point in the code where you can be ABSOLUTELY sure that the player's attack round is over, I'd like to hear about it. The system is unfortunately unexact as to when this happens. Actually, what we have now will work fine in the problem situations we have seen and had reported to us. The last super-lag that actually brought the house down (which we haven't done as a system, anyway :) was from the damn cockatoo, believe it or not! Phantom, use the @gmq command to see the queue during the heinous times...generally, now, there is little or NO RPG activity during these periods...and certainly no tasks pending for 300+ seconds! btw, so's not to make this a Phantom super-flame, I liked your soulwraith and wondered why you never put up some of your stuff into even a *little* RPG area...it would be cool. Later dr -------------------------- Message 9 on *rpg-development (#20779): Date: Tue Feb 2 11:09:42 1993 PST From: darkrider (#7003) To: *rpg-development (#20779) Subject: #517:set_value... #517 set value works as it always has in terms of permissions. I suggest we change it so that it simply calls #46:trust() when checking to see if the body of the verb has been run. This would allow any GM or exporter to change a value on any piece of equipment owned by any of the rest of the GMs or G_M. Does this seem like a good capabilty? Perhaps we could change it so that if the owner is G_M, any person (trusted) could set any value on the object, to make small tweaks in otherwise G_M owned stuff possible for all GMs. Whaddya think dr -------------------------- Message 10 on *rpg-development (#20779): Date: Tue Feb 2 11:17:27 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) If someone wants a custom weapon, they can create it themselves. I personally do not want anomalous weapons which look otherwise generic, and I certainly don't want GMs modding MY weapons. -------------------------- Message 11 on *rpg-development (#20779): Date: Tue Feb 2 13:53:16 1993 PST From: darkrider (#7003) To: *rpg-development (#20779) Subject: Custom weapons and set_value Well, I personally think that people should get a perception check to see special stuff about weapons, that's what I do with my stuff. But if you want a weapon to be distributed in large quantities, you have to offer it to Grand_Master and make it part of the system. Not every GM has the quota you have been granted, Quinn :) And AFTER they grant all their stuff to G_M and then realize they didn't have it quite right, or some other circumstance arises such that they want to change a particular or generic instance of the objects in question, they have to bother us. If we are planning on instating an easy way for GMs to grant things to the system, it certainly seems like the set_value change I propose will save US time and hassle in the long run. dr -------------------------- Message 12 on *rpg-development (#20779): Date: Tue Feb 2 19:52:10 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: weapons A player can create a weapon, then ask Grand_Master to put it up for mass-production in #52766. It will take NONE of their quota, and we can be sure to maintain a balance in the system. These new weapons needn't be owned by Grand_Master, just included in #52766.dispenses, thus giving players full creative control over their weapons, WITHOUT having to own every copy. And as for quota, you've been granted much more than I. -Quinn -------------------------- Message 13 on *rpg-development (#20779): Date: Thu Feb 18 18:58:59 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) and *Wizard-List (#6428) Subject: RPG Spam I have added the `panic' verb to the fo of godlike powers (#51994), usable by wizards and Grand_Masters. The work is done on #2693:spamkiller. It kills all attack and enterfunc tasks in Grand_Master's queue. Please use this instead of just killing all tasks. -Quinn -------------------------- Message 14 on *rpg-development (#20779): Date: Mon Feb 22 10:44:18 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) added #2693:"_create _recycle" for creating and recycling (duh) GM-owned objects. Usable by #2693.people and yeah maybe we should make a :gm_trust verb or something sometime.. -------------------------- Message 15 on *rpg-development (#20779): Date: Wed Feb 24 06:16:21 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Any objections to @rmverb `#259:attack this'? It allows players to engage in one-way melee with monsters who aren't in the room with them. (Will put code in #82/#258:attack to prevent this). -------------------------- Message 16 on *rpg-development (#20779): Date: Wed Feb 24 20:51:25 1993 PST From: Grand_Master (#2693) To: Grand_Master (#2693) and *rpg-development (#20779) Who made the change to #46:time_stop/trouble? PLEASE attribute (and hopefully document) all changes made to the system, even if only a simple Name(date) signature. -------------------------- Message 17 on *rpg-development (#20779): Date: Thu Feb 25 21:38:24 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) and *Features (#42343) Subject: panic The `panic' verb has been moved to #44604, usable by all Grand_Masters, and all wizards (including non-wiz characters). Included in this feature package is @gmqueue. `help #44604' for more info. Thanks to Froxx for finally sending who's adding the feature to :feature_ok. -------------------------- Message 18 on *rpg-development (#20779): Date: Sat Feb 27 22:44:11 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: changes/additions Added #46:trusted() => {everyone trusted by the RPG} Modified #258:accept to allow entry by trusted verbs. Modified #517:moveto to stop teleporting of RPG objects contained in player's location. -------------------------- Message 19 on *rpg-development (#20779): Date: Sat Feb 27 23:55:14 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: :attack hack There should no longer be more than one forked :attack task per doll. If a notification fork is pending, then a new one will -not- be spawned. See #74:attack for details. -------------------------- Message 20 on *rpg-development (#20779): Date: Sun Feb 28 02:38:14 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Fixed the screwy use of :set_name in #82. Dub now does all the work, with proper checking for location of the weapon, and clearing of the `title' property if !iobjstr. -------------------------- Message 21 on *rpg-development (#20779): Date: Mon Mar 1 11:23:02 1993 PST From: rkri (#7003) To: *rpg-development (#20779) Subject: Fixing bugs we make ourselves Seems to be my only RPG passtime these days. OK, people could @move monsters with an @move owned by an exporter...I fixed the #46:trust() bug *I* created to make sure that :trust() would actually work in user-interface verbs. Now if the callers() length is > 1, the first caller will be omitted, otherwise, (when called from a verb that a player would call, which would have length(callers()) == 1, check that verb. I restored #517:moveto(old) to #517:moveto after moving Quinn's changes from last night onto #517:moveto(quinn) ... it worked great except that players could move adventure gear around at will. Later Dr -------------------------- Message 22 on *rpg-development (#20779): Date: Tue Mar 2 07:50:53 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) added #517:recycle to remove RPG equipment from doll's wearing/wielding -------------------------- Message 23 on *rpg-development (#20779): Date: Wed Mar 3 00:51:52 1993 PST From: Froxx (#49853) To: *rpg-development (#20779) Subject: blastfork #328:blastfork is now owned by grand_master -------------------------- Message 24 on *rpg-development (#20779): Date: Mon Mar 8 00:29:24 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: #74:Wearing :wearing([NUM|STR body_area]) If a body area is given (either by index or name), return clothing worn on that area. Else, return the entire property value. ;krag => #52070 (Quinn's Voodoo Doll) [used 1 tick, 0 seconds.] ;krag:wearing(1) => {#38551} [used 32 ticks, 1 second.] ;krag:wearing("head") => {#38551} [used 40 ticks, 0 seconds.] -------------------------- Message 25 on *rpg-development (#20779): Date: Thu Mar 11 00:01:56 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) I commented out that spammy :invite code in #258:enterfunc, as done by rkri before the crash. -------------------------- Message 26 on *rpg-development (#20779): Date: Thu Mar 11 01:14:19 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: name changes Hacked #517:initialize to set names and aliases of parent onto objects created. This will be overwritten by @create's naming (if used by GM). Useful to GMs who must create through eval. Also got rid of the empty-string aliases left by the old `dub' verb. -------------------------- Message 27 on *rpg-development (#20779): Date: Sat Mar 20 21:23:48 1993 PST From: Grand_Master (#2693) To: Won_Hong_Lao (#31829) and *rpg-development (#20779) Subject: Bug on Ectoplasmic Confinement Device Fixed. The ghostbusters scenarios must not have been used for quite a while, and someone must have left a trap attached to the Confinement Device. The RPG Vacuum Cleaner must have sucked up the trap a long time ago (since the object was recycled with recycle(), not #6565:_recycle()). Is anyone interested in furthering work with ghosts, etc.? I was considering some work with corporeality for use with monsters, like my Soulwraith, instead of simply setting Endurance to 0. Should tangibility/corporeality be absolute? (you can hit it or you can't) *or* should monsters be able to become semi- corporeal? Could this be integrated with the specialized armor system mentioned a while back? Grand_Master (Phantom) -------------------------- Message 28 on *rpg-development (#20779): Date: Sun Mar 21 01:34:15 1993 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Sheet I just finished some tweaking of the RPG sheet to get a few skills in the right places with the right names and indentations. It was very tedious work, with lots of list manipulations. I guess I *should* get a new sheet/skill creation system set up soon. What should we do about skills like Heat, Drive and its descendants, etc. that aren't being used but are left in the sheet anyway? We could save space worth 600+ copies of each skill on the dolls while removing the skills from the sheet and #46, filing them away for safe- keeping, if necessary. The Phantom -------------------------- Message 29 on *rpg-development (#20779): Date: Mon Apr 5 07:33:45 1993 PDT From: rkri (#7003) To: *rpg-development (#20779) Subject: #46:sheet line 9...task out of tix... Instead of searching through the whole players() list, I suggest we just use #46.pcs...this out-of-tix problem is just the result of a large player list (2582 players vs. 733 pcs, right now...) dr -------------------------- Message 30 on *rpg-development (#20779): Date: Wed Apr 7 03:42:27 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: Zero .act If a character has no action points, should e be allowed to attack? Would hacking #258/#82:attack to return if doll.act == 0 break anything? It seems as though this would simply require the player to wait until some action :invited em to act, giving em new action points. I'd also like to hear proposals for a fatigue system. If each swing cost a certain amount of fatigue, players might think twice about spammy overkill. -------------------------- Message 31 on *rpg-development (#20779): Date: Thu Apr 8 21:23:19 1993 PDT From: Taliesin (#37114) To: *rpg-development (#20779) Subject: Quinn- excellent idea, opening *rpg-dev up. Not only does this give us GMs a direct suggestion line to incarnations of Grand_Master, but it gives us a glimpse at what Grand_Masters actually do behind the scenes, and appreciate the work you guys do. I have a suggestion: for my spellsinger system, my plaque device needs to know when a player dies. I had an idea, to copy a player:notify_death() upon each spellsinger, so that when they die, the list is informed, and can clear their data from the plaque. But, it seems that :notify_death() isn't called if victim == player. Is there any way that this can be changed? If not, is there any way that an object can be notified of a player's death, say, a list on the player's voodoo doll called .tell_death, containing the objects to be informed of the player's demise? Maybe even RPG equipment can take advantage of this... Thanx, Taliesin the Master Bard -------------------------- Message 32 on *rpg-development (#20779): Date: Sun Apr 11 03:17:03 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: Fighting amongst Illuminati Perhaps we should track player-killers and forbid their training in the Academy, providing some anti-Guild for them to train in, perhaps with thieving skills and such. --Quinn (just musing) -------------------------- Message 33 on *rpg-development (#20779): Date: Sun Apr 11 17:32:45 1993 PDT From: Taliesin (#37114) To: *rpg-development (#20779) Subject: RE: Fighting amongst Illuminati Good idea! A sort of "Assassins' Guild" for evil players! Taliesin the Master Bard -------------------------- Message 34 on *rpg-development (#20779): Date: Sun Apr 11 19:40:47 1993 PDT From: Dagard (#49807) To: *rpg-development (#20779) Subject: re: Assassins guild At one time I was working on this idea with a few other players, but hit a major mental block. I've in the meantime been working on a hirable assassin-ahab, wouldn't make it fertile because of the fact that the forked tasks run in my queue.. :) But anyways, I'd be glad to work on a guild if someone wants to help me set up some guidelines etc... I've still got some of the code offline for things like a 'job board'. Dag -------------------------- Message 35 on *rpg-development (#20779): Date: Tue Apr 13 00:29:56 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: Stacking Monsters With Ballast I've put a hack on #48119:accept that I may move to #259. The following properties control what AHaB will accept. welcome_objects -- A list of objects. AHaB will always accept these or their kids. maximum_encumbrance -- If AHaB's encumbrance goes higher than this number, accept no more objects. I'm not completely happy with this verb just yet. If anyone has suggestions, please relay them. We DO need some mechanism for controlling this. I've seen players giving monsters lots of heavy RPG-stuff so that they can defeat them easily. This doesn't matter unless the monster has treasure on them, but it's still a contemptible cheat. -------------------------- Message 36 on *rpg-development (#20779): Date: Wed Apr 14 07:10:14 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: #74:arm It seems to me that some of the stuff in #74:hit_aggressor should be on generic monster (#259), not the voodoo doll. Specifically, I don't always want to arm myself when someone attacks me. I was going to let Autumn practice on me, so I unwielde my axe. She swung, and the doll forced me to wield ol' Marduk again, causing some unwelcome cleavage. SHouldn't a lot of the #74:hit_aggressor code be moved to #259:act? If there aren't any objections, I'll go ahead and move it myself. -------------------------- Message 37 on *rpg-development (#20779): Date: Sun Apr 25 06:08:54 1993 PDT From: Quinn (#19845) To: *bah! (#22505) and *rpg-development (#20779) Subject: MYSTERY #46:time_stop suspends if ticks_left is less than 25000, or seconds left is less than 6. SIX. We are only allowed 4 ticks. Thus, this goddamned thing ALWAYS suspends. Go ahead. ;#46:time_trouble(). Now, I could just fix the properties, right? No. I don't like leaving in place some kinda WEIRD system with no reason and certainly no rhyme. I am going to be a naughty boy and completely circumvent the old code and return $command_utils:running_out_of_time(). Any complaints can be directed to me. Also, if someone would like to step forward and take credit for this odd (MORONIC) hack, please do. -------------------------- Message 38 on *rpg-development (#20779): Date: Tue Apr 27 13:18:02 1993 PDT From: rkri (#7003) To: *rpg-development (#20779) Subject: mystery solved The moronic hack in question was significantly less moronic when it was coded, because it is only in the last few days that the number of seconds a piece of code was given to start with was reduced from 14 to 4. As long as command utils are kept up to date, your change, Quinn, is a wise one ... don't worry, tho, we're not quite *that* dull :) ri -------------------------- Message 39 on *rpg-development (#20779): Date: Tue Apr 27 23:21:07 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Actually, whoever made the hack is still very *dull*, because it was also suspending if there were less than 25000 ticks left (out of 30000 allowed). -------------------------- Message 40 on *rpg-development (#20779): Date: Sat Jun 19 12:23:43 1993 PDT From: dr (#7003) To: *rpg-development (#20779) Subject: New generic for #364? We might want to consider changing the parent of #364 to #9805 or #21311 to let people descended from #258 take advantage of the additional features of those rooms. Any other suggestions with regard to new generic parents for #364? dr -------------------------- Message 41 on *rpg-development (#20779): Date: Tue Jun 22 17:45:00 1993 PDT From: Phantom (#12538) To: *rpg-development (#20779) Subject: outside room (#364) There are 19 direct descendants of #364, of which #258 is only one. Most of those other rooms don't need extra RPG features. Changes may be better made by GMs who want the features with possible porting to #258 for absolutely >spectacular< verbs. The Phantom -------------------------- Message 42 on *rpg-development (#20779): Date: Thu Jun 24 11:16:24 1993 PDT From: dr (#7003) To: *rpg-development (#20779) Subject: Not RPG features, doof :) Check out the generics I listed in my last messages...stuff like secure rooms, seated rooms, details, etc. Stuff that would make the outside room a little fuller, AND help the RPG generics at the same time. dr -------------------------- Message 43 on *rpg-development (#20779): Date: Mon Jun 28 14:26:52 1993 PDT From: dr (#7003) To: Blackbriar (#30119) and *rpg-development (#20779) Subject: Re: Blackbriar's suggestion about dolls... Is it not still true that when a property is accessed, even if only a piece of it is referenced, the *entire property* is copied from memory rather than referenced by pointer? If this is no longer the case, than BB's suggestion about scrapping voodoo dolls in favor of a set of lists is at least technically plausible. Can anyone think of any concrete savings that such a transition would get us? dr -------------------------- Message 44 on *rpg-development (#20779): Date: Wed Jun 30 23:57:02 1993 PDT From: Cpt.Vader (#50739) To: *rpg-development (#20779) Subject: Empty-hand fighting Quinn said something a few days ago about being forced to rewield his weapon when someone tried to hit him. This has happened to me, too. I find it annoying. Qhat do you all think about players having hands and feet as skills on their dolls? This would add fist fighting and possibly martial arts or dirty fighting without adding any objects to G_M's inventory. -------------------------- Message 45 on *rpg-development (#20779): Date: Thu Jul 1 22:35:00 1993 PDT From: Phantom (#12538) To: Cpt.Vader (#50739) and *rpg-development (#20779) Subject: Re: Empty-hand fighting Puff has worked on a weaponless brawling system, so you might contact him with ideas regarding the project. Other GMs have brought up ideas for martial arts, but I'm not sure what has come out of them. Personal note--please don't bring up reduction of object numbers as a valid point. I believe it was GodNet which had an extremely virtualized RPG system. It doesn't really save any space to do anything without objects--the new system and multi-linked properties and verbs take just as much room. In an object-oriented environment, the only benefit is often viewed as a quota scam, and breaking verbs and VR can be a drawback. The Phantom P.S. Now that I read it over, the personal note has slightly aggressive undertones--blame it on the RPG attacks, please. I don't really flame, and I wouldn't want to learn what a flame war is like. -------------------------- Message 46 on *rpg-development (#20779): Date: Fri Jul 2 12:03:20 1993 PDT From: dr (#7003) To: *rpg-development (#20779) Subject: Weaponless combat feature objects Anyone who wants to show one that they think is worthwhile is welcome to do so...we would have to change the way damage affects people to include more 'stun' and 'temporary' damage... Also, it is long overdue for us to include fatigue and suchlike so that people cannot act as gods who never get winded. (Tho the macro-foiling scheme does implement some of that, fatigue is more realistic and gives similar results.) Thoughts? Puff included things like balance, whether of not the person lost their balance and fell, stuff like that. What brave and experienced coder will take on this mind-and-RPG-expanding task? :) dr -------------------------- Message 47 on *rpg-development (#20779): Date: Sat Jul 3 00:59:58 1993 PDT From: Cpt.Vader (#50739) To: *rpg-development (#20779) Subject: [Isagi (#21077): Re: Empty-hand fighting] Date: Thu Jul 1 17:52:50 1993 PDT From: Isagi (#21077) To: Cpt.Vader (#50739) Subject: Re: Empty-hand fighting Well, adding an unarmed combat routine to the RPG would be a nice try.. I'd love to practice aikido and get to do that neat stuff that Steven Seagal (sp?) does to peoples' arms . but.. That would be at least two lines of extra code to add to the attack/response code, every tick counts. Perhaps we should start a ballot asking players if they would like to be able to pound their favorite monster into pudding with their hands and/or feet.. but then that raises another question.. how effective are hands and feet against a monster like Cennortu. Ever try punching steel plated jello? ;> There should be some form of notification added to tell a monster that it was hit (not damaged, but hit) so they hand attack can be reacted to. Isn't cennortu covered with a slime that gives off a really nasty odor, that's hard to wash out, and tends to make one nausious (sp?) if inhaled over a long period of time? :> Just some more rambling about how the RPG could and >should< be extended. -- Isagi the little Anterran -------------------------- Message 48 on *rpg-development (#20779): Date: Thu Jul 8 15:00:53 1993 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: additions to $local.rpg I just added the following to $local.rpg (Adventurer's DB, #46): $local.rpg.grand_masters A list of all the personalities of GM (#2693). $local.rpg:is_grandmaster(who) Returns true if 'who' is a Grand_Master. This should replace references to #2693.people in any new code. -------------------------- Message 49 on *rpg-development (#20779): Date: Tue Jul 20 20:22:26 1993 PDT From: Grump (#122) To: *rpg-development (#20779) Subject: "Salvage Nothief stuff? Any gamemaster want to take on any or all of Nothief's objects? he's past the current 'reap' interval (6 months). -------------------------- Message 50 on *rpg-development (#20779): Date: Fri Jul 23 19:02:23 1993 PDT From: Isagi (#21077) To: yduJ (#68), Dukas (#78), *Bug-Reports (#22307), *rpg-development (#20779), and *RPG-Stuph (#21259) Subject: Problem in Generic Puppet found! Believe it or not, none of the verb parsing routines are at fault. It is the verb that actually does the action that is at fault. '#7680:call' runs the first verb that matches the verb name. Try typing in 'eval $container:get()', I guarantee that you'll get the 'what do you want to take from generic container' message. That's the same message that puppets get when they try to pick $containers up. Grump, you seem to be comfortable with changing this kind of verb. Could you please do the changes? Or should I come up with the solution.. I promise, that if I create the solution, there will be at least one '#21077.wizard = 1;' in the verb. ;> Kidding around aside, should I fix this problem and submit it to the wizards? -- Isagi the little debugger -------------------------- Message 51 on *rpg-development (#20779): Date: Tue Jul 27 02:37:01 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: natural weapons I've created generic natural weapon (#50181) and added a :dam verb to modify damage according to creature size. Feel free to look at #50181:dam and give comments on the equation. Also: Changed claws base damage from 3 to 5. Changed tentacles base damage from 1 to 3. Here's what the natural weapons look like right now: Number Name Skill Atk Dam Pen P+ P- Enc Slow Len ------ ------------------ ------ --- --- --- ---- -- --- ---- --- #2231 teeth teeth -15 10 30 -999 0 0 10 0 #1394 claws claw 0 5 50 -999 0 0 7 0 #1454 tentacles tenta 10 3 60 -40 0 0 10 3 ------ ------------------ ------ --- --- --- ---- -- --- ---- --- (from @cat weapons named tentacles teeth claws) Ogwul has given me "tail" for consideration, but I'm gonna ask that he reduce the damage first. -------------------------- Message 52 on *rpg-development (#20779): Date: Thu Jul 29 00:25:19 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: hands I added #74.hands, and hacked #82:wield to use it. I was pretty damned surprised it wasn't there already. If I've overlooked implementation on other verbs, or if I've done something terribly stupid, someone please tell me. --Quinn -------------------------- Message 53 on *rpg-development (#20779): Date: Thu Jul 29 00:29:37 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Oops-- Also fixed #259:duty to check for 'hands' on the doll. Hrm.. actually THIS may break some things. I'll make a check through all the dolls for a .hands property and inform the GMs who use it to make it .ihands. -------------------------- Message 54 on *rpg-development (#20779): Date: Thu Jul 29 00:47:14 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Moved .lag_standard and .min_command_interval from generic doll (#74) to $local.rpg.. -------------------------- Message 55 on *rpg-development (#20779): Date: Thu Jul 29 00:55:56 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Added #517.manufactured, initialized to right now, and stamped upon creation to the current time. Used to determine aging effects and depreciation of weapons. -------------------------- Message 56 on *rpg-development (#20779): Date: Thu Jul 29 01:58:50 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) I made some mods to #517:moveto, restricting equipment exchanges if a player's hands are full or e's heavily encumbered. Lookit #517:moveto for details. -------------------------- Message 57 on *rpg-development (#20779): Date: Thu Jul 29 02:57:37 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: new properties to $local.rpg Added the following properties to the Adventurer's DB (#46), which should be helpful in making LRPG more portable (and code more readable). ;$local.rpg.doll #74 (Generic Voodoo Doll) ;$local.rpg.equipment #517 (Generic LRPG Equipment) ;$local.rpg.weapon #82 (Generic Weapon) ;$local.rpg.armour #418 (Generic Armour) ;$local.rpg.skill #19051 (Generic LRPG Skill Object) ;$local.rpg.spell #22517 (Generic LRPG Spell Object) ;$local.rpg.vacuum #10161 (LRPG Vacuum Cleaner) --Quinn -------------------------- Message 58 on *rpg-development (#20779): Date: Thu Jul 29 05:23:24 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: :match_character This verb now returns a pair {#character, #doll}. My apologies to anyone who's already used it and is expecting an object. Also-- added :character_match_failed(char-match-result, string), working basically the same as its $command_utils cousins. -------------------------- Message 59 on *rpg-development (#20779): Date: Thu Jul 29 06:26:00 1993 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Added $local.rpg.monster and $local.rpg.dungeon. -------------------------- Message 60 on *rpg-development (#20779): Date: Sat Jul 31 03:04:39 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: wielding I've changed #82:wield to sheathe only enough weapons to make room for the new one. The weapon is still stuck at the end of .wielding, though. I'm gonna post to *rpg-stuph and ask for opinions re: where :wield should put a weapon. -------------------------- Message 61 on *rpg-development (#20779): Date: Sat Jul 31 03:13:36 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: #517:set_message changes I've added the following to Adventure Gear (#517). $local.rpg.equipment.user_settable_messages $local.rpg.equipment:set_message 'user_settable_messages' is a list of message-names settable by someone other than the owner of the item. This is experimental, and its existence will depend on any possible trauma caused to the DB. ~equipment:set_message handles everything. The owner can set any messages, as usual. Any other player must be holding the weapon in order to set its messages. The first implementation of this message is with ~weapon:bully. 'bully_msg' is a string fed through $you:say_action announced when a player wishes to intimidate someone with their weapon. More dramatic (if not thematic) messages include "Quinn jerks the cord of his chainsaw." or "Quinn ejects a shell from his shotgun with a solid KKCHUNK, eying you with deadly intent." Players can set this message as any other, with '@bully weapon is ...'. -------------------------- Message 62 on *rpg-development (#20779): Date: Sun Aug 1 04:49:20 1993 PDT From: Quinn (#19845) To: *Core-DB-Issues (#8175) and *rpg-development (#20779) Subject: $match_utils rewrites I've re-written $match_utils:match. No incompatible changes. I made the code more readable, fixed some bugs, and documented the verbs I've changed/added. Tick costs are nearly the same. Note that the new version only checks aliases, same as the old. This saves considerable ticks, and most people include an object's name in its aliases, but I'm open to criticism. New additions include: .ordn -- Ordinal Names (first, second, third, etc) .ordw -- Ordinal Numbers (1st, 2nd, 3rd, etc) (both names taken from variables in the previous :match) .ordinal_regexp -- A regular expression consisting of all the above ordinals. :parse_ordinal_reference(string) :parse_possessive_reference(string) These verbs do the work for some old :match features. See the help on each (and :match) for details. Players can now retrieve money from a $container. The problem was that :match did its own literal object matching, which merely checked for "$" as the first character, and threw out the string if it wasn't a property on #0. I'm considering adding diku-style ordinal matching (1.sword, 2.sword, etc). It'd be a trivial change to :parse_ordinal_match. For those who didn't even know $match_utils existed-- it does. Also there is a Matching Room (#3879) which uses the enhanced $match_utils routines and matches on exit-verbs. It's been around for quite some time. Any comments, suggestions, or cries of horror are welcome. --Quinn (acting as Grand_Master) -------------------------- Message 63 on *rpg-development (#20779): Date: Tue Aug 10 13:17:45 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: What I did Today Okey dokey the following are some commands I typed the afternoon. The verbs have been archived on #2693, and the properties don't seem to be needed anymore. Many were blank, the rest contain info now on properties in skill objects. @copy #74:old_improve to #2693:old_improve(from#74) @rmverb #74:old_improve @copy #74:old_total to #2693:old_total(from#74) @rmverb #74:old_total @copy #46:old_resolve to #2693:old_resolve(from#46) @rmverb #46:old_resolve @copy #46:def_att to #2693:def_att(from#46) @rmverb #46:def_att @copy #46:set_lrn to #2693:set_lrn(from#46) @rmverb #46:set_lrn @copy #46:del_att to #2693:del_att(from#46) @rmverb #46:del_att @rmprop #46.attrefs @rmprop #46.attvals @rmprop #46.learn @rmprop #46.inj_penalty @rmprop #46.ins_penalty @rmprop #46.enc_penalty If something breaks, I'll be very surprised. Most of this crap was left over from WAY back when LRPG didn't even HAVE skill objects and kept everything in properties on #46. Thank god we've progressed. Now let's get rid of the cobwebs. --Quinn PS: Yes, I -did- @egrep through every administrative object owned by Grand_Master before doing this. -------------------------- Message 64 on *rpg-development (#20779): Date: Wed Aug 11 04:57:39 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Added a special :_recycle verb to Grand_Master which will make it very difficult for any of us to accidentally recycle an LRPG-core object. -------------------------- Message 65 on *rpg-development (#20779): Date: Wed Aug 11 05:22:47 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: $local.rpg del/add I removed the 'spell' and 'skill' properties from $local.rpg and replaced them with 'spell_object' and 'skill_object'. Hopefully it won't break any GM-code. It shouldn't, since the two were mainly for maintenance purposes. The reason for this was to avoid confusion with the new 'skills' property. ;$local.rpg.skills => #34595 (LRPG Skill Repository) The skill repository will be the new location for all kids of the LRPG Skill Object (#19051). In addition, defined upon it are properties for every skill in the system. So instead of using cryptic literal objects in your code, you can now use $local.rpg.skills.. Unfortunately, some of the skill names are pretty cryptic themselves, but that would require more grep/replacing than I care to think of. Here's some examples: ;#32774:resolve(player, 0) => 0 [used 356 ticks, 0 seconds.] ;$local.rpg.skills.sai:resolve(player, 0) => 9 [used 360 ticks, 1 second.] ;$local.rpg:resolve(player, "lockpick", 0) => -23 [used 2123 ticks, 1 second.] ;$local.rpg.skills.lockpick:resolve(player, 0) => -12 [used 262 ticks, 1 second.] Using $local.rpg.skills is a lot faster than the other readable alternative ($local.rpg:resolve). You may want to define a 'skills' variable equal to '$local.rpg.skills' at the head of your code if you plan on doing several resolves, so the server doesn't have to reference the properties so often. --Quinn -------------------------- Message 66 on *rpg-development (#20779): Date: Wed Aug 11 06:22:07 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: #74:attack I've made a major re-write of doll:attack. The big changes are the movement of big chunksa code into seperate verbs. Here's the new stuff: ;$local.rpg.doll:legal_target(player) => True if doll's character may attack player. Prints out the 'seppuku' and 'worthless life' messages, plus a new, different one for when a player target is not connected. ;$local.rpg.doll:do_attack_notification(target, weapon) => Does the attack notification, forking if we haven't already, and calling :notify_aggression if it's the character's first attack upon 'target'. :notify_aggression was never called correctly before (my fault). Now it works. The size of the verb is amost managable now. In addition to the above changes, I added a few comments above some cryptic variables and algorhythms. I'm gonna hack #328:firebolt, :zap and :slow to call :do_notify_attack as well. -------------------------- Message 67 on *rpg-development (#20779): Date: Wed Aug 11 07:45:03 1993 PDT From: Quinn (#19845) To: The_Taskmaster (#46102) and *rpg-development (#20779) Subject: #418:protection Added $local.rpg.armour:protection. To do so and make it mean something, I had to send attacker and weapon through the verb-stream starting with attack. Here are the args each verb currently takes: ;doll:attack(target, weapons) ;doll:respond(by, quality, dam, pen, dodgable, parryable[, weapon]) ;doll:receive_damage(dam, pen, clang, oclang, wound, owound, stun, ostun, kill, okill[, by, weapon]) ;doll:armour(pen, hit-location[, by, weapon]) ;armour:protection(by, target, weapon, hit-location, pen)"; Throughout, 'by' is the attacker, 'target' the defender. Note that the weapon argument is optional throughout, so that no old calls to the verbs break. Cc to Taskmaster because he's the one who whipped me into making the necessary hacks. Many many ways to take advantage of the verb, including damage types, monster immunity to certain weapons, special armour vs certain attackers, and so on. --Quinn -------------------------- Message 68 on *rpg-development (#20779): Date: Wed Aug 11 08:14:02 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: academy rooms Added course text to some that were without, and changed :enrol to print messages to the room. Changed #46:train not to print messages itself. -------------------------- Message 69 on *rpg-development (#20779): Date: Wed Aug 11 08:31:14 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: spellnotification okay-- firebolt, slow and storm now trigger notification just as a normal attack would, with the the spell object sent as the weapon. Code can be found on #328. Calls attacker-doll:do_attack_notification(). -------------------------- Message 70 on *rpg-development (#20779): Date: Fri Aug 13 17:00:40 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: $local.rpg.toady The problem with using $no_one to call secure RPG verbs is that simple security checks via $local.rpg:trust/trusted always fail. However, there are many times one needs the safety of a harmless eval. Quasimodo (#58456) is the LRPG equivalent to $no_one. With it you can perform safe evaluations, with easy security checks. All verbs are same as those on $no_one, except for the obvious security checks to make sure only GMs call them. oH-- it can be referred to as $local.rpg.toady, simply because quasimodo was too unwieldy. ;) -------------------------- % Activity in world LambdaMOO Message 71 on *rpg-development (#20779): Date: Sat Aug 14 05:24:49 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: #9338 Realising that some GMs were making backpacks and such available to normal players, I set .max and .percent !c so they couldn't reap great advantage from it. -------------------------- Message 72 on *rpg-development (#20779): Date: Sat Aug 21 04:20:45 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: #74:encumbrance Hacked it to return doll.character:encumbrance if it exists and the character is owned by a GM. -------------------------- Message 73 on *rpg-development (#20779): Date: Sun Aug 22 15:11:43 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: worth/condition Added the property 'worth' to $local.rpg.equipment, which is a kind of "suggested retail price" (in copper coins), and a corresponding :worth verb. Also added :condition, which returns a percentage. Both verbs are support for the RPG stores, which should soon be finished. See their comments for further details. --Quinn -------------------------- Message 74 on *rpg-development (#20779): Date: Sun Aug 22 16:51:45 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: $local.rpg.combat_skill Added the above, and chparented all weapons-related skills (and dodge) to its value -- #10330. I'd also like to get around to describing all the skills, so we could hack something simple on the rpg help_db which printed what each actually does. -------------------------- Message 75 on *rpg-development (#20779): Date: Wed Sep 1 16:13:25 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: skill help I've described all the skills offline, and also added a :description verb that appends attributes affecting the skill. Unforunately, the lag is too heavy for me to port all the descriptions in now, so it'l have to wait. I'll also hack the RPG Help DB so one can type 'help agility', for example, and get the :description of Agility (#19230). -------------------------- Message 76 on *rpg-development (#20779): Date: Fri Sep 3 23:51:55 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: #10161 The RPG Vacuum (#10161) is now a room, connected east of the Equipment Section. A clerk, Harvey, keeps track of rooms in which players would like to keep their RPG loot. When in the room, a player may 'register room with Harvey'. I'll post this to *rpg-stuph with a more complete explanation. Also made some gadgets for Harvey-- a clipboard and a map of approved sites. Harvey is a kid of $local.rpg.monster, birthed and ready, so he CAN be killed. -------------------------- Message 77 on *rpg-development (#20779): Date: Sun Sep 26 08:06:44 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: fatigue I've added the bones of a fatigue system: ;~doll.fat -- Fatigue monitor. ;~doll:check_fatigue(fat) -- Called during times of exertion. ;~skills.stamina -- As shock is to inj and sanity is to ins. ;~skill.fatigue -- Default penalty mod for fatigue. ;~skill:penalty -- Hacked to reflect that mod. ;#1140:heal() -- Global healing now heals fatigue. Nothing that actually calls :check_fat() yet. Probably at least in ~doll:attack(), maybe also in the RPG exits, or as an additional (or replacement) penalty in :exitfunc. So far, only penalties to skill rolls are figured in, and at default rate. Dred wrote up some suggested .fatigue values, so I may just upload those. Will probably hack ~weapon:dam() to return less if the wielder is injured. Tho I should probably make a generic melee weapon before doing this... -quinn -------------------------- Message 78 on *rpg-development (#20779): Date: Mon Sep 27 14:38:58 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: teleportation Created the magical transfer of matter(#41318) and the Spell of Recall(#12893) and placed them in Magic Department(#1401). Added the `:Recall any with this' verb to staff (#331). Added :recall and :teleport to spell database (#328). Put the penalties previously in :exitfunc into new verb :exitshock, boosted them, and made them call :check_insanity. Aim is to eliminate non-LRPGVR teleportation and make characters dependant on magical teleportation. -------------------------- Message 79 on *rpg-development (#20779): Date: Mon Sep 27 16:51:36 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: cleared properties Cleared 20925 properties on descendants of ~weapon and 3522 on descendants of ~armour. Made a change to ~monster:duty that should KEEP them clear. Hacked ~hand_and_a_half to dynamically change and restore property values when operating in each mode. See #2521:dam for details. -------------------------- Message 80 on *rpg-development (#20779): Date: Tue Oct 12 02:12:17 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: changelog ~equipment.keep_at_death ~monster:die Hacked :die to ignore .animal bit, and drop all items but those with a 'keep_at_death' property which is true. yeah yeah I know. I don't much like the property name, either. If you've a better name, tell me. For now, don't use 'keep_at_death' in your code cuz I may change it. ~doll:invite Cleaned up this code, and made one major change: Scheduled events happen at the time you specify when calling doll:schedule (or as soon as :invite is called to let them). Previously, this firing time was mangled horribly by weird decrements with each :invite call. This change may cause anything you scheduled in old code to last a lot longer than it's supposed to, so you may wanna check. I changed #328:slow and :forcewall to account for it, plus the :effect verb on my generic potion (#20687). Coming up: Hoping to allow for a more flexible body-parts system, including allowing more or less than seven parts, and settable stats for bodypart names, chances of being hit, and damage resistance. This is a big hack, so don't count on it anytime soon. -quinn -------------------------- Message 81 on *rpg-development (#20779): Date: Tue Oct 12 02:14:04 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) oH.. set generic natural weapon (#52018) and wall of force (#3791) 'keep_at_death' to 1. -------------------------- Message 82 on *rpg-development (#20779): Date: Tue Oct 12 03:05:48 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) oops.. #50181 is natural weapon. Anyway, it ws set appropriately. -------------------------- Message 83 on *rpg-development (#20779): Date: Sat Oct 16 02:08:39 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: :combat_effect Added a check for a :combat_effect verb on the attacker's location. If it returns a non-numeric number, the attack will be cancelled. Else, the number is a modifier to the attack. See #9505:combat_effect for an example. -quinn -------------------------- Message 84 on *rpg-development (#20779): Date: Sun Oct 17 04:34:03 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) @prop #46.staff #331 "r" -------------------------- Message 85 on *rpg-development (#20779): Date: Sun Oct 17 23:20:19 1993 PDT From: Quinn (#19845) To: *rpg-development (#20779) and *RPG-News (#9551) Subject: $local.rpg.equipment -> $local.rpg.thing Adventure Gear (#517) will soon be known as $local.rpg.thing, NOT $local.rpg.equipment. ~equipment, if it stays (and it probably won't, in favour of the shorter 'gear'), will be a parent to things like torches, rope, etcetera. Mooriah brought up this concern when she wanted an easy way to identify tangible RPG equipment. Unfortunately, not all children of #517 are generic objects. Many simply need encumbrance, and the special give/get verbs of #517. My main delay has been because of the name change. If anyone objects to refering to #517 as ~thing, PLEASE say so now, before it goes into wide use. -------------------------- Message 86 on *rpg-development (#20779): Date: Sun Nov 14 20:52:02 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: cheap support for .paralyzed This .paralyzed property has been on #74 for some time and is apparently unsupported. So anyway, I supported it. If it's true, then the doll's character cannot attack. Furthermore, if it's a string, then that string is printed to the character when e tries to attack. Be SURE to clear these properties back to 0 when you're finished with them, else the character will be paralysed forever and the string will stick around and bloat the db. Preferably to be used in conjunction with :schedule. -quinn (oh-- code is in #74:legal_target, which is probably misnamed) -------------------------- Message 87 on *rpg-development (#20779): Date: Fri Nov 19 05:38:01 1993 PST From: Grand_Master (#2693) To: *rpg-development (#20779) @prop #46.magic_db #328 -------------------------- Message 88 on *rpg-development (#20779): Date: Fri Nov 19 06:40:35 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: BODY AREAS ARRIVE! $local.rpg.body_area -> #15623 (generic body area) Descriptions for each body area stat follow. Bracketed numbers are suggested value ranges. coverage -> % of body the part covers, for random area determination. [1..100] shock_mod -> Modifer when checking shock from wounds to this area. [-30..0] stun_resistance -> How resistant the area is against being stunned. [0..100] attack_mod -> Attacker's mod when aiming for the area. [-30..30] parry_mod -> Defender's mod when parrying an attack aimed for the area. [-30..30] New mods to ~dungeon: :attack is now +x so that descendants may pass args instead of copying the code. Appropriate new security added. Players may now specify a body part to attack. The .attack_mod of that body part (see above) is then applied. Please report any problems to me. It's a new system and there're probably still some bugs lurking in the joints. -------------------------- Message 89 on *rpg-development (#20779): Date: Fri Nov 19 06:52:32 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: more on body parts The default body areas right now are: generic body area(#15623) has 7 kids. head(#39284) chest(#61605) abdomen(#51172) left arm(#60746) right arm(#61688) right leg(#52374) left leg(#47817) I've made a little band-aid hack so that custom .locations will still show up in combat messages. body-area:title() calls :get_body_area_name(), which is hacked to return a string from .locations if its value is different from that of ~monster's. Called shots, as of now, do not match correctly for custom-named body locations. This may not be as difficult to do as I first thought. I'll take a look at it when I'm not so exhausted. If you want your creature to have fully functioning body parts different from the defaults (~doll.body_areas), the best solution is to @create a kid of $local.rpg.body_area and hack its properties to your specifications. Then @prop an .ibody_areas property on your monster and set it to the object numbers of your creature's body parts. Note that if they are different from ~armour.body_parts, then the creature won't have any protection on the extra areas. As of now, creatures with weird body parts can WEAR the armour, but will have considerably less protection, since it isn't made for their species. -quinn -------------------------- Message 90 on *rpg-development (#20779): Date: Fri Nov 19 07:01:22 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: cool new weapon hooks The following two verbs can be used to provide special behaviour in your weapons when their use has critically failed or succeeded. :critical_miss(OBJ attacker, OBJ target, NUM atk) :critical_hit(OBJ attacker, OBJ target, NUM atk, OBJ loc, NUM dam) In addition, most combat announcments are now done by the weapons. :announce_swing :announce_miss :announce_dodge :announce_parry :announce_hit :announce_kill See verb comments (on ~weapon-#82) for more details. Also, :announce_clang on ~armour-#418. I've heavily re-written verbs on ~doll-#74 to support the enhancements announced in the past few messages, and also to hopefully make the following verbs more readable: :attack :respond :receive_damage Any comments will be welcome. -quinn -------------------------- Message 91 on *rpg-development (#20779): Date: Wed Nov 24 12:54:37 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: :death_effect ~doll:die() now checks a :death_effect(victim[, killer]) verb on the victim's location. If trusted (written by a GM) and returns a non-numeric value, then the death is cancelled. Many possible uses, so enjoy. NOT TESTED YET. I assume it'll work, tho. Make sure you move the corpse out of the room if you're gonna prevent the death. The death messages have already been displayed. -------------------------- Message 92 on *rpg-development (#20779): Date: Mon Nov 29 22:58:52 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: ~doll:combat_effects You may now influence a character's attacks directly by adding a `combat_effect' object to its `combat_effects' list. The object requires one verb-- :combat_effect(attacker, defender, weapon). If a non-numeric value is returned, the attack is cancelled. Else, the number is applied as a modifer to the attack. Modifiers are cumulative, but the first non-numeric encountered will stop the combat. This should fill a large gap in the communication between GM and LRPG-core combat verbs, and provide a better mechanism for accomplishing neat gimmicks. Paralysation is something that would probably be better handled by a combat effect object. If you write cool new combat effects, be sure to announce them on *gms so we aren't duplicating our efforts. Also, in your programming, make sure you get rid of the effect when it wears off. -quinn -------------------------- Message 93 on *rpg-development (#20779): Date: Tue Nov 30 04:15:20 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: mine changes in progess Hacked ~monster:duty into leetle pieces. It's now a little faster, and much easier to read. See :check_mine and :equip_mine for new pieces. Look for :prime_mine (or something), which will allow for setting the .condition of your monster's objects. Speaking of which: Added ~thing:tell_condition, @prop'd .condition, and hacked :condition to use it. If you've got comments on the messages in :tell_condition, spit `em out to *gms. -QUINN -------------------------- Message 94 on *rpg-development (#20779): Date: Wed Dec 1 05:31:04 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: CORPSES--BWAHAHA Added corpse support to ~monster. See `:set_corpse' for details. Two main values for the `body' property (set by :set_corpse): #xxxx -- A custom descendant of ~corpse. 1 -- A generic corpse created when your monster is killed and destroyed when it is rebirthed. More info in the new monster-making tutorial at: parcftp:pub/MOO/contrib/docs/lrpg.tut. -quinn -------------------------- Message 95 on *rpg-development (#20779): Date: Thu Dec 23 09:51:10 1993 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: $local.rpg:maybe_stop_time This is the RpG's :suspend_if_needed. It records lags samples when used, so try to use it in your RPG verbs insted of $command_utils. That'll help keep our lag samples up to date. Used to be called :time_stop, but that was a bit confusing, since the actually suspending is called :stop_time. :time_stop's still an alias, cuz there's a lotof verbs that still call THAT name, but use :maybe_stop_time for clarity's sake. -quinn -------------------------- Message 96 on *rpg-development (#20779): Date: Sun Mar 6 19:41:21 1994 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Slight change to #259:tell_contents() Now tell_contents() does not mention anything in the monster's wielding or wearing voodoo dool attributes. They are already mentioned by look_gear. dr -------------------------- Message 97 on *rpg-development (#20779): Date: Thu Mar 10 03:27:23 1994 PST From: Quinn (#19845) To: *rpg-development (#20779) Subject: MonsterMATCH I've added two verbs to $local.rpg: :match_monster(string) :monster_match_failed(match-result, string) Take a look at them for more info. -------------------------- Message 98 on *rpg-development (#20779): Date: Fri Mar 18 09:47:20 1994 PST From: dr (#7003) To: *rpg-development (#20779) Subject: #328 security tightened. #328:storms_active_in and storms_cast_by were made secure, i.e. only accessible by those trusted by the RPG. Also, as you might have noticed by now, the cull_player threshold is now 90 days instead of 123 days. Cull players is still run manually. I suppose it might be nice to the rpg-stuph list know when it is going to happen, so that anyone paying attention can go swipe at a kobold to keep fresh. dr -------------------------- Message 99 on *rpg-development (#20779): Date: Fri Mar 25 12:41:10 1994 PST From: dr (#7003) To: *rpg-development (#20779) Subject: Changes to magic_db:storms... Changed #328:kill_storm and #328:blastfork in order to allow the following new functionality...an optional second argument can be passed to :kill_storm that causes NO message to be printed by blastfork when that task finds out it has been killed. It assumes that whatever killed the storm has given an appropriate message. This is really a hack, because of the way the system works. The storms should really be recoded when we are done fixing everything else :) Also, people can cast multiple storms simultaneously by using the staves for the different databases...that should prolly be disallowed. dr -------------------------- Message 100 on *rpg-development (#20779): Date: Sun Apr 3 18:58:02 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Disconnected folks casting storms... Thanks, Miles, I fixed #328:blastfork so that it checks to make sure a player is connected before dispensing another jolt...otherwise the storm dissipates. This keeps people from using the cheat of casting a storm, attacking a monster, then disconnecting and letting the monster get killed without risk to themselves. dr -------------------------- Message 101 on *rpg-development (#20779): Date: Sun Apr 10 11:51:28 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: notify_clang and stuff... I added a call to generic weapon's new 'notify_clang' verb to #74:receive_damag e...basically this verb is only called if the weapon clangs against armour without doing any damage. This will be a hook for weapons degradation, so please pass(@args) if you use this verb. Also, because it is not forked, it is suggested that if you do anything substantial (such as an announce) in your notify_clang, you fork it so's not to endanger the combat cycle with an 'out of ticks' traceback. I also tweaked the description of the generic skill slightly for cosmetics, and added the skill #75056 - LongSword for the new generic I will announce on *gms. dr -------------------------- Message 102 on *rpg-development (#20779): Date: Sun Apr 24 13:26:33 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Minor Mod and New Feature (1) Changed #3089 (generic dagger) properties that were +c to be -c. The actual properties, like .swing, .sheathe, etc, CANNOT be owned by anyone other than G_M with the way 'become_missile' is written. Since I needed to own a dagger as dr to make some mods, this seemed the logical fix. New feature, #82:special_damage() and a hook in receive damage that adds the output of #82:special_damage() directly to the .inj of the player when it is decided that damage will be done. I intend it for SPECIAL cases where some other damage is done by the weapon that armour cannot absorb...I use it, for example, in my new poisoned daggers...if the hit goes through and the dagger touches flesh, they get full damage from the poison pumped into them. :) dr -------------------------- Message 103 on *rpg-development (#20779): Date: Sun Apr 24 20:36:48 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: misc_notes Kristia suggested a miscellaneous notes property on voodoo dolls, so that GM's could store various information directly on them. It is done! Thanks for the idea, Kris! ~doll:write_misc_note(note_name, value) ~doll:read_misc_note(note_name) ~doll:erase_misc_note(note_name) Just installed it tonight. May be bugs in the (relatively simple) implementation. If so, squeal at me. -Quinn -------------------------- Message 104 on *rpg-development (#20779): Date: Tue Apr 26 22:49:30 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: #46.sheet_atts Did one of you change this from a list of objects to a list of strings? Cog expected an object and now it don't work no more. Anyone? -------------------------- Message 105 on *rpg-development (#20779): Date: Wed Apr 27 09:30:41 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: sheet_atts change... See 345 on *gms. I had the choice of rebuilding it from scratch or using it as it was. A nice new design for that code would be nice, anyway, or a nifty way to edit the sheet. dr -------------------------- Message 106 on *rpg-development (#20779): Date: Sat May 14 11:22:38 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: $local.rpg.sheet_atts Is anyone depending on this being a list of strings? It was previously a list of objects, and a lot of MY stuff, at least, is breaking because it is no longer. If nobody objects, I'm gonna $list_utils:map_arg($local.rpg, "match_skill", $local.rpg.sheet_atts) it. -------------------------- Message 107 on *rpg-development (#20779): Date: Sat May 14 15:16:12 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: Fixed #46:sheet again... ...after the Quinster changed #46.sheet_atts back to object numbers. Everyone check code that depends on sheet_atts! dr -------------------------- Message 108 on *rpg-development (#20779): Date: Wed May 18 09:35:25 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: Missile code back in... I added the missile combat stuff (from room-room) back into :attack, :legal_target, etc. I tried to make it as tick-lite as possible. :do_attack_notification may still need some extra stuff so that people in the room see when someone is remotely attacked. Otherwise it seems to work well. :) dr -------------------------- Message 109 on *rpg-development (#20779): Date: Tue May 24 00:26:58 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) and Taskmaster (#46102) Subject: storms As suggested by Taskmaster $local.rpg.magic_db:zap now makes the following call: if (db:trusted_verb(area, "weather_effect") && typeof(effect = area:weather_effect(@args) != NUM) return effect; This should make controlling storms and the effect of lightning easy for gm room owners. Also, it will not interfere with any older "magic_effect" code. Miles -------------------------- Message 110 on *rpg-development (#20779): Date: Wed Jun 15 16:02:17 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: ~doll:check_schedule() Added this verb, which simply checks a doll's schedule, calling what needs to be called at the current time. -------------------------- Message 111 on *rpg-development (#20779): Date: Fri Jul 8 17:50:21 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: $local.rpg.corpse.is_corpse Added the is_corpse property, which now defines a corpse regardless of its parentage. So if you want non-standard corpses, just add that property to them so they'll rot properly. -------------------------- Message 112 on *rpg-development (#20779): Date: Fri Jul 29 13:28:09 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: #2693:_chparent Modified the security after Isagi mentioned that he was gonna hack us outta existence. Thanks 'soggi. :) dr -------------------------- Message 113 on *rpg-development (#20779): Date: Sat Jul 30 14:19:42 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: *gms:rm_message_seq Added extra security to #9551:rm_message_seq after someone @rmmail'ed all the messages. See *gms for further bitching on the subject. :) dr -------------------------- Message 114 on *rpg-development (#20779): Date: Mon Aug 1 14:07:07 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: #74:arm & hands_free Added a check to :hands_free() in the arm verb as Isagi requested, to prevent auto-wielding of weapons for which the character doesn't have enough hands. dr -------------------------- Message 115 on *rpg-development (#20779): Date: Tue Aug 2 16:23:43 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: #328:heal Added a call to magic_effect with an extra little twist. dr -------------------------- Message 116 on *rpg-development (#20779): Date: Wed Aug 3 13:42:09 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: Special_Damage changes... Miles made a change to receive_damage in June which passed most of the arguments passed to receive_damage to the invocaton of weapon:special_damage() . weapon:special_damage(victim, damage, penetration, quality, hitloc) Returns a NUM that is the additional damage to the character as a result of unusual circumstances in the attack or weapon character. Today I made a change to the way receive_damage reacts to this damage. The special_damage is now included in the severity calculation in receive_damage, making it more likely that the victim will die/be stunned/etc. when the hit is made. darkrider -------------------------- Message 117 on *rpg-development (#20779): Date: Thu Aug 4 14:39:05 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: #259:look_self I changed the order in #259:look_self so that any creature that is not considered an animal (monster.animal == 0) will have contents, then health, then gear after their description, making them look more like a PC. Just a little justice for the NPCs. :-) dr -------------------------- Message 118 on *rpg-development (#20779): Date: Fri Aug 5 14:01:24 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: #46:check_notification Added security. Eek. Thanks 'sogs. :) dr -------------------------- Message 119 on *rpg-development (#20779): Date: Sat Aug 6 16:50:58 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: #18754 - RPX Generic Light... I re-designed the torch (#16005) and the light (#18754) so that they are now being run by a heart (#48923) descended from Quinn's #252. This has the advantage of grouping all the burning torches, etc, into one suspended task in between burning actions. dr -------------------------- Message 120 on *rpg-development (#20779): Date: Fri Aug 12 10:53:33 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: #74:set_att Hacked this so that one cannot use it to set the stats of the generic doll. -------------------------- Message 121 on *rpg-development (#20779): Date: Fri Aug 12 12:00:43 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: look-gear Added a :hide_from_look_gear verb to ~rpg.thing, which returns true if that equipment should not show up in :look_gear displays. Snazzed up :look_gear. Correct with plural genders now, more informative messages... AND support for NATURAL WEAPONS. (see next) -------------------------- Message 122 on *rpg-development (#20779): Date: Fri Aug 12 12:03:24 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: natural_weapons Added this property to ~doll, which is a list of natural weapons that player could wield. The first will most always be the one which is wielded, so you may want to stick a weapon at the head of the list to make it teh most-used. These weapons will not be used to parry as of now. That should be fixed. Note that by modifying tis property you can "cybernetically" enhance a character to have claws or other nonstandard mechanisms as their natural weapon. Probably some things that need done, so if you have any ideas, do comment on *GMS or to me directly. -------------------------- Message 123 on *rpg-development (#20779): Date: Fri Aug 12 12:56:01 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: more look_gear stuff I've added :look_gear_msg to ~rpg.thing. If it returns anything (there is no property, btw, you have to hack the verb), then that is the only mention of the object in the :look_gear output. Right now only wieldable weapons and armour will have this called. Natural weapons do not. There could perhaps be similiar hooks for :look_health, into death [ae]ffects and such. Also--:look_gear now validates objects to be kids of ~rpg.thing, which should help with the guest problem. -------------------------- Message 124 on *rpg-development (#20779): Date: Thu Aug 18 14:24:00 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: #74:wielding ... I changed it slightly to return {} if you have no hands, where it usually reeturns the natural_weapon fists ... I also changed #64:hit_aggressor to keep players from autowielding (they have fists) and to make monsters auto-wield despite the fact that they may have fists. This keeps them from attacking in that action, however, so if you want monsters who do fisticuffs you need a specially programmed :arm on them...if someone can suggest a NON tick-intensive alternative, I'm all eyes. darkrider -------------------------- Message 125 on *rpg-development (#20779): Date: Mon Aug 29 06:17:28 1994 PDT From: Quinn (#19845) To: *RPG-Stuph (#21259) and *rpg-development (#20779) Subject: LRPG QUOTA I'm on the way towards implementing LRPG Quota. If you really want an item, you must now 'claim obj', which will stick it in your doll's claimed_objects list. Right now, the quota is set at 10. I might raise it, might not. Depends on input from all sides. Also, Harvey at the DEP might some day be able to negotitate LRPG quota transfers. Use #15870:@claimed (same FO as your score verb) to see what you or someone else has lain claim to. The single char before the object is it type; (W)eapon or (A)rmour are the only types at the moment. I'll give everyone a week or so to claim what they'd like to keep, and then hack Harvey to disregard all "dumping areas" in favour of claimed objects. That is...If there isn't too much hoopla. But there probably will be. ;) -Quinn -------------------------- Message 126 on *rpg-development (#20779): Date: Mon Aug 29 06:27:19 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: claimed system verbs ~thing.:claimed_by ~thing:{un,}claim_item ~thing:{un,}claim ~thing:look_self (to show claimed status) ~doll.max_claims (LRPG ownership quota) ~doll.:claimed_objects ~doll:add_claimed_object ~doll:remove_claimed_object -------------------------- Message 127 on *rpg-development (#20779): Date: Sun Sep 18 03:35:51 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: corpses I think I've nipped the problem of corpses surviving their victims. There are now periodic checks to check if a corpse is "valid" (its victim is not alive and the victim's body is itself) and then :rot itself. The verb is :maybe_rot and is callable by anyone, prodded by :notify_arrival. -------------------------- Message 128 on *rpg-development (#20779): Date: Sun Sep 18 04:14:10 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: hrm Ack. A one-handed club was descended from the corpse of Grick. I don't know HOW the fuck that happened. GRR GRR GRR -------------------------- Message 129 on *rpg-development (#20779): Date: Tue Sep 20 11:01:36 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: check Added check for idleness in #74:legal_target. -------------------------- Message 130 on *rpg-development (#20779): Date: Thu Sep 22 17:01:54 1994 PDT From: darkrider (#7003) To: *rpg-development (#20779) Subject: Light Source Heart I just restarted the RPX Light Source Heart (#48923), which had apparently not been pumping for quite some time. This task SHOULD always be running on GM's queue, please G_M's, don't kill it...it schedules torches, etc, to burn out. darkrider -------------------------- Message 131 on *rpg-development (#20779): Date: Sun Sep 25 04:47:47 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: #46:[un]register_sheet_stat Added these methods for easier maintenance of the 'sheet' lists. -------------------------- Message 132 on *rpg-development (#20779): Date: Mon Sep 26 08:07:12 1994 PDT From: Quinn (#19845) To: *rpg-development (#20779) Subject: misc stuff You may now define a :look_health_msg on an effect object. See `help combat_effect` on the RPG Help DB (#17233) for full details. Also-- you _must_ define a :hide_from_look_gear verb returning true if you wish to keep your weapon/armour out of the normal look_gear english lists, EVEN if you have a :look_gear_msg defined. Shield crest info was moved to ~shield:look_gear_msg. Working force wall added, much different from before. See ~magic_db:forcewall/ unwall, ~staff:wall/unwall, ~doll:armour, and the force wall combat effect (#31690) for details. -------------------------- Message 133 on *rpg-development (#20779): Date: Thu Sep 29 16:40:46 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Additions and changes on the voodoo doll (#74) DIFFERENT STUFF #74:erase_misc_note - now clears the MISC_NOTES property when it becomes an empty list. Old verb saved to 'old_erase_misc_note'. ADDED STUFF #74:att_schedule - Used to put temporary modifiers on doll stats, also has a scheduler hooked up to it, so you can have a change last for a certain time. Currently only works with stats that are numbers, working with lists is planned. do 'help #74:att_schedule' for more info #74:get_unmod_att - Used to gain the unmodified value for a modified attribute. do 'help #74:get_unmod_att' for more info #74:do_att_schedule - Run to check the validity of a modified attribute verses its scheduled time limit. do 'help #74:do_att_schedule' for more info -- Isagi the little Anterran -------------------------- Message 134 on *rpg-development (#20779): Date: Fri Sep 30 13:52:15 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Additions and changes on the Master Clock (#1140) ADDED STUFF #1140:cycle2 - This scheduler (hopefully) runs every ten minutes > #1140.last_cycle2 Property used to keep track of when the cycler last ran completely. #1140:restore_ATTS - Changes temporarily modified stats on dolls back to normal if they need to be changed. > Run by #1140:cycle2 every two minutes -- Isagi the little Anterran -------------------------- Message 135 on *rpg-development (#20779): Date: Fri Sep 30 13:59:24 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Whoops! It's every TEN minutes, not two From reasons beyond my control (My Internet connection stopped receiving data, but was able to send) I accidentally left a major error in my last post. #1140:restore_ATTs is run every TEN minutes, not two. If I could have only proofread that post before crossing my fingers and sending it.. ^_^ -- Isagi the little Anterran -------------------------- Message 136 on *rpg-development (#20779): Date: Mon Oct 10 15:58:52 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Additions and changes on the Adventurers Database (#46) DIFFERENT STUFF #46:trusted_verb/trusted_property - fixed old code that prevented properties from being checked. Now returns E_VERBNF if the verb is not found (or isn't executable), or E_PROPNF if the property is not found. Also cleaned up code when Nosredna mentioned my initial hack was 'ugly'. ^_^ Old verb was not saved. -- Isagi the little Anterran -------------------------- Message 137 on *rpg-development (#20779): Date: Sat Oct 15 17:55:11 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: "Additions and changes on the generic voodoo doll (#74) DIFFERENT STUFF #74:hit_aggressor - fixed old code that didn't let monsters rewield weapons if they were unarmed. Still does not make players rewield weaponry if they are unarmed. Added optional check for a 'pick_aggressor' verb on the attacker to choose a victim to attack, in addition to the current random method on picking a target. Old verb was saved to #74:old_hit_aggressor [Now monsters can have grudges against certain opponents ^_- ] -- Isagi the little Anterran -------------------------- Message 138 on *rpg-development (#20779): Date: Fri Oct 21 14:50:55 1994 PDT From: darkrider (#7003) To: *RPG-News (#9551) and *rpg-development (#20779) Subject: Major GRRRRRRRR!!!! OK, some of the :invite code, and a line in :attack, were twisted (in an undocumented fashion) such that monsters were not attacking back for several hours today (thank Slither for actually reporting that to me :) ... I took out a bunch of :invite code that needs rethinking (the original is in #74:invite_isagi_broke) and changed the second-to-last line in #74:attack to doll: ... from this: ... Check your monsters and rewards, everyone, some of your beasties prolly went down without a fight, and please document your code (especially if you are Grand_Master and dr might have to come in and put out fires)! dr ps. Actually, Isagi might not have been the offending GM, I just named the verb that because :invite_that_Isagi,Miles,Ogwul,Quinn,darkrider,orTheGodsThat Be_broke was just too silly. :) -------------------------- Message 139 on *rpg-development (#20779): Date: Sun Oct 23 09:25:34 1994 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Additions and changes on the generic voodoo doll (#74) DIFFERENT STUFF #74:invite - commented out the return in line 40, which was stopping monsters from attacking back. This is only a temporary hack until I can figure out what is messing up the 'max' formula. The monster's action points (monster.doll.act) were dropping below zero - and once that happened, they could never get a positive number again. Could someome please post or Email the original of this code? I'd like to see what we had there in the first place. -- Isagi the little Anterran -------------------------- Message 140 on *rpg-development (#20779): Date: Thu Oct 27 16:55:58 1994 PDT From: Isagi (#21077) To: *rpg-development (#20779) Subject: Additions and changes to the GM Equipment Dispenser (#52766) DIFFERENT STUFF Well, nothing really changed, I just added an object to the dispenser via :add_dispensed. Profane's generic ghi (#69882) Added a long time ago - through a security loophole (before I was a G_M) was also my Katana of Quality (#60608) -- Isagi the little Anterran -------------------------- Message 141 on *rpg-development (#20779): Date: Sat Nov 19 11:11:40 1994 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Additions and changes on the generic voodoo doll (#74) DIFFERENT STUFF #74:invite - took out the commenting on the return in line 40. No idea what this will do, assuming no-one changed any other code. I've received at least three reports of attacks by the kobolds lagging and hitting people after they teleport out. Putting this in may fix it, if it doesn't them >I'm sorry< -- Isagi lost his granddad this week -------------------------- Message 142 on *rpg-development (#20779): Date: Sun Nov 20 08:43:24 1994 PST From: Isagi (#21077) To: *rpg-development (#20779) Subject: Additions and changes on the generic voodoo doll (#74) DIFFERENT STUFF #74:invite - changed line 7-8 which set this.act = this.act - slow - (this:encumbrance / 10). Notice how act is always decremented? > Changed to 'this.act = this.act + slow - (this:encumbrance());' NB: this seems to have had the effect of only letting a being attack once in any attack sequence. In English - people can gang up on monsters, since a monster will only attack back once. [Just like in a real battlefield] Suggestions on how to modify doll:hit_aggressor for multiple attacks are welcome. -- Isagi the little Anterran -------------------------- Message 143 on *rpg-development (#20779): Date: Sun Nov 27 08:44:45 1994 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Additions and changes on the Generic LRPG Thing DIFFERENT STUFF #517:recycle - code added to trap the bug that causes kobolds' items to be recycled. Verb permissions changed to 'rx' to speed up execution. -- Isagi the little Anterran -------------------------- Message 144 on *rpg-development (#20779): Date: Wed Nov 30 15:53:25 1994 PST From: darkrider (#7003) To: *rpg-development (#20779) Subject: #10161:cull_players I modified it to check the player's doll's .last_action property rather than the player.last_connect_time, and to reap all those who have been inactive in the RPG for .threshold time (three * 30 days atm) regardless of their connection status. I am going to perform a reap of approximately 895 characters who fall into this category tomorrow. I also added a verb, @reap, to #44604 (Grand_Master's Orb of Omnipotence) with the following syntax... @reap - Tally the number of people who would be culled if you did: @reap all - Actually call #10161:cull_players and swing the scythe! dr -------------------------- Message 145 on *rpg-development (#20779): Date: Wed Nov 30 16:31:41 1994 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: #10161.cycle I have changed the interval at which the vacuum cleaner erases old RPG objects from 3 hours to 24 hours. The cleaner at high-lag times was taking almost 5 hours a pass, and running concurrently for little extra gain in space and much extra gain in lag for the RPG users. I am working out with Nosredna exactly when it should run, but it willl prolly be about 5am LMST and finish MUCH more quickly given the significantly lower lag that generally exists at that time. This also required a mod to #10161:cycle. Now #10161.cycle (the property) is the number of seconds AFTER midnight that the vacuum task will go off. Happy lag-reducing ... dr/G_M -------------------------- Message 146 on *rpg-development (#20779): Date: Sat Dec 24 23:31:43 1994 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Additions and changes on the Generic Voodoo Doll (#74) DIFFERENT STUFF #74:receive_damage - additional argument added to special_damage hook. Special_damage now has the attacker as the sixth argument. This change should not break anything, unless some enterprising GM passes information down with more args. -- Isagi the little Anterran -------------------------- Message 147 on *rpg-development (#20779): Date: Sun Dec 25 21:35:46 1994 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Additions and changes on the Adventurers Database DIFFERENT STUFF #46:look_gear - code changed to take into account more exotic hand and weapon combinations If you're curious, just wield a two handed weapon and a one handed one to see what's up. Tick unintensive too. Credit for most of the changes go to Profane. -- Isagi the little Anterran -------------------------- Message 148 on *rpg-development (#20779): Date: Sun Jan 29 07:54:24 1995 PST From: Grand_Master (#2693) To: *RPG-News (#9551) and *rpg-development (#20779) Subject: modification of #82:used() I have replaced `this.location' with `args[1]' in line 5 of #82:used(). This means fists and natural-type weapons should work again. -Profane -------------------------- Message 149 on *rpg-development (#20779): Date: Mon Jan 30 17:39:08 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: changes Added some comments to a few verbs on #46 and #74. Renamed #46:old_trusted_property to trusted_property(old); renamed #74:old_hit_aggressor to hit_aggressor(old), just for consistency's sake. Rewrote #74:act() to save the ticks of doing an $object_utils:isa(). Added trustworthiness check to #74:arm for when it calls :arm() on another object. -Profane -------------------------- Message 150 on *rpg-development (#20779): Date: Tue Jan 31 15:32:05 1995 PST From: darkrider (#7003) To: *rpg-development (#20779) Commented out pass(@args) in Grand_Master confunc, since it was just wasting time (noone subscribes to mailing lists with Grand_Master, it would take all week just to read the posts, so why bother checking :) ... -------------------------- Message 151 on *rpg-development (#20779): Date: Thu Feb 2 18:49:39 1995 PST From: Profane (#30788) To: *rpg-development (#20779) Renamed #46:old_look_gear => :look_gear(old) Renamed #74:old_erase_misc_note => :erase_misc_note(old) Two I missed the other day. -------------------------- Message 152 on *rpg-development (#20779): Date: Sat Feb 4 09:33:58 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) and *RPG-News (#9551) Subject: New :magic_effects() verb I have added a new verb to #74 - :magic_effects(), as well as a new property - .magic_effects These are similar to #74:combat_effects in that they allow multiple objects to affect a character `magically'. #74:magic_effect() has been modified to check this verb. If any object in .magic_effects returns a non-numerical value, the spell will fail (:magic_effect returns a value of -200). #74.magic_effect is now relegated to holding numerical values only, as a sort of `magic resistance' score. A kludge has been hacked in #259:birth to set a monster's .magic_effects if it has an .imagic_effect property with an OBJ value. PLEASE change to using .imagic_effects on your monsters. Note that the value of .magic_effects is a LIST, thus monster.imagic_effects should equal {monster.old_imagic_effect} A kludge has also been hacked in #74:set_att to send mail to any GM who attempts to set a doll's .magic_effect to an OBJ value. I did not find any objects that did this in my (perhaps cursory) search (other than the aforementioned birthing case), but just in case.. I have taken the liberty of altering any doll with an .magic_effect with an OBJ value to clear the .magic_effect property and set the .magic_effects property = {} It is my eventual intention that #74.magic_effect and #74:magic_effect() go away entirely. But for now you have yer backwards compatibility, mostly.. To help in this `going away', change your objects that are setting a numerical .magic_effect to add the object's # to .magic_effects and then write a :magic_effect verb on the object to return the value you were setting. Has this missive been coherent? If not, contact me (Profane). -Profane -------------------------- Message 153 on *rpg-development (#20779): Date: Sat Feb 4 09:52:04 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Hacked #328:slow and #328:firebolt so that magi who cast these spells at themselves don't resist and/or dodge them. -Profane -------------------------- Message 154 on *rpg-development (#20779): Date: Mon Feb 6 12:21:10 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) In my further crusade to eliminate .magic_effect, I have, as sugessted by Dred: Added #259.imagic_effects Converted old OBJ values of .imagic_effect over into appropriate .imagic_effects list values. Added #259:magic_effect() Added #259.magic_resist This takes over the old functionality of imagic_effect. #259:magic_effect() simply returns the value of .magic_resist All old NUM values of .imagic_effect were converted over into appropriate .magic_resist values. The default value for .magic_resist is 0 and for .imagic_effects is {#259} Removed #259.imagic_effect (I also removed #259.icoalcar since no monster had a value in this property, but this is unrelated) N.B. The .magic_resist thang is for monsters only.. You'll still have to convert over to using :magic_effect on objects rather than setting .magic_effect to numeric values on player characters. (Now to go retract all that mail I sent out before Dred sugegsted this..) -Profane -------------------------- Message 155 on *rpg-development (#20779): Date: Mon Feb 6 18:48:46 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Modified #328:slow, #328:firebolt, and #328:zap to use new doll:magic_effects() instead of :magic_effect(). Thus, the `xx seems unaffected' messages now move inside the spell verbs. Also altered #328:zap to subtract any numeric area:weather_effect() from the quality of a zap. Diddled flow control in the verb for this. -Profane -------------------------- Message 156 on *rpg-development (#20779): Date: Tue Feb 7 08:05:47 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) 1. Restored old code for #74:magic_effect and renamed it :magic_effect(old) 2. Renamed #74:magic_effects to :magic_effect*s and added code to see as which verb it was being called and return values appropriately. (i.e. the total effect if ``magic_effects'', qual - effect if ``magic_effect'') -Profane -------------------------- Message 157 on *rpg-development (#20779): Date: Thu Feb 9 19:56:32 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Added `quality' of attack and `try' of parry to args of :announce_parry call in #74:respond Added `weapon' causing clang and `quality' of attack to args of :announce_clang call in #74:receive_damage Both in preparation for implenting weapon & armour degrading. -Profane -------------------------- Message 158 on *rpg-development (#20779): Date: Sat Feb 11 09:52:16 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Set the .condition of #50181 (Generic Natural Weapon) = E_NONE Also in preparation for weapon degrading. Hey, they're natural, why do they need a condition? -Profane -------------------------- Message 159 on *rpg-development (#20779): Date: Mon Feb 13 17:45:09 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Added #82:notify_parry() as a hook for weapons damage, or whatever other diabolical effects GMs want to come up with. Added call to this verb in #74:respond() -Profane -------------------------- Message 160 on *rpg-development (#20779): Date: Fri Feb 17 19:00:39 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Added to Harvey(#53978) [the guy in the DEP] Added :ask() as a front end and :tell_claim_info() to do the work, for telling a player information about any claimed objects e has. Added :say() and :emote() verbs to simulate natural ones. I'm thinking of eventually completing the implentation of the claimed object system.. And there seems to be nowhere you can get info about your claims at the moment, anyway. -Profane -------------------------- Message 161 on *rpg-development (#20779): Date: Fri Feb 17 22:19:02 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Weapon Degrading I have just finished implenting weapon and armour degrading. After fiddling with my protoypes for a while, I believe I got some decent forumlas. And there have been no objections. So: #46.blunt_weapons, #46.wooden_weapons, and #46.leather_armour added. #82:is_blunt(), #82:is_wooden(), and #418:is_leather() added. These check the appropriate properties on #46 and return true or false. Bluntness, woodeness, and leatherness affect the chance of a weapon (or armour) degrading and the amount it degrades. #82:dam(), #82:pen(), #82:attack(), and #418:protection have been modified to return values based on the condition of the weapon or armour. #50181:pen() and #50181:attack() have been added, consisting of a simple `return' statement to avoid all the degrading stuff for natural weapons. #82:check_degrade() and #418:check_degrade() added. The :check_degrade verb checks the weapon's (or armour's) condition, calculates its chance of breaking, breaks it if a random roll is less than this chance, then calculates its chance of degrading, and degrades it if a random roll is less than that chance. #82:break() and #418:break() added. These verbs do the actual breakage of the weapon or armour. #82:notify_clang(), #82:announce_parry(), #82:notify_parry(), and #418:announce_clang modified to include a call to :check_degrade(). #50181:notify_parry() and #50181:notify_clang() added, consisting of a simple `return' to bypass degrading on natural weapons. For more information, see the verbs themselves. They should all have usage notes. -Profane -------------------------- Message 162 on *rpg-development (#20779): Date: Wed Feb 22 09:32:21 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Added: #517:set_cond*ition Verb #517:set_cond*ition() added. Takes a NUM argument and sets the object's .condition to that number. Useful only for (non-generic) G_M owned weapons. Put in as an easy way for GMs to do their own degrading/repair/etc, since :set_value() doesn't work in this case. -Profi -------------------------- Message 163 on *rpg-development (#20779): Date: Wed Feb 22 09:48:57 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Changes to #91:acceptable() I fiddled it so any dude(tte) trusted by the RPG can get in the academy, even if they aren't `initiated' (have a doll). Kind of frustrating to walk G_M to the academy and be told he can't get in :) -------------------------- Message 164 on *rpg-development (#20779): Date: Sun Feb 26 10:09:56 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: New Item: whetstone (#1804) Created whetstone (#1804). This child of #517 is used to `sharpen' a weapon, thus adding a few points to its .condition Check out #1804:sharpen() It works off a PC's `gadget' skill. I'm not really in the mood to add a whole new skill for this. It's in the equipment dispenser, so `grab' away. I put a few around in public RPG areas for players to find so I could observe the effects. As far as similar repair items for armour, I think repairing armour is more of a major task and should be relegated soley to repair beasties and what not. But feel free to make your own individual repair items. -Profane -------------------------- Message 165 on *rpg-development (#20779): Date: Sun Feb 26 20:11:31 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: @rmprop #74.magic_effect Removed #74.magic_effect After a 2-week period of monitoring, I found only 2 verbs that modified this stat, and they were on objects that are now recycled. If you had code that referenced this property and did not change it to conform with the new .magic_effectS, be prepared to get errors. -Profane -------------------------- Message 166 on *rpg-development (#20779): Date: Wed Mar 1 20:52:55 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Changes to Generic Magnetic LRPG Object (#36455) Created Magnetic Object Heart (#94427), a child of Quinn's Generic Heart (#252). Copied the appropriate verbs from #252 to #94427 to make it work. added #36455.heart Added/copied #36455:cpr(), #36455:pulse(), #36455:initialize(), and #36455:set_heart() Renamed #36455:cycle() => :cycle(old)() Killed old #36455:cycle() task and started heart. This should be completely transparent to y'all. The heart is set to spawn new ones, should it somehow reach 90 kids of #36455 (we're at 11 now). Magnetic objects are automagically added to the heart's queue upon creation. It fires once a minute. To put kids of #36455 on your own heart, use :set_heart() The homesick checking is done in #36455:pulse() -Profane -------------------------- Message 167 on *rpg-development (#20779): Date: Fri Mar 3 10:30:07 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: @prop #46.light_source Added .light_source property to Adventurer's db (#46), with value of #18754 Beacause, well, because I wanted to :) -Profane -------------------------- Message 168 on *rpg-development (#20779): Date: Sat Mar 4 09:52:56 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Changes to rpx generic light source (#18754) Added #18754:moveto() which calls a trusted :illumination_check verb on the light source's location (or it's location's location). Renamed #18754:"g*et t*ake" to get(old) Modified message spewing in :light and :extinguish to use $you:say_action so that other people will actually see the messages. Changed some $object_utils:has_verb calls to $local.rpg:trusted_verb calls in various verbs. -Profane -------------------------- Message 169 on *rpg-development (#20779): Date: Sun Mar 5 10:23:30 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Change to Generic Staff (#331) :spell() Modified #331:spell so that a room that returns a non-numeric :magic_effect() terminates the spell. -Profane -------------------------- Message 170 on *rpg-development (#20779): Date: Thu Mar 16 09:36:24 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Changes to #259 & #4489 Added validity check for newly created equipment to #259:check_mine() Added :make_fertile() calls to #4489:_create() This means you can now put non-G_M owned equipment (e.g. TWIST's full plate) in your monster's .mine lists and not get errors and nastiness. -Profane -------------------------- Message 171 on *rpg-development (#20779): Date: Fri Mar 17 10:38:59 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: NEW resurrection queue Added: #1140:cycle3, #1140:resurrect, #1140:add_death, #1140:remove_death, #1140.resurrection_queue, #1140.resurrection_queue_pos, #1140.resurrection_int erval, #1140;.resurrection_task Renamed: #259:die(old) => die(old)(old), #259:die => die(old), #259:cancel_rebirth => cancel_rebirth(old) Added: #259:die, #259:cancel_rebirth Monsters no longer fork a task to resurrect themselves when they die. They are instead added to a queue on the Master Clock (#1140). Cycle3() checks each object in the queue, one every .resurrection_interval (2 minutes), and if enough time has elapsed, births the monster The cycle is designed to die if there are no monsters waiting to be reborn. It will start up again as soon as a monster is added to the queue. Yes, I did test this. If monsters stop being reborn, yell at a G_M. They can easily reinstate the old code from the *(old) verbs. -Profane -------------------------- Message 172 on *rpg-development (#20779): Date: Sat Mar 18 08:18:39 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: #5011:@births Added @births to the Dr. Moreau FO (it seemed appropriate) that shows the status of the monster resurrection queue. -Profane -------------------------- Message 173 on *rpg-development (#20779): Date: Wed Mar 22 09:43:59 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: @rmprop #259.rebirth_task Since my handy new resurrection queue seems to be working, I have in the interest of reducing bloat by ~700 !clear properties, removed #259.rebirth_task Should some G_M decide to go back to the old rebirth system, e should remember to readd the property and uncomment the line that sets it in #259:initialize, as well as restoring the :die(old) and :cancel_rebirth(old) code -Profane -------------------------- Message 174 on *rpg-development (#20779): Date: Sun Mar 26 10:18:36 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Changes to #10161 renamed :in_use => :in_use(old) Put in new :in_use which checks for claim status on objects. -Profane -------------------------- Message 175 on *rpg-development (#20779): Date: Tue Mar 28 14:20:33 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Change to #1140:heal Modified #1140:heal to reset any non-numeric doll .inj .ins or .fat values it finds back to zero. -Profane -------------------------- Message 176 on *rpg-development (#20779): Date: Sat Apr 1 07:58:54 1995 PST From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Changes to #46:die Changed #46:die changed `this' => `me' in line 18, as per Dred in 762 on *rpg-news Added loop to reset claim status on any objects the dead doll might have claimed. -Profane -------------------------- Message 177 on *rpg-development (#20779): Date: Mon Apr 3 11:24:32 1995 PDT From: Profane (#30788) To: *rpg-development (#20779) Subject: Added to Equipment Dispenser Added to #52766: Healing Potion (#16268), Potion of Rest (#11901), Amulet of Healing (#60126), and Amulet of Rest (#26790), all by Prui. -Profane -------------------------- Message 178 on *rpg-development (#20779): Date: Thu Apr 6 12:16:43 1995 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Change to #74:receive_damage Changed in #74:receive_damage : Added `|| 0' on the end of line 36, which now reads: special_damage = weapon:special_damage(me, dam, pen, qual, loc, whoby) || 0; This was where we were getting E_TYPEs in doll.inj properties -- damaging things that weren't children of #82 didn't have :special_damage defined. Due to the !d nature of the verb, we end up with an E_VERBNF for the above line, which then converts .inj to E_TYPE. Etc. Thanks to Dred for finding this. Gotta love serendipity. -Profane -------------------------- Message 179 on *rpg-development (#20779): Date: Tue Apr 11 20:49:10 1995 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: #517:claimed_by Rewrote #517:claimed_by to add a claimed object to the claimant's doll's list of claimed objects if for some odd reason it's not there.. Hadda @chmod #517:claimed_by !d for this purpose. Now if someone can tell me why claims get on the object but not on the doll in the first place, I'll be all set. -Profane -------------------------- Message 180 on *rpg-development (#20779): Date: Thu Apr 13 10:20:39 1995 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Hacked GM equipment dispenser (#52766) :match_dispensed Changed #52766:match_dispensed to: If we get a bad match on a string from checking the aliases of all dispensed equipment, we now check solely on the names of the equipment. This should fix the problem of #57266:match_dispensed("katana") => $ambiguous_match (You see, there's `katana' and `katana of quality' in there) -Profane -------------------------- Message 181 on *rpg-development (#20779): Date: Thu Apr 13 11:27:39 1995 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Changed #46:check_notification Added a check for :trusted_verb in #46:check_notification, thus closing a big security hole. This adds 46 ticks per object to notify, but then the `important' calls to :check_notification (ones from combat) are forked off, and the verb suspends anyway. -Profane -------------------------- Message 182 on *rpg-development (#20779): Date: Fri Apr 14 17:54:09 1995 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) Subject: Changed #10161:reap Edited #10161:reap to dump any contents of an object to the object's location just before calling the recycling bit. I can't put this in a :recycle() verb on #517 or wherever, since the recycler first moves the object to #-1, and THEN recycles it. This comes about because people were having unclaimed packs full of claimed stuff reaped. Thus, all their claimed stuff was dumped in #-1, where they can't get it back. There, it's auto-unclaimed next reap, and then recycled the reap after that. Neat. -Profane -------------------------- Message 183 on *rpg-development (#20779): Date: Mon May 8 04:29:40 1995 PDT From: Grand_Master (#2693) To: *rpg-development (#20779) and *RPG-News (#9551) Subject: recycler and reaper changes I changed the `vacuum cleaner' some to attempt to take out some old cruft and clean up a bit (no pun intended :) ... check out in_use_test and reap_test ... they should replace reap and in_use. in_use no longer saves things that are registered as protected or in dumps with Harvey at the DEP, so you HAVE to claim stuff or set .unique on a thing you create via the grabber to make sure it is not reaped nightly. I changed #4489 (the recycler) to allow GMs to _recycle things that the vacuum cleaner (#10161) considers killable anyway. The changes are in #4489:_recycle and #4489:trust_to_recycle. Finally, I set the #74.max_claims to 31 at the suggestion of abstract, who said that players are finding 21 too few items what with all the little bits they want to have around. Fine with me. Btw, check out #10161:in_use_test in particular to see if there are any other conditions under which you'd like to have a piece of equips `in_use' and thus not reapable. dr -------------------------- Message 184 on *rpg-development (#20779): Date: Sat May 27 12:33:01 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) and TWIST (#37972) Subject: Generic Thrown Weapon readable The Generic Thrown Weapon (#10898) is now readable. -- Slither -------------------------- Message 185 on *rpg-development (#20779): Date: Thu Jun 1 12:27:41 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: New process for monster's equipment The following changes have been made to the generic monster: There are two new properties, .generic_equipment .special_equipment Both of them are lists of objects. The generic equipment list is a list of objects which the monster should make children of when it is born. The special equipment list is a list of equipment which the monster should try to make sure it has when it is born. Ie, the latter should have unique objects, or objects which are kept at death, like teeth. These properties are set via the verbs :set_generic_equipment and :set_special_equipment. The verbs :check_mine and :set_mine have been changed. :set_mine now ONLY sets the .mine list. :check_mine gets the equipment the monster should have at birth, and calls :set_mine to set the mine list. The new :check_mine works by calling two new verbs: :make_generic_equipment :make_special_equipment These verbs go through the appropriate list, and make the equipment/ grab the equipment as appropriate. -- Slither -------------------------- Message 186 on *rpg-development (#20779): Date: Thu Jun 1 13:35:46 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: Fix to #328:storm As Quisinart suggested, #328:storm was changed via s/area:announce(/area:announce_all_but({by},/14,19,23 This should send the spell messages to the correct things. -- Slither -------------------------- Message 187 on *rpg-development (#20779): Date: Wed Jun 7 16:32:58 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: Small changes Small changes were made to rpg.thing:initialize claimed_by rpg.recycler:_recycle -- Slither -------------------------- Message 188 on *rpg-development (#20779): Date: Sun Jun 11 13:35:15 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: More small changes Fixed rpg.recycler:_create, so that it shouldn't tick out, and so that any objects with no .object_size prop will be taken care of automatically. Also, did as Stardancer suggested and did ;#46.sheet_atts = listappend(#46.sheet_atts, #22707, 48) ;#46.sheet_atts = listappend(#46.sheet_atts, #36555, 48) ;#46.sheet_level = listappend(#46.sheet_level, 2, 48) ;#46.sheet_level = listappend(#46.sheet_level, 1, 48) which adds recall and teleport to stat sheets. -- Slither -------------------------- Message 189 on *rpg-development (#20779): Date: Sun Jun 18 10:58:05 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: Changes to sweeping, and some minor things As a major change, $local.rpg.vacuum:in_use now considers that any object held by a RPG player, directly or indirectly, is in use. For more minor things, rpg.vacuum:in_use_test was renamed to :in_use, and rpg.vacuum:killable was updated. Also, rpg.doll.max_claims was set to 21. #2693:queued_tasks now allows GMs to get the task queue, and #2693:gdl truncates very long logs. -- Slither -------------------------- Message 190 on *rpg-development (#20779): Date: Thu Jun 22 19:56:06 1995 PDT From: Slither (#86740) To: *RPG-News (#9551) and *rpg-development (#20779) Subject: Changes to Secure Exits, Generic Dispensors, and the Initiation Room New property: $local.rpg.exit This has the value of the "Secure Exit". The Secure Exit's :move verb has been changed to be really secure -- now it does not allow anything to use it which isn't in its source. #1387.unique has been set to 1 -- this makes all dispensers unique. The initiation room has been made Bits-proof. Before, it assumed that anyone who wasn't female was male. Now, it handles other genders reasonably politely. -- Slither -------------------------- Message 191 on *rpg-development (#20779): Date: Sun Jun 25 14:26:40 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: Skill Based Router, and parenting changes Changed the Skill Based Router, #566 to be !f, and added a :make_fertile verb. (This was a HUGE, GIGANTIC, security hole!) Chparented 58 Grandmaster-owned exits from Defaulting to Secure Exits. -- Slither -------------------------- Message 192 on *rpg-development (#20779): Date: Wed Jun 28 21:58:45 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: rpg.monster:die() modification for claims $local.rpg.monster:die() has been modified to erase the claims that the monster may have had. This, of course, is a rare situation, but apparently some GMs had monsters which claimed things. Really, monsters and players should share more code in their death routines, but this is a rather low priority item. -- Slither -------------------------- Message 193 on *rpg-development (#20779): Date: Thu Jun 29 12:18:13 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: rpg:add_doll(), :rm_doll() and :rm_pc() There are three new functions on $local.rpg: add_doll(OBJ pc, OBJ doll) => BOOLEAN success rm_doll(OBJ doll) => OBJ pc rm_pc(OBJ pc) => OBJ doll These functions allow GMs to (safely) modify the .pcs and .dolls properties on $local.rpg. It would be nice if all changes to these properties were made through these functions. add_doll adds a new (pc,doll) pair to the properties, whereas rm_doll and rm_pc remove such a pair. All of these functions may suspend. -- Slither -------------------------- Message 194 on *rpg-development (#20779): Date: Fri Jun 30 12:49:00 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: rpg.vacuum:unique changed Before, any RPG items who had a name different from their parent were considered unique. rpg.vacuum:unique has been changed so that this is no longer the case. Now, an object is considered to be unique if -- it isn't owned by Grandmaster -- it has children -- it had properties or verbs defined on it -- it is dispensed by rpg.grabber, or -- it has its .unique property set true -- Slither -------------------------- Message 195 on *rpg-development (#20779): Date: Sat Jul 1 17:34:58 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: Generic dispenser (#1387) modification The value of the "recycler" property on the Generic dispenser (#1387) is now set to $local.rpg.recycler. This means that, by default, dispensers will use the RPG recycler, instead of $recycler. Basically, the idea is that all automatically generated Grand_master owned items should be created by rpg.recycler, instead of some being created one way, and others done differently. -- Slither -------------------------- Message 196 on *rpg-development (#20779): Date: Mon Jul 3 11:59:08 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) and Ryoga (#98048) Subject: Change to rpg.thing:recycle $local.rpg.thing:recycle has been changed back to the previous version before the changes that were made on Nov. 27, 1994. The Nov. 27 version checked that none of the equipment on the kobold's .mine list had been recycled. Now, since its perfectly reasonable for the kobold's old equipment to be recycled, this was causing problems. Thanks, Ryoga for pointing this out! -- Slither -------------------------- Message 197 on *rpg-development (#20779): Date: Mon Jul 3 12:03:27 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) and Quisinart (#63546) Subject: Length of Generic military pick As per a suggestion by Quisinart, the length of the generic military pick has been set to 25. Let me know if there's any problems with this. -- Slither -------------------------- Message 198 on *rpg-development (#20779): Date: Thu Jul 6 09:14:24 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: Major changes to RPG sweeping The following changes have been made to the sweeping process: -- During the daily sweep, the list of dolls on $local.rpg is gone through, and any extraneous dolls are destroyed. -- The verb that does the reaping is $local.rpg.vacuum:reap -- A doll will be reaped if $local.rpg.vacuum:doll_reapable returns true. At present, this happens if the doll's character is neither a player or a monster (which usually means a player committed MOOicide, or was reaped) -- The reaping process works by calling $local.rpg.vacuum:reap_doll. This verb removes any claims that the doll has, and removes the doll from the database. The doll isn't immediately recycled, but placed in the list $local.rpg.vacuum.doomed_dolls. -- In the next sweep, the dolls on $local.rpg.vacuum.doomed_dolls will be recycled, unless they have been put back in the database. This is done because recycling a doll is irreversible, and this gives us one day to rescue one. -- Less importantly, all references to rpg.vacuum.protected were removed from rpg.vacuum:reap -- The FO command @sweep-report has been updated to show the results from doll-reaping -- After each sweep, the list of RPG things is stored on $local.rpg.vacuum.rpg_things. If you need to go through the rpg things, using this list will be much faster (but less accurate) than doing $object_utils:leaves_suspended Let me know of any problems. -- Slither -------------------------- Message 200 on *rpg-development (#20779): Date: Sat Aug 12 19:19:28 1995 PDT From: Slither (#86740) To: *rpg-development (#20779) Subject: Verbs on $local.rpg for protecting players from reaping We destroy the dolls of people who haven't rpg-ed in a long time. There are now verbs on $local.rpg so that people can be registered to be immune from this reaping. This means that if someone is going to be away for 5 months, we can keep their doll from being destroyed until they get back. The verbs are as follows: :reap_protect_pc -- makes a player temporarily immune from reaping :unreap_protect_pc -- removes protection for a player :is_reap_protected -- returns whether or not a player is protected :cleanse_reap_protected_pcs -- cleans the database of garbage objects, etc :reap_protected_pcs -- returns the complete database The data on reap-protection is kept in $local.rpg.reap_protected_pcs, which is unreadable. The arguments to :reap_protect_pc are: pc -- the player to be protected time -- the time at which protection should stop gm -- who we should ask about why the player's protected (probably you) reason -- a string explaining the protection I don't expect the last two arguments to be used very often, but we might as well plan ahead, just in case. Neither of these are checked for any kind of sanity. -- Slither --------------------------