Jump to content

Zap Gun For Hire

Members
  • Posts

    417
  • Joined

  • Last visited

Everything posted by Zap Gun For Hire

  1. It was BMac who chimed in that it was a good idea. And last time I checked, he was a developer.
  2. IIRC, in chests/containers in those initially inaccessible areas in The Shattered Passage. You can reach two of them by using Waidwen's Sundial, and the other by using Betrayal when talking to the Kuaru Spirit guarding the non-existent bridge in the NW corner (it's a dialogue option in this case). Edit: Misremembered slightly. One Void Shard is in a chest to the west of Rynhaedr One Void Shard is in a chest past the Kuara Spirit. You need to use the Water Switch near The Drowned Kingdom portal to approach the Spirit and need Betrayal to get the bridge to form to get the chest. One Void Shard is in a chest nearish the gate to The Endless Queries that is blocked by some water. Using Waidwen's Sundial in the sunbeam near it will cause a Water Switch to pop into existence, which in turn lowers the water so the chest can be opened. Old post, but for those coming across the thread now, yes, three is the max.
  3. Now we're getting into the nitty gritty stuff. Since this is a long post with some example code, I'll put it all behind a spoiler box so I don't make this thread take up more screen space than I already am. That should pretty much give a decent introduction in to how to decipher this stuff, I hope.
  4. At the end, does Eothas remove his chime and Berath's or just Berath's chime? Just Berath's. The design reasoning might be that the Watcher had no choice but to accept Berath's chime while the Watcher DID have a choice on whether or not to accept Rymrgand's chime. Well, more of a choice at least.
  5. The item isn't unobtainable. https://forums.obsidian.net/topic/98889-unique-items-–-how-and-where-to-find-them/page-7 Not to speak for Clerith, but I presume they actually meant 'gated'/'locked' as it will be unobtainable for anyone who doesn't royally honk off the VTC. I can be less circumspect now that we're in the spoiler section.
  6. Yeah, it took some getting used to. Okay, there are things in the conversation bundles called "nodes". It's what the game uses to not only go from each conversation option you see in the game, but also various checks made silently in the background. When it's simple, you look for something like this (using LAX02_01_cv_huana_wandering_soul.conversation as an example): { "$type": "OEIFormats.FlowCharts.Conversations.TalkNode, OEIFormats", "SpeakerGuid": "6a99a109-0000-0000-0000-000000000000", "ListenerGuid": "b1a8e901-0000-0000-0000-000000000000", "ExternalVO": "", "HasVO": false, "NotSkippable": false, "IsQuestionNode": false, "HideSpeaker": false, "IsTempText": false, "PlayVOAs3DSound": false, "PlayType": 0, "Persistence": 1, "NoPlayRandomWeight": 0, "VOPositioning": 0, "DisplayType": 1, "NodeID": 5, "ContainerNodeID": -1, "Links": [ { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 5, "ToNodeID": 11, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } } ], "ClassExtender": { "ExtendedProperties": [ "SpeakerAnimation,0", "ListenerAnimation,0", "DoNotClearText,False", "FocusedSpeaker,6a99a109-0000-0000-0000-000000000000", "VOEventOverride,None" ] }, "Conditionals": { "Operator": 0, "Components": [] }, "OnEnterScripts": [], "OnExitScripts": [], "OnUpdateScripts": [] } "NodeID": 5 says this is, well, node number 5. In the "Links": subsection there is this: "FromNodeID": 5, "ToNodeID": 11, That says if NodeID 5 is accessed then go to NodeID 11. ***IF*** there is a corresponding stringtable number for NodeID 5, display it in the game. Then if there is text in NodeID 11, display that. And so on and so on. In this case, the game is accessing the following in lax02_01_cv_huana_wandering_soul.stringtable: <Entry> <ID>5</ID> <DefaultText>A wandering clump of soul essence waits for you in the path. When it senses the pieces of itself already within you, it rushes to join them.</DefaultText> <FemaleText /> </Entry> It will then go to this entry: <Entry> <ID>11</ID> <DefaultText>Your people wave and shout your name as you tour the outlander around your city. You have come to value his counsel more even than your own advisors', for he would not see you fettered by ceremony and politesse as they would.</DefaultText> <FemaleText /> </Entry> And so on and so on. (NOTE: When exactly the game decides to display something from a node in a conversation bundle to the corresponding text in the stringtable might be a little off here. But for a general explanation, that should suffice) Simple enough, right? If there are multiple options for the "ToNodeID", display all of those child nodes as well, as seen in this example: { "$type": "OEIFormats.FlowCharts.Conversations.TalkNode, OEIFormats", "SpeakerGuid": "6cebcf8c-2255-46cc-b560-5fae1a8ad356", "ListenerGuid": "b1a8e901-0000-0000-0000-000000000000", "ExternalVO": "", "HasVO": true, "NotSkippable": false, "IsQuestionNode": true, "HideSpeaker": false, "IsTempText": false, "PlayVOAs3DSound": false, "PlayType": 0, "Persistence": 0, "NoPlayRandomWeight": 0, "VOPositioning": 0, "DisplayType": 1, "NodeID": 200, "ContainerNodeID": -1, "Links": [ { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 200, "ToNodeID": 83, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } }, { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 200, "ToNodeID": 77, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } }, { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 200, "ToNodeID": 71, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } }, { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 200, "ToNodeID": 38, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } }, { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 200, "ToNodeID": 36, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } }, { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 200, "ToNodeID": 37, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } } ], "ClassExtender": { "ExtendedProperties": [ "SpeakerAnimation,0", "ListenerAnimation,0", "DoNotClearText,False", "FocusedSpeaker,6cebcf8c-2255-46cc-b560-5fae1a8ad356", "VOEventOverride,None" ] }, "Conditionals": { "Operator": 0, "Components": [] }, "OnEnterScripts": [], "OnExitScripts": [], "OnUpdateScripts": [] } This will display what is in NodeID 200. Then it will check each of those nodes listed (83, 77, 71, 38, 36, 37) and see if it should display them as well. This is how dialogue options are shown on the screen. The trick is that there can be conditions on whether or not a node is accessed or not. Here is an example of a node with a condition: { "$type": "OEIFormats.FlowCharts.Conversations.PlayerResponseNode, OEIFormats", "NotSkippable": false, "IsQuestionNode": false, "HideSpeaker": false, "IsTempText": false, "PlayVOAs3DSound": false, "PlayType": 0, "Persistence": 3, "NoPlayRandomWeight": 0, "VOPositioning": 0, "DisplayType": 1, "NodeID": 46, "ContainerNodeID": -1, "Links": [ { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 46, "ToNodeID": 219, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } }, { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 46, "ToNodeID": 50, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } } ], "ClassExtender": { "ExtendedProperties": [ "SpeakerAnimation,0", "ListenerAnimation,0", "DoNotClearText,False", "FocusedSpeaker,", "VOEventOverride,None" ] }, "Conditionals": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsCompanionActiveInParty(Guid)", "Parameters": [ "b1a7e809-0000-0000-0000-000000000000" ], "Flags": "", "UnrealCall": "", "FunctionHash": 1667060059, "ParameterHash": 337802082 }, "Not": false, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasConversationNodeBeenPlayed(Guid, Int32)", "Parameters": [ "3fa7b7b0-e37f-44fe-a9bd-9a36dc71914c", "38" ], "Flags": "", "UnrealCall": "", "FunctionHash": -1870187966, "ParameterHash": 1462353276 }, "Not": false, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsSkillValue(Guid, Guid, Operator, Int32, Boolean, Boolean)", "Parameters": [ "b1a8e901-0000-0000-0000-000000000000", "c7e22ee0-bdd6-4ca8-99f0-a46f3dd66606", "GreaterThanOrEqualTo", "4", "True", "False" ], "Flags": "", "UnrealCall": "", "FunctionHash": 193829831, "ParameterHash": 1726143461 }, "Not": false, "Operator": 0 } ] } This node will only be accessible by the player if Rekke is present (he is companion "b1a7e809-0000-0000-0000-000000000000"), if a previous conversation node has been played already (#38 from this conversationbundle in this case), and if the Watcher can pass a Diplomacy check of 4 ("c7e22ee0-bdd6-4ca8-99f0-a46f3dd66606"). ==== That's the SIMPLE stuff. There's things in the conversation bundles that I haven't fully wrapped my head around. But mostly following the "to"/"from" stuff and looking at the conditionals is enough for me to figure out 95% of what is going on in the code. There are things like 'children nodes' and other things that I haven't spent the time to fully understand. Or at least understand enough to try to explain it. ============== If that didn't explain it enough, I can try again if you'd like.
  7. In theory, sure. But IF the goal is to be able to have ALL upgrades, then performing surgery on some of the upgrades is required. That was the time consuming part. I was able to do it for the most part, with only minor allowances made along the way. I started to view it as an intellectual challenge when it came right down to it.
  8. Yes, it would. Some folks like that. Also wouldn't be the only mod to make the game easier/more power gamey. (Besides, it WAS a request in peardox's list. Since I saw it I figured I would save folks the trouble of looking at it and mention I've already done it. Mostly. )
  9. As for other Rekke content in the DLC, a raw code check has: (spoilered, coz it's kinda long and because there are a couple of interesting finds in there) That's actually a pretty decent chunk of content for a sidekick. Not nearly as much as Ydwin, but more than I was expecting for him before I started the DLC.
  10. *does some deep deep deeeeeeeeep digging into the game code* Is that... Really? Aw, man. That's kinda funny. You need to either have an Aristocrat background or a Merchant background to fob off Rekke as your associate when talking to the king. Plus have a Diplomacy skill of 4 or greater If I read this right it goes something like this: [Node 200] (leads to several options) [King Waturi I]: "My great hall stands open for all who would pay fealty to their beloved king. [King Waturi I]: "Why are you here?" [Node 38] [Aristocrat] OR [Merchant] ONLY [Watcher]: "I am an emissary from a distant land come to seek your favor." [Node 169] (response) [King Waturi I]: "Ah, so the ants of other empires still scurry beyond my bounds." He gives you self-satisfied smile and reclines on his throne. [Node 82] (many possible options flow from this statement [and to it for that matter]) The king regards you with one eyebrow raised and a smug smile just forming on his lips. [Node 46] [Node 38 must have been played] + [Rekke must be in party] + [Diplomacy >= 4] [Watcher] "May I present my associate, Ambassador Rekke of Yezuha." The game then branches on whether or not Rekke knows Aedyran: If Rekke knows Aedyran: [Node 219] [Rekke] "What? Watcher - !" Alarm gives his voice a sharp edge. Which then goes on for a bit, but I don't want to go down all the branching trees. If folks want, I can look into it but I kinda don't want to spoil the surprise. ==== If Rekke doesn't know Aedyran, you get a negative relations hit with the King unless you have the Betrayal trinket and have already disguised yourself as his son. I think, as it's a conditional and I'm not entirely sure I'm reading it right. This appears to be a silent code check though, as the game doesn't make any comment on it. The King will make a comment about your mute friend, but not much else. Maia, if she's present, also makes a crack: [Maia] "Captain, I would love to know how you expected that to go." Maia chuckles into her palm. So, yes, there is Rekke stuff there. If the Watcher has the right background. ==== Edit. Yep. Pulled up a save and I see the unavailable option for Aristocrat/Merchant marked in red. So there's your path, for folks who want to take it.
  11. Got my shipment today, and I am pleased to say that the attack roll versus Eothas' AR failed miserably and I received a completely intact statue. (My commiserations to those who weren't as lucky. )
  12. Gonna stop spamming poor peardox's thread and start posting here. ==== So have you ever looked at a Unique item and said to yourself, "Why I gotta choose between upgrades? Why can't I have it all?!?" Have you ever thought to yourself, "Man, I really want to upgrade my Ultimate Sword of Destiny +1, but I just don't have enough friggin' Adra Ban to do it?" Heck, have you ever thought, "I just want to see game balance the world burn?" Then a mod I will be releasing soon might just be for you. What I have done is the painstaking work to modify each and every last weapon/shield/armor recipe in the game to make it so one can apply all upgrades. Now, I want to make it QUITE clear that this isn't a perfect removal of the restrictions. Some upgrades are semi-incompatible and I had to make choices along the way, which I can detail later. But overall, it works. I could release it right now, but it's.... messy and unorganized. Also while I have a few spreadsheets with all of my changes I've made, I don't have anything near ready for folks to look at in a readme or info file. And I'd want to spend the time to actually write it up. Gonna be pretty busy over the weekend elsewhere, so I don't know when exactly I will release it here and on Nexus. And I do want to make a few tweaks as I change over from Home Mod where I don't care too much about compatibility issues to something cleaner for global release. So, as the thread title says COMING SOON. Emphasis on "soon".
  13. To piggyback on my last post a bit, it would be relatively simple to do a Blind Idiot removal of the restriction system where it comes to upgrades for unique items. It'd be messy and lead to poor user gameplay due to having to keep track of what mods had been applied, but it'd be doable. But there would be lots of problems, as seen in a bit. It'd be slightly more complicated to make it so when an upgrade is applied, it disappears from the upgrade list (it'd require manually checking all 400+ recipes). A pain, but not THAT bad. No, the REAL problem is that there are several upgrades which replace a base component of the item, and making sure THOSE aren't duped becomes a real pain in the tukus. The MAJOR HEADACHE is when upgrades duplicate each other partially, but with slight differences. And it gets worse from there. Still, I was able to do it, but I had to make executive decisions along the way. (nuking the cost of the upgrade was one of them, BTW, as [checks spreadsheet] 492 upgrades at 3,000 a pop adds up after a while )
  14. Funny that should be in the requested list. It just so happens that I have done this on my home computer and have been playing around with it since Mid June. Getting pissed off at that restriction and figuring out how to 'fix' it was what got me into modding, actually. It took a ****load of work to do, and I'm 99.9999% satisfied with it. There are a couple of warts still, and I had to make a ton of compromises/allowances along the way as there are a few near-contradictory upgrades out there. And I'm also sure there are some bugs hiding in there. Still... Well, let's just say I took a look at Nexus Mods and decided that I'll PROBABLY put a nice clean version of it up there soon. Ish. Mostly I want to pretty up the code, change some values from my home system when it comes to buying upgrade ingredients to something slightly less game breaking... But... Well... Let's say this has been done and is doable. So. Watch This Space, as the saying goes.
  15. That and he wants to mess with the Watcher's head. He can't just up and up force the Watcher to stay in the White Void without wrecking the Deal With Eothas plan. Or at least he doesn't want to have to explain what went down to his fellow gods and start over. But if he can get a useful tool by bluffing? Great! And if he can also plant a seed of doubt in the Watcher's noggin and try to exploit it later.... Well, nothing ventured, nothing gained. At worst he gave the Watcher an object lesson in the futility of opposing the gods*. At best, he might get the Watcher to start overthinking things. Hence my headcanon that my Watcher doesn't give a second thought to the machinations of Rymrgand. * NOTE: If Rymry had succeeded in killing the Watcher there? Well obviously it would have proven that the Watcher wasn't up to snuff and would have been killed by something else. Rymrgand might not be as Survival of the Fittest as, say, Galawain. But I think most of the gods would see his point. Especially since most of them try to push around the Watcher when they think they can get away with it.
  16. +whatever on the MOAR SHANTIES one. I would presume it'd have to be a paid DLC, cause singers/musicians got to eat too, you know. And even though I have a Season One pass, I'd happily plop down five bucks for a DLC that had more shanties (with other things added as part of a package, perhaps, if folks think 5 bucks for shanties isn't enough bang for the buck). Gimme MOAR SHANTIES, I say.
  17. I think some more Berath's Blessings would be nice, especially as the point total racks up from more achievements (we're already at more points than can be bought if one maxes out all cheevos). Doesn't have to be anything game breaking; just fun little additions to add some spice to the game.
  18. The thing about allegedly furthering Ryrmy's plans no matter what the Watcher does (either by agreeing to take a chime or wondering if fighting him helped him in some way), my Watcher (i.e. me) took the attitude that it just doesn't matter. Getting the chime obviously furthers his plans as you do Rymrgand's bidding while alive AND consigns the Watcher's soul to the White Void on death. No. Thanks. "But wait," I hear you say. "What if fighting him ALSO helps him in some strange unknowable cosmic way?" Well, to that I say: If the Watcher has been placed in a Kobayashi Maru like "Heads I Win; Tails You Lose" situation where there are only two options given, like hell am I going to choose the one that makes me a slave to yet another god where I am doing his overt bidding. I'll take my chances with Agency, and roll the dice by captaining my own destiny. If somehow kicking him in the shins did something for him in an ineffable way? So be it. That's on him, not me. Give me my Player Agency thank yew veddy much. ... Sides, I'll just deal with that plotline in PoE V or PoE IX or whenever it comes up.
  19. If the Watcher is already a godlike, Berath manages to put a chime in them with no difficulties. A point Rymrgand mentions when he says that the Watcher having three chimes isn't a problem as far as he is concerned.
  20. Yayyyyyy, the Repair function that EVERYONE loves from D:OS makes an appearance!!11!!!1 ===== Okay, joking aside I actually AM interested in seeing how the mechanic works. As a challenge mode, I like the concept quite a bit (again, I was joking before ). Curious to see how it's implemented though. Like, how often can repairs be made, what sort of materials/money it will require. Is it limited or gated in some respect. That sort of thing. So looking forward to it. Really like the creeping fog aspect of Skaen's Challenge as well. Seems appropiate. Gonna be irritating to get constantly snipped from out of sight, but I guess that's why it's a Horror Movie Themed Challenge.
  21. This is the non spoiler section of the forum, so I can't go into specifics. But I CAN point you to a thread in, ironically enuf, the mod section of the forum. Reading the first two posts in the thread should answer your question.
×
×
  • Create New...