Jump to content

Questions About Tweaking Conversations(Spoilers!)


Recommended Posts

edit to preface: i know nothing of coding im going blind here using intuition and observation to try to make this work

 

so, Palegina has a conversation if you align with any faction where you can try(and possibly fail) to convince her to stay with you

 

thing is, i cannot trigger this conversation for the life of me

i browsed her hub conversation file(using apotheosis), where this convo is located, and it's initial node is set to "AlwaysFalse()" for it's conditional which i found odd, i tried replacing it with certain conditionals i thought made sense like the triggers for aligning with any faction that isnt the VTC or the trigger for coming storm being finished while siding with any faction that isnt the VTC but the conversation NEVER triggers, only way to see it is by enabling dialogue debug(using unity console mod)

image.png.cac59b3c2a319d52a13c1d5d1477f667.png

(here are my attempts to give the node conditionals to trigger, copied from other nodes that match when i want it to trigger, with no success)

 

was this conversation cut? it is fully voiced like normal and all of its nodes besides the initial one have normal conditionals and can even trigger her leaving the party if failing to convince her, and i remember in past playthroughs being able to keep her while siding with the huana(rn she just stays quiet and leaves the party once you set sail, leaving a missive behind)...i did find the script that triggers her leaving and deleting it/emptying it does allow her to stay(without saying a word) and triggers the correct slide(i.e in my case she gets dismissed but then readmitted on castol's request due to going against the VTC but keeping castol's job)

 

meanwhile Maia's dialogue if siding with anyone but the RDC(i mean the one where she questions you for your choice not the one where she leaves immediately) triggers normally immediately after fully siding with a non-RDC faction(i.e getting the wahaki alliance for the huana) and i cannot find whatever triggers it to copy and her initial node for it has no conditional at all and i cant find a globalscript that makes it play or anything... and i know my edit attemtps are sticking cause i managed to change one of the conditionals in maia's ultimatum conversation(so she stays if either u complete her quest with full success OR if your rep with her is at 2 instead of only the former)

 

so, anyone with more experience modding conversations, tips? pointers? any help at all?

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

11 hours ago, TKDancer said:

was this conversation cut? it is fully voiced like normal and all of its nodes besides the initial one have normal conditionals and can even trigger her leaving the party if failing to convince her, and i remember in past playthroughs being able to keep her while siding with the huana(rn she just stays quiet and leaves the party once you set sail, leaving a missive behind)

If whatever used to trigger the conversation node has been cut, you could try creating a new ModScriptHook object to trigger it yourself under the right circumstances.

image.png.a1bf1e7d963bc088cd5b8a5d7e5448e7.png

Set its SucceedOnlyOnce to true and RunOnlyOnce to false, and with its Script set to trigger the conversation node.

Something like this

if
{
	IsCompanionInRoster(Pallegina)
	and {
		IsGlobalValue(n_Allied_Faction, EqualTo, 1)
		or IsGlobalValue(n_Allied_Faction, EqualTo, 3)
		or IsGlobalValue(n_Allied_Faction, EqualTo, 4)
	}
}
then
{
	StartConversation(Pallegina, companion_pallegina_hub, 224)
}

I don't remember whether the StartConversation script ignores the conditionals of the conversation node, so you might still have to edit those

 

Edited by Noqn
  • Like 1
Link to comment
Share on other sites

4 hours ago, Noqn said:

If whatever used to trigger the conversation node has been cut, you could try creating a new ModScriptHook object to trigger it yourself under the right circumstances.

I'll give this a try

 

on that note, do you happen to know where i can find the trigger for the g.script of palegina auto leaving(that is, when she leaves after setting sail and leaves a lil letter, gsd_companion_pallegina_leaves) cause even forcing the conversation with her or manually changing the "b_Pallegina_Was_Convinced_to_Stay" variable doesnt seem to prevent it and i had to edit the script to keep it from happening but i'd rather have it work as intended and trigger when it should instead of just not existing

Edited by TKDancer
  • Like 1
Link to comment
Share on other sites

4 hours ago, Noqn said:

If whatever used to trigger the conversation node has been cut, you could try creating a new ModScriptHook object to trigger it yourself under the right circumstances.

nope, doesnt seem to work, copied your script, kept my changes to the nodes conditionals and still doesnt trigger node 224, this is maddening

 

edit: i also noticed that node 255 is not actually setting "b_Pallegina_Was_Convinced_to_Stay" to 1 as it says it does even tho it executs its conditionals properly(im only using debug to force 224 and disabling it after that)

Edited by TKDancer
Link to comment
Share on other sites

16 hours ago, TKDancer said:

nope, doesnt seem to work, copied your script, kept my changes to the nodes conditionals and still doesnt trigger node 224, this is maddening

Sorry, I didn't mention that modscripthooks only trigger when you load a save or enter a new scene.

16 hours ago, TKDancer said:

on that note, do you happen to know where i can find the trigger for the g.script of palegina auto leaving(that is, when she leaves after setting sail and leaves a lil letter, gsd_companion_pallegina_leaves) cause even forcing the conversation with her or manually changing the "b_Pallegina_Was_Convinced_to_Stay" variable doesnt seem to prevent it and i had to edit the script to keep it from happening but i'd rather have it work as intended and trigger when it should instead of just not existing

This command (looking for the ID of the gsd_companion_pallegina_leaves script)

A:\Games\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data>findstr /s /i /m e62c7498-4ee1-446e-9008-c00532221daf level*

gave me two matches in files `level4` and `level133`

inside level4 I found an object `ScriptEvent #34347` which is basically equivalent to this script

if {
    CallGlobalConditional(GE_Companion_Pallegina_Leave)
    and IsGlobalValue(b_Pallegina_Recruited, EqualTo, 1)
    and IsGlobalValue(b_Pallegina_Dead, EqualTo, 0)
    and IsGlobalValue(b_Pallegina_Quit_Party, EqualTo, 0) 
}
then {
    CallGlobalScriptAfterTimePasses(gsd_companion_pallegina_leaves, 0, 1, 0, 0, False)
}

GE_Companion_Pallegina_Leave in vanilla is defined as

IsGlobalValue(n_VTC_Faction_State, EqualTo, 2)
or IsGlobalValue(n_Strongest_Rival_Faction, EqualTo, 2)

you could change this conditional to fix the behavior of when her missive triggers

Link to comment
Share on other sites

36 minutes ago, Noqn said:

Sorry, I didn't mention that modscripthooks only trigger when you load a save or enter a new scene.

i see, then it does indeed work after a scene change, a bit janky but better than not triggering at all, and it seems that upon playing 'naturally' via this fix around it properly set the variable for her being convinced to 1 as it should

 

36 minutes ago, Noqn said:

This command (looking for the ID of the gsd_companion_pallegina_leaves script)

A:\Games\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data>findstr /s /i /m e62c7498-4ee1-446e-9008-c00532221daf level*

gave me two matches in files `level4` and `level133`

inside level4 I found an object `ScriptEvent #34347` which is basically equivalent to this script

if {
    CallGlobalConditional(GE_Companion_Pallegina_Leave)
    and IsGlobalValue(b_Pallegina_Recruited, EqualTo, 1)
    and IsGlobalValue(b_Pallegina_Dead, EqualTo, 0)
    and IsGlobalValue(b_Pallegina_Quit_Party, EqualTo, 0) 
}
then {
    CallGlobalScriptAfterTimePasses(gsd_companion_pallegina_leaves, 0, 1, 0, 0, False)
}

GE_Companion_Pallegina_Leave in vanilla is defined as

IsGlobalValue(n_VTC_Faction_State, EqualTo, 2)
or IsGlobalValue(n_Strongest_Rival_Faction, EqualTo, 2)

you could change this conditional to fix the behavior of when her missive triggers

guess i'll look in this next, see if i can add the conditional of pallegina being convinced on top to avoid the script being played, thanks for the help, if i manage to fix this too i'll report back...

 

also i assume the level files need UABE to be open in a way that can be edited? or do they need smth else? cause they are aren't plain text

Edited by TKDancer
  • Thanks 1
Link to comment
Share on other sites

47 minutes ago, TKDancer said:

also i assume the level files need UABE to be open in a way that can be edited? or do they need smth else? cause they are aren't plain text

I'm viewing them with Unity Asset Studio (I think it's called) but I have no experience with modifying asset files whatsoever so I'm of no help there

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...