-
Notifications
You must be signed in to change notification settings - Fork 1
Damage Model
Lauri Mäkinen edited this page Oct 7, 2013
·
3 revisions
Actor damage model is not a regular HP based system seen on Roguelikes. In short its limb based.
Each actor has a "body", where the bodyparts are attached. Each body part has following attributes:
- parent* - Parent bodypart (if same as this its the root part)
- vector<bodypart*> childs - list of all childs
- partType - type of the part
- attributes - burning, rotting, crushed...
- weight - weight of the part.
- blood - Amount of blood the part has, when its gone the part is unusable.
- def - base defensive stat
Following part types exists, they contain their own values and stats:
- Body - root for all the parts, can wear bodyarmor
- Arm - Provides strength, can wield weapons/glowes/rings
- Legs - Provides speed, can wear boots
- Head - Contains wisdom and experience, can wear helmets and amulets (neck)
Attributes for specific part.
- Fire - Fire Active fire spreads to nearby parts, causes burnt, removes fire
- Burnt - 1/2 of the Def value, stops bleeding
- Cold - 1/2 of str/sta/speed, slows bleeding while active
- Frozen - Str/Speed/Sta to 1, stops bleeding while active, stops rotting
- Bleeding - Loses blood
- HeavyBleeding - Same but more severe
- MinorStun - Can't use the part for one turn
- Stun - Can't use the part for multitiple turns
- Bruised - 3/4 str/sta/speed
- Crushed - 1/2 str/sta/speed
- NerveDamage - Wield weapon is dropped, part cannot be used until fixed
- Rotting - Slowly eats away the str/sta/speed/wisdom, when 0, the limb drops, spreads to nearby parts.
Damage will be splitted into different damage categories
Cutting damage
- 0-10 low dmg, minor blood loss
- 11-25 Medium dmg, causes bleeding
- 26-35 heavy dmg, causes HeavyBleeding
- 35+ Critical dmg, part and its childs are removed
Blunt damage
- 0-10 low dmg, Change of MinorStun
- 11-25 medium dmg, Causes bruises, MinorStun, Change of Stun
- 26-35 heavy dmg, Causes crushing, Stun
- 35+ Critical dmg, Crushed, Stun and NerveDamage, Change of stun on the parts next by
Ideas for dmg type:
- Fire damage?
- Freeze damage?
Dmg of attacking a another actor. (modifiers are the attributes calculated)
dmg = (arm + arm.str.modifiers + arm->weapon->dmg) - (target.def + target.def.modifiers)
TODO: write example of humanoid here