[ LiB ] |
Throughout the game, there are items that the player can pick up and use. Previously, I've mentioned weapons and armor , and these are the majority of items found throughout the MUD. However, there are other items as wellitems that heal players and give them attribute bonuses.
There are three main item types:
Weapons
Armor
Healing Items
Every item will have a number of variables , some of which have meanings for some types of items, some of which don't. They are all listed in Table 7.3.
Attribute | Weapon | Armor | Healing |
---|---|---|---|
Min | Min damage applied | No meaning | Min healing applied |
Max | Max damage applied | No meaning | Max healing applied |
Speed | Seconds between swings | No meaning | No meaning |
Price | Cost of item | Cost of item | Cost of item |
9 attributes | Temporary bonuses | Temporary bonuses | Permanent bonuses |
I'll go more into detail about these in the next few sections.
Weapons are used to harm enemies in the game. As such, they require two damage attributes: a minimum amount of damage, and a maximum amount of damage (thus using the min and max values). This is a pretty typical system, but I'm sure you've got one of your own designs already.
For example, if you have a weapon, such as a knife, and its values are 1 and 5, using a random number generator, the knife could inflict 1, 2, 3, 4, or 5 damage points on your attacker.
Weapons can also be slower or faster than one another. Obviously, with small weapons such as knives, you can attack faster, as opposed to large weapons, such as clubs. Therefore, all weapons have a value that determines the number of seconds between swings.
All values within the set of nine standard attributes are temporary , meaning that you gain those bonuses when you have the weapon armed, but you lose them when you disarm the weapon. It's usually typical to give weapons varying values of the accuracy attribute because some weapons are more accurate than others. Items can also have negative values for any of the attributes, making the game a little bit more interesting. Imagine a tradeoff in which you can make a really huge sword do lots of damage, but you can make it lower the player's accuracy because it's so huge and difficult to manage.
NOTE
The SimpleMUD uses a simple linear random number generator to calculate the damage done by a weapon. This means that if you have a weapon that does 1, 2, or 3 damage points, all three values have an equal chance of being generated. You may want to experiment with other random number-generating methods , however. For ex ample, a simulated normal generator would generate num bers so that the middle values occur most often, and the lowest and highest values are generated least often. This gives you a more realistic approach, because really high and really low strikes aren't very common. I've included a special normal random number generator in the BasicLib (BasicLibRandom.h) that you can call like this: int n = BasicLib::RandomIntNormal( 1, 3 ); . How it works isn't important, however, and would require a whole book on mathematical theory to show you.
In any MUD, you're going to need some way to clothe and protect your characters . For SimpleMUD, I provide just one type of item, called Armor . The main purpose of this kind of item is simply to be put on the player, so he can wear it for the bonuses it gives him.
Armor is a lot simpler than weapons because the only attributes that are valid for armor are the cost and the set of nine standard attributes. Basically, a piece of armor adds its attributes to a player's character when you arm it, and removes those attribute bonuses when you remove it.
NOTE
Armor in the game naturally focuses mainly on the damage absorption and dodging attributes. Armor naturally absorbs shocks, which is where the DA comes from, but you can also make armor lightweight and give it higher dodging values. For example, a piece of chainmail armor would obviously have a higher dodging attribute than a full suit of platemail. Don't feel obligated to stick to these two attributes, though. It's perfectly reasonable to create magical items that increase other attributes, such as your strength or strike damage.
Healing items serve a dual purpose in the SimpleMUD. Their main use is as simple hitpoint healers; they calculate a random number between min and max, and add that number to the player.
On the other hand, healing items cannot be equipped, although they still have a set of the nine player attributes, and it would be a shame to waste all that storage space. When healing items are used, they permanently add their attribute values to your player's character. If a healing item has a value of 1 for accuracy, your player's accuracy is permanently increased by 1 whenever the item is used.
NOTE
This can work both ways, by the way. You can give healing items negative values, for substances that work like a poison to destroy your health if you use them.
To prevent rampant abuse of them, though, the game is set up so that they disappear from your inventory the moment they are used.
[ LiB ] |