First I have some questions:
Is it possible to keep track of:
#of swings:
- swings that have connected with a player
- swings that have connected with a horse
- swings that have collided with the environment
- swings that have missed
part of the player (head, hands, body, legs) which has received damage:
- pierce damage
- cut damage
- blunt damage
- fall damage (legs)
- horse bump damage
Now, here is my idea:
Each armor piece and melee weapon would have 2 variables Durability, Resistance.
Horses would have 2 variables: Endurance, Armor. Unarmored horses would have 0 Armor.
Melee weapon
Each time a weapon dealt damage its resistance would be subtracted from its damage rating. The difference would be subtracted from weapons durability.
Sword (Damage 36, Resistance 33, Durability 600)
Example 1
If Damage Delivered > Resistance rating
New Durability = Durability before the swing - [Damage Delivered - Resistance rating]
Sword Delivers 36 Damage.
If 36 > 33 then
597 = 600 - [36 - 33]
Example 2
The same sword receives a speed bonus from moving fast on horseback and delivers 50 Damage.
50 > 33, So
580 = 597 - [50 - 33]
Example 3
The same sword delivers a hit that is at the beginning of the arc so it only does half of its damage (18).
Damage delivered is lower than the resistance rating, the sword does not take any wear.
18 > 33, So
580 = 580
Armor
Same concept, only this time we are calculating the damage received.
If Damage Received > Resistance rating
New Durability = Durability before absorbing Damage - [Damage received - Resistance rating]
Armor (Resistance 15, Durability 500)
Example 1
Receives a blow from a sword, after negating the armor value, 20 damage goes through to the body.
20 > 15, So
495 = 500 - [20 - 15]
Example 2
Same piece of armor receives an impact from a couched lance, after all the calculations the damage that goes through the armor is 125.
125 > 15, So
385 = 495 - [125 - 15]
Example 2
The next round the wearer of the same piece of armor receives 8 damage after all the other calculations. Damage that went through is smaller than the armor's resistance threshold, therefore it is strong enough not to buckle under that presure so it does not loose any durability.
8 > 15, So
385 = 385
Notes:
- The numbers I used are random, and are there to demonstrate a concept.
- Higher tier equipment would have higher Resistance/Durability ratings, therefore would be more costly to repair.
- Repair would cost $ gold per durability point.
- Number of Durability points would set the items state, different for every Item.
[ 0 - 100 Cracked, 100 - 200 Battered, 200 - 300 Tattered, 400 - 500 Normal, 500 - 600 Excellent, 600 - 700 Masterwork, e.t.c...]
- Heirlooms would gain Durability as well as Resistance.
Things to Consider
- Would it be possible to integrate from coding perspective?
- How much of a performance impact would it have on server/client?
- Like it better than round loss?