Jump to content

WanderingScholar

Members
  • Posts

    89
  • Joined

  • Last visited

Posts posted by WanderingScholar

  1. On 2/4/2024 at 6:16 PM, Guest Newb said:

    I am using BWS BGT.   I tested the battle before SCS 35.9 installation, there was no CTD, and SCS is the last mod installed without the mage and priest AI components.  

    Ok, I'm going to chime in here. You are using the Big World Setup tool correct? The long since deprecated BWS tool?

    This is going to get you into big trouble with a mega mod install.

    Unless you absolutely know what you're doing I suggest using something modern like AL|EN's Project Infinity. If your intimidated by install order you can always reference morpheus562's Install-Order-List-Repository, or I can provide you with my own log since I also play the originals with BGT.

    Our diligent G3 residents here were able to correctly guess your first issue, even without being supplied your WeiDU log, but you likely have a host of problems coming your way if you used BWS. 

     

  2. 1 hour ago, Angel said:

    I'm not Wheels' author, that would be @DavidW.  Back then I only got permission to make one update to fix one issue, an incompatibility with the new WeiDU version, which is in 8.5 (otherwise you wouldn't have been able to install it).  I'm not touching it any further, so there was no need to keep that fork up.

    I know of the Wheels/Ascension issue (kinda hard not to, it keeps popping up everywhere) but I have no idea what causes it or how to fix it.  I never could trigger it in my own non-Ascension games no matter which path I took, which leads me to think it's a bad interaction between Wheels and Ascension, not a bug specific to Wheels.

    Ok, thanks for clarifying. Unfortunately, I suspect it will be some time before David touches Wheels again with everything else on his plate. Until then, I'll try and see if I can provide some useful bug reports for anything I run into. I fear it will be difficult however, given the maze of dialogues, trigger, and variables that is Ascension + Wheels.

    Even with just a superficial scan in Near Infinity I'm already seeing a response trigger in ABAZIGAL.DLG referencing a script that doesn't exist. Screenshot_20240204_041609.png.e9066e6af04890d6f9ff61de287d9554.png

    🤞

  3. @Angel

    I just stumbled upon this forum. I have Ascension 2.0.23 and  Wheels 8.5 installed for BGT. Did your fixes ever make it into the official version?

    I noticed your fork is no longer up. 

    I dread trying to debug this mod myself, as there are still reports of major issues from what I can see. 

    If you have a working fork, I'd be delighted. 

  4. I'm getting this when trying to install. Version is the latest from Git. I'm on original BGT. WeiDU v249 (Legacy)

    Spoiler

    BG2 + ToB Areas
    Copying and patching 1 file ...
    Creating 1 directory
    Copying 1 file ...
    Copying and patching 1 file ...
    Creating 1 directory
    Copying 1 file ...
    Copying 1 file ...
    Copying 1 file ...
    Copying and patching 1 file ...
    Creating 1 directory
    Copying 1 file ...
    Copying and patching 1 file ...
    Copying and patching 1 file ...
    Copying and patching 1 file ...
    Copying and patching 1 file ...
    ERROR: BIFF [.\DATA\AREA000C.BIF] cannot be loaded: Unix.Unix_error(20, "stat", ".\\DATA\\AREA000C.BIF")

    ERROR locating resource for 'COPY'
    Resource [AR0042SR.bmp] not found in KEY file:
            [./chitin.key]
    Stopping installation because of error.
    Stopping installation because of error.
    Stopping installation because of error.
    Stopping installation because of error.
    Stopping installation because of error.
    Stopping installation because of error.
    Stopping installation because of error.
    Stopping installation because of error.
    Stopping installation because of error.
    Stopping installation because of error.

    ERROR Installing [BGGO for EET, BGT, BGEE, BG2EE, ToB and Tutu], rolling back to previous state
    Will uninstall 1092 files for [BGGO/BGGO.TP2] component 0.
    Uninstalled    1092 files for [BGGO/BGGO.TP2] component 0.
    ERROR: Failure("resource [AR0042SR.bmp] not found for 'COPY'")
    Please make a backup of the file: SETUP-BGGO.DEBUG and look for support at: Yovaneth, White Agnus, Weigo
    Automatically Skipping [BGGO for EET, BGT, BGEE, BG2EE, ToB and Tutu] because of error.

    NOT INSTALLED DUE TO ERRORS BGGO for EET, BGT, BGEE, BG2EE, ToB and Tutu
    The system cannot find the file specified.

    It's very frustrating because I could have sworn I installed this without problems a couple days ago the exact same way. 😒

    Here's my WeiDU:

    Spoiler

    // Log of Currently Installed WeiDU Mods
    // The top of the file is the 'oldest' mod
    // ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version]
    ~TOBEX/TOBEX.TP2~ #0 #100 // TobEx - Core: v28
    ~TOBEX/TOBEX.TP2~ #0 #101 // Apply Concentration Check On Damage [WIP]: v28
    ~TOBEX/TOBEX.TP2~ #0 #102 // Awaken On Damage: v28
    ~TOBEX/TOBEX.TP2~ #0 #103 // Blindness As Spell Description: v28
    ~TOBEX/TOBEX.TP2~ #0 #105 // No Spell Interruption On Zero Damage: v28
    ~TOBEX/TOBEX.TP2~ #0 #106 // Use Caster Level On Mirror Image [C]: v28
    ~TOBEX/TOBEX.TP2~ #0 #107 // Allow All Races to Dual Class: v28
    ~TOBEX/TOBEX.TP2~ #0 #109 // Disable Experience Boost: v28
    ~TOBEX/TOBEX.TP2~ #0 #110 // Disable Force Inventory Pause: v28
    ~TOBEX/TOBEX.TP2~ #0 #111 // Disable Silence On Charm: v28
    ~TOBEX/TOBEX.TP2~ #0 #112 // Level One Proficiency Restrictions: v28
    ~TOBEX/TOBEX.TP2~ #0 #113 // Remain Hidden On Pickpocket Success [C]: v28
    ~TOBEX/TOBEX.TP2~ #0 #116 // Enable Animation Attack Sounds: v28
    ~TOBEX/TOBEX.TP2~ #0 #119 // Remove all race-class restrictions: v28
    ~TOBEX/TOBEX.TP2~ #0 #120 // Drop Inventory on Disintegrate: v28
    ~TOBEX/TOBEX.TP2~ #0 #121 // Drop Inventory on Frozen Death: v28
    ~TOBEX/TOBEX.TP2~ #0 #122 // Drop Inventory on Stone Death: v28
    ~TOBEX/TOBEX.TP2~ #0 #123 // Enable Auto-Pause On All Screens: v28
    ~TOBEX_AFTERLIFE/TOBEX_AFTERLIFE.TP2~ #0 #200 // TobEx AfterLife: v29.13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #0 // BG2 Fixpack - Core Fixes: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #1000 // BG2 Fixpack - Game Text Update -> GTU Light (by Wisp): v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #3 // BETA Core Fixes (please check the readme!): v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #100 // Party Gets XP for Sending Keldorn to Reconcile With Maria: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #101 // Improved Spell Animations: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #103 // Mixed-Use Dagger Fixes: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #104 // Ghreyfain's Holy Symbol Fixes: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #106 // Giants Receive Penalties When Attacking Halflings, Dwarves, and Gnomes: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #107 // Remove Dual-Classing Restriction from Archers and Stalkers: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #108 // Remove Second Attribute Bonus for Evil Path in Wrath Hell Trial: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #109 // Corrected Summoned Demon Behavior: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #110 // Additional Script Fixes: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #111 // Bard Song Fixes: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #112 // Wizard Slayers Cause Miscast Magic on Ranged Attacks: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #113 // Additional Alignment Fixes: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #115 // Paws from Shapeshifting Can Not Be Dispelled: v13
    ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #116 // Remove Thieving Start Bonuses from Bard and Ranger Skills: v13
    ~BGT/BGT.TP2~ #0 #0 // Baldur's Gate Trilogy - Core: v1.23.1
    ~BGT/BGT.TP2~ #0 #3 // Baldur's Gate Trilogy - Music -> Full Baldur's Gate/Shadows of Amn/Throne of Bhaal Music (WARNING: patches BGMain.exe): v1.23.1
    ~TXTMUSIC/TXTMUSIC.TP2~ #0 #0 // Restored Textscreen Music for BG1TuTu, EasyTutu, and BGT-WeiDU: 9 (22 Mar 13)

    AR0042SR.bmp exists in my game...I guess it couldn't load the BIFF for some reason.

    Thanks for any help.

    Edit: Doing a bit of detective work I've found a number of these in BGT v1.23.1 DEBUG

    Spoiler

    [Source]: C:\Baldur's Gate Trilogy\Baldur's Gate 2\area7300\ar0200n.wed, V1.3
              C:\Baldur's Gate Trilogy\Baldur's Gate 2\area7300\ar0200n.tis, V1  
    [Output]: C:\Baldur's Gate Trilogy\Baldur's Gate 2\area7300\ar7300n.wed, V1  
              C:\Baldur's Gate Trilogy\Baldur's Gate 2\area7300\ar7300n.tis, no header

     Basic tiles number:         3450
     Doors extra tiles number:     73
     Animations extra tiles number: 0
     Overlayed doors tiles number:  0


    Warning :     Cannot handle area MOS file

    Warning :     Cannot handle area _HT.bmp file

    Warning :     Cannot handle area _LM.bmp file

    Warning :     Cannot handle area _SR.bmp file
    Warning :     Cannot delete source area MOS file
    Warning :     Cannot delete source area _HT.bmp file
    Warning :     Cannot delete source area _LM.bmp file
    Warning :     Cannot delete source area _SR.bmp file

    Not sure if it could be somehow related.  🤔  I got INSTALLED SUCCESSFULLY when installing BGT

    Solved: I had to move all the files from ...\Baldur's Gate 2\data\Data to ...\Baldur's Gate 2\data\ so the mod could find the files it needed. Move these before installing.

  5. 1 hour ago, Jarno Mikkola said:

    Yes it can, you can set up a .txt file for example to insert the replies... something something --arg ... what ever, going off a memory here from a long time ago

    Can I pick your brain a bit more on this?

    As far as I understand, you can automate your responses to prompts in a text file like this...

    weidu-setup-mod.exe < mod_install.txt

    In the text file you list out the responses in order, correct? For example:

    1 // Response to choose English language
    
    i // Response to install the main component
    
    2 // Response to select the second option for the additional feature

    So in the example I gave:

    Which travel times do you want?
    
    1. Original Travel Times and Area Visibility
    2. Revised Travel Times and Area Visibility.
    
    PLEASE ENTER  1 OR 2

    I'd order the responses so that it would input 1 or 2 at this juncture?

  6. On this topic...

    Does anyone know what I need to change to answer a prompt like this?

    setup-bp-bgt-worldmap.exe --language 0 --force-install-list 0 1

     

    Install Component [Worldmap for Baldur's Gate - including colored Baldur's Gate map icons]?
    [I]nstall, or [N]ot Install or [Q]uit? i
    
    Installing [Worldmap for Baldur's Gate - including colored Baldur's Gate map icons] [v11.0.0]
    Copying 1 file ...
    Creating 1 directory
    Copying and patching 1 file ...
    Copying and patching 1 file ...
    
    Which travel times do you want?
    
    1. Original Travel Times and Area Visibility
    2. Revised Travel Times and Area Visibility.
    
    PLEASE ENTER  1 OR 2
  7. @Bartimaeus

    Some time ago I made a comment about retaining the original prices on items because IR has its balance designed around BG2 and not BGT

    If you ever want to create a .ini option so others can have this, here is the relevant code:

    (Credit to jmerry for help on this)

    This first block will have to go before any items are copied over. All you have to do is adjust some of the paths.

    Spoiler
    // Create a table with all item resource names in the 1st column and their prices in the 2nd
    
    <<<<<<<<.../WStweaks-inline/pricelist.2da
    >>>>>>>>
    MKDIR ~weidu_external/data/WStweaks~
    COPY ~.../WStweaks-inline/pricelist.2da~ ~weidu_external/data/WStweaks~
    
    OUTER_SPRINT data ~~
    COPY_EXISTING_REGEXP - ~.*\.itm~ nowhere
        PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN
            READ_LONG 0x34 itemprice
            SPRINT data ~%data%%SOURCE_RES%%TAB%%itemprice%%WNL%~
        END
    APPEND_OUTER ~weidu_external/data/WStweaks/pricelist.2da~ ~%data%~

    This second block goes after all the copies are made, so at or near the end of the main component.

    Spoiler
    // Read the data in from pricelist.2da and change item prices back to their original values
    
    COPY ~weidu_external/data/WStweaks/pricelist.2da~ ~override~
     READ_2DA_ENTRIES_NOW ~pricelist~ 2
    BUT_ONLY
    
    OUTER_FOR (row = 0; row < pricelist; ++row) BEGIN
        OUTER_SPRINT FileID $pricelist(~%row%~ ~0~) 
        COPY_EXISTING ~%FileID%.itm~ ~override~
            PATCH_IF (SOURCE_SIZE > 0x71) BEGIN 
                SET newprice = $pricelist(~%row%~ ~1~)
                PATCH_IF (newprice > "-1") BEGIN
                    WRITE_LONG 0x34 newprice
                END 
            END
        BUT_ONLY IF_EXISTS 
    END

    Once again, make sure the paths are correct.

    👍

  8. 2 hours ago, subtledoctor said:

    plus a trip to hell going through a couple dozen fiends

    I always thought this was a poor choice by Beamdog. This is supposed to be the big finale in SOA.

    IMO what the series should have gotten was a good prequal, following the adventures of Gorion and his harper allies, culminating in their discovery of the Temple of Bhaal. This would give more meaning and context to the start of your adventure in BG1

    Personally, I've never been a big fan of SoD. It was a one and done for me, and I prefer BioWare's intended vision. I still play the originals as a result. Among other reasons. 

  9. Sorry if this seems rather pedantic, but I just wanted to clarify something.

    I was looking at Leonardo Watson's Big World Project mod install guide, which he recently updated, when I came upon this:

    Screenshot_20240126_081517.png.426b679796c077594b51b5d846e546bb.png

    He has component 210, 300, and 301 of 1pp listed to be installed immediately after Item Revisions (main).

    This departs somewhat from your recommended install order. 

  10. 1 hour ago, CrevsDaak said:

    Just off looking at that image, you're using some variant of this " character instead of the regular one WeiDU expects, just change the slightly tilted ones for the ones you have below on the language strings and you should be good.

    😲 😲 😲 You have the eyes of a hawk!! That was it!!

    I was about ready to give up on this. Many thanks 👏 👏 👏

    I guess it's obvious now that I look at the highlighting. 🙄

  11. Looking at the Revised Warrior HLAs component, something is missing. What about War Cry?

    That crummy HLA that gives fighter's the ability to cast a level 2 wizard spell... 😒

    I think it could use some love. 

    War Cry

    With a War Cry, the warrior emits a powerful and frightening yell that will leave all opponents in a 30' radius absolutely shaken, inflicting a -2 penalty to THAC0, damage, and AC with no save. In addition, enemies must make a save vs. spell or flee in terror. The effects last for 1 turn.

    ...\spell_rev\lib\kreso_hla.tph

    Spoiler
    ACTION_IF  FILE_EXISTS_IN_GAME ~spcl908.spl~ BEGIN // War Cry
    COPY_EXISTING ~spcl908.spl~ ~override~
    SAY NAME1 @9006    SAY UNIDENTIFIED_DESC @9007
    LPF ALTER_SPELL_EFFECT INT_VAR match_opcode = 141 savingthrow = 0 END
    LPF ALTER_EFFECT INT_VAR match_opcode = 174 savingthrow = 0 STR_VAR match_resource = "EFF_E05" END 
    LPF ADD_SPELL_EFFECT INT_VAR opcode = 142 parameter2 = 44 duration = 60 resist_dispel = 2 END
    LPF ADD_SPELL_EFFECT INT_VAR opcode = 0 target = 2 parameter1 = "-2" resist_dispel = 2 duration = 60 END
    LPF ADD_SPELL_EFFECT INT_VAR opcode = 73 target = 2 parameter1 = "-2" resist_dispel = 2 duration = 60 END
    LPF ADD_SPELL_EFFECT INT_VAR opcode = 54 target = 2 parameter1 = "-2" resist_dispel = 2 duration = 60 END
    LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 2 resist_dispel = 2 duration = 60 STR_VAR resource = "SPCL908" END
    END

    ...\spell_rev\languages\english\hla.tra

    Spoiler

    @9000=~Hardiness~
    @9001=~Hardiness
    Calling upon hidden reserves of strength during times of danger, a warrior can use the Hardiness ability to gain 25% resistance to all forms of damage. The ability lasts for 1 round per 2 levels.~
    @9002 = ~Whirlwind Attack~
    @9003 = ~Whirlwind Attack
    This ability allows the warrior to unleash a flurry of super-fast blows. For 2 rounds, movement and attack rate are doubled, but all attacks are made with a -4 penalty to hit and damage rolls.~
    @9004 = ~Greater Whirlwind Attack~
    @9005 = ~Greater Whirlwind Attack
    A more powerful version of the Whirlwind Attack, Greater Whirlwind gives the fighter the same bonuses without penalties.

    Requires: Whirlwind Attack~
    @9006 = ~War Cry~
    @9007 = ~War Cry
    With a War Cry, the warrior emits a powerful and frightening yell that will leave all opponents in a 30' radius absolutely shaken, inflicting a -2 penalty to THAC0, damage, and AC with no save. In addition, enemies must make a save vs. spell or flee in terror. The effects last for 1 turn.~

    Of course, like any innate ability, it ignores MR. I thought about going -4, but I think the penalties are balanced. Let me know what you think. 😏

  12. I figured this out. I'll leave this here in case anyone is interested. 

    Spoiler
    // Create "Gorion's Battle" .mus file to be used in cutscene ch1cut04.bcs
    <<<<<<<<.../WStweaks-inline/ws#ch1.mus
    Bl2
    20
    a1
    a2
    a3
    a4
    b1
    b2
    b3
    b4
    c1
    c2
    c3
    c4
    d1
    d2
    e1
    f1
    f2
    g1
    g2
    g3
    >>>>>>>>
    MKDIR ~weidu_external/data/WStweaks~
    COPY ~.../WStweaks-inline/ws#ch1.mus~ ~weidu_external/data/WStweaks~
    
    // Write ws#ch1.mus into songlist.2da and copy it into the music directory
    ADD_MUSIC ~ws#ch1~ ~weidu_external/data/WStweaks/ws#ch1.mus~
    
    // Check the first column of the bottom row in songlist.2da for new song #
    COPY_EXISTING ~songlist.2da~ ~override~
        COUNT_2DA_ROWS 2 rowcount
        READ_2DA_ENTRY rowcount 0 0 "new_song" 
    BUT_ONLY    
    
    // Add new song to cutscene and smoothen transitions
    COPY_EXISTING ~ch1cut04.bcs~ ~override~
        DECOMPILE_AND_PATCH BEGIN
        REPLACE_TEXTUALLY ~CutSceneId("Gorion")~ 
                          ~CutSceneId("Gorion")
                           PlaySong("%new_song%")~
        REPLACE_TEXTUALLY ~SetGlobal("Chapter","GLOBAL",0)~ 
                          ~SetGlobal("Chapter","GLOBAL",0)
                           FadeToColor([40.0],0)
                           Wait(4)~
        REPLACE_TEXTUALLY ~AddJournalEntry(75220,INFO)~ 
                          ~AddJournalEntry(75220,INFO)
                           FadeFromColor([40.0],0)~
        END
    BUT_ONLY
  13. I'm trying to create this component that enhances some of the cutscenes in BGT

    In the cutscene battle between Gorion and Sarevok I'd like to add some specific music. This is a little bit more involved than I thought.

    I'm going to use PlaySong() in the cutscene script.

    Take a look at what I have so far:

    Spoiler
    ////////////////////////////////////////////////////////////////////
    BEGIN ~BGT chapter cutscene improvements~ DESIGNATED 210
    REQUIRE_PREDICATE GAME_IS ~bgt~ "This component requires Baldur's Gate Trilogy"
    ////////////////////////////////////////////////////////////////////
    
    // Create "Gorion's Battle" .mus file to be referenced in cutscene ch1cut04.bcs
    
    <<<<<<<<.../WStweaks-inline/ws#ch1.mus
    Bl2
    17
    a1
    a2
    a3
    a4
    b1
    b2
    b3
    b4
    c1
    c2
    c3
    c4
    d1
    d2
    e1
    f1
    f2
    >>>>>>>>
    MKDIR ~weidu_external/data/WStweaks~
    COPY ~.../WStweaks-inline/ws#ch1.mus~ ~weidu_external/data/WStweaks~
    
    // Write ws#ch1.mus into songlist.2da and copy it into the music directory
    
    ADD_MUSIC ?
    
    // Add new song to cutscene and smoothen transitions
    
    COPY_EXISTING ~ch1cut04.bcs~ ~override~
        DECOMPILE_AND_PATCH BEGIN
        REPLACE_TEXTUALLY ~CutSceneId("Gorion")~ 
                          ~CutSceneId("Gorion")
                           PlaySong(?)~
        REPLACE_TEXTUALLY ~SetGlobal("Chapter","GLOBAL",0)~ 
                          ~SetGlobal("Chapter","GLOBAL",0)
                           FadeToColor([40.0],0)
                           Wait(4)~
        REPLACE_TEXTUALLY ~AddJournalEntry(75220,INFO)~ 
                          ~AddJournalEntry(75220,INFO)
                           FadeFromColor([40.0],0)~
        END
    BUT_ONLY

    1. Create a .mus file that will be used. I'll have to tweak the above to fit the cutscene better once I get everything else working.

    2. Use ADD_MUSIC to write ws#ch1.mus into songlist.2da and copy it into music folder. Embarrassingly, I'm having trouble writing this. It needs to copy it from weidu_external/data/WStweaks.

    3. Using PlaySong() I need to know what row in songlist.2da the song will be written to. I hope I can control this with ADD_MUSIC? Else I'll probably have to do some READ_2DA nonsense.

    Thanks for any help.

    Edit: Ok, I've figured out "ADD_MUSIC ~ws#ch1~ ~weidu_external/data/WStweaks/ws#ch1.mus~" 

    It writes it at the bottom of songlist.2da

    Now I just need to do the 2DA magic so it writes in the row % into PlaySong(%%)😮‍💨

     

  14. Something minor I forgot to add to my last post:

    spell_rev\lib\kreso_petrification.tph needs an addition to prevent flesh to stone description being wiped if you choose .ini setting = 0

    Spoiler

    /// PETRIFICATION ///

    ADD_SECTYPE ~k1#Petrify~ @22005 // String to counter Petrify - "Petrification effect removed"

    ACTION_IF petrification=0 BEGIN

      COPY ~spell_rev\spalt\spwi604.spl~ ~override~
        SAY NAME1 @667    SAY UNIDENTIFIED_DESC @668
      COPY ~spell_rev\spalt\dvbaspet.spl~ ~override~

  15. 1 hour ago, DavidW said:

    If we are talking SSL syntax, though, RequireBlock() functions like a trigger, not an action.

    This also seemed peculiar to me.

    In SCSv31 you have the chain contingencies laid out like this. It works fine so I don't question it. chaincont_core.ssl...

    Spoiler
    ////////////////////////////////////////////////////////////////////////////////////////////
    ////    Chain contingencies fire
    ////
    ////    This is just the action block; the trigger block is in the main dw#mage
    ////
    ////
    ////////////////////////////////////////////////////////////////////////////////////////////
    
    
    THEN
            RESPONSE #200
                RequireBlock(WithSI)
                RequireBlock(UsingClones)
                ReallyForceSpellRES("dw#sw519",Myself)
                SetGlobal("ChainContingencyFired","LOCALS",1)
                DisplayStringHead(Myself,26328)
                ReallyForceSpell(Myself,WIZARD_SIMULACRUM)
                ReallyForceSpell(Myself,WIZARD_SPELL_IMMUNITY_DIVINATION)
                ReallyForceSpell(Myself,WIZARD_IMPROVED_INVISIBILITY)
                SetGlobal("contingency","LOCALS",1)
                DisplayString(Myself,25942)
                ReallyForceSpell(Myself,WIZARD_PROTECTION_FROM_MAGIC_WEAPONS)
                Continue()
            RESPONSE #100...
  16. 8 hours ago, jmerry said:

    As for targeting an enemy ... actions with no valid target shouldn't crash anything. Most likely, they just won't be executed. At worst, they might prevent any later actions in the same block from being executed. Still, you should include some form of "there's an enemy nearby" in the trigger conditions for a block like this that targets an enemy.

    Thanks for the insight. I was looking at the IESDP page when I found ApplySpell, but I somehow glossed over that ApplySpell uses minimum caster level. I was tired when looking at this. I definitely want to stick with ReallyForceSpell here. I just wasn't sure if I had it nested properly with the (). Of course, an example is given right there on the page. 😑

    8 hours ago, jmerry said:

    As for targeting an enemy ... actions with no valid target shouldn't crash anything. Most likely, they just won't be executed. At worst, they might prevent any later actions in the same block from being executed. Still, you should include some form of "there's an enemy nearby" in the trigger conditions for a block like this that targets an enemy.

    Good to know. I just checked the compiled IF blocks for chain contingencies on the my game, and they have detection and range triggers so it should be fine.

  17. Is this the correct way to format this type of change? From ReallyForceSpell to ApplySpell

    Spoiler

    RESPONSE #300
                RequireBlock(WithSI)
                ReallyForceSpellRES("dw#sw519",Myself)
                SetGlobal("ChainContingencyFired","LOCALS",1)
                DisplayStringHead(Myself,26328)
                ReallyForceSpell(Myself,protectionspell)
                ApplySpell(NearestEnemyOf(Myself),WIZARD_ABI_DALZIMS_HORRID_WILTING)
                ReallyForceSpell(Myself,WIZARD_SPELL_IMMUNITY_ABJURATION)
                Continue()

    My goal is to see if I could get NPC chain contingencies with things like symbols and horrid wilting to target the nearest enemy. I'm wondering if this will cause a crash however, if the chain contingency fires with no one in sight? 

    Thanks

  18. @Bartimaeus 

    SPPR409.SPL (Death Ward) contains opcode (61) which crashes the game. I'm assuming this is some leftover from the changes you made to Death Ward on Sep 2, 2023.

    SCS users beware, this will make any cleric that pre-buffs with this spell crash your game.

    Edit: I just realized that opcode (61) is used in the EE editions. This is a compatibility issue with the originals.

  19. 30 minutes ago, DavidW said:

    Just include them yourself. There’s not really much advantage adding them to WEIDU, and Wisp is busy enough as it is without adding to his admin burden.

    That's fair,

    I don't really know what kind of work adding these macros entails, but I just figured it'd be easier for people to find these things down the road if they were built in. I'm always looking in the WeiDU documentation. I didn't even know that CamDawg had written these until I scrounged around in this thread. I guess that's on me.

    On a different note, is Wisp pretty much the sole maintainer of WeiDU these days? Sure looks like it from the commits on Git. 

×
×
  • Create New...