[MUD-Dev] old fight system I toyed with

Koster Koster
Wed May 12 18:25:23 CEST 1999


At one point we were going to do this system on LegendMUD. I found this doc
on my hard drive here at work and thought that maybe folks on the list might
be interested. The idea was to add "spatial combat" without actually adding
"spatiality" within rooms (eg, minimum impact to existing code).

----

ADDITION OF 'AND' AS A COMMAND

Permits players to type:

command and command and command

and have them stacked on their command queue for execution. Alternate
syntaxes could include a period or an ampersand. Scanning for this
does not take place after certain commands, such as says, emotes, etc.
We sort of need this in order to make using all of the following really
feasible. Individual new commands would be of pulse durations less than
a full round, and therefore command stacking would be extremely
desirable.

NOT SEEING MESSAGES:

Non-combatants should not get all the messages for fights unless they
explicitly type WATCH FIGHT or some such. Otherwise, they get positional
messages and skill messages, plus perhaps messages whenever a condition
level changes.

Combatants continue to see everything. Keep in mind however that seeing
things based on facing should still be enforced...

POSSIBLE COMBAT MESSAGE ALTERATION:

Currently fight messages work based off of absolute damage. Perhaps a better
course would be damage relative to the max hps of the victim. This means
that 10 hp blows that splatter a mouse would truly show as splattering,
not as scratches. I don't know how much would need done to the limbo #FIGHTS
section to make this happen, but it would vary the range of messages quite
a lot.

NEW COMBAT SYSTEM

BASIC PREMISE

A combat system that mimics spatial relationships within combat. It also
permits differing styles of combat based on the weapon size and style, and
affects every combat skill, giving ne meanings to the proficiencies.

"FACING"

A new ch->facing is added to the character structure. It holds cardinal
directions. In the event that we add nw, se, sw, ne later, it can be
expanded. Issuing any direction command (n, s, e, w) changes the ch->facing
pointer to the new direction.

ENTERING ROOMS

You normally cannot see arrivals from behind you, but get a message like,
"Somebody behind you arrives from the <direction>." Their speech shows as
"A [male/female] voice behind you". I suspect that if macros are added to
check ch->facing and being behind somebody where the PERS and CH_NAME
macros are now, this would carry over to everywhere necessary.

CALCULATION OF RANGE

Range is defined as the distance within combat between two individuals.
Attacking only occurs when the range is suitable for the weapon that is
used by that individual.

FLYING

One cannot move closer in on flying opponents in outdoors rooms, though
they may move closer in on you. This includes all movements and skills
such as warcry, etc.

WEAPONS AND RANGE

Behavior of a weapon should be altered based on how far away from its
optimum range it is being used.

For attacks:
"point blank": the weapon cannot be used, but it may be wrestled away.
               Some small weapons may be so small they do not have this
               range.
close range:   a minus to hit but a plus to damage.
optimum:       normal damage and hit table
long range:    a minus to hit and a minus to damage
out of range:  no attacks with that weapon take place

For defense:
"point blank": does not permit defensive moves
close range:   does not permit defensive moves by smaller weapons
optimum and above: permits defensive moves

FACING DIRECTION

Melee may only be engaged in if the attacker is facing the victim. The
victim need not be facing the attacker. Attacks from the side may confer
additional damage or bonuses to hit. Attacks from behind should confer
double the benefits of attacking from the side. This should be placed in
th standard position modifier checks.

POSITION

Standing individuals take no extra damage penalties, and may make use of
all combat commands except roll.

Sitting individuals take no extra damage penalties, but may not make use of
retreat, move, face, whirl, or circle.

Resting individuals re assumed to be facing everyone, and thus never take
facing damage modifiers. But they do take an additional 30% damage as a
position modifier. They may not use: feint, rush, retreat, move, push,
whirl, or circle. They cannot be backstabbed, as they face all attackers.

Dancing individuals may whirl, turn, face, and circle.

Sleeping and stunned individuals are always assumed to be facing away from
the attacker, and hence take the damage modifiers associated with that.

COMMANDS

KILL

Automatically faces the individual; moves to appropriate combat range for
the weapon used. Incurs the standard delays for each of these actions.
Hence this may be used as a shortcut to begin combat, but may not be as
efficacious as using the broken down commands. Essentially equivalent to
stringing the commands together with the AND operator.

ATTACK

Begins melee combat with an engaged individual if the victim is within
melee range. If outside melee range, engages that individual.

ENGAGE

Sets the victim as your opponent without beginning melee combat.

FEINT

Takes an argument from the following list:

rush, retreat, move, push, guard, block, face, turn, whirl, circle.

If those in the room fail a perception check (perhaps enhanced by their
proficiency level) they receive the message as if that action has taken
place. Otherwise they see "So and so feints a move <etc>"

RUSH <victim/assumes engaged opponent>

Moves the attacker into optimum melee range with one quick rush. If the
attacker is already at optimum melee range, it moves them into extreme
close range.

RETREAT

Moves attacker out of melee range of his opponent, thus halting his
opponent's melee. If the attacker has a big weapon, though, he may still be
able to attack. Retreating again will move fully out of melee combat,
though the victim will still be engaged.

MOVE <in | out>
Moves you one step closer into combat, or one step out.

PUSH <victim or assumes engaged opponent>

Usable only at extreme close range, permits youto force the opponent back
one step. Assumes current opponent unless otherwise specified. Getting
pushed when you are facing sideways or away has a chance of knocking you
down.

GUARD or BLOCK

Blocks attack (eg grants a bonus to ac). Enforces a delay on commands and
prevents use of any other commands in the meantime. The user will be unable
to swing in melee while guarding.

GLANCE [back/behind]

Gives a quick overview of the combat field, giving the position of all
combatants to the sides and front. The optional argument permits glances
behind the user, but enforces an additional delay.

FACE < n, s, e, w, victim, left, right>

Changes the ch_.facing to the appropriate direction. In the event of left
and right, rotates. In the event of a vitcim as argument, turns you all the
way to face that victim. Note that there is a delay per direction turned,
and turning all the way around is slower than the WHIRL command.

TURN

Same as FACE.

WHIRL

Turns you all the way around with a delay equivalent to turning only one
direction.

CIRCLE <left | right>

Moves your position within the room by 90 degrees, keeping facing towards
the current victim.

AGG and WARY

As before, these are purely tradeoffs on how much attention you are paying
to offense and defense. Agg increases your chances of hitting but also
your opponents', and wary does the opposite.

ROLL <left | right | back | assumes forward>

When resting, moves your position as indicated, but does not make you stand.
When sitting, rolls you out of sitting and into resting, but rolling back is
not permitted. Does nothing when standing.

SKILLS AFFECTED BY NEW COMBAT SYSTEM:

These are just the obvious sorts of changes that I was able to think of.
There are many more we can do, I am sure, plus also the whole aspect of
which stats affect things like feints, movement speed, etc.

AMBUSH: ambushes are only triggered when the person ambushing actually
sees the person arrive--they must be facing or at least facing on the side
the approrpate exit.

ARMWRESTLE: when used at extreme close range, can be used to grab hold of
the opponent's weapon and force them to self-inflict wounds.

BACKSTAB: Only functions if you are facing someone's back. :)

BASH: should require a shield, and minimum of optimum melee range.

BODYSLAM: Requires a minimum initial distance; effects increased for use
from the side or back.

CHOKE: Requires close range. If used from behind, pins the opponent in the
chokehold. Turning then turns the opponent as well.

DASH: Needs to set facing.

DODGE: becomes less useful as range decreases.

FLIP: Cannot be used when facing the opponent. From the side, flips them to
the ground. when flipping an opponent with your back turned ot them (say
to break a choke) flips victim over you, and dumps them resting on the
ground in front of you.

HEADBUTT: When used at close range, knocks foreheads together. When used
from farther away, implies a rush and butting the head into the stomach
of the opponent. The latter is highly useless from the side or back.

JOUST: must be outside combat range to use; when used, it carries you in and
then back out again if fully successful.

JUGGLE: chace of cacthign thigns increases with distance from the thrower.

KICK: requires a minimum range to function; extreme close range prevents it.

LISTEN: gives you a chance of hearing the movements of sneaking people in
the room when they circle, etc.

PIN: requires close range. If the victim is resting, it holds them down and
prevents rolls and standing. It also means that the attacker has his back to
all attackers, however. Rolls by those with sufficient strength can break
a pin.

RESCUE: literally transposes the locations of the user and his rescuee.

RETREAT: goes away as a skill.

SCAN: Only works for exits you are facing.

SNEAK: permits silent motion using the various positional commands as well
as regualr movement.

TACKLE: cannot be used at close range

THROW: cannot be used at close ranges

TRIP: requires close range.

VANISH: requires that you be moved out of combat.

WARCRY: implies a rush.

WRESTLE: I don't even remember the exact effects of this.

MEDICATE: offensive uses require extreme close range.

TUMBLE: lets you go straight to standing from a roll.




_______________________________________________
MUD-Dev maillist  -  MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev




More information about the mud-dev-archive mailing list