December 25, 20178 yr Back in 2015, another player parsed the *.conversation files to count the unique dialogue options for various character creation choices. I was interested in an updated list for the base game and DLC, so I wrote a XML parser in Python to produce a similar report. I also covered options that add disposition points and options that check disposition points. FULL REPORT WITH DLC BREAKDOWN DispositionAddPoints Breakdown This breakdown reports the number of dialogue choices that add a Minor, Average, or Major amount of disposition points, as well as the total amount of points for each disposition-strength pair. Strengths: Minor = 1 point, Average = 3 points, Major = 7 points Ranks: Rank 1 = 1 point, Rank 2 = 25 points, Rank 3 = 50 points, Rank 4 = 75 points Notes: I wasn't sure whether to leave in the conversations in the "prototype_2" folder, so I erred on the side of caution and I left them in. I excluded the conversations in the "conversations" root and "conversations\test" folders. No options were filtered out, such as the Fire Godlike checks in The Ruins of Cilant Lîs. Keep that in mind! If I forgot anything, let me know! Race Notes: [Race] The single Human check also checks for Aumaua, Godlike, and Elf. [subrace] Island Aumaua have no checks in Eternity, White March I, or White March II. Culture Notes: The Nassitaq check also checks for TheWhiteThatWends. The same is not true of TheVailianRepublics, and since you can choose only OldVailia as a background, I guess Fyrga never says this to you: "They symbolize Magran's power and guidance. And right now, the people of Defiance Bay need to be assured of her presence." She crosses her arms, staring at the statue. "You Vailians see us as superstitious, but we're just sensitive to the signs and warnings of the gods." Edited December 28, 20178 yr by fireundubh
December 27, 20178 yr Author Updated the report with a multi-column breakdown for Eternity, White March I, White March II, and Total. I also have JSON files for each function and parameter that list the exact strings for every count. I don't know what to do with those yet. Example Snippet: IsPlayerSubrace-Fire_Godlike.json <snip> "07_cv_pillar_puzzle": [ [ { "type": "TalkNode", "display_type": "Bark", "text": "Flames kindle swiftly in the brazier, winding their way upwards." } ], [ { "type": "PlayerResponseNode", "display_type": "Conversation", "text": "[Touch your fiery hair to the brazier.]" } ], <snip> Edited December 27, 20178 yr by fireundubh
December 28, 20178 yr Author Added IsPlayerAttributeScoreValue and IsPlayerSkillValue checks. Interestingly: [Attribute] Dexterity is used in conversations almost twice as much as its nearest contender. [skill] Athletics is used in conversations more than any other skill. [skill] Crafting isn't used in conversations at all!
December 28, 20178 yr Author Added IsCompanionActiveInParty checks! A few temporary "companions" are included because they're classed as companions in the decompiled sources. Fixed an issue in the XML-to-JSON exporter where nodes were not properly grouped by file, resulting in duplicate data structures and inflated counts. The counts should be as accurate as possible at this point. I say "accurate as possible" because some conversations where checks appear in search do not have corresponding string tables, so they're not counted. The assumption is these checks are either unused or don't contribute to the "unique dialogue" experience. Aside: There is an IsCompanionActiveInParty check for Calisca much later in the game, but the conditional also checks for other companions as well, so that dialogue will always be shown. This really only means Calisca has one more IsCompanionActiveInParty check than she should. Also, here's a funny thing: when you escape the biawac at the start of the game, if only one companion survives, "there is a deep resonance to the wind," but if two companions survive, "there is a deep resonance to the swelling wind." Big difference! ... Don't get too caught up in the numbers when creating a new character. I plan to add support for a few more conditional functions and break down the parameters further, so you can see things like how many options grant Major disposition points or require different attribute scores, and then I'll move on to exploring the possibility of a visual conversation editor. Edited December 28, 20178 yr by fireundubh
December 29, 20178 yr Very interesting to look at. Thanks for making this. Makes it clear that while the dispositions are used very often, we only get a sprinkling of unique reactions for background, race, and culture. Well, I suppose it would be weird to force that stuff into the dialogue. Interesting that the Fire Godlike get by far the most comments out of all the races (sure, they're freaks, but so are the other Godlike).
December 29, 20178 yr Author Interesting that the Fire Godlike get by far the most comments out of all the races (sure, they're freaks, but so are the other Godlike). Well, 12 of the 15 in Eternity are part of the Cilant Lîs brazier-trap puzzle: "Flames kindle swiftly in the brazier, winding their way upwards." "[Touch your fiery hair to the brazier.]" And I believe you see that dialogue only once (<Persistence>MarkAsRead</Persistence>). Another node is shared with Moon Godlike, Nature Godlike, and Snow Elf. So, subtract 11+1 and you get a number that's in line with the others. Edited December 29, 20178 yr by fireundubh
December 29, 20178 yr The spread is quite drastic. It would be of small avail to talk of magic in the air...
July 11, 20187 yr Nice work! But what are IsCompanionActiveInParty checks? All the occassions each companion interjects in quest conversations and the like?
July 11, 20187 yr Author Nice work! But what are IsCompanionActiveInParty checks? All the occassions each companion interjects in quest conversations and the like? There are some conversations that will trigger only when certain companions are in your party.
Create an account or sign in to comment