PDA

View Full Version : Physical Features Extension (5E)



MatrixDreamer
October 22nd, 2020, 20:53
MD 5E Physical Features by MatrixDreamer

This extension has functions to roll and calculate Physical Features:
Age, Height, and Weight.

A dice button is added to the character sheet notes tab, this button both rolls
the physical stats, and updates the form with result values.
You can alternatively run it as slash command and manually drag/drop results.

Use: /pfroll <race> <optionalgender>


Functional Notes
-------------------------------------------------------------------------
Features are geared for the starting character and assume young adults.
All calculations are loosely based upon available 5E charts, which vary widely.
Decision was made to format the height as 5' 10" purely as personal preference.
Suggestions to add options for it may be entertained.
Similarly Age and Weight have no labels and are passed as numbers.
The wieght calculations take into account the height results to help produce
a more proportional weight result. If we didnt do that, then you could never
get a tall fat person, only tall lean. Some methods out there also compensate
for strength, assuming strong person is also slightly heavier. Decision was
made to ignore strength due to complexities involved.

Slash Command Notes
-------------------------------------------------------------------------
The slash command takes two parameters race and optional gender.
Both can be entered case insensitive, so Human is the same as human.
The races are from a pick list and must match those values.
Also beware that dashes are ignored so Half-Orc is the same as halforc.
You CANNOT enter any spaces, so High Elf must be entered as highelf, or high-elf.
If no gender is specified in the command (m, male, f, female) then Male is assumed.

Charsheet Button Notes
-------------------------------------------------------------------------
The Race must be entered on the Main tab before the button can be used.
If no gender is specified on the sheet (m, male, f, female) then Male is assumed.
The roll updates the gender, but you can change it AFTER you roll if desired.

===============================
Some notes for developers:
I have learned much from working on this Extension, and welcome others to use my code as examples for their work.
This one is quite small, but does some interesting things, see below.

Features of note for coders interest:

How to generate a dice array from passed in string "3d10" = {'d10', 'd10', 'd10'}
Roll dice and modify results from previous rolls.
How to chain successive rolls so they occur sequentially.
Add custom parms to rRoll objects to help keep track of what is being rolled.
Override 5E form to add button and scripts.
How to reference form controls from external lua buy passing self pointer.
How to update (or retrieve) values on the form.
Use of array data and how to iterate.
Format Height function.


40435

Zacchaeus
October 22nd, 2020, 21:02
Nice one