Instead of a bunch of individual strings or string pairs (limited by what individual Roll20 char sheet attributes hold in their current and max fields), a more robust and versatile approach would store any type of attack (melee, ranged, magic, whatever) in a standardized but flexible struct.
Collecting across defense (✅), m3mgdDefenseDataTable() (✅) defendSnatch (✅), defendFrostball (✅), ANYTHING ELSE?, these fields are required:
Instead of a bunch of individual strings or string pairs (limited by what individual Roll20 char sheet attributes hold in their
current
andmax
fields), a more robust and versatile approach would store any type of attack (melee, ranged, magic, whatever) in a standardized but flexiblestruct
.Collecting across
defense
(✅),m3mgdDefenseDataTable()
(✅)defendSnatch
(✅),defendFrostball
(✅), ANYTHING ELSE?, these fields are required:m3mgdExchange
attributemelee
,ranged
, ormagic
.roll
int,total
int,isSuccess
bool,.isCritical
bool.roll
int,total
intm3mgdValidAttackWeaponTypes
m3mgdWeaponSpecialEffect()
.roll
int,total
int,isSuccess
bool,.isCritical
bool,effEnduranceLoss
int,effHealthLoss
int,timeToDie
int