v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Speech file

From Dwarf Fortress Wiki
Revision as of 20:25, 3 January 2023 by Jan (talk | contribs) (+ see also)
Jump to navigation Jump to search


Speech files are text files that define sentences which can be spoken by people in adventure mode and phrases used to name books. Most of them are found in the data/vanilla/vanilla_text/objects folder, though the creature specific files can be found in data/vanilla/vanilla_creatures/objects. Like other raw files, mods can replace or introduce new sentences.

List of files

File Uses Example
text_ab_specific_hf_seeker seek out [CONTEXT:HIST_FIG:TRANS_NAME] at [CONTEXT:ABSTRACT_BUILDING:TRANS_NAME] over in [CONTEXT:SITE:TRANS_NAME]
text_animal_slayer I have taken down [CONTEXT:NUMBER] [CONTEXT:RACE:NUMBERED_NAME] while stalking [CONTEXT:PLACE:TRANS_NAME].
text_arch_info_justification It is said that the [CONTEXT:ARCH_ELEMENT] of [CONTEXT:ABSTRACT_BUILDING:TRANS_NAME] [CONTEXT:JUSTIFICATION] [CONTEXT:DEF_SPHERE] for the glory of [CONTEXT:HIST_FIG:TRANS_NAME].
text_book_art Used when naming books. And [ANY_PRONOUN] Sang '[NAME]!'
text_book_instruction Used when naming books. A Course on [NAME]
text_child_age_proclamation I'm [CONTEXT:NUMBER]!
text_current_profession_no_year I am a [CONTEXT:UNIT_NAME].
text_current_profession_year This is my [CONTEXT:ORDINAL] year as a [CONTEXT:UNIT_NAME].
text_curse Who dares to enter my house? I curse you!
text_dwarf Used when boasting about killing a dwarf. See also Creature token#SPEECH. whose hammer shattered on the anvil of my power
text_elf Used when boasting about killing an elf. See also Creature token#SPEECH. whose fragile bones shattered before the power of my contempt
text_family_relationship_additional [CONTEXT:HIST_FIG:PRO_SUB] is also my [CONTEXT:FAMILY_RELATIONSHIP]
text_family_relationship_additional_dead [CONTEXT:HIST_FIG:PRO_SUB] was also my [CONTEXT:FAMILY_RELATIONSHIP]
text_family_relationship_no_spec I have [CONTEXT:INDEF_FAMILY_RELATIONSHIP] named [CONTEXT:HIST_FIG:TRANS_NAME]
text_family_relationship_no_spec_dead I had [CONTEXT:INDEF_FAMILY_RELATIONSHIP] named [CONTEXT:HIST_FIG:TRANS_NAME]
text_family_relationship_spec my [CONTEXT:FAMILY_RELATIONSHIP] is named [CONTEXT:HIST_FIG:TRANS_NAME]
text_family_relationship_spec_dead my [CONTEXT:FAMILY_RELATIONSHIP] was named [CONTEXT:HIST_FIG:TRANS_NAME]
text_general who lies dead, now only an embarrassing memory
text_goodbye_worship_1 upon arising in the mornings,
text_goodbye_worship_2 always remember to
text_goodbye_worship_3 speak the praises of [SPEAKER:HF_LINK:DEITY:RANDOM_DEF_SPHERE]
text_greet Used when greeting another person. Greetings. My name is [SPEAKER:TRANS_NAME].
text_greet_baby Used when greeting a baby. A baby! How adorable!
text_greet_reply Used when replying to another person's greeting. Ah, hello. I'm [SPEAKER:TRANS_NAME].
text_greet_reply_after_hero Used by NPCs when replying to the player character's greeting after becoming a hero. I am [SPEAKER:TRANS_NAME]. How can I be of service?
text_greet_reply_diff_language Used when replying to the greeting of a person who is of another race. Hello, [AUDIENCE:RACE]. I am [SPEAKER:TRANS_NAME].
text_greet_reply_unusual_first Used when replying to the greeting of a person whose first name is unusual.[Verify] You know, you don't meet many people with the name [AUDIENCE:FIRST_NAME]
text_greet_worship Used for greetings by priests and faithful people.[Verify] This servant of [SPEAKER:HF_LINK:DEITY:TRANS_NAME] greets you.
text_guard_profession Used by guards when you ask them about their profession. See also soldier_profession. I am a guard.
text_guard_warning Don't start any trouble.
text_hist_fig_slayer It is I that felled [CONTEXT:HIST_FIG:TRANS_NAME] the [CONTEXT:HIST_FIG:RACE].
text_hunting_profession I hunt great beasts in [CONTEXT:PLACE:TRANS_NAME].
text_hunting_profession_year I have hunted great beasts in [CONTEXT:PLACE:TRANS_NAME] for [CONTEXT:NUMBER] of my years.
text_justification_antithetical can be thought of as the antithesis of
text_justification_experience can allow one to experience
text_justification_proximity can bring one near to
text_justification_reminder can remind one of
text_justification_representation can be thought of as a representation of
text_lair_hunter_minotaur Used by minotaurs while hunting adventures in their lairs. See also Creature token#LAIR_HUNTER_SPEECH. I'll eat you whole!
text_mercenary_profession I seek fortune and glory by offering my skill at arms in [CONTEXT:PLACE:TRANS_NAME].
text_mercenary_profession_year I have sought fortune and glory by offering my skill at arms in [CONTEXT:PLACE:TRANS_NAME] for [CONTEXT:NUMBER] of my years.
text_no_family Used by NPCs when you ask them about their family, but they don't have any. I have no family to speak of.
text_past_hunting_profession In the past, I hunted great beasts.
text_past_mercenary_profession In the past, I sought fortune and glory by offering my skill at arms.
text_past_profession_no_year I was once a [CONTEXT:UNIT_NAME].
text_past_profession_year I was a [CONTEXT:UNIT_NAME] for [CONTEXT:NUMBER] of the years of my life.
text_past_snatcher_profession Once it was my calling to rescue lost children.
text_past_thief_profession I once sought great treasures.
text_past_wandering_profession I once wandered the wilds.
text_positive Used to express positive feelings. wonderful!
fantastic!
very good
text_same_site_ab_specific_hf_seeker seek out [CONTEXT:HIST_FIG:TRANS_NAME] here in [CONTEXT:SITE:TRANS_NAME] at [CONTEXT:ABSTRACT_BUILDING:TRANS_NAME]
text_same_site_specific_hf_seeker seek out [CONTEXT:HIST_FIG:TRANS_NAME] here in [CONTEXT:SITE:TRANS_NAME]
text_site_specific_hf_seeker seek out [CONTEXT:HIST_FIG:TRANS_NAME] over in [CONTEXT:SITE:TRANS_NAME]
text_slayer bane
death
nemesis
vanquisher
text_snatcher_profession I rescue lost children and bring them back to [CONTEXT:PLACE:TRANS_NAME].
text_snatcher_profession_year For [CONTEXT:NUMBER] of my years, I have been rescuing lost children and bringing them back to [CONTEXT:PLACE:TRANS_NAME].
text_soldier_profession Used by soldiers when you ask them about their profession. See also guard_profession. I am a soldier.
text_task_recommendation [CONTEXT:ANY:TRANS_NAME] might have a task for you
text_temple_already_member your task is simple;
all you need is to
text_temple_become_member Welcome to [CONTEXT:ENTITY:TRANS_NAME]. Praise be to [CONTEXT:ENTITY:WORSHIP_HF:TRANS_NAME]!
As a member of [CONTEXT:ENTITY:TRANS_NAME], you can now seek the higher mysteries of [CONTEXT:ENTITY:WORSHIP_HF:TRANS_NAME].
text_thief_profession I seek treasures and bring them back to [CONTEXT:PLACE:TRANS_NAME].
text_thief_profession_year I seek treasures and bring them back to [CONTEXT:PLACE:TRANS_NAME] and have done so for [CONTEXT:NUMBER] of the years of my life.
text_threat Used by NPC bandits[Verify] before attacking you. Prepare to die!
text_unknown_hf_seeker seek out [CONTEXT:HIST_FIG:TRANS_NAME], wherever [CONTEXT:HIST_FIG:PRO_SUB] might be
text_wandering_profession I wander [CONTEXT:PLACE:TRANS_NAME].
text_wandering_profession_year I have wandered [CONTEXT:PLACE:TRANS_NAME] for [CONTEXT:NUMBER] of my years.

Adding custom files

New speech tokens can be added with mods[Verify]. It is also possible to add new files and associate them with custom creatures.

Creature tokens
Token Example uses
CASTE_SPEECH
LAIR_HUNTER_SPEECH minotaur (lair_hunter_minotaur.txt)
SPEECH dwarf (dwarf.txt), elf (elf.txt)
SPEECH_FEMALE
SPEECH_MALE

Special tokens

Speech files can contain tokens in square brackets ([]), which are replaced with context-specific strings before the speech is displayed.

Context tokens

These give special information about the background of the conversation.

Token Type Meaning
[CONTEXT:ABSTRACT_BUILDING] building
[CONTEXT:HIST_FIG] creature
[CONTEXT:NUMBER] number
[CONTEXT:ORDINAL] number
[CONTEXT:PLACE] site
[CONTEXT:RACE] race
[CONTEXT:SITE] site
[CONTEXT:UNIT_NAME] text

See also