This has only been a recent discovery for myself, all of the generic replies are catalogued (and more to the point, can be edited with a bit of knowledge) to add new text entries, such as gloating over your enemies of a particular token.
DF/Data/Speech.TxtHowever i think as the game is getting much larger, speech and anonymous files of trader dialogue should be moved into a section of the RAWS outside of 'objects'. If not to be rude, but the hardcoded responses at the moment are a load
of old tosh for accessibility, detail and depth and give Toady a immense amount of ire (given the difficulty implementing the secret identities system) because dwarven conversations are not very advanced technically, although they are rich in detail.
Additional Speech behaviour[GREETING_INTRODUCTION], a replacement for 'greet' on your first interaction, the information about a historical figure will be logged by that dwarf so that they only have to meet other dwarves once and can apply [GREETING]/[GREETING_REPLY] providing that poor lapses in memory do not affect a boolean that they remember the dwarf amongst their aquaintences.
Example:
greeting_introduction.txt
[GREETING_INTRODUCTION]
[text:1(this is the reference number):50(numeric chance of replying with this)[text_start]Greetings, my name is [CONTEXT:NAME:PREFERRED][AWAIT_REPLY:TEXT_SKIP:(either one on this list or a tagged file with REPLY:(number/all)]
A brief sheet of potential new file names i could think of at the top of my head.
- accusation.txt [ACCUSATION_NIGHT_BEAST][ACCUSATION_VAMPIRE][ACCUSATION_CRIME:(arguements, murder, vandalism etc., personal damages)][ACCUSATION_PERSONAL:(because i would imagine even dwarves must lash out at others they grudge sometimes)
- victorious_gloat.txt / reminisce_defeat.txt [VICTORIOUS_GLOAT:(arguements, encounter, combat, battle, war)] [REMINISCE_DEFEAT:(arguements, encouter, combat, battle, war)]
- rumor.txt [RUMOR:(arguements, artifacts, global affairs, civ affairs, site affairs, histfigs)
More idealistically, tags like [
CONTEXT:WEATHER_CONDITION:PLACE:PRESENT(past and future *within a margin of natural error)] thrown into greetings for smalltalk if the dwarf seems appropriate to be chatty in greetings, followed by [
OPINION]. If the dwarf has no time to talk they can terminate with a [
ABRUPT_STOPPABLE] which puts leaving a conversation at a higher priority than some tasks if needed
Conclusion: the idea behind to involve this is to help establish a greater scope that dwarves "understand" what is being relayed to them in a more detailed mechanical way and can give a detailed response and retort to a question. Such as waiting for a response and reacting to what was said with the previous information they have just "learnt" about that individual, as to catch them in a lie when the dots don't connect.
Though on the other hand, i also just want to see two dwarves argue in heated arguement in the dining hall because they've both decided that its more important (of course
very important) than pulling a lever (to save your fortress from doom) and stay dedicated adjacent raging at each other without any micromangement herding.