Jump to content

argent77

Modders
  • Posts

    1,597
  • Joined

Everything posted by argent77

  1. Another screenshot from the same area can be found here:
  2. Exploding chain reactions don't work in the original scripting and therefore shouldn't work in an effect-based version either. It was just a funny quirk that I enjoyed during testing.
  3. I agree. HitBy() can trigger a nice chain reaction though, if several Blast Skeletons are within range.
  4. Blast Skeletons can be encountered on the third level of Dragon's Eye and in the TotLM Watchknight Tomb. They are supposed to self-destruct when taking damage. However, the scripting can be easily disrupted by status changes like Hold Undead, or delayed by keeping the creature busy with physical attacks. Apparently the developers were aware of this shortcoming and gave them an illegal amount of 200 HP. While fixing the latter issue is probably outside the scope of the fixpack, I'd propose to change the scripted self-destruct sequence to an op232 effect (condition: either TookDamage or HitBy). That way the creature will self-destruct reliably on hit (or damage). The only way to avoid the damage would then be by using ranged attacks or destroying the creature via Turn Undead or spells with similar effects.
  5. I'd rather have an expiration sound for single target invisibility spells as well. But changes like this are probably outside the scope of a fixpack.
  6. I don't think that the expiration sound effect should be removed. Depending on your playing style you may have party members who don't want to reveal themselves under any circumstances (thieves, clerics, etc.). In those cases it is helpful to hear a sound effect when invisibility expires, so you can apply it anew. However, the current version of the spell stacks with itself. If you cast it repeatedly then you'll hear the expiration sound effect for each individual casting of the spell. I'd suggest to add a "Remove effects by resource" opcode to the spell to remove delayed sound effects whenever the spell is recast within the spell duration.
  7. I agree that they should be immune to petrification. It's probably a copy-paste error from the IWD Water Elementals, which aren't directly immune to petrification either. However, IWD spells contain checks for various creature types which also cover elementals. This is not the case in BG(2). I was able to petrify the water elementals with a high-level Chromatic Orb.
  8. You could try the following option: SPL: Special ability "Auto-Backstab once" (target "Caster/Self") - Add "Immunity to resource and message" (op324) - with creature type "If NOT Invisible or Improved Invisible" (entry 143 in BG2EE) - with resource set to this resource - Note: This will only check visibility state when the special ability is cast. - Add "backstab every hit" (op303) - Add "Melee hit effect" (op248) - set resource to EFF "Ability removal" - (optionally) Add "Ranged hit effect" (op249) - set resource to EFF "Ability removal" EFF: "Ability removal" (target "Self") - Set "Cast spell" (op146) - set resource to SPL "Ability removal" SPL: "Ability removal" (target "Caster/Self") - Add "Remove effects by resource" (op321) - set resource to SPL "Auto-Backstab once" ability The "hit effect" opcodes and "Ability removal" spells ensure that you can only auto-backstab the target once while the ability is active.
  9. Sounds even better if it catches all the remaining cases. These zombies use the "Die()" trigger. This trigger is valid only for a single script round and should therefore count correctly (provided there is no way to prevent the script from running.) Edit: Looks like I spoke too soon. Apparently they may (theoretically) count twice if they die a stoned/frozen death. But zombies are immune to cold damage and petrification, so in this case it should be fine.
  10. Based on the report in this thread I did a more thorough search in BGEE/SoD and found several more instances where specific death states can screw up the scripting. [BG1] OGRES.BCS (Sarhedra's mini-quest to kill two Ogres) Result: Sarhedra doesn't acknowledge that you defeated the ogres; quest cannot be completed (SARHED.DLG). [BG1] GNOLLDR.BCS (Help Drizzt to defeat a couple of Gnolls) Result: Drizzt does not respond when you try to talk to him after all gnolls have been defeated (DRIZZT.DLG). [BG1] NEGOBLIN.BCS (Neera's personal quest) Result: The ranger Magreb doesn't recogize that you've killed all the goblins (NEMAGREB.DLG). [BG1] DOPALD.BCS (Help Aldeth Sashenstar to kill all doppelgangers in the Merchants' League estate) Result: Aldeth thanks you prematurely for killing all doppelgangers (ALDETH.DLG). Other dialogs may be affected as well (e.g. Brandilar or Scar). [SoD] BDFFDOP1.BCS (Doppelganger found in the Iron Throne Basement after helping "him" out in the castle basement) Result: Continuously creates inventory items on the ground (lots of valuable stuff). [SoD] BDHELP.BCS (Underground River Entrance area: Animals summoned by druids help you to attack the Crusader Encampment) Result: An endless stream of new animals are continuously summoned if you petrify or freeze one of the animals. [SoD] BDWE1STR.BCS (Wizard trying to bind Water Elementals in the Underground River area) Result: Petrifying/freezing a water elemental summons the Nereid prematurely, and killing her, the wizard and the elementals doesn't trigger the "Completed Quest" journal entry. In all of these cases the culprit is "StateCheck(Myself,STATE_REALLY_DEAD)" where this trigger can be true while the script keeps running, e.g. for petrified or frozen deaths. The least intrusive way to fix it is probably by adding a guard variable to ensure that the block is executed only once. There are several instances in the game where this option is already implemented. Change this code: IF StateCheck(Myself,STATE_REALLY_DEAD) THEN RESPONSE #100 IncrementGlobal("xxx","GLOBAL",1) END to this: IF StateCheck(Myself,STATE_REALLY_DEAD) Global("dead","LOCALS",0) THEN RESPONSE #100 SetInterrupt(FALSE) SetGlobal("dead","LOCALS",1) IncrementGlobal("xxx","GLOBAL",1) SetInterrupt(TRUE) END
  11. WeiDU provides several commands for manipulating tables. This code example searches for the "SHADOWDANCER" line and changes the last column to another value. COPY_EXISTING ~clswpbon.2da~ ~override~ // Reads whole table into memory to speed up operation READ_2DA_ENTRIES_NOW clswpbon 1 // Actual data starts at row 3 FOR (row = 3; row < clswpbon; ++row) BEGIN // Reads class/kit label from column 0 for each row READ_2DA_ENTRY_FORMER clswpbon row 0 label // Match found? PATCH_IF (~%label%~ STR_EQ ~SHADOWDANCER~) BEGIN // Sets column 3 ("ZERO_SKILL_THAC0") to value 3 // Note: It's important to put updated values into a different variable! SET_2DA_ENTRY_LATER clswpbon_out row 3 3 // No need to continue the FOR-loop SET row = clswpbon END END // Write changes back to file SET_2DA_ENTRIES_NOW clswpbon_out 1 BUT_ONLY
  12. The script that is responsible for counting the Ogre deaths can be easily disrupted, e.g. by turning them to stone or causing freezing death, which causes the variable that counts their deaths to go up indefinitely. There are probably more conditions that can screw up their scripting. Moreover, Sarhedra's dialog conditions are very specific and won't work anymore if the counting goes wrong. Both parts would have to be updated to make the quest more foolproof.
  13. Near Infinity v2.4-20230714 Near Infinity is a resource browser and editor for Infinity Engine games, such as Baldur's Gate or Icewind Dale. It is written in Java and available for Windows, macOS and Linux. This release provides many visual improvements, such as icon preview for items and spells, portrait thumbnails in saved games, new visual elements in the area viewer, and more. Near Infinity is available as a platform-independent Java JAR file, Windows installer and macOS PKG installer, as well as a Flatpak application from Flathub for Linux. More information as well as a detailed Changelog can be found in the respective topics at Spellhold Studios, Beamdog Forums, and GitHub Discussions. Download: GitHub (Java JAR file, Windows and macOS installers) Flathub (Linux Flatpak archive)
  14. Anyone looking for mods hosted on Spellhold Studios could try their luck with the Wayback Machine: https://web.archive.org/ with the following Download URLs: (Source: Big World Setup archive) A good portion of the listed mods should be available that way.
  15. Try this link: https://web.archive.org/web/20170929002350/http://www.shsforums.net/files/download/984-haerdalis-romance/
  16. I have fixed some issues in NI's BAM Converter that adversely affected the conversion quality for graphics with alpha blending. You can download this version from the Nightly Releases section.
  17. It looks like color conversion of NI's BAM Converter is currently not very accurate when alpha-blended graphics is involved. With a bit of experimenting I came up with the following procedure that should produce acceptable results (using EE version of the BAM as source): Use "Mass Exporter" to batch export and convert all BAM-related PVRZ files to PNG (use "Resource Name Filter" to filter list of files to export). Use "Image to PVRZ" converter to convert PNG files back to PVRZ: Use compression type "DXT1" to get rid of alpha!!! Use "BAM Converter" to export the EE version of the BAM with the now alpha-less frames to BAM V1 format (don't forget to enable "Compress frame" checkbox for all frames).
  18. [iwdee/how] Final encounter with Wylfdene in the Barbarian Camp: Zoom and Area Map features don't work after Wylfdene's death and the Seer's final words You can control the party but Zoom feature and Area Map don't work correctly. Opening the area map on the Camp area (AR9200) only moves the viewport to the map center but does not scale the map. It can be fixed by saving and reloading. However, that can only be done after the battle with the hostile barbarians is won. In the meantime you cannot properly use zoom and area map features to coordinate your attacks. My guess is that one of the cutscenes is not properly cleared.
  19. Near Infinity is a resource browser and editor for Infinity Engine games, such as Baldur's Gate or Icewind Dale. It is written in Java and available for Windows, macOS and Linux. It is now possible to download development snapshots of Near Infinity with the latest features and bugfixes without having to wait for the next official release. Please note that these snapshots are not as thoroughly tested and may contain bugs. Download on GitHub: Development Snapshots Latest Stable Release
  20. It sounds like she is victim of the Imprisonment spell from the Demilich. Casting a Freedom spell in the area where she disappeared should cause her to reappear.
  21. [iwdee] Tarnelm's dialog (DTARNELM.DLG) should provide a non-evil option to end the conversation with him If you talk to Tarnelm in the oubliette after giving him food and taking care of Maiden Ilmadia, and ask him about that place all you can do is tell him that you like Marketh's style. This is strangely out of place for anyone except evil or sadistic characters, especially after showing kindness by bringing him food. There should be a second option to end the conversation with a more neutral reply. One of the other available responses to end the conversation could be reused for this.
  22. [iwdee] Rhinoceros Beetles: Health bar is positioned to high above their creature animation Placement of health bar and other visual effects are calculated based on their animation size. While it works fine for big creatures, such as dragons, it doesn't work well for these beetles. I'd suggest to fix it in their associated INI file by adding a "height_offset" definition with an appropriate value. Preview:
  23. [IWDEE] Clay Golem animation contains corrupted frames Animation file MGLCG1.BAM contains several empty frames in cycle 16 and 17 which results in flickering creature animations. Clay Golems are summoned by a Limited Wish option in IWD.
  24. According to IESDP ABSTART.2DA is not used by the game. In a new BG2-SoA game EET uses a script to add Bhaalspawn abilities. It does so in a fairly simplistic manner though, by adding either all good or all evil abilities based on starting reputation. These script blocks appear to be missing for a new SoD game.
×
×
  • Create New...