Jump to content

Recommended Posts

I'm trying to figure out how the relationship between companions is set during conversations. The conversationbundle and stringtable files offer condition checks for the relationship parameters, but nothing that sets them or the reaction strength.


Where can I find those?

Link to post
Share on other sites

Never mind. I figured it out. Its the Void TriggerTopic script. It works like this...

        [ScriptParam0("Speaker", "The character object speaking.", "b1a8e901-0000-0000-0000-000000000000", Scripts.BrowserType.ObjectGuid)]
        [ScriptParam1("Topic", "The topic to trigger.", "", "56878498-81a5-4140-86b6-01cfd09041f1", Scripts.BrowserType.GameData)]
        [ScriptParam2("Strength", "Strength of the change.", "71c858fe-7c4b-432a-a105-c518319eaed7", "32e5c672-85db-423f-b363-71c8a08674fc", Scripts.BrowserType.GameData)]
        [ScriptParam3("Include Reaction Text", "If set, a reaction from the companion will automatically be included in the node text.", true)]

        public static void TriggerTopic(Guid speakerGuid, Guid topicGuid, Guid strengthGuid, bool includeReactionText)

Edited by Fhav6X
Link to post
Share on other sites

I have a new problem. I wanted to change the reaction strength for Pallegina on some conversations with Xoti. To my surprise I found the reaction strength to be preset for each reaction. Pallegina only have this reaction strength for piety


{"$type":"Game.GameData.TopicGameData, Assembly-CSharp",
{"$type":"Game.GameData.TopicComponent, Assembly-CSharp",


I tried to create new reactions with different values, but my self made guid ids aren't recognized by the game.


Is it possible to create new entries?

Link to post
Share on other sites

The reputation change applied by any call to TriggerTopic is the product of three value:

  • The strength parameter to TriggerTopic
  • The inherent Value on the TopicGameData passed to TriggerTopic
  • The Weight assigned to the companion for that topic in CompanjonGameData.Topics.
If you wanted to change the reaction strength for a particular line, you'd want to change the ChangeStrengthGameData passed to TriggerTopic.  If you wanted to change the reaction strength of a companion to all occurrences of a particular topic, you want to change the Weight for that topic in their CompanionGameData.  And if you wanted to change the reaction strength globally for all companions to a particular topic, you could change the Value on the TopicGameData itself.


Creating new TopicGameData objects with different Values will actually create entirely new topics.  This is possible and should work, but the new object is an entirely separate topic from the one you based it on, and their values won't combine.

  • Like 2
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...