Jump to content

Angel

Modders
  • Posts

    729
  • Joined

  • Last visited

Posts posted by Angel

  1. I'm collecting bugs here that do not directly affect people playing the game with the mod, but do those, like me, who are crazy brave enough to try and use it in their own mods.

    lib_spl:

    The functions spl_make and spl_copy do not honor the create_scroll boolean; if the function is given an IDS for a wizard- or priest spell, a scroll is always created even if create_scroll is 0.

     

    Suggested fix:

    diff --git a/mih_sp/third_party/sfo2e/lib_spl.tph b/mih_sp/third_party/sfo2e/lib_spl.tph
    index 8ea70f5..4b5d288 100644
    --- a/mih_sp/third_party/sfo2e/lib_spl.tph
    +++ b/mih_sp/third_party/sfo2e/lib_spl.tph
    @@ -158,7 +158,7 @@ BEGIN
    
                            // make scroll
                            ACTION_MATCH "%spell_resref%" WITH
    -                       "SPPR.*" "SPWI.*" BEGIN
    +                       "SPPR.*" "SPWI.*" WHEN create_scroll BEGIN
                                    LAF spl_make_scroll STR_VAR spell_resref RET scroll_resref END
                            END
                            DEFAULT
    @@ -286,7 +286,7 @@ BEGIN
                                            END
                                    END
                                    ACTION_MATCH "%spell_resref%" WITH
    -                               "SPPR.*" "SPWI.*" BEGIN
    +                               "SPPR.*" "SPWI.*" WHEN create_scroll BEGIN
                                            LAF spl_make_scroll STR_VAR spell_resref RET scroll_resref END
                                    END
                                    DEFAULT
    lines 2-22/22 (END)

     

  2. 22 hours ago, DavidW said:

    My hesitancy is that if the MS spells are not the ones in IWDification/SCS, then I just don't know anything about the file format and it's guesswork what the patch will do (and really people shouldn't be using it, so it would be better just to skip the patch). I'm actually slightly puzzled as to what the install structure is that leads to this bug - I assume some mod installs those MS spells, then after that IWDspells are installed?

    Yes.  An unreleased mod of mine restores Monster Summoning IV - VII from ids entries and 2da files found in oBG2.
    I have been toying with borrowing IWDspells so that we all install the same versions, but I'd have to sit down for it.

  3. 1 hour ago, DavidW said:

    That one I can't easily do anything about.

    My solution was to change line 129 in spell/adjust_summoning.tpa to:

    cre.copy[icyuan01=>dw#ms4yu|source_location=resource]

    Since both spell/monster_summoning_iwd.tpa and iwdspells/lib/summoned_monsters_arcane.tpa create it that way.

    If you like I can bundle all edits I have done so far in a pull request so you can see everything I did.

  4. I analyzed the situation for Neira.  The Smarter General AI component sets two new scripts on her, dw#shdlg and dw1melge.  However, Smarter Priests strips both of these off and only leaves her with only with new script dw#pr30.  The Smarter Mages component does a similar thing with Tarnesh.

    The reason is that both these components run the strip_scs_script function, which removes all scripts starting with "dw#" (instead of just scripts starting with dw#pr and dw#mg which seems to have been the intend).

    Here is my suggested hotfix.  I'm not 100% sure this is correct, but it seems to do the trick for Neira and Tarnesh, they properly initiate dialog again.  I also fix an oversight that would not get WTASIGHT and others properly matched.

    diff --git a/stratagems/lib/stratagems_shared.tph b/stratagems/lib/stratagems_sh
    ared.tph
    index 8da75bf..d165b59 100644
    --- a/stratagems/lib/stratagems_shared.tph
    +++ b/stratagems/lib/stratagems_shared.tph
    @@ -4,12 +4,13 @@ BEGIN
       PATCH_IF "%arguments%" STRING_COMPARE_CASE no_change BEGIN
        FOR (i=0x248;i<0x270;i+=8) BEGIN
           READ_ASCII i checkfull
    +      TO_LOWER checkfull
           READ_ASCII i check4 (4)
           TO_LOWER check4
           READ_ASCII i check5 (5)
           TO_LOWER check5
           PATCH_MATCH ~%check4%~ WITH  // caster
    -         "dw#.*" dw1r dw2r dw3r dw1m dw2m dw3m BEGIN
    +         dw1r dw2r dw3r dw1m dw2m dw3m BEGIN
                 WRITE_ASCII i ~~ (8)
              END
              DEFAULT
    @@ -609,4 +610,4 @@ BEGIN
                             SPRINT warning "SCS's '%parent%' function has encountered a file it doesn't know how to patch, %file% (probably the file was broken by a previous mod). The error message was '%ERROR_MESSAGE%'. SCS has skipped it and continued with installation, but this may cause instabilities."
            PATCH_WARN "%warning%"
            LPF warning STR_VAR warning END
    -END
    \ No newline at end of file
    +END           

     

    stratagems_shared.tph

  5. Should be fine.  It's actually recommended to install SCS as late as possible.  You may still want to start a new game though, changing mods mid-game is iffy unless you know exactly what you are doing.

    I see no obvious conflicts there, but you have some mods that I know nothing about, so no guarantees there.

  6. 2 hours ago, DavidW said:

    What do you think is the preferred behavior. - should I skip the component, or overwrite MiH’s version?

    MiH's version is just an edited copy of Conjure Fire Elemental, just like you are doing here.  So I see no harm in overwriting it or editing it, the result should be the same.  Note that I also provide Conjure Air Elemental (which is an edit of Conjure Earth Elemental).

    Note that  the same problem has also been reported if the Trials of the Luremaster mod is installed.  I have no experience with that one myself.

     

    Similarly, Adjust Monster Summoning spells throws some warnings if something else already provides Summon Monster IV-VII.  (Specifically it complains about missing dw#ms4yu.cre which it apparently assumes to be present.)

  7. 2 hours ago, jmerry said:

    Is it fixed? Because that isn't something that changed in v35. It's undoubtedly a mistake to fix, but how could it be the one that breaks things when it was there before?

    Yes, fixed it for me and I already have had several others confirming it fixed it for them as well.

    There are two versions of the ssl_to_bcs function, one is in stratagems/sfo/general/lib_general.tpa, the other is in stratagems/sfo2e/lib_ssl.tpa.  Most likely v34 was still using the old one which doesn't have this bug.

  8. Found it!

    In stratagems/sfo2e/lib_ssl.tph at line 92, the REPLACE_TEXTUALLY is exactly backwards from what it should be, it should be the same as line 95.  This is in a block that only gets executed on non-Windows systems.

    diff --git a/stratagems/sfo2e/lib_ssl.tph b/stratagems/sfo2e/lib_ssl.tph
    index a8bc243..95ea45a 100644
    --- a/stratagems/sfo2e/lib_ssl.tph
    +++ b/stratagems/sfo2e/lib_ssl.tph
    @@ -89,7 +89,7 @@ BEGIN
                            END
                    END ELSE BEGIN // something else, assumed to have perl natively present
                            OUTER_PATCH_SAVE ssl_loc "%ssl_loc%" BEGIN
    -                               REPLACE_TEXTUALLY EXACT_MATCH "/" "\"
    +                               REPLACE_TEXTUALLY EXACT_MATCH "\" "/"
                            END
                            OUTER_INNER_PATCH_SAVE scsargs "%path%/%script%" BEGIN
                                    REPLACE_TEXTUALLY EXACT_MATCH "\" "/"

    Fixed file attached, drop this in stratagems/sfo2e/.

    lib_ssl.tph

  9. I'm also experiencing these errors on Linux.  It looks like perl chokes on backslashes instead of forward slashes in .ssl files.  I'm attempting to get it working on my install, will let you know if I succeed.

    As a side note: *please* be nice to us Linux users and lower case all file names!

  10. On 12/2/2023 at 4:16 PM, DavidW said:

    - I basically don't bother to allow for attacking within Timestop: it's way overpowered and has no straightforward counter. (If I knew a convenient way to do it I'd add a spell tweak to block it.)

    My solution is to give everything that is time-stopped 100% resistances to everything.  This is in line with the 3.5e version of Time Stop which states that everything stopped in time is "harder than diamond".  Not foolproof, but it does the job nicely for my purposes.

  11. 1 hour ago, Connelly said:

    A couple more problems I noticed when installing Fixes.

    A bunch of mods (mostly quest and NPC ones) were throwing warnings about not finding the entry for WIZARD_DISPEL_MAGIC in spells.ids for their scripts, and if I understand things correctly, this means creatures both vanilla and modded won't use the spell. When reading the spells.ids after going through the Spell Restorations component, it seemed to not only reorganize half the entries in there, but remove the WIZARD_DISPEL_MAGIC entry as well as others (ie WIZARD_KHELBENS_WARDING_WHIP, WIZARD_WIZARD_LOCK, WIZARD_ALARM or WIZARD_HOLD_PORTAL). I can't tell if they remain under new names or to what extent is any of that needed, but I worry that this may cause many things in the game to not work correctly because they can't find the spells they need.

    I tested an install on both BGEE and BG2EE and cannot reproduce this.  WIZARD_DISPEL_MAGIC is still present in spell.ids in either case, as it should be.  Note that the order of entries in spell.ids may be changed so it may not appear

    As for WIZARD_KHELBENS_WARDING_WHIP, in BGEE this entry does not exist to begin with, it's not removed by me.  The entry for the spell is WIZARD_WARDING_WHIP.  In BG2EE both entries exist and point to the same spell.

    Lastly, WIZARD_WIZARD_LOCK, WIZARD_ALARM and WIZARD_HOLD_PORTAL are dummied out spells that will never be implemented, as they are impossible to implement under engine restrictions (there is no opcode to hold or lock doors).  Removing these entries is why I change spell.ids to begin with, as this frees up more slots for spells.

  12. 2 hours ago, harticus33 said:

    Looks great! I like lots of spells, will Made in Heaven Spells work with SRR? I installed SRR before Made in Heaven and IWD-ification.

    I do not support installing my mod and SR(R) together, but from what others reported the arcane- and divine spell packs at least should work.  Some of the tweaks might not though, but I don't have exact data on this.

    Also be aware that there is some overlap between my paladin component and IWD-ification's class updates.  It's not harmful but you may see some duplicates, such as getting Smite Evil twice.

  13. PHB says: "The damage adjustment also applies to to missile weapons, although bows must be specially made to gain the bonus; crossbows never benefit from the user's Strength."  (PHB 2e, TSR 2159, page 20, Damage Adjustment).  So it should apply to slings, thrown daggers and axes and the like.  However, I think there is an optional rule to not let it apply to darts on the ground that they are too light to carry the force, but I'll have to double-check on that.

  14. 13 hours ago, Nathan82 said:

    @Angel thanks for explaining.

    So, just to clarify, any creature that is single classed only needs a level value in the first byte (0x0234 from looking at IESDP)?

    Does it matter if the other 2 bytes have a value other than 0 or 1 and does it being 0 or 1 make any difference?

    I ask because I've seen a number of creatures with values in all 3, eg 9/3/1, I'm assuming if single class then the 2nd and 3rd bytes are effectively masked/ignored?

    I am not an engine hacker so I am not 100% sure, but to the best of my knowledge, the level2 and level3 fields do nothing unless the creature is assigned a multi-class "class" like FIGHTER_MAGE.  It's safest to set them to 1.  If you examine BG2 creatures, you'll see that the ones not imported from BG1 usually have level2 and level3 set to 1.

  15. There currently is an issue if you install MiH E&Q's Revised Magical Beasts before either SCS's Improved Vampires or the Ulcaster tactical challenge because SCS overwrites a script added to dread wolves by E&Q, making the dread wolves summoned by vampires or added to the Ulcaster battle unkillable.  To avoid, for now install at least that component of E&Q after SCS.  This will be addressed in both future versions of E&Q and future versions of SCS.

  16. On 11/1/2023 at 2:18 PM, Nathan82 said:

    Initially NTKROTAN is 0/30/1? Should it be 30/1/1?

    MIH_IP\SETUP-MIH_IP.TP2~ 0 0 // Made in Heaven: Item Packv7 is changing it to 0/1/1

    @Angel any idea why that would be happening?

    This is a bug in Northern Tales of the Sword Coast, creature ntkrotan.cre has a nonsensical level/HD assignment (0/30/1).  Since the creature is not multi-classed, the second- and third level do nothing and the creature is effectively a level 0 fighter.  Most likely this messes up SCS's proficiency assignments.

    Both SCS and MiH contain code that remove the nonsensical secondary level 30 many BG1 creatures have because otherwise they end up with way too much HP.  Based on its stats alone, I'd say this creature should have at least 15 HD.

  17. 4 hours ago, Lurker said:

    That effect affects the whole party, even if only a single character is actually inside the prison area, while the others are waiting outside or even in another building. That's one way to sell the tweak from MESpells, which extends the duration of "Negative Plane Protection" to 8 hours...

    Mm, I did not take that possibility into account.  I guess the easiest fix would be to make the prison entrances party required, but maybe I can think of a better solution.  Thanks for the report!

  18. The poison mist thing is a known bug in MiH E&Q, stemming from the fact that the same creature (mistpo01) is used both as a summon and as a random encounter by the base game.  It's fixed in the current master, and the upcoming EE Fixpack will address the ambiguous mistpo01 situation.

    As for the Black Talons, I'm fairly certain I have nothing to do with that one, I don't do anything with them at all.

×
×
  • Create New...