Result
{# Get equipment of the selected profession #}
{% abilities_by_level = get_chart id:90437 %}
{# Generate NPC level #}
{%if NPC_level_interval == "1 .. 20"%}
{% NPC_level_interval = {50%?1 .. 4|30%?5 .. 8|?9 .. 20} %}
{%end%}
{%if NPC_level_interval == "1 .. 4"%}
{% shift = 0 %}
{% level = {1d4} %}
{%elif NPC_level_interval == "5 .. 8"%}
{% shift = 3 %}
{% level = {lowest(1, 2d4) + 4} %}
{%elif NPC_level_interval == "9 .. 20"%}
{% shift = 6 %}
{% level = {lowest(1, 3d12) + 8} %}
{%end%}
{% abilities = abilities_by_level.$level %}
{# Set a starting index for addressing columns in the equipment table to give higher level characters better equipment #}
{% index = {2 + {$shift} } %}
{# Get civilian profession names and a random encounter location based on selected district #}
{% profession_weights = roll_chart filter_cols:1 filter_exact:District id:76327 %}
{% encounter_location = profession_weights.2.value %}
{# Load a name table based on chosen language #}
{%if Name == "Random"%}
{% civ = roll_chart id:80444 %}
{%else%}
{% civ = roll_chart filter_cols:1 filter_exact:Name id:80444 %}
{%end%}
{% male = {$civ.Male_names_table.value} |> roll_chart %}
{% female = {$civ.Female_names_table.value} |> roll_chart %}
{%if Generate_a_group == "No"%}
{# Change profession name in case it's a civilian NPC #}
{% profession_name = Profession %}
{%if profession_name == "civilian likely met in this district"%}
{% person_number = {d{ ceil( {$profession_weights.3.value}/3.654 ) }} %}
{% person_number = {{$person_number }} %}
{% weights = remove at:"1-3" source:profession_weights %}
{% checked_people = 0 %}
{%for column in weights%}
{% weight = {ceil( {$column.value}/3.654 )} %}
{%if {{$checked_people} + {$weight}} >= person_number%}
{% profession_name = column.name %}
{%else%}
{% checked_people = {{$checked_people} + {$weight}} %}
{%end%}
{%end%}
Resolve: {**{$female}**, a female|**{$male}**, a male} { $profession_name } (age Roll lowest(1, 3d40) + 13 + {$level}, level {$level})
Meets the party at the {$District}, perhaps at the {$encounter_location}
{%-else%}
{% equipment = roll_chart filter_cols:1 filter_exact:Profession id:89104 %}
Resolve: {**{$female}**, a female|**{$male}**, a male} { $profession_name } (age Roll lowest(1, 3d40) + 13 + {$level}, level {$level})Meets the party at the {$District}, perhaps at the {$encounter_location}
- Is {{equipment.$index}}
{%- index = {3 + {$shift} } %}, {{equipment.$index}}
{%- index = {4 + {$shift} } %}Resolve: { }and wears {{equipment.$index}} armor
{%-end%} - {{ {abilities.Probabilities.rolled == 0} |> if_true else:{Is Attuned and prefers to use **JOIN(", ", Roll on "Abilities in Fatebenders RPG" (cols="1", render_style="vertical_no_col_names") {$abilities.Probabilities.rolled} times (unique rows only))**
* Motive: **SNTCE(Roll on "NPC motives")**} then:{Motive: **SNTCE(Roll on "NPC motives")**} }} - Weakness: Roll on "NPC weaknesses"
- Asset: Roll on "NPC assets"
- Attitude towards the party: (define after encountering them)
{%else%}
{# Generate group description #}
{%if Profession == "civilian likely met in this district"%}
A group of Roll 2d8 level { $level } civilians
{%else%}
{% equipment = roll_chart filter_cols:1 filter_exact:Profession id:89104 %}
A group of Roll lowest(1, 2d8) + 1 level { $level } { $equipment.11 }
* Each of them {{equipment.$index}}
{%- index = {3 + {$shift} } %}, {{equipment.$index}}
{%- index = {4 + {$shift} } %}Resolve: { }and wears {{equipment.$index}} armor.
{%end%}
{%end%}
Subcharts
Equipment (d8)
d8 | Role | Armed1to4 | Sidearm1to4 | Armor1to4 | Armed5to8 | Sidearm5to8 | Armor5to8 | ArmedOver9 | SidearmOver9 | ArmorOver9 | RolePlural |
---|---|---|---|---|---|---|---|---|---|---|---|
1 |
guard or bodyguard |
armed with a spear |
has a club as a sidearm |
quilted |
armed with a polearm |
has a mace as a sidearm |
armed with a spear and a large shield |
has a sword as a sidearm |
plate |
guards or bodyguards |
|
2 |
thug or robber |
armed with a club or a crowbar |
has a dagger as a sidearm |
no |
armed with a mace |
is ready to draw throwing knives |
quilted |
armed with a sword and a dagger |
is ready to draw throwing knives and dust balls |
thugs or robbers |
|
3 |
infantry soldier or mercenary |
armed with a spear and a large shield |
has a dagger as a sidearm |
quilted |
armed with an axe and a large shield |
has a sword as a sidearm |
armed with a javelin and large shield |
equips a spear after throwing the javelin, has a sword as a sidearm |
plate |
infantry soldiers or mercenaries |
|
4 |
skirmisher |
armed with a sling |
has a dagger as a sidearm and a spare sling |
no |
armed with a javelin and a small shield |
has a dagger, a sling and a quiver of javelins at the ready |
quilted |
armed with a javelin and a pavise shield |
has a bola, a sword and a quiver of javelins at the ready |
skirmishers |
|
5 |
hunter, scout or archer |
armed with a hunting bow |
has a dagger as a sidearm |
no |
armed with a war bow or a crossbow |
has a dagger as a sidearm |
quilted |
armed with a war bow or a crossbow |
is ready to equip a pavise shield and draw a sword or a dagger |
hunters, scouts or archers |
|
6 |
squire or knight |
armed with a spear and a large shield |
has a sword as a sidearm |
armed with a polearm |
is ready to draw a sword and a heater (small shield) |
plate |
armed with a war bow |
has a two-handed sword, a mace and a dagger as sidearms |
plate |
squires or knights |
|
7 |
warrior monk |
armed with a staff |
has no sidearm |
no |
armed with a staff |
has a sling at the ready |
quilted |
armed with a staff |
has a sling, a rope dart or a meteor hammer at the ready |
quilted |
warrior monks |
8 |
wrestler or pit-fighter |
unarmed |
has no sidearm |
no |
unarmed |
has a dagger as a sidearm |
quilted |
unarmed |
is ready to draw two daggers |
quilted |
wrestlers or pit-fighters |