Template:Infobox creature: Difference between revisions

From bg3.wiki
Jump to navigation Jump to search
(Improve variable names, pass "init bonus" to internal template, showcase use of "extra init" parameters.)
No edit summary
(40 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<includeonly>{{#if: {{{image|}}}
<includeonly>{{hidden code|
| {{#seo: image = {{{page image | {{{image}}} }}} }}
 
}}{{trim|
<!-- Set page image -->
{{#if: {{{page image|}}}
| {{#seo: image = {{{page image}}} }}
| {{#if: {{{image|}}}
  | {{#if: {{#invoke:HasTag | main | gallery | {{{image}}} }}
    | <!-- do nothing -->
    | {{#seo: image = {{{image}}} }}
    }}
  }}
}}
 
<!-- Voice actor with IMDB link -->
{{#lvardef: va |
  {{#if: {{{va | {{{voice|}}} }}}
  | {{#invoke: ParseList | main | {{{va | {{{voice|}}} }}} | type = htmlListNoBulletsOrMargin | useTemplate = va | }}
  }}
}}


<!-- Movement and weight in ft and lb -->
<!-- Movement and weight in ft and lb -->
Line 11: Line 27:


<!-- Ability score modifiers -->
<!-- Ability score modifiers -->
{{#lvardef: str_mod | {{#ifexpr: {{{str}}} > 11 | + }}{{#expr: floor({{{str}}} / 2) - 5 }} }}
{{#lvardef: str_mod | {{plus if pos | floor({{{str}}} / 2) - 5 }} }}
{{#lvardef: dex_mod | {{#ifexpr: {{{dex}}} > 11 | + }}{{#expr: floor({{{dex}}} / 2) - 5 }} }}
{{#lvardef: dex_mod | {{plus if pos | floor({{{dex}}} / 2) - 5 }} }}
{{#lvardef: con_mod | {{#ifexpr: {{{con}}} > 11 | + }}{{#expr: floor({{{con}}} / 2) - 5 }} }}
{{#lvardef: con_mod | {{plus if pos | floor({{{con}}} / 2) - 5 }} }}
{{#lvardef: int_mod | {{#ifexpr: {{{int}}} > 11 | + }}{{#expr: floor({{{int}}} / 2) - 5 }} }}
{{#lvardef: int_mod | {{plus if pos | floor({{{int}}} / 2) - 5 }} }}
{{#lvardef: wis_mod | {{#ifexpr: {{{wis}}} > 11 | + }}{{#expr: floor({{{wis}}} / 2) - 5 }} }}
{{#lvardef: wis_mod | {{plus if pos | floor({{{wis}}} / 2) - 5 }} }}
{{#lvardef: cha_mod | {{#ifexpr: {{{cha}}} > 11 | + }}{{#expr: floor({{{cha}}} / 2) - 5 }} }}
{{#lvardef: cha_mod | {{plus if pos | floor({{{cha}}} / 2) - 5 }} }}


<!-- Initiative bonus -->
<!-- Initiative bonus -->
{{#lvardef: init_bonus |
{{#lvardef: init_bonus | {{plus if pos |
   {{{initiative |
   {{{initiative |
     {{#if: {{{dex|}}} |
     {{#if: {{{dex|}}} |
       {{#expr: {{#lvar:dex_mod}} + {{{extra init|0}}} }}
       {{#lvar:dex_mod}} + {{{extra init|0}}}
     }}
     }}
   }}}
   }}}
}}
}} }}


<!-- Proficiency bonus -->
<!-- Proficiency bonus -->
Line 34: Line 50:
   }}
   }}
}}
}}
<!-- saving throw extra -->
{{#lvardef: str_save_extra | {{{str save extra|0}}} }}
{{#lvardef: dex_save_extra | {{{dex save extra|0}}} }}
{{#lvardef: con_save_extra | {{{con save extra|0}}} }}
{{#lvardef: int_save_extra | {{{int save extra|0}}} }}
{{#lvardef: wis_save_extra | {{{wis save extra|0}}} }}
{{#lvardef: cha_save_extra | {{{cha save extra|0}}} }}


<!-- Saving throw bonuses -->
<!-- Saving throw bonuses -->
{{#lvardef: str_save_val | {{#expr: {{#lvar:str_mod}} {{#if: {{{str save prof|}}} | {{#lvar:prof_bonus}} }} }} }}
{{#lvardef: str_save | {{plus if pos | {{#lvar:str_mod}} {{#if: {{{str save prof|}}} | {{#lvar:prof_bonus}} }} + {{#lvar:str_save_extra}} }} }}
{{#lvardef: dex_save_val | {{#expr: {{#lvar:dex_mod}} {{#if: {{{dex save prof|}}} | {{#lvar:prof_bonus}} }} }} }}
{{#lvardef: dex_save | {{plus if pos | {{#lvar:dex_mod}} {{#if: {{{dex save prof|}}} | {{#lvar:prof_bonus}} }} + {{#lvar:dex_save_extra}} }} }}
{{#lvardef: con_save_val | {{#expr: {{#lvar:con_mod}} {{#if: {{{con save prof|}}} | {{#lvar:prof_bonus}} }} }} }}
{{#lvardef: con_save | {{plus if pos | {{#lvar:con_mod}} {{#if: {{{con save prof|}}} | {{#lvar:prof_bonus}} }} + {{#lvar:con_save_extra}} }} }}
{{#lvardef: int_save_val | {{#expr: {{#lvar:int_mod}} {{#if: {{{int save prof|}}} | {{#lvar:prof_bonus}} }} }} }}
{{#lvardef: int_save | {{plus if pos | {{#lvar:int_mod}} {{#if: {{{int save prof|}}} | {{#lvar:prof_bonus}} }} + {{#lvar:int_save_extra}} }} }}
{{#lvardef: wis_save_val | {{#expr: {{#lvar:wis_mod}} {{#if: {{{wis save prof|}}} | {{#lvar:prof_bonus}} }} }} }}
{{#lvardef: wis_save | {{plus if pos | {{#lvar:wis_mod}} {{#if: {{{wis save prof|}}} | {{#lvar:prof_bonus}} }} + {{#lvar:wis_save_extra}} }} }}
{{#lvardef: cha_save_val | {{#expr: {{#lvar:cha_mod}} {{#if: {{{cha save prof|}}} | {{#lvar:prof_bonus}} }} }} }}
{{#lvardef: cha_save | {{plus if pos | {{#lvar:cha_mod}} {{#if: {{{cha save prof|}}} | {{#lvar:prof_bonus}} }} + {{#lvar:cha_save_extra}} }} }}
 
{{#lvardef: str_save | {{#ifexpr: {{#lvar:str_save_val}} > 0 | +}}{{#lvar:str_save_val}} }}
{{#lvardef: dex_save | {{#ifexpr: {{#lvar:dex_save_val}} > 0 | +}}{{#lvar:dex_save_val}} }}
{{#lvardef: con_save | {{#ifexpr: {{#lvar:con_save_val}} > 0 | +}}{{#lvar:con_save_val}} }}
{{#lvardef: int_save | {{#ifexpr: {{#lvar:int_save_val}} > 0 | +}}{{#lvar:int_save_val}} }}
{{#lvardef: wis_save | {{#ifexpr: {{#lvar:wis_save_val}} > 0 | +}}{{#lvar:wis_save_val}} }}
{{#lvardef: cha_save | {{#ifexpr: {{#lvar:cha_save_val}} > 0 | +}}{{#lvar:cha_save_val}} }}


<!--  
<!--  
Line 73: Line 90:


<!-- Explorer ability score modifiers -->
<!-- Explorer ability score modifiers -->
{{#lvardef: e_str_mod | {{#ifexpr: {{#lvar:e_str}} > 11 | + }}{{#expr: floor({{#lvar:e_str}} / 2) - 5 }} }}
{{#lvardef: e_str_mod | {{plus if pos | floor({{#lvar:e_str}} / 2) - 5 }} }}
{{#lvardef: e_dex_mod | {{#ifexpr: {{#lvar:e_dex}} > 11 | + }}{{#expr: floor({{#lvar:e_dex}} / 2) - 5 }} }}
{{#lvardef: e_dex_mod | {{plus if pos | floor({{#lvar:e_dex}} / 2) - 5 }} }}
{{#lvardef: e_con_mod | {{#ifexpr: {{#lvar:e_con}} > 11 | + }}{{#expr: floor({{#lvar:e_con}} / 2) - 5 }} }}
{{#lvardef: e_con_mod | {{plus if pos | floor({{#lvar:e_con}} / 2) - 5 }} }}
{{#lvardef: e_int_mod | {{#ifexpr: {{#lvar:e_int}} > 11 | + }}{{#expr: floor({{#lvar:e_int}} / 2) - 5 }} }}
{{#lvardef: e_int_mod | {{plus if pos | floor({{#lvar:e_int}} / 2) - 5 }} }}
{{#lvardef: e_wis_mod | {{#ifexpr: {{#lvar:e_wis}} > 11 | + }}{{#expr: floor({{#lvar:e_wis}} / 2) - 5 }} }}
{{#lvardef: e_wis_mod | {{plus if pos | floor({{#lvar:e_wis}} / 2) - 5 }} }}
{{#lvardef: e_cha_mod | {{#ifexpr: {{#lvar:e_cha}} > 11 | + }}{{#expr: floor({{#lvar:e_cha}} / 2) - 5 }} }}
{{#lvardef: e_cha_mod | {{plus if pos | floor({{#lvar:e_cha}} / 2) - 5 }} }}


<!-- Explorer initiative bonus -->
<!-- Explorer initiative bonus -->
{{#lvardef: e_extra_init | {{{e extra init | {{{extra init|}}} }}} }}
{{#lvardef: e_extra_init | {{{e extra init | {{{extra init|}}} }}} }}
{{#lvardef: e_init_bonus |
{{#lvardef: e_init_bonus | {{plus if pos |
   {{{e initiative |
   {{{e initiative |
     {{{initiative |
     {{{initiative |
       {{#if: {{#lvar:e_dex}} |
       {{#if: {{#lvar:e_dex}} |
         {{#expr: {{#lvar:e_dex_mod}} + {{#lvar:e_extra_init|0}} }}
         {{#lvar:e_dex_mod}} + {{#lvar:e_extra_init|0}}
       }}
       }}
     }}}
     }}}
   }}}
   }}}
}}
}} }}


<!-- Explorer level -->
<!-- Explorer level -->
Line 99: Line 116:
| {{#lvardef: e_prof_bonus | {{{e prof bonus | {{{prof bonus|}}} }}} }}
| {{#lvardef: e_prof_bonus | {{{e prof bonus | {{{prof bonus|}}} }}} }}
| {{#if: {{#lvar:e_level}}
| {{#if: {{#lvar:e_level}}
   | {{#lvardef: e_prof_bonus | +{{#expr: 2 {{#ifexpr: {{#lvar:e_level}} >= 5 | + 1}} {{#ifexpr: {{#lvar:e_level}} >= 9 | + 1}} }} }}
   | {{#lvardef: e_prof_bonus | +{{#expr: 2 {{#ifexpr: {{#lvar:e_level}} >= 5 | + 1}} {{#ifexpr: {{#lvar:e_level}} >= 9 | + 1}} + 2 }} }}
   }}
   }}
}}
}}
Line 110: Line 127:
{{#lvardef: e_wis_save_prof | {{{e wis save prof | {{{wis save prof|}}} }}} }}
{{#lvardef: e_wis_save_prof | {{{e wis save prof | {{{wis save prof|}}} }}} }}
{{#lvardef: e_cha_save_prof | {{{e cha save prof | {{{cha save prof|}}} }}} }}
{{#lvardef: e_cha_save_prof | {{{e cha save prof | {{{cha save prof|}}} }}} }}
<!-- Explorer saving throw extra -->
{{#lvardef: e_str_save_extra | {{{e str save extra | {{{str save extra|0}}} }}} }}
{{#lvardef: e_dex_save_extra | {{{e dex save extra | {{{dex save extra|0}}} }}} }}
{{#lvardef: e_con_save_extra | {{{e con save extra | {{{con save extra|0}}} }}} }}
{{#lvardef: e_int_save_extra | {{{e int save extra | {{{int save extra|0}}} }}} }}
{{#lvardef: e_wis_save_extra | {{{e wis save extra | {{{wis save extra|0}}} }}} }}
{{#lvardef: e_cha_save_extra | {{{e cha save extra | {{{cha save extra|0}}} }}} }}


<!-- Explorer saving throw bonuses -->
<!-- Explorer saving throw bonuses -->
{{#lvardef: e_str_save_val | {{#expr: {{#lvar:e_str_mod}} {{#if: {{#lvar:e_str_save_prof}} | {{#lvar:e_prof_bonus}} }} }} }}
{{#lvardef: e_str_save | {{plus if pos | {{#lvar:e_str_mod}} {{#if: {{#lvar:e_str_save_prof}} | {{#lvar:e_prof_bonus}} }} + {{#lvar: e_str_save_extra}} }} }}
{{#lvardef: e_dex_save_val | {{#expr: {{#lvar:e_dex_mod}} {{#if: {{#lvar:e_dex_save_prof}} | {{#lvar:e_prof_bonus}} }} }} }}
{{#lvardef: e_dex_save | {{plus if pos | {{#lvar:e_dex_mod}} {{#if: {{#lvar:e_dex_save_prof}} | {{#lvar:e_prof_bonus}} }} + {{#lvar: e_dex_save_extra}} }} }}
{{#lvardef: e_con_save_val | {{#expr: {{#lvar:e_con_mod}} {{#if: {{#lvar:e_con_save_prof}} | {{#lvar:e_prof_bonus}} }} }} }}
{{#lvardef: e_con_save | {{plus if pos | {{#lvar:e_con_mod}} {{#if: {{#lvar:e_con_save_prof}} | {{#lvar:e_prof_bonus}} }} + {{#lvar: e_con_save_extra}} }} }}
{{#lvardef: e_int_save_val | {{#expr: {{#lvar:e_int_mod}} {{#if: {{#lvar:e_int_save_prof}} | {{#lvar:e_prof_bonus}} }} }} }}
{{#lvardef: e_int_save | {{plus if pos | {{#lvar:e_int_mod}} {{#if: {{#lvar:e_int_save_prof}} | {{#lvar:e_prof_bonus}} }} + {{#lvar: e_int_save_extra}} }} }}
{{#lvardef: e_wis_save_val | {{#expr: {{#lvar:e_wis_mod}} {{#if: {{#lvar:e_wis_save_prof}} | {{#lvar:e_prof_bonus}} }} }} }}
{{#lvardef: e_wis_save | {{plus if pos | {{#lvar:e_wis_mod}} {{#if: {{#lvar:e_wis_save_prof}} | {{#lvar:e_prof_bonus}} }} + {{#lvar: e_wis_save_extra}} }} }}
{{#lvardef: e_cha_save_val | {{#expr: {{#lvar:e_cha_mod}} {{#if: {{#lvar:e_cha_save_prof}} | {{#lvar:e_prof_bonus}} }} }} }}
{{#lvardef: e_cha_save | {{plus if pos | {{#lvar:e_cha_mod}} {{#if: {{#lvar:e_cha_save_prof}} | {{#lvar:e_prof_bonus}} }} + {{#lvar: e_cha_save_extra}} }} }}


{{#lvardef: e_str_save | {{#ifexpr: {{#lvar:e_str_save_val}} > 0 | +}}{{#lvar:e_str_save_val}} }}
<!-- Explorer skills -->
{{#lvardef: e_dex_save | {{#ifexpr: {{#lvar:e_dex_save_val}} > 0 | +}}{{#lvar:e_dex_save_val}} }}
{{#lvardef: e_athletics  | {{{e athletics  | {{{athletics|}}} }}} }}
{{#lvardef: e_con_save | {{#ifexpr: {{#lvar:e_con_save_val}} > 0 | +}}{{#lvar:e_con_save_val}} }}
{{#lvardef: e_acrobatics | {{{e acrobatics | {{{acrobatics|}}} }}} }}
{{#lvardef: e_int_save | {{#ifexpr: {{#lvar:e_int_save_val}} > 0 | +}}{{#lvar:e_int_save_val}} }}
{{#lvardef: e_perception | {{{e perception | {{{perception|}}} }}} }}
{{#lvardef: e_wis_save | {{#ifexpr: {{#lvar:e_wis_save_val}} > 0 | +}}{{#lvar:e_wis_save_val}} }}
{{#lvardef: e_cha_save | {{#ifexpr: {{#lvar:e_cha_save_val}} > 0 | +}}{{#lvar:e_cha_save_val}} }}


<!-- Explorer resistances, actions, conditions, passives -->
<!-- Explorer resistances, actions, conditions, passives -->
Line 131: Line 154:
{{#lvardef: e_conditions | {{{e conditions | {{{conditions|}}} }}} }}
{{#lvardef: e_conditions | {{{e conditions | {{{conditions|}}} }}} }}
{{#lvardef: e_passives | {{{e passives | {{{passives|}}} }}} }}
{{#lvardef: e_passives | {{{e passives | {{{passives|}}} }}} }}
<!-- Enables the explorer difficulty tab - make sure you add any new parameters to this list -->
{{#if: {{{e level|}}}{{{e hp|}}}{{{e ac|}}}{{{e extra init|}}}{{{e prof bonus|}}}{{{e movement m|}}}{{{e movement ft|}}}{{{e weight kg|}}}{{{e weight lb|}}}{{{e str save prof|}}}{{{e dex save prof|}}}{{{e con save prof|}}}{{{e int save prof|}}}{{{e wis save prof|}}}{{{e cha save prof|}}}{{{e str|}}}{{{e dex|}}}{{{e con|}}}{{{e int|}}}{{{e wis|}}}{{{e cha|}}}{{{e str mod|}}}{{{e dex mod|}}}{{{e con mod|}}}{{{e int mod|}}}{{{e wis mod|}}}{{{e cha mod|}}}{{{e str save|}}}{{{e dex save|}}}{{{e con save|}}}{{{e int save|}}}{{{e wis save|}}}{{{e cha save|}}}{{{e str save extra|}}}{{{e dex save extra|}}}{{{e con save extra|}}}{{{e int save extra|}}}{{{e wis save extra|}}}{{{e cha save extra|}}}{{{e resistances|}}}{{{e actions|}}}{{{e conditions|}}}{{{e passives|}}} | {{#lvardef: has_explorer_stats | 1 }} | }}


<!--  
<!--  
Line 155: Line 181:


<!-- Tactician ability score modifiers -->
<!-- Tactician ability score modifiers -->
{{#lvardef: t_str_mod | {{#ifexpr: {{#lvar:t_str}} > 11 | + }}{{#expr: floor({{#lvar:t_str}} / 2) - 5 }} }}
{{#lvardef: t_str_mod | {{plus if pos | floor({{#lvar:t_str}} / 2) - 5 }} }}
{{#lvardef: t_dex_mod | {{#ifexpr: {{#lvar:t_dex}} > 11 | + }}{{#expr: floor({{#lvar:t_dex}} / 2) - 5 }} }}
{{#lvardef: t_dex_mod | {{plus if pos | floor({{#lvar:t_dex}} / 2) - 5 }} }}
{{#lvardef: t_con_mod | {{#ifexpr: {{#lvar:t_con}} > 11 | + }}{{#expr: floor({{#lvar:t_con}} / 2) - 5 }} }}
{{#lvardef: t_con_mod | {{plus if pos | floor({{#lvar:t_con}} / 2) - 5 }} }}
{{#lvardef: t_int_mod | {{#ifexpr: {{#lvar:t_int}} > 11 | + }}{{#expr: floor({{#lvar:t_int}} / 2) - 5 }} }}
{{#lvardef: t_int_mod | {{plus if pos | floor({{#lvar:t_int}} / 2) - 5 }} }}
{{#lvardef: t_wis_mod | {{#ifexpr: {{#lvar:t_wis}} > 11 | + }}{{#expr: floor({{#lvar:t_wis}} / 2) - 5 }} }}
{{#lvardef: t_wis_mod | {{plus if pos | floor({{#lvar:t_wis}} / 2) - 5 }} }}
{{#lvardef: t_cha_mod | {{#ifexpr: {{#lvar:t_cha}} > 11 | + }}{{#expr: floor({{#lvar:t_cha}} / 2) - 5 }} }}
{{#lvardef: t_cha_mod | {{plus if pos | floor({{#lvar:t_cha}} / 2) - 5 }} }}


<!-- Tactician initiative bonus -->
<!-- Tactician initiative bonus -->
{{#lvardef: t_extra_init | {{{t extra init | {{{extra init|}}} }}} }}
{{#lvardef: t_extra_init | {{{t extra init | {{{extra init|}}} }}} }}
{{#lvardef: t_init_bonus |
{{#lvardef: t_init_bonus | {{plus if pos |
   {{{t initiative |
   {{{t initiative |
     {{{initiative |
     {{{initiative |
       {{#if: {{#lvar:t_dex}} |
       {{#if: {{#lvar:t_dex}} |
         {{#expr: {{#lvar:t_dex_mod}} + {{#lvar:t_extra_init|0}} }}
         {{#lvar:t_dex_mod}} + {{#lvar:t_extra_init|0}}
       }}
       }}
     }}}
     }}}
   }}}
   }}}
}}
}} }}


<!-- Tactician level -->
<!-- Tactician level -->
Line 193: Line 219:
{{#lvardef: t_cha_save_prof | {{{t cha save prof | {{{cha save prof|}}} }}} }}
{{#lvardef: t_cha_save_prof | {{{t cha save prof | {{{cha save prof|}}} }}} }}


<!-- Tactician saving throw bonuses -->
<!-- Tactician saving throw extra -->
{{#lvardef: t_str_save_val | {{#expr: {{#lvar:t_str_mod}} {{#if: {{#lvar:t_str_save_prof}} | {{#lvar:t_prof_bonus}} }} }} }}
{{#lvardef: t_str_save_extra | {{{t str save extra | {{{str save extra|0}}} }}} }}
{{#lvardef: t_dex_save_val | {{#expr: {{#lvar:t_dex_mod}} {{#if: {{#lvar:t_dex_save_prof}} | {{#lvar:t_prof_bonus}} }} }} }}
{{#lvardef: t_dex_save_extra | {{{t dex save extra | {{{dex save extra|0}}} }}} }}
{{#lvardef: t_con_save_val | {{#expr: {{#lvar:t_con_mod}} {{#if: {{#lvar:t_con_save_prof}} | {{#lvar:t_prof_bonus}} }} }} }}
{{#lvardef: t_con_save_extra | {{{t con save extra | {{{con save extra|0}}} }}} }}
{{#lvardef: t_int_save_val | {{#expr: {{#lvar:t_int_mod}} {{#if: {{#lvar:t_int_save_prof}} | {{#lvar:t_prof_bonus}} }} }} }}
{{#lvardef: t_int_save_extra | {{{t int save extra | {{{int save extra|0}}} }}} }}
{{#lvardef: t_wis_save_val | {{#expr: {{#lvar:t_wis_mod}} {{#if: {{#lvar:t_wis_save_prof}} | {{#lvar:t_prof_bonus}} }} }} }}
{{#lvardef: t_wis_save_extra | {{{t wis save extra | {{{wis save extra|0}}} }}} }}
{{#lvardef: t_cha_save_val | {{#expr: {{#lvar:t_cha_mod}} {{#if: {{#lvar:t_cha_save_prof}} | {{#lvar:t_prof_bonus}} }} }} }}
{{#lvardef: t_cha_save_extra | {{{t cha save extra | {{{cha save extra|0}}} }}} }}


{{#lvardef: t_str_save | {{#ifexpr: {{#lvar:t_str_save_val}} > 0 | +}}{{#lvar:t_str_save_val}} }}
<!-- Tactician saving throws -->
{{#lvardef: t_dex_save | {{#ifexpr: {{#lvar:t_dex_save_val}} > 0 | +}}{{#lvar:t_dex_save_val}} }}
{{#lvardef: t_str_save | {{plus if pos | {{#lvar:t_str_mod}} {{#if: {{#lvar:t_str_save_prof}} | {{#lvar:t_prof_bonus}} }} + {{#lvar:t_str_save_extra}} }} }}
{{#lvardef: t_con_save | {{#ifexpr: {{#lvar:t_con_save_val}} > 0 | +}}{{#lvar:t_con_save_val}} }}
{{#lvardef: t_dex_save | {{plus if pos | {{#lvar:t_dex_mod}} {{#if: {{#lvar:t_dex_save_prof}} | {{#lvar:t_prof_bonus}} }} + {{#lvar:t_dex_save_extra}} }} }}
{{#lvardef: t_int_save | {{#ifexpr: {{#lvar:t_int_save_val}} > 0 | +}}{{#lvar:t_int_save_val}} }}
{{#lvardef: t_con_save | {{plus if pos | {{#lvar:t_con_mod}} {{#if: {{#lvar:t_con_save_prof}} | {{#lvar:t_prof_bonus}} }} + {{#lvar:t_con_save_extra}} }} }}
{{#lvardef: t_wis_save | {{#ifexpr: {{#lvar:t_wis_save_val}} > 0 | +}}{{#lvar:t_wis_save_val}} }}
{{#lvardef: t_int_save | {{plus if pos | {{#lvar:t_int_mod}} {{#if: {{#lvar:t_int_save_prof}} | {{#lvar:t_prof_bonus}} }} + {{#lvar:t_int_save_extra}} }} }}
{{#lvardef: t_cha_save | {{#ifexpr: {{#lvar:t_cha_save_val}} > 0 | +}}{{#lvar:t_cha_save_val}} }}
{{#lvardef: t_wis_save | {{plus if pos | {{#lvar:t_wis_mod}} {{#if: {{#lvar:t_wis_save_prof}} | {{#lvar:t_prof_bonus}} }} + {{#lvar:t_wis_save_extra}} }} }}
{{#lvardef: t_cha_save | {{plus if pos | {{#lvar:t_cha_mod}} {{#if: {{#lvar:t_cha_save_prof}} | {{#lvar:t_prof_bonus}} }} + {{#lvar:t_cha_save_extra}} }} }}
 
<!-- Tactician skills -->
{{#lvardef: t_athletics  | {{{t athletics  | {{{athletics|}}}  }}} }}
{{#lvardef: t_acrobatics | {{{t acrobatics | {{{acrobatics|}}} }}} }}
{{#lvardef: t_perception | {{{t perception | {{{perception|}}} }}} }}


<!-- Tactician resistances, conditions, passives -->
<!-- Tactician resistances, conditions, passives -->
Line 213: Line 245:
{{#lvardef: t_conditions | {{{t conditions | {{{conditions|}}} }}} }}
{{#lvardef: t_conditions | {{{t conditions | {{{conditions|}}} }}} }}
{{#lvardef: t_passives | {{{t passives | {{{passives|}}} }}} }}
{{#lvardef: t_passives | {{{t passives | {{{passives|}}} }}} }}
<!-- Enables the tactician difficulty tab - make sure you add any new parameters to this list -->
{{#if: {{{t level|}}}{{{t hp|}}}{{{t ac|}}}{{{t extra init|}}}{{{t prof bonus|}}}{{{t movement m|}}}{{{t movement ft|}}}{{{t weight kg|}}}{{{t weight lb|}}}{{{t str save prof|}}}{{{t dex save prof|}}}{{{t con save prof|}}}{{{t int save prof|}}}{{{t wis save prof|}}}{{{t cha save prof|}}}{{{t str|}}}{{{t dex|}}}{{{t con|}}}{{{t int|}}}{{{t wis|}}}{{{t cha|}}}{{{t str mod|}}}{{{t dex mod|}}}{{{t con mod|}}}{{{t int mod|}}}{{{t wis mod|}}}{{{t cha mod|}}}{{{t str save|}}}{{{t dex save|}}}{{{t con save|}}}{{{t int save|}}}{{{t wis save|}}}{{{t cha save|}}}{{{t str save extra|}}}{{{t dex save extra|}}}{{{t con save extra|}}}{{{t int save extra|}}}{{{t wis save extra|}}}{{{t cha save extra|}}}{{{t resistances|}}}{{{t actions|}}}{{{t conditions|}}}{{{t passives|}}} | {{#lvardef: has_tactician_stats | 1 }} | }}


<!--  
<!--  
Line 237: Line 272:


<!-- Honour ability score modifiers -->
<!-- Honour ability score modifiers -->
{{#lvardef: h_str_mod | {{#ifexpr: {{#lvar:h_str}} > 11 | + }}{{#expr: floor({{#lvar:h_str}} / 2) - 5 }} }}
{{#lvardef: h_str_mod | {{plus if pos | floor({{#lvar:h_str}} / 2) - 5 }} }}
{{#lvardef: h_dex_mod | {{#ifexpr: {{#lvar:h_dex}} > 11 | + }}{{#expr: floor({{#lvar:h_dex}} / 2) - 5 }} }}
{{#lvardef: h_dex_mod | {{plus if pos | floor({{#lvar:h_dex}} / 2) - 5 }} }}
{{#lvardef: h_con_mod | {{#ifexpr: {{#lvar:h_con}} > 11 | + }}{{#expr: floor({{#lvar:h_con}} / 2) - 5 }} }}
{{#lvardef: h_con_mod | {{plus if pos | floor({{#lvar:h_con}} / 2) - 5 }} }}
{{#lvardef: h_int_mod | {{#ifexpr: {{#lvar:h_int}} > 11 | + }}{{#expr: floor({{#lvar:h_int}} / 2) - 5 }} }}
{{#lvardef: h_int_mod | {{plus if pos | floor({{#lvar:h_int}} / 2) - 5 }} }}
{{#lvardef: h_wis_mod | {{#ifexpr: {{#lvar:h_wis}} > 11 | + }}{{#expr: floor({{#lvar:h_wis}} / 2) - 5 }} }}
{{#lvardef: h_wis_mod | {{plus if pos | floor({{#lvar:h_wis}} / 2) - 5 }} }}
{{#lvardef: h_cha_mod | {{#ifexpr: {{#lvar:h_cha}} > 11 | + }}{{#expr: floor({{#lvar:h_cha}} / 2) - 5 }} }}
{{#lvardef: h_cha_mod | {{plus if pos | floor({{#lvar:h_cha}} / 2) - 5 }} }}


<!-- Honour initiative bonus -->
<!-- Honour initiative bonus -->
{{#lvardef: h_extra_init | {{{h extra init | {{#lvar:t_extra_init}} }}} }}
{{#lvardef: h_extra_init | {{{h extra init | {{#lvar:t_extra_init}} }}} }}
{{#lvardef: h_init_bonus |
{{#lvardef: h_init_bonus | {{plus if pos |
   {{{h initiative |
   {{{h initiative |
     {{{t initiative |
     {{{t initiative |
       {{{initiative |
       {{{initiative |
         {{#if: {{#lvar:h_dex}} |
         {{#if: {{#lvar:h_dex}} |
           {{#expr: {{#lvar:h_dex_mod}} + {{#lvar:h_extra_init|0}} }}
           {{#lvar:h_dex_mod}} + {{#lvar:h_extra_init|0}}
         }}
         }}
       }}}
       }}}
     }}}
     }}}
   }}}
   }}}
}}
}} }}


<!-- Honour level -->
<!-- Honour level -->
Line 276: Line 311:
{{#lvardef: h_wis_save_prof | {{{h wis save prof | {{#lvar:t_wis_save_prof}} }}} }}
{{#lvardef: h_wis_save_prof | {{{h wis save prof | {{#lvar:t_wis_save_prof}} }}} }}
{{#lvardef: h_cha_save_prof | {{{h cha save prof | {{#lvar:t_cha_save_prof}} }}} }}
{{#lvardef: h_cha_save_prof | {{{h cha save prof | {{#lvar:t_cha_save_prof}} }}} }}
<!-- Honour saving throw extra -->
{{#lvardef: h_str_save_extra | {{{h str save extra | {{#lvar:t_str_save_extra}} }}} }}
{{#lvardef: h_dex_save_extra | {{{h dex save extra | {{#lvar:t_dex_save_extra}} }}} }}
{{#lvardef: h_con_save_extra | {{{h con save extra | {{#lvar:t_con_save_extra}} }}} }}
{{#lvardef: h_int_save_extra | {{{h int save extra | {{#lvar:t_int_save_extra}} }}} }}
{{#lvardef: h_wis_save_extra | {{{h wis save extra | {{#lvar:t_wis_save_extra}} }}} }}
{{#lvardef: h_cha_save_extra | {{{h cha save extra | {{#lvar:t_cha_save_extra}} }}} }}


<!-- Honour saving throw bonuses -->
<!-- Honour saving throw bonuses -->
{{#lvardef: h_str_save_val | {{#expr: {{#lvar:h_str_mod}} {{#if: {{#lvar:h_str_save_prof}} | {{#lvar:h_prof_bonus}} }} }} }}
{{#lvardef: h_str_save | {{plus if pos | {{#lvar:h_str_mod}} {{#if: {{#lvar:h_str_save_prof}} | {{#lvar:h_prof_bonus}} }} +  {{#lvar: h_str_save_extra}} }} }}
{{#lvardef: h_dex_save_val | {{#expr: {{#lvar:h_dex_mod}} {{#if: {{#lvar:h_dex_save_prof}} | {{#lvar:h_prof_bonus}} }} }} }}
{{#lvardef: h_dex_save | {{plus if pos | {{#lvar:h_dex_mod}} {{#if: {{#lvar:h_dex_save_prof}} | {{#lvar:h_prof_bonus}} }} + {{#lvar: h_str_save_extra}} }} }}
{{#lvardef: h_con_save_val | {{#expr: {{#lvar:h_con_mod}} {{#if: {{#lvar:h_con_save_prof}} | {{#lvar:h_prof_bonus}} }} }} }}
{{#lvardef: h_con_save | {{plus if pos | {{#lvar:h_con_mod}} {{#if: {{#lvar:h_con_save_prof}} | {{#lvar:h_prof_bonus}} }} + {{#lvar: h_str_save_extra}} }} }}
{{#lvardef: h_int_save_val | {{#expr: {{#lvar:h_int_mod}} {{#if: {{#lvar:h_int_save_prof}} | {{#lvar:h_prof_bonus}} }} }} }}
{{#lvardef: h_int_save | {{plus if pos | {{#lvar:h_int_mod}} {{#if: {{#lvar:h_int_save_prof}} | {{#lvar:h_prof_bonus}} }} + {{#lvar: h_str_save_extra}} }} }}
{{#lvardef: h_wis_save_val | {{#expr: {{#lvar:h_wis_mod}} {{#if: {{#lvar:h_wis_save_prof}} | {{#lvar:h_prof_bonus}} }} }} }}
{{#lvardef: h_wis_save | {{plus if pos | {{#lvar:h_wis_mod}} {{#if: {{#lvar:h_wis_save_prof}} | {{#lvar:h_prof_bonus}} }} + {{#lvar: h_cha_save_extra}} }} }}
{{#lvardef: h_cha_save_val | {{#expr: {{#lvar:h_cha_mod}} {{#if: {{#lvar:h_cha_save_prof}} | {{#lvar:h_prof_bonus}} }} }} }}
{{#lvardef: h_cha_save | {{plus if pos | {{#lvar:h_cha_mod}} {{#if: {{#lvar:h_cha_save_prof}} | {{#lvar:h_prof_bonus}} }} + {{#lvar: h_cha_save_extra}} }} }}


{{#lvardef: h_str_save | {{#ifexpr: {{#lvar:h_str_save_val}} > 0 | +}}{{#lvar:h_str_save_val}} }}
<!-- Honour skills -->
{{#lvardef: h_dex_save | {{#ifexpr: {{#lvar:h_dex_save_val}} > 0 | +}}{{#lvar:h_dex_save_val}} }}
{{#lvardef: h_athletics  | {{{h athletics  | {{{athletics|}}} }}} }}
{{#lvardef: h_con_save | {{#ifexpr: {{#lvar:h_con_save_val}} > 0 | +}}{{#lvar:h_con_save_val}} }}
{{#lvardef: h_acrobatics | {{{h acrobatics | {{{acrobatics|}}} }}} }}
{{#lvardef: h_int_save | {{#ifexpr: {{#lvar:h_int_save_val}} > 0 | +}}{{#lvar:h_int_save_val}} }}
{{#lvardef: h_perception | {{{h perception | {{{perception|}}} }}} }}
{{#lvardef: h_wis_save | {{#ifexpr: {{#lvar:h_wis_save_val}} > 0 | +}}{{#lvar:h_wis_save_val}} }}
{{#lvardef: h_cha_save | {{#ifexpr: {{#lvar:h_cha_save_val}} > 0 | +}}{{#lvar:h_cha_save_val}} }}


<!-- Honour resistances, conditions, passives -->
<!-- Honour resistances, conditions, passives -->
Line 297: Line 338:
{{#lvardef: h_conditions | {{{h conditions | {{#lvar:t_conditions}} }}} }}
{{#lvardef: h_conditions | {{{h conditions | {{#lvar:t_conditions}} }}} }}
{{#lvardef: h_passives | {{{h passives | {{#lvar:t_passives}} }}} }}
{{#lvardef: h_passives | {{{h passives | {{#lvar:t_passives}} }}} }}
<!-- Enables the honour mode and tactician difficulty tab - make sure you add any new parameters to this list -->
{{#if: {{{h level|}}}{{{h hp|}}}{{{h ac|}}}{{{h extra init|}}}{{{h prof bonus|}}}{{{h movement m|}}}{{{h movement ft|}}}{{{h weight kg|}}}{{{h weight lb|}}}{{{h str save prof|}}}{{{h dex save prof|}}}{{{h con save prof|}}}{{{h int save prof|}}}{{{h wis save prof|}}}{{{h cha save prof|}}}{{{h str|}}}{{{h dex|}}}{{{h con|}}}{{{h int|}}}{{{h wis|}}}{{{h cha|}}}{{{h str mod|}}}{{{h dex mod|}}}{{{h con mod|}}}{{{h int mod|}}}{{{h wis mod|}}}{{{h cha mod|}}}{{{h str save|}}}{{{h dex save|}}}{{{h con save|}}}{{{h int save|}}}{{{h wis save|}}}{{{h cha save|}}}{{{h str save extra|}}}{{{h dex save extra|}}}{{{h con save extra|}}}{{{h int save extra|}}}{{{h wis save extra|}}}{{{h cha save extra|}}}{{{h resistances|}}}{{{h actions|}}}{{{h conditions|}}}{{{h passives|}}} | {{#lvardef: has_honour_stats | 1 }}{{#lvardef: has_tactician_stats | 1 }} | }}


{{#if: {{{initiative|}}} {{{e initiative|}}} {{{t initiative|}}} {{{h initiative|}}}
{{#if: {{{initiative|}}} {{{e initiative|}}} {{{t initiative|}}} {{{h initiative|}}}
| [[Category:Pages setting creature infobox initiative directly]]
| {{Main namespace only|[[Category:Pages setting creature infobox initiative directly]]}}
}}
{{#if: {{{hp|}}}
| {{#if: {{{t hp|}}} | | {{Main namespace only|[[Category:Pages with hp but no tactician hp]]}} }}{{#if: {{{e hp|}}} | | {{Main namespace only|[[Category:Pages with hp but no explorer hp]]}} }}
}}
{{#if: {{{image|}}}||{{Main namespace only|[[Category:Infoboxes with no images]]}}}}
 
}}
}}


}}{{Infobox creature/internal
{{Infobox creature/internal
| name = {{{name|}}}
| name = {{{name|}}}
| title = {{{title|}}}
| title = {{{title|}}}
| image = {{{image|}}}
| image = {{{image|}}}
| full name = {{{full name|}}}
| full name = {{{full name|}}}
| va = {{{va|}}}
| identity = {{{identity|}}}
| va = {{#lvar:va}}
| role = {{{role|}}}
| role = {{{role|}}}
| faction = {{{faction|}}}
| faction = {{{faction|}}}
| family = {{{family|}}}
| family = {{{family|}}}
| hometown = {{{hometown|}}}
| hometown = {{{hometown|}}}
 
| occupation = {{{occupation|}}}
| size = {{{size|}}}
| size = {{{size|}}}
| type = {{{type|}}}
| type = {{{type|}}}
| race = {{{race|}}}
| race = {{{race|}}}
| subrace = {{{subrace|}}}
| archetype = {{{archetype|}}}
| class = {{{class|}}}
| class = {{{class|}}}
| subclass = {{{subclass|}}}
| deity = {{{deity|}}}
| background = {{{background|}}}
| background = {{{background|}}}


| level = {{#lvar:level}}
| level = {{{level|}}}
| hp = {{{hp|}}}
| hp = {{{hp|}}}
| ac = {{{ac|}}}
| ac = {{{ac|}}}
Line 356: Line 411:
| wis save prof = {{{wis save prof|}}}
| wis save prof = {{{wis save prof|}}}
| cha save prof = {{{cha save prof|}}}
| cha save prof = {{{cha save prof|}}}
| athletics  = {{{athletics|}}}
| acrobatics = {{{acrobatics|}}}
| perception = {{{perception|}}}


| resistances = {{{resistances|}}}
| resistances = {{{resistances|}}}
Line 362: Line 421:
| passives = {{{passives|}}}
| passives = {{{passives|}}}


| e level = {{#lvar:e_level}}
| e level = {{#if: {{#lvar: has_explorer_stats}} | {{{e level | {{{level|}}} }}} | }}
| e hp = {{#lvar:e_hp}}
| e hp = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_hp}} | }}
| e ac = {{#lvar:e_ac}}
| e ac = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_ac}} | }}
| e init bonus = {{#lvar:e_init_bonus}}
| e init bonus = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_init_bonus}} | }}
| e prof bonus = {{#lvar:e_prof_bonus}}
| e prof bonus = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_prof_bonus}} | }}
| e movement m = {{#lvar:e_movement_m}}
| e movement m = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_movement_m}} | }}
| e movement ft = {{#lvar:e_movement_ft}}
| e movement ft = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_movement_ft}} | }}
| e weight kg = {{#lvar:e_weight_kg}}
| e weight kg = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_weight_kg}} | }}
| e weight lb = {{#lvar:e_weight_lb}}
| e weight lb = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_weight_lb}} | }}
 
| e str save prof = {{#lvar:e_str_save_prof}}
| e dex save prof = {{#lvar:e_dex_save_prof}}
| e con save prof = {{#lvar:e_con_save_prof}}
| e int save prof = {{#lvar:e_int_save_prof}}
| e wis save prof = {{#lvar:e_wis_save_prof}}
| e cha save prof = {{#lvar:e_cha_save_prof}}
 
| e str = {{#lvar:e_str}}
| e dex = {{#lvar:e_dex}}
| e con = {{#lvar:e_con}}
| e int = {{#lvar:e_int}}
| e wis = {{#lvar:e_wis}}
| e cha = {{#lvar:e_cha}}
 
| e str mod = {{#lvar:e_str_mod}}
| e dex mod = {{#lvar:e_dex_mod}}
| e con mod = {{#lvar:e_con_mod}}
| e int mod = {{#lvar:e_int_mod}}
| e wis mod = {{#lvar:e_wis_mod}}
| e cha mod = {{#lvar:e_cha_mod}}
 
| e str save = {{#lvar:e_str_save}}
| e dex save = {{#lvar:e_dex_save}}
| e con save = {{#lvar:e_con_save}}
| e int save = {{#lvar:e_int_save}}
| e wis save = {{#lvar:e_wis_save}}
| e cha save = {{#lvar:e_cha_save}}
 
| e resistances = {{#lvar:e_resistances}}
| e actions = {{#lvar:e_actions}}
| e conditions = {{#lvar:e_conditions}}
| e passives = {{#lvar:e_passives}}
 
| t level = {{#lvar:t_level}}
| t hp = {{#lvar:t_hp}}
| t ac = {{#lvar:t_ac}}
| t init bonus = {{#lvar:t_init_bonus}}
| t prof bonus = {{#lvar:t_prof_bonus}}
| t movement m = {{#lvar:t_movement_m}}
| t movement ft = {{#lvar:t_movement_ft}}
| t weight kg = {{#lvar:t_weight_kg}}
| t weight lb = {{#lvar:t_weight_lb}}
 
| t str save prof = {{#lvar:t_str_save_prof}}
| t dex save prof = {{#lvar:t_dex_save_prof}}
| t con save prof = {{#lvar:t_con_save_prof}}
| t int save prof = {{#lvar:t_int_save_prof}}
| t wis save prof = {{#lvar:t_wis_save_prof}}
| t cha save prof = {{#lvar:t_cha_save_prof}}
 
| t str = {{#lvar:t_str}}
| t dex = {{#lvar:t_dex}}
| t con = {{#lvar:t_con}}
| t int = {{#lvar:t_int}}
| t wis = {{#lvar:t_wis}}
| t cha = {{#lvar:t_cha}}
 
| t str mod = {{#lvar:t_str_mod}}
| t dex mod = {{#lvar:t_dex_mod}}
| t con mod = {{#lvar:t_con_mod}}
| t int mod = {{#lvar:t_int_mod}}
| t wis mod = {{#lvar:t_wis_mod}}
| t cha mod = {{#lvar:t_cha_mod}}
 
| t str save = {{#lvar:t_str_save}}
| t dex save = {{#lvar:t_dex_save}}
| t con save = {{#lvar:t_con_save}}
| t int save = {{#lvar:t_int_save}}
| t wis save = {{#lvar:t_wis_save}}
| t cha save = {{#lvar:t_cha_save}}
 
| t resistances = {{#lvar:t_resistances}}
| t actions = {{#lvar:t_actions}}
| t conditions = {{#lvar:t_conditions}}
| t passives = {{#lvar:t_passives}}
 
| h level = {{#lvar:h_level}}
| h hp = {{#lvar:h_hp}}
| h ac = {{#lvar:h_ac}}
| h init bonus = {{#lvar:h_init_bonus}}
| h prof bonus = {{#lvar:h_prof_bonus}}
| h movement m = {{#lvar:h_movement_m}}
| h movement ft = {{#lvar:h_movement_ft}}
| h weight kg = {{#lvar:h_weight_kg}}
| h weight lb = {{#lvar:h_weight_lb}}


| h str save prof = {{#lvar:h_str_save_prof}}
| e str save prof = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_str_save_prof}} | }}
| h dex save prof = {{#lvar:h_dex_save_prof}}
| e dex save prof = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_dex_save_prof}} | }}
| h con save prof = {{#lvar:h_con_save_prof}}
| e con save prof = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_con_save_prof}} | }}
| h int save prof = {{#lvar:h_int_save_prof}}
| e int save prof = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_int_save_prof}} | }}
| h wis save prof = {{#lvar:h_wis_save_prof}}
| e wis save prof = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_wis_save_prof}} | }}
| h cha save prof = {{#lvar:h_cha_save_prof}}
| e cha save prof = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_cha_save_prof}} | }}


| h str = {{#lvar:h_str}}
| e str = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_str}} | }}
| h dex = {{#lvar:h_dex}}
| e dex = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_dex}} | }}
| h con = {{#lvar:h_con}}
| e con = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_con}} | }}
| h int = {{#lvar:h_int}}
| e int = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_int}} | }}
| h wis = {{#lvar:h_wis}}
| e wis = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_wis}} | }}
| h cha = {{#lvar:h_cha}}
| e cha = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_cha}} | }}


| h str mod = {{#lvar:h_str_mod}}
| e str mod = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_str_mod}} | }}
| h dex mod = {{#lvar:h_dex_mod}}
| e dex mod = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_dex_mod}} | }}
| h con mod = {{#lvar:h_con_mod}}
| e con mod = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_con_mod}} | }}
| h int mod = {{#lvar:h_int_mod}}
| e int mod = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_int_mod}} | }}
| h wis mod = {{#lvar:h_wis_mod}}
| e wis mod = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_wis_mod}} | }}
| h cha mod = {{#lvar:h_cha_mod}}
| e cha mod = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_cha_mod}} | }}


| h str save = {{#lvar:h_str_save}}
| e str save = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_str_save}} | }}
| h dex save = {{#lvar:h_dex_save}}
| e dex save = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_dex_save}} | }}
| h con save = {{#lvar:h_con_save}}
| e con save = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_con_save}} | }}
| h int save = {{#lvar:h_int_save}}
| e int save = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_int_save}} | }}
| h wis save = {{#lvar:h_wis_save}}
| e wis save = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_wis_save}} | }}
| h cha save = {{#lvar:h_cha_save}}
| e cha save = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_cha_save}} | }}


| h resistances = {{#lvar:h_resistances}}
| e athletics  = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_athletics}} | }}
| h actions = {{#lvar:h_actions}}
| e acrobatics = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_acrobatics}} | }}
| h conditions = {{#lvar:h_conditions}}
| e perception = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_perception}} | }}
| h passives = {{#lvar:h_passives}}


}}</includeonly><noinclude>{{Infobox creature
| e resistances = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_resistances}} | }}
| name = Test
| e actions = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_actions}} | }}
| title = Title
| e conditions = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_conditions}} | }}
| image =
| e passives = {{#if: {{#lvar: has_explorer_stats}} | {{#lvar:e_passives}} | }}
<gallery>
Steel Watcher Ranged.png|Ranged
Steel Watcher Model.png|Model
</gallery>
| page image = Steel Watcher Model.png
| full name = Duke Wellington
| va = Keanu Reeves
| role = Mascot
| faction = Gondor
| family = The Reeves'
| hometown = The Shire


| size = Smol
| t level = {{#if: {{#lvar: has_tactician_stats}} | {{{t level | {{{level|}}} }}} | }}
| type = Mammal
| t hp = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_hp}} | }}
| race = Cat
| t ac = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_ac}} | }}
| class = Felinid
| t init bonus = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_init_bonus}} | }}
| background = Outlander
| t prof bonus = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_prof_bonus}} | }}
| t movement m = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_movement_m}} | }}
| t movement ft = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_movement_ft}} | }}
| t weight kg = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_weight_kg}} | }}
| t weight lb = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_weight_lb}} | }}


| level = 10
| t str save prof = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_str_save_prof}} | }}
| hp = 10
| t dex save prof = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_dex_save_prof}} | }}
| ac = 10
| t con save prof = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_con_save_prof}} | }}
| extra init = +3
| t int save prof = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_int_save_prof}} | }}
| prof bonus = +4
| t wis save prof = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_wis_save_prof}} | }}
| movement m = 9
| t cha save prof = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_cha_save_prof}} | }}
| weight kg = 600


| str = 11
| t str = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_str}} | }}
| dex = 12
| t dex = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_dex}} | }}
| con = 13
| t con = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_con}} | }}
| int = 14
| t int = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_int}} | }}
| wis = 15
| t wis = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_wis}} | }}
| cha = 16
| t cha = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_cha}} | }}


| dex save prof = yes
| t str mod = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_str_mod}} | }}
| con save prof = yes
| t dex mod = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_dex_mod}} | }}
| t con mod = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_con_mod}} | }}
| t int mod = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_int_mod}} | }}
| t wis mod = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_wis_mod}} | }}
| t cha mod = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_cha_mod}} | }}


| resistances = fire resistant, cold resistant, lightning vulnerable
| t str save = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_str_save}} | }}
| actions = Absolute Power, Dueller's Enthusiasm
| t dex save = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_dex_save}} | }}
| conditions = Aura of Protection, Aura of Hate
| t con save = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_con_save}} | }}
| passives = Agile Chassis, Cull the Weak (Drider)
| t int save = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_int_save}} | }}
| t wis save = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_wis_save}} | }}
| t cha save = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_cha_save}} | }}


| e level = 8
| t athletics  = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_athletics}} | }}
| e hp = 8
| t acrobatics = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_acrobatics}} | }}
| e ac = 8
| t perception = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_perception}} | }}
| e extra init = +2
| e prof bonus = +3


| e str = 10
| t resistances = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_resistances}} | }}
| e dex = 11
| t actions = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_actions}} | }}
| e con = 12
| t conditions = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_conditions}} | }}
| e int = 13
| t passives = {{#if: {{#lvar: has_tactician_stats}} | {{#lvar:t_passives}} | }}
| e wis = 14
| e cha = 15


| e resistances = cold resistant
| h level = {{#if: {{#lvar: has_honour_stats}} | {{{h level | {{{t level | {{{level|}}} }}} }}} | }}
| e actions = Absolute Power
| h hp = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_hp}} | }}
| e conditions = Aura of Protection
| h ac = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_ac}} | }}
| e passives = Agile Chassis
| h init bonus = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_init_bonus}} | }}
| h prof bonus = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_prof_bonus}} | }}
| h movement m = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_movement_m}} | }}
| h movement ft = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_movement_ft}} | }}
| h weight kg = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_weight_kg}} | }}
| h weight lb = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_weight_lb}} | }}


| t level = 12
| h str save prof = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_str_save_prof}} | }}
| t hp = 12
| h dex save prof = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_dex_save_prof}} | }}
| t ac = 12
| h con save prof = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_con_save_prof}} | }}
| t extra init = +4
| h int save prof = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_int_save_prof}} | }}
| t prof bonus = +5
| h wis save prof = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_wis_save_prof}} | }}
| t movement m = 12
| h cha save prof = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_cha_save_prof}} | }}
| t weight kg = 800


| t str = 13
| h str = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_str}} | }}
| t dex = 14
| h dex = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_dex}} | }}
| t con = 15
| h con = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_con}} | }}
| t int = 16
| h int = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_int}} | }}
| t wis = 17
| h wis = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_wis}} | }}
| t cha = 18
| h cha = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_cha}} | }}


| t resistances = fire immune, cold resistant, slashing immune nm, piercing immune nm, bludgeoning immune nm
| h str mod = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_str_mod}} | }}
| t actions = Absolute Power, Dueller's Enthusiasm, Entangle
| h dex mod = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_dex_mod}} | }}
| t conditions = Aura of Protection, Aura of Hate, Unstoppable
| h con mod = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_con_mod}} | }}
| t passives = Agile Chassis, Cull the Weak (Drider), Adamantine Shield @ Adamantine Shield
| h int mod = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_int_mod}} | }}
| h wis mod = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_wis_mod}} | }}
| h cha mod = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_cha_mod}} | }}


| h level = 14
| h str save = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_str_save}} | }}
| h hp = 14
| h dex save = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_dex_save}} | }}
| h ac = 14
| h con save = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_con_save}} | }}
| h extra init = +5
| h int save = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_int_save}} | }}
| h prof bonus = +6
| h wis save = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_wis_save}} | }}
| h cha save = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_cha_save}} | }}


| h str = 14
| h athletics  = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_athletics}} | }}
| h dex = 15
| h acrobatics = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_acrobatics}} | }}
| h con = 16
| h perception = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_perception}} | }}
| h int = 17
| h wis = 18
| h cha = 19


| h resistances = fire immune, cold immune, slashing immune nm, piercing immune nm, bludgeoning immune nm
| h resistances = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_resistances}} | }}
| h actions = Absolute Power, Dueller's Enthusiasm, Entangle, Fireball
| h actions = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_actions}} | }}
| h conditions = Aura of Protection, Aura of Hate, Unstoppable, Legendary Resistance: Incapacitation
| h conditions = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_conditions}} | }}
| h passives = Agile Chassis, Cull the Weak (Drider), Adamantine Shield @ Adamantine Shield, Fast Hands
| h passives = {{#if: {{#lvar: has_honour_stats}} | {{#lvar:h_passives}} | }}
}}


This is the main creature infobox template. It does a bunch of processing on its parameters before passing on all the results to [[Template:Infobox creature/internal]] for displaying.
}}</includeonly><noinclude>{{documentation}}</noinclude>
 
List of helper sub-templates:
 
* [[Template:Infobox creature/internal]]
* [[Template:Infobox creature/actions format]]
* [[Template:Infobox creature/actions query]]
* [[Template:Infobox creature/conditions format]]
* [[Template:Infobox creature/conditions query]]
* [[Template:Infobox creature/passives format]]
* [[Template:Infobox creature/passives parser]]
* [[Template:Infobox creature/passives query]]
 
Usage tips:
 
* To override stats for Explorer, Tactician, or Honour mode, use parameters starting with e, t, or h, respectively. E.g. use <code>t hp</code> to specify the HP value for Tactician difficulty. Explorer and Tactician fall back to Balanced (default) stats when a stat isn't overridden; Honour falls abck to Tactician stats.
* The <code>passives</code> list may contain elements of the format <code>Passive name @ Item name</code> to specify the item that grants the passive. This will make that item's icon be used if the passive itself doesn't have an icon.
* The <code>image</code> property may contain a <code><nowiki><gallery>...</gallery></nowiki></code>.
* The provided image will be automatically set as the page image (as if using [[Template:PageSeo]]), unless it's a gallery. If it's a gallery, you can use the <code>page image</code> property instead to set the page image.
 
Example use:
 
<pre>
{{Infobox creature
| name = Test
| title = Title
| image =
<gallery>
Steel Watcher Ranged.png|Ranged
Steel Watcher Model.png|Model
</gallery>
| full name = Duke Wellington
| va = Keanu Reeves
| role = Mascot
| faction = Gondor
| family = The Reeves'
| hometown = The Shire
 
| size = Smol
| type = Mammal
| race = Cat
| class = Felinid
| background = Outlander
 
| level = 10
| hp = 10
| ac = 10
| initiative = +5
| prof bonus = +4
| movement m = 9
| weight kg = 600
 
| str = 11
| dex = 12
| con = 13
| int = 14
| wis = 15
| cha = 16
 
| dex save prof = yes
| con save prof = yes
 
| resistances = fire resistant, cold resistant, lightning vulnerable
| conditions = Aura of Protection, Aura of Hate
| passives = Agile Chassis, Cull the Weak (Drider)
 
| e level = 8
| e hp = 8
| e ac = 8
| e initiative = +4
| e prof bonus = +3
 
| e str = 10
| e dex = 11
| e con = 12
| e int = 13
| e wis = 14
| e cha = 15
 
| e resistances = cold resistant
| e conditions = Aura of Protection
| e passives = Agile Chassis
 
| t level = 12
| t hp = 12
| t ac = 12
| t initiative = +6
| t prof bonus = +5
| t movement m = 12
| t weight kg = 800
 
| t str = 13
| t dex = 14
| t con = 15
| t int = 16
| t wis = 17
| t cha = 18
 
| t resistances = fire immune, cold resistant, slashing immune nm, piercing immune nm, bludgeoning immune nm
| t conditions = Aura of Protection, Aura of Hate, Unstoppable
| t passives = Agile Chassis, Cull the Weak (Drider), Adamantine Shield @ Adamantine Shield
 
| h level = 14
| h hp = 14
| h ac = 14
| h initiative = +7
| h prof bonus = +6
 
| h str = 14
| h dex = 15
| h con = 16
| h int = 17
| h wis = 18
| h cha = 19
 
| h resistances = fire immune, cold immune, slashing immune nm, piercing immune nm, bludgeoning immune nm
| h conditions = Aura of Protection, Aura of Hate, Unstoppable, Legendary Resistance: Incapacitation
| h passives = Agile Chassis, Cull the Weak (Drider), Adamantine Shield @ Adamantine Shield, Fast Hands
}}
</pre>
</noinclude>

Revision as of 10:20, 22 November 2024

Template documentation

This is the main creature infobox template. It does a bunch of processing on its parameters before passing on all the results to Template:Infobox creature/internal for displaying.

List of helper sub-templates:

Usage tips:

  • To override stats for Explorer, Tactician, or Honour mode, use parameters starting with e, t, or h, respectively. E.g. use t hp to specify the HP value for Tactician difficulty. Explorer and Tactician fall back to Balanced (default) stats when a stat isn't overridden; Honour falls abck to Tactician stats.
  • The passives list may contain elements of the format Passive name @ Item name to specify the item that grants the passive. This will make that item's icon be used if the passive itself doesn't have an icon.
  • The image property may contain a <gallery>...</gallery>.
  • The provided image will be automatically set as the page image (as if using Template:PageSeo), unless it's a gallery. If it's a gallery, you can use the page image property instead to set the page image.

How to specify a creature's initiative bonus:

  • If a creature's initiative bonus is just their Dex modifier, then you mustn't use any initiative-related parameters. It will automatically use the Dex modifier.
  • If a creature has extra initiative bonus through sources other than Dex, use the extra init parameter to specify the extra value (without Dex modifier).
  • For example, if a creature has Alert (+5), Feral Instinct (+3), and Ambusher (+1), then you would specify extra init = 9, and the Dex modifier will be automatically added on top.
  • This way, if the creature's Dex changes between difficulties, the correct initiative bonus will be calculated. If necessary, the extra init parameter can also be changed per difficulty; for example, if the creature's Dex stays the same between difficulties, but they have an additional passive feature in a higher difficulty that grants them extra initiative.

Example use:

{{Infobox creature
| name = Test
| title = Title
| image =
<gallery>
Steel Watcher Ranged.png|Ranged
Steel Watcher Model.png|Model
</gallery>
| page image = Steel Watcher Model.png
| full name = Duke Wellington
| identity = Female
| va = Amelia Tyler
| role = Mascot
| faction = Gondor
| family = Power Puff Girls
| hometown = The Shire
| occupation = Butcher and Baker
| size = Smol
| type = Mammal
| race = Cat
| subrace = Tabby
| archetype = Soldier Cat
| class = Felinid
| subclass = Tiger
| deity = Bastet
| background = Outlander

| level = 10
| hp = 10
| ac = 10
| extra init = +3
| prof bonus = +4
| movement m = 9
| weight kg = 600
| xp = 150

| str = 11
| dex = 12
| con = 13
| int = 14
| wis = 15
| cha = 16

| str save extra = +2
| dex save extra = +3
| con save extra = +4
| int save extra = +5
| wis save extra = +6
| cha save extra = +7

| dex save prof = yes
| con save prof = yes

| perception = 10
| athletics = 8
| acrobatics = 4

| resistances = fire resistant, cold resistant, lightning vulnerable
| actions = Absolute Power, Dueller's Enthusiasm
| conditions = Aura of Protection, Aura of Hate
| passives = Agile Chassis, Cull the Weak (Drider)

| e level = 8
| e hp = 8
| e ac = 8
| e extra init = +2
| e prof bonus = +3

| e str = 10
| e dex = 11
| e con = 12
| e int = 13
| e wis = 14
| e cha = 15

| e str save extra = +2
| e dex save extra = +3
| e con save extra = +4
| e int save extra = +5
| e wis save extra = +6
| e cha save extra = +7

| e resistances = cold resistant
| e actions = Absolute Power
| e conditions = Aura of Protection
| e passives = Agile Chassis

| t level = 12
| t hp = 12
| t ac = 12
| t extra init = +4
| t prof bonus = +5
| t movement m = 12
| t weight kg = 800

| t str = 13
| t dex = 14
| t con = 15
| t int = 16
| t wis = 17
| t cha = 18

| t str save extra = +2
| t dex save extra = +3
| t con save extra = +4
| t int save extra = +5
| t wis save extra = +6
| t cha save extra = +7

| t resistances = fire immune, cold resistant, slashing immune nm, piercing immune nm, bludgeoning immune nm
| t actions = Absolute Power, Dueller's Enthusiasm, Entangle
| t conditions = Aura of Protection, Aura of Hate, Unstoppable
| t passives = Agile Chassis, Cull the Weak (Drider), Adamantine Shield @ Adamantine Shield

| h level = 14
| h hp = 14
| h ac = 14
| h extra init = +5
| h prof bonus = +6

| h str = 14
| h dex = 15
| h con = 16
| h int = 17
| h wis = 18
| h cha = 19

| h str save extra = +2
| h dex save extra = +3
| h con save extra = +4
| h int save extra = +5
| h wis save extra = +6
| h cha save extra = +7

| h resistances = fire immune, cold immune, slashing immune nm, piercing immune nm, bludgeoning immune nm
| h actions = Absolute Power, Dueller's Enthusiasm, Entangle, Fireball
| h conditions = Aura of Protection, Aura of Hate, Unstoppable, Legendary Resistance: Incapacitation
| h passives = Agile Chassis, Cull the Weak (Drider), Adamantine Shield @ Adamantine Shield, Fast Hands
}}