Andrea C. Posted June 5, 2022 Posted June 5, 2022 If you pull the Greater Shadow in area BD7220 using the Spectacles of Spectacle after you've already killed the bugbears, you still get to ask the Shadow to kill them which doesn't make sense. That dialog option should be disabled if the bugbears are dead; optionally, it could be replaced with another non-violent exit point seeing as that appears to be the only one. Quote
CamDawg Posted July 27, 2022 Author Posted July 27, 2022 On 6/5/2022 at 9:37 AM, Andrea C. said: If you pull the Greater Shadow in area BD7220 using the Spectacles of Spectacle after you've already killed the bugbears, you still get to ask the Shadow to kill them which doesn't make sense. That dialog option should be disabled if the bugbears are dead; optionally, it could be replaced with another non-violent exit point seeing as that appears to be the only one. On 6/5/2022 at 9:07 AM, Andrea C. said: When I spoke to Kharm in area BD2000 after having rescued his nephew, he said here's a token of my appreciation but I got nothing... Both fixed. Kharm's was simple, as he was only giving out a reward on one of the four replies. Shadow/bugbear was a little more complicated, as there are ten flavors of bugbear spawns, and they all vary depending on the difficulty, but it's sorted. Quote
jmerry Posted September 28, 2022 Posted September 28, 2022 On 3/28/2022 at 3:05 AM, jastey said: Imoen's script "imoen.bcs" misses these script blocks the other BG1 NPC's have. Again, BG:SoD only, EET has this fixed for itself (plus uses a different script name for Imoen): In addition to the joining XP stat blocks, the version of "imoen.bcs" with SoD misses these two stat blocks standard to BGEE NPCs: IF Die() !InParty(Myself) OR(12) AreaCheck("OH1000") // Dorn - Random Encounter Area AreaCheck("ar5600") // Random encounter area AreaCheck("ar5601") // Random encounter area AreaCheck("ar5700") // Random encounter area AreaCheck("ar5701") // Random encounter area AreaCheck("ar5800") // Random encounter area AreaCheck("ar5801") // Random encounter area AreaCheck("ar5900") // Random encounter area AreaCheck("ar5901") // Random encounter area AreaCheck("ar6000") // Random encounter area AreaCheck("ar6001") // Random encounter area AreaCheck("ar6100") // Random encounter area THEN RESPONSE #100 DestroySelf() END IF !InParty(Myself) CheckSpellState(Myself,STORY_MODE) THEN RESPONSE #100 ReallyForceSpellDeadRES("OHSMODE3",Myself) // No such index Continue() END She's the only companion that won't disappear if she gets stoned in a random encounter area (in patch 2.6), and also the only one that will retain Story Mode protection if she leaves the party. The remaining blocks shared between the two versions of the script (her approaching you for the initial Lion's Way meeting, and some stuff about Dorn picking fights) get a check for "SOD_fromimport" being zero added to them. Belated, but I only got SoD myself less than a month ago. Quote
jastey Posted October 25, 2022 Posted October 25, 2022 On 3/31/2022 at 9:03 AM, jastey said: In bd5300, the timer "bd_sdd350b_ot_timer" used in several script blocks has the area specification "bd2000": Was this addressed / is this an issue or does this work as intended? Quote
jastey Posted October 25, 2022 Posted October 25, 2022 Thanks! Sorry for not searching myself, but I didn't really know how to do that on GitHub without downloading the zip. Quote
jastey Posted February 18, 2023 Posted February 18, 2023 In BDMKHIIN.dlg: Quote IF ~~ THEN BEGIN 18 // from: 17.8 SAY #65556 /* ~Asking questions always gets me in trouble. Not gonna stop. Tried. Didn't work. I'll come with you, though. Not safe to be alone these days.~ [BD65556] */ IF ~~ THEN DO ~AddJournalEntry(61705,INFO) SetGlobal("bd_mkhiin_join","global",1) JoinParty() AddexperienceParty(3000) ~ EXIT END I did not check this ingame, but as far as i know, actions after "JoinParty()" do not get executed, so I'd suggest moving the "AddexperienceParty(3000)" before it. The other instances are already in that order. Quote
jastey Posted March 11, 2023 Posted March 11, 2023 I'm at Bridgefort and I am stuck in a loop where I can't inform Corwin that the Bridgforters are ready to attack. It seems the variable "Global("bd_bf_attack","global",1)" needs to be set to tell Corwin, and it doesn't get set if the dialogue path goes from Khalid's state 70.2 to 59 (it only gets set if coming from 56.4). Possible solutions: add the ~SetGlobal("bd_bf_attack","global",1)~ to bdkhalid.dlg state 70.2: Quote IF ~ Global("bd_bridgefort_plot","global",5) AreaCheck("bd2000") ~ THEN BEGIN 70 // from: SAY #65935 /* ~What news, m-my friend?~ [BD65935] */ IF ~ Global("bd_bf_action_plan","global",2) Global("bd_fists_attack","global",2) !Global("BD_SDD200","GLOBAL",1) ~ THEN REPLY #65936 /* ~The time has come to attack. The Flaming Fist stand ready to join us.~ */ DO ~SetGlobal("bd_bf_action_plan","global",3) ~ GOTO 57 IF ~ Global("bd_bf_action_plan","global",2) Global("bd_fists_attack","global",2) Global("BD_SDD200","GLOBAL",1) ~ THEN REPLY #65936 /* ~The time has come to attack. The Flaming Fist stand ready to join us.~ */ DO ~SetGlobal("bd_bf_action_plan","global",3) ~ GOTO 60 IF ~ Global("bd_bf_action_plan","global",2) GlobalLT("bd_fists_attack","global",2) ~ THEN REPLY #65937 /* ~The time has come to attack. The Flaming Fist haven't been alerted but we don't need their help.~ */ DO ~SetGlobal("bd_bf_action_plan","global",3) SetGlobal("bd_bf_attack","global",1) //<- here ~ GOTO 59 (snip) Or, just add it to state 59 reply options 0 and 1: Quote IF ~~ THEN BEGIN 59 // from: 56.4 70.2 SAY #65921 /* ~Wh-what? But without the aid of the Fist we'll be s-slaughtered.~ */ IF ~ !Global("BD_SDD200","GLOBAL",1) ~ THEN REPLY #65922 /* ~You're right. I'll go alert the camp. If you hear sounds of combat, join the battle.~ */ DO ~SetGlobal("bd_bf_action_plan","global",2) SetGlobal("bd_bf_attack","global",1) //<- here ~ GOTO 68 IF ~ Global("BD_SDD200","GLOBAL",1) ~ THEN REPLY #65922 /* ~You're right. I'll go alert the camp. If you hear sounds of combat, join the battle.~ */ DO ~SetGlobal("bd_bf_action_plan","global",2) SetGlobal("bd_bf_attack","global",1) //<- here ~ GOTO 69 Quote
jastey Posted March 13, 2023 Posted March 13, 2023 I don't seem to find an instance where the journal entry is removed (strref 61531): Quote Den of Thieves I must go to the north end of camp to meet with the thieves' guild. It seems General Stonehand was right. There is a burgeoning thieves' guild in camp. How such a thing can spring up so quickly I don't know. I've convinced the guild's fence, Waizahb, to set up a meeting for me. At the north edge of camp I should find the representatives of the guild. It is set in BDWAIZAH.dlg states 0 and 4, but not removed after meeting with Rhynwis. Oh, and the same with strref 61532: Quote Den of Thieves I should follow Waizahb to the north end of camp. It seems General Stonehand was right. There is a burgeoning thieves' guild in camp. How such a thing can spring up so quickly I don't know. I tried to get information out of the guild's fence, Waizahb, but she quickly saw through me. She's headed to the north of camp now; perhaps I should follow her. This is set in BDWAIZAH.dlg states 2,3,5. I'd suggest to remove both in BDRHYNWI.dlg state 0. Quote
jastey Posted March 13, 2023 Posted March 13, 2023 Er, and the journal entry from Rhynwis doesn't seem to get removed after talking to General Stonehand, either, strref 61537: Quote Den of Thieves I should report back to General Stonehand. I confronted the leader of the thieves' guild, a woman named Rhynwis. She fled before I could get much information out of her, but I believe the thieves' guild will leave the camp alone now. I should report back to General Stonehand. Aaaand the one from Stonehand herself, strref 61530: Quote Den of Thieves I should find and speak with Waizahb. General Stonehand, head of the Daggerford forces, asked me to uncover the growing thieves' guild in camp. I should start by questioning a potential fence, a gnome named Waizahb. I would expect both to be removed in bdstoneh.dlg, state 63. That, or I'm too stupid to identify where these journal entries get removed. Quote
jastey Posted June 25, 2023 Posted June 25, 2023 In bd0101.bcs: IF Global("bd_safana_spawn","bd0101",0) // Ducal Palace, Leaving BG OR(2) InPartyAllowDead("safana") // Safana Global("BD_SAFANA_DIED_IN_BG","GLOBAL",0) THEN RESPONSE #100 SetGlobal("bd_safana_spawn","bd0101",1) // Ducal Palace, Leaving BG Continue() END should check for Global("BD_SAFANA_DIED_IN_BG","GLOBAL",1) instead. Which leads me to a finding related to that, an inconsistency with regard to whether NPCs who died during BG1 will reappear or not. I elaborated here on it with Safana as an example. In short: The three NPCs Minsc, Dynaheir, Safana will get revived and can be met in their starting areas in BG independent on whether they were dead. All three will not appear in front of the palace upon leaving for the crusade in case they died in BG and with a true BeenInParty() check. They will also not be there if case the player met them earlier in their starting areas but didn't take them into party if they were dead in BG1. All three will only appear in the camp(s) if they are not dead (!Dead() check). This means, if the player leaves BG without visiting the starting areas of Minsc, Dynaheir, and Safana, they will not appear in the campaign if they were in party in BG1 and died at some point. If the player visits the areas - even without taking the NPCs in party, or if they never joined in BG1 they will be available (even if they were dead). This is an inconsistency I am not sure is intended. My impression is that the devs wanted to do something smart with the "BD_npcname_DIED_IN_BG" variable but I am not sure they succeeded. Quote
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.