Jump to content

K4thos

Modders
  • Posts

    1,420
  • Joined

  • Last visited

Everything posted by K4thos

  1. In EET.tp2 change this code: OUTER_PATCH_SAVE USER_DIRECTORY_EET ~%USER_DIRECTORY%~ BEGIN REPLACE_TEXTUALLY ~Baldur's Gate II - Enhanced Edition~ ~Baldur's Gate - Enhanced Edition Trilogy~ END to this: OUTER_PATCH_SAVE USER_DIRECTORY_EET ~%USER_DIRECTORY%~ BEGIN REPLACE_TEXTUALLY ~"?Baldur's Gate II - Enhanced Edition"?~ ~Baldur's Gate - Enhanced Edition Trilogy~ //for both weidu 239.01 and 239.02 REPLACE_TEXTUALLY ~"?Baldur's Gate - Enhanced Edition Trilogy"?~ ~Baldur's Gate - Enhanced Edition Trilogy~ //in case you reinstall the mod on 239.02 END latest weidu beta indeed doesn't work with EET due to this bug although this workaround can be added in next release if weidu won't be fixed until than. -------- edit: also in EET/lib/EET_end.tph: OUTER_PATCH_SAVE USER_DIRECTORY ~%USER_DIRECTORY%~ BEGIN REPLACE_TEXTUALLY ~Baldur's Gate II - Enhanced Edition~ ~Baldur's Gate - Enhanced Edition Trilogy~ END to: OUTER_PATCH_SAVE USER_DIRECTORY ~%USER_DIRECTORY%~ BEGIN REPLACE_TEXTUALLY ~"?Baldur's Gate II - Enhanced Edition"?~ ~Baldur's Gate - Enhanced Edition Trilogy~ REPLACE_TEXTUALLY ~"?Baldur's Gate - Enhanced Edition Trilogy"?~ ~Baldur's Gate - Enhanced Edition Trilogy~ END
  2. Seems to be hardcoded stuff that no longer works after cleaning SPIN649 from EXE file (which was needed so that the spell is not automatically removed by engine). Fixed by applying 'Protection from Spell' effect when party is inside AR4500. It's vanilla BG2:EE bug: http://redmine.beamdog.com/issues/24428 The reason why you didn't get it by loading EET save in vanilla game is due to missing "TOBTEMP.bmp" file, so the vanilla engine thought you were in base game and BALDUR.BCS was in use instead of BALDUR25.BCS as it should in ToB One of priests turned into Aec'letec at the beginning of the battle because you have already killed a creature with "TANAR" DV somewhere down the line (all Tanar'ri seems to have this exact same DV in BG2). Will be fixed in next version by using SetGlobal("SPRITE_IS_DEADTANAR","GLOBAL",0) in the code that spawns Aec'letec, so it won't matter if you killed more creatures of his type before. Alternatively I could change his DV but than we would risk compatibility issues with mods like SCS so I think it's not worth it. Anyway hilarious bug: 1 is not really a problem but 2 of them managed to annihilate your whole bg2 party when I was testing it I will take a look. Hopefully it's not hardcoded. hmm, not even BG2 Fixpack fixed those polygons in all these years. Nah, better just report it on Redmine and hope for the best http://redmine.beamdog.com/projects/bgii-ee-bugs/issues?set_filter=1&tracker_id=11 the change to make them still active after going to ToB is ready for next release. ---- Thanks for all new report, GrimLefourbe. I will add you to credit section of the readme file as beta tester.
  3. Sounds bad to be honest. There are probably just a few duplicated items in whole game and they are all from SoD (and maybe some earlier Beamdog's stuff with OH prefix). Changing this stuff is a matter of adding a single row to appropriate dictionary filename array that is used during EET installation. 0 problems with mods considering we still leave all files within game resources and these are just generic items anyway rather than quest related ones (also keep in mind that all mods installed on BG:EE are treated like vanilla resources so are automatically handled too). Actually I'm not quite sure what such tweak you've proposed is meant to do?
  4. SW1H05S description : I'd suggest taking the first description for all long swords +1. Is this EET made? It doesn't use the _ affixe so i'd guess not but then who would made 2 different identical items for a single game? Edit : Also just got a ring of fire resistance that has a very short description compared to the one I had already. It looks like the Beamdog made generic weapons have very short descriptions compared to the originals and aren't always merged. Still a guess, i'll keep track of other similar cases(though I won't catch them all). Edit 2: Well, another! The ring of Free Action bought in SoD isn't the same as the one looted at the Iron Throne HQ... I'd be curious as to why Beamdog did that... It would be great to handle this stuff before final 1.0 release. I've started looking at items added by SoD (starting with BD prefix) and there are indeed some duplications of items. 2 examples: (on left side SoD name and on right side BG2:EE) BDAROW04 => AROW15 //Arrow +3 BDSW1H13 => SW1H09 //Short Sword +2 these are exactly the same items so we could just set EET to use BG2:EE item names instead during importation, so the items could stack with each other. In such case SoD items would still exist within game resources but wouldn't be used in the game (unless some mod installed after EET adds references to them). This is a little tricky because there are also some items that looks similar but I think should be kept as they are: BDAMUL24 => AMUL14 //Amulet of Protection +1 - the one in SoD uses generic description rather than unique lore used in BG:EE/BG2:EE, so even if it works and looks the same it can be considered a different item. On the other hand unique lore for this item doesn't make much sense considering how often it can be found in game. In such case maybe it would be better idea to use SoD generic description on AMUL14? Or maybe mods are responsible for so many instances of this amulet? (if this is the case than it's not really a problem) BDAROW03 => AROW08 //Flaming Arrow - SoD version adds 1d4 fire damage more compared to Arrow of Fire, so these are not identical items at all SW1H05S => SW1H05 //S version has 'Silver Weapon' flag set (to be honest no idea what it changes in game - more damage against lycanthropes perhaps?), so these are not the same weapons, even if both use generic description -------- The problem is that this is time consuming task. If someone would be interested in helping with it I can explain how to do it in Near Infinity. Such help would be really appreciated because this way I could spend the time on more demanding tasks instead.
  5. Thanks for all new reports! Same. Also the chapter screen is missing. It does exactly what is currently in ar5500.bcs fixed by renaming SoD CHPTXT9 to CHPTXT9_ (standard EET naming convention for conflicting resources) will take a look when I start updating EET_Tweaks thanks! Fix ready for next release - GUI auto biography feature now supports multi-class characters and HLA screen in SoD GUI is now available in SoD style. No update pack for those with RC4 + all intermediate patches (understandable when looking at contents of RC5) Does it still make sense to report issues on RC4 + PidFix + Hotfix + some local fixes for NPC spawning issues (given that the issue is not on the RC5 list) or is it better to do a new install? Creating patch that fixes all of these would be very time consuming. Also save games are affected by some of this stuff. But if you have all previous hotfixes installed than it still make sense to report things not listed in the changelog. As for the NPC spawning issues - all previously reported stuff have been fixed in RC5. Of course new installation would be better but that's just too damn time consuming to make new installation every few days, so probably not worth it. this one will be greatly improved at some point to take into account DisplayStringWait action that is heavely used by Beamdog content (I will run each referenced WAV file with a tool that analyses the length of track and than add exactly as many SmallWait() ticks needed to not abort sounds triggered by this action). This is why the current tweak is not effective in SoD and other Beamdog's cutscenes. Although you can keep it installed for now since it will help with many vanilla BG2 cutscenes. That's not necessarily the case. DSW() waits for the sound to finish playing (it's supposed to, anyway), then proceeds to the next action. So I'd expect no difference between various FPS settings or languages when it's used. The problem would arise when cutscene does not use DSW(). That would be awasome but it seems to work differently for me. Let's take a look at CH1CUT01.BCS (Gorion cutscene) IF True() THEN RESPONSE #100 CutSceneId("Gorion") ... DisplayStringWait(Myself,31483) // Listen carefully! If we ever become separated, it is imperative that you make your way to the Friendly Arm Inn. DisplayStringWait(Myself,31484) // There, you will meet Khalid and Jaheira. They have long been my friends, and you can trust them. END IF True() THEN RESPONSE #100 CutSceneId(Player1) ... ENDthis part indeed waits for the voice to be finished before going to next action: DisplayStringWait(Myself,31483) // Listen carefully! If we ever become separated, it is imperative that you make your way to the Friendly Arm Inn.but next line: DisplayStringWait(Myself,31484) // There, you will meet Khalid and Jaheira. They have long been my friends, and you can trust them.doesn't wait for anything at all (I've also tried adding some action right after it - doesn't change anything). On 60 FPS whole next script block is finished while the sound is still playing, so it doesn't wait before moving to the next action / script loop. In this case sound is aborted somewhere in the middle. Due to this I thought that the command only works as intended on 30 FPS and on 60 FPS would need additional SmallWait lasting as long as the track, but after checking this cutscene I'm no longer sure what's up. Should it be reported to Beamdog or does it work as intended? Unfortunately, it does work as expected... When there're multiple CutSceneID() objects in the script, they run their local action queue simultaneously and independently of each other. So, while Gorion would wait for the audio to finish playing, Player1 is not bound by such obligations and proceeds straight to the next area. It could be alleviated by moving the area transition to the dedicated script file (transitions should only be done by Player1) and start it from Gorion's block, but, yeah, that involves more substantial re-structuring than a couple REPLACE_TEXTUALLY. Especially given it also includes skippable mode. PS to be honest, I don't know what can possibly be done to resolve the issue gracefully. For simple cutscenes it's possible with DSW() or additional Wait()s, but stuff like SoD's final battle intro is just too complex. We'd have to split it from string till next string, and even that would still mess up the synch in between, in some scenes (like in the hell bridge scene just before the tower). Even the looping sequence like in BDCUT11/BDCUT11A wouldn't solve it. thanks for explanation. This means that the Tweak for FPS adjusting won't help with Beamdog's created cutscenes unfortunately. But it is still useful for vanilla content. also fixed
  6. this one will be greatly improved at some point to take into account DisplayStringWait action that is heavely used by Beamdog content (I will run each referenced WAV file with a tool that analyses the length of track and than add exactly as many SmallWait() ticks needed to not abort sounds triggered by this action). This is why the current tweak is not effective in SoD and other Beamdog's cutscenes. Although you can keep it installed for now since it will help with many vanilla BG2 cutscenes. That's not necessarily the case. DSW() waits for the sound to finish playing (it's supposed to, anyway), then proceeds to the next action. So I'd expect no difference between various FPS settings or languages when it's used. The problem would arise when cutscene does not use DSW(). That would be awasome but it seems to work differently for me. Let's take a look at CH1CUT01.BCS (Gorion cutscene) IF True() THEN RESPONSE #100 CutSceneId("Gorion") SetGlobal("TalkedToGorion","GLOBAL",1) CreateCreature("POGHMA5",[4260.2424],SW) // Priest of Oghma SetAreaScript("cutskip1",OVERRIDE) SetGlobal("BD_CUTSCENE_BREAKABLE","GLOBAL",1) SetCutSceneBreakable(TRUE) MoveToPoint([2745.1816]) JumpToPoint([3941.2456]) MoveToPoint([4202.2495]) Face(N) DisplayStringWait(Myself,31483) // Listen carefully! If we ever become separated, it is imperative that you make your way to the Friendly Arm Inn. DisplayStringWait(Myself,31484) // There, you will meet Khalid and Jaheira. They have long been my friends, and you can trust them. END IF True() THEN RESPONSE #100 CutSceneId(Player1) Wait(1) MoveViewPoint([4250.2440],INSTANT) JumpToPoint([3879.2431]) MoveToPoint([4206.2446]) Face(S) Wait(12) ActionOverride("POGHMA5",ForceSpell(Player1,CLERIC_CURE_LIGHT_WOUNDS)) // SPPR103.SPL (Cure Light Wounds) Wait(4) ActionOverride("POGHMA5",MoveToPoint([4009.2435])) ActionOverride("GORION",MoveToPoint([4314.2510])) ActionOverride("GORION",DestroySelf()) ActionOverride("POGHMA5",DestroySelf()) MoveToPoint([4314.2510]) SetCutSceneBreakable(FALSE) SetGlobal("BD_CUTSCENE_BREAKABLE","GLOBAL",0) SetAreaScript("",OVERRIDE) FadeToColor([20.0],0) Wait(1) ClearAllActions() DayNight(MIDNIGHT) LeaveAreaLUAPanic("AR2700","TRGORION",[2350.1523],E) LeaveAreaLUA("AR2700","TRGORION",[2350.1523],E) ActionOverride(Player2,LeaveAreaLUA("AR2700","TRGORION",[3522.3712],E)) ActionOverride(Player3,LeaveAreaLUA("AR2700","TRGORION",[3522.3712],E)) ActionOverride(Player4,LeaveAreaLUA("AR2700","TRGORION",[3522.3712],E)) ActionOverride(Player5,LeaveAreaLUA("AR2700","TRGORION",[3522.3712],E)) ActionOverride(Player6,LeaveAreaLUA("AR2700","TRGORION",[3522.3712],E)) Weather(RAIN) MultiPlayerSync() CreateCreature("GORION",[2597.1458],S) // Gorion MultiPlayerSync() FadeFromColor([20.0],0) StartCutScene("Ch1cut02") END this part indeed waits for the voice to be finished before going to next action: DisplayStringWait(Myself,31483) // Listen carefully! If we ever become separated, it is imperative that you make your way to the Friendly Arm Inn. but next line: DisplayStringWait(Myself,31484) // There, you will meet Khalid and Jaheira. They have long been my friends, and you can trust them. doesn't wait for anything at all (I've also tried adding some action right after it - doesn't change anything). On 60 FPS whole next script block is finished while the sound is still playing, so it doesn't wait before moving to the next action / script loop. In this case sound is aborted somewhere in the middle. Due to this I thought that the command only works as intended on 30 FPS and on 60 FPS would need additional SmallWait lasting as long as the track, but after checking this cutscene I'm no longer sure what's up. Should it be reported to Beamdog or does it work as intended?
  7. New RC up on GitHub. Thanks to all of the awesome feedback from you guys the mod should feel much more polished now. Version 1.0 Release Candidate 5 - Fixed MAJOR regression regarding NPC SoA continuity system caused by engine changes in patch 2.x - Fixed problem with not working NPC Override scripts after SoD->SoA transition (damn DisableAI command, wasted too much time before finding the obvious cause) - Fixed random tables item quirks (mod now uses old 2da files and the same names as BGT) - Added new function that can be used by modders to easily patch BG1 random tables dummy item names. Supported platforms: BG1, BG:EE, Tutu, BGT, EET - Fixed water layers via argent77's code (this time for sure) - Day/Night movies no longer shows up in interiors - Kicked NPCs won't try to initiate post dialogue after spawned again - Fixed regression in EET_modConverter 'Chapter_patcher.tph', also added support for commands written with whitespace between commas - Fixed support for 'Story mode' (needs testing) - Fixed vanilla BG:EE bug - duplicating Rasaad GAM entries - Fixed problem with spawning Rasaad too early in Trademeet - Changed vanilla code that for whatever reason sets Aerie's BeenInParty flag even if she wasn't in party at all - Implemented auto biography GUI feature depending on the chosen campaign (workaround for the vanilla system that doesn't work when engine_mode = 1) - SoD GUI now supports High Level Abilities selection - added scrollbar to SoD GUI kits selection menu - Removed SCRL1V importation - Dimension Door scroll no longer exists in vanilla BG:EE. EET now copies version of this file from patch 1.3 to Override in case some mods still use it - Updated 'EET_functions.tph' - also included in updated BG2:EE NPC compatibility patches (no other changes in those patches) - Resolved compatibility problem with mods that use Player initiated dialogues system - Resolved compatibility issue with Margarita NPC - please re-install setup-EET_end finalise component if you have it installed - All vanilla BG1 and BG2 areas added to console menu (if there is a reference for BG:EE and BG2:EE areas than let me know) - Added XP adjustment after spawning NPC in ToB - Thieves Guild time limit disabled when you return to old areas - EET no longer uses HANDLE_CHARSETS - all TRA files have been converted to UTF-8 without boom to solve the issue with M_EET.LUA file (if the game crashed on you with non-English language than this will fix it). Known problems: - Fate Spirit in ToB don't acknowledge Dynaheir, Khalid and Yoshimo death if they have not been really killed during game. The dialogue checks for STATE_REALLY_DEAD - what is the best way to give them this state? The easiest way would be using Kill("DV") but this action triggers the death scream even if they are outside party in completely different area... - auto biography GUI feature doesn't work with multi-class characters yet - HLA menu in SoD GUI uses BG2:EE GUI art. As far as I know SoD variant of the art doesn't exist. Looking for help regarding this task - and yeah, those SoD links still didn't make it. Soon...
  8. you didn't install the patch that replaces BP-BGT Worldmap BAM file, right? Download it from GitHub and reinstall worldmap. than it's a matter of adding additional trigger: !AreaType(BG1AREA) Will be ready for next RC, thanks for report. Finally that additional flag added to all imported areas is useful for something
  9. what is the time limit for thieves guild? Is there similar functionality in other strongholds? Didn't think about that. btw. since you're already in SoA - do not go back to SoD areas. As mentioned in this post they are not ready yet for returning parties and I've just noticed that one of the links still connects them with rest of the world. Once you travel there you won't be able to go back. This will be fixed soon.
  10. I think it must be considered for EET. @k4thos - suggest to add condition Global("OHRCUT01","AR2000",1) to the two blocks in ar2000.bcs that spawn Rasaad Thanks for report and investigation. The problem was with missing: !InMyArea("RASAAD") !InPartyAllowDead("RASAAD") in a block I've added to move the creature (original blocks that spawns new CRE file had this to prevent him from spawning to early). Didn't notice the problem myself since I've approached him from different direction when testing it and the proximity trigger is in sothern part of the map. Fixed for RC5.
  11. there is: CopyGroundPilesTo("BD0120",[949.1686]) code in BDSODTRN.BCS that triggers SoD expansion. It moves what lays on the floor to that area, so it makes sense that his sword ends up in BD0120.ARE after transition. Is it possible to pick up item from the ground via script? If no than I think that "Put Sword of Chaos +2 in Sarevok's inventory" tweak can't be implemented properly (unless we add it to Charname inventory which is accessable by scripts). But it's usless anyway since we need to get it back a second later due to plot reasons. the same would happen in vanilla game if you install that tweak. It will be removed from EET_Tweaks.
  12. this one will be greatly improved at some point to take into account DisplayStringWait action that is heavely used by Beamdog content (I will run each referenced WAV file with a tool that analyses the length of track and than add exactly as many SmallWait() ticks needed to not abort sounds triggered by this action). This is why the current tweak is not effective in SoD and other Beamdog's cutscenes. Although you can keep it installed for now since it will help with many vanilla BG2 cutscenes. as you can see this one doesn't work at all with patch 2.x GUI system. I've tried to port it into LUA but without success. needs updating with SoD added CRE files. Although no problem in keeping the current version usless considering the party is moved automatically to SoD after killing Sarevok. uninstall there were some changes in this implementation so not sure if this tweak still works. Did you try it? others from your list are probably ok.
  13. I can check it out but where is the save that you've mentioned?
  14. EET_Tweaks that currently hangs on GitHub is not fully compatible with EET 1.0 RC (I'm actually thinking about taking it down until update for that mod is ready). Those shaterring components uses entirely different system than the new implementation (made possible by patch 2.x), so it can cause problems if you installed it. I'd suggest uninstalling these components for now.
  15. Iron Crisis has been removed from 1.0 releases for non-weapon items (it has been moved to unreleased new version of EET_Tweaks), so it's unliekly to be caused by EET. Maybe some other mod? The easiest way would be chcecking the item name in Near Infinity and than analyse that item. I will take a look if you send me that ITM file. mr2150, thanks for contribution. Both changes will be part of RC5.
  16. Sounds like RNDTRES.2DA quirks, indeed. RC5 release (which is almost ready) shouldn't have this problem. thanks for report, will be fixed in next version. If it won't be fixed in the 2.4 patch than I will try to fix it locally.
  17. fixed and fixed Thanks for both reports. I see that Roxanne already told you what to do in console and scripts (so no need to send your latest save) but you should still install the patch attached to this post because it will fix the same problems with other NPCs too. Before using it consider uninstalling patch attached to this post because new one fixes those problems too without disabling the feature for mods. hotFix.rar
  18. that's expected, you need to wait for fix to make it work again. Send me latest save once you finish playing. When the fix is ready I will upload both save and hotfix. It will take few hours since I have work to do before I'm able to sit on it.
  19. intersting, I've just tested it and unless I'm not mistaken it seems to work differently now compared to how it worked in patch 1.3. Now when you use MoveGlobal and start procedding additional actions at the same script block for some reason NPC Override script is able to kick in and run at least once before rest of the area script block proceeds. It's a major EET bug and regression compared to beta releases but easy to fix. A matter of changing: MoveGlobal("AR1000","Viconia",[1821.1081]) //some other actions ActionOverride("Viconia",ChangeAIScript("VICONIA",OVERRIDE)) to ActionOverride("Viconia",ChangeAIScript("VICONIA",OVERRIDE)) //NPC don't have to be in current area to make this work MoveGlobal("AR1000","Viconia",[1821.1081]) //some other actions Same happended for Dorn to you and will probably happen for other transition NPCs. I will write a hotfix for this problem later today and upload it here. Thanks for report. edit: don't play any further - your save needs to be cleaned for area spawn variables that already have been set for Viconia and Dorn.
  20. thanks. Good that you've included the ARE script - I didn't even need to open your saves in NI. IF Global("RASAAD_SPAWN_STOP","GLOBAL",0) Global("RASAAD_1ST_SPAWN","BG4800",0) !Dead("RASAAD") // ~Rasaad~ !InPartyAllowDead("RASAAD") // ~Rasaad~ XPLT(Player1,1500) THEN RESPONSE #100 CreateCreature("RASAAD",[1100.782],SSE) // ~Rasaad~ ActionOverride("RASAAD",MakeGlobal()) ActionOverride("RASAAD",ChangeAIScript("RASAADX",DEFAULT)) SetGlobal("RASAAD_1ST_SPAWN","BG4800",1) END IF !Global("RASAADFIGHT","BG4800",1) Global("RASAAD_SPAWN_STOP","GLOBAL",0) Global("RASAAD_2ND_SPAWN","BG4800",0) !Dead("RASAAD") // ~Rasaad~ !InPartyAllowDead("RASAAD") // ~Rasaad~ XPGT(Player1,1499) XPLT(Player1,6050) THEN RESPONSE #100 ActionOverride("RASAAD",DestroySelf()) SmallWait(2) CreateCreature("RASAAD",[1100.782],SSE) // ~Rasaad~ ActionOverride("RASAAD",MakeGlobal()) ActionOverride("RASAAD",ChangeAIScript("RASAADX",DEFAULT)) SetGlobal("RasaadTalkedTo","BG4800",1) SetGlobal("RASAAD_2ND_SPAWN","BG4800",1) END IF !Global("RASAADFIGHT","BG4800",1) Global("RASAAD_SPAWN_STOP","GLOBAL",0) Global("RASAAD_3RD_SPAWN","BG4800",0) !Dead("RASAAD") // ~Rasaad~ !InPartyAllowDead("RASAAD") // ~Rasaad~ XPGT(Player1,6049) XPLT(Player1,27550) THEN RESPONSE #100 ActionOverride("RASAAD",DestroySelf()) SmallWait(2) CreateCreature("RASAAD",[1100.782],SSE) // ~Rasaad~ ActionOverride("RASAAD",MakeGlobal()) ActionOverride("RASAAD",ChangeAIScript("RASAADX",DEFAULT)) SetGlobal("RasaadTalkedTo","BG4800",1) SetGlobal("RASAAD_3RD_SPAWN","BG4800",1) END IF !Global("RASAADFIGHT","BG4800",1) Global("RASAAD_SPAWN_STOP","GLOBAL",0) Global("RASAAD_4TH_SPAWN","BG4800",0) !Dead("RASAAD") // ~Rasaad~ !InPartyAllowDead("RASAAD") // ~Rasaad~ XPGT(Player1,27549) THEN RESPONSE #100 ActionOverride("RASAAD",DestroySelf()) SmallWait(2) CreateCreature("RASAAD",[1100.782],SSE) // ~Rasaad~ ActionOverride("RASAAD",MakeGlobal()) ActionOverride("RASAAD",ChangeAIScript("RASAADX",DEFAULT)) SetGlobal("RasaadTalkedTo","BG4800",1) SetGlobal("RASAAD_4TH_SPAWN","BG4800",1) END It's the same problem as the one that caused bugs in vanilla BG:EE+SoD for Dorn and Neera but this time multiplied 4 times His cre file that is made GLOBAL at first spawn is respawned each time the party reaches higher XP (unless you got him into party which sets RASAAD_SPAWN_STOP to 1). And each time with another MakeGlobal() instead of MakeGlobalOverride() that would prevent GAM duplication. I get what they wanted to achieve here but all of this is usless in patch 2.x considering all vanilla NPCs now have Override script code that automatically adjusts the XP (looks like a leftover from earlier patches although someone from Beamdog already modified it after that considering all of these blocks reference one and the same CRE file which doesn't make sense). So yes, vanilla bug. This is another NPC that would also have problems with BeenInParty flags during SoD transition. (report mentioned in previous post). I will add fix for him to EET BG1 fixpack, thanks for report. edit: the reason why ActionOverride("RASAAD",DestroySelf()) doesn't work in this case is most likely caused by that first deleted Rasaad without area - the game runs DV actions on that GAM reference.
  21. There are 2 vanilla bugs similar to this (duplicated GAM entries, 1 of them without map) caused by weird Beamdog code mentioned in my last post of this report: http://redmine.beamdog.com/issues/22244 When there is more than 1 GAM entry per NPC than the game confuses them when you reference NPC via DV. Both problems were fixed by EET fixpack, although there may be simillar problem for Rasaad. RC4 (and hotfix too unless I've made a mistake there) also fixed a problem with NPCLEVEL equivalent files referenced in CAMPAIGN.2DA that would respawn new CRE file based on 2da entry from different campaign if that NPC never joined the party. Although that problem simply replaced existing character rather than duplicating it. None of these explains your problem though. Please upload all your Chapter Start saves - I will try to discover at which point of the story duplication occured (or at least at which point that entry without area happended which may be responsible for further problems). Also your latest save if you have it before entering Nashkel. Thanks in advance.
  22. This has nothing to do with the way SoD uses proximity triggers. In all EE and not EE games PIDs can be triggered by code like: ActionOverride("Viconia",StartDialogueNoSet(Player1)) from any script. And this shouldn't be the case if we are talking about "Player-Initiated Dialogues". use this code in command line to extract your dialogue file to d format: weidu.exe yourdialogue.dlg Now try to search for 'ObjectActionListEmpty(Myself)'. If I didn't make a mistake than the code should only change PID initial dialogues, nothing else. Dialogues with more triggers are skipped too. Your other IsGabber(Player1) instances should be unaltered by it. This fix will be included in RC5 finalise component to handle this automatically although I will limit the patching only to JOIN dialogue files mentioned in 2da files, so it will be impossible to patch a block that is not actually a PID.
  23. that would explain it. Never played with PID (Player-Initiated Dialogues) installed, so never encountered it. There is also nothing like this in vanilla game. But it makes sense considering the only trigger check in PID dialogues in BG1NPC Project is: IsGabber(Player1) Same would happen in vanilla game if any mod installed after BG1NPC Project would append a new dialogue to VICONJ.DLG file because PID would be earlier and would trigger without our intention instead of that later dialogue. But there is a way to make PID dialogues compatible with mods installed later and EET that automatically merges join dialogue files. This additional trigger should do the job: ObjectActionListEmpty(Myself) Once it's there PID won't be initiated when dialogue is triggered by script for example via: ActionOverride("Viconia",StartDialogueNoSet(Player1)) And you will be still able to initiate dialogue manually with her, so nothing really is changed. Please install mod attached to this message and let me know if it fixes the problem. It should update every single PID dialogue in your game. fixPID.rar
  24. Unless I am completely mistaken, this should be compatible with EET as it is. I installed it sucessfully. Sheena is not even compatible with BG2:EE: - it doesn't use HANDLE_CHARSETS but have French and Spanish language files encoded in ANSI - this means the mod will crush the game if you install those languages - it doesn't use ADD_JOURNAL (although not even weidu supports patch 2.x journal yet but still) - it overwrites mno1 animation instead of using EE new animation system, which means some creatures will use wrong animation (while BG2:EE probably doesn't use it in vanilla state, mno1 is used by SoD, so if you install it on EET some crusaders will have incorrect animation) As for the EET 'EET_modConverter' tool prints following changes needed to make it compatible: Patching Sheena/Dialogues/k#bsheen.D: GlobalLT("Chapter","GLOBAL",4) => GlobalLT("Chapter","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/k#bsheen.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/k#sheen.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Dialogues/K#sheenj.D: GlobalLT("CHAPTER","GLOBAL",4) => GlobalLT("CHAPTER","GLOBAL",%bg2_chapter_4%) Patching Sheena/Scripts/K#Sheena.baf: Global("CHAPTER","GLOBAL",6) => Global("CHAPTER","GLOBAL",%bg2_chapter_6%) Patching setup-Sheena.TP2: ALWAYS command expanded ALWAYS ACTION_IF (GAME_IS ~eet~) BEGIN OUTER_SET bg2_chapter = 12 END ELSE BEGIN OUTER_SET bg2_chapter = 0 END OUTER_FOR (i=1; i<=10; i=i+1) BEGIN OUTER_SET bg2_chapter = bg2_chapter + 1 OUTER_SPRINT name_source ~bg2_chapter_%i%~ OUTER_SET EVAL ~%name_source%~ = bg2_chapter END It would also need following changes to support EET continuity system (take a look at any of the available compatibility patches and you will see exactly the same steps for each BG2 NPC as below ones): 1. Add EVALUATE_BUFFER in tp2 file when COMPILE is used on k#bsheen.D, k#sheen.D, K#sheenj.D, K#Sheena.baf 2. Get rid of FATESP.DLG code when GAME_IS ~eet~ 3. Add EET_functions.tph to mod folder 4. Use EET_NPC_TRANSITION function from above mentioned file the same way as other BG2:EE NPC mods that have compatibility patches available. So no, it's not compatible as it is.
×
×
  • Create New...