<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theundeadarchive.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TheUnburied</id>
	<title>The Undead Archive - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.theundeadarchive.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TheUnburied"/>
	<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/Special:Contributions/TheUnburied"/>
	<updated>2026-10-20T13:19:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Tupperbox&amp;diff=736</id>
		<title>Tupperbox</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Tupperbox&amp;diff=736"/>
		<updated>2026-08-04T22:55:14Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;Our Reflection bot allows you to send Discord messages as your character. It&amp;#039;s especially helpful in the [https://discord.com/channels/1475709028414914643/1475710713761763430 Public Radio] or [https://discord.com/channels/1475709028414914643/1509303561954136145 Journals] sections, but also completely optional!  The easiest way to set up your character is to use the following command:  &amp;lt;code&amp;gt;tul!register &amp;quot;Character Name&amp;quot; Brackets:text&amp;lt;/code&amp;gt;  {| | Character Name: || Unles...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Our Reflection bot allows you to send Discord messages as your character. It&#039;s especially helpful in the [https://discord.com/channels/1475709028414914643/1475710713761763430 Public Radio] or [https://discord.com/channels/1475709028414914643/1509303561954136145 Journals] sections, but also completely optional!&lt;br /&gt;
&lt;br /&gt;
The easiest way to set up your character is to use the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tul!register &amp;quot;Character Name&amp;quot; Brackets:text&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Character Name: || Unless your character name has spaces in it, the quotes are optional.&lt;br /&gt;
|-&lt;br /&gt;
| Brackets || This is what will be used to send messages as the character. You can customize it however you want.&lt;br /&gt;
|-&lt;br /&gt;
| text || This is a placeholder for your message. You cannot change this.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tul!register Dimplebottom D:text&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This registers &amp;quot;Dimplebottom&amp;quot; as a character, and every time I start a message with &#039;&#039;&#039;D:&#039;&#039;&#039; it&#039;ll send that message as Dimplebottom instead.&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Getting_Started&amp;diff=735</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Getting_Started&amp;diff=735"/>
		<updated>2026-08-04T22:55:07Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: /* Tupperbox (Optional) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From posting a character application to getting your dice set up, here&#039;s a comprehensive guide on getting started on the server.&lt;br /&gt;
&lt;br /&gt;
== Character Creation ==&lt;br /&gt;
# Take a look at the following Discord channels:&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1480677410323042334 Lore]&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1480679149159973065 Factions]&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1480683095140077720 The Story So Far]&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1476351106194870383 Character Template]&lt;br /&gt;
# Submit a &#039;&#039;&#039;Character Creation&#039;&#039;&#039; ticket. From there, you can post a finished character template, or ask Scribes for help brainstorming a character concept.&lt;br /&gt;
# Once staff have approved your character, you&#039;re welcome to proceed to the next steps!&lt;br /&gt;
&lt;br /&gt;
== Character Setup ==&lt;br /&gt;
===Character Stats===&lt;br /&gt;
Next up, it&#039;s time to set up your character statblock. Read up on our [[Dice Overview]] to get a feel for the rules, then head to our [[Dice Bot]] guide on how to set up your character sheet. &lt;br /&gt;
 &#039;&#039;&#039;Note:&#039;&#039;&#039; This setup happens in &#039;&#039;&#039;Discord&#039;&#039;&#039;, either in the [https://discord.com/channels/1475709028414914643/1475729057156042762 Bots] channel or in your Character Creation ticket.&lt;br /&gt;
&lt;br /&gt;
===Tupperbox (Optional)===&lt;br /&gt;
{{:Tupperbox}}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=734</id>
		<title>Dice Overview</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=734"/>
		<updated>2026-08-04T22:50:51Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: /* Range and Movement: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Abilities and Skills==&lt;br /&gt;
&lt;br /&gt;
Abilities represent your fundamental strengths as a survivor. Each &#039;&#039;&#039;Ability&#039;&#039;&#039; governs a set of &#039;&#039;&#039;Skills&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Skills are always rolled with their parent Ability.&lt;br /&gt;
&lt;br /&gt;
When you attempt an action using a Skill, roll the following: &lt;br /&gt;
 d20 + its associated Ability + the Skill level&lt;br /&gt;
&lt;br /&gt;
For example, if you have a +2 Morale and +2 Presence (its parent ability), you&#039;d roll:&lt;br /&gt;
 d20 + 2 (Morale) + 2 (Presence) &lt;br /&gt;
&lt;br /&gt;
Compare the total to a Difficulty Class, or DC, set by the narrator or the rules.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!colspan=2| Physique&lt;br /&gt;
|-&lt;br /&gt;
| Athletics: || Climbing, jumping, swimming, lifting, and other feats of physical exertion.&lt;br /&gt;
|-&lt;br /&gt;
| Melee || Fighting with close combat weapons or unarmed strikes.&lt;br /&gt;
|-&lt;br /&gt;
| Resilience || Enduring pain, resisting poison or illness, and withstanding physical trauma.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Agility&lt;br /&gt;
|-&lt;br /&gt;
| Aiming || Using ranged weapons accurately.&lt;br /&gt;
|-&lt;br /&gt;
| Stealth || Moving quietly, hiding, and avoiding detection.&lt;br /&gt;
|-&lt;br /&gt;
| Reflex || Reacting quickly to danger, avoiding hazards, and resisting sudden effects.&lt;br /&gt;
|-&lt;br /&gt;
| Finesse || Precise manual control, delicate manipulation, or careful physical actions.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Reason&lt;br /&gt;
|-&lt;br /&gt;
| Awareness || Noticing threats, spotting details, and reading intent.&lt;br /&gt;
|-&lt;br /&gt;
| Medicine || Treating wounds, stabilising injuries, and managing illness.&lt;br /&gt;
|-&lt;br /&gt;
| Technology || Using, repairing, or understanding machines and electronic systems.&lt;br /&gt;
|-&lt;br /&gt;
| Academia || General knowledge, research, and recalling learned information.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Presence&lt;br /&gt;
|-&lt;br /&gt;
| Morale || Resisting fear, maintaining composure, and enduring psychological strain.&lt;br /&gt;
|-&lt;br /&gt;
| Intimidation || Coercing or frightening others into compliance.&lt;br /&gt;
|-&lt;br /&gt;
| Persuasion || Convincing others through reason, trust, or emotional appeal.&lt;br /&gt;
|-&lt;br /&gt;
| Deception || Lying convincingly, misleading others, or concealing the truth.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Difficulty Class and Outcomes==&lt;br /&gt;
Difficulty Class (DC) is the number that you compare your roll against. They are set by the rules or the narrator.&lt;br /&gt;
&lt;br /&gt;
After rolling, compare your total to the DC.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Below DC: || Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Below DC || Failure&lt;br /&gt;
|-&lt;br /&gt;
| Meets DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Above DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Above DC || Strong Success&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Examples: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|Success&lt;br /&gt;
|Failure&lt;br /&gt;
|Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 10 and up&lt;br /&gt;
|5-10&lt;br /&gt;
|4-0&lt;br /&gt;
|/&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 15 and up&lt;br /&gt;
|10-14&lt;br /&gt;
|5-9&lt;br /&gt;
|4 and down&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 20 and up&lt;br /&gt;
|15-19&lt;br /&gt;
|10-14&lt;br /&gt;
|9 and down&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 25 and up&lt;br /&gt;
|20-24&lt;br /&gt;
|15-19&lt;br /&gt;
|14 and down&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Narrator DC Guidance: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|-&lt;br /&gt;
| 1-5 || valign=&amp;quot;top&amp;quot; |Trivial tasks,  minimal chance of failure.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || valign=&amp;quot;top&amp;quot; |Easy Tasks,  most people would be able to succeed.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || Doable Tasks, with some effort this should be doable.&lt;br /&gt;
|-&lt;br /&gt;
| 16-20 || Tricky Tasks, probably going to fail if you are untrained.&lt;br /&gt;
|-&lt;br /&gt;
|21-25&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Hard Tasks,  for those with experience.&lt;br /&gt;
|-&lt;br /&gt;
|26-30&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Long Shot,  Even with training it’ll take a lot of luck to get this done.&lt;br /&gt;
|-&lt;br /&gt;
|31+&lt;br /&gt;
|Never, Impossible things should not be rolled for.&lt;br /&gt;
|}&lt;br /&gt;
== Advantage and Disadvantage ==&lt;br /&gt;
Some rules give a roll Advantage or Disadvantage. A narrator will tell you if one applies.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Advantage: || Roll two d20&#039;s, pick the highest.&lt;br /&gt;
|-&lt;br /&gt;
| Disadvantage || Roll two d20&#039;s, pick the lowest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Advantage and Disadvantage do not stack. &lt;br /&gt;
*If a roll has both Advantage and Disadvantage, they cancel out and the roll is made normally.&lt;br /&gt;
&lt;br /&gt;
==Statistics==&lt;br /&gt;
When skills are mentioned in calculations (not just in this section) only use the skill level, the ability will be listed separately if used.&lt;br /&gt;
&lt;br /&gt;
===Health Points===&lt;br /&gt;
 HP = 5 + Physique + (Resilience / 2) rounded down.&lt;br /&gt;
*At 0 current HP, you gain the [[Conditions#Unconscious|{{Tooltip|Unconscious|{{:Conditions/Unconscious}}}}]] Condition.&lt;br /&gt;
&lt;br /&gt;
If you have 2 Physique and 2 Resilience, then your HP would be 8 (5+2+[2/2])&lt;br /&gt;
&lt;br /&gt;
===Stress===&lt;br /&gt;
*Stress represents psychological strain.&lt;br /&gt;
*While resting, you lose 1 Stress at the end of each hour in-game.&lt;br /&gt;
 Stress Cap = 3 + Presence&lt;br /&gt;
*When your Stress reaches your Stress Cap, you must make a Morale Roll and resolve the result according to the table below.&lt;br /&gt;
{|&lt;br /&gt;
! Morale !! Result&lt;br /&gt;
|- &lt;br /&gt;
| 1-5: || You surrender to your opponents.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || Your movement and AP reduced to 0 until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || You must get as far away as you can, until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 16+ || You are stunned until the end of your next turn.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Defenses ===&lt;br /&gt;
Unless otherwise stated by a rule or feature, when someone attempts to attack you the DC is equal to your Base Defense&lt;br /&gt;
&lt;br /&gt;
If you are wearing [[Armor]] on a targeted area, add that to the DC, armor does not get added atop Dodge or Parry DC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Base Defense = 10 + Resilience&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Initiative and Rounds ==&lt;br /&gt;
&lt;br /&gt;
=== Initiative ===&lt;br /&gt;
At the start of combat, each participant rolls Reflex.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, your AP starts out maxed out at the start of combat, even before your first turn.&lt;br /&gt;
&lt;br /&gt;
=== Rounds ===&lt;br /&gt;
A round is the sum of all turns taken by everyone in combat.&lt;br /&gt;
&lt;br /&gt;
A round starts with the character who has the highest Initiative and ends after the character with the lowest Initiative has finished their turn.&lt;br /&gt;
&lt;br /&gt;
Once the lowest Initiative character has finished their turn, a new round begins with the highest Initiative character again.&lt;br /&gt;
&lt;br /&gt;
=== Turns ===&lt;br /&gt;
On your turn, you may spend AP to do your actions.&lt;br /&gt;
&lt;br /&gt;
AP is detailed in the Action Economy section.&lt;br /&gt;
&lt;br /&gt;
== Range and Movement: ==&lt;br /&gt;
&lt;br /&gt;
=== Range: ===&lt;br /&gt;
Range can be split into four tiers:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Melee:&#039;&#039;&#039; Your target is within reach of you. You could touch them with your hands.&lt;br /&gt;
* &#039;&#039;&#039;Nearby:&#039;&#039;&#039; Your target is close-by, but not quite within reach. &lt;br /&gt;
** Effective Weapons: Shotguns, hand crossbows, and thrown weapons.&lt;br /&gt;
* &#039;&#039;&#039;Shooting Distance:&#039;&#039;&#039; Your target isn&#039;t close, but in standard shooting range.&lt;br /&gt;
** Effective Weapons: Standard guns, crossbows.&lt;br /&gt;
* &#039;&#039;&#039;Far:&#039;&#039;&#039; Your target is far away. You can talk to them and see them, but they&#039;re going to be very hard to hit.&lt;br /&gt;
** Effective Weapons: Sniper rifles&lt;br /&gt;
&lt;br /&gt;
Melee attacks can only be made in melee range.&lt;br /&gt;
&lt;br /&gt;
Ranged attacks can be made at any tier. If the distance is below the their they&#039;re effective at, they get a +3 to their Aiming roll. If the distance is above the range they&#039;re effective at, they get a -3 to their roll per tier. Positive modifiers don&#039;t stack, but negative do.&lt;br /&gt;
&lt;br /&gt;
Sniper rifles do not gain a bonus from being at a closer tier.&lt;br /&gt;
{|&lt;br /&gt;
|+&lt;br /&gt;
!&lt;br /&gt;
!Melee&lt;br /&gt;
!Nearby&lt;br /&gt;
!Shooting Distance&lt;br /&gt;
!Far&lt;br /&gt;
|-&lt;br /&gt;
|Melee&lt;br /&gt;
|No Modifier&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Shotguns, Hand Crossbows, Thrown Weapons&lt;br /&gt;
| +3&lt;br /&gt;
|No Modifier&lt;br /&gt;
| -3&lt;br /&gt;
| -6&lt;br /&gt;
|-&lt;br /&gt;
|Standard Guns, Crossbows&lt;br /&gt;
| +3&lt;br /&gt;
| +3&lt;br /&gt;
|No Modifier&lt;br /&gt;
| -3&lt;br /&gt;
|-&lt;br /&gt;
|Sniper Rifles&lt;br /&gt;
|No Modifier&lt;br /&gt;
|No Modifier&lt;br /&gt;
|No Modifier&lt;br /&gt;
|No Modifier&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Movement: ===&lt;br /&gt;
You can move 1 tier for free on your turn. To move another tier, you may spend 1 AP per tier moved.&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to move from Shooting Distance to Far (or vice versa), you must spend 3 AP.&lt;br /&gt;
&lt;br /&gt;
= Action Economy =&lt;br /&gt;
Each character has a maximum number of Action Points (AP).&lt;br /&gt;
&lt;br /&gt;
By default, a character has &#039;&#039;&#039;4 maximum AP&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You spend AP to take actions on your turn and to take Reactions when their triggers occur.&lt;br /&gt;
&lt;br /&gt;
At the end of your turn, your AP is restored to its maximum.&lt;br /&gt;
&lt;br /&gt;
If you spent AP on Reactions before your turn begins, you start your turn with whatever AP you have remaining. &lt;br /&gt;
&lt;br /&gt;
[[Category:Dice System]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=733</id>
		<title>Dice Overview</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=733"/>
		<updated>2026-08-04T22:50:05Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: /* Range and Movement: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Abilities and Skills==&lt;br /&gt;
&lt;br /&gt;
Abilities represent your fundamental strengths as a survivor. Each &#039;&#039;&#039;Ability&#039;&#039;&#039; governs a set of &#039;&#039;&#039;Skills&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Skills are always rolled with their parent Ability.&lt;br /&gt;
&lt;br /&gt;
When you attempt an action using a Skill, roll the following: &lt;br /&gt;
 d20 + its associated Ability + the Skill level&lt;br /&gt;
&lt;br /&gt;
For example, if you have a +2 Morale and +2 Presence (its parent ability), you&#039;d roll:&lt;br /&gt;
 d20 + 2 (Morale) + 2 (Presence) &lt;br /&gt;
&lt;br /&gt;
Compare the total to a Difficulty Class, or DC, set by the narrator or the rules.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!colspan=2| Physique&lt;br /&gt;
|-&lt;br /&gt;
| Athletics: || Climbing, jumping, swimming, lifting, and other feats of physical exertion.&lt;br /&gt;
|-&lt;br /&gt;
| Melee || Fighting with close combat weapons or unarmed strikes.&lt;br /&gt;
|-&lt;br /&gt;
| Resilience || Enduring pain, resisting poison or illness, and withstanding physical trauma.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Agility&lt;br /&gt;
|-&lt;br /&gt;
| Aiming || Using ranged weapons accurately.&lt;br /&gt;
|-&lt;br /&gt;
| Stealth || Moving quietly, hiding, and avoiding detection.&lt;br /&gt;
|-&lt;br /&gt;
| Reflex || Reacting quickly to danger, avoiding hazards, and resisting sudden effects.&lt;br /&gt;
|-&lt;br /&gt;
| Finesse || Precise manual control, delicate manipulation, or careful physical actions.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Reason&lt;br /&gt;
|-&lt;br /&gt;
| Awareness || Noticing threats, spotting details, and reading intent.&lt;br /&gt;
|-&lt;br /&gt;
| Medicine || Treating wounds, stabilising injuries, and managing illness.&lt;br /&gt;
|-&lt;br /&gt;
| Technology || Using, repairing, or understanding machines and electronic systems.&lt;br /&gt;
|-&lt;br /&gt;
| Academia || General knowledge, research, and recalling learned information.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Presence&lt;br /&gt;
|-&lt;br /&gt;
| Morale || Resisting fear, maintaining composure, and enduring psychological strain.&lt;br /&gt;
|-&lt;br /&gt;
| Intimidation || Coercing or frightening others into compliance.&lt;br /&gt;
|-&lt;br /&gt;
| Persuasion || Convincing others through reason, trust, or emotional appeal.&lt;br /&gt;
|-&lt;br /&gt;
| Deception || Lying convincingly, misleading others, or concealing the truth.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Difficulty Class and Outcomes==&lt;br /&gt;
Difficulty Class (DC) is the number that you compare your roll against. They are set by the rules or the narrator.&lt;br /&gt;
&lt;br /&gt;
After rolling, compare your total to the DC.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Below DC: || Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Below DC || Failure&lt;br /&gt;
|-&lt;br /&gt;
| Meets DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Above DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Above DC || Strong Success&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Examples: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|Success&lt;br /&gt;
|Failure&lt;br /&gt;
|Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 10 and up&lt;br /&gt;
|5-10&lt;br /&gt;
|4-0&lt;br /&gt;
|/&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 15 and up&lt;br /&gt;
|10-14&lt;br /&gt;
|5-9&lt;br /&gt;
|4 and down&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 20 and up&lt;br /&gt;
|15-19&lt;br /&gt;
|10-14&lt;br /&gt;
|9 and down&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 25 and up&lt;br /&gt;
|20-24&lt;br /&gt;
|15-19&lt;br /&gt;
|14 and down&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Narrator DC Guidance: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|-&lt;br /&gt;
| 1-5 || valign=&amp;quot;top&amp;quot; |Trivial tasks,  minimal chance of failure.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || valign=&amp;quot;top&amp;quot; |Easy Tasks,  most people would be able to succeed.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || Doable Tasks, with some effort this should be doable.&lt;br /&gt;
|-&lt;br /&gt;
| 16-20 || Tricky Tasks, probably going to fail if you are untrained.&lt;br /&gt;
|-&lt;br /&gt;
|21-25&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Hard Tasks,  for those with experience.&lt;br /&gt;
|-&lt;br /&gt;
|26-30&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Long Shot,  Even with training it’ll take a lot of luck to get this done.&lt;br /&gt;
|-&lt;br /&gt;
|31+&lt;br /&gt;
|Never, Impossible things should not be rolled for.&lt;br /&gt;
|}&lt;br /&gt;
== Advantage and Disadvantage ==&lt;br /&gt;
Some rules give a roll Advantage or Disadvantage. A narrator will tell you if one applies.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Advantage: || Roll two d20&#039;s, pick the highest.&lt;br /&gt;
|-&lt;br /&gt;
| Disadvantage || Roll two d20&#039;s, pick the lowest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Advantage and Disadvantage do not stack. &lt;br /&gt;
*If a roll has both Advantage and Disadvantage, they cancel out and the roll is made normally.&lt;br /&gt;
&lt;br /&gt;
==Statistics==&lt;br /&gt;
When skills are mentioned in calculations (not just in this section) only use the skill level, the ability will be listed separately if used.&lt;br /&gt;
&lt;br /&gt;
===Health Points===&lt;br /&gt;
 HP = 5 + Physique + (Resilience / 2) rounded down.&lt;br /&gt;
*At 0 current HP, you gain the [[Conditions#Unconscious|{{Tooltip|Unconscious|{{:Conditions/Unconscious}}}}]] Condition.&lt;br /&gt;
&lt;br /&gt;
If you have 2 Physique and 2 Resilience, then your HP would be 8 (5+2+[2/2])&lt;br /&gt;
&lt;br /&gt;
===Stress===&lt;br /&gt;
*Stress represents psychological strain.&lt;br /&gt;
*While resting, you lose 1 Stress at the end of each hour in-game.&lt;br /&gt;
 Stress Cap = 3 + Presence&lt;br /&gt;
*When your Stress reaches your Stress Cap, you must make a Morale Roll and resolve the result according to the table below.&lt;br /&gt;
{|&lt;br /&gt;
! Morale !! Result&lt;br /&gt;
|- &lt;br /&gt;
| 1-5: || You surrender to your opponents.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || Your movement and AP reduced to 0 until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || You must get as far away as you can, until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 16+ || You are stunned until the end of your next turn.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Defenses ===&lt;br /&gt;
Unless otherwise stated by a rule or feature, when someone attempts to attack you the DC is equal to your Base Defense&lt;br /&gt;
&lt;br /&gt;
If you are wearing [[Armor]] on a targeted area, add that to the DC, armor does not get added atop Dodge or Parry DC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Base Defense = 10 + Resilience&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Initiative and Rounds ==&lt;br /&gt;
&lt;br /&gt;
=== Initiative ===&lt;br /&gt;
At the start of combat, each participant rolls Reflex.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, your AP starts out maxed out at the start of combat, even before your first turn.&lt;br /&gt;
&lt;br /&gt;
=== Rounds ===&lt;br /&gt;
A round is the sum of all turns taken by everyone in combat.&lt;br /&gt;
&lt;br /&gt;
A round starts with the character who has the highest Initiative and ends after the character with the lowest Initiative has finished their turn.&lt;br /&gt;
&lt;br /&gt;
Once the lowest Initiative character has finished their turn, a new round begins with the highest Initiative character again.&lt;br /&gt;
&lt;br /&gt;
=== Turns ===&lt;br /&gt;
On your turn, you may spend AP to do your actions.&lt;br /&gt;
&lt;br /&gt;
AP is detailed in the Action Economy section.&lt;br /&gt;
&lt;br /&gt;
== Range and Movement: ==&lt;br /&gt;
&lt;br /&gt;
=== Range: ===&lt;br /&gt;
Range can be split into four tiers:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Melee:&#039;&#039;&#039; Your target is within reach of you. You could touch them with your hands.&lt;br /&gt;
* &#039;&#039;&#039;Nearby:&#039;&#039;&#039; Your target is close-by, but not quite within reach. &lt;br /&gt;
** Effective Weapons: Shotguns, hand crossbows, and thrown weapons.&lt;br /&gt;
* &#039;&#039;&#039;Shooting Distance:&#039;&#039;&#039; Your target isn&#039;t close, but in standard shooting range.&lt;br /&gt;
** Effective Weapons: Standard guns, crossbows.&lt;br /&gt;
* &#039;&#039;&#039;Far:&#039;&#039;&#039; Your target is far away. You can talk to them and see them, but they&#039;re going to be very hard to hit.&lt;br /&gt;
** Effective Weapons: Sniper rifles&lt;br /&gt;
&lt;br /&gt;
Melee attacks can only be made in melee range.&lt;br /&gt;
&lt;br /&gt;
Ranged attacks can be made at any tier. If the distance is below the their they&#039;re effective at, they get a +3 to their Aiming roll. If the distance is above the range they&#039;re effective at, they get a -3 to their roll per tier. Positive modifiers don&#039;t stack, but negative do.&lt;br /&gt;
&lt;br /&gt;
Sniper rifles do not gain a bonus from being at a closer tier.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!No Modifier&lt;br /&gt;
!Melee&lt;br /&gt;
!Nearby&lt;br /&gt;
!Shooting Distance&lt;br /&gt;
!Far&lt;br /&gt;
|-&lt;br /&gt;
|Melee&lt;br /&gt;
|No Modifier&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Shotguns, Hand Crossbows, Thrown Weapons&lt;br /&gt;
| +3&lt;br /&gt;
|No Modifier&lt;br /&gt;
| -3&lt;br /&gt;
| -6&lt;br /&gt;
|-&lt;br /&gt;
|Standard Guns, Crossbows&lt;br /&gt;
| +3&lt;br /&gt;
| +3&lt;br /&gt;
|No Modifier&lt;br /&gt;
| -3&lt;br /&gt;
|-&lt;br /&gt;
|Sniper Rifles&lt;br /&gt;
|No Modifier&lt;br /&gt;
|No Modifier&lt;br /&gt;
|No Modifier&lt;br /&gt;
|No Modifier&lt;br /&gt;
|}&lt;br /&gt;
(I&#039;ll draw up a table here as an example of what we discussed so people can easily see what their + or - is )&lt;br /&gt;
&lt;br /&gt;
=== Movement: ===&lt;br /&gt;
You can move 1 tier for free on your turn. To move another tier, you may spend 1 AP per tier moved.&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to move from Shooting Distance to Far (or vice versa), you must spend 3 AP.&lt;br /&gt;
&lt;br /&gt;
= Action Economy =&lt;br /&gt;
Each character has a maximum number of Action Points (AP).&lt;br /&gt;
&lt;br /&gt;
By default, a character has &#039;&#039;&#039;4 maximum AP&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You spend AP to take actions on your turn and to take Reactions when their triggers occur.&lt;br /&gt;
&lt;br /&gt;
At the end of your turn, your AP is restored to its maximum.&lt;br /&gt;
&lt;br /&gt;
If you spent AP on Reactions before your turn begins, you start your turn with whatever AP you have remaining. &lt;br /&gt;
&lt;br /&gt;
[[Category:Dice System]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=732</id>
		<title>Dice Overview</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=732"/>
		<updated>2026-08-04T22:49:31Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Abilities and Skills==&lt;br /&gt;
&lt;br /&gt;
Abilities represent your fundamental strengths as a survivor. Each &#039;&#039;&#039;Ability&#039;&#039;&#039; governs a set of &#039;&#039;&#039;Skills&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Skills are always rolled with their parent Ability.&lt;br /&gt;
&lt;br /&gt;
When you attempt an action using a Skill, roll the following: &lt;br /&gt;
 d20 + its associated Ability + the Skill level&lt;br /&gt;
&lt;br /&gt;
For example, if you have a +2 Morale and +2 Presence (its parent ability), you&#039;d roll:&lt;br /&gt;
 d20 + 2 (Morale) + 2 (Presence) &lt;br /&gt;
&lt;br /&gt;
Compare the total to a Difficulty Class, or DC, set by the narrator or the rules.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!colspan=2| Physique&lt;br /&gt;
|-&lt;br /&gt;
| Athletics: || Climbing, jumping, swimming, lifting, and other feats of physical exertion.&lt;br /&gt;
|-&lt;br /&gt;
| Melee || Fighting with close combat weapons or unarmed strikes.&lt;br /&gt;
|-&lt;br /&gt;
| Resilience || Enduring pain, resisting poison or illness, and withstanding physical trauma.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Agility&lt;br /&gt;
|-&lt;br /&gt;
| Aiming || Using ranged weapons accurately.&lt;br /&gt;
|-&lt;br /&gt;
| Stealth || Moving quietly, hiding, and avoiding detection.&lt;br /&gt;
|-&lt;br /&gt;
| Reflex || Reacting quickly to danger, avoiding hazards, and resisting sudden effects.&lt;br /&gt;
|-&lt;br /&gt;
| Finesse || Precise manual control, delicate manipulation, or careful physical actions.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Reason&lt;br /&gt;
|-&lt;br /&gt;
| Awareness || Noticing threats, spotting details, and reading intent.&lt;br /&gt;
|-&lt;br /&gt;
| Medicine || Treating wounds, stabilising injuries, and managing illness.&lt;br /&gt;
|-&lt;br /&gt;
| Technology || Using, repairing, or understanding machines and electronic systems.&lt;br /&gt;
|-&lt;br /&gt;
| Academia || General knowledge, research, and recalling learned information.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Presence&lt;br /&gt;
|-&lt;br /&gt;
| Morale || Resisting fear, maintaining composure, and enduring psychological strain.&lt;br /&gt;
|-&lt;br /&gt;
| Intimidation || Coercing or frightening others into compliance.&lt;br /&gt;
|-&lt;br /&gt;
| Persuasion || Convincing others through reason, trust, or emotional appeal.&lt;br /&gt;
|-&lt;br /&gt;
| Deception || Lying convincingly, misleading others, or concealing the truth.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Difficulty Class and Outcomes==&lt;br /&gt;
Difficulty Class (DC) is the number that you compare your roll against. They are set by the rules or the narrator.&lt;br /&gt;
&lt;br /&gt;
After rolling, compare your total to the DC.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Below DC: || Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Below DC || Failure&lt;br /&gt;
|-&lt;br /&gt;
| Meets DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Above DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Above DC || Strong Success&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Examples: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|Success&lt;br /&gt;
|Failure&lt;br /&gt;
|Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 10 and up&lt;br /&gt;
|5-10&lt;br /&gt;
|4-0&lt;br /&gt;
|/&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 15 and up&lt;br /&gt;
|10-14&lt;br /&gt;
|5-9&lt;br /&gt;
|4 and down&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 20 and up&lt;br /&gt;
|15-19&lt;br /&gt;
|10-14&lt;br /&gt;
|9 and down&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 25 and up&lt;br /&gt;
|20-24&lt;br /&gt;
|15-19&lt;br /&gt;
|14 and down&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Narrator DC Guidance: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|-&lt;br /&gt;
| 1-5 || valign=&amp;quot;top&amp;quot; |Trivial tasks,  minimal chance of failure.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || valign=&amp;quot;top&amp;quot; |Easy Tasks,  most people would be able to succeed.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || Doable Tasks, with some effort this should be doable.&lt;br /&gt;
|-&lt;br /&gt;
| 16-20 || Tricky Tasks, probably going to fail if you are untrained.&lt;br /&gt;
|-&lt;br /&gt;
|21-25&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Hard Tasks,  for those with experience.&lt;br /&gt;
|-&lt;br /&gt;
|26-30&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Long Shot,  Even with training it’ll take a lot of luck to get this done.&lt;br /&gt;
|-&lt;br /&gt;
|31+&lt;br /&gt;
|Never, Impossible things should not be rolled for.&lt;br /&gt;
|}&lt;br /&gt;
== Advantage and Disadvantage ==&lt;br /&gt;
Some rules give a roll Advantage or Disadvantage. A narrator will tell you if one applies.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Advantage: || Roll two d20&#039;s, pick the highest.&lt;br /&gt;
|-&lt;br /&gt;
| Disadvantage || Roll two d20&#039;s, pick the lowest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Advantage and Disadvantage do not stack. &lt;br /&gt;
*If a roll has both Advantage and Disadvantage, they cancel out and the roll is made normally.&lt;br /&gt;
&lt;br /&gt;
==Statistics==&lt;br /&gt;
When skills are mentioned in calculations (not just in this section) only use the skill level, the ability will be listed separately if used.&lt;br /&gt;
&lt;br /&gt;
===Health Points===&lt;br /&gt;
 HP = 5 + Physique + (Resilience / 2) rounded down.&lt;br /&gt;
*At 0 current HP, you gain the [[Conditions#Unconscious|{{Tooltip|Unconscious|{{:Conditions/Unconscious}}}}]] Condition.&lt;br /&gt;
&lt;br /&gt;
If you have 2 Physique and 2 Resilience, then your HP would be 8 (5+2+[2/2])&lt;br /&gt;
&lt;br /&gt;
===Stress===&lt;br /&gt;
*Stress represents psychological strain.&lt;br /&gt;
*While resting, you lose 1 Stress at the end of each hour in-game.&lt;br /&gt;
 Stress Cap = 3 + Presence&lt;br /&gt;
*When your Stress reaches your Stress Cap, you must make a Morale Roll and resolve the result according to the table below.&lt;br /&gt;
{|&lt;br /&gt;
! Morale !! Result&lt;br /&gt;
|- &lt;br /&gt;
| 1-5: || You surrender to your opponents.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || Your movement and AP reduced to 0 until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || You must get as far away as you can, until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 16+ || You are stunned until the end of your next turn.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Defenses ===&lt;br /&gt;
Unless otherwise stated by a rule or feature, when someone attempts to attack you the DC is equal to your Base Defense&lt;br /&gt;
&lt;br /&gt;
If you are wearing [[Armor]] on a targeted area, add that to the DC, armor does not get added atop Dodge or Parry DC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Base Defense = 10 + Resilience&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Initiative and Rounds ==&lt;br /&gt;
&lt;br /&gt;
=== Initiative ===&lt;br /&gt;
At the start of combat, each participant rolls Reflex.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, your AP starts out maxed out at the start of combat, even before your first turn.&lt;br /&gt;
&lt;br /&gt;
=== Rounds ===&lt;br /&gt;
A round is the sum of all turns taken by everyone in combat.&lt;br /&gt;
&lt;br /&gt;
A round starts with the character who has the highest Initiative and ends after the character with the lowest Initiative has finished their turn.&lt;br /&gt;
&lt;br /&gt;
Once the lowest Initiative character has finished their turn, a new round begins with the highest Initiative character again.&lt;br /&gt;
&lt;br /&gt;
=== Turns ===&lt;br /&gt;
On your turn, you may spend AP to do your actions.&lt;br /&gt;
&lt;br /&gt;
AP is detailed in the Action Economy section.&lt;br /&gt;
&lt;br /&gt;
== Range and Movement: ==&lt;br /&gt;
&lt;br /&gt;
=== Range: ===&lt;br /&gt;
Range can be split into four tiers:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Melee:&#039;&#039;&#039; Your target is within reach of you. You could touch them with your hands.&lt;br /&gt;
* &#039;&#039;&#039;Nearby:&#039;&#039;&#039; Your target is close-by, but not quite within reach. &lt;br /&gt;
** Effective Weapons: Shotguns, hand crossbows, and thrown weapons.&lt;br /&gt;
* &#039;&#039;&#039;Shooting Distance:&#039;&#039;&#039; Your target isn&#039;t close, but in standard shooting range.&lt;br /&gt;
** Effective Weapons: Standard guns, crossbows.&lt;br /&gt;
* &#039;&#039;&#039;Far:&#039;&#039;&#039; Your target is far away. You can talk to them and see them, but they&#039;re going to be very hard to hit.&lt;br /&gt;
** Effective Weapons: Sniper rifles&lt;br /&gt;
&lt;br /&gt;
Melee attacks can only be made in melee range.&lt;br /&gt;
&lt;br /&gt;
Ranged attacks can be made at any tier. If the distance is below the their they&#039;re effective at, they get a +3 to their Aiming roll. If the distance is above the range they&#039;re effective at, they get a -3 to their roll per tier. Positive modifiers don&#039;t stack, but negative do.&lt;br /&gt;
&lt;br /&gt;
Sniper rifles do not gain a bonus from being at a closer tier.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!No Modifier&lt;br /&gt;
!Melee&lt;br /&gt;
!Nearby&lt;br /&gt;
!Shooting Distance&lt;br /&gt;
!Far&lt;br /&gt;
|-&lt;br /&gt;
|Melee&lt;br /&gt;
|No Modifier&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Shotguns, Hand Crossbows, Thrown Weapons&lt;br /&gt;
|x&lt;br /&gt;
|No Modifier&lt;br /&gt;
| -3&lt;br /&gt;
| -6&lt;br /&gt;
|-&lt;br /&gt;
|Standard Guns, Crossbows&lt;br /&gt;
|x&lt;br /&gt;
| +3&lt;br /&gt;
|No Modifier&lt;br /&gt;
| -3&lt;br /&gt;
|-&lt;br /&gt;
|Sniper Rifles&lt;br /&gt;
|x&lt;br /&gt;
|No Modifier&lt;br /&gt;
|No Modifier&lt;br /&gt;
|No Modifier&lt;br /&gt;
|}&lt;br /&gt;
(I&#039;ll draw up a table here as an example of what we discussed so people can easily see what their + or - is )&lt;br /&gt;
&lt;br /&gt;
=== Movement: ===&lt;br /&gt;
You can move 1 tier for free on your turn. To move another tier, you may spend 1 AP per tier moved.&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to move from Shooting Distance to Far (or vice versa), you must spend 3 AP.&lt;br /&gt;
&lt;br /&gt;
= Action Economy =&lt;br /&gt;
Each character has a maximum number of Action Points (AP).&lt;br /&gt;
&lt;br /&gt;
By default, a character has &#039;&#039;&#039;4 maximum AP&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You spend AP to take actions on your turn and to take Reactions when their triggers occur.&lt;br /&gt;
&lt;br /&gt;
At the end of your turn, your AP is restored to its maximum.&lt;br /&gt;
&lt;br /&gt;
If you spent AP on Reactions before your turn begins, you start your turn with whatever AP you have remaining. &lt;br /&gt;
&lt;br /&gt;
[[Category:Dice System]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Template:Navbox&amp;diff=731</id>
		<title>Template:Navbox</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Template:Navbox&amp;diff=731"/>
		<updated>2026-07-28T03:14:44Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Navbox|navbox}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Navbox&lt;br /&gt;
|bodyclass  = &lt;br /&gt;
|name       = Navbox&lt;br /&gt;
|title      = Asdf&lt;br /&gt;
|titlestyle = &lt;br /&gt;
|image      = &lt;br /&gt;
|above      = &lt;br /&gt;
&lt;br /&gt;
|group1     = Test&lt;br /&gt;
|list1      = Test&lt;br /&gt;
&lt;br /&gt;
|group2     = Test2&lt;br /&gt;
|list2      = Test2&lt;br /&gt;
&lt;br /&gt;
|group20    = &lt;br /&gt;
|list20     = &lt;br /&gt;
&lt;br /&gt;
|below      = &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=730</id>
		<title>Module:Navbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=730"/>
		<updated>2026-07-28T00:02:13Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.navbox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbox {&lt;br /&gt;
	margin-top: 0; /* No top margin for nested navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox + .navbox-styles + .navbox,&lt;br /&gt;
/* category positions are wrapped in an empty span in Parsoid [[phab:T378906]] */ &lt;br /&gt;
.navbox + span.mw-empty-elt + .navbox-styles + .navbox {&lt;br /&gt;
	margin-top: -1px; /* Single pixel border between adjacent navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
	padding: 0.25em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	background-color: var(--dark-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list-with-group {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	border-left-width: 2px;&lt;br /&gt;
	border-left-style: solid;&lt;br /&gt;
border-color: #131010;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* cell spacing for navbox cells */&lt;br /&gt;
/* Borders above 2nd, 3rd, etc. rows */&lt;br /&gt;
/* TODO: figure out how to replace tr as structure;&lt;br /&gt;
 * with div structure it should be just a matter of first-child */&lt;br /&gt;
tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
	border-top: 2px solid var(--dark-bg); /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title {&lt;br /&gt;
	background-color: var(--brown); /* Level 1 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
	background-color: var(--light-bg); /* Level 2 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
	background-color: var(--brown); /* Level 3 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-even {&lt;br /&gt;
	background-color: var(--medium-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TODO: figure out how to remove reliance on td as structure */&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
	padding: 0.125em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=729</id>
		<title>Module:Navbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=729"/>
		<updated>2026-07-28T00:00:53Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.navbox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbox {&lt;br /&gt;
	margin-top: 0; /* No top margin for nested navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox + .navbox-styles + .navbox,&lt;br /&gt;
/* category positions are wrapped in an empty span in Parsoid [[phab:T378906]] */ &lt;br /&gt;
.navbox + span.mw-empty-elt + .navbox-styles + .navbox {&lt;br /&gt;
	margin-top: -1px; /* Single pixel border between adjacent navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
	padding: 0.25em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	background-color: var(--dark-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* cell spacing for navbox cells */&lt;br /&gt;
/* Borders above 2nd, 3rd, etc. rows */&lt;br /&gt;
/* TODO: figure out how to replace tr as structure;&lt;br /&gt;
 * with div structure it should be just a matter of first-child */&lt;br /&gt;
tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
	border-top: 2px solid var(--dark-bg); /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title {&lt;br /&gt;
	background-color: var(--brown); /* Level 1 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
	background-color: var(--light-bg); /* Level 2 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
	background-color: var(--brown); /* Level 3 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-even {&lt;br /&gt;
	background-color: var(--medium-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TODO: figure out how to remove reliance on td as structure */&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
	padding: 0.125em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=728</id>
		<title>Module:Navbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=728"/>
		<updated>2026-07-27T23:34:12Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.navbox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbox {&lt;br /&gt;
	margin-top: 0; /* No top margin for nested navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox + .navbox-styles + .navbox,&lt;br /&gt;
/* category positions are wrapped in an empty span in Parsoid [[phab:T378906]] */ &lt;br /&gt;
.navbox + span.mw-empty-elt + .navbox-styles + .navbox {&lt;br /&gt;
	margin-top: -1px; /* Single pixel border between adjacent navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
	padding: 0.25em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	background-color: var(--dark-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list-with-group {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	border-left-width: 2px;&lt;br /&gt;
	border-left-style: solid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* cell spacing for navbox cells */&lt;br /&gt;
/* Borders above 2nd, 3rd, etc. rows */&lt;br /&gt;
/* TODO: figure out how to replace tr as structure;&lt;br /&gt;
 * with div structure it should be just a matter of first-child */&lt;br /&gt;
tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
	border-top: 2px solid var(--dark-bg); /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title {&lt;br /&gt;
	background-color: var(--brown); /* Level 1 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
	background-color: var(--light-bg); /* Level 2 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
	background-color: var(--brown); /* Level 3 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-even {&lt;br /&gt;
	background-color: var(--medium-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TODO: figure out how to remove reliance on td as structure */&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
	padding: 0.125em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/** T367463 */&lt;br /&gt;
body.skin--responsive .navbox-image img {&lt;br /&gt;
	max-width: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media print {&lt;br /&gt;
	body.ns-0 .navbox {&lt;br /&gt;
		display: none !important;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=727</id>
		<title>Module:Navbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=727"/>
		<updated>2026-07-27T23:33:15Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.navbox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbox {&lt;br /&gt;
	margin-top: 0; /* No top margin for nested navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox + .navbox-styles + .navbox,&lt;br /&gt;
/* category positions are wrapped in an empty span in Parsoid [[phab:T378906]] */ &lt;br /&gt;
.navbox + span.mw-empty-elt + .navbox-styles + .navbox {&lt;br /&gt;
	margin-top: -1px; /* Single pixel border between adjacent navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
	padding: 0.25em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	background-color: var(--dark-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list-with-group {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	border-left-width: 2px;&lt;br /&gt;
	border-left-style: solid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* cell spacing for navbox cells */&lt;br /&gt;
/* Borders above 2nd, 3rd, etc. rows */&lt;br /&gt;
/* TODO: figure out how to replace tr as structure;&lt;br /&gt;
 * with div structure it should be just a matter of first-child */&lt;br /&gt;
tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
	border-top: 2px solid var(--dark-bg); /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title {&lt;br /&gt;
	background-color: var(--red); /* Level 1 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
	background-color: var(--brown); /* Level 2 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
	background-color: var(--brown); /* Level 3 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-even {&lt;br /&gt;
	background-color: var(--medium-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TODO: figure out how to remove reliance on td as structure */&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
	padding: 0.125em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/** T367463 */&lt;br /&gt;
body.skin--responsive .navbox-image img {&lt;br /&gt;
	max-width: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media print {&lt;br /&gt;
	body.ns-0 .navbox {&lt;br /&gt;
		display: none !important;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbar&amp;diff=726</id>
		<title>Module:Navbar</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbar&amp;diff=726"/>
		<updated>2026-07-27T23:31:40Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs&lt;br /&gt;
local ul&lt;br /&gt;
&lt;br /&gt;
function p.addItem (mini, full, link, descrip, args, url)&lt;br /&gt;
	local l&lt;br /&gt;
	if url then&lt;br /&gt;
		l = {&#039;[&#039;, &#039;&#039;, &#039;]&#039;}&lt;br /&gt;
	else&lt;br /&gt;
		l = {&#039;[[&#039;, &#039;|&#039;, &#039;]]&#039;}&lt;br /&gt;
	end&lt;br /&gt;
	ul:tag(&#039;li&#039;)&lt;br /&gt;
		:addClass(&#039;nv-&#039;..full)&lt;br /&gt;
		:wikitext(l[1] .. link .. l[2])&lt;br /&gt;
		:tag(args.mini and &#039;abbr&#039; or &#039;span&#039;)&lt;br /&gt;
			:attr(&#039;title&#039;, descrip..&#039; this template&#039;)&lt;br /&gt;
			:cssText(args.fontstyle)&lt;br /&gt;
			:wikitext(args.mini and mini or full)&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext(l[3])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.brackets (position, c, args, div)&lt;br /&gt;
	if args.brackets then&lt;br /&gt;
		div&lt;br /&gt;
			:tag(&#039;span&#039;)&lt;br /&gt;
				:css(&#039;margin-&#039;..position, &#039;-0.125em&#039;)&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(c)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._navbar(args)&lt;br /&gt;
	local show = {true, true, true, false, false, false}&lt;br /&gt;
	local titleArg = 1&lt;br /&gt;
	&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		titleArg = 2&lt;br /&gt;
		if not args.plain then args.mini = 1 end&lt;br /&gt;
		if args.fontcolor then&lt;br /&gt;
			args.fontstyle = &#039;color:&#039; .. args.fontcolor .. &#039;;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		args.style = &#039;float:left; text-align:left&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.template then&lt;br /&gt;
		titleArg = &#039;template&#039;&lt;br /&gt;
		show = {true, false, false, false, false, false}&lt;br /&gt;
		local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6}&lt;br /&gt;
		for k,v in ipairs(require (&#039;Module:TableTools&#039;).compressSparseArray(args)) do&lt;br /&gt;
			local num = index[v]&lt;br /&gt;
			if num then show[num] = true end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.noedit then show[3] = false end&lt;br /&gt;
	&lt;br /&gt;
	local titleText = args[titleArg] or (&#039;:&#039; .. mw.getCurrentFrame():getParent():getTitle())&lt;br /&gt;
	local title = mw.title.new(mw.text.trim(titleText), &#039;Template&#039;)&lt;br /&gt;
	if not title then&lt;br /&gt;
		error(&#039;Invalid title &#039; .. titleText)&lt;br /&gt;
	end&lt;br /&gt;
	local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or &#039;&#039;&lt;br /&gt;
	&lt;br /&gt;
	local div = mw.html.create():tag(&#039;div&#039;)&lt;br /&gt;
	div&lt;br /&gt;
		:addClass(&#039;plainlinks&#039;)&lt;br /&gt;
		:addClass(&#039;hlist&#039;)&lt;br /&gt;
		:addClass(&#039;navbar&#039;)&lt;br /&gt;
		:cssText(args.style)&lt;br /&gt;
&lt;br /&gt;
	if args.mini then div:addClass(&#039;mini&#039;) end&lt;br /&gt;
&lt;br /&gt;
	if not (args.mini or args.plain) then&lt;br /&gt;
		div&lt;br /&gt;
			:tag(&#039;span&#039;)&lt;br /&gt;
				:css(&#039;word-spacing&#039;, 0)&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(args.text or &#039;This box:&#039;)&lt;br /&gt;
				:wikitext(&#039; &#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	p.brackets(&#039;right&#039;, &#039;&amp;amp;#91; &#039;, args, div)&lt;br /&gt;
	p.brackets(&#039;left&#039;, &#039; &amp;amp;#93;&#039;, args, div)&lt;br /&gt;
	&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		div&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			:css(&#039;font-size&#039;, &#039;114%&#039;)&lt;br /&gt;
			:css(&#039;margin&#039;, args.mini and &#039;0 4em&#039; or &#039;0 7em&#039;)&lt;br /&gt;
			:cssText(args.fontstyle)&lt;br /&gt;
			:wikitext(args[1])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- DELIBERATE DELTA FROM EN.WP THAT INTEGRATES HLIST TSTYLES&lt;br /&gt;
	-- CARE WHEN SYNCING&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	return frame:extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;, args = { src = &#039;Flatlist/styles.css&#039; }&lt;br /&gt;
	} .. frame:extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;, args = { src = &#039;Module:Navbar/styles.css&#039; }&lt;br /&gt;
	} .. tostring(div:done())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbar(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	return p._navbar(getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=725</id>
		<title>Module:Navbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=725"/>
		<updated>2026-07-27T23:27:25Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.navbox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbox {&lt;br /&gt;
	margin-top: 0; /* No top margin for nested navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox + .navbox-styles + .navbox,&lt;br /&gt;
/* category positions are wrapped in an empty span in Parsoid [[phab:T378906]] */ &lt;br /&gt;
.navbox + span.mw-empty-elt + .navbox-styles + .navbox {&lt;br /&gt;
	margin-top: -1px; /* Single pixel border between adjacent navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
	padding: 0.25em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	background-color: var(--dark-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	/* border-color: var(--dark-bg);  Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list-with-group {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	border-left-width: 2px;&lt;br /&gt;
	border-left-style: solid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* cell spacing for navbox cells */&lt;br /&gt;
/* Borders above 2nd, 3rd, etc. rows */&lt;br /&gt;
/* TODO: figure out how to replace tr as structure;&lt;br /&gt;
 * with div structure it should be just a matter of first-child */&lt;br /&gt;
tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
	border-top: 2px solid var(--dark-bg); /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title {&lt;br /&gt;
	background-color: #ccf; /* Level 1 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
	background-color: #ddf; /* Level 2 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
	background-color: #e6e6ff; /* Level 3 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-even {&lt;br /&gt;
	background-color: var(--medium-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TODO: figure out how to remove reliance on td as structure */&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
	padding: 0.125em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/** T367463 */&lt;br /&gt;
body.skin--responsive .navbox-image img {&lt;br /&gt;
	max-width: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media print {&lt;br /&gt;
	body.ns-0 .navbox {&lt;br /&gt;
		display: none !important;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=724</id>
		<title>Module:Navbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=724"/>
		<updated>2026-07-27T23:23:54Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.navbox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbox {&lt;br /&gt;
	margin-top: 0; /* No top margin for nested navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox + .navbox-styles + .navbox,&lt;br /&gt;
/* category positions are wrapped in an empty span in Parsoid [[phab:T378906]] */ &lt;br /&gt;
.navbox + span.mw-empty-elt + .navbox-styles + .navbox {&lt;br /&gt;
	margin-top: -1px; /* Single pixel border between adjacent navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
	padding: 0.25em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	background-color: var(--dark-bg);&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	border-color: #fdfdfd; /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list-with-group {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	border-left-width: 2px;&lt;br /&gt;
	border-left-style: solid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* cell spacing for navbox cells */&lt;br /&gt;
/* Borders above 2nd, 3rd, etc. rows */&lt;br /&gt;
/* TODO: figure out how to replace tr as structure;&lt;br /&gt;
 * with div structure it should be just a matter of first-child */&lt;br /&gt;
tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
	border-top: 2px solid #fdfdfd; /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title {&lt;br /&gt;
	background-color: #ccf; /* Level 1 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
	background-color: #ddf; /* Level 2 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
	background-color: #e6e6ff; /* Level 3 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-even {&lt;br /&gt;
	background-color: #f7f7f7;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TODO: figure out how to remove reliance on td as structure */&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
	padding: 0.125em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/** T367463 */&lt;br /&gt;
body.skin--responsive .navbox-image img {&lt;br /&gt;
	max-width: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media print {&lt;br /&gt;
	body.ns-0 .navbox {&lt;br /&gt;
		display: none !important;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=723</id>
		<title>Module:Navbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=723"/>
		<updated>2026-07-27T23:23:13Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.navbox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbox {&lt;br /&gt;
	margin-top: 0; /* No top margin for nested navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox + .navbox-styles + .navbox,&lt;br /&gt;
/* category positions are wrapped in an empty span in Parsoid [[phab:T378906]] */ &lt;br /&gt;
.navbox + span.mw-empty-elt + .navbox-styles + .navbox {&lt;br /&gt;
	margin-top: -1px; /* Single pixel border between adjacent navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
	padding: 0.25em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	background-color: pink;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	border-color: #fdfdfd; /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list-with-group {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	border-left-width: 2px;&lt;br /&gt;
	border-left-style: solid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* cell spacing for navbox cells */&lt;br /&gt;
/* Borders above 2nd, 3rd, etc. rows */&lt;br /&gt;
/* TODO: figure out how to replace tr as structure;&lt;br /&gt;
 * with div structure it should be just a matter of first-child */&lt;br /&gt;
tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
	border-top: 2px solid #fdfdfd; /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title {&lt;br /&gt;
	background-color: #ccf; /* Level 1 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
	background-color: #ddf; /* Level 2 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
	background-color: #e6e6ff; /* Level 3 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-even {&lt;br /&gt;
	background-color: #f7f7f7;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TODO: figure out how to remove reliance on td as structure */&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
	padding: 0.125em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/** T367463 */&lt;br /&gt;
body.skin--responsive .navbox-image img {&lt;br /&gt;
	max-width: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media print {&lt;br /&gt;
	body.ns-0 .navbox {&lt;br /&gt;
		display: none !important;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=722</id>
		<title>Module:Navbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=722"/>
		<updated>2026-07-27T23:21:02Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.navbox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	border: 1px solid #a2a9b1;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbox {&lt;br /&gt;
	margin-top: 0; /* No top margin for nested navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox + .navbox-styles + .navbox,&lt;br /&gt;
/* category positions are wrapped in an empty span in Parsoid [[phab:T378906]] */ &lt;br /&gt;
.navbox + span.mw-empty-elt + .navbox-styles + .navbox {&lt;br /&gt;
	margin-top: -1px; /* Single pixel border between adjacent navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
	padding: 0.25em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list-with-group {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	border-left-width: 2px;&lt;br /&gt;
	border-left-style: solid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* cell spacing for navbox cells */&lt;br /&gt;
/* Borders above 2nd, 3rd, etc. rows */&lt;br /&gt;
/* TODO: figure out how to replace tr as structure;&lt;br /&gt;
 * with div structure it should be just a matter of first-child */&lt;br /&gt;
tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
	border-top: 2px solid #fdfdfd; /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title {&lt;br /&gt;
	background-color: #ccf; /* Level 1 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
	background-color: #ddf; /* Level 2 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
	background-color: #e6e6ff; /* Level 3 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-even {&lt;br /&gt;
	background-color: #f7f7f7;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TODO: figure out how to remove reliance on td as structure */&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
	padding: 0.125em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/** T367463 */&lt;br /&gt;
body.skin--responsive .navbox-image img {&lt;br /&gt;
	max-width: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media print {&lt;br /&gt;
	body.ns-0 .navbox {&lt;br /&gt;
		display: none !important;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=721</id>
		<title>Module:Navbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox/styles.css&amp;diff=721"/>
		<updated>2026-07-27T23:19:27Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;.navbox { 	box-sizing: border-box; 	border: 1px solid #a2a9b1; 	width: 100%; 	clear: both; 	font-size: 88%; 	text-align: center; 	padding: 1px; 	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ }  .navbox .navbox { 	margin-top: 0; /* No top margin for nested navboxes */ }  .navbox + .navbox-styles + .navbox, /* category positions are wrapped in an empty span in Parsoid phab:T378906 */  .navbox + span.mw-empty-elt + .navbox-styles + .navbo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.navbox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	border: 1px solid #a2a9b1;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbox {&lt;br /&gt;
	margin-top: 0; /* No top margin for nested navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox + .navbox-styles + .navbox,&lt;br /&gt;
/* category positions are wrapped in an empty span in Parsoid [[phab:T378906]] */ &lt;br /&gt;
.navbox + span.mw-empty-elt + .navbox-styles + .navbox {&lt;br /&gt;
	margin-top: -1px; /* Single pixel border between adjacent navboxes */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-inner,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-title,&lt;br /&gt;
.navbox-abovebelow {&lt;br /&gt;
	padding: 0.25em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-group {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox,&lt;br /&gt;
.navbox-subgroup {&lt;br /&gt;
	background-color: #fdfdfd;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	border-color: #fdfdfd; /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-list-with-group {&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	border-left-width: 2px;&lt;br /&gt;
	border-left-style: solid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* cell spacing for navbox cells */&lt;br /&gt;
/* Borders above 2nd, 3rd, etc. rows */&lt;br /&gt;
/* TODO: figure out how to replace tr as structure;&lt;br /&gt;
 * with div structure it should be just a matter of first-child */&lt;br /&gt;
tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
	border-top: 2px solid #fdfdfd; /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title {&lt;br /&gt;
	background-color: #ccf; /* Level 1 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-abovebelow,&lt;br /&gt;
.navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-title {&lt;br /&gt;
	background-color: #ddf; /* Level 2 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-subgroup .navbox-group,&lt;br /&gt;
.navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
	background-color: #e6e6ff; /* Level 3 color */&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-even {&lt;br /&gt;
	background-color: #f7f7f7;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
    color:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TODO: figure out how to remove reliance on td as structure */&lt;br /&gt;
.navbox .hlist td dl,&lt;br /&gt;
.navbox .hlist td ol,&lt;br /&gt;
.navbox .hlist td ul,&lt;br /&gt;
.navbox td.hlist dl,&lt;br /&gt;
.navbox td.hlist ol,&lt;br /&gt;
.navbox td.hlist ul {&lt;br /&gt;
	padding: 0.125em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/** T367463 */&lt;br /&gt;
body.skin--responsive .navbox-image img {&lt;br /&gt;
	max-width: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media print {&lt;br /&gt;
	body.ns-0 .navbox {&lt;br /&gt;
		display: none !important;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-night .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-night tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-title {&lt;br /&gt;
		background-color: #345;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group {&lt;br /&gt;
		background-color: #567;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os th.navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-subgroup td.navbox-title {&lt;br /&gt;
		background-color: #456;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-even {&lt;br /&gt;
		background-color: #000;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os td.navbox-odd {&lt;br /&gt;
		background-color: #123;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-subgroup,&lt;br /&gt;
	html.skin-theme-clientpref-os .navbox-list {&lt;br /&gt;
		background-color: #111111;&lt;br /&gt;
	}&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-abovebelow,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-group,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-image,&lt;br /&gt;
	html.skin-theme-clientpref-os tr + tr &amp;gt; .navbox-list {&lt;br /&gt;
		border-top: 2px solid #111111;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbar/styles.css&amp;diff=720</id>
		<title>Module:Navbar/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbar/styles.css&amp;diff=720"/>
		<updated>2026-07-27T23:18:49Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;/**  * This TemplateStyles page is separately used for Template:Navbar  * because of course there are two versions of the same template.  * Be careful when adjusting styles accordingly.  */ .navbar { 	display: inline; 	font-size: 88%; 	font-weight: normal; 	color: var(--color-base, #202122) !important; }  .navbar ul { 	display: inline; 	white-space: nowrap; }  .navbar li { 	word-spacing: -0.125em; }  /* Navbar styling when nested in navbox */ .navbox .navbar { 	displ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/**&lt;br /&gt;
 * This TemplateStyles page is separately used for [[Template:Navbar]]&lt;br /&gt;
 * because of course there are two versions of the same template.&lt;br /&gt;
 * Be careful when adjusting styles accordingly.&lt;br /&gt;
 */&lt;br /&gt;
.navbar {&lt;br /&gt;
	display: inline;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	font-weight: normal;&lt;br /&gt;
	color: var(--color-base, #202122) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbar ul {&lt;br /&gt;
	display: inline;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbar li {&lt;br /&gt;
	word-spacing: -0.125em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Navbar styling when nested in navbox */&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
	width: 6em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Template:Flatlist&amp;diff=719</id>
		<title>Template:Flatlist</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Template:Flatlist&amp;diff=719"/>
		<updated>2026-07-27T23:17:44Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;&amp;lt;onlyinclude&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Flatlist/styles.css&amp;quot;/&amp;gt;&amp;lt;div class=&amp;quot;hlist {{{class|}}}&amp;quot; {{#if:{{{style|}}}{{{indent|}}}|style=&amp;quot;{{#if:{{{indent|}}}|margin-left: {{#expr:{{{indent}}}*1.6}}em;}} {{{style|}}}&amp;quot;}}&amp;gt;{{#if:{{{1|}}}| {{{1}}} &amp;lt;/div&amp;gt;}}&amp;lt;/onlyinclude&amp;gt; {{Documentation}}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Flatlist/styles.css&amp;quot;/&amp;gt;&amp;lt;div class=&amp;quot;hlist {{{class|}}}&amp;quot; {{#if:{{{style|}}}{{{indent|}}}|style=&amp;quot;{{#if:{{{indent|}}}|margin-left: {{#expr:{{{indent}}}*1.6}}em;}} {{{style|}}}&amp;quot;}}&amp;gt;{{#if:{{{1|}}}|&lt;br /&gt;
{{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Template:Flatlist/styles.css&amp;diff=718</id>
		<title>Template:Flatlist/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Template:Flatlist/styles.css&amp;diff=718"/>
		<updated>2026-07-27T23:17:13Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;/**  * Style for horizontal lists (separator following item).  * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists  * @revision 9 (2016-08-10)  * @author User:Edokter  */ .hlist dl, .hlist ol, .hlist ul { 	margin: 0; 	padding: 0; }  /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { 	/* don&amp;#039;t trust the note that says margin doesn&amp;#039;t work with inline 	 * removing margin: 0 makes dds have margins again */ 	margin: 0; 	display: inline; }  /*...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/**&lt;br /&gt;
 * Style for horizontal lists (separator following item).&lt;br /&gt;
 * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists&lt;br /&gt;
 * @revision 9 (2016-08-10)&lt;br /&gt;
 * @author [[User:Edokter]]&lt;br /&gt;
 */&lt;br /&gt;
.hlist dl,&lt;br /&gt;
.hlist ol,&lt;br /&gt;
.hlist ul {&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Display list items inline */&lt;br /&gt;
.hlist dd,&lt;br /&gt;
.hlist dt,&lt;br /&gt;
.hlist li {&lt;br /&gt;
	/* don&#039;t trust the note that says margin doesn&#039;t work with inline&lt;br /&gt;
	 * removing margin: 0 makes dds have margins again */&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	display: inline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Display nested lists inline */&lt;br /&gt;
/*&lt;br /&gt;
We remove .inline since it&#039;s not used here.&lt;br /&gt;
.hlist.inline,&lt;br /&gt;
.hlist.inline dl,&lt;br /&gt;
.hlist.inline ol,&lt;br /&gt;
.hlist.inline ul,&lt;br /&gt;
*/&lt;br /&gt;
.hlist dl dl, .hlist dl ol, .hlist dl ul,&lt;br /&gt;
.hlist ol dl, .hlist ol ol, .hlist ol ul,&lt;br /&gt;
.hlist ul dl, .hlist ul ol, .hlist ul ul {&lt;br /&gt;
	display: inline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide empty list items */&lt;br /&gt;
.hlist .mw-empty-li,&lt;br /&gt;
.hlist .mw-empty-elt {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Generate interpuncts */&lt;br /&gt;
.hlist dt:after {&lt;br /&gt;
	content: &amp;quot;: &amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlist dd:after,&lt;br /&gt;
.hlist li:after {&lt;br /&gt;
	content: &amp;quot; · &amp;quot;;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlist dd:last-child:after,&lt;br /&gt;
.hlist dt:last-child:after,&lt;br /&gt;
.hlist li:last-child:after {&lt;br /&gt;
	content: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Add parentheses around nested lists */&lt;br /&gt;
.hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before,&lt;br /&gt;
.hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before,&lt;br /&gt;
.hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before {&lt;br /&gt;
	content: &amp;quot; (&amp;quot;;&lt;br /&gt;
	font-weight: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after,&lt;br /&gt;
.hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after,&lt;br /&gt;
.hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after {&lt;br /&gt;
	content: &amp;quot;)&amp;quot;;&lt;br /&gt;
	font-weight: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Put ordinals in front of ordered list items */&lt;br /&gt;
.hlist ol {&lt;br /&gt;
	counter-reset: listitem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlist ol &amp;gt; li {&lt;br /&gt;
	counter-increment: listitem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlist ol &amp;gt; li:before {&lt;br /&gt;
	content: &amp;quot; &amp;quot; counter(listitem) &amp;quot;\a0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlist dd ol &amp;gt; li:first-child:before,&lt;br /&gt;
.hlist dt ol &amp;gt; li:first-child:before,&lt;br /&gt;
.hlist li ol &amp;gt; li:first-child:before {&lt;br /&gt;
	content: &amp;quot; (&amp;quot; counter(listitem) &amp;quot;\a0&amp;quot;;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Arguments&amp;diff=717</id>
		<title>Module:Arguments</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Arguments&amp;diff=717"/>
		<updated>2026-07-27T23:13:00Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;-- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly.  local libraryUtil = require(&amp;#039;libraryUtil&amp;#039;) local checkType = libraryUtil.checkType  local arguments = {}  -- Generate four different tidyVal functions, so that we don&amp;#039;t have to check the -- options every time we call it.  local function tidyValDefault(key, val) 	if type(val) == &amp;#039;string&amp;#039;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module provides easy processing of arguments passed to Scribunto from&lt;br /&gt;
-- #invoke. It is intended for use by other Lua modules, and should not be&lt;br /&gt;
-- called from #invoke directly.&lt;br /&gt;
&lt;br /&gt;
local libraryUtil = require(&#039;libraryUtil&#039;)&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
&lt;br /&gt;
local arguments = {}&lt;br /&gt;
&lt;br /&gt;
-- Generate four different tidyVal functions, so that we don&#039;t have to check the&lt;br /&gt;
-- options every time we call it.&lt;br /&gt;
&lt;br /&gt;
local function tidyValDefault(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		val = val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			return nil&lt;br /&gt;
		else&lt;br /&gt;
			return val&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValTrimOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		return val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValRemoveBlanksOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		if val:find(&#039;%S&#039;) then&lt;br /&gt;
			return val&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValNoChange(key, val)&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function matchesTitle(given, title)&lt;br /&gt;
	local tp = type( given )&lt;br /&gt;
	return (tp == &#039;string&#039; or tp == &#039;number&#039;) and mw.title.new( given ).prefixedText == title&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local translate_mt = { __index = function(t, k) return k end }&lt;br /&gt;
&lt;br /&gt;
function arguments.getArgs(frame, options)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 1, frame, &#039;table&#039;, true)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 2, options, &#039;table&#039;, true)&lt;br /&gt;
	frame = frame or {}&lt;br /&gt;
	options = options or {}&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up argument translation.&lt;br /&gt;
	--]]&lt;br /&gt;
	options.translate = options.translate or {}&lt;br /&gt;
	if getmetatable(options.translate) == nil then&lt;br /&gt;
		setmetatable(options.translate, translate_mt)&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate == nil then&lt;br /&gt;
		options.backtranslate = {}&lt;br /&gt;
		for k,v in pairs(options.translate) do&lt;br /&gt;
			options.backtranslate[v] = k&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate and getmetatable(options.backtranslate) == nil then&lt;br /&gt;
		setmetatable(options.backtranslate, {&lt;br /&gt;
			__index = function(t, k)&lt;br /&gt;
				if options.translate[k] ~= k then&lt;br /&gt;
					return nil&lt;br /&gt;
				else&lt;br /&gt;
					return k&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Get the argument tables. If we were passed a valid frame object, get the&lt;br /&gt;
	-- frame arguments (fargs) and the parent frame arguments (pargs), depending&lt;br /&gt;
	-- on the options set and on the parent frame&#039;s availability. If we weren&#039;t&lt;br /&gt;
	-- passed a valid frame object, we are being called from another Lua module&lt;br /&gt;
	-- or from the debug console, so assume that we were passed a table of args&lt;br /&gt;
	-- directly, and assign it to a new variable (luaArgs).&lt;br /&gt;
	--]]&lt;br /&gt;
	local fargs, pargs, luaArgs&lt;br /&gt;
	if type(frame.args) == &#039;table&#039; and type(frame.getParent) == &#039;function&#039; then&lt;br /&gt;
		if options.wrappers then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- The wrappers option makes Module:Arguments look up arguments in&lt;br /&gt;
			-- either the frame argument table or the parent argument table, but&lt;br /&gt;
			-- not both. This means that users can use either the #invoke syntax&lt;br /&gt;
			-- or a wrapper template without the loss of performance associated&lt;br /&gt;
			-- with looking arguments up in both the frame and the parent frame.&lt;br /&gt;
			-- Module:Arguments will look up arguments in the parent frame&lt;br /&gt;
			-- if it finds the parent frame&#039;s title in options.wrapper;&lt;br /&gt;
			-- otherwise it will look up arguments in the frame object passed&lt;br /&gt;
			-- to getArgs.&lt;br /&gt;
			--]]&lt;br /&gt;
			local parent = frame:getParent()&lt;br /&gt;
			if not parent then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			else&lt;br /&gt;
				local title = parent:getTitle():gsub(&#039;/sandbox$&#039;, &#039;&#039;)&lt;br /&gt;
				local found = false&lt;br /&gt;
				if matchesTitle(options.wrappers, title) then&lt;br /&gt;
					found = true&lt;br /&gt;
				elseif type(options.wrappers) == &#039;table&#039; then&lt;br /&gt;
					for _,v in pairs(options.wrappers) do&lt;br /&gt;
						if matchesTitle(v, title) then&lt;br /&gt;
							found = true&lt;br /&gt;
							break&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				-- We test for false specifically here so that nil (the default) acts like true.&lt;br /&gt;
				if found or options.frameOnly == false then&lt;br /&gt;
					pargs = parent.args&lt;br /&gt;
				end&lt;br /&gt;
				if not found or options.parentOnly == false then&lt;br /&gt;
					fargs = frame.args&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- options.wrapper isn&#039;t set, so check the other options.&lt;br /&gt;
			if not options.parentOnly then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			end&lt;br /&gt;
			if not options.frameOnly then&lt;br /&gt;
				local parent = frame:getParent()&lt;br /&gt;
				pargs = parent and parent.args or nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if options.parentFirst then&lt;br /&gt;
			fargs, pargs = pargs, fargs&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		luaArgs = frame&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the order of precedence of the argument tables. If the variables are&lt;br /&gt;
	-- nil, nothing will be added to the table, which is how we avoid clashes&lt;br /&gt;
	-- between the frame/parent args and the Lua args.&lt;br /&gt;
	local argTables = {fargs}&lt;br /&gt;
	argTables[#argTables + 1] = pargs&lt;br /&gt;
	argTables[#argTables + 1] = luaArgs&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generate the tidyVal function. If it has been specified by the user, we&lt;br /&gt;
	-- use that; if not, we choose one of four functions depending on the&lt;br /&gt;
	-- options chosen. This is so that we don&#039;t have to call the options table&lt;br /&gt;
	-- every time the function is called.&lt;br /&gt;
	--]]&lt;br /&gt;
	local tidyVal = options.valueFunc&lt;br /&gt;
	if tidyVal then&lt;br /&gt;
		if type(tidyVal) ~= &#039;function&#039; then&lt;br /&gt;
			error(&lt;br /&gt;
				&amp;quot;bad value assigned to option &#039;valueFunc&#039;&amp;quot;&lt;br /&gt;
					.. &#039;(function expected, got &#039;&lt;br /&gt;
					.. type(tidyVal)&lt;br /&gt;
					.. &#039;)&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif options.trim ~= false then&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValDefault&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValTrimOnly&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValRemoveBlanksOnly&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValNoChange&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up the args, metaArgs and nilArgs tables. args will be the one&lt;br /&gt;
	-- accessed from functions, and metaArgs will hold the actual arguments. Nil&lt;br /&gt;
	-- arguments are memoized in nilArgs, and the metatable connects all of them&lt;br /&gt;
	-- together.&lt;br /&gt;
	--]]&lt;br /&gt;
	local args, metaArgs, nilArgs, metatable = {}, {}, {}, {}&lt;br /&gt;
	setmetatable(args, metatable)&lt;br /&gt;
&lt;br /&gt;
	local function mergeArgs(tables)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Accepts multiple tables as input and merges their keys and values&lt;br /&gt;
		-- into one table. If a value is already present it is not overwritten;&lt;br /&gt;
		-- tables listed earlier have precedence. We are also memoizing nil&lt;br /&gt;
		-- values, which can be overwritten if they are &#039;s&#039; (soft).&lt;br /&gt;
		--]]&lt;br /&gt;
		for _, t in ipairs(tables) do&lt;br /&gt;
			for key, val in pairs(t) do&lt;br /&gt;
				if metaArgs[key] == nil and nilArgs[key] ~= &#039;h&#039; then&lt;br /&gt;
					local tidiedVal = tidyVal(key, val)&lt;br /&gt;
					if tidiedVal == nil then&lt;br /&gt;
						nilArgs[key] = &#039;s&#039;&lt;br /&gt;
					else&lt;br /&gt;
						metaArgs[key] = tidiedVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Define metatable behaviour. Arguments are memoized in the metaArgs table,&lt;br /&gt;
	-- and are only fetched from the argument tables once. Fetching arguments&lt;br /&gt;
	-- from the argument tables is the most resource-intensive step in this&lt;br /&gt;
	-- module, so we try and avoid it where possible. For this reason, nil&lt;br /&gt;
	-- arguments are also memoized, in the nilArgs table. Also, we keep a record&lt;br /&gt;
	-- in the metatable of when pairs and ipairs have been called, so we do not&lt;br /&gt;
	-- run pairs and ipairs on the argument tables more than once. We also do&lt;br /&gt;
	-- not run ipairs on fargs and pargs if pairs has already been run, as all&lt;br /&gt;
	-- the arguments will already have been copied over.&lt;br /&gt;
	--]]&lt;br /&gt;
&lt;br /&gt;
	metatable.__index = function (t, key)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Fetches an argument when the args table is indexed. First we check&lt;br /&gt;
		-- to see if the value is memoized, and if not we try and fetch it from&lt;br /&gt;
		-- the argument tables. When we check memoization, we need to check&lt;br /&gt;
		-- metaArgs before nilArgs, as both can be non-nil at the same time.&lt;br /&gt;
		-- If the argument is not present in metaArgs, we also check whether&lt;br /&gt;
		-- pairs has been run yet. If pairs has already been run, we return nil.&lt;br /&gt;
		-- This is because all the arguments will have already been copied into&lt;br /&gt;
		-- metaArgs by the mergeArgs function, meaning that any other arguments&lt;br /&gt;
		-- must be nil.&lt;br /&gt;
		--]]&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		local val = metaArgs[key]&lt;br /&gt;
		if val ~= nil then&lt;br /&gt;
			return val&lt;br /&gt;
		elseif metatable.donePairs or nilArgs[key] then&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		for _, argTable in ipairs(argTables) do&lt;br /&gt;
			local argTableVal = tidyVal(key, argTable[key])&lt;br /&gt;
			if argTableVal ~= nil then&lt;br /&gt;
				metaArgs[key] = argTableVal&lt;br /&gt;
				return argTableVal&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__newindex = function (t, key, val)&lt;br /&gt;
		-- This function is called when a module tries to add a new value to the&lt;br /&gt;
		-- args table, or tries to change an existing value.&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		if options.readOnly then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; the table is read-only&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif options.noOverwrite and args[key] ~= nil then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; overwriting existing arguments is not permitted&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif val == nil then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- If the argument is to be overwritten with nil, we need to erase&lt;br /&gt;
			-- the value in metaArgs, so that __index, __pairs and __ipairs do&lt;br /&gt;
			-- not use a previous existing value, if present; and we also need&lt;br /&gt;
			-- to memoize the nil in nilArgs, so that the value isn&#039;t looked&lt;br /&gt;
			-- up in the argument tables if it is accessed again.&lt;br /&gt;
			--]]&lt;br /&gt;
			metaArgs[key] = nil&lt;br /&gt;
			nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		else&lt;br /&gt;
			metaArgs[key] = val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function translatenext(invariant)&lt;br /&gt;
		local k, v = next(invariant.t, invariant.k)&lt;br /&gt;
		invariant.k = k&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			return nil&lt;br /&gt;
		elseif type(k) ~= &#039;string&#039; or not options.backtranslate then&lt;br /&gt;
			return k, v&lt;br /&gt;
		else&lt;br /&gt;
			local backtranslate = options.backtranslate[k]&lt;br /&gt;
			if backtranslate == nil then&lt;br /&gt;
				-- Skip this one. This is a tail call, so this won&#039;t cause stack overflow&lt;br /&gt;
				return translatenext(invariant)&lt;br /&gt;
			else&lt;br /&gt;
				return backtranslate, v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__pairs = function ()&lt;br /&gt;
		-- Called when pairs is run on the args table.&lt;br /&gt;
		if not metatable.donePairs then&lt;br /&gt;
			mergeArgs(argTables)&lt;br /&gt;
			metatable.donePairs = true&lt;br /&gt;
		end&lt;br /&gt;
		return translatenext, { t = metaArgs }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function inext(t, i)&lt;br /&gt;
		-- This uses our __index metamethod&lt;br /&gt;
		local v = t[i + 1]&lt;br /&gt;
		if v ~= nil then&lt;br /&gt;
			return i + 1, v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__ipairs = function (t)&lt;br /&gt;
		-- Called when ipairs is run on the args table.&lt;br /&gt;
		return inext, t, 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return arguments&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbar&amp;diff=716</id>
		<title>Module:Navbar</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbar&amp;diff=716"/>
		<updated>2026-07-27T23:12:17Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;local p = {}  local getArgs local ul  function p.addItem (mini, full, link, descrip, args, url) 	local l 	if url then 		l = {&amp;#039;[&amp;#039;, &amp;#039;&amp;#039;, &amp;#039;]&amp;#039;} 	else 		l = {&amp;#039;&amp;#039;, &amp;#039;&amp;#039;} 	end 	ul:tag(&amp;#039;li&amp;#039;) 		:addClass(&amp;#039;nv-&amp;#039;..full) 		:wikitext(l[1] .. link .. l[2]) 		:tag(args.mini and &amp;#039;abbr&amp;#039; or &amp;#039;span&amp;#039;) 			:attr(&amp;#039;title&amp;#039;, descrip..&amp;#039; this template&amp;#039;) 			:cssText(args.fontstyle) 			:wikitext(args.mini and mini or full) 			:done() 		:wikitext(l[3]) end  function p.brackets (position, c, args, d...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs&lt;br /&gt;
local ul&lt;br /&gt;
&lt;br /&gt;
function p.addItem (mini, full, link, descrip, args, url)&lt;br /&gt;
	local l&lt;br /&gt;
	if url then&lt;br /&gt;
		l = {&#039;[&#039;, &#039;&#039;, &#039;]&#039;}&lt;br /&gt;
	else&lt;br /&gt;
		l = {&#039;[[&#039;, &#039;|&#039;, &#039;]]&#039;}&lt;br /&gt;
	end&lt;br /&gt;
	ul:tag(&#039;li&#039;)&lt;br /&gt;
		:addClass(&#039;nv-&#039;..full)&lt;br /&gt;
		:wikitext(l[1] .. link .. l[2])&lt;br /&gt;
		:tag(args.mini and &#039;abbr&#039; or &#039;span&#039;)&lt;br /&gt;
			:attr(&#039;title&#039;, descrip..&#039; this template&#039;)&lt;br /&gt;
			:cssText(args.fontstyle)&lt;br /&gt;
			:wikitext(args.mini and mini or full)&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext(l[3])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.brackets (position, c, args, div)&lt;br /&gt;
	if args.brackets then&lt;br /&gt;
		div&lt;br /&gt;
			:tag(&#039;span&#039;)&lt;br /&gt;
				:css(&#039;margin-&#039;..position, &#039;-0.125em&#039;)&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(c)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._navbar(args)&lt;br /&gt;
	local show = {true, true, true, false, false, false}&lt;br /&gt;
	local titleArg = 1&lt;br /&gt;
	&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		titleArg = 2&lt;br /&gt;
		if not args.plain then args.mini = 1 end&lt;br /&gt;
		if args.fontcolor then&lt;br /&gt;
			args.fontstyle = &#039;color:&#039; .. args.fontcolor .. &#039;;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		args.style = &#039;float:left; text-align:left&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.template then&lt;br /&gt;
		titleArg = &#039;template&#039;&lt;br /&gt;
		show = {true, false, false, false, false, false}&lt;br /&gt;
		local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6}&lt;br /&gt;
		for k,v in ipairs(require (&#039;Module:TableTools&#039;).compressSparseArray(args)) do&lt;br /&gt;
			local num = index[v]&lt;br /&gt;
			if num then show[num] = true end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.noedit then show[3] = false end&lt;br /&gt;
	&lt;br /&gt;
	local titleText = args[titleArg] or (&#039;:&#039; .. mw.getCurrentFrame():getParent():getTitle())&lt;br /&gt;
	local title = mw.title.new(mw.text.trim(titleText), &#039;Template&#039;)&lt;br /&gt;
	if not title then&lt;br /&gt;
		error(&#039;Invalid title &#039; .. titleText)&lt;br /&gt;
	end&lt;br /&gt;
	local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or &#039;&#039;&lt;br /&gt;
	&lt;br /&gt;
	local div = mw.html.create():tag(&#039;div&#039;)&lt;br /&gt;
	div&lt;br /&gt;
		:addClass(&#039;plainlinks&#039;)&lt;br /&gt;
		:addClass(&#039;hlist&#039;)&lt;br /&gt;
		:addClass(&#039;navbar&#039;)&lt;br /&gt;
		:cssText(args.style)&lt;br /&gt;
&lt;br /&gt;
	if args.mini then div:addClass(&#039;mini&#039;) end&lt;br /&gt;
&lt;br /&gt;
	if not (args.mini or args.plain) then&lt;br /&gt;
		div&lt;br /&gt;
			:tag(&#039;span&#039;)&lt;br /&gt;
				:css(&#039;word-spacing&#039;, 0)&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(args.text or &#039;This box:&#039;)&lt;br /&gt;
				:wikitext(&#039; &#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	p.brackets(&#039;right&#039;, &#039;&amp;amp;#91; &#039;, args, div)&lt;br /&gt;
	&lt;br /&gt;
	ul = div:tag(&#039;ul&#039;)&lt;br /&gt;
	if show[1] then p.addItem(&#039;v&#039;, &#039;view&#039;, title.fullText, &#039;View&#039;, args) end&lt;br /&gt;
	if show[2] then p.addItem(&#039;t&#039;, &#039;talk&#039;, talkpage, &#039;Discuss&#039;, args) end&lt;br /&gt;
	if show[3] then p.addItem(&#039;e&#039;, &#039;edit&#039;, title:fullUrl(&#039;action=edit&#039;), &#039;Edit&#039;, args, true) end&lt;br /&gt;
	if show[4] then p.addItem(&#039;h&#039;, &#039;hist&#039;, title:fullUrl(&#039;action=history&#039;), &#039;History of&#039;, args, true) end&lt;br /&gt;
	if show[5] then&lt;br /&gt;
		local move = mw.title.new (&#039;Special:Movepage&#039;)&lt;br /&gt;
		p.addItem(&#039;m&#039;, &#039;move&#039;, move:fullUrl(&#039;target=&#039;..title.fullText), &#039;Move&#039;, args, true) end&lt;br /&gt;
	if show[6] then p.addItem(&#039;w&#039;, &#039;watch&#039;, title:fullUrl(&#039;action=watch&#039;), &#039;Watch&#039;, args, true) end&lt;br /&gt;
	&lt;br /&gt;
	p.brackets(&#039;left&#039;, &#039; &amp;amp;#93;&#039;, args, div)&lt;br /&gt;
	&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		div&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			:css(&#039;font-size&#039;, &#039;114%&#039;)&lt;br /&gt;
			:css(&#039;margin&#039;, args.mini and &#039;0 4em&#039; or &#039;0 7em&#039;)&lt;br /&gt;
			:cssText(args.fontstyle)&lt;br /&gt;
			:wikitext(args[1])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- DELIBERATE DELTA FROM EN.WP THAT INTEGRATES HLIST TSTYLES&lt;br /&gt;
	-- CARE WHEN SYNCING&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	return frame:extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;, args = { src = &#039;Flatlist/styles.css&#039; }&lt;br /&gt;
	} .. frame:extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;, args = { src = &#039;Module:Navbar/styles.css&#039; }&lt;br /&gt;
	} .. tostring(div:done())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbar(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	return p._navbar(getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Module:Navbox&amp;diff=715</id>
		<title>Module:Navbox</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Module:Navbox&amp;diff=715"/>
		<updated>2026-07-27T23:11:36Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;-- -- This module implements {{Navbox}} --  local p = {}  local navbar = require(&amp;#039;Module:Navbar&amp;#039;)._navbar local getArgs -- lazily initialized  local args local border local listnums local ODD_EVEN_MARKER = &amp;#039;\127_ODDEVEN_\127&amp;#039; local RESTART_MARKER = &amp;#039;\127_ODDEVEN0_\127&amp;#039; local REGEX_MARKER = &amp;#039;\127_ODDEVEN(%d?)_\127&amp;#039;  local function striped(wikitext) 	-- Return wikitext with markers replaced for odd/even striping. 	-- Child (subgroup) navboxes are flagged with a category th...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--&lt;br /&gt;
-- This module implements {{Navbox}}&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local navbar = require(&#039;Module:Navbar&#039;)._navbar&lt;br /&gt;
local getArgs -- lazily initialized&lt;br /&gt;
&lt;br /&gt;
local args&lt;br /&gt;
local border&lt;br /&gt;
local listnums&lt;br /&gt;
local ODD_EVEN_MARKER = &#039;\127_ODDEVEN_\127&#039;&lt;br /&gt;
local RESTART_MARKER = &#039;\127_ODDEVEN0_\127&#039;&lt;br /&gt;
local REGEX_MARKER = &#039;\127_ODDEVEN(%d?)_\127&#039;&lt;br /&gt;
&lt;br /&gt;
local function striped(wikitext)&lt;br /&gt;
	-- Return wikitext with markers replaced for odd/even striping.&lt;br /&gt;
	-- Child (subgroup) navboxes are flagged with a category that is removed&lt;br /&gt;
	-- by parent navboxes. The result is that the category shows all pages&lt;br /&gt;
	-- where a child navbox is not contained in a parent navbox.&lt;br /&gt;
	local orphanCat = &#039;[[Category:Navbox orphans]]&#039;&lt;br /&gt;
	if border == &#039;subgroup&#039; and args.orphan ~= &#039;yes&#039; then&lt;br /&gt;
		-- No change; striping occurs in outermost navbox.&lt;br /&gt;
		return wikitext .. orphanCat&lt;br /&gt;
	end&lt;br /&gt;
	local first, second = &#039;odd&#039;, &#039;even&#039;&lt;br /&gt;
	if args.evenodd then&lt;br /&gt;
		if args.evenodd == &#039;swap&#039; then&lt;br /&gt;
			first, second = second, first&lt;br /&gt;
		else&lt;br /&gt;
			first = args.evenodd&lt;br /&gt;
			second = first&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local changer&lt;br /&gt;
	if first == second then&lt;br /&gt;
		changer = first&lt;br /&gt;
	else&lt;br /&gt;
		local index = 0&lt;br /&gt;
		changer = function (code)&lt;br /&gt;
			if code == &#039;0&#039; then&lt;br /&gt;
				-- Current occurrence is for a group before a nested table.&lt;br /&gt;
				-- Set it to first as a valid although pointless class.&lt;br /&gt;
				-- The next occurrence will be the first row after a title&lt;br /&gt;
				-- in a subgroup and will also be first.&lt;br /&gt;
				index = 0&lt;br /&gt;
				return first&lt;br /&gt;
			end&lt;br /&gt;
			index = index + 1&lt;br /&gt;
			return index % 2 == 1 and first or second&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local regex = orphanCat:gsub(&#039;([%[%]])&#039;, &#039;%%%1&#039;)&lt;br /&gt;
	return (wikitext:gsub(regex, &#039;&#039;):gsub(REGEX_MARKER, changer))  -- () omits gsub count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function processItem(item, nowrapitems)&lt;br /&gt;
	if item:sub(1, 2) == &#039;{|&#039; then&lt;br /&gt;
		-- Applying nowrap to lines in a table does not make sense.&lt;br /&gt;
		-- Add newlines to compensate for trim of x in |parm=x in a template.&lt;br /&gt;
		return &#039;\n&#039; .. item ..&#039;\n&#039;&lt;br /&gt;
	end&lt;br /&gt;
	if nowrapitems == &#039;yes&#039; then&lt;br /&gt;
		local lines = {}&lt;br /&gt;
		for line in (item .. &#039;\n&#039;):gmatch(&#039;([^\n]*)\n&#039;) do&lt;br /&gt;
			local prefix, content = line:match(&#039;^([*:;#]+)%s*(.*)&#039;)&lt;br /&gt;
			if prefix and not content:match(&#039;^&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;&#039;) then&lt;br /&gt;
				line = prefix .. &#039;&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;&#039; .. content .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert(lines, line)&lt;br /&gt;
		end&lt;br /&gt;
		item = table.concat(lines, &#039;\n&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if item:match(&#039;^[*:;#]&#039;) then&lt;br /&gt;
		return &#039;\n&#039; .. item ..&#039;\n&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return item&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Separate function so that we can evaluate properly whether hlist should&lt;br /&gt;
-- be added by the module&lt;br /&gt;
local function has_navbar()&lt;br /&gt;
	return args.navbar ~= &#039;off&#039; and args.navbar ~= &#039;plain&#039; and not&lt;br /&gt;
		(not args.name and mw.getCurrentFrame():getParent():getTitle():gsub(&#039;/sandbox$&#039;, &#039;&#039;) == &#039;Template:Navbox&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderNavBar(titleCell)&lt;br /&gt;
&lt;br /&gt;
	if has_navbar() then&lt;br /&gt;
		titleCell:wikitext(navbar{&lt;br /&gt;
			args.name,&lt;br /&gt;
			-- we depend on this being mini = 1 when the navbox module decides&lt;br /&gt;
			-- to add hlist templatestyles. we also depend on navbar outputting&lt;br /&gt;
			-- a copy of the hlist templatestyles.&lt;br /&gt;
			mini = 1,&lt;br /&gt;
			fontstyle = (args.basestyle or &#039;&#039;) .. &#039;;&#039; .. (args.titlestyle or &#039;&#039;) .. &#039;;background:none transparent;border:none;box-shadow:none; padding:0;&#039;&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Title row&lt;br /&gt;
--&lt;br /&gt;
local function renderTitleRow(tbl)&lt;br /&gt;
	if not args.title then return end&lt;br /&gt;
&lt;br /&gt;
	local titleRow = tbl:tag(&#039;tr&#039;)&lt;br /&gt;
&lt;br /&gt;
	if args.titlegroup then&lt;br /&gt;
		titleRow&lt;br /&gt;
			:tag(&#039;th&#039;)&lt;br /&gt;
				:attr(&#039;scope&#039;, &#039;row&#039;)&lt;br /&gt;
				:addClass(&#039;navbox-group&#039;)&lt;br /&gt;
				:addClass(args.titlegroupclass)&lt;br /&gt;
				:cssText(args.basestyle)&lt;br /&gt;
				:cssText(args.groupstyle)&lt;br /&gt;
				:cssText(args.titlegroupstyle)&lt;br /&gt;
				:wikitext(args.titlegroup)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titleCell = titleRow:tag(&#039;th&#039;):attr(&#039;scope&#039;, &#039;col&#039;)&lt;br /&gt;
&lt;br /&gt;
	if args.titlegroup then&lt;br /&gt;
		titleCell&lt;br /&gt;
			:addClass(&#039;navbox-title1&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titleColspan = 2&lt;br /&gt;
	if args.imageleft then titleColspan = titleColspan + 1 end&lt;br /&gt;
	if args.image then titleColspan = titleColspan + 1 end&lt;br /&gt;
	if args.titlegroup then titleColspan = titleColspan - 1 end&lt;br /&gt;
&lt;br /&gt;
	titleCell&lt;br /&gt;
		:cssText(args.basestyle)&lt;br /&gt;
		:cssText(args.titlestyle)&lt;br /&gt;
		:addClass(&#039;navbox-title&#039;)&lt;br /&gt;
		:attr(&#039;colspan&#039;, titleColspan)&lt;br /&gt;
&lt;br /&gt;
	renderNavBar(titleCell)&lt;br /&gt;
&lt;br /&gt;
	titleCell&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			-- id for aria-labelledby attribute&lt;br /&gt;
			:attr(&#039;id&#039;, mw.uri.anchorEncode(args.title))&lt;br /&gt;
			:addClass(args.titleclass)&lt;br /&gt;
			:css(&#039;font-size&#039;, &#039;114%&#039;)&lt;br /&gt;
			:css(&#039;margin&#039;, &#039;0 4em&#039;)&lt;br /&gt;
			:wikitext(processItem(args.title))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Above/Below rows&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local function getAboveBelowColspan()&lt;br /&gt;
	local ret = 2&lt;br /&gt;
	if args.imageleft then ret = ret + 1 end&lt;br /&gt;
	if args.image then ret = ret + 1 end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAboveRow(tbl)&lt;br /&gt;
	if not args.above then return end&lt;br /&gt;
&lt;br /&gt;
	tbl:tag(&#039;tr&#039;)&lt;br /&gt;
		:tag(&#039;td&#039;)&lt;br /&gt;
			:addClass(&#039;navbox-abovebelow&#039;)&lt;br /&gt;
			:addClass(args.aboveclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:cssText(args.abovestyle)&lt;br /&gt;
			:attr(&#039;colspan&#039;, getAboveBelowColspan())&lt;br /&gt;
			:tag(&#039;div&#039;)&lt;br /&gt;
				-- id for aria-labelledby attribute, if no title&lt;br /&gt;
				:attr(&#039;id&#039;, args.title and nil or mw.uri.anchorEncode(args.above))&lt;br /&gt;
				:wikitext(processItem(args.above, args.nowrapitems))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderBelowRow(tbl)&lt;br /&gt;
	if not args.below then return end&lt;br /&gt;
&lt;br /&gt;
	tbl:tag(&#039;tr&#039;)&lt;br /&gt;
		:tag(&#039;td&#039;)&lt;br /&gt;
			:addClass(&#039;navbox-abovebelow&#039;)&lt;br /&gt;
			:addClass(args.belowclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:cssText(args.belowstyle)&lt;br /&gt;
			:attr(&#039;colspan&#039;, getAboveBelowColspan())&lt;br /&gt;
			:tag(&#039;div&#039;)&lt;br /&gt;
				:wikitext(processItem(args.below, args.nowrapitems))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   List rows&lt;br /&gt;
--&lt;br /&gt;
local function renderListRow(tbl, index, listnum)&lt;br /&gt;
	local row = tbl:tag(&#039;tr&#039;)&lt;br /&gt;
&lt;br /&gt;
	if index == 1 and args.imageleft then&lt;br /&gt;
		row&lt;br /&gt;
			:tag(&#039;td&#039;)&lt;br /&gt;
				:addClass(&#039;navbox-image&#039;)&lt;br /&gt;
				:addClass(args.imageclass)&lt;br /&gt;
				:css(&#039;width&#039;, &#039;1px&#039;)               -- Minimize width&lt;br /&gt;
				:css(&#039;padding&#039;, &#039;0px 2px 0px 0px&#039;)&lt;br /&gt;
				:cssText(args.imageleftstyle)&lt;br /&gt;
				:attr(&#039;rowspan&#039;, #listnums)&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					:wikitext(processItem(args.imageleft))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args[&#039;group&#039; .. listnum] then&lt;br /&gt;
		local groupCell = row:tag(&#039;th&#039;)&lt;br /&gt;
&lt;br /&gt;
		-- id for aria-labelledby attribute, if lone group with no title or above&lt;br /&gt;
		if listnum == 1 and not (args.title or args.above or args.group2) then&lt;br /&gt;
			groupCell&lt;br /&gt;
				:attr(&#039;id&#039;, mw.uri.anchorEncode(args.group1))&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		groupCell&lt;br /&gt;
			:attr(&#039;scope&#039;, &#039;row&#039;)&lt;br /&gt;
			:addClass(&#039;navbox-group&#039;)&lt;br /&gt;
			:addClass(args.groupclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:css(&#039;width&#039;, args.groupwidth or &#039;1%&#039;) -- If groupwidth not specified, minimize width&lt;br /&gt;
&lt;br /&gt;
		groupCell&lt;br /&gt;
			:cssText(args.groupstyle)&lt;br /&gt;
			:cssText(args[&#039;group&#039; .. listnum .. &#039;style&#039;])&lt;br /&gt;
			:wikitext(args[&#039;group&#039; .. listnum])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local listCell = row:tag(&#039;td&#039;)&lt;br /&gt;
&lt;br /&gt;
	if args[&#039;group&#039; .. listnum] then&lt;br /&gt;
		listCell&lt;br /&gt;
			:addClass(&#039;navbox-list-with-group&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		listCell:attr(&#039;colspan&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not args.groupwidth then&lt;br /&gt;
		listCell:css(&#039;width&#039;, &#039;100%&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local rowstyle  -- usually nil so cssText(rowstyle) usually adds nothing&lt;br /&gt;
	if index % 2 == 1 then&lt;br /&gt;
		rowstyle = args.oddstyle&lt;br /&gt;
	else&lt;br /&gt;
		rowstyle = args.evenstyle&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local listText = args[&#039;list&#039; .. listnum]&lt;br /&gt;
	local oddEven = ODD_EVEN_MARKER&lt;br /&gt;
	if listText:sub(1, 12) == &#039;&amp;lt;/div&amp;gt;&amp;lt;table&#039; then&lt;br /&gt;
		-- Assume list text is for a subgroup navbox so no automatic striping for this row.&lt;br /&gt;
		oddEven = listText:find(&#039;&amp;lt;th[^&amp;gt;]*&amp;quot;navbox%-title&amp;quot;&#039;) and RESTART_MARKER or &#039;odd&#039;&lt;br /&gt;
	end&lt;br /&gt;
	listCell&lt;br /&gt;
		:css(&#039;padding&#039;, &#039;0px&#039;)&lt;br /&gt;
		:cssText(args.liststyle)&lt;br /&gt;
		:cssText(rowstyle)&lt;br /&gt;
		:cssText(args[&#039;list&#039; .. listnum .. &#039;style&#039;])&lt;br /&gt;
		:addClass(&#039;navbox-list&#039;)&lt;br /&gt;
		:addClass(&#039;navbox-&#039; .. oddEven)&lt;br /&gt;
		:addClass(args.listclass)&lt;br /&gt;
		:addClass(args[&#039;list&#039; .. listnum .. &#039;class&#039;])&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			:css(&#039;padding&#039;, (index == 1 and args.list1padding) or args.listpadding or &#039;0em 0.25em&#039;)&lt;br /&gt;
			:wikitext(processItem(listText, args.nowrapitems))&lt;br /&gt;
&lt;br /&gt;
	if index == 1 and args.image then&lt;br /&gt;
		row&lt;br /&gt;
			:tag(&#039;td&#039;)&lt;br /&gt;
				:addClass(&#039;navbox-image&#039;)&lt;br /&gt;
				:addClass(args.imageclass)&lt;br /&gt;
				:css(&#039;width&#039;, &#039;1px&#039;)               -- Minimize width&lt;br /&gt;
				:css(&#039;padding&#039;, &#039;0px 0px 0px 2px&#039;)&lt;br /&gt;
				:cssText(args.imagestyle)&lt;br /&gt;
				:attr(&#039;rowspan&#039;, #listnums)&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					:wikitext(processItem(args.image))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Tracking categories&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local function needsHorizontalLists()&lt;br /&gt;
	if border == &#039;subgroup&#039; or args.tracking == &#039;no&#039; then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local listClasses = {&lt;br /&gt;
		[&#039;plainlist&#039;] = true, [&#039;hlist&#039;] = true, [&#039;hlist hnum&#039;] = true,&lt;br /&gt;
		[&#039;hlist hwrap&#039;] = true, [&#039;hlist vcard&#039;] = true, [&#039;vcard hlist&#039;] = true,&lt;br /&gt;
		[&#039;hlist vevent&#039;] = true,&lt;br /&gt;
	}&lt;br /&gt;
	return not (listClasses[args.listclass] or listClasses[args.bodyclass])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- there are a lot of list classes in the wild, so we have a function to find&lt;br /&gt;
-- them and add their TemplateStyles&lt;br /&gt;
local function addListStyles()&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	-- TODO?: Should maybe take a table of classes for e.g. hnum, hwrap as above&lt;br /&gt;
	-- I&#039;m going to do the stupid thing first though&lt;br /&gt;
	-- Also not sure hnum and hwrap are going to live in the same TemplateStyles&lt;br /&gt;
	-- as hlist&lt;br /&gt;
	local function _addListStyles(htmlclass, templatestyles)&lt;br /&gt;
		local class_args = { -- rough order of probability of use&lt;br /&gt;
			&#039;bodyclass&#039;, &#039;listclass&#039;, &#039;aboveclass&#039;, &#039;belowclass&#039;, &#039;titleclass&#039;,&lt;br /&gt;
			&#039;navboxclass&#039;, &#039;groupclass&#039;, &#039;titlegroupclass&#039;, &#039;imageclass&#039;&lt;br /&gt;
		}&lt;br /&gt;
		local patterns = {&lt;br /&gt;
			&#039;^&#039; .. htmlclass .. &#039;$&#039;,&lt;br /&gt;
			&#039;%s&#039; .. htmlclass .. &#039;$&#039;,&lt;br /&gt;
			&#039;^&#039; .. htmlclass .. &#039;%s&#039;,&lt;br /&gt;
			&#039;%s&#039; .. htmlclass .. &#039;%s&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		local found = false&lt;br /&gt;
		for _, arg in ipairs(class_args) do&lt;br /&gt;
			for _, pattern in ipairs(patterns) do&lt;br /&gt;
				if mw.ustring.find(args[arg] or &#039;&#039;, pattern) then&lt;br /&gt;
					found = true&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if found then break end&lt;br /&gt;
		end&lt;br /&gt;
		if found then&lt;br /&gt;
			return frame:extensionTag{&lt;br /&gt;
				name = &#039;templatestyles&#039;, args = { src = templatestyles }&lt;br /&gt;
			}&lt;br /&gt;
		else&lt;br /&gt;
			return &#039;&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hlist_styles = &#039;&#039;&lt;br /&gt;
	-- navbar always has mini = 1, so here (on this wiki) we can assume that&lt;br /&gt;
	-- we don&#039;t need to output hlist styles in navbox again.&lt;br /&gt;
	if not has_navbar() then&lt;br /&gt;
		hlist_styles = _addListStyles(&#039;hlist&#039;, &#039;Flatlist/styles.css&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local plainlist_styles = _addListStyles(&#039;plainlist&#039;, &#039;Plainlist/styles.css&#039;)&lt;br /&gt;
	&lt;br /&gt;
	return hlist_styles .. plainlist_styles&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function hasBackgroundColors()&lt;br /&gt;
	for _, key in ipairs({&#039;titlestyle&#039;, &#039;groupstyle&#039;, &#039;basestyle&#039;, &#039;abovestyle&#039;, &#039;belowstyle&#039;}) do&lt;br /&gt;
		if tostring(args[key]):find(&#039;background&#039;, 1, true) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function hasBorders()&lt;br /&gt;
	for _, key in ipairs({&#039;groupstyle&#039;, &#039;basestyle&#039;, &#039;abovestyle&#039;, &#039;belowstyle&#039;}) do&lt;br /&gt;
		if tostring(args[key]):find(&#039;border&#039;, 1, true) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function isIllegible()&lt;br /&gt;
	-- require(&#039;Module:Color contrast&#039;) absent on mediawiki.org&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getTrackingCategories()&lt;br /&gt;
	local cats = {}&lt;br /&gt;
	if needsHorizontalLists() then table.insert(cats, &#039;Navigational boxes without horizontal lists&#039;) end&lt;br /&gt;
	if hasBackgroundColors() then table.insert(cats, &#039;Navboxes using background colours&#039;) end&lt;br /&gt;
	if isIllegible() then table.insert(cats, &#039;Potentially illegible navboxes&#039;) end&lt;br /&gt;
	if hasBorders() then table.insert(cats, &#039;Navboxes using borders&#039;) end&lt;br /&gt;
	return cats&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTrackingCategories(builder)&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	if title.namespace ~= 10 then return end -- not in template space&lt;br /&gt;
	local subpage = title.subpageText&lt;br /&gt;
	if subpage == &#039;doc&#039; or subpage == &#039;sandbox&#039; or subpage == &#039;testcases&#039; then return end&lt;br /&gt;
&lt;br /&gt;
	for _, cat in ipairs(getTrackingCategories()) do&lt;br /&gt;
		builder:wikitext(&#039;[[Category:&#039; .. cat .. &#039;]]&#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Main navbox tables&lt;br /&gt;
--&lt;br /&gt;
local function renderMainTable()&lt;br /&gt;
	local tbl = mw.html.create(&#039;table&#039;)&lt;br /&gt;
		:addClass(&#039;nowraplinks&#039;)&lt;br /&gt;
		:addClass(args.bodyclass)&lt;br /&gt;
&lt;br /&gt;
	if args.title and (args.state ~= &#039;plain&#039; and args.state ~= &#039;off&#039;) then&lt;br /&gt;
		if args.state == &#039;collapsed&#039; then args.state = &#039;mw-collapsed&#039; end&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&#039;mw-collapsible&#039;)&lt;br /&gt;
			:addClass(args.state or &#039;autocollapse&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tbl:css(&#039;border-spacing&#039;, 0)&lt;br /&gt;
	if border == &#039;subgroup&#039; or border == &#039;none&#039; then&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&#039;navbox-subgroup&#039;)&lt;br /&gt;
			:cssText(args.bodystyle)&lt;br /&gt;
			:cssText(args.style)&lt;br /&gt;
	else  -- regular navbox - bodystyle and style will be applied to the wrapper table&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&#039;navbox-inner&#039;)&lt;br /&gt;
			:css(&#039;background&#039;, &#039;transparent&#039;)&lt;br /&gt;
			:css(&#039;color&#039;, &#039;inherit&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	tbl:cssText(args.innerstyle)&lt;br /&gt;
&lt;br /&gt;
	renderTitleRow(tbl)&lt;br /&gt;
	renderAboveRow(tbl)&lt;br /&gt;
	for i, listnum in ipairs(listnums) do&lt;br /&gt;
		renderListRow(tbl, i, listnum)&lt;br /&gt;
	end&lt;br /&gt;
	renderBelowRow(tbl)&lt;br /&gt;
&lt;br /&gt;
	return tbl&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._navbox(navboxArgs)&lt;br /&gt;
	args = navboxArgs&lt;br /&gt;
	listnums = {}&lt;br /&gt;
&lt;br /&gt;
	for k, _ in pairs(args) do&lt;br /&gt;
		if type(k) == &#039;string&#039; then&lt;br /&gt;
			local listnum = k:match(&#039;^list(%d+)$&#039;)&lt;br /&gt;
			if listnum then table.insert(listnums, tonumber(listnum)) end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(listnums)&lt;br /&gt;
&lt;br /&gt;
	border = mw.text.trim(args.border or args[1] or &#039;&#039;)&lt;br /&gt;
	if border == &#039;child&#039; then&lt;br /&gt;
		border = &#039;subgroup&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- render the main body of the navbox&lt;br /&gt;
	local tbl = renderMainTable()&lt;br /&gt;
	&lt;br /&gt;
	-- get templatestyles&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local base_templatestyles = frame:extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;, args = { src = &#039;Module:Navbox/styles.css&#039; }&lt;br /&gt;
	}&lt;br /&gt;
	local templatestyles = &#039;&#039;&lt;br /&gt;
	if args.templatestyles and args.templatestyles ~= &#039;&#039; then&lt;br /&gt;
		templatestyles = frame:extensionTag{&lt;br /&gt;
			name = &#039;templatestyles&#039;, args = { src = args.templatestyles }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local res = mw.html.create()&lt;br /&gt;
	-- &#039;navbox-styles&#039; exists for two reasons:&lt;br /&gt;
	--  1. To wrap the styles to work around phab: T200206 more elegantly. Instead&lt;br /&gt;
	--	   of combinatorial rules, this ends up being linear number of CSS rules.&lt;br /&gt;
	--  2. To allow MobileFrontend to rip the styles out with &#039;nomobile&#039; such that&lt;br /&gt;
	--     they are not dumped into the mobile view.&lt;br /&gt;
	res:tag(&#039;div&#039;)&lt;br /&gt;
		:addClass(&#039;navbox-styles&#039;)&lt;br /&gt;
		:addClass(&#039;nomobile&#039;)&lt;br /&gt;
		:wikitext(base_templatestyles .. templatestyles)&lt;br /&gt;
		:done()&lt;br /&gt;
	&lt;br /&gt;
	-- render the appropriate wrapper around the navbox, depending on the border param&lt;br /&gt;
	if border == &#039;none&#039; then&lt;br /&gt;
		local nav = res:tag(&#039;div&#039;)&lt;br /&gt;
			:attr(&#039;role&#039;, &#039;navigation&#039;)&lt;br /&gt;
			:wikitext(addListStyles())&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
		-- aria-labelledby title, otherwise above, otherwise lone group&lt;br /&gt;
		if args.title or args.above or (args.group1 and not args.group2) then&lt;br /&gt;
			nav:attr(&#039;aria-labelledby&#039;, mw.uri.anchorEncode(args.title or args.above or args.group1))&lt;br /&gt;
		else&lt;br /&gt;
			nav:attr(&#039;aria-label&#039;, &#039;Navbox&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	elseif border == &#039;subgroup&#039; then&lt;br /&gt;
		-- We assume that this navbox is being rendered in a list cell of a&lt;br /&gt;
		-- parent navbox, and is therefore inside a div with padding:0em 0.25em.&lt;br /&gt;
		-- We start with a &amp;lt;/div&amp;gt; to avoid the padding being applied, and at the&lt;br /&gt;
		-- end add a &amp;lt;div&amp;gt; to balance out the parent&#039;s &amp;lt;/div&amp;gt;&lt;br /&gt;
		res&lt;br /&gt;
			:wikitext(&#039;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
			:wikitext(addListStyles())&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
			:wikitext(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		local nav = res:tag(&#039;div&#039;)&lt;br /&gt;
			:attr(&#039;role&#039;, &#039;navigation&#039;)&lt;br /&gt;
			:addClass(&#039;navbox&#039;)&lt;br /&gt;
			:addClass(args.navboxclass)&lt;br /&gt;
			:cssText(args.bodystyle)&lt;br /&gt;
			:cssText(args.style)&lt;br /&gt;
			:css(&#039;padding&#039;, &#039;3px&#039;)&lt;br /&gt;
			:wikitext(addListStyles())&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
		-- aria-labelledby title, otherwise above, otherwise lone group&lt;br /&gt;
		if args.title or args.above or (args.group1 and not args.group2) then&lt;br /&gt;
			nav:attr(&#039;aria-labelledby&#039;, mw.uri.anchorEncode(args.title or args.above or args.group1))&lt;br /&gt;
		else&lt;br /&gt;
			nav:attr(&#039;aria-label&#039;, &#039;Navbox&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.nocat or &#039;false&#039;):lower() == &#039;false&#039; then&lt;br /&gt;
		renderTrackingCategories(res)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return striped(tostring(res))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbox(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	args = getArgs(frame, {wrappers = {&#039;Template:Navbox&#039;, &#039;Template:Navbox subgroup&#039;}})&lt;br /&gt;
	if frame.args.border then&lt;br /&gt;
		-- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}.&lt;br /&gt;
		args.border = frame.args.border&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Read the arguments in the order they&#039;ll be output in, to make references number in the right order.&lt;br /&gt;
	local _&lt;br /&gt;
	_ = args.title&lt;br /&gt;
	_ = args.above&lt;br /&gt;
	for i = 1, 20 do&lt;br /&gt;
		_ = args[&amp;quot;group&amp;quot; .. tostring(i)]&lt;br /&gt;
		_ = args[&amp;quot;list&amp;quot; .. tostring(i)]&lt;br /&gt;
	end&lt;br /&gt;
	_ = args.below&lt;br /&gt;
&lt;br /&gt;
	return p._navbox(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Template:Navbox&amp;diff=714</id>
		<title>Template:Navbox</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Template:Navbox&amp;diff=714"/>
		<updated>2026-07-27T23:11:07Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;{{#invoke:Navbox|navbox}}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Navbox|navbox}}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Template:Faction_Standing&amp;diff=713</id>
		<title>Template:Faction Standing</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Template:Faction_Standing&amp;diff=713"/>
		<updated>2026-07-25T04:45:29Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;formatted-table&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Edit Me [[Template:Faction Standing|Here]]!&lt;br /&gt;
|-&lt;br /&gt;
! !! The Ratfolk !! The Key Station Gangsters !! The Dwellers &lt;br /&gt;
|-&lt;br /&gt;
| Andromeda || 0 || 2 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Edmund || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Elora || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| John || 0 || 2 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Mallory || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| May || 1 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Tovarish || 0 || 1 || 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Template:Faction_Standing&amp;diff=712</id>
		<title>Template:Faction Standing</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Template:Faction_Standing&amp;diff=712"/>
		<updated>2026-07-25T04:15:10Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;formatted-table&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Edit Me [[Template:Faction Standing|Here]]!&lt;br /&gt;
|-&lt;br /&gt;
! !! The Ratfolk !! The Key Station Gangsters !! The Dwellers &lt;br /&gt;
|-&lt;br /&gt;
| Andromeda || 0 || 2 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Edmund || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Elora || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| John || 0 || 2 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Mallory || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| May || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Tovarish || 0 || 1 || 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Template:Faction_Standing&amp;diff=711</id>
		<title>Template:Faction Standing</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Template:Faction_Standing&amp;diff=711"/>
		<updated>2026-07-25T04:14:37Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;formatted-table&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Edit Me [[Template:Faction Standing|Here]]!&lt;br /&gt;
|-&lt;br /&gt;
! !! The Ratfolk !! The Key Station Gangsters !! The Dwellers&lt;br /&gt;
|-&lt;br /&gt;
| Andromeda || 0 || 2 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Edmund || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Elora || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| John || 0 || 2 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Mallory || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| May || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Tovarish || 0 || 1 || 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Staff&amp;diff=710</id>
		<title>Staff</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Staff&amp;diff=710"/>
		<updated>2026-07-25T04:00:17Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Changed redirect target from Our Team to Staff:Main&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Staff:Main]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Staff&amp;diff=709</id>
		<title>Staff</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Staff&amp;diff=709"/>
		<updated>2026-07-25T04:00:03Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: TheUnburied moved page Staff to Our Team&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Our Team]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Our_Team&amp;diff=708</id>
		<title>Our Team</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Our_Team&amp;diff=708"/>
		<updated>2026-07-25T04:00:03Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: TheUnburied moved page Staff to Our Team&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Undead Archive has a variety of different roles among our staff team. &#039;&#039;&#039;Want to join the team?&#039;&#039;&#039; We&#039;re always looking for an extra set of hands! [https://discord.com/channels/1475709028414914643/1476018751072895118 Create a Ticket] and tell us a little about yourself!&lt;br /&gt;
&lt;br /&gt;
==Scribes==&lt;br /&gt;
 Lore, Quests, Character Creation&lt;br /&gt;
&lt;br /&gt;
Scribes handle lore, quests, and character creation. They work closely with Architects and Narrators.&lt;br /&gt;
*They help approve or workshop ⁠quests submitted by other staff members or players.&lt;br /&gt;
*They manage Character Creation, which includes:&lt;br /&gt;
**Deciding what knowledge a user needs to know for their character.&lt;br /&gt;
**Approving or workshopping new characters.&lt;br /&gt;
&lt;br /&gt;
==Narrators==&lt;br /&gt;
 GMing&lt;br /&gt;
&lt;br /&gt;
Narrators run events and quests in-game. They typically work alongside Scribes and Curators.&lt;br /&gt;
*When users create a ticket to call for a GM, they&#039;ll be tagged.&lt;br /&gt;
*They run quests and events.&lt;br /&gt;
*They run random encounters throughout the world (e.g. wild dogs, random vagabond, bandit ambush, etc.)&lt;br /&gt;
*They report to Curators when they notice something in the dice system that needs tweaking.&lt;br /&gt;
&lt;br /&gt;
==Curators==&lt;br /&gt;
 Dice Rule Management&lt;br /&gt;
&lt;br /&gt;
Curators help manage the dice rules to ensure everything stays balanced and fun. They often work alongside Narrators.&lt;br /&gt;
*They handle when the dice system needs tweaks or balances.&lt;br /&gt;
*They are in charge of additions or removals to the system.&lt;br /&gt;
*They work with Niuf if our dice plugin needs an update or change.&lt;br /&gt;
&lt;br /&gt;
==Arbiters==&lt;br /&gt;
 Community Moderation&lt;br /&gt;
&lt;br /&gt;
Arbiters help manage the community by enforcing rules and keeping tabs on the Discord server. They typically work with Grand Archivists.&lt;br /&gt;
*They&#039;re familiar with the rules and handle the moderation system.&lt;br /&gt;
*They help ensure the Discord server is easy to use and recommend changes that will improve people&#039;s experience.&lt;br /&gt;
&lt;br /&gt;
==Grand Archivists==&lt;br /&gt;
 Everything Else&lt;br /&gt;
&lt;br /&gt;
Grand Archivists handle server management, administration, and all staff duties that lie outside the aforementioned teams. They also count as members of each team and can make decisions as a member of that team.&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Our_Team&amp;diff=707</id>
		<title>Our Team</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Our_Team&amp;diff=707"/>
		<updated>2026-07-25T03:59:46Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Undead Archive has a variety of different roles among our staff team. &#039;&#039;&#039;Want to join the team?&#039;&#039;&#039; We&#039;re always looking for an extra set of hands! [https://discord.com/channels/1475709028414914643/1476018751072895118 Create a Ticket] and tell us a little about yourself!&lt;br /&gt;
&lt;br /&gt;
==Scribes==&lt;br /&gt;
 Lore, Quests, Character Creation&lt;br /&gt;
&lt;br /&gt;
Scribes handle lore, quests, and character creation. They work closely with Architects and Narrators.&lt;br /&gt;
*They help approve or workshop ⁠quests submitted by other staff members or players.&lt;br /&gt;
*They manage Character Creation, which includes:&lt;br /&gt;
**Deciding what knowledge a user needs to know for their character.&lt;br /&gt;
**Approving or workshopping new characters.&lt;br /&gt;
&lt;br /&gt;
==Narrators==&lt;br /&gt;
 GMing&lt;br /&gt;
&lt;br /&gt;
Narrators run events and quests in-game. They typically work alongside Scribes and Curators.&lt;br /&gt;
*When users create a ticket to call for a GM, they&#039;ll be tagged.&lt;br /&gt;
*They run quests and events.&lt;br /&gt;
*They run random encounters throughout the world (e.g. wild dogs, random vagabond, bandit ambush, etc.)&lt;br /&gt;
*They report to Curators when they notice something in the dice system that needs tweaking.&lt;br /&gt;
&lt;br /&gt;
==Curators==&lt;br /&gt;
 Dice Rule Management&lt;br /&gt;
&lt;br /&gt;
Curators help manage the dice rules to ensure everything stays balanced and fun. They often work alongside Narrators.&lt;br /&gt;
*They handle when the dice system needs tweaks or balances.&lt;br /&gt;
*They are in charge of additions or removals to the system.&lt;br /&gt;
*They work with Niuf if our dice plugin needs an update or change.&lt;br /&gt;
&lt;br /&gt;
==Arbiters==&lt;br /&gt;
 Community Moderation&lt;br /&gt;
&lt;br /&gt;
Arbiters help manage the community by enforcing rules and keeping tabs on the Discord server. They typically work with Grand Archivists.&lt;br /&gt;
*They&#039;re familiar with the rules and handle the moderation system.&lt;br /&gt;
*They help ensure the Discord server is easy to use and recommend changes that will improve people&#039;s experience.&lt;br /&gt;
&lt;br /&gt;
==Grand Archivists==&lt;br /&gt;
 Everything Else&lt;br /&gt;
&lt;br /&gt;
Grand Archivists handle server management, administration, and all staff duties that lie outside the aforementioned teams. They also count as members of each team and can make decisions as a member of that team.&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Our_Team&amp;diff=706</id>
		<title>Our Team</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Our_Team&amp;diff=706"/>
		<updated>2026-07-25T03:51:06Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Undead Archive has a variety of different roles among our staff team. &#039;&#039;&#039;Want to join the team?&#039;&#039;&#039; We&#039;re always looking for an extra set of hands! [https://discord.com/channels/1475709028414914643/1476018751072895118 Create a Ticket] and tell us a little about yourself!&lt;br /&gt;
&lt;br /&gt;
==Scribes==&lt;br /&gt;
 Lore, Quests, Character Creation&lt;br /&gt;
&lt;br /&gt;
Scribes handle lore, quests, and character creation. They work closely with Architects and Narrators.&lt;br /&gt;
*They help approve or workshop ⁠quests submitted by other staff members or players.&lt;br /&gt;
*They manage Character Creation, which includes:&lt;br /&gt;
**Deciding what knowledge a user needs to know for their character.&lt;br /&gt;
**Approving or workshopping new characters.&lt;br /&gt;
**Adding new player accounts to the server whitelist.&lt;br /&gt;
**Setting up new players with spawnpoint, starter items, languages, and a car if applicable.&lt;br /&gt;
&lt;br /&gt;
==Narrators==&lt;br /&gt;
 GMing&lt;br /&gt;
&lt;br /&gt;
Narrators run events and quests in-game. They typically work alongside Scribes and Curators.&lt;br /&gt;
*When users create a ticket to call for a GM, they&#039;ll be tagged.&lt;br /&gt;
*They run quests and events.&lt;br /&gt;
*They run random encounters throughout the world (e.g. wild dogs, random vagabond, bandit ambush, etc.)&lt;br /&gt;
*They report to Curators when they notice something in the dice system that needs tweaking.&lt;br /&gt;
&lt;br /&gt;
==Curators==&lt;br /&gt;
 Dice Rule Management&lt;br /&gt;
&lt;br /&gt;
Curators help manage the dice rules to ensure everything stays balanced and fun. They often work alongside Narrators.&lt;br /&gt;
*They handle when the dice system needs tweaks or balances.&lt;br /&gt;
*They are in charge of additions or removals to the system.&lt;br /&gt;
*They work with Niuf if our dice plugin needs an update or change.&lt;br /&gt;
&lt;br /&gt;
==Arbiters==&lt;br /&gt;
 Community Moderation&lt;br /&gt;
&lt;br /&gt;
Arbiters help manage the community by enforcing rules and keeping tabs on the Discord server. They typically work with Grand Archivists.&lt;br /&gt;
*They&#039;re familiar with the rules and handle the moderation system.&lt;br /&gt;
*They help ensure the Discord server is easy to use and recommend changes that will improve people&#039;s experience.&lt;br /&gt;
&lt;br /&gt;
==Grand Archivists==&lt;br /&gt;
 Everything Else&lt;br /&gt;
&lt;br /&gt;
Grand Archivists handle server management, administration, and all staff duties that lie outside the aforementioned teams. They also count as members of each team and can make decisions as a member of that team.&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Getting_Started&amp;diff=705</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Getting_Started&amp;diff=705"/>
		<updated>2026-07-17T05:52:55Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From posting a character application to getting your dice set up, here&#039;s a comprehensive guide on getting started on the server.&lt;br /&gt;
&lt;br /&gt;
== Character Creation ==&lt;br /&gt;
# Take a look at the following Discord channels:&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1480677410323042334 Lore]&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1480679149159973065 Factions]&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1480683095140077720 The Story So Far]&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1476351106194870383 Character Template]&lt;br /&gt;
# Submit a &#039;&#039;&#039;Character Creation&#039;&#039;&#039; ticket. From there, you can post a finished character template, or ask Scribes for help brainstorming a character concept.&lt;br /&gt;
# Once staff have approved your character, you&#039;re welcome to proceed to the next steps!&lt;br /&gt;
&lt;br /&gt;
== Character Setup ==&lt;br /&gt;
===Character Stats===&lt;br /&gt;
Next up, it&#039;s time to set up your character statblock. Read up on our [[Dice Overview]] to get a feel for the rules, then head to our [[Dice Bot]] guide on how to set up your character sheet. &lt;br /&gt;
 &#039;&#039;&#039;Note:&#039;&#039;&#039; This setup happens in &#039;&#039;&#039;Discord&#039;&#039;&#039;, either in the [https://discord.com/channels/1475709028414914643/1475729057156042762 Bots] channel or in your Character Creation ticket.&lt;br /&gt;
&lt;br /&gt;
===Tupperbox (Optional)===&lt;br /&gt;
Our Reflection bot allows you to send Discord messages as your character. It&#039;s especially helpful in the [https://discord.com/channels/1475709028414914643/1475710713761763430 Public Radio] or [https://discord.com/channels/1475709028414914643/1509303561954136145 Journals] sections, but also completely optional!&lt;br /&gt;
&lt;br /&gt;
The easiest way to set up your character is to use the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tul!register &amp;quot;Character Name&amp;quot; Brackets:text&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Character Name: || Unless your character name has spaces in it, the quotes are optional.&lt;br /&gt;
|-&lt;br /&gt;
| Brackets || This is what will be used to send messages as the character. You can customize it however you want.&lt;br /&gt;
|-&lt;br /&gt;
| text || This is a placeholder for your message. You cannot change this.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tul!register Dimplebottom D:text&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This registers &amp;quot;Dimplebottom&amp;quot; as a character, and every time I start a message with &#039;&#039;&#039;D:&#039;&#039;&#039; it&#039;ll send that message as Dimplebottom instead.&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Getting_Started&amp;diff=704</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Getting_Started&amp;diff=704"/>
		<updated>2026-07-17T05:52:27Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From posting a character application to getting your dice set up, here&#039;s a comprehensive guide on getting started on the server.&lt;br /&gt;
&lt;br /&gt;
== Create a Character ==&lt;br /&gt;
# Take a look at the following Discord channels:&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1480677410323042334 Lore]&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1480679149159973065 Factions]&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1480683095140077720 The Story So Far]&lt;br /&gt;
## [https://discord.com/channels/1475709028414914643/1476351106194870383 Character Template]&lt;br /&gt;
# Submit a &#039;&#039;&#039;Character Creation&#039;&#039;&#039; ticket. From there, you can post a finished character template, or ask Scribes for help brainstorming a character concept.&lt;br /&gt;
# Once staff have approved your character, you&#039;re welcome to proceed to the next steps!&lt;br /&gt;
&lt;br /&gt;
== Set up in Discord ==&lt;br /&gt;
===Character Stats===&lt;br /&gt;
Next up, it&#039;s time to set up your character statblock. Read up on our [[Dice Overview]] to get a feel for the rules, then head to our [[Dice Bot]] guide on how to set up your character sheet. &lt;br /&gt;
 &#039;&#039;&#039;Note:&#039;&#039;&#039; This setup happens in &#039;&#039;&#039;Discord&#039;&#039;&#039;, either in the [https://discord.com/channels/1475709028414914643/1475729057156042762 Bots] channel or in your Character Creation ticket.&lt;br /&gt;
&lt;br /&gt;
===Tupperbox (Optional)===&lt;br /&gt;
Our Reflection bot allows you to send Discord messages as your character. It&#039;s especially helpful in the [https://discord.com/channels/1475709028414914643/1475710713761763430 Public Radio] or [https://discord.com/channels/1475709028414914643/1509303561954136145 Journals] sections, but also completely optional!&lt;br /&gt;
&lt;br /&gt;
The easiest way to set up your character is to use the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tul!register &amp;quot;Character Name&amp;quot; Brackets:text&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Character Name: || Unless your character name has spaces in it, the quotes are optional.&lt;br /&gt;
|-&lt;br /&gt;
| Brackets || This is what will be used to send messages as the character. You can customize it however you want.&lt;br /&gt;
|-&lt;br /&gt;
| text || This is a placeholder for your message. You cannot change this.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tul!register Dimplebottom D:text&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This registers &amp;quot;Dimplebottom&amp;quot; as a character, and every time I start a message with &#039;&#039;&#039;D:&#039;&#039;&#039; it&#039;ll send that message as Dimplebottom instead.&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Main_Page&amp;diff=703</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Main_Page&amp;diff=703"/>
		<updated>2026-07-17T05:51:07Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;Main_Page/Styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; max-width: 300px; margin-left: 20px;&amp;quot;&amp;gt;{{Alert&lt;br /&gt;
|Title=Quick Links&lt;br /&gt;
|Content=[https://discord.gg/64tB9utzEA {{Button|Discord}}] [https://ko-fi.com/theundeadarchive {{Button|Kofi}}]&lt;br /&gt;
}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center&amp;quot;&amp;gt;&amp;lt;h2 class=&amp;quot;mp-header&amp;quot;&amp;gt;A Literate Horror Roleplay Server&amp;lt;/h2&amp;gt;&lt;br /&gt;
Whether you arrived here by car or on foot, by boat or by land, sea or sky, you&#039;re here to stay. Your desperate days will be rife with survival. Your sleepless nights will be haunted by the secrets you&#039;ve uncovered. And all the while, the moans of the undead forever remain.&lt;br /&gt;
&lt;br /&gt;
This is your story. How will it end?&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Spacer}}&lt;br /&gt;
{{Alert&lt;br /&gt;
|Title=Getting Started&lt;br /&gt;
|Content=New to the server? Check out our &#039;&#039;&#039;[[Getting Started]]&#039;&#039;&#039; guide!&lt;br /&gt;
}}&lt;br /&gt;
{{Spacer}}&lt;br /&gt;
==Dice System==&lt;br /&gt;
{|style=&amp;quot;width: 100%&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: var(--light-bg); min-width: 33%&amp;quot;|&lt;br /&gt;
===[[Dice Overview]]===&lt;br /&gt;
Overall dice rules, including how rolling works and what to expect.&lt;br /&gt;
|style=&amp;quot;background: var(--light-bg); min-width: 33%&amp;quot;|&lt;br /&gt;
===[[Dice Bot|Dice Setup]]===&lt;br /&gt;
How to set up the dice bot in Discord.&lt;br /&gt;
|style=&amp;quot;background: var(--light-bg); min-width: 33%&amp;quot;|&lt;br /&gt;
===[[Basic Actions]]===&lt;br /&gt;
Some of the most common actions your character will use.&lt;br /&gt;
|}&lt;br /&gt;
{{Spacer}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center&amp;quot;&amp;gt;[[Injuries|{{Button|Injuries}}]] [[Conditions|{{Button|Conditions}}]] [[Tactical Equipment|{{Button|Tactical Equipment}}]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Midge&amp;diff=702</id>
		<title>Midge</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Midge&amp;diff=702"/>
		<updated>2026-07-07T02:28:17Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Redirected page to Staff:Midge&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Staff:Midge]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Sadie_Benson&amp;diff=700</id>
		<title>Sadie Benson</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Sadie_Benson&amp;diff=700"/>
		<updated>2026-07-05T23:09:57Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Redirected page to Staff:Sadie Benson&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Staff:Sadie Benson]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Template:TOC&amp;diff=699</id>
		<title>Template:TOC</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Template:TOC&amp;diff=699"/>
		<updated>2026-07-03T08:20:41Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Created page with &amp;quot;{{#if:{{{limit|}}}|&amp;lt;templatestyles src=&amp;quot;TOC/limit-styles.css&amp;quot;/&amp;gt;}}&amp;lt;div style=&amp;quot;{{#if:{{{clear|}}}{{{align|}}}| clear: {{{clear|both}}}; }} margin-bottom: .5em; float: {{{align|none}}}; {{#ifeq: {{lc:{{{align|}}}}} | right | margin-left:2em; | {{#ifeq: {{lc:{{{align|}}}}} | left | margin-right:2em; | &amp;lt;!-- align=none --&amp;gt; }} }} width: {{{width|auto}}};&amp;quot; {{#if:{{{limit|}}}|class=&amp;quot;toclimit-{{{limit}}}&amp;quot;}}&amp;gt;__TOC__&amp;lt;/div&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#if:{{{limit|}}}|&amp;lt;templatestyles src=&amp;quot;TOC/limit-styles.css&amp;quot;/&amp;gt;}}&amp;lt;div style=&amp;quot;{{#if:{{{clear|}}}{{{align|}}}| clear: {{{clear|both}}}; }} margin-bottom: .5em; float: {{{align|none}}}; {{#ifeq: {{lc:{{{align|}}}}} | right | margin-left:2em; | {{#ifeq: {{lc:{{{align|}}}}} | left | margin-right:2em; | &amp;lt;!-- align=none --&amp;gt; }} }} width: {{{width|auto}}};&amp;quot; {{#if:{{{limit|}}}|class=&amp;quot;toclimit-{{{limit}}}&amp;quot;}}&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=698</id>
		<title>Dice Overview</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=698"/>
		<updated>2026-07-03T08:18:03Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
==Abilities and Skills==&lt;br /&gt;
&lt;br /&gt;
Abilities represent your fundamental strengths as a survivor. Each &#039;&#039;&#039;Ability&#039;&#039;&#039; governs a set of &#039;&#039;&#039;Skills&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Skills are always rolled with their parent Ability.&lt;br /&gt;
&lt;br /&gt;
When you attempt an action using a Skill, roll the following: &lt;br /&gt;
 d20 + its associated Ability + the Skill level&lt;br /&gt;
&lt;br /&gt;
For example, if you have a +2 Morale and +2 Presence (its parent ability), you&#039;d roll:&lt;br /&gt;
 d20 + 2 (Morale) + 2 (Presence) &lt;br /&gt;
&lt;br /&gt;
Compare the total to a Difficulty Class, or DC, set by the narrator or the rules.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!colspan=2| Physique&lt;br /&gt;
|-&lt;br /&gt;
| Athletics: || Climbing, jumping, swimming, lifting, and other feats of physical exertion.&lt;br /&gt;
|-&lt;br /&gt;
| Melee || Fighting with close combat weapons or unarmed strikes.&lt;br /&gt;
|-&lt;br /&gt;
| Resilience || Enduring pain, resisting poison or illness, and withstanding physical trauma.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Agility&lt;br /&gt;
|-&lt;br /&gt;
| Aiming || Using ranged weapons accurately.&lt;br /&gt;
|-&lt;br /&gt;
| Stealth || Moving quietly, hiding, and avoiding detection.&lt;br /&gt;
|-&lt;br /&gt;
| Reflex || Reacting quickly to danger, avoiding hazards, and resisting sudden effects.&lt;br /&gt;
|-&lt;br /&gt;
| Finesse || Precise manual control, delicate manipulation, or careful physical actions.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Reason&lt;br /&gt;
|-&lt;br /&gt;
| Awareness || Noticing threats, spotting details, and reading intent.&lt;br /&gt;
|-&lt;br /&gt;
| Medicine || Treating wounds, stabilising injuries, and managing illness.&lt;br /&gt;
|-&lt;br /&gt;
| Technology || Using, repairing, or understanding machines and electronic systems.&lt;br /&gt;
|-&lt;br /&gt;
| Academia || General knowledge, research, and recalling learned information.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Presence&lt;br /&gt;
|-&lt;br /&gt;
| Morale || Resisting fear, maintaining composure, and enduring psychological strain.&lt;br /&gt;
|-&lt;br /&gt;
| Intimidation || Coercing or frightening others into compliance.&lt;br /&gt;
|-&lt;br /&gt;
| Persuasion || Convincing others through reason, trust, or emotional appeal.&lt;br /&gt;
|-&lt;br /&gt;
| Deception || Lying convincingly, misleading others, or concealing the truth.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Difficulty Class and Outcomes==&lt;br /&gt;
Difficulty Class (DC) is the number that you compare your roll against. They are set by the rules or the narrator.&lt;br /&gt;
&lt;br /&gt;
After rolling, compare your total to the DC.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Below DC: || Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Below DC || Failure&lt;br /&gt;
|-&lt;br /&gt;
| Meets DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Above DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Above DC || Strong Success&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Examples: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|Success&lt;br /&gt;
|Failure&lt;br /&gt;
|Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 10 and up&lt;br /&gt;
|5-10&lt;br /&gt;
|4-0&lt;br /&gt;
|/&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 15 and up&lt;br /&gt;
|10-14&lt;br /&gt;
|5-9&lt;br /&gt;
|4 and down&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 20 and up&lt;br /&gt;
|15-19&lt;br /&gt;
|10-14&lt;br /&gt;
|9 and down&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 25 and up&lt;br /&gt;
|20-24&lt;br /&gt;
|15-19&lt;br /&gt;
|14 and down&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Narrator DC Guidance: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|-&lt;br /&gt;
| 1-5 || valign=&amp;quot;top&amp;quot; |Trivial tasks,  minimal chance of failure.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || valign=&amp;quot;top&amp;quot; |Easy Tasks,  most people would be able to succeed.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || Doable Tasks, with some effort this should be doable.&lt;br /&gt;
|-&lt;br /&gt;
| 16-20 || Tricky Tasks, probably going to fail if you are untrained.&lt;br /&gt;
|-&lt;br /&gt;
|21-25&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Hard Tasks,  for those with experience.&lt;br /&gt;
|-&lt;br /&gt;
|26-30&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Long Shot,  Even with training it’ll take a lot of luck to get this done.&lt;br /&gt;
|-&lt;br /&gt;
|31+&lt;br /&gt;
|Never, Impossible things should not be rolled for.&lt;br /&gt;
|}&lt;br /&gt;
== Advantage and Disadvantage ==&lt;br /&gt;
Some rules give a roll Advantage or Disadvantage. A narrator will tell you if one applies.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Advantage: || Roll two d20&#039;s, pick the highest.&lt;br /&gt;
|-&lt;br /&gt;
| Disadvantage || Roll two d20&#039;s, pick the lowest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Advantage and Disadvantage do not stack. &lt;br /&gt;
*If a roll has both Advantage and Disadvantage, they cancel out and the roll is made normally.&lt;br /&gt;
&lt;br /&gt;
==Statistics==&lt;br /&gt;
When skills are mentioned in calculations (not just in this section) only use the skill level, the ability will be listed separately if used.&lt;br /&gt;
&lt;br /&gt;
===Health Points===&lt;br /&gt;
 HP = 5 + Physique + (Resilience / 2) rounded down.&lt;br /&gt;
*At 0 current HP, you gain the [[Conditions#Unconscious|{{Tooltip|Unconscious|{{:Conditions/Unconscious}}}}]] Condition.&lt;br /&gt;
&lt;br /&gt;
If you have 2 Physique and 2 Resilience, then your HP would be 8 (5+2+[2/2])&lt;br /&gt;
&lt;br /&gt;
=== Movement ===&lt;br /&gt;
 Movement = 3 + (Athletics + Reflex) / 2, rounded down.&lt;br /&gt;
&lt;br /&gt;
*During your turn you may use 1 movement to move 1 tile.&lt;br /&gt;
*Your movement resets to max on the end of your turn.&lt;br /&gt;
&lt;br /&gt;
===Stress===&lt;br /&gt;
*Stress represents psychological strain.&lt;br /&gt;
*While resting, you lose 1 Stress at the end of each hour in-game.&lt;br /&gt;
 Stress Cap = 3 + Presence&lt;br /&gt;
*When your Stress reaches your Stress Cap, you must make a Morale Roll and resolve the result according to the table below.&lt;br /&gt;
{|&lt;br /&gt;
! Morale !! Result&lt;br /&gt;
|- &lt;br /&gt;
| 1-5: || You surrender to your opponents.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || Your movement and AP reduced to 0 until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || You must get as far away as you can, until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 16+ || You are stunned until the end of your next turn.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Defenses ===&lt;br /&gt;
Unless otherwise stated by a rule or feature, when someone attempts to attack you the DC is equal to your Base Defense&lt;br /&gt;
&lt;br /&gt;
If you are wearing [[Armor]] on a targeted area, add that to the DC, armor does not get added atop Dodge or Parry DC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Base Defense = 10 + Resilience&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Initiative and Rounds ==&lt;br /&gt;
&lt;br /&gt;
=== Initiative ===&lt;br /&gt;
At the start of combat, each participant rolls Reflex.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, your AP starts out maxed out at the start of combat, even before your first turn.&lt;br /&gt;
&lt;br /&gt;
=== Rounds ===&lt;br /&gt;
A round is the sum of all turns taken by everyone in combat.&lt;br /&gt;
&lt;br /&gt;
A round starts with the character who has the highest Initiative and ends after the character with the lowest Initiative has finished their turn.&lt;br /&gt;
&lt;br /&gt;
Once the lowest Initiative character has finished their turn, a new round begins with the highest Initiative character again.&lt;br /&gt;
&lt;br /&gt;
=== Turns ===&lt;br /&gt;
On your turn, you may spend AP to do your actions.&lt;br /&gt;
&lt;br /&gt;
AP is detailed in the Action Economy section.&lt;br /&gt;
&lt;br /&gt;
= Distance and Position =&lt;br /&gt;
The game uses &#039;&#039;&#039;tiles&#039;&#039;&#039; to measure tactical distance.&lt;br /&gt;
&lt;br /&gt;
One tile represents approximately &#039;&#039;&#039;5 feet&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When no unit of measurement is used, assume tiles.&lt;br /&gt;
&lt;br /&gt;
=== Adjacent ===&lt;br /&gt;
A creature or object is adjacent to you if it is within 1 tile of you, with diagonal tiles counting.&lt;br /&gt;
&lt;br /&gt;
Unless a weapon or rule says otherwise, melee attacks can only target adjacent creatures.&lt;br /&gt;
&lt;br /&gt;
= Action Economy =&lt;br /&gt;
Each character has a maximum number of Action Points (AP).&lt;br /&gt;
&lt;br /&gt;
By default, a character has &#039;&#039;&#039;4 maximum AP&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You spend AP to take actions on your turn and to take Reactions when their triggers occur.&lt;br /&gt;
&lt;br /&gt;
At the end of your turn, your AP is restored to its maximum.&lt;br /&gt;
&lt;br /&gt;
If you spent AP on Reactions before your turn begins, you start your turn with whatever AP you have remaining. &lt;br /&gt;
&lt;br /&gt;
[[Category:Dice System]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=697</id>
		<title>Dice Overview</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=697"/>
		<updated>2026-07-03T02:03:12Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a test&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Abilities and Skills==&lt;br /&gt;
&lt;br /&gt;
Abilities represent your fundamental strengths as a survivor. Each &#039;&#039;&#039;Ability&#039;&#039;&#039; governs a set of &#039;&#039;&#039;Skills&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Skills are always rolled with their parent Ability.&lt;br /&gt;
&lt;br /&gt;
When you attempt an action using a Skill, roll the following: &lt;br /&gt;
 d20 + its associated Ability + the Skill level&lt;br /&gt;
&lt;br /&gt;
For example, if you have a +2 Morale and +2 Presence (its parent ability), you&#039;d roll:&lt;br /&gt;
 d20 + 2 (Morale) + 2 (Presence) &lt;br /&gt;
&lt;br /&gt;
Compare the total to a Difficulty Class, or DC, set by the narrator or the rules.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!colspan=2| Physique&lt;br /&gt;
|-&lt;br /&gt;
| Athletics: || Climbing, jumping, swimming, lifting, and other feats of physical exertion.&lt;br /&gt;
|-&lt;br /&gt;
| Melee || Fighting with close combat weapons or unarmed strikes.&lt;br /&gt;
|-&lt;br /&gt;
| Resilience || Enduring pain, resisting poison or illness, and withstanding physical trauma.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Agility&lt;br /&gt;
|-&lt;br /&gt;
| Aiming || Using ranged weapons accurately.&lt;br /&gt;
|-&lt;br /&gt;
| Stealth || Moving quietly, hiding, and avoiding detection.&lt;br /&gt;
|-&lt;br /&gt;
| Reflex || Reacting quickly to danger, avoiding hazards, and resisting sudden effects.&lt;br /&gt;
|-&lt;br /&gt;
| Finesse || Precise manual control, delicate manipulation, or careful physical actions.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Reason&lt;br /&gt;
|-&lt;br /&gt;
| Awareness || Noticing threats, spotting details, and reading intent.&lt;br /&gt;
|-&lt;br /&gt;
| Medicine || Treating wounds, stabilising injuries, and managing illness.&lt;br /&gt;
|-&lt;br /&gt;
| Technology || Using, repairing, or understanding machines and electronic systems.&lt;br /&gt;
|-&lt;br /&gt;
| Academia || General knowledge, research, and recalling learned information.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Presence&lt;br /&gt;
|-&lt;br /&gt;
| Morale || Resisting fear, maintaining composure, and enduring psychological strain.&lt;br /&gt;
|-&lt;br /&gt;
| Intimidation || Coercing or frightening others into compliance.&lt;br /&gt;
|-&lt;br /&gt;
| Persuasion || Convincing others through reason, trust, or emotional appeal.&lt;br /&gt;
|-&lt;br /&gt;
| Deception || Lying convincingly, misleading others, or concealing the truth.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Difficulty Class and Outcomes==&lt;br /&gt;
Difficulty Class (DC) is the number that you compare your roll against. They are set by the rules or the narrator.&lt;br /&gt;
&lt;br /&gt;
After rolling, compare your total to the DC.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Below DC: || Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Below DC || Failure&lt;br /&gt;
|-&lt;br /&gt;
| Meets DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Above DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Above DC || Strong Success&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Examples: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|Success&lt;br /&gt;
|Failure&lt;br /&gt;
|Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 10 and up&lt;br /&gt;
|5-10&lt;br /&gt;
|4-0&lt;br /&gt;
|/&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 15 and up&lt;br /&gt;
|10-14&lt;br /&gt;
|5-9&lt;br /&gt;
|4 and down&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 20 and up&lt;br /&gt;
|15-19&lt;br /&gt;
|10-14&lt;br /&gt;
|9 and down&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 25 and up&lt;br /&gt;
|20-24&lt;br /&gt;
|15-19&lt;br /&gt;
|14 and down&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Narrator DC Guidance: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|-&lt;br /&gt;
| 1-5 || valign=&amp;quot;top&amp;quot; |Trivial tasks,  minimal chance of failure.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || valign=&amp;quot;top&amp;quot; |Easy Tasks,  most people would be able to succeed.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || Doable Tasks, with some effort this should be doable.&lt;br /&gt;
|-&lt;br /&gt;
| 16-20 || Tricky Tasks, probably going to fail if you are untrained.&lt;br /&gt;
|-&lt;br /&gt;
|21-25&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Hard Tasks,  for those with experience.&lt;br /&gt;
|-&lt;br /&gt;
|26-30&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Long Shot,  Even with training it’ll take a lot of luck to get this done.&lt;br /&gt;
|-&lt;br /&gt;
|31+&lt;br /&gt;
|Never, Impossible things should not be rolled for.&lt;br /&gt;
|}&lt;br /&gt;
== Advantage and Disadvantage ==&lt;br /&gt;
Some rules give a roll Advantage or Disadvantage. A narrator will tell you if one applies.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Advantage: || Roll two d20&#039;s, pick the highest.&lt;br /&gt;
|-&lt;br /&gt;
| Disadvantage || Roll two d20&#039;s, pick the lowest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Advantage and Disadvantage do not stack. &lt;br /&gt;
*If a roll has both Advantage and Disadvantage, they cancel out and the roll is made normally.&lt;br /&gt;
&lt;br /&gt;
==Statistics==&lt;br /&gt;
When skills are mentioned in calculations (not just in this section) only use the skill level, the ability will be listed separately if used.&lt;br /&gt;
&lt;br /&gt;
===Health Points===&lt;br /&gt;
 HP = 5 + Physique + (Resilience / 2) rounded down.&lt;br /&gt;
*At 0 current HP, you gain the [[Conditions#Unconscious|{{Tooltip|Unconscious|{{:Conditions/Unconscious}}}}]] Condition.&lt;br /&gt;
&lt;br /&gt;
If you have 2 Physique and 2 Resilience, then your HP would be 8 (5+2+[2/2])&lt;br /&gt;
&lt;br /&gt;
=== Movement ===&lt;br /&gt;
 Movement = 3 + (Athletics + Reflex) / 2, rounded down.&lt;br /&gt;
&lt;br /&gt;
*During your turn you may use 1 movement to move 1 tile.&lt;br /&gt;
*Your movement resets to max on the end of your turn.&lt;br /&gt;
&lt;br /&gt;
===Stress===&lt;br /&gt;
*Stress represents psychological strain.&lt;br /&gt;
*While resting, you lose 1 Stress at the end of each hour in-game.&lt;br /&gt;
 Stress Cap = 3 + Presence&lt;br /&gt;
*When your Stress reaches your Stress Cap, you must make a Morale Roll and resolve the result according to the table below.&lt;br /&gt;
{|&lt;br /&gt;
! Morale !! Result&lt;br /&gt;
|- &lt;br /&gt;
| 1-5: || You surrender to your opponents.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || Your movement and AP reduced to 0 until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || You must get as far away as you can, until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 16+ || You are stunned until the end of your next turn.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Defenses ===&lt;br /&gt;
Unless otherwise stated by a rule or feature, when someone attempts to attack you the DC is equal to your Base Defense&lt;br /&gt;
&lt;br /&gt;
If you are wearing [[Armor]] on a targeted area, add that to the DC, armor does not get added atop Dodge or Parry DC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Base Defense = 10 + Resilience&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Initiative and Rounds ==&lt;br /&gt;
&lt;br /&gt;
=== Initiative ===&lt;br /&gt;
At the start of combat, each participant rolls Reflex.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, your AP starts out maxed out at the start of combat, even before your first turn.&lt;br /&gt;
&lt;br /&gt;
=== Rounds ===&lt;br /&gt;
A round is the sum of all turns taken by everyone in combat.&lt;br /&gt;
&lt;br /&gt;
A round starts with the character who has the highest Initiative and ends after the character with the lowest Initiative has finished their turn.&lt;br /&gt;
&lt;br /&gt;
Once the lowest Initiative character has finished their turn, a new round begins with the highest Initiative character again.&lt;br /&gt;
&lt;br /&gt;
=== Turns ===&lt;br /&gt;
On your turn, you may spend AP to do your actions.&lt;br /&gt;
&lt;br /&gt;
AP is detailed in the Action Economy section.&lt;br /&gt;
&lt;br /&gt;
= Distance and Position =&lt;br /&gt;
The game uses &#039;&#039;&#039;tiles&#039;&#039;&#039; to measure tactical distance.&lt;br /&gt;
&lt;br /&gt;
One tile represents approximately &#039;&#039;&#039;5 feet&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When no unit of measurement is used, assume tiles.&lt;br /&gt;
&lt;br /&gt;
=== Adjacent ===&lt;br /&gt;
A creature or object is adjacent to you if it is within 1 tile of you, with diagonal tiles counting.&lt;br /&gt;
&lt;br /&gt;
Unless a weapon or rule says otherwise, melee attacks can only target adjacent creatures.&lt;br /&gt;
&lt;br /&gt;
= Action Economy =&lt;br /&gt;
Each character has a maximum number of Action Points (AP).&lt;br /&gt;
&lt;br /&gt;
By default, a character has &#039;&#039;&#039;4 maximum AP&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You spend AP to take actions on your turn and to take Reactions when their triggers occur.&lt;br /&gt;
&lt;br /&gt;
At the end of your turn, your AP is restored to its maximum.&lt;br /&gt;
&lt;br /&gt;
If you spent AP on Reactions before your turn begins, you start your turn with whatever AP you have remaining. &lt;br /&gt;
&lt;br /&gt;
[[Category:Dice System]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=696</id>
		<title>Dice Overview</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Dice_Overview&amp;diff=696"/>
		<updated>2026-07-03T02:02:34Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Abilities and Skills==&lt;br /&gt;
&lt;br /&gt;
Abilities represent your fundamental strengths as a survivor. Each &#039;&#039;&#039;Ability&#039;&#039;&#039; governs a set of &#039;&#039;&#039;Skills&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Skills are always rolled with their parent Ability.&lt;br /&gt;
&lt;br /&gt;
When you attempt an action using a Skill, roll the following: &lt;br /&gt;
 d20 + its associated Ability + the Skill level&lt;br /&gt;
&lt;br /&gt;
For example, if you have a +2 Morale and +2 Presence (its parent ability), you&#039;d roll:&lt;br /&gt;
 d20 + 2 (Morale) + 2 (Presence) &lt;br /&gt;
&lt;br /&gt;
Compare the total to a Difficulty Class, or DC, set by the narrator or the rules.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!colspan=2| Physique&lt;br /&gt;
|-&lt;br /&gt;
| Athletics: || Climbing, jumping, swimming, lifting, and other feats of physical exertion.&lt;br /&gt;
|-&lt;br /&gt;
| Melee || Fighting with close combat weapons or unarmed strikes.&lt;br /&gt;
|-&lt;br /&gt;
| Resilience || Enduring pain, resisting poison or illness, and withstanding physical trauma.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Agility&lt;br /&gt;
|-&lt;br /&gt;
| Aiming || Using ranged weapons accurately.&lt;br /&gt;
|-&lt;br /&gt;
| Stealth || Moving quietly, hiding, and avoiding detection.&lt;br /&gt;
|-&lt;br /&gt;
| Reflex || Reacting quickly to danger, avoiding hazards, and resisting sudden effects.&lt;br /&gt;
|-&lt;br /&gt;
| Finesse || Precise manual control, delicate manipulation, or careful physical actions.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Reason&lt;br /&gt;
|-&lt;br /&gt;
| Awareness || Noticing threats, spotting details, and reading intent.&lt;br /&gt;
|-&lt;br /&gt;
| Medicine || Treating wounds, stabilising injuries, and managing illness.&lt;br /&gt;
|-&lt;br /&gt;
| Technology || Using, repairing, or understanding machines and electronic systems.&lt;br /&gt;
|-&lt;br /&gt;
| Academia || General knowledge, research, and recalling learned information.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| Presence&lt;br /&gt;
|-&lt;br /&gt;
| Morale || Resisting fear, maintaining composure, and enduring psychological strain.&lt;br /&gt;
|-&lt;br /&gt;
| Intimidation || Coercing or frightening others into compliance.&lt;br /&gt;
|-&lt;br /&gt;
| Persuasion || Convincing others through reason, trust, or emotional appeal.&lt;br /&gt;
|-&lt;br /&gt;
| Deception || Lying convincingly, misleading others, or concealing the truth.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Difficulty Class and Outcomes==&lt;br /&gt;
Difficulty Class (DC) is the number that you compare your roll against. They are set by the rules or the narrator.&lt;br /&gt;
&lt;br /&gt;
After rolling, compare your total to the DC.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Below DC: || Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Below DC || Failure&lt;br /&gt;
|-&lt;br /&gt;
| Meets DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| 5 or Less Above DC || Success&lt;br /&gt;
|-&lt;br /&gt;
| Over 5 Above DC || Strong Success&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Examples: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|Success&lt;br /&gt;
|Failure&lt;br /&gt;
|Strong Failure&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 10 and up&lt;br /&gt;
|5-10&lt;br /&gt;
|4-0&lt;br /&gt;
|/&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 15 and up&lt;br /&gt;
|10-14&lt;br /&gt;
|5-9&lt;br /&gt;
|4 and down&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 20 and up&lt;br /&gt;
|15-19&lt;br /&gt;
|10-14&lt;br /&gt;
|9 and down&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 25 and up&lt;br /&gt;
|20-24&lt;br /&gt;
|15-19&lt;br /&gt;
|14 and down&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Narrator DC Guidance: ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DC: || Strong Success&lt;br /&gt;
|-&lt;br /&gt;
| 1-5 || valign=&amp;quot;top&amp;quot; |Trivial tasks,  minimal chance of failure.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || valign=&amp;quot;top&amp;quot; |Easy Tasks,  most people would be able to succeed.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || Doable Tasks, with some effort this should be doable.&lt;br /&gt;
|-&lt;br /&gt;
| 16-20 || Tricky Tasks, probably going to fail if you are untrained.&lt;br /&gt;
|-&lt;br /&gt;
|21-25&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Hard Tasks,  for those with experience.&lt;br /&gt;
|-&lt;br /&gt;
|26-30&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |Long Shot,  Even with training it’ll take a lot of luck to get this done.&lt;br /&gt;
|-&lt;br /&gt;
|31+&lt;br /&gt;
|Never, Impossible things should not be rolled for.&lt;br /&gt;
|}&lt;br /&gt;
== Advantage and Disadvantage ==&lt;br /&gt;
Some rules give a roll Advantage or Disadvantage. A narrator will tell you if one applies.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Advantage: || Roll two d20&#039;s, pick the highest.&lt;br /&gt;
|-&lt;br /&gt;
| Disadvantage || Roll two d20&#039;s, pick the lowest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Advantage and Disadvantage do not stack. &lt;br /&gt;
*If a roll has both Advantage and Disadvantage, they cancel out and the roll is made normally.&lt;br /&gt;
&lt;br /&gt;
==Statistics==&lt;br /&gt;
When skills are mentioned in calculations (not just in this section) only use the skill level, the ability will be listed separately if used.&lt;br /&gt;
&lt;br /&gt;
===Health Points===&lt;br /&gt;
 HP = 5 + Physique + (Resilience / 2) rounded down.&lt;br /&gt;
*At 0 current HP, you gain the [[Conditions#Unconscious|{{Tooltip|Unconscious|{{:Conditions/Unconscious}}}}]] Condition.&lt;br /&gt;
&lt;br /&gt;
If you have 2 Physique and 2 Resilience, then your HP would be 8 (5+2+[2/2])&lt;br /&gt;
&lt;br /&gt;
=== Movement ===&lt;br /&gt;
 Movement = 3 + (Athletics + Reflex) / 2, rounded down.&lt;br /&gt;
&lt;br /&gt;
*During your turn you may use 1 movement to move 1 tile.&lt;br /&gt;
*Your movement resets to max on the end of your turn.&lt;br /&gt;
&lt;br /&gt;
===Stress===&lt;br /&gt;
*Stress represents psychological strain.&lt;br /&gt;
*While resting, you lose 1 Stress at the end of each hour in-game.&lt;br /&gt;
 Stress Cap = 3 + Presence&lt;br /&gt;
*When your Stress reaches your Stress Cap, you must make a Morale Roll and resolve the result according to the table below.&lt;br /&gt;
{|&lt;br /&gt;
! Morale !! Result&lt;br /&gt;
|- &lt;br /&gt;
| 1-5: || You surrender to your opponents.&lt;br /&gt;
|-&lt;br /&gt;
| 6-10 || Your movement and AP reduced to 0 until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 11-15 || You must get as far away as you can, until the end of your next turn.&lt;br /&gt;
|-&lt;br /&gt;
| 16+ || You are stunned until the end of your next turn.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Defenses ===&lt;br /&gt;
Unless otherwise stated by a rule or feature, when someone attempts to attack you the DC is equal to your Base Defense&lt;br /&gt;
&lt;br /&gt;
If you are wearing [[Armor]] on a targeted area, add that to the DC, armor does not get added atop Dodge or Parry DC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Base Defense = 10 + Resilience&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Initiative and Rounds ==&lt;br /&gt;
&lt;br /&gt;
=== Initiative ===&lt;br /&gt;
At the start of combat, each participant rolls Reflex.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, your AP starts out maxed out at the start of combat, even before your first turn.&lt;br /&gt;
&lt;br /&gt;
=== Rounds ===&lt;br /&gt;
A round is the sum of all turns taken by everyone in combat.&lt;br /&gt;
&lt;br /&gt;
A round starts with the character who has the highest Initiative and ends after the character with the lowest Initiative has finished their turn.&lt;br /&gt;
&lt;br /&gt;
Once the lowest Initiative character has finished their turn, a new round begins with the highest Initiative character again.&lt;br /&gt;
&lt;br /&gt;
=== Turns ===&lt;br /&gt;
On your turn, you may spend AP to do your actions.&lt;br /&gt;
&lt;br /&gt;
AP is detailed in the Action Economy section.&lt;br /&gt;
&lt;br /&gt;
= Distance and Position =&lt;br /&gt;
The game uses &#039;&#039;&#039;tiles&#039;&#039;&#039; to measure tactical distance.&lt;br /&gt;
&lt;br /&gt;
One tile represents approximately &#039;&#039;&#039;5 feet&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When no unit of measurement is used, assume tiles.&lt;br /&gt;
&lt;br /&gt;
=== Adjacent ===&lt;br /&gt;
A creature or object is adjacent to you if it is within 1 tile of you, with diagonal tiles counting.&lt;br /&gt;
&lt;br /&gt;
Unless a weapon or rule says otherwise, melee attacks can only target adjacent creatures.&lt;br /&gt;
&lt;br /&gt;
= Action Economy =&lt;br /&gt;
Each character has a maximum number of Action Points (AP).&lt;br /&gt;
&lt;br /&gt;
By default, a character has &#039;&#039;&#039;4 maximum AP&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You spend AP to take actions on your turn and to take Reactions when their triggers occur.&lt;br /&gt;
&lt;br /&gt;
At the end of your turn, your AP is restored to its maximum.&lt;br /&gt;
&lt;br /&gt;
If you spent AP on Reactions before your turn begins, you start your turn with whatever AP you have remaining. &lt;br /&gt;
&lt;br /&gt;
[[Category:Dice System]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Dice_Rules&amp;diff=695</id>
		<title>Dice Rules</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Dice_Rules&amp;diff=695"/>
		<updated>2026-07-03T01:56:19Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Dice Overview=&lt;br /&gt;
{{:Dice Overview}}&lt;br /&gt;
|-|Tactical Equipment=&lt;br /&gt;
{{:Tactical Equipment}}&lt;br /&gt;
|-|Strong Attacks=&lt;br /&gt;
{{:Strong Attacks}}&lt;br /&gt;
|-|Injuries=&lt;br /&gt;
{{:Injuries}}&lt;br /&gt;
|-|Conditions=&lt;br /&gt;
{{:Conditions}}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=File:Monday.png&amp;diff=693</id>
		<title>File:Monday.png</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=File:Monday.png&amp;diff=693"/>
		<updated>2026-06-25T23:37:03Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=The_Ratfolk&amp;diff=692</id>
		<title>The Ratfolk</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=The_Ratfolk&amp;diff=692"/>
		<updated>2026-06-25T23:36:28Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Redirected page to Staff:The Ratfolk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Staff:The Ratfolk]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Monday_October_Fisher&amp;diff=690</id>
		<title>Monday October Fisher</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Monday_October_Fisher&amp;diff=690"/>
		<updated>2026-06-25T23:35:25Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Redirected page to Staff:Monday October Fisher&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Staff:Monday October Fisher]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
	<entry>
		<id>https://www.theundeadarchive.com/index.php?title=Worth_a_Thousand_Words&amp;diff=687</id>
		<title>Worth a Thousand Words</title>
		<link rel="alternate" type="text/html" href="https://www.theundeadarchive.com/index.php?title=Worth_a_Thousand_Words&amp;diff=687"/>
		<updated>2026-06-25T23:32:37Z</updated>

		<summary type="html">&lt;p&gt;TheUnburied: Redirected page to Staff:Worth a Thousand Words&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Staff:Worth a Thousand Words]]&lt;/div&gt;</summary>
		<author><name>TheUnburied</name></author>
	</entry>
</feed>