Skip to content

Built-in Vocabulary

This page lists the conversation data that Townstead ships. Use these IDs when you add lines, frames or topics. All IDs are in the townstead namespace.

Townstead also ships subjects and pools for supported mods. They have a mod gate and load only when that mod is installed, so this page does not list them.

MoveRoleDescription
acknowledgetopicReply to an open pair before the subject changes, such as a laugh.
agreetopicAgree with what the other villager said.
anecdoteexpansionTell a short story about the subject. Follow-up: react_anecdote.
answertopicAnswer an open question before the subject changes.
arriveopeningArrive at a hangout and ask to join.
arrive_backopeningWelcome a villager who arrives at a hangout.
ask_detailtopicAsk for more about a piece of news.
cautiontopicWarn the other villager about dangerous talk.
closeclosingEnd the conversation in one line.
close_discreetclosingEnd the conversation after secret talk.
consoletopicComfort the other villager.
disagreetopicDisagree with what the other villager said.
doubttopicDoubt a piece of news.
elaborateexpansionAdd more about the subject. Topic starter only.
farewell_lastclosingThe last word of a goodbye.
farewell_replyclosingReply to a goodbye.
greetopeningGreet the other villager.
greet_backopeningGreet back, and answer a greeting question.
groantopicGroan at a joke.
insisttopicInsist that the news is true.
invitetopicInvite the other villager to do something together.
joke_closetopicThe teller’s last word after a joke.
leaveclosingLeave a hangout.
light_greetopeningA short hello for a villager already greeted today.
open_subjecttopicBring up a subject.
opinion_askexpansionAsk what the other villager thinks.
praisetopicLaugh at or praise a joke.
pre_closeclosingSay that it is time to go.
reacttopicReact to a piece of news.
react_anecdoteexpansionReact to a story.
remarkpauseA remark during a pause. Not used yet.
replytopicReply to an invitation or a job offer.
respondtopicReply to news about yourself.
saytopicA set-piece line with fixed text.
share_accounttopicTell a piece of news. Spreads the story.
teasetopicTease the other villager.
tell_joketopicTell a joke.
PairUptakeChanceOpened by
complaintoptional0.85A complaint about the weather, a need or a place.
generaloptional0.5An ordinary remark.
invitationrequiredAn invitation.
jokerequiredA joke.
musingoptional0.7A thought about something far away.
newsrequiredA piece of news.
opinionoptional0An opinion.
storyrequiredA story.

Pool fields come from the pool’s file in data/townstead/dialogue_pool/. A pool without a file has no shared fields. “Used by” lists the moves whose frames use the pool. The answer pool has no frame: an answer slot takes parts from every pool, by their answers.

PoolUsed byActSubjectsOpensRespondsPerspEmpty
agree_assessagreereactopinion, musing
anecdoteanecdoteinform
answer
arrivalarrivegreet
arrival_welcomearrive_backgreet
ask_detailask_detailmob
ask_lastopinion_askweather
biome_asideagreebiome3
biome_remarkopen_subjectassessbiomeopinion
biome_teaseteasereactbiomeopinion
bridgebridgefiller
claimshare_accounteventnews
close_discreetclose_discreetfarewellruler
close_leadclosefiller8
company_afterreplycompany3
company_inviteinviteinformcompanyinvitation
company_leadinvitefillercompany4
contrast_leaddisagreereactopinion
doubt_bodydoubtreactnewswho: they
doubt_leaddoubtreactnews3
elaborateelaborateopinion
event_consoleconsolereacteventnewswho: you
event_respondrespondreacteventnewswho: me
farewellclosefarewell
farewell_lastfarewell_lastfarewell12
farewell_replyfarewell_replyfarewell
greet_followgreet6
greet_q_backgreet_backreact4
greetingarrive, greetgreet
greeting_returngreet_backgreet3
groangroanreactjokejoke
hangout_leaveleavefarewell
infection_adviceconsoleinfectionwho: you2
infection_claimopen_subjectassessinfectionnews
infection_consoleconsolereactinfectionnewswho: you
infection_news_claimshare_accountinfection_newsnews
infection_news_codashare_accountassessinfection_newswho: they4
infection_news_leadshare_accountfillerinfection_news3
infection_news_reactreactreactinfection_newsnewswho: they
infection_news_respondrespondreactinfection_newsnewswho: me
infection_respondrespondreactinfectionnewswho: me
insistinsist
joketell_jokejokejoke
joke_closejoke_closejoke
joke_leadtell_jokefillerjoke4
judgereact, share_accountassessevent3
laughpraisereactjokejoke2
light_greetinglight_greetgreet
mob_claimshare_accountmobnews
mob_codashare_accountassessmob6
mob_reactreactreactmobnews
mob_respondrespondreactmobnewswho: me
need_adviceconsoleneed2
need_claimopen_subjectassessneedcomplaint
need_leadopen_subjectfillerneed5
news_openershare_accountfiller5
news_reactreactreacteventnewswho: they
opinion_askopinion_ask
praise_bodypraisereactjokejoke
pre_closepre_closefarewell
project_asideagree, disagreeproject3
project_claimshare_accountinformprojectopinion
project_codashare_accountassessproject3
quest_claimopen_subjectquestnews
quest_codaopen_subjectassessquest5
quest_replyreplyreactquestnews
react_anecdotereact_anecdotereactstory, general
ruler_claimshare_accountrulernews
ruler_reactioncautionreactrulernews
uptake_complaintconsolereactcomplaint
uptake_invitationreplyreactinvitation
venue_asideagreevenue2
venue_remarkopen_subject, remarkassessvenueopinion
weather_asideagree, disagreeweather4
weather_openopen_subjectfillerweather6
weather_remarkopen_subjectassessweatheropinion
whisper_openshare_accountfillerruler
MoveSubjectsSlots
greetgreeting, greet_follow
greet_backgreeting_return, @answer, greet_q_back
closeclose_lead, farewell
open_subjectweatherweather_open, weather_remark
agreeweatheragree_assess, weather_aside match
disagreeweathercontrast_lead, weather_aside oppose
open_subjectbiomebiome_remark
agreebiomeagree_assess, biome_aside match
teasebiomebiome_tease
share_accountmobnews_opener, mob_claim, mob_coda
ask_detailmobask_detail
reactmobmob_react
respondmobmob_respond
share_accounteventnews_opener, claim, judge
ask_detaileventask_detail
reacteventnews_react, judge
respondeventevent_respond
consoleeventevent_console
doubteventdoubt_lead, doubt_body
insistinsist
open_subjectquestquest_claim, quest_coda
replyquestquest_reply
share_accountprojectproject_claim, project_coda match
agreeprojectagree_assess, project_aside match
disagreeprojectcontrast_lead, project_aside oppose
share_accountrulerwhisper_open, ruler_claim
cautionrulerruler_reaction
close_discreetrulerclose_discreet
tell_jokejokejoke_lead, joke
praisejokelaugh, praise_body
groanjokegroan
joke_closejokejoke_close
answer@answer
acknowledge@response
pre_closepre_close
farewell_replyfarewell_reply
farewell_lastfarewell_last
elaborateweatherelaborate match
elaborateeventelaborate match
elaboratemobelaborate
elaborateprojectelaborate match
elaboratequestelaborate
elaboratebiomeelaborate match
opinion_askweatherask_last
opinion_askmobopinion_ask
opinion_askeventopinion_ask
opinion_askprojectopinion_ask
opinion_askquestopinion_ask
anecdoteweatheranecdote
anecdotemobanecdote
anecdoteeventanecdote
anecdoteprojectanecdote
anecdotequestanecdote
anecdotebiomeanecdote
react_anecdotereact_anecdote
arrivearrival
arrivegreeting, arrival
arrive_back@answer, arrival_welcome
light_greetlight_greeting
leave@answer, hangout_leave
open_subjectvenuevenue_remark
agreevenueagree_assess, venue_aside match
remarkvenuevenue_remark
open_subjectneedneed_lead, need_claim
consoleneeduptake_complaint, need_advice
invitecompanycompany_lead, company_invite
replycompanyuptake_invitation, company_after match
open_subjectinfectioninfection_claim
consoleinfectioninfection_console, infection_advice
respondinfectioninfection_respond
share_accountinfection_newsinfection_news_lead, infection_news_claim, infection_news_coda
reactinfection_newsinfection_news_react
respondinfection_newsinfection_news_respond
TopicSubjectRegisterFirst moveRepliesExpansions
townstead:biometownstead:biomeambientopen_subjectagree, teaseelaborate, opinion_ask, anecdote
townstead:companytownstead:companysocialinvitereply
townstead:eventtownstead:eventsocialshare_accountask_detail, doubt, react, respond, consoleelaborate, opinion_ask, anecdote
townstead:infectiontownstead:infectiongriefopen_subjectconsole, respond
townstead:infection_newstownstead:infection_newsgriefshare_accountreact, respond
townstead:joketownstead:jokehumortell_jokepraise, groan
townstead:mobtownstead:mobsocialshare_accountask_detail, react, respondelaborate, opinion_ask, anecdote
townstead:needtownstead:needambientopen_subjectconsole
townstead:projecttownstead:projectcivicshare_accountagree, disagreeelaborate, opinion_ask, anecdote
townstead:questtownstead:questcommerceopen_subjectreplyelaborate, opinion_ask, anecdote
townstead:rulertownstead:rulerintrigueshare_accountcaution
townstead:venuetownstead:venuesocialopen_subjectagree
townstead:weathertownstead:weatherambientopen_subjectagree, disagreeelaborate, opinion_ask, anecdote

The set-piece topics are in data/townstead_social/conversation/: townstead_social:change, townstead_social:checking_after_harm, townstead_social:craft_and_patience, townstead_social:food, townstead_social:joke, townstead_social:little_pleasures, townstead_social:rain, townstead_social:reassurance, townstead_social:remembered_kindness, townstead_social:repair, townstead_social:shared_trade, townstead_social:speaking_after_harm.