I've been debating changing our turn-based combat model into something greater, but I see going completely towards manual combat as problematic. Unless I'm willing to write a custom client, not every player is on equal footing, as some can use alias'd/trigger'd/macro'd clients, while others are forced to telnet. What I thought about was a less intrusive automatic combat system. You'd begin the fight with some form of initiation, a push, a shove, a punch, a kick, an uppercut. Depending on your position and theirs within the local-area, (i.e. If you're standing back to back, an uppercut would be uneffective where kicking backwards(Mule kick?) may be quite effective in knocking out their knees.) Then the combat goes into semi-automatic combat. You previously specify which attacks you'll do in a fight, this can be up to three individual moves where the mud will choose. Based upon your first attack, your second attack should(Although it's set at your choice) follow up with a complimentary combination. (To get technical and complicated, if you could pull off a 10-hit combo, you'd be doing good ;) Now, your amount of attacks is based off of some static calculations of your attributes(force/agility), your weapon(size, weight, twohanded?), your skill(Proficient vs. newbie), etc. How often you attack is based off of another set of static calculations(Mainly time to get back into an attacking stance, as you just swung a 50lb axe, etc, but also depending on weapon stats and your force, etc). So a player may hit once every 3/10ths of a second, while another may hit three times every 2 seconds. This makes things interesting when one weapon can do 20 damage and gives you two extra attacks and weighs very little, while another can do 50 damage with one extra attack and weighs moderately. So you choose for your fight. As well, even if I only receive 1 attack every 3/10ths of a second as opposed to your 3 attacks every 2 seconds, that means at the initial 'start' of the fight, if you attack me, I get hit 3 times and you have to wait another 2 seconds before you can hit me again 3 times. All of a sudden, in the 2 seconds between now and then, I can get almost 7 attacks, as I attack every 3/10th of a second. (With better more complimentary numbers, this example would've went smoother ;) Now, while fighting, you may alter your fighting technique, stance, or add an extra attack. Altering your stance in the middle of the other guy doing a 6second 9hit combo may throw it off, giving you an advantage(Example he then misses his next attack round, or some-such). If my fighting technique's skill is less than a chance against your force and your weapon's weight, my parrying your weapon wouldn't work and I'd still receive partial damage. As for the extra attack, this is your fight-driven attack. An example would be punching, kicking, hair pulling, tripping, leg sweep, kicking a kneecap, grabbing their tail and attempting to throw them(If they have a tail :P), etc. Each attack would do damage, as well as hurting the percent-health of that persons attacked-region. An example, if you continually slammed on a persons wrist with a hammer, it'd break fairly quickly and then the other person would be unable to wield a weapon nor parry attacks with that arm(Unless the arm itself was used and that'd be gone quickly). Depending on how indepth you brought this, and how much "lag" or waiting time was associated with each attack or stance change or fighting technique, you could make this more automated, or more manual. If you the fastest (automatic)attacks every second, with a maximum of 2 attacks(as an example) but made the fastest (manual)attacks every half-second, your system would be more input driven. Or if you made manual-attacks do more damage or cause more health-related negativity(Broken bones affecting automated combat etc), they could still take longer to do, but have a much more noticeable effect which would give better results than slamming the guy with a wooden stick. I'll leave the time-specific things up to the person that implements the system though, because to be fair, you have to take into account the playerbase that will be using the combat model(If they're all going to use your custom client or not, if they all have the same typing speed(Unrealistic, but used as an example), etc), the size of combatants(Mice being hit with hammers may do more than Dragons being hit with hammers), and a multitude of other mud-specific designs. Xenophon
|
|