[ADMIN][INFO][LONG] Perform_Violence overhauled

From: Phillip Tran (witpens@optushome.com.au)
Date: 10/16/01

Just wanted to get some comments on my project to overhaul the
perform_violence routine. Any suggestion to improve my proposal would be
greatly appreciated.

I have always thought the perform_violence was very basic. It appears
that every damaging skills (ie. kill, backstab, spells etc) will cause
the char to be added to the combat_list, which then gets processed every
PULSE_VIOLENCE. This means, every round, your attacks will be processed
in the same order, and for those with multiple attacks, those attacks
will all come at once. Your stats, weapon type, attack type etc do not
come into play - just the order in which you were added into
combat_list. Worse still, whenever a char enters a new offensive command
(ie. kick, spells, etc), these are counted as an extra attack and is
processed separately, and so, it appears that the solution to balance
this "extra" attack is to add in WAIT_STATE.

My current solution? From the combat_list, I have sorted it into a new
list of chars that are in the same room. In each room, all chars
(including mobs) involved in fighting are then rolled for initiatives,
with dex bonuses, weapon speeds or spell time for incantation etc
calculated into the equation. Extra attacks are checked for as well and
added in by adding weapon speeds. Finally, all the different attacks are
then sorted for the order in which they should proceed. To illustrate:-
room1-    Fighter1(3 attacks) with longsword, mage(1 attack) with
dagger, thief(2 attacks) with shortsword fights a dragon with 4 attacks
(2* talons, 1*bite, 1*tail whip)
Fighter1 rolls initiative of 4, adds dex bonus of -1 (fast bugger), and
adds weapon speed of 8 for longsword. So first attack = 11, second
attack = 19 (add weapon speed), third attack = 27
mage rolls iniative of 5, no dex bonus, weapon speed of 4 for dagger. So
first attack = 9
thief rolls iniative of 6, dex bonus of -3 (speedy gonzales), adds
weapon speed of 6. First attack = 9, second attack = 15
dragon rolls initiative of 2, adds different speed of attack for each ty
pe. Hence, talon attack 1 = 10, talon 2 = 18, bite = 22; tail whip = 30

Soooooo, the combat will proceed as follows:-
Thief slashes his shortsword at the dragon - whoosh!
Mage vainly plunges his dagger into the dragon.
Dragon claws at Fighter1, ripping into his flesh.
Fighter1 slashes his longsword at the dragon.
Thief slashes his shortsword at the dragon.
Dragon claws at Fighter1.
Fighter1 slashes Dragon.
etc etc, I hope you get the picture.

And yes, I love dungeons and dragons and yes, these are based on its
rules. For the above example, the dragon may kill the fighter before he
gets his second or third attack off, which is a bit more realistic than
the current version where all the attacks of the fighter goes off before
the dragon gets processed, or maybe, the dragon gets all its attack off
first and the fighter is dead before he knows it.

Eventually, all offensive skills will be used in lieu of one attack, so
a mage can decide to cast a spell instead of using his puny dagger. The
mage can then decide to really let fly with one big humdinger of a
damage spell which will take an extremely long time, or let rip with
weaker damaging spells that may take off first. A warrior can decide to
use a bash instead of one of his attacks so he can disrupt the
spellcasters, or perhaps even using a smaller weapon so he can attack
faster. And if his weapon is much faster than his opponent, he may gain
an extra attack because of its speed. So a bit more strategy is required
and lower level spells become useful again.

Of course, this would mean all my builders will have to add extra stats
to mobs and objects, but I am blessed with hard working builders :)

PS: What is up with authors who dont like MUDs promoting their products?
(ie. AD&D third edition) Its not like we are taking revenue away from
them, in fact, we are encouraging the mudders to go out and get the
books from the exposure!

   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |

This archive was generated by hypermail 2b30 : 12/06/01 PST