At 02:41 PM 6/21/96 -0700, you wrote: >Explain, first, what an experience based MUD is? I did, btw, remove >levels. And must say I found quite a few things I deem stupid while >going through all the source code. The one that really sticks out in my >mind is the 'kick' skill. It has NOTHING to with strength. It's just >your level halved, I believe. That means a weak person the same level as >a strong person kicks just as hard. <blink> > Okay, here's the low down on what I hope to transform my mud into. Instead of gaining levels, characters will get experience, and based on the amount of experience gained, they will become better at doing things, gain more hit points, ect. And, hopefully, you want get the same type of experience for everything. If you just run around killing things with a weapon and your a mage, then you won't get experience for mage related attributes like mana, and some other fields that I've added. You will, however, get experience as a warrior and you'll become more proficient in whatever weapon you are using to kill everything. This way if a mage wnated to be able to cast a lot of kills, but didn't really care about hit points, he could focus on working on attributes that would be helped by gaining experience in Magic instead of conditioning his body. Example: Jim starts off as a new character. He chooses to be a warrior for his primary profession, finds himself a sword and goes to work. After about five days of playing he's killed several thousand mobs using only his sword, no skills whatsoever. Now Jo here starts the same day as Jim and decides to be a mage. He goes and buys a dagger but instead of actually using, he Magic Missiles everything that moves. After 5 days of magic missiling everything that moves, Jo has become pretty damn good at casting magic missiles and has gotten himself a pretty powerful spell strength modifier. He now decides that he wants to learn some healing spells so he finds himself a teacher and learns MASSIVE_HEAL. So he goes adventuring and accidentlly runs into Jim and pisses Jim off. Now remember, Jim the warrior has been working out for five days(several years in mud time) and has become pretty well built. He swings at Jo and hurts Jo pretty bad(Remember, Jo's a little girly man with hardly and muscle, but a gut that could rival Homer Simpson's =>)In retalliation, Jo blast Jim with a magic Missile, and to Jim's surprise, it Actually hurt, it hurt bad, and the bad thing about it is that Jo can cast a whole lot more(and when I get around to it, can add extra mana to it to achieve more punch for his dollar). So Jim here, has two choices, he can either keep at it and hope that Jo only has a few more HP's or he can haul ass outta there. Jo also has the same choice. He knows that he's hurting pretty bad and that if he should blotch a spell, he could be going to meet his creator. He also knows that if he decides to pump all of his mana into his next spell(once it's implemented) he could risk frying himself(channeling more spell energy then his body can handle). So each person is in the same position, and both have handicaps, thus making it fair, I hope. Now these examples were extremes from both ends, but they show the basics of what I'm trying to achieve, hopefully. An even balance of power with a nice middle ground. The superpowerful wizard and the superpowerful warrior could continue to fight each other, but either one could die as a result. I must admit that the situation would be somewhat different if the superpowerful warrior met the smart warrior, or vice-versa, but still, each has it handicaps and advantages. So what I'm trying to do is to create a system that rewards for what you do. This way, the character has more control over what his character is or becomes, making the mud more personal. It also stops higer level players from picking on lower level players because, well, there's no way of telling if your victim is of a lower or higher level. It, in a way, can also make it harder to become an immortal. Because of a little function that I plan to add, the max amount of main exp you can get is 500 and to become an immortal you need 10000 =>. Now the only way to become a immortal is to get a god or higher to do it for you or find something that bypasses that function and sets your exp to 10000 or higher, i.e. some special object from a quest. Well I hope this explains what I'm trying to achieve. >> >> Also, I'm trying to add several more fields on to objects like weapon >> type(i.e. Sword, Pole arm, etc.) and I'm not sure how to do this. I know >> that I need to make modifications to the obj structure in structs.h and add >> something in db.c and objsave.c but I'm not exactly sure what that is. Any >> help would be greatly appreciated. > >You can use object value 0 (unused) for the weapon types. I also extended >values so I have 10 instead of 4. It was easy to convert the world files, >if you have OasisOLC just go through each ?edit.c file, move the majority >of the code from the ?edit_save_to_disk functions to a seperate function >which takes a zone number as an argument. In that functio nreplace all >the OLC_ZNUM calls with the name of the passed variable, and in the >?edit_save_to_disk function call the above function. For instance: > >Then just go into olc.c, play with the do_olc function, moving the >two_arguments() call before the subcmd check, then inside the subcmd >check check for an argument, if it's there, call all of the Write_* >functions. :) > >Easy... (I'm sure the above confused the hell out of everyone) > > -dak Well, uh, say what? Okay, to start off I'm not using olc, I prefer to do it all the old fashioned way so what you said and posted seemed to go way over my head. Also, you lost me when you started talking about zones and worlds and everything. Do I have to modify those to to add maybe 3 or 4 extra fields to the obj data base. If so, then boil me a pot of coffee because I have a feeling I'll need it. Well if you could suggest a way that doesn't involve OLC then see what I can do. Thanks for the suggestions. I sure they'll come in handy when I do decide to install olc. Maybe Circle r. 3.01 =>.
This archive was generated by hypermail 2b30 : 12/18/00 PST