subtledoctor Posted January 22, 2023 Share Posted January 22, 2023 It drives me crazy that when I walk into the Temple district at 3am to burgle the Temple of Talos for Maevar, Gaal is there preaching to a bunch of people, including several priests, and one of the priests grabs me and is like “we need to talk about this, come see me in the temple, it’s urgent, don’t take too long. And I’m like, “dude there’s beholders down there, I’m not planning to do your quests for about two more weeks, I just want to do some petty crime before I find religion.” I know there is no technical issue there, I can delay starting the cleric quest as long as I want. But this bugs me. There is not foot path to the Talos Temple that bypasses Gaal, so there is no way to avoid this forced interaction. The whole thing begins with Gaal’s dialogue, so it seems to me the simplest way to deal with this is for his dialogue to only fire in the daytime. That way I have some control over things, if I only go into the district at night. Does this seem like a reasonably easy edit to make? Is there a simple trigger I can add to that dialogue state in his .DLG file? Or even let me talk to Gaal and don’t start his preaching dialogue until I manually trigger it… - - - Separately, it seems like the CDTweaks “reveal city areas” component is bugged because the Temple district, alone in Athkatla, is covered by the fog of war, which is a bit annoying. I need to figure out how to fix that as well. I assume it‘s something in the area script. Quote Link to comment
Isewein Posted January 22, 2023 Share Posted January 22, 2023 This is a change I would really appreciate, not only for Gaal but a number of the other forced questgiver dialogues around Athkatla. It would greatly improve Chapter II/III if we didn't constantly have to suspend disbelief for all those "urgent" issues. Quote Link to comment
subtledoctor Posted January 22, 2023 Author Share Posted January 22, 2023 Okay, got this working by adding !TimeOfDay(Night) …to the trigger for state 0 of CSGAAL.DLG, right where the “NumTimesTalkedTo(0)” is. Loaded the save and now Yoshimo can walk right by and proceed to the temple without being accosted. Nice! I don’t yet know how to do that with Weidu, though. If 1) people give other instances of where forced dialogues should be similarly delayed or gated (e.g. Delon? Neera in Beregost?) … and 2) someone can help instruct me on how to add such a trigger with Weidu, then I would be happy to put it together as a little mod. Quote Link to comment
jmerry Posted January 23, 2023 Share Posted January 23, 2023 I'd go with setting that whole cluster of NPCs on the map (three Hecklers, three Peasants, a Cultist Guard, Gaal, and Dawnmaster Kreel) to only be active during daylight hours instead. That makes more sense to me if you're trying to avoid this scene - everyone goes home at night. They all leave/vanish after the cutscene anyway, so this should be broadly compatible. (Actor names: 3x Heckler, Nobleman, 2x Peasant, Cultist Guard, Gaal, Dawnbringer Alvanna. Because of Kreel duplicating Alvanna's actor name and the presence of additional Peasant and Nobleman actors, the basic ALTER_AREA_ACTOR function is insufficient to cleanly grab this bunch. Fortunately, I already wrote a function alter_area_actor_ex to extend that with more thorough matching: https://www.gibberlings3.net/forums/topic/28835-toss-your-semi-useful-weidu-macros-here/?do=findComment&comment=311136. In this case, I recommend using the CRE field to match by; their creature filenames all start with CS.) As for the dialogue change in WeiDU - that's ADD_STATE_TRIGGER in .D code. ADD_STATE_TRIGGER CSGAAL 0 ~!TimeOfDay(NIGHT)~ Letting you trigger the cutscene on your own time by talking to Gaal? That's another simple one; he initiates conversation as soon as he detects you thanks to the first block in GAAL.BCS. Detect one trigger in that script that should only appear in that block, and replace it with False() to dummy out the block. COPY_EXISTING ~CSGAAL.BCS~ ~override~ DECOMPILE_AND_PATCH BEGIN REPLACE_TEXTUALLY ~NumberOfTimesTalkedTo(0)~ ~False()~ REPLACE_TEXTUALLY ~NumTimesTalkedTo(0)~ ~False()~ // Two different decompiled names for the same trigger END BUT_ONLY Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. 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.