Outlined the basics for combat design
This commit is contained in:
parent
a7064e3db0
commit
1722681823
49
dev-notes.md
49
dev-notes.md
@ -22,35 +22,42 @@ fi
|
|||||||
exit $lint_errors
|
exit $lint_errors
|
||||||
```
|
```
|
||||||
|
|
||||||
heapq is a thing for the speed sorting
|
#TODO: figure out turn order, potentially with heapq
|
||||||
|
|
||||||
## Entity Statistics
|
## Entity Statistics
|
||||||
|
|
||||||
#TODO: brain no work, calc these later
|
#NOTE: Combat system is WIP
|
||||||
|
|
||||||
Level = exp???
|
Visible Attributes, from 3 to 18:
|
||||||
|
STR, Melee Weapons (Accuracy & Damage)
|
||||||
|
DEX, Range Weapons (Accuracy & Damage)
|
||||||
|
CON, Maximum HP
|
||||||
|
INT, Draw Spells (Quantity)
|
||||||
|
WIS, Hold Spells (Capacity)
|
||||||
|
CHA, NPC Influence (alters shop prices)
|
||||||
|
|
||||||
Base Stats, from 3 to 18: #TODO: are these needed?
|
Other Attributes:
|
||||||
STR, Strength
|
Levels (derived from XP and a lookup table)
|
||||||
DEX, Dexterity
|
Maximum HP ((Levels * 5) + (CON / 2))
|
||||||
CON, Constitution
|
Current HP
|
||||||
INT, Intelligence
|
Accuracy (from weapon's attribute)
|
||||||
WIS, Wisdom
|
Evasion (from armor)
|
||||||
CHA, Charisma
|
Damage (from weapon's attribute)
|
||||||
|
Absorption (from armor)
|
||||||
|
|
||||||
Derived Stats, will always change based on the base stats:
|
Weapons:
|
||||||
MaxHP:
|
damage_roll = base_type ("2d6") + this_instance ("+2")
|
||||||
CurHP:
|
accuracy = base_type ("+0") + this_instance ("+0")
|
||||||
Accuracy:
|
|
||||||
Evasion:
|
|
||||||
Damage:
|
|
||||||
Absorb:
|
|
||||||
|
|
||||||
To-hit, d20:
|
Armor:
|
||||||
11 + weapon_accuracy - target_evasion
|
evasion = base_type ("11") + this_instance ("+2")
|
||||||
|
absorption = base_type ("3") + this_instance ("+0")
|
||||||
|
|
||||||
damage-dealt:
|
To-hit:
|
||||||
roll(weapon_damage) - target_absorb
|
1d20 + accuracy >= evasion
|
||||||
|
|
||||||
|
To-wound:
|
||||||
|
max(damage_roll - absorption, 1)
|
||||||
|
|
||||||
## Concepts and Ideas
|
## Concepts and Ideas
|
||||||
|
|
||||||
|
@ -82,8 +82,6 @@ class MeleeAction(BaseAction):
|
|||||||
if not target or not target.stats:
|
if not target or not target.stats:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
#TODO: better combat system
|
|
||||||
|
|
||||||
#calculate damage
|
#calculate damage
|
||||||
damage = self.entity.stats.attack - target.stats.defense
|
damage = self.entity.stats.attack - target.stats.defense
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user