Jump to content


  • Posts

  • Joined

Everything posted by argent77

  1. The FOG_TYPE variable is hardcoded to select a custom fog definition for an area. However, it has been implemented in a buggy way. See this comment for more details: The SoD base game uses FOG_TYPE in several instances. Since it's already used pretty early in the main plot it overrides many other fog definitions which will therefore not function as intended anymore. Usage: Coast Way Crossing (BD1000): FOG_TYPE is set by the cutscene that is executed when the bridge is destroyed by Caelar's troups to simulate smoke. This map also has a 20% chance to generate generic fog before the bridge event happens. Removing FOG_TYPE would result in losing this generic fog completely. Ambush area (BD6100): FOG_TYPE is set to enable the mist effect when the party is ambushed by the Shadow Thieves at the end of SoD when you flee from Baldur's Gate. Removing FOG_TYPE should not have any side effects. Would a fix like this be suitable for EEFP?
  2. I can't check this repo out on Windows either. It was most likely introduced by @CamDawg's commit 32b38cf. It looks like the commit you mentioned tried to fix this issue but didn't fully succeed. From what I get from this Stack Overflow answer if the content of a fake-symlink file is changed without changing its mode from "symlink" back to "regular file" it is made as a blob that can't be extracted on an OS with real symlinks. The SO answer also provides some clues how to fix it.
  3. There is another bug in the implementation of the fog feature. The tables FOGAREA.2DA and FOGPT.2DA are responsible for defining visual characteristics and dynamics of the fog by using area resrefs or numeric indices as labels. Entries defined by area resrefs are automatically used by the respective area if fog probability is non-zero or fog is forced by script. However, the game also provides a hardcoded global variable "FOG_TYPE" which can be used to override fog definitions with entries that are labeled by numeric indices. The problem is that there is no way to reset this variable for the rest of the game once this variable is set. Even setting it to 0 or another invalid index doesn't work. Bubb confirmed that the code (erroneously) checks only for the existence of the variable to enable this override. SoD uses this override feature very early in the plot - in Coast Way Crossing to simulate smoke after the bridge is destroyed by a scripted event. Every map afterwards that uses fog will therefore use incorrect fog definitions. This bug affects mods but also vanilla areas in SoD.
  4. Ironically Roxanne's mod manager is called "EE Mod Setup" (without T), but that didn't stop people confusing it with EET.
  5. When does one see such error messages? In the Terminal when installing? Game startup? In a crash log after quitting the game? These messages should be visible if you run the game from the terminal/console (or if you redirect error output to a file). Sometimes they are also shown in a small error dialog. Some of the lua files are definitely added by mods, probably some very specific chinese mods (e.g. the only instance of M_HEITI.lua I could find is in this forum post).
  6. They look like Lua syntax errors. This one even seems to have a typo in the variable name (fountcolors -> fontcolors).
  7. [BG2] Neera's comment when arriving in the Underdark is inappropriate if you take the route through the Sahuagin City This is Neera's line when she comments the party's arrival in the Underdark: This is out of character even for Neera (and rather immersion-breaking) if the party chose to go with Saemon Havarian instead of using the portal in Spellhold.
  8. Soul Eater also exists in IWDEE (SPWI631.SPL). It basically uses op326 with target GENERAL>DEAD to apply a subspell.
  9. This is a function that simplifies the process of adding new areas to the area list of the debug console. It is a generalized version of the function that I'm using in some of my own mods which install new areas (e.g. "Test Your Mettle!" or "Trials of the Luremaster). WeiDU function: Example code: // Example areas ACTION_DEFINE_ASSOCIATIVE_ARRAY my_areas_lua BEGIN // ARE resref => Area name "XR1000" => "My first outdoor area" "XR1001" => "First indoor area" "XR1002" => "Second indoor area" "XR2000" => "My second outdoor area" END // Adding areas to selected BGEE campaigns LAF ADD_AREAS_LUA INT_VAR bg1 = 1 // add to BG1 main campaign sod = 1 // add to SoD expansion tut = 1 // add to BG1 tutorial section STR_VAR comment = "Areas from my own mod" // an optional comment map_array = "my_areas_lua" // name of the associative array that has been defined above END
  10. WTASIGHT.BCS is a vanilla script file and can therefore be subject to all kinds of patching by combat enhancement mods. But even without patching the Attack() instance in that script can prevent other script blocks from triggering. I'd suggest to assign your own custom attack script and use only attack actions that are automatically reevaluated after a set amount of time (e.g. AttackOneRound() or AttackReevaluate()).
  11. How about Enhanced Edition Campaign Manager ?
  12. I was able to reproduce this error by manually adding the entry "2 ALLIES" to SPECIFIC.IDS in BG2EE, so you can avoid this issue locally by installing EET on a clean BG2EE game. Fixing it in EET itself is probably more complicated. The relevant code portion seems to be generated dynamically during the EET core installation. The whole "code generation" part looks a bit too messy to me to mess with it.
  13. These files are identical with the files from the Beamdog and Steam version. The only hint I could find in the EET code is an array with replacement strings, which also includes a "CULTIST => ALLIES" entry. Since there is an ALLIES_NEUTRAL entry in SPECIFIC.IDS (and that very entry is used by BDNOREST.BCS) it is possible that a bad replacement operation changes ALLIES_NEUTRAL into CULTIST_NEUTRAL under certain conditions and causes the compiler error afterwards. But that's only a guess for now.
  14. I don't have the GOG version of the games. Maybe it differs somewhat from Beamdog and Steam version. Could you inspect SPECIFIC.IDS whether it contains a CULTIST_NEUTRAL entry in BGEE and/or BG2EE?
  15. This error seems to come up occasionally (e.g. here or there). I've seen it mentioned several times on Discord as well. Unfortunately nobody made the effort yet to identify the cause and just tried with a clean BGEE installation instead. The SPECIFIC.IDS value "CULTIST_NEUTRAL" does not exist in the base game (BGEE or BG2EE), so it's most likely some kind of conflict with another mod.
  16. [BG1] Kiel's Helmet (HELM14.ITM) should not apply a permanent morale bonus whenever the helmet is (re-)equipped Opcode 23 (Morale bonus) is applied with timing mode 1 (instant/permanent until death) instead of timing mode 2 (instant/while equipped).
  17. You can create your own compatibility matrix for HANDLE_CHARSETS. I did the same for PST-UB to support Brazilian Portuguese translation: https://github.com/Argent77/PST-UB-reloaded/blob/devel/PST-UB-reloaded/PST-UB-reloaded.tp2#L26-L51
  18. Component "Make Khalid a Fighter-Mage [Domi]": Khalid's creature file "khalid7.cre" is installed without valid name and tooltip strings. A comparison with the original CRE file in SoD also revealed different values in the global and local identifier fields (offsets 0x27c and 0x27e), but I don't know whether that is just a cosmetic issue.
  19. Script commands can't be added to the "effect_codes" parameter directly. That would require a different (and more advanced) implementation of the function. You could resolve the SPLSTATE value separately though and then use it in the function parameter. SET splstate_value = IDS_OF_SYMBOL ("splstate" "CHARM_IMMUNITY") LPF a7_auto_apply_spl_effect INT_VAR def_target = 1 def_timing = 2 STR_VAR function_name = "ADD_ITEM_EQEFFECT" effect_codes = EVAL "op=328,p2=%splstate_value%,spec=1" END
  20. Afaik Polymorph() only changes appearance. To completely replace the creature you could probably use opcode 151.
  21. That's probably 252 CreateCreatureObjectOffset(S:ResRef*,O:Object*,P:Offset*) But I don't know if it can be used to place a creature "on top" of another creature.
  22. This is the "fallen" variant of the Paladin kit A7_BOWKNIGHT from Improved Archer Kit. I can't say why this message is triggered by ToF. My guess is that is has something to do with a failed pattern matching, so maybe @DavidW knows more?
  23. CreateCreatureObject() always spawns the creature next to the target creature. The three numeric parameters don't have any special meaning (except for the first one which defines the orientation). Polymorph() or PolymorphCopy() could work, however. You could apply a spell that performs the transformation with an execution delay of 30 seconds. It has the advantage that it can't be blocked by status changes or busy scripts. The werewolf transformation of the "fighters" in the Windspear Hills area does something like this. The spell for their transformation is SPWI948.SPL.
  24. A side effect of fixing glitches in multi-part creature animations is that their health bar location is placed at an unusually high offset (see screenshot below). This issue can also be fixed by adding an explicit "height_offset" definition to their animation definitions.
  • Create New...