Jump to content

subtledoctor

Modders
  • Posts

    8,894
  • Joined

  • Last visited

6 Followers

About subtledoctor

Profile Information

  • Gender
    Male
  • Mods Worked On
    Might & Guile
    Faiths & Powers
    Tome & Blood
    Combat Skills & Proficiencies
    SubtleD's Tweaks
    Will to Power
    NPC_EE
    Mac Weidu Launcher

Recent Profile Visitors

27,071 profile views

subtledoctor's Achievements

  1. Something has been going on with Github lately... I have all my repos set to exclude such files, but recently whenever I push commits it tries to included a bunch of hidden files that are specifically in my exclusion lists! And I have to manually uncheck them. Which of course leads to the possibility of human error. It's weird and super annoying.
  2. Your performance in the chant definitely has an effect... on the success of the process of removing the bracers from Iris Cotton. But it has not effect (that I am aware of) on what happens at the smithy.
  3. My first guess is the UI tweaks stuff, specifically the component affecting spellbooks. IIRC UI changes touching spellbooks can affect sequencers. If this is the issue, then the solution is either 1) they are not compatible, period, or 2) the UI tweak should be installed before SCS. All those UI tweaks should be at the top of the order, anyway.
  4. Neither here nor there, but going through the end of BG1 and making these changes, I am simultaneously playing Siege of Dragonspear. And, man, I am remembering that this thing has some problems. There are some issues with the writing - in the discussion with Caelar at the bridge, there are questions and responses that almost don't seem to line up? I can't tell if it is just the way it is written - some of the dialogue with Irenicus in BG2 was like that - or if one of the mods I installed has a bug leading to mismatched states and transitions. I mean, bugs are one thing and writing that's a little off is one thing... but you should be able to tell one from the other! But there are larger problems with the plot. The whole "why would she let Hephernaan lead by the nose?" question. The fact that she so openly knows you are a Bhaalspawn - when did you tell anyone that? Did I miss an important moment in BG1? How is everyone so up in your business about this? And the "join me, it will be the dawn of a new age" stuff is just... not ripe. Like, I'm sitting here waiting for her to tell me she is my father, and then cut off my hand with that glowing sword... Anyway, getting excited about this BG1 mod while also feeling critical of SoD is making me think that my original plan was good, maybe even necessary: I have to completely rewrite SoD. I've already got it mostly plotted out. But first things first.
  5. Part 3: Belt Tightening Moving onward, because all this stuff can be revised and improved later. This next bit is short: we want to change the scene after you confront Sarevok and prevent his coronation, to stop Belt and Liia from teleporting you to the Thieves' Guild. The part of their dialogue that leads to this is conditioned on a variable which is set when Sarevok reveals his true self and attempts to kill Belt and Liia: Global("SarevokBehavior","GLOBAL",1). We will change that condition to require a value of 99, which will never happen. Then we will add some lines of dialogue that have the same original condition, so the player will see the new dialogue instead: ...and the same for Liia: Note: for reasons of exigency I have simply given both Belt and Liia the same dialogue lines. The dialogue will only fire once, so the player will not actually see that, so it kind of doesn't matter. But for sure it is not great characterization. As I say, we can come back later and differentiate them. The next step will be talking to the Flaming Fist to try to track down Sarevok. But it occurred to me, what if your reputation is 1 because you have Dorn in the party and you are a loathsome pair of murder-hobos? Well, in any event, whether with good intentions or not, you did just save the lives of the Dukes. So I will add a block to the Palace area script that will run a one-time check and, if your rep is lower than 8, raise it to 8. That, again, does not assume the area script already exists. Such caution may be silly, but it should not hurt anything. Finally, after the dukes send you to speak with someone in the Flaming Fist, we want to create a Flaming Fist officer who will actually talk about this stuff. Let's make a clone of Officer Jenks from SoD: We don't want it to actually be Jenks, so the filename, creature script, and script name will be "NJenk." I'll name him Captain Gregson, after a relatively competent policeman from the Sherlock Holmes stories. (EDIT - in my local version I have changed the filename et al. to "D5Gregs.") Now let's add a block to the Flaming Fist headquarters area script that will spawn Captain Gregson: The NPC will spawn at coordinate x=1120, y=850. The way I find this out is to inspect the .ARE file in Near Infinity (AR0607.ARE in BGEE/SoD, BG0607.ARE in EET). Clock the "View Area" button, and you will see the entire are in a window. As you move your mouse around the area, the coordinates will change in the bottom-right section of the window. In this way you can find just the right spot to CreateCreature() an NPC or monster, or place an info/travel trigger, or whatnot. We need to give Gregson some dialogue, in which 1) he will point you toward Korlasz as a possible lead to find Sarevok; and 2) we will set a variable that we will use later as we approach Korlasz' crypt. Captain Gregson will EscapeArea() after this conversation. Because he won't be around to say it again, we will create a journal entry telling the player where to go. I also added a journal entry from Belt/Liia to take the place of the one that will no longer happen in the original dialogue branch. Note to self, since we are in the main plot of the game, I probably need to do this more extensively and make sure all journal entreis are properly handled. Another thing I have never done before, so... learning by doing. Based on the variable we set at the end, Gregson will appear outside Korlasz' crypt. The plan is to match how EndlessBG1 places it in the game, to maximize compatibility. At that point we will APPEND some more dialogue to Captain Gregson, which will be how we actually enter the crypt (again following the example of Endless BG1 for compatibility). But that for Step 4. Step 4 will bring Korlasz' dungeon forward from the SoD campaign to the BG1 campaign. It will need inspection of Endless BG1 so that they can work together, and it will need to adjust a bunch of dialogues there which express an assumption that Sarevok is already dead. And then make sure all game variables are straight to go from there to actually finding and battling Sarevok. I anticipate that will be a fair bit more work, so the next post probably won't go up as quickly.
  6. I think you are mixing up "2nd Edition D&D" with "Baldur's Gate 2." BG2 is great in a lot of ways, but 2E AD&D is very much NOT designed to be played this way at the tabletop. In 2E AD&D a single mind flayer could mean party wipe. In BG2 you slaughter them by the dozen. A lot of your criticism, IMHO, is relevant to this computer game but not necessarily relevant to the core ruleset. That's neither here nor there, just an observation. The counterpoint being, of course, that the encounters in BG2 have already been balanced, and they have been balanced against this particular idiosyncratic every-encounter-on-steroids house-ruled implementation of 2E. So standardizing things, at this late date, may not help anything. Personally I think the great benefit of 3E stats, and implementing something like them here, is just how much it simplifies things for players. There is utility in that all on its own.
  7. I was about to add an alternate route to finding Korlasz' dungeon, with information from a thief instead of an officer of the Flaming Fist. But that doesn't really work, since there is a whole contingent of FF soldiers and clerics who go through that dungeon with you. I think the options are: Remove all those FF soldiers from the dungeon (and, I suppose suppress a bunch of Imoen's dialogue there, as she mentions them a lot). We don't need a tutorial at this point, right?? This way if you have low rep or you just hate the FF, you can talk to Denkod/Black Lily/Narlen or someone like that, to get the lowdown on Korlasz' location. Leave the Korlasz encounter basically as it is, and for the player to go through the FF to get there. In this case I think that, in your discussion with Belt after stopping Sarevok at the coronation, I would raise the party's rep to ~8 if it is lower than that. You won't instantly become the Hero of Baldur's Gate... but you will have proven yourself to not be a complete scoundrel (at least, in Belt and Liia's eyes - whether you really are a scoundrel is another question). If anyone has thoughts about this, I would love to hear them. Adjusting your reputation and leaving Korlasz' dungeon alone is a lot easier, but limits player agency; removing the FF from the dungeon and allowing you to find it by less reputable means is better... but a LOT more work.
  8. I thought someone recently linked to a statement from Beamdog to the effect that they were okay with using assets from one of their games in other games. (Else we would not have IWDification and SCS and EET, among other mods.) And as I say, the Beamdog ambush sequence is pretty clearly based on the BGT one that came before, and Beamdog is profiting off it. I don’t think they would have the moral or legal high ground in that particular example. I certainly would not suggest replicating the entirety of SoD in BGT, or copying in most of its content. But using one or two .ARE files and doing your own creatures/scripts/whatnot should not be a problem. At any rate, it’s not really an issue for this mod - as I said, on BGT I would skip Korlasz’ dungeon, and BGT already has the original ambush scene. The jail escape takes place in an area already present in BGT. The only asset from SoD that is missing is the cave before the ambush. That could be skipped, or replaced with some other area.
  9. Yes: that’s the result we will get here. In order to get to the maze you will have to go from the coronation, to the Flaming Fist headquarters, then to the center of the city and complete Korkasz’ dungeon, and then back to Belt (where I have a bit of a rude surprise planned), and then the maze will open to you. It will work better than in vanilla even if we don’t move it, because Belt will not know where it is and will not teleport you. He will only hint in that direction. My best guesses for where the maze could be are 1) keep it in the thieves guild - it can work fine; 2) under the Hall of Wonders? or 3) at the northern gate. Oh, actually you are right, the basement of the Iron Throne would make a ton of sense! Yes! I want to add some FF officers to the maze - maybe some dead bodies by the traps? And have a contingent with you in the Undercity. That presents a bit of a complication, because it is vitally important that they all die. Maybe script a cut-scene where they charge at Sarevok and trigger a fireball trap? Maybe have them trigger all the undead in the undercity to converge on your location and attack the FF first? This will be tricky, maybe the most complicated part of this mod. This is actually really easy. I haven’t yet looked at how EndlessBG1 handles it, but my IWD Integration mod does it to conditionally skip levels of Dragon’s Eye. Just add an area travel trigger on top of the existing one, and flip them on/off via global variables. So with EndlessBG1, the Undercity exit simply takes you back into the Thieves’ Guild. The trek back through the empty maze happens off-screen, as it were. I don’t think there is any reason this could not be compatible with BGT. Might have to check the script actions used - I have at least one instance of ActionOverride(). Korlasz’ dungeon could simply be skipped in this case, so you could go from Belt to the FF and back to Belt - and do any leftover quests you want in the meantime. First I want to get this working and tested on EET and SoD; then I can look into installing a ‘lite’ version on BGT. BGT already has its own ambush scene, right? So the hardest part will be replicating SoD’s escape from jail to get to the ambush. Maybe the SoD scene can be dropped in whole-hog. I’ll look into it eventually. Any reason not to simply lift the ambush scene right from SoD, and plug it into BGT? It is pretty well done - reminds me of the BGT version actually, just more fleshed out. For that matter, in a BGT game all of the SoD areas could be used. The Underground River map would work extremely well as an area under Baldur’s Gate… Good points. As I think about dialogues in my head, I think it will work fine in the Thieves’ Guild. Maybe someday add an optional component to move it. But leaving it alone for now will help me get a first draft of this mod done more quickly.
  10. Ha ha, that's an amazing idea. Make him totally clueless as to what he is doing there, maybe. Or, to be really cheeky, maybe give him some lines from Clerks. "I'm not even supposed to be here today!" ------------------------ Meanwhile, I need a bit of feedback. The next step is to delay Belt sending you to the Thieves' Guild. It's just too quick in the base game; we want to do some investigating to find out where Sarevok has gone to ground. So I will change Belt's dialogue to say, basically, he has no idea where Winski and Sarevok teleported to, and maybe you should talk to someone in the Flaming Fist to see if they know anything from their dealings with Angelo. My questions are: 1) This is a chance to move the entrance to the maze from the Thieves' Guild to somewhere else. I always thought it was a bit weird that one of the Duke was like "I know exactly where the Thieves' Guild is, I can send a contingent of guards there any time I want, for some unstated reason however I have never done that." We could move the entrance to the maze to somewhere in the sewers, or the basement of some tavern, or... whatever. Maybe even somewhere on/near the exterior of the city - maybe it is a smugglers' entrance through the walls. There is a northern city gate that goes nowhere, up in the northwest by the Temple of Helm; we could stick a secret door there, perhaps. Thoughts? Worth doing? Or should we leave it alone? 2) This is getting into step 4, but maybe worth discussing now so I can get ahead of it: I want to have Belt send you to a captain in the Flaming Fist, who will have information gleaned from overhearing Angelo talk about the base of operations of one of Sarevok's lieutenants. This Flaiming Fist captain will then escort you to the entrance of Korlasz' crypt. Thoughts on whether this should be just a nameless captain? Or... maybe Corwin? You wouldn't meet her as Corwin yet - she would just be an informant pointing you to a dungeon. But it might be a nice way to add some connective tissue between the first campaign and SoD. Alternatively, maybe someone else we see later in SoD? Officer Jenks, or Fritz?
  11. Part 2: Death Comes on Feathered Wings Okay, picking up where I left off, talking about the concept. I want to mention up top two excellent mods: The Calling, and Brandock. I don't want to make this mod dependent on them, but the picture they painted is great and I want to make this consistent with them, such that you will get a lot more out of this if you also install those two mods. Because these both involve the cursed Netherese bracers that turned poor Melicamp into a chicken. And, almost, dinner for a wolf. Without giving away too many spoilers, after the bracers disappear from Melicamp in the vanilla game, The Calling gives you a chance to track them down. And Brandock has a small but extremely well-done interaction with them, which helps flesh out just how powerful the bracers are. So we have introduced an extremely powerful item that can create a simulacrum of anyone. And we also have this incredibly old and powerful artifact that can do permanent Transmutation magic, undispellable by even the most powerful divine spellcasters. What could be achieved if they were brought together? Of course, these are dangerous and difficult to handle. Only an archmage of the highest power, even more capable than Thalantyr, could hope to use such artifacts safely. Hmm, do we know anyone like that...? Of course, Thalantyr takes the Netherese bracers very seriously; he would not give them up without a fight. If... someone is to get them away... Thalantyr needs to die. Remember that this mod can be installed either on BGEE or on EET. In this section we need to add a block to the area script for the interior of High Hedge; in BGEE that is AR3202.ARE and uses AR3202.BCS; in EET it is BG3202.ARE and BG3202.BCS. So I will add a little function to the mod's ALWAYS block to determine which prefix to use. I also traified it locally, though I will try to include full strings in these posts so you can see what it happening. So now the top of the .tp2 file looks like this: We need to make a .BAF script that, basically, removes Thalantyr from the game in chapter 7. We don't need anything graphic or dramatic; Thalantyr will simply be gone if you go to High Hedge in the late game, and Melicamp will tell us what happened. (If he is there, anyway.) This script is quite simple: it will run at the top of the High Hedge area script, and if it is chapter 7 and a variable is zero, then remove Thalantyr and set the variable to 1. it will return false for most of the game, until you hit chapter 7; if you enter High Hedge in chapter 7 or later it will return true once, and in doing so set the variable to 1, and will forever return false thereafter. So it will not gum up the area script. I have copied this script file to a temp file area as either AR3202.BAF or BG3202.BAF. Yes that is the same filename as the .BCS script we are patching, and that is not an accident, because, in preparing this little mod, I found that in at least some games, the High Hedge interior actually has no area script! But in other games there are - some mods may add it, and EET may add it, I'm not sure. In any event, we need to handle both possibilities. So we will check if the file exists; if it does not, we will COMPILE this .AF script and it will become the area script; if the area script does exist we will EXTEND_TOP this script to the existing file. The use of the %bg1_area_prefix% variable from the ALWAYS block makes that nice and short. Next we need to add a bunch of dialogue to Melicamp so he can explain what happened, and also have him open Thalantyr's store to us so the player does not miss out on his merch: So here we are making a .D file. This gets a bit complicated: you can write out scripts in .BAF files, and when you COMPILE them they turn into .BCS files. You can write out dialogues in .D files, and when you COMPILE them they turn into .DLG files. BUT you can also put Weidu commands into .D files, and when you COMPILE it then those commands will be executed. It's a bit weird to my eyes, but it is how Weidu works. That's the first thing we do: REPLACE_STATE_TRIGGER to make the normal Melicamp speech after being restored to his body only happens if Thalantyr is alive. Then we write out a bunch of new dialogue: five new states (i.e. statements by Melicamp) and several transitions (responses from the person he is talking to) attached to each one. The very first time you talk to him in chapter 7, when he says Thalantyr is gone, you will ask him for details and he will give you the story. In the course of that it sets the %thalantyr_dead% global variable from 1 to 2, which means the next time you talk to him he will skip the exposition and go right to selling you stuff. (Please note, the dialogue here is paper thin, and I fully realize that. As I say this is a proof of concept - I am learning how to do this stuff as I go, you are literally seeing it being done in real-time. I just don't have the time to write a novel as well as figuring out how to do it.) Next, we need to change the way Melicamp's situation is handled: we don't want the bracers to disappear when he is changed from a chicken to a human. The vanilla dialogue has Thalantyr ask Melicmap how he feels, and Melicamp will say "I have arms again!" in state 23 of MELICA.DLG, and then it kicks back to THALAN.DLG and thalantyr says "ah, it's a shame, the bracers disappeared. First, we will add a new state to THALAN.DLG, with a slightly different dialogue line instead stating that he will safeguard the bracers. And we will hijack MELICA.DLG at the point where it jumps back and forth, to direct it to the new THALAN state instead of the original one. I learned a trick here: any transition without a player reply is evaluated from the bottom up, and the first one with a true condition is followed. So we can add a new transition to state 23 of MELICA.DLG with EXTEND_BOTTOM, and the game will always use our new transition, point to our new THALAN state. Now, there is a complication if the player has the Calling installed. I will put this in spoilers because it gives away the end of The Calling's quest: We can't have that. So we have to hook into the THALAN and MELICA dialogue lines added by The Calling and intercept Thalantyr right before he gives you that last task. Note: this is an alternative to the code above, which is why the above code is conditioned on The Calling not being installed. If The Calling is not installed, we want Thalantyr to keep the bracers after curing Melicamp; if The Calling is installed, we want the bracers to disappear as normal, so that we can play The Calling's content. This will be structured the same way as the alternative one: we APPEND a new state to the end of THALAN.DLG, and then we intercept a transition in MELICA.DLG to divert us to the new THALAN state instead of the old one. This is trickier though, because when a mod like The Calling is installed, Weidu assigns state numbers dynamically, which means they can differ from one player's game to another. But @jastey just taught me this black magic: if the Calling has indeed been installed, then the mod folder should be present in the player's game directory. So we can find The Calling's .tra files, find the .tra reference of the state we need to find, and use that with STATE_WHICH_SAYS to find the state number in the modded .DLG file. The '%s' variable will even make sure it grabs the .tra string in the language the player chose when installing The Calling. I don't know how. As I say, it is black magic. But I just did a test install and it works. We add the new state to THALAN with a couple different responses (be gracious, go shopping, or be rude). And we EXTEND_BOTTOM in the state we found in the modded MELICA.DLG to again add a new transition, which the game will always use instead of the existing one. So instead of the very last part of The Calling happening, Thalantyr will sit on the bracers, and basically wait for his doom in chapter 7. Issues: This does not address the journal quest entries from The Calling; does this mean there will be a quest forever kept open? Possibly. I will investigate that when I have time. I've never worked with journal entries before, and I wanted to get this out. There is always room to improve things later on, as we go. Melicamp's dialogue says Thalantyr will be revived in a few weeks, but in chapter 7 Charname could theoretically go on a monthslong voyage to the Isle of Dogs. Should we reconcile this? Should we set an in-game times and bring Thalantyr back after a certain number of days? Ehh... honestly I just don't care. The Balduran's shipwreck thing doesn't make much sense anyway. Having Thalantyr gone will mean potentially other mod content will not be available! He does some item upgrades! What about mah OP loot?? Eh, there are consequences in life. This should sting a bit, it is a death. It should make the player wonder what the heck is going on. Sometimes player convenience needs to be sacrificed on the altar of a good story. What if Melicamp doesn't survive the change? He won't be there to tell us about Thalantyr being murdered, and we won't be able to access his store! See above. But also, maybe we should make sure Melicamp survives? The Calling already does just that; perhaps we should mimic it. What if the player screws up the incantation at the end of The Calling? Then the bracers will in fact disappear, and the hijacked dialogue line we altered will not fire. What wil happen? Well, Thalantyr will be murdered anyway. Maybe the bracers are gone, but someone hunting them down knows they were here at some point. Presumably that someone will go find them... but honestly not everything needs to be explained. In this case we will miss a line of exposition ("and the murderer took those thrice-damned bracers!") but really it's okay: if we screw up the incantation then presumably Charname doesn't have a very high INT score, and things should be a bit murkier. There should be a bit of a scent of a Miss Marple murder mystery here. I can live with all that! And what needs to be improved (the journal/quest log thing, probably) can be improved in due time. But for now we march forward. In Part 3 we need to slow Belt's roll.
  12. THAC0 is an amazingly useful shorthand and easy to understand and you will never convince me otherwise. As for AC, I used to concede to you children of summer that pre-3E AC was weird. But no longer! I recently learned the origin of it and it’s fascinating. Apparently the system stems from an old naval combat simulation where the best ship armor you could have was 1st-class, and the next-best armor was 2nd-class, etc., getting worse as you get further from 1st class. (Think about airline seats or cruise ship accommodations - we still use a system where lower is better and nobody complains that it is “hard to understand.”) The took that naval defense mechanic and plugged it into the d20 roll-over to-hit roll, and ended up with a working fantasy combat system! At a time when there was almost nothing to compare it to. I just can’t bring myself to be critical of that.
  13. Most stats already do two things, no need to invent anything. EDIT - STR and DEX already do two things. WIS grants bonus spells that increase with every point, so it is not a big deal. To the extent a mod wants to add more benefits to INT and CHA, it is inventing something anyway. And CON… well, CON is a tougher nut to crack. Well yeah, my gripe with the 3E system is that it is, for the most part, a 9-point system masquerading as an 18-point system. But even there, bonuses every two points is not necessarily a bad design. It’s only bad if you cast DUHM to buff yourself and there is no benefit. An easy alternative to providing a benefit for each point increase is to simply make sure that post-CharGen stats buffs increase stats by an even number.
  14. I'm not yet at the point of dealing with compatibility issues. This mod adds a scene with connective tissues to BG2, and gives you a choice as to whether to go to SoD or straight to BG2 - after the fight against Sarevok. The resolution of the Sarevok battle is an important plot point here - his defeat actually causes a bit of a problem for you. So, of necessity, this will have to cover some of the same ground as EBG1 and Transitions, in that the game won't end in the Undercity Bhaal Temple. Again, this is not because I want to do what someone else has already done, but because it is the only way to make this added scene work. But I have no plan to do stuff like, put Ophyllis/Corwin/Fenster in the palace, do anything with Sarevok's armor/helmet, Elminster's appearance, or Imoen and Jannath. Basically this just covers the same ground as EBG1's main component, and the "Korlasz' Dungeon is in BG1" component. So I will try to make it compatible with all the rest of EBG1. Maybe I will try to use a very similar technique, and/or make the mod defer to EBG1 if it i installed earlier. First I need to actually write it, then I can compare the two and see how to merge them. I suspect compatibility with Transitions will be harder, so that is a bit on the back burner. I myself had a very similar thought! After all, who the heck is Semaj? He comes out of left field, never explained, just a random follower that you don't meet until the very last fight. And SoD similarly introduces Korlasz as this important person, who you never encounter until after the final fight? It's honestly pretty weird. I don't plan to fix everything about these characters. But I can put Korlasz on the same footing as Tazok, Davaeorn, Tamoko, and Cythandria: someone you meet and learn to be an ally of Sarevok before you finish off Sarevok. This was basically done by AWizardDidIt in Black Hearts, adding a new enemy who is described as an ally of Sarevok, and who you are tasked with defeating before the final fight. I think it works well in that mod, so I want to give SoD's Korlasz content the same treatment. I think if you play things in that order: escape Candlekeep, then interrupt the coronation, then go through the Black Hearts finale, then go through Korlasz' crypt to get the key to Sarevok's hiding place - it will flow pretty well and Korlasz will not stick out like a sore thumb. However, I do not think it makes sense for Korlasz to appear in the final fight after you defeated her in her crypt. First of all, you might have killed her. Second, if she is alive and gives you Sarevok's location (a key plot point in this mod), Sarevok would probably kill her. Third, if she is alive after you defeat her, she would not end up in the Undercity but be a prisoner of the Flaming Fist. And finally, if she were to escape and join Sarevok at the final fight, it would prevent the scene with her in the palace basement in SoD. So I think I will keep her in the same status as the Black Hearts antagonist or Cythandria: someone you go through on your way to Sarevok. I think this will make the end-game flow a lot better, and provide that linkage to BG1 if you don't go through SoD, and improve one of the most-criticized parts of SoD if you do play it: l'affaire de Skie.
×
×
  • Create New...