Jump to content

Angel

Modders
  • Posts

    729
  • Joined

  • Last visited

Posts posted by Angel

  1. On 2/15/2022 at 6:42 PM, Chitown Willie said:

    Angel,

    I've got the following installed after Item Revisions:

    ~MIH_IP/SETUP-MIH_IP.TP2~ #0 #2 // Alternative Healing Potions -> Healing potions work as in Pen & Paper: v6

    And I can see IPOTN08.ITM - but it appears as though the original "Potion of Healing" (POTN08.ITM) is untouched:

    Mods affecting POTN08.ITM:
    00000: /* created or unbiffed */ ~ITEM_REV/ITEM_REV.TP2~ 0 0 // Item Revisions by DemivrgvsV4 Beta 10 (Revised V1.3.803)
    00001:  ~CDTWEAKS/SETUP-CDTWEAKS.TP2~ 0 1140 // Gems and Potions Require IdentificationGems and potionsv10

    The tweak patches opcode 17 effects on the items.  If these are not present due to other modifications, then the tweak does nothing.  It works just fine on a vanilla game.  My guess is IR makes a change to the item that is incompatible with mine, but since I don't use it and don't know what that change is, there isn't much I can do about it.

    Mods affecting POTN08.ITM:
    00000: /* created or unbiffed */ ~CDTWEAKS/SETUP-CDTWEAKS.TP2~ 0 1140 // Gems and Potions Require IdentificationGems and potionsv10
    00001: /* acted upon in an undefined manner */ ~GENERALIZED_BIFFING/GENERALIZED_BIFFING.TP2~ 0 1 // Generalized BiffingBiff all files (recommended by the Big World Dudes)v2.5
    00002: /* created or unbiffed */ ~MIH_IP/SETUP-MIH_IP.TP2~ 0 4 // Alternative Healing PotionsHealing potions work as in Pen & Paperv7

     

  2. 1 hour ago, subtledoctor said:

    Re 9th level wizard spells: keep in mind, there’s nothing stopping you from creating scrolls to learn spells from. The .ids limitation really only applies to sorcerers. 

    And now that I think about it, I’ve already implemented a sorcerer spell-learning mechanism that has the potential to get around that limitation - though I didn’t design it for that purpose. Could probably set up a portable set of functions that different mods could all use to maintain compatibility...

    Upon further testing I found you're right, the scrolls work just fine.  But I had two reports that people playing sorcerer were unable to select my Weird spell, which is assigned spwi970 in my game.

    I'm experimenting with shunting some of the leftover TotSC crap into the innates name space.  Can't delete it as some of it, like the succubus innates, have been repurposed for BG2 stuff.

  3. When reporting errors, please be sure to include details on your installation, and a WeiDU debug log.  There isn't a whole lot I can do with "X doesn't work!!" as I cannot possibly see what is happening on your installation.  Is possible, please try if you can replicate the bug on a clean install with no other mods installed.  Especially E&Q is very sensitive to other mods being installed, even more so if they are tactical mods like this one, and I simply cannot check all of them.  Also keep in mind that testing on oBG2, BGT and EET are minimal, as I have little interest in these platforms and I write these mods for myself first and foremost.

     

    Current status of mods:

    - Item Pack: Polishing things up for a new release, testing a couple of new items.  Fixed a bug that would leave a few items without icons.

    - Spell Pack: Some major revisions and bug fixes coming up.  Epic Spells now mostly work but need more testing.  Restored Spells moved to a separate (as yet unpublished, but feel free to peek in my GitHub if you are curious) mod.  Arcane Spells currently has a major issue with 9th level spells when you have other spell mods installed: As it turns out there are only a small handful of available ninth level spell slots in spell.ids; the wizard HLAs and a ton of bullshit left over from Tales of the Sword Coast occupy most of the slots below 50, and the game (even EE) hard refuses to let one learn spells with an id higher than 50 from the sorcerer menu.  Structured mutually exclusive spells better, testing a few new spells.

    - Encounters & Quests: Problem with ghouls on BGT when Revised Corporal Undead has been identified (an opcode that doesn't exist on the old engine).  Funnily enough, the code I used to structurally implement mutually exclusive spells in Spell Pack also proved very useful for fixing this bug.  A few other, mostly under the hood issues have also been fixed.  I'm planning some major changes in Revised Dragons and Firkraag's Lair.

    - Tweaks: Testing a new tweak to structurally improve the hit points of late-game monsters significantly.  No changes otherwise.

     

  4. 16 hours ago, Gordian said:

    Those two were already empty as of SCS 33.7 - not sure whether it would be wise to go digging and adding their contents from an even earlier version.

    Edit: bodhi_setup.ssl has been empty since SCS v31 at least; cmraksh.ssl didn't exist back then, checking. Perhaps they've always been empty as a quick repository search indicated.

    While checking I saw that caster_shared\clericmage\druid_mages.2da is empty as well. Maybe they're all unused at the moment and might serve a purpose later down the line/haven't been scrapped.

    I'm pretty new to this thus might be missing something evident.

    I found content for cmraksh.ssl as recent as v33.4.  Here you go.

    Spoiler
    VARIABLE(IsRakshasa=True)
    VARIABLE(ImmuneToNormal=True)
    
    
    //////////////////////////////////////////////////////////////////////////////////
    ///
    ///   Define actions
    ///
    ////////////////////////////////////////////////////////////////////////////////////////
    
    BEGIN LOOP(AttackReevaluate(scstarget,30)||AttackOneRound(scstarget))
    INCLUDE FILE(%scsroot%/caster_shared/caster_definitions.ssl)
    END LOOP
    ////////////////////////////////////////////////////////////////
    /// Labelling, break-invisibility, hostile-undead, panic, etc
    ////////////////////////////////////////////////////////////////////////////////////////
    
    
    INCLUDE FILE(%scsroot%/mage/ssl/main/preamble.ssl)
    
    //////////////////////////////////////////////////////////////////////////////////
    ////    Setup, prep
    //////////////////////////////////////////////////////////////////////////////////
    
    INCLUDE FILE(%scsroot%/caster_shared/clericmage/ssl/clericmage_setup.ssl)
    
    //////////////////////////////////////////////////////////////////////////////////
    ////    If non-hostile, closedown - this script doesn't pretend to fight bad guys
    //////////////////////////////////////////////////////////////////////////////////
    
    IF
            !Allegiance(Myself,ENEMY)
            IgnoreBlock(IsPartyAlly)
    THEN
            RESPONSE #100
                    NoAction()
    END
    
    
    //////////////////////////////////////////////////////////////////////
    ///CPU saver
    //////////////////////////////////////////////////////////////////////
    
    IF
            !Detect(NearestEnemyOf(Myself))
            !HPPercentLT(Myself,100)
            !Global("inafight","LOCALS",1)
    THEN
            RESPONSE #100
                    NoAction()
    END
    
    ////////////////////////////////////////////////////////////////////////////
    ///     Contingencies renew defences
    ////////////////////////////////////////////////////////////////////////////
    
    INCLUDE FILE(%scsroot%/mage/ssl/generalblocks/contingency.ssl)
    
    ///////////////////////////////////////////////////////////////////////////
    //      Turn undead
    ///////////////////////////////////////////////////////////////////////////
    
    IF
            IgnoreBlock(IsDruid)
            See([GOODCUTOFF.UNDEAD])
            !StateCheck(LastSeenBy(Myself),STATE_DISABLED)
            !GlobalTimerNotExpired("castspell","LOCALS")
            !GlobalTimerNotExpired("turninitialise","LOCALS")
    THEN
            RESPONSE #100
                    SetGlobalTimer("turninitialise","LOCALS",30)
                    SetGlobalTimer("turning","LOCALS",4)
                    Continue()
    END
    
    IF
            IgnoreBlock(IsDruid)
            See([GOODCUTOFF.UNDEAD])
            !StateCheck(LastSeenBy(Myself),STATE_DISABLED)
            !GlobalTimerNotExpired("castspell","LOCALS")
            OR(2)
                    !GlobalTimerNotExpired("turninitialise","LOCALS")
                    GlobalTimerNotExpired("turning","LOCALS")
    THEN
            RESPONSE #100
                    Turn()
    END
    
    ///////////////////////////////////////////////////////////////////////////
    //      Melee
    ///////////////////////////////////////////////////////////////////////////
    
    
    INCLUDE FILE(%scsroot%/mage/ssl/generalblocks/melfsetup.ssl)
    INCLUDE FILE(%scsroot%/priest/ssl/meleeblocks/touchattack.ssl)
    INCLUDE FILE(%scsroot%/mage/ssl/meleeblocks/fmmelee.ssl)
    
    //////////////////////////////////////////////////////////////////////////
    // Renew and retreat
    //////////////////////////////////////////////////////////////////////////
    
    DEFAULT TRIGGER()
    INCLUDE FILE(%scsroot%/mage/ssl/generalblocks/renew.ssl)
    INCLUDE FILE(%scsroot%/priest/ssl/generalblocks/renew.ssl)
    
    //////////////////////////////////////////////////////////////////////////
    // Easiest-level block
    //////////////////////////////////////////////////////////////////////////
    
    DEFAULT TRIGGER()
    INCLUDE FILE(%scsroot%/caster_shared/clericmage/ssl/easy.ssl)
    
    //////////////////////////////////////////////////////////////////////////
    // Look for PCs
    //////////////////////////////////////////////////////////////////////////
    
    DEFAULT TRIGGER(!GlobalTimerNotExpired("castspell","LOCALS"))
    
    INCLUDE FILE(%scsroot%/mage/ssl/generalblocks/chase.ssl)
    
    ////////////////////////////////////////////////////////////////////////////
    // Core magic block
    ///////////////////////////////////////////////////////////////////////////
    
    DEFAULT TRIGGER()
    INCLUDE FILE(%scsroot%/caster_shared/clericmage/ssl/standard_clericmage.ssl)
    
    
    INCLUDE FILE(%scsroot%/mage/ssl/generalblocks/closedown.ssl)

     

    As you say bodhi_setup.ssl has been empty for a long time, since 2018 at least according to the time stamps.

  5. 21 minutes ago, ahungry said:

    Why does it require reading all (15,000) creature files for the item pack?  I figured it would just add some items, but I notice mih_ip, mih_sr, and mih_eq all do this slow parsing of all .cre files in the override directory.

    It dynamically fixes several oversights in creature files that will otherwise cause items to not function as designed.  Currently it properly labels water elementals (need for the Staff- and Ring of Water), labels mummies as mummies and not ghouls (various anti-undead items), fixes creatures that are level 30 in a secondary class for no reason (affects HP calculations) and makes sure summons give no XP and drop no items.

    I really should code it more efficiently though.

  6. 1 hour ago, Gordian said:

    One could probably replace brave with a few other words. ; )

    I don't mind a reinstall later down the line, as I'm still playtesting.

    If you want me to refrain from using the master, that's fine as well.

    As long as you remember that it's a work in progress, I don't have a problem.  Free play-testing!

    What is currently there should install cleanly on BGEE and BG2EE, other versions I have not tested.  Epic wizard spells should work, except that Ioulaum's Longevity doesn't have an icon yet and Chosen of Mystra doesn't have the proper dependencies.  Revised Monster/Animal Summoning is missing spell descriptions and doesn't have all the monsters I want just yet.  Revised Animate Dead doesn't have a separate icon for Ghoul Call yet and still needs some playtesting.  Everything else should work as I haven't changed much there, except that Arcane Spellpack now implements some lore-friendly changes in High Hedge (Thalantyr) and in Nashkel (Inn and shop.)

  7. 3 hours ago, Gordian said:

    Okay, I'll omit it from the install.

    After playtesting a bit, I came up with a trimmed list, which is installing as we speak.

     

    I saw that you started working on MiH_sp - great! Will include current master. : )

    You're very brave to use my master, especially while I am in the middle of working on it!

  8. On 1/11/2022 at 6:28 PM, Gordian said:

    on your metamod: Are the fixes there still relevant for the respective mods?

    Last time I checked, yes.  But I'm not currently working on that one.  It was more of a personal repo of the small edits I made so I don't forget, I haven't actually released anything yet.

  9. 1 hour ago, ahungry said:

    Trying to install this, I'm not sure if it has hung locally, or this part in particular just takes close to an hour at 100% cpu in weidu:

    "Including and running function(s) fix_race_class
    Copying and patching 1 file ...
    Copying 1 file ...
    Copying and patching 14443 files ..."

    I'm trying to install with weinstall on GNU/Linux

    Edit: Well, it's apparently chugging along, I see the output with "tail -f setup-mih_ip.debug" (up to the cre files that start with "T" now, yay)

    Yes, that part can take a while on a slower system.  On mine it takes about 10-15 minutes on BG2EE.  I probably should code it more efficiently sometime.  Good news is that it only happens once per installation.

  10. On 1/11/2022 at 6:28 PM, Gordian said:

    Ah, that's great to hear! I suspected something like this. I'll hold off a bit with my next big test install then, if it's just a quick fix.

    I'm working on it, but no guarantees. 🙂

    On 1/11/2022 at 6:28 PM, Gordian said:

    Both of these, the second one more so, are tweaks I can only implement after a little playtesting from my side, it might make fights against non-casters fairly trivial in later stages of the game, conversely making higher level enemy mages early very dangerous. (later as well, I suppose). I do like the notion, but I don't want to make my SoS or SoD spells too powerful.

    What was your experience from playtesting? Especially when it comes to party vs. non-casters?

    I'm currently at the start of SoD and I'm so far not noticing a big effect on either party or enemy.  However, in my previous run, mages became very dangerous in late BG2 and ToB, with spells like Wail of the Banshee often killing one or two party members.  I'll see how this plays out and might change things up a bit accordingly.

    On 1/11/2022 at 7:30 PM, subtledoctor said:

    MBR only makes sure that Breach can affect creatures with spell-level-based immunities. It clones 4th-level immunity effect to a new 5th-level immunity effect. If MIH removes the 4th-level immunity, then it won’t bother MBR. 

    Note, however, that SCS adds 206 immunity vs. a static list of 5th-level spells. I don’t know how that interacts with MIH. And even if SCS doesn’t partially undo MIH’s change, SCS lich AI might be adversely affected if the SCS scripts operate on the assumption of immunity to 4th- and 5th-level spells.

    If my tweaks are installed after SCS, it will remove the immunities added by SCS, and then dynamically re-add them as needed.  SCS probably doesn't play nice with my modifications as it's likely not aware of this, but I haven't verified or tested this.

    On 1/11/2022 at 7:30 PM, subtledoctor said:

    Note that Spell Rev already implements save penalties for high-level spells, though in a holistic way, with penalties roughly 1/2 the spell level (most 1st-level spells are flat to +2 bonus; most 9th-level spells have about -4 penalty). IIRC SR v3 had more extreme penalties, up to -6, but got some negative feedback on it.

    Mm, I should add a note about that to my readme I guess.  Although in general I don't think it's a good idea to use SR and my spell changes at the same time as there may be considerable overlap.  But I haven't tested this either.

  11. 17 hours ago, Gordian said:

    Hi @Angel and thanks for tuning in! Also thank you so much for the spell list, this helps the spells from other mods --> spheres endeavour substantially. If you have specific ideas which sphere each spell/HLA (if any, as arcane only) should belong to, then let me know.

    Nearly every divine spell I added is from an official D&D source book, the only two exceptions being Striking (from the video game D&D: Tower of Doom) and Mass Negative Plane Protection (a tribute to Order of the Stick where the development of this spell is a plot point).  So they should probably have the spheres the books list for them.

    17 hours ago, Gordian said:
    • Also, do you recommend using your large creatures damage modification? Does it impact pathfinding in any way?

    Not that I know of.  Basically what it does is give certain item types (hammers most notably) their P&P alternate damage on large creatures values, and set a flag on certain creature types (dragons, giants, etc.) to actually use this alternate damage.  It was already in the engine (confirmed by Bubb), just not used.

    Overall the effect is fairly minor, but it does make larger weapons more effective against large creatures, and small weapons less so.  It's most notable against ogres in early BG1.

    17 hours ago, Gordian said:
    • And sure ad HLAs: would be neat additions for ToB! I would have to keeper them in now, thus I might end up adding one or two to spheres locally, we'll see. I always use the delay HLAs component, thus I might not be able to learn all of them if I go overboard.

    I've taken a quick look yesterday and I seem to have accidentally deleted the code that adds these to the HLA tables.  It should be a fairly simple fix.

    17 hours ago, Gordian said:
    • Ad Liches from mih_eq: this component did interfere with many mods that wanted to edit lich.itm. I guess SCS wouldn't account for it and Magic Battles Revised (=MBR) wants to change it as well, iirc. I did leave that component out for now. Same goes for +save DC equal to a spell's level, which might make the game a little easy for a caster heavy party. Not sure yet. I did include the one from Tweaks Anthology already. (at the end, for flexibility)

    My changes to lich.itm are as follows:
    - Add skeletal damage resistance (50% vs. slashing, piercing and missile)
    - Add immunity to spell levels as specified in .ini file (normally 1-3), deleting anything above these (vanilla game has 1-5, but SCS deletes these)
    - Add turning immunity

    As for the saving throw penalties, my change should work with Tweaks's change, but it would make high-level casters very dangerous indeed, which can be either an advantage or a handicap depending on the situation.

    17 hours ago, Gordian said:
    • The spell.ids sanitisation is desirable.

    I mainly added it because it was easy to do and it neatly cleans up some unneeded clutter.  I don't have a desperate need for some extra spell slots. I have some plans to restore Sand Form for which remnants are in the game files (icon files and name/desc strings) but otherwise the Restored Spells component is pretty much complete and will likely not get any big modifications in the future.

    My changes work with SCS, I actively test this and write mine to be complementary to SCS.  But I can't guarantee anything for other battle revisions as I don't use them.  It's probably prudent to be wary of combining these, lest you create some glitched or impossible battles.

  12. 20 hours ago, subtledoctor said:

    Alternatively, if someone has done some of the legwork and has filenames for spells from various spellpacks and which sphere they should be in, I can just add it to the main FnP list. The system works fine with missing spells, so the list can encompass any and all spellpacks, and players could pick and choose the ones they like. I just don't have the time to run down different spell filenames and what they do and decide which sphere they should be in. (If modders like @Angel or OlvynChuru want to send me a list of divine spell filenames and what they do, they can get me this information via PM or in the FnP thread, and I can add it that way as well.)

    As I'm still figuring out what works and what doesn't the contents of my spell pack change over time.  Sorry about that.

    Currently this is my divine spell list:

    From Spell Restorations (implements spells for which fragments are found in the game files)
    - cleric_circle_of_protection: Target gains +3 AC bonus.
    - cleric_animal_friendship: Conjures a single animal.
    - cleric_endure_heat_cold: Target gains 25% resistance to fire and cold.
    - cleric_cure_blind_deaf: Cures blindness and deafness in target.

    From Divine Spell Pack (implements spells from many sources, mostly PHB and FR material):
    - cleric_striking: Target deals +4 extra damage with melee weapons.
    - cleric_faerie_fire: Outlines target in glow, lowers AC and prevents target from going invisible.
    - cleric_resist_acid_corrosion: Target gains 50% resistance to acid- and poison damage.
    - cleric_protection_from_cold: Target becomes immune to cold damage.
    - cleric_sticks_to_snakes: Summons 1-4 giant snakes.
    - cleric_heroism: Target gains bonuses similar to Potion of Heroism.
    - cleric_repel_insects: Party becomes immune to Summon Insects, Insect Plague and Creeping Doom.
    - cleric_ice_storm:  Version of the Ice Storm spell usable by druids.
    - cleric_lightning_storm: Strikes all the druid's visible enemies with lightning.
    - cleric_inferno: Sets a single enemy of the druid on fire.
    - cleric_break_enchantment: Target is freed of curses, petrification and most other unwanted effects.
    - cleric_hallow: Double-strength Bless on party members, clerics gain a bonus to turning attempts.  Good clerics only.
    - cleric_unhallow: Double-strength Bless on party members, clerics gain a bonus to rebuking attempts.  Evil clerics only.
    - cleric_superheroism: Like heroism, but adds immunity to fear and level drain.
    - cleric_celestial_protection: Target gains resistances like an angel (+1 to hit, resists cold and lightning, immune to petrification).  Good clerics only.
    - cleric_conjure_water_elemental: Similar to conjure Fire Elemental.
    - cleric_mass_negative_plane_protection: Like the "I wish to be protected from the undead!" effect of Limited Wish.
    - cleric_conjure_air_elemental: Like Conjure Earth Elemental.
    - cleric_aura_of_vitality: Party gains +4 bonus to str, dex and con, like Draw Upon Holy Might.

    17 hours ago, Gordian said:

    @Angel's Made in Heaven Encounters and Quests found here, there are 4 mods in total and a metamod on github. Really great mods overall. Just be aware that their install time is quite long, so if you're at stage of an install where you need to fix incompatibilities etc, you might want to omit them until you're done. Same goes for SCS I guess. His spell mod offers epic spells as HLAs, they do install but you don't get to choose them (need to be 25+ as per mod files but still nothing). I might work them into the my local sphere system if I find the time. So that they see use and needn't be keepered.

    Apart from that I haven't found any issues so far. They even sport configuration options.

    Yeah, the HLA component is still a work in progress.  It used to work, but I have probably been a derp somewhere and broke something.  Will get to it as soon as I have some time.

    Once it is done, it should implement the following HLA's (wizard only for now, still working on clerical ones):
    - wizard_extra_9th_level_spell: Should be obvious.
    - wizard_nazzers_nullification: Ends all dispellable effects on party and enemy alike.
    - wizard_tolodines_killing_wind: Much stronger version of Cloud Kill.
    - wizard_chosen_of_mystra: Applies the chosen of Mystra template to the wizard (25 con, immune to disease, immune to disintegration)
    - wizard_silver_fire: Allows wizard to conjure a stream of magical fire 1/day as an innate ability.
    - wizard_iolaums_longevity: Drains life from nearby enemies to heal caster, similar to Vampiric Touch.
    (Maximize Spell doesn't quite work right and will be scratched in next release.)

    5 hours ago, Gordian said:

    MiH seems to be a great mod that does touch many aspects of casting, true. The first component also states "It will also sanitize spell.ids, removing malformed and/or unused labels, freeing up a few additional slots for new spells." - could this be an issue? Maybe @Angel has insights on this.

    This is similar to a component of EET.  After implementing the restored spells, it dynamically goes through spell.ids and deletes all entries that do not actually have spell files associated with them, allowing other spell mods to claim those slots.  This behavior can be turned off in the .ini file.

  13. On 11/26/2021 at 6:52 PM, jastey said:

    I liked this idea so much this will be integrated in the upcoming v9. Thanks for the suggestion! @Angel tagging you so you are aware. Thanks for offering to write this. If you want to go further with your Yoshimo idea, let me know.

    I am unfortunately not a very good writer myself, but if something does happen to come to mind I will see what I can do.

  14. It's in-universe.

    From the Lands of Intrigue boxed set, book #2 "Amn", page 6, "Adages & Aphorisms":

    Quote

    "I found the pearl!" or "Lost the pearl, did you?"
    Euphemisms for good or bad luck, respectively.  Pearls are so strongly identified with luck in Amn that clerics of Tymora use coins and pearl (preferably black) as their goddess' symbols; Tymorian clerics elsewhere regard this practice as bordering on heresy.

    In that context, "a pearl to you" is wishing someone good luck or good fortune.

  15. 14 minutes ago, Bartimaeus said:

    Getting walloped by that huge group of spiders spiders in the Wood of Sharp Teeth. Tough to deal with all the web tangle spam - that's more or less fine, though, but MIH is increasing the XP of spiders, especially Giant Spiders, from their vanilla values a bit too much. A Giant Spider that gave 450 XP in vanilla now gives 2000; Astral Spiders from 1400 to 4000; Huge Spiders from 270 to 975. Is it not all a bit too much for enemies that aren't that much harder to deal with than big groups of Black Talon Elites, who are only worth 420 each?

    As I explained before it's exactly by the book (2e DMG page 69, or any MC in the prelude).  That's what adding three extra HD with appropriate thac0 and saves does to these creatures.  The web spam is not of my design, that's probably SCS.

    On 11/15/2021 at 3:21 AM, Bartimaeus said:

    GHAST.cre is causing the game to crash with error...

    ...every time one appears on screen for more than an instant. Removing their "MH#GHAST" class script solves the issue. The script in question seems to just cast "GHAST_STENCH" every 15 seconds, though I do not know what spell resource in particular this refers to. Does it exist in non-Enhanced Baldur's Gate?

    And this is why I hate maintaining backwards compatibility with BGT and am seriously considering dropping it.  It's just too damn hard and frustrating to keep track and come up with workarounds for everything that doesn't work on an engine that has been outdated for twenty years.  Just get EE already, it's only what, fifteen bucks?  I'll see what I can do, but no guarantees here.

  16. On 11/12/2021 at 12:32 PM, Bartimaeus said:

    Every "I:Face" comes at the end of its respective line, unless it has the "DIR" already added to it. Wouldn't it be possible to just include the parentheses in the text swap, so that it would only swap if the parentheses immediately succeeds it (i.e. if the DIR is not already there)?

    Mm, fair point.  And there might be other mods that have this issue.  While I'm not fond of fixing other mods' mistakes, I suppose it's either this or potentially face more error reports in the future.  I'll see what I can do.

    On 11/12/2021 at 12:32 PM, Bartimaeus said:

    At the very least, I should know how to solve the issue now.

    (e): Yes, doing exactly that solved the issue with both components. Hooray!

    There are two ways to work around it, either delete dir.ids from override, or edit action.ids yourself.

  17. 28 minutes ago, Bartimaeus said:

    Ah. Well, Ascension adds dir.ids as well before MIH is installed. Perhaps break off the swap text for action.ids into its own block for redundancy, :).

    Then I run the risk of doing it twice on non-Ascension games, which creates its own set of problems.  IMHO Ascension is wrong here, if it provides dir.ids it should also fix action.ids.

  18. On 11/10/2021 at 4:52 PM, Bartimaeus said:

    Revised Liches has placed a spell named "Demlich Curse" into my override as SPWI422.spl, thereby allowing a spell with no description set to appear in my list of spells to select at character creation and when leveling up a sorcerer. Presumably, it is not meant to be selected.

    Noted, spell has the wrong type, should be innate.  Will fix, thanks.

    2 hours ago, Graion Dilach said:

    Hm, that looks like DIR.IDS being missing. I heard that file works on classics as well, but a mod needs to include it.

    Yes, dir.ids must be provided and action.ids needs a small edit (every instance of I:Face* must be replaced with I:Face*DIR).  The logic for this is in lib/missing_files.tpa in the mod folder.

    I've tested this on both Linux and Windows with a fresh BGT installation and it works just fine.  The only scenario I can imagine is if there for some reason already is a dir.ids in the game, then the code won't be executed.  But this is not the case in a fresh BGT installation.

    // Missing dir.ids on older games, creates dialog/script compile issues.
    
    ACTION_IF NOT FILE_EXISTS_IN_GAME "dir.ids"
    BEGIN
      LAUNCH_ACTION_FUNCTION install
        STR_VAR
        file        = "dir.ids"
        location    = "resource/missing"
      END
    
      LAUNCH_ACTION_FUNCTION swap_text
        STR_VAR
        file        = "action.ids"
        swaps       = ~"I:Face\*" => "I:Face*DIR"~
      END
    END

     

  19. 10 hours ago, kjeron said:

    Golem spell immunity is poorly implemented as 100% Magic Resistance.

    Most weapons with elemental damage bypass MR, except for arrows and bolts.
    Oils and potions (of burning/exploding) don't bypass MR either.

    Ravenloft Flesh golems are fully susceptible to direct damage from spells (aside from their specific elemental immunities - cold/electricity), but immune to all other spell effects.
    Non-Ravenloft Flesh golems are slowed by fire/cold spells (but not damaged), and healed by electricity, but immune to all other spells.
    So if they are going to require Acid/Fire to destroy (something exclusive to the Ravenloft variety), then you should allow spells to damage them (if nothing else drop their magic resistance while they are downed).

    Mm, you make a fair point.  Proper reactions to certain spells are on my to-do list, but not a very high priority as for most golems this isn't an issue, spells like Move Earth and Mending aren't in the game after all.

    Let's see, perhaps as an intermediate solution I could lower their MR to 50% or something, and maybe make it so that BG1 "lesser" flesh golems get up only once.

    10 hours ago, kjeron said:

    @Angel Some of the "fix_creatures" functions are altering stats incorrectly.
    i.e. A L8 Shaman had it's save vs. breath altered from 13(correct) to 12(wrong).  You may not have an updated version to account for Shaman class, as that value is correct for warriors (which I believe it defaults to).

    Several creatures with Saving throws of 20 for all 5 stats were also altered. A full set of 20 saving throws should be left as is.  This prevents a creature from generating savingthrow feedback (by automatically failing all saving throws, regardless of any bonus).  It's sort of like 100 difficulty for traps/locks.

    That specific code was lifted almost 1 to 1 from SCS, so this should be an issue there as well, then.  Shamans are a bit of a tricky beast as it is.  I'll see what I can do, but don't reckon on it being changed anytime soon.

  20. On 11/4/2021 at 12:34 PM, Bartimaeus said:

    Can't currently install the Minor Quest Tweaks (BG1) component or the Enhanced Battles: Amkethran components on a BGT game, both with the same kind of error, using the 5.1 "release" version (i.e. not the live repository version).

    Mm, you may have an old version somewhere, action.ids is supposed to be patched to make this work with the latest version.  Try completely uninstalling all MiH-* mods you have and installing the latest versions of each.

    22 hours ago, Bartimaeus said:

    Sword Coast Stratagems' Smarter Dragons cannot install as a result of MIH's Revised Dragons.

    setup-stratagems_GnPjm2ENLl.png

    Restoring SPIN694.spl from the Revised Dragons' backup folder (which is my only mod besides SCS that modifies it) resolves the issue.

    The offending file: https://dl.dropboxusercontent.com/s/07ttz58zavdu7dq/SPIN694.SPL.bak

    (remove .bak, I renamed it so I could restore the non-MIH one without overwriting)

    spin694 is DRAGON_STONESKIN, which I patch to give every dragon the maximum possible number of skins.  This error is likely BGT-specific, I'll have to investigate.

    3 hours ago, InKal said:

    Flesh golems buggy, unkillable.

    There is one truly unkillable flesh golem in Siege of Dragonspear (in the dwarven tunnels near the first camp) due to a scripting issue, already fixed locally and will be in the next version.

    Other flesh golems are killable, but you may have to be a little creative about it.  Try using fire- or acid arrows, Flame Blade or Melf's Minute Meteors on them when they are down.  This is in line with their Ravenloft stats where you do need fire- or acid to permanently kill a flesh golem, but if people think it is too much I am willing to tone it down.

  21. On 10/11/2021 at 8:30 PM, DavidW said:

    The method of reading a file into a data structure, modifying that data structure, and then writing that data structure back into a file, is totally standard in programming.

    WeiDU even has a similar concept built in, with the READ_2DA_ENTRIES_NOW and SET_2DA_ENTRIES_NOW constructs.  In general the technique is known as "memory mapping" and has been a standard practice for quite some time.

    Anyway, to avoid the problem, maybe a function to sanitize CLAB* files could be created?  I'm pretty sure I saw a similar function somewhere for XPLEVEL.2DA.

×
×
  • Create New...