Jump to content

How are relationship parameters set in conversations?


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 comment
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 comment
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",
"DebugName":"Pro-Gods",
"ID":"94f2f608-a765-4e55-be0a-c3dddaa54d47",
"Components":[
{"$type":"Game.GameData.TopicComponent, Assembly-CSharp",
"Value":3,
"DisplayName":11,
"Icon":"gui/icons/gamesystems/pro_gods.png",
"CircularIcon":"gui/icons/gamesystems/rep_pro_gods.png",
"NegativeDescription":20,
"PositiveDescription":21}]},

 

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 comment
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 comment
Share on other sites

  • 2 years later...

Sorry for necro. I'm going to bump this because it's got relevant info and I wanted to put this with it:

Topics and ID guids
- Animal Cruelty            -    2a640694-a441-456c-94f6-043d101e35da
- Anti-Eothas                -    6eb833fc-5384-4081-a4b4-4dd14b583f3c
- Anti-Eothasians            -    2f84723b-2330-4248-a199-cde68fe4a005
- Anti-Gods                    -    51f0db73-b83e-4906-a47d-b5fb2f25f27d
- Anti-Huana                -    17d45c71-050f-463c-8719-2b0521e3cf66
- Anti-Leaden Key            -    54839ad8-07dd-454a-9627-69e663201577
- Anti-Principi                -    4fdfbc01-836a-44bd-83fe-23e1ea1e61ab
- Anti-Tradition            -    da1ce81d-84f9-4c42-aa2e-e3879931a701
- Irresponsibility            -    01eb0042-4ad6-44eb-9e0b-bcb5ac91aefe
- Kind to Animals            -    60a2b7d7-e104-4f5a-aa7a-8d373451a528
- Pro-Animancy                -    f58540b7-693b-4207-b485-45319cbf53f7
- Pro-Autonomy                -    3d28fa9d-5127-4b6a-af14-9c4769f17720
- Pro-Deceit                -    c1ba1910-2eb9-447c-924d-2875f1ecf213
- Pro-Duty                    -    cffd489b-6876-4b90-9aa1-6f5e11c532fd
- Pro-Eothas                -    71a22893-ede8-4b96-a666-a2450c767972
- Pro-Eothasians            -    9ef259f0-29c7-4862-a5ff-e148188e3f48
- Pro-Godlike                -    b8cf62cc-7d93-48c2-b037-c7dcb54c80aa
- Pro-Gods                    -    94f2f608-a765-4e55-be0a-c3dddaa54d47
- Pro-Huana                    -    b8268766-97d8-43ee-ad57-d4a9d360d0b0
- Pro-Humor                    -    f03d4876-6981-4b74-bf24-1041a5f3a101
- Pro-Immodesty                -    f4414487-469a-4897-81b8-fc4adf14601d
- Pro-Leaden Key            -    841c7801-3f8a-4190-ba5d-abc5375f415e
- Pro-Passion                -    7f7df525-10a2-444f-a953-13d441552865
- Pro-Provincial            -    890fe263-b36c-471d-8db4-8916a4589caa
- Pro-Rauatai                -    bfef19bb-244b-4af0-be4a-90ac83d7e314
- Pro-Resourcefulness        -    ef160fcc-3201-41ce-add0-408772b5ccd9
- Pro-Stewardship            -    62b80708-269f-4bc6-a737-5f328db35370
- Pro-Tradition                -    e79eabe7-8d68-4cf4-9a07-3e84b154d6ec
- Pro-Vailian_Republics        -    9d899ba7-69dc-4a2f-b811-4a1268269888
- Pro-Worldly                -    9603686d-ed03-4ddf-8ceb-c4850bed75ac
- Racism                    -    e11564db-42ba-44ba-a0db-535d7daf1790


Weight of Opinion
Weak    =     c131acce-6af4-4d78-b0e2-48b26e6631b1    = 1 changeStrength
Strong    =    d8cd9f8e-5be6-4036-a8cb-48afbd7edc54    = 2 changeStrength

Reading the Wiki, it seems that topics are given a "Value" in their TopicGameData type. This is likely a bodge used to balance the occurances of conversations about each topic.

relationship change = (changeStrength * topicValue) * weight

 

 

So I suppose it's possible to make someone have NO opinion change on a particular topic by making a new weight with zero points in it and assigning that to the response instead of the default one. 

How would you deal with this in terms of ChangeStrengthID? I don't know how those work. I know they are (random?) text strings - strong pos/weak pos/strong neg/weak neg.

 

How companions react:
Aloth
e79eabe7-8d68-4cf4-9a07-3e84b154d6ec    =    Pro-Tradition
Negative
Strong

01eb0042-4ad6-44eb-9e0b-bcb5ac91aefe    =    Irresponsibility
Negative
Strong

f4414487-469a-4897-81b8-fc4adf14601d    =    Pro-Immodesty
Negative
Weak

cffd489b-6876-4b90-9aa1-6f5e11c532fd    =    Pro-Duty
Positive
Strong

& others depending on PoE mentality
3d28fa9d-5127-4b6a-af14-9c4769f17720    =    Pro-Autonomy
Positive
Weak
                            
62b80708-269f-4bc6-a737-5f328db35370    =     Pro-Stewardship
Positive
Weak

Eder
2a640694-a441-456c-94f6-043d101e35da    =    Animal Cruelty
Negative
Strong

2f84723b-2330-4248-a199-cde68fe4a005    =    Anti-Eothasians
Negative
Strong

60a2b7d7-e104-4f5a-aa7a-8d373451a528    =    Kind to Animals
Positive
Weak

9ef259f0-29c7-4862-a5ff-e148188e3f48    =    Pro-Eothasians
Positive
Strong

e79eabe7-8d68-4cf4-9a07-3e84b154d6ec    =    Pro-Tradition
Positive
Weak

841c7801-3f8a-4190-ba5d-abc5375f415e    =    Pro-Leaden Key
Negative
Strong

54839ad8-07dd-454a-9627-69e663201577    =    Anti-Leaden Key
Positive
Strong

f03d4876-6981-4b74-bf24-1041a5f3a101    =    Pro-Humor
Positive
Weak


Pallegina
9d899ba7-69dc-4a2f-b811-4a1268269888    =    Pro-Vailian_Republics
Positive
Strong

51f0db73-b83e-4906-a47d-b5fb2f25f27d    =    Anti-Gods
Positive
Strong

94f2f608-a765-4e55-be0a-c3dddaa54d47    =    Pro-Gods
Negative
Strong

f58540b7-693b-4207-b485-45319cbf53f7    =    Pro-Animancy
Positive
Weak

e11564db-42ba-44ba-a0db-535d7daf1790    =    Racism
Negative
Weak

cffd489b-6876-4b90-9aa1-6f5e11c532fd    =    Pro-Duty
Positive
Weak

b8cf62cc-7d93-48c2-b037-c7dcb54c80aa    =    Pro-Godlike
Negative
Strong


Xoti
c1ba1910-2eb9-447c-924d-2875f1ecf213    =    Pro-Deceit                
Negative
Weak

51f0db73-b83e-4906-a47d-b5fb2f25f27d    =    Anti-Gods
Negative
Strong

f03d4876-6981-4b74-bf24-1041a5f3a101    =    Pro-Humor
Positive
Weak

7f7df525-10a2-444f-a953-13d441552865    =    Pro-Passion
Positive
Strong

9603686d-ed03-4ddf-8ceb-c4850bed75ac    =    Pro-Worldly
Positive
Weak

9ef259f0-29c7-4862-a5ff-e148188e3f48    =    Pro-Eothasians
Positive
Strong

01eb0042-4ad6-44eb-9e0b-bcb5ac91aefe    =    Irresponsibility
Negative
Weak

Tekehu
b8268766-97d8-43ee-ad57-d4a9d360d0b0    =    Pro-Huana
Positive
Strong

da1ce81d-84f9-4c42-aa2e-e3879931a701    =    Anti-Tradition
Positive
Strong

94f2f608-a765-4e55-be0a-c3dddaa54d47    =    Pro-Gods
Positive
Weak

f4414487-469a-4897-81b8-fc4adf14601d    =    Pro-Immodesty
Positive
Strong

17d45c71-050f-463c-8719-2b0521e3cf66    =    Anti-Huana
Negative
Strong

f03d4876-6981-4b74-bf24-1041a5f3a101    =    Pro-Humor
Positive
Weak

bfef19bb-244b-4af0-be4a-90ac83d7e314    =    Pro-Rautai
Negative
Weak

b8cf62cc-7d93-48c2-b037-c7dcb54c80aa    =    Pro-Godlike
Positive
Strong

Maia
ef160fcc-3201-41ce-add0-408772b5ccd9    =    Pro-Resourcefulness
Positive
Strong

bfef19bb-244b-4af0-be4a-90ac83d7e314    =    Pro-Rautai
Positive
Strong

b8268766-97d8-43ee-ad57-d4a9d360d0b0    =    Pro-Huana
Negative
Weak

cffd489b-6876-4b90-9aa1-6f5e11c532fd    =    Pro-Duty
Positive
Weak

890fe263-b36c-471d-8db4-8916a4589caa    =    Pro-Provincial
Positive
Weak

f03d4876-6981-4b74-bf24-1041a5f3a101    =    Pro-Humor
Positive
Weak

2a640694-a441-456c-94f6-043d101e35da    =    Animal Cruelty
Negative
Weak

Serafen
4fdfbc01-836a-44bd-83fe-23e1ea1e61ab    =    Anti-Principi
Negative
Strong

f03d4876-6981-4b74-bf24-1041a5f3a101    =    Pro-Humor
Positive
Strong

c1ba1910-2eb9-447c-924d-2875f1ecf213    =    Pro-Deceit
Positive
Strong

e11564db-42ba-44ba-a0db-535d7daf1790    =    Racism
Negative
Strong

7f7df525-10a2-444f-a953-13d441552865    =    Pro-Passion
Positive
Weak

9603686d-ed03-4ddf-8ceb-c4850bed75ac    =    Pro-Worldly
Positive
Weak

(I know Josh said he hated topics and would rather bin the entire system, but I think topics as a system is sound, but it seems that the particular topics themselves got warped over time into a real mess. How else can you explain "Pro-Immodesty" as a topic - it just doesn't seem to be the first topic to spring to mind!)

You can give even (for example) sourpuss Pallegina an appreciation of joviality:image.thumb.png.af7ccdcaa7d5e9d468e83c13f7dd9137.png
and... whatever Worldly is:
image.thumb.png.22f2d43df51248874a70942caaa03082.png

Edited by Svartypops
  • Like 2
Link to comment
Share on other sites

  • 1 month later...

About the above post - I'm editing some tags that seemed out of place and I came across the UUID: e19a6f92-2165-4e34-be10-c65e8de970eb for strength, which wasn't included in your list. For reference, I found during the final Courier's Calling reference with Maia for Tekehu's reaction. He ended up with 3 negative pips on his relationship to Maia.

PS. Xoti is anti-Deceit, not pro-Deceit.

Edited by Testlum
Link to comment
Share on other sites

6 hours ago, Testlum said:

About the above post - I'm editing some tags that seemed out of place and I came across the UUID: e19a6f92-2165-4e34-be10-c65e8de970eb for strength, which wasn't included in your list. For reference, I found during the final Courier's Calling reference with Maia for Tekehu's reaction. He ended up with 3 negative pips on his relationship to Maia.

PS. Xoti is anti-Deceit, not pro-Deceit.

ChangeStrength is this part of the above post, sorry it's not so obvious:

Quote

Reading the Wiki, it seems that topics are given a "Value" in their TopicGameData type. This is likely a bodge used to balance the occurances of conversations about each topic.

 

Xoti is Pro-Deceit with a Negative value on it. It's weird - but that's how you do a negative reaction to something. 

Being Pro-Deceit negative means she reacts negatively when someone says something deceitful.

If she was anti-deceit she would approve when someone said something anti-deceit - like "I don't think we should lie" or whatever.

 

 

Link to comment
Share on other sites

Oh that makes sense, thanks for clarifying - I didn't consider that there would be different tags for approving of anti-Deceit vs. disapproving of Deceit.

Incidentally, I find it odd that Maia approves of pro-Provincial views, given her character I'd say she's the complete opposite.

Edited by Testlum
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...