Draw your weapon…

I’ve been working on the combat engine for Fief. I had a nice system in place, but it needs some work to add a bit more fun and realism. Now there are many factors at play, and skill level becomes very important. I’ll be working on getting these new combat rules into the game over the next week, but no guarantees I’ll finish before I take a week off for a conference. At the very least I will try to get the latest crafting updates and a few of the cosmetic changes and bug fixes I made out to everyone.


EDIT: Some of the information here has changed since first posted.
These changes were made in response to some hardcore simulations.



So you want to attack something… perhaps that pesky deer while your stomach is grumbling…

First you want to consider your facing:


As you might expect, it is best to attack someone in the back for increasing your chance of success. Here’s a little ASCII diagram of a overhead view of a person.

|     |     |     |
|  FR |  FR |  FR |
|     | 0^0 |     |
|  SD | \_/ |  SD |
|     |     |     |
|  SD | BK  |  SD |

In the above diagram, FR is front locations, SD are side locations, and BK is the back location.   The location you attack an enemy determines the base chance to hit.  Dodge, block, and parry defensive options are more/less effective at specific locations.  Ex: it is best to Dodge a blow from behind, as trying to get a weapon/shield back their is slow and difficult. When you attack someone, your facing changes towards them, representing your current focus of attention as much as body position.

After an attack is chosen, you must choose the combat position, like in this classic figure:

Combat Positions

A diagram of the combat positions to choose when making an attack.

You must choose the height (high/middle/low) and the angle (left/midline/right) of the attack.  The chosen attack position has little effect on success/failure of an attack by itself, but will  determine which vital body parts may get injured in the attack.  The defender then chooses their defense position on the same grid.  If they are dodging they are trying to choose a position farthest away from the attack.  If they are parrying/blocking then it is the defender’s goal to choose the position the attack is coming from in order to intercept it with a weapon/shield.

The defender’s skill level (Dodge/Block/Weapon Skill[for Parry]) determines the chance of learning something about the incoming attack. There are separate chances for learning the Left/Right angle of the attack or learning the Low/High height of the attack, you may even learn both, which means you know the exact attack position, making a successful dodge/block/parry very likely.
If you are unfortunate enough to have multiple opponents, then keep in mind that each additional defense action increase the chances to hit by +10% per additional attack to account for the defender’s limited time and energy to avoid/deflect attacks.


If an attack hits, then you will take damage, based on the attack severity. Attacks severity is based on the difference between the attacker’s and defender’s skills.   Severity is determined by a Gaussian (normal) distribution with a mean based on the skill difference of the combatants.  This ensures that skilled warriors will easily cut-down unskilled warriors, while two skilled warriors will fight for much longer, with fewer significant wounds inflicted.  Facing also can add to the mean of the Severity distribution, with back attacks shifting the mean by +4.

The higher the severity of the attack, the greater the damage will be and the greater chance of maiming a vital body part or acquiring the Bleed condition. Additionally, the attacker’s weapon skill provides a bonus in damage. The Hunting skill provides a large damage bonus based on skill level when attacking animals.

Severity	Description	
 0		Glancing Wound
 1		Flesh Wound		
 2		Bruising Wound	
 3		Significant Wound	
 4		Painful Wound
 5		Major Wound		
 6		Suffering Wound	
 7		Tearing Wound		
 8		Severing Wound	
 9		Deadly Wound


Armor helps protect the wearer by reducing the severity of the attacks that hit. Each armor has a severity reduction rating (defense score) for each basic attack type [Bludgeoning, Piercing, Slashing]. The average value across all damage types and pieces worn will determine the Defense score shown on the Character’s Status Screen (more as a reminder that you have your armor on). Armor types determine the given defense scores:

Armor Types:
		B P S
Cloth        	(1,0,0)
Padded       	(2,0,1)
Hide         	(2,2,2)
Leather      	(3,2,2)
Stud.Leather 	(3,2,3)
Scale        	(5,3,3)
Chain        	(2,3,4)  
Splint       	(4,4,5)
Plate        	(4,5,6)

The following are the parts of the body that can be armored via inventory slots.

Armor		Body Parts
Helmet  	Head
Chestplate  	Body/Vitals
Bracers  	Off Arm/Main Arm
Gloves  	Off Hand/Main Hand
Greaves  	Leg/Leg
Boots  		Foot/Foot


Health points are given to each body part, if we take a look at the human in the core ‘CREATURES.XML’ file, we see that humans have a total of 1000 HP.

Human Parts:
parts = "    Head|Body|Vitals|Off Arm|Off Hand|Main Arm|Main Hand|Leg|Foot|Leg|Foot"
partrole = " mind|body|spirit|off arm|off hand|main arm|main hand|mov|sty |mov|sty"  
parthealth = "100|250 |50    |100    |50      |100     |50       |100|50  |100|50"
partpos = "  high|all |mid   |high   |mid     |high    |mid      |low|low |low|low"
(move = movement, sty=stability)
- 'All' designation for part indicates it counts for high, mid, & low calculations

The designation ‘partpos’ determines where the part is located in the attack height (low/middle/high). The chance of an attack hitting a specific part is equal to its HP divided by the creature’s total HP. The exception is any parts designated ‘all’. This is the default target of an attack, in the human’s case the ‘body’. This allows a fighter to take a number of attacks without immediately losing a limb. This is the part where I bend the mechanics into the ‘fun’ side of the funrealism continuum.
Here’s an analysis of a human:

Which part is hit?
-Random body part injured based on high/mid/low status:  partHP/totalHP
Ex: For a high attack, 
	Head has 100/1000 (10%) chance to be hit, 
	OffArm has 100/1000 (10%) chance to be hit, 
	MainArm has 100/1000 (10%) chance to be hit, 
	Body has 100% - total (30%) = 70% chance to be hit. [because of 'all' status]
Ex: For a midline attack, 
	Vitals has 50/1000 (5%) chance to be hit, 
	OffHand has 50/1000 (5%) chance to be hit, 
	MainHand has 50/1000 (5%) chance to be hit, 
	Body has 100% - total (15%) = 85% chance to be hit. [because of 'all' status]
Ex: For a low attack, 
	Leg has 100/1000 (10%) chance to be hit, 
	Leg has 100/1000 (10%) chance to be hit, 
	Foot has 50/1000 (5%) chance to be hit,
	Foot has 50/1000 (5%) chance to be hit,  
	Body has 100% - total (30%) = 70% chance to be hit. [because of 'all' status]

Body parts are labeled according to the amount of HP they have left:

Health% 	Condition:
75-100 		Wounded, fully functioning
50-75 		Impaired, some function loss
25-50 		Crippled, most function loss
0-25 		Lame, all function loss
0 		Mutilated, all function loss
-- 		Removed, function loss forever

I won’t go into detail what these conditions do, but if a body part enters a new category, the defender will receive a corresponding condition:

Body Part Wounded Impaired Crippled Lame Mutilated
Head 75 50 25 0
Dizzy Spinning Unconscious Dead
Body 187.5 125 62.5 0
Injured Dead
Vitals 37.5 25 12.5 0
Pained Sufffering Unconscious Dead
OffArm 75 50 25 0
Slowed OffArm Weak OffArm No OffHand No OffHand
MainArm 75 50 25 0
Slowed MainArm Weak MainArm No MainHand No MainHand
OffHand 37.5 25 12.5 0
Slowed OffHand Weak OffHand No OffHand No OffHand
MainHand 37.5 25 12.5 0
Clumsy Undexterous No MainHand No MainHand
Movement 75 50 25 0
Slowed Movement Weak Movement Immobilized Immobilized
Stability 37.5 25 12.5 0
Slowed Footing Weak Footing Immobilized Immobilized


With a high severity attack, Piercing/Slashing weapons have a small chance (based on severity) of causing the Bleed condition. The duration of the condition is also dependent on the severity of the attack, with deadly attacks (9) causing an infinite duration (hold on to that precious life-blood). The Bleed condition causes damage to ALL parts of the body, 1 point at the end of each turn.

Bookmark the permalink.

Comments are closed.