Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CF: combat proposal (long)
- To: crossfire (at) ifi.uio.no
- Subject: CF: combat proposal (long)
- From: Brian Thomas <>
- Date: Sun, 22 Sep 1996 08:32:08 -0400
- Sender: owner-crossfire
Hi all,
I have been putting together some ideas about the combat
system which I would like to share for critical discussion.
Some of this stuff I have already mentioned in earlier email,
so ardent readers of this list should recognize many of these
ideas. The framework which I am presenting below, is however,
very new.
As always, changes should be implemented with the idea of
'fun' first, realism second.
-b.t.
OUTLINE >>>
-----------
0. Proposal overview
I. Weapon attack modes
a. damage to armour/weapons
b. how to 'invoke' special attacks
c. immunities.
II. Fatigue and Bleeding.
III. Extended weapons.
IV. Appendum - other related stuff
a. Armour & Weapon repair
b. Changes to skills, 2 new skills.
c. Changes to spells and new spell ideas
0. Proposal overview
These changes are motivated by the rather 1-dimensional quality
of fighter combat in CF. Basically, you run into a monster to
hit it then you stand there as long as possible hitting it until
either you or the monster is dead. In contrast, things are a
bit more exciting when either you or the monster is throwing
spells. Also, spellcasters (by the nature of many, many spells)
have many more 'options' for tackling 'problems'.
What to do?? Is it possible to 'jazz' up the fighter and his
options? Hopefully! In this proposal, I suggest ways to modify
the combat system so that new abilities and restrictions on
combat come into being. In general, things wont change alot, if
you run into a monster with a wielded weapon, you will make an
attack *exactly* the same as you do now, if you are hit by a monster,
you take damage, etc..
Basically, changes revolve about 3 main things which can be used
by both players and monsters: new weapon attack modes (occur when
weapons are used in a 'special' way) and their effects, the use
of fatigue and bleeding, and a new 'special' extended attack.
I. Weapon attack modes
When a creature (player or monster) makes a 'special' attack,
the code will examine the weapon (or hth skill) for special
attack mode flags. If any are found, then a successful
attack is modified (mostly in terms of the damage caused).
Here are some ideas for attack modes ("fat cost"== fatigue
cost for each use of that attack, see below on fatigue):
Table 1. Attack modes
Attack Mode Fat Cost Effect
----------- -------- ----------------------------
impale low - none 1-Double all damage that penetrates
armour. Weapon may become stuck with
chance based on the total damage
inflicted.
cut low 1-Attacks cause bleeding to occur
and Mult all damage that penetrates
armour by 1 1/3.
bash moderate 1-Attacks can damage armour (worn and
intrinsic, see below).
2-Can stun some opponents (esp those
smaller critters w/o helmets!).
3-Can cause 'knockback'-- makes victim
move back 1-2 squares.
chop moderate 1-Attacks can damage armour (as above).
2-Mult. all dam that penetrates
armour by 1 1/2 and can cause bleeding
to occur.
disarm low 1-may disarm the victim.
dig high 1-used to dig a pit, can't effect
living creatures.
Some Notes:
a. damage to armour/weapons
When you make a special attack we need to examine the attacking
weapon and the armour being attacked. Choice of armour
item will be in order 1) worn shield, or 2) the top armour item in
the inventory (that is worn).
For most special attacks, REGARDLESS of the SUCCESS of the attack,
IF the armour item is immune|protected to ALL of the weapons
attacktypes OR the magic of the armour =< magic of weapon then we
may damage the weapon.
Next, for all successful attacks, we determine the effect based on
the attack mode and item properties:
Impale -- If armour exists, item may become stuck with a chance
equal to the total damage inflicted. If the weapon is
being wielded (ie, its a spear, not an arrow shot from
a bow) then we make ONE test immediately to see if the
weapon may be withdrawn (based on wielder str, level
and the armour rating). Successful withdrawal has a
small chance of damaging the weapon IF the magic of the
armour is higher than the weapon magic.
Cut -- Nothing beyond initial damage check.
Bash -- Damages armour with magic value =< weapon magic. Chance
of damaging armour is equal to total damage. If damage
occurs then ac value of the armour is reduced by 1 and
the armour value is decreased by random value of the
damage that was *stopped* by the armour (ie total damage
times the armour percentage). Reduction in the armour
value can not exceed the wielders strength (damage)
bonus (ie, a Str 20 warrior can't do more than
a 3 pt reduction in the armour value).
Chop -- Damages armour as Bash.
Disarm -- NO initial damage check.
Dig -- NO initial damage check.
If a weapon/armour item accumulates a negative ac/wc "bonus" greater
than its magic bonus, it is destroyed. This means that an ordinary
small shield (ac 1) is destroyed after accumulating 2 damaging hits
(ac first goes to "0", on next hit it then becomes negative) and a
+1 small shield can take 3 hits. A piece of armour is also destroyed
if its armour value drops below 0.
Armour and weapons may be repaired (see below).
b. how to 'invoke' special attacks
Under some attack modes several effects are listed. For a first
pass at coding this, each effect listed is checked for in every
attack. Later, we may think of an easy, intuitive way to allow the
wielder to select the special attack effect.
The player invokes a special attack by readying the melee weapons
skill, and making a 'ranged' attack. Monsters may make special
attacks based on their intelligence, attack movement, and whether
they have the skill_melee_weapons in their inventory.
c. immunities.
Of course, some monsters will be immune to some or all of these
attack modes, and may be unaffected by bleeding and fatigue.
For players, some magical items may make the user immune to some
attack modes and reduce or (in rare and REALLY powerful items)
eliminate the effects of fatigue and/or bleeding.
Some player character types may not be affected by bleeding (cf.
fireborn and wraith).
II. Fatigue and Bleeding.
Probably, we can implement these each as invisible (applied)
archs in the player (or monster) inventory (eg similar to the
way 'paralyze', 'confusion' and 'slow' are implemented). Other
than that, these are quite different. Lets explore each
separately:
a. fatigue
This is essentially a measure of how much physical exertion
a given creature can accomplish. As the amount of fatigue
rises, the creature begins to lose vigor (Str) and can accomplish
less. In game terms, we assign a maximum number of "fatigue points"
(fp) that may be accumulated by each creature based on their Str +
(physique) experience level (in players) or just assign it to a
monster (just like hit points).
The amount of Str lost depends on the percentage of fatigue
points relative to the maximum number of fp. For very high
levels of fatigue, our healing rate is effected adversely.
Table 2. Effect of accumulated Fatigue:
current fp/max fp Str loss Healing rate
0 - 0.3 none no effect
0.3 - 0.4 10% no effect
0.4 - 0.5 20% no effect
0.5 - 0.7 35% slowed slightly (Con-1)
0.8 - 0.9 50% slowed (Con-3)
0.9 - 1.0 80% slowed highly (Con-5)
Note, as you lose strength, you will auto-matically be slowed
down (from the speed calculation in fix_player) thus simulating
a characters "tiredness".
Fatigue is regained at a rate equal to about 2x that of hit
points. In players this rate is based on their Str and Con
(in monsters the Str value is used).
Most probably, it would be nice to have a stat bar in the lower
window for monitoring the current fatigue level.
b. bleeding
Bleeding refers to the damaging effect of blood loss from open
wounds. Not all weapons will cause bleeding nor will all creatures
bleed (ex the undead!, also see above).
The rate of bleeding will vary from second to second depending on
the damage the creature has received and its healing rate.
From a cutting or chopping attack you receive 1 'level' of bleeding
for every 10 points of damage from that attack (and a new bleeding
arch is put into your inventory).
Bleeding damage would appear similar to a poison attack, ie you
take damage for every time interval, with the interval being smaller
as bleeding level is increased. Bleeding slows down as time
passes (and amount it slows is dependent on Con rating).
You can bleed to death. Experience is awarded to the owner of
the "wound" that did the killing damage.
III. Extended weapons.
Some weapons will allow "extended" attacks into squares not
adjacent to the wielder. When an extended weapon is wielded, an
image of it appears in the square that the wielder faces (if a
wall was there to begin with, you CANT wield the weapon!).
Examples of extended weapons include "long spear" and "pole-axe".
The mechanics of combat and movement for the weapon wielder would be
changed. Consider this picture of an attack w/ extended weapon:
------- ------- -------
| 0 | | 9 |
| |/ | ----> | (|} |
| | | | | |
| / \ | | / \ |
------- ------- -------
^ ^ ^
| | |
wielder ext.wpn victim
In the above diagram, an extended weapon wielder attacks a victim.
Because the "victim" is not adjacent to the wielder, it CAN'T attack
the wielder of the weapon. The wielder of the weapon IS able to
damage the victim. Were the victim to move 1 square NORTH or SOUTH
no extended attack could occur. If the victim moved 1 square
to the SOUTH-WEST or NORTH-WEST (ie adjacent to the wielder) it
could attack the wielder. Note that the victim (in the position
above) could use a special attack that damages armour (like "chop")
to damage the extended weapon. It is not possible to use the
"disarm" maneuver vs. extended weapon UNLESS you are adjacent to
the wielder.
When a extended weapon is wielded, the movement of the wielder
changes as follows:
- you will advance squares only in the facing and anti-facing
directions (ie either move forward or backward).
- if you give a command to move in another direction, the code
will TURN you 1 square as if you were pulled that way (ie you
just change your facing, but don't move forward). For example,
if the wielder in the above diagram issued the command "north" his
weapon (and he!) would point to the north-east. Another "north"
command would point the weapon to the north. Yet another "north"
command would advance the weapon and the wielder forward by 1
square.
IV. Appendum - other related stuff ====
a. Armour & Weapon repair
We can make an "anvil" in the shops that will repair armour to
its original (ie arch->clone.obj) properties. Magical equipment
can only be repaired by the enchant armour scrolls (but we
should probably drop the weight increase effect for using these
scrolls). We could drop the cost in these scrolls, or just
make magical properties restorable by the anvils.
Weapons could have a repair anvil too, but here only the
original "magical" properties of the equipment are restored.
b. Changes to skills, new skills first_aid and 2-handed melee
With the new attack modes, it makes sense to give some new
properties to older skills, ie:
Jumping skill -- Give it ability to do knockback (really
ought to call this skill jumping/kicking).
Allow more damage versus inanimate objects
(eg. doors).
Punching skill -- Give it a stun effect as per bash.
Karate skill -- Allow it to parry thrown weapons/arrows.
Clawing skill -- Give it a cutting attack mode.
And lets add two new skills:
first aid -- Application can lower the bleeding level
and do *minor* healing (ie 1-2 pts). May
implement this as a skill-item "bandages"
(this is a knowledge skill either way).
2-handed melee -- User can wield 2 weapons (with restrictions
based on Str). The primary weapon can be
used to make special attacks, and the
secondary weapon is used to determine the
effect of being able to 'parry' special
attacks (ie takes the place of a shield;
in parrying a special attack the secondary
weapon may be damaged too!).
You get some small ac and damage benefits
from the secondary weapon too. May get lower
exp gain from using this skill (for the
sake of playbalance).
c. Changes to spells and new spells
It would be nice to create some clerical spells can that affect
attack modes, bleeding and fatigue. Alter the healing spells so
that fatigue and bleeding can also be 'cured'.
Wizard spells could be created that allow the player to temporarily
enchant their weapons with special attack modes.