"""Page copy: how-to, article sections, example intro, FAQs. One H1 lives in the hero."""
HOW_TO_HTML = """
This free DnD NPC generator builds non-player characters for the
person who has to run them: the Dungeon Master. Instead of a name and three adjectives,
every result is a complete, table-ready character — a performable voice, a motive that
drives scenes, named relationships, a secret, and three plot hooks you can drop into
your next session. It works for 5e and the 2024 rules, runs right on this page, and
needs no signup.
- Describe the slot you need filled. Every field is optional. Give a
role ("harbor-master", "fence", "village priest"), or a location, or just what the party
needs from them — the generator fills in the rest.
- Set their importance. Background NPCs get local, small-stakes hooks;
Recurring NPCs get an agenda that advances between meetings; Major NPCs get
campaign-relevant secrets built to escalate across an arc.
- Pick a demeanor, or don't. Friendly, gruff, scheming, weary — a
single word here shapes the whole performance. Leave it blank and the generator chooses
something that fits the role.
- Generate, then run them. You get a structured NPC sheet, not a wall
of prose. Copy the Markdown into your prep notes or download the file, and hit
Regenerate until the character feels right. The Surprise Me button rolls a role, race,
importance, and demeanor for you.
"""
INCLUDES_HTML = """
Most random NPC tools stop at a name and a personality trait. That is the part of NPC
creation that was never hard. The hard part is the moment your players decide the
weigh-clerk is interesting and you have to be him for twenty minutes. Every NPC
this tool generates includes the fields that survive contact with a party:
- Name and role title — not "merchant" but "Weigh-Clerk of the Salt
Exchange." A specific title tells your players where this person fits in the world
before they say a word.
- Appearance you can read aloud — two to four sentences of concrete
physical detail, no stat-block prose.
- A performable voice and mannerism. This is the field that makes an
NPC playable rather than describable. Never "sounds mysterious" — instead, "drops the
ends of sentences, taps coins on the counter while listening." An accent, a cadence, and
one physical tic you can actually do at the table.
- Personality and motivation — how they treat strangers, and what
they want right now. Motivation is what makes an NPC answer questions the way
they do; without it you're improvising a mood, not a person.
- A secret the party doesn't know, built to surface in play rather
than sit in your notes.
- Named relationships — two or three specific people or factions with
the current state of each. Relationships are how one NPC quietly becomes three sessions
of content.
- A quote in their voice, so you can hear them before you perform
them.
- Exactly three plot hooks — concrete scenes or complications
involving this NPC, each specific enough to run: a passage they control, an audit that
implicates a patron, a syndicate buying up a son's debts.
- A stat suggestion pointing at an SRD block to borrow ("use
Commoner; if pressed, Spy") so you never build a stat block for someone who might only
get one scene.
- A three-sentence quick reference for the DM screen — who they are,
what they want, how to play them.
"""
EXAMPLE_INTRO_HTML = """
Here is a complete, unedited output from this generator. The inputs were: role
"canal lock-keeper", importance Recurring, demeanor Gruff — everything else left
blank.
"""
RUN_AT_TABLE_HTML = """
A generated NPC earns its place the moment your players talk to it. A few habits
turn a good sheet into a good scene:
- Anchor the voice to the tic. You will forget an accent halfway
through a tense negotiation; you will not forget a physical habit. Do the tic first —
tap the keys, wipe the counter, crack the knuckles — and the voice follows. If you lose
the accent, keep the cadence: dropped sentence-endings survive even when the drawl
doesn't.
- Play the motivation, not the plot. When players ask something you
didn't prep, answer as someone who wants what the motivation says they want. The
lock-keeper who is saving to buy her lock answers every question through that lens —
what does this cost me, what is it worth to you.
- Let the hooks collide with the party's goals. Don't schedule the
three plot hooks; hold them until the party wants something. The moment they need to
move cargo quietly is the moment the night-passage under the lock becomes an offer with
a price. Hooks land hardest when the party walks into them.
- Reuse before you generate. The fastest way to make a world feel
alive is for the fence from session two to be the person the party needs in session
nine. A recurring face with an advancing agenda beats three new strangers. Keep every
generated NPC — the quick-reference field exists so that bringing one back costs you
ten seconds of reading, not ten minutes.
- Promote the ones your players love. Players decide who matters,
and it is never who you expect. When a Background NPC gets adopted by the table,
regenerate them at Recurring or Major importance with the same role and setting, and
fold the new secret and hooks into your campaign.
"""
FAQS = [
(
"How do you make a good D&D NPC?",
"Give them three things: something they want, something they hide, and "
"something you can perform. Motivation makes their answers consistent, a secret "
"gives the DM ammunition for later, and a concrete voice or physical tic makes "
"them memorable at the table. This generator produces all three in every "
"result, plus named relationships and hooks so the NPC connects to the rest of "
"your world.",
),
(
"How do DMs keep track of NPCs across a campaign?",
"The classic failure is inventing a great NPC mid-session and losing them by "
"next week. Keep a single NPC list with a two-line entry each — who they are, "
"what they want, where the party left things — and update it right after the "
"session while it's fresh. The quick-reference field in every generated NPC is "
"written for exactly that list. Tools that turn session recordings into "
"organized notes can automate the 'right after the session' part, which is "
"where most tracking systems quietly die.",
),
(
"What stat block should an NPC use?",
"Borrow, don't build. Most NPCs never fight, and the ones that do are covered "
"by SRD blocks: Commoner for ordinary folk, Guard or Thug for muscle, Spy for "
"the competent and quiet, Bandit Captain for dangerous veterans, Mage or Priest "
"for casters. Every generated NPC includes a stat suggestion naming which "
"block to grab — and which to escalate to if the scene turns violent.",
),
(
"Can I generate shopkeepers, villains, and allies?",
"Yes — the importance setting is the lever. Background covers shopkeepers, "
"guards, and one-scene characters with small local hooks. Recurring covers "
"allies, contacts, and rivals with agendas that advance between meetings. "
"Major covers patrons and villain-grade figures whose secrets are "
"campaign-relevant. Put the specifics in the role and party-need fields and "
"the output follows.",
),
(
"How is this different from a character backstory generator?",
"A backstory generator writes a player character's past — history the player "
"acts from. An NPC generator writes for the DM's side of the screen: NPCs are "
"performable (voice, mannerism, quote), hook-driven (three scenes you can "
"run), and present-tense (what they want now, not what happened to them at "
"twelve). If you need a player character's history, use our backstory "
"generator linked below instead.",
),
(
"Can I reuse an NPC across campaigns?",
"Absolutely — good NPCs are portable. Download the Markdown and keep a "
"personal roster; when a new campaign needs a fence or a ferryman, lift one "
"you already know how to play and swap the named relationships for local "
"ones. The voice and motivation travel intact; only the connections need "
"re-wiring.",
),
(
"Does it support homebrew settings?",
"Yes. Put your setting in the campaign-setting field — a sentence is enough "
"(\"floating archipelago ruled by cartographer-priests\") — and names, "
"factions, and hooks will be invented to fit it. Add a faction or place name "
"in the notes field if you want it woven in directly.",
),
]