Skip to content

[MOD] jmerry's Tweak Collection

2

Comments

  • OrlonKronsteenOrlonKronsteen Member Posts: 905
    Thank you for checking, GraionDilach. The strange thing is this morning I can install it. Not sure what happened the other night. I have a couple more questions for either of you: in an install including this mod, Tweaks Anthology, and SCS, what install order would you use? And finally, will the weidu version in this mod (249) prevent the installation of SCS and Tweaks Anthology, if they're packaged with older versions? So sorry for all the questions.
  • nickclark89nickclark89 Member Posts: 3
    edited April 2022
    Hello! I never modded BG in my life and just came across with the Vernus bug and just found your mod! But I have no idea how install it lol so have two questions, how to install it and if I can uninstall it after doing Dorn's buggy quest! Since I'm playing vanilla I wanna let it that way

    thank you!

    edit. I just did it :D so Vernus has no dialogue? its my first time doing this quest. I read he is supposed to thank you and then her mother when you said to her her son is alive, is that bugged or internet urban legend? lol
    Post edited by nickclark89 on
  • jmerryjmerry Member Posts: 3,829
    edited April 2022
    I'm not aware of any ordering issues between my mod and SCS or Tweaks Anthology. All three mods follow a general principle of taking what's already there and applying changes, which is good for compatibility. They should work in any order.
    Installing different mods using different versions of WeiDU is also not a problem; the game files edited don't come with any sort of marker of how that editing was done. As long as the version of WeiDU used supports the features used in the mod you're installing with it, you're good. You can even rename the installers to use them with different mods; all mod installers are just renamed versions of the WeiDU executable anyway.

    Vernus does have dialogue, but only before the ritual is over. You can demand he tell you where the summoning stones are, or send him to his death once you have them. Summerheigh has no dialogue which acknowledges anything that happens in the gorge. Whether you killed Xachrimos or let him escape, whether you raised Vernus and slaughtered him or just raised him after things were done - it doesn't matter to her.

    Installing and uninstalling mods midstream is generally not recommended (it's likely to mess up text), but this component is a pretty small thing. It only changes a few spells, so it's safe to install and uninstall at any time. As long as you stick to only this component.
    Installation instructions are in the readme; put the jtweaks folder and any installers you intend to use in the game folder (at the same level as stuff like the "data" and "lang" folders and chitin.key. Run the installer, or use another WeiDU installation tool, and follow the prompts to choose what to install.
    To uninstall, or install different components, run the installer again.
  • nickclark89nickclark89 Member Posts: 3
    Thank you for all the help!

    Yeah I got pre-ritual Vernus's diloague, I tested every possible outcome yesterday (thanks OCD lol). Thank you for clarifying this! It's kinda sad there's no reaction after you resurrect him or with his mother but at least I know now that the guy in BG wikia was trolling.
  • OrlonKronsteenOrlonKronsteen Member Posts: 905
    Thanks jmerry!
  • GraionDilachGraionDilach Member Posts: 581
    jmerry wrote: »
    While I can't guarantee anything, I do at least read everything in this thread.

    Oh, and an update: I have to say that my "Bigger Random Spawns" component is not recommended for BG2EE in its current state. While it technically works the way it's supposed to, spawn points in BG2EE just aren't set up right. You can wander around the outside of de'Arnise Keep and see one troll or one ice troll despite my change, and you can head to the Underdark and see scenes like these:

    I'll be fixing these issues for the next version, trying to set reasonable "difficulty level" parameters for the spawn points and "power level" parameters for the creatures used. At least, those creatures used in vanilla. I take no responsibility for mod-altered spawn points using creatures not on the list - setting those parameters right is up to the mods in question.

    I do agree with the principle here, but the issue is that the powerLevel value in the affected CRE files are set to zero and it leads to an infinite result for a divide-by-zero, I guess (sounds appropriate for something named Infinity Engine). I'd say it's still better if you also check against those ones and keep them on what they were. Kinda like this.
    	COPY_EXISTING_REGEXP GLOB ~^.+\.ARE$~ ~override~
    		READ_LONG 0x60 ofsSpawn
    		READ_LONG 0x64 numSpawn
    		FOR (k = 0; k < numSpawn; ++k) BEGIN
    			SET isMonGrp = 0
    			SET ofsNumCre = ofsSpawn + 200*k + 116
    			READ_SHORT ofsNumCre NumCre
    			FOR (j = 1; j <= NumCre; ++j) BEGIN
    				SET ofsCre = ofsSpawn + 200*k + 28 + 8*j
    				READ_ASCII ofsCre creName (8) NULL
    				PHP_EACH spawnGroups AS index => monGrp BEGIN
    					PATCH_IF (~%monGrp%~ STR_EQ ~%creName%~) BEGIN
    						SET isMonGrp = 1
    					END
    				END // Check if it's a group from SPAWNGRP.2DA
    			END
    			SET powerLevel = 0
    			INNER_ACTION BEGIN
    				COPY_EXISTING ~%creName%.cre~ ~override~
    					READ_LONG 0x18 crePowerLevel ELSE 0
    					powerLevel = crePowerLevel
    				BUT_ONLY IF_EXISTS
    			END
    			PATCH_IF (isMonGrp = 0 AND powerLevel > 0) BEGIN
    				SET ofsMax = ofsSpawn + 200*k + 132
    				WRITE_SHORT ofsMax 10
    			END // The actual change
    		END
    	BUT_ONLY
    
  • jmerryjmerry Member Posts: 3,829
    edited July 2022
    Taken into advisement, for when I get back to this. Which will probably be once my current run (status: early ToB) is finished.

    And, actually, if I do things that way, I don't need the check against SPAWNGRP.2DA - the "IF_EXISTS" check on the creature does that for me. Because "creatures" that are actually SPAWNGRP references don't have a .CRE. So about half the code you posted goes away.
    Post edited by jmerry on
  • EndarireEndarire Member Posts: 1,512
    Your documentation mentions #27 twice:
    27. Green Slime poison can be cured

    27. Barrityl's Bigger and Better Burden
  • jmerryjmerry Member Posts: 3,829
    By which you mean the list in this thread, rather than the non-numbered list in the readme. Okay, I'll fix the numbering right now.

    Also, as an announcement: work on version 3.0 has started.
  • katiecubedkatiecubed Member Posts: 3
    Some of these look like things I would definitely use for my next playthrough :) I noticed in another thread that you were contemplating adding location names to the map, is that still something that you are considering? I used to use Sword Coast Map Labels back in the day, and it is one of the things I miss most playing the Enhanced Edition.

    In any case, thank you for sharing your work with the rest of us!
  • jmerryjmerry Member Posts: 3,829
    Yes, I've written the component, and it'll be in version 3.0 (coming soon). Two versions; one with the traditional names the community has settled on, and one with less spoiler-y names that don't reference the enemies populating those maps. That's one of fifteen new components, along with updates to the older components. I looked through everything, fixed a number of bugs, and recoded a bunch of stuff even when it wasn't broken.
  • katiecubedkatiecubed Member Posts: 3
    That is wonderful to hear, thank you again :)
  • jmerryjmerry Member Posts: 3,829
    I've done it. Updated to version 3.0, with fifteen new components and tons of fixes to existing components.
    Changes for version 3.0:
    - Fifteen new components added. These are #37 to #51 in the above list of components.
    - Many existing components have been recoded to reflect my growing knowledge of WeiDU capabilities and conventions.
    - The mod's resource folder has been restructured, adding a number of new subfolders.
    Specific functional updates to existing components:
    - Shapeshift Corrections: fixed swapped descriptions for mage polymorphs to black bear and to wolf.
    - Dueling fireshields don't go infinite: should now actually work reliably.
    - Standardize Wand of Missiles: now available for EET, because I don't trust it to fix the issue.
    - Temple cures work better: no longer breaks and causes crashes if another mod removes restoration fatigue. Also, the new temple dispel should actually function as intended and always dispel effects on its target.
    - Resurrection can heal the living: "Healed" text restored to Mass Raise Dead healing. The component also no longer creates new spells in the base game's namespace.
    - Loosen NPC item restrictions: now more compatible with mods that change base item usability.
    - Slightly improved party AI: now chooses scripts to modify by parsing PARTYIA.2DA. It should be compatible with companions from SoD and mods now.
    - Map notes for BGEE quests: eliminates an issue that could have resulted in notes being added to the wrong maps.
    - Standardize inn and tavern music: the Elfsong no longer gets generic tavern music added. The top floor of the SoD version of the Three Old Kegs has its generic tavern music removed.
    - Randomize battle music: Now fully supports SoD areas and mod-added battle music. Code vastly simplified.
    - Bigger random spawns: Fully overhauled. Instead of a flat 10, the new cap for monster spawns is either twice the original or (difficulty/20), whichever is lower. Most spawn points in BG1 have difficulty 200, and most of the spawn points in both BG1 and BG2 that didn't have that difficulty are being edited up to it. The oversight that enabled spawn points with ten beholders or ten mind flayers has been fixed.

    I'll also spotlight a couple of new components I particularly like:

    Random spawns scale with difficulty:
    Games: BGEE, BG2EE, EET

    Siege of Dragonspear throws more monsters at you if you play at higher difficulty levels. This component is inspired by that mechanic, scaling spawn points to the game difficulty. 50% at "Easy" difficulty, 75% at "Normal" difficulty, 100% at "Core Rules" difficulty, 125% at "Hard" difficulty, and 150% at "Insane" difficulty. Unlike the previous component, this one changes both the maximum and difficulty numbers by the same factor.
    In addition, this component repairs flaws in the spawn point system. These are the exact same repairs as those the "Bigger random spawns" component makes.
    These two random spawn point components can be used together, leading to spawn points with up to 15 (or three times the original) monsters at a time.

    Some spawn points activate and deactivate based on scripting conditions in the area. As this component also needs to activate and deactivate spawn points to function, any such points are skipped by this component. Token-based spawn points are also skipped, much like the other component.

    Variable drow magic resistance:
    Games: BGEE, BG2EE, EET

    Enemy drow typically get magic resistance based on their level, from about 50% at level 1 to 90% at level 20. Recruitable drow start with a fixed amount (50% or 65% for the characters in the standard game) and have to rely on equipment if they want more.
    This component allows a version of that level-scaling mechanic to extend to drow party members, and also deactivates their magic resistance in daylight.
    All recruitable elves with more than 20% base magic resistance are considered drow. This resistance is removed and replaced with the variable resistance as soon as they join the party.

    This mod component is structured as a core component with several subcomponents to set options.
    - Core component: sets up the spells and scripts needed. Required for all other subcomponents. If you install this component, you must select an option for each subsequent subcomponent.
    - Choose base drow MR: sets the base "level zero" quantity of magic resistance for drow characters. Options are low (35), medium (50), or high (65).
    - Choose MR progression rate: sets how much magic resistance to gain as the character's level increases. Options are none, slow (1 per level up to level 30), or fast (2 per level up to level 20).
    - Choose sunlight penalties: sets any additional penalties in daylight beyond merely losing magic resistances. Options are none or dazzled (-2 to hit, -2 AC versus missiles).

    Player-created characters can also use this system, though it requires save-editing or the cheat/debug console. To give a party member drow magic resistance, set a local variable "j8#drow" equal to 1 for them. The scripts will do the rest.
    Any combination of these options is allowed, for a total of 18 possible variations. I don't recommend combining a high MR start with level-based scaling (it's obviously overpowered), but I don't forbid it either.
  • katiecubedkatiecubed Member Posts: 3
    Very cool, downloading now so that I have it for my next run :)
  • CahirCahir Member, Moderator, Translator (NDA) Posts: 2,819
    @jmerry is there a chance you could add in original post a short description what exactly which component do? It's often hard to figure it out from the component name itself. Thanks, and keep up the good work!
  • jmerryjmerry Member Posts: 3,829
    edited January 2023
    I did. Last spoiler block "Full component descriptions". I've also updated the component list with subcomponent names when that applies.
    Post edited by jmerry on
  • EndarireEndarire Member Posts: 1,512
    edited January 2023
    Thankee for updating your mod, @jmerry!

    Does your mod fix the unkillable characters bug in Black Pits in EET as well, which reuses much or most of the Black Pits areas and characters?
    Post edited by Endarire on
  • jmerryjmerry Member Posts: 3,829
    Does my mod fix a bug that I didn't know about, in another mod that hasn't even reached a version 1.0 release yet? No, and it might not even be a bug - characters are intentionally unkillable in the original Black Pits, after all. In any case, that's not my responsibility.
  • Christian79Christian79 Member Posts: 48
    The component "spell shield blocks one antimagic ray" is not working in my game.
    Game Version 2.6.6
    SCS Version 34.3

    I Installed your tweaks before SCS. Does SCS overwrite your changes by any chance?
  • jmerryjmerry Member Posts: 3,829
    edited March 2023
    It doesn't, or shouldn't. But SCS does make edits to the spell, adding effects. And if that's done a certain way ... can you attach a copy of the antimagic ray spell (SPIN992) after both mods are done with it? I'd like to take a look and see how it went wrong.
  • EndarireEndarire Member Posts: 1,512
    @Christian79
    What's your full WeiDU.LOG?

    Thankee!
  • Christian79Christian79 Member Posts: 48
    edited March 2023
    jmerry wrote: »
    It doesn't, or shouldn't. But SCS does make edits to the spell, adding effects. And if that's done a certain way ... can you attach a copy of the antimagic ray spell (SPIN992) after both mods are done with it? I'd like to take a look and see how it went wrong.

    I am not allowed to attach it as is. I edited the extension.
    Endarire wrote: »
    @Christian79
    What's your full WeiDU.LOG?

    Thankee!

    WeiDU.log attached as well after changing the extension.

    edit: A bit more explanation: Spell shields protects but does not get consumed.
  • jmerryjmerry Member Posts: 3,829
    edited March 2023
    On attaching files - yeah, the forum has rules about extensions. I usually zip things up if I want to post them.

    Taking a look at that spl ... yeah, I thought so. In order to do its thing, my mod changed all of the spell's effects to hit at level 10 instead of level 0. Then SCS (Smarter Beholders) added a bunch of new effects to the beginning of the spell, and those new effects were all level 0.

    The behavior of Spell Shield here - it's one level of deflection against "magic attack" spells. It'll deflect a spell, and then use up levels of deflection based on the level of effects in the spell. Specifically, the spell's first effect is the one that sets its level for deflection purposes. I want that to be more than zero, so the spell will get used up. SCS, by adding level 0 effects to the beginning of the spell, breaks this.

    This is not something I can fix in my mod, except by adding an advisory about installation order.

    Advisory: The SCS component "Smarter Beholders" will, if installed after my component "Antimagic Ray and Spell Shield -> Spell Shield blocks one antimagic ray", effectively nullify the effect of my component. If you want both of these, my mod's component must be installed after the SCS component.

    @Christian79: Here's a hotfix for your copy of the spell, so you don't have to reinstall a bunch of stuff to make it work. I edited the first effect to power 10 in Near Infinity - no other changes. Just unzip this and replace what you have in override with this version.
  • Christian79Christian79 Member Posts: 48
    Thanks so much!
  • ReverieReverie Member Posts: 30
    Hey hey, I've gotten a couple errors trying to install the mod through Project Infinity. Would you be able to tell me what happened?

    "Installing [Shapeshift corrections -> All transformations] [3.0] [...]
    WARNING: no effects altered on plybear2.ITM [...]
    INSTALLED WITH WARNINGS Shapeshift corrections -> All transformations"

    "Installing [Resurrection can heal the living] [3.0] [...]
    WARNING: no effects added to SPPR712.SPL [...]
    WARNING: no effects added to RODS03.ITM [...]
    WARNING: no effects added to SPPR729.SPL
    INSTALLED WITH WARNINGS Resurrection can heal the living"


    "Installing [Random spawns scale with difficulty] [3.0]
    ERROR Installing [Random spawns scale with difficulty], rolling back to previous state
    Will uninstall 60 files for [jtweaks\setup-jtweaks.tp2] component 440.
    Uninstalled 60 files for [jtweaks\setup-jtweaks.tp2] component 440.
    ERROR: Failure("ARS005.ARE: read out of bounds")
    Please make a backup of the file: Setup-jtweaks.debug and look for support at: jmerry on the Beamdog forums and the Gibberlings 3 forums
    Automatically Skipping [Random spawns scale with difficulty] because of error.
    Using Language [English]
    NOT INSTALLED DUE TO ERRORS Random spawns scale with difficulty"
  • jmerryjmerry Member Posts: 3,829
    Right, starting at the less serious parts.

    Warning for "Shapeshift corrections". One thing my mod does is correct an inexplicable swap in which black bear form turns you into a brown bear and brown bear form turns you into a black bear. That warning comes up because the transfomation weapon is already altered from its base state, most likely to fix that issue. So then my mod does nothing with it - harmless.

    Warnings for "Resurrection can heal the living". The component goes through those resurrection spells and clones the existing "cast the subspell that actually resurrects" effects to set up "cast the healing subspell on the living" effects. Only that fails because the effect I'm trying to clone isn't there. The overall result of this should be that the component effectively doesn't do anything.
    So ... what else altered the spells before my component got there?

    And, just to clarify, you're definitely on patch 2.6? Because that's required for these two components, and trying to install on 2.5 would cause issues like this if my mod's block on that was somehow bypassed.

    Error for "Random spawns scale with difficulty": This one's more serious, an actual error that I'm going to need to fix. From what you posted, it seems to be choking on a mod-added area ARS005. Unless that's a typo, and it's AR5005 which doesn't normally have spawn points?
    Either way, one of my many read effects is doing so from a bad index. I don't see what would do it, on a well-formed area file ... can you upload a copy of the area that this broke on? (ARE files aren't on the list of extensions that can be directly attached, so you zip it first)
  • ReverieReverie Member Posts: 30
    Yeah, it's 2.6, I started this whole install dabbling like 2 days ago, so everything's as fresh as it can be. Good to know about the 2 components, I do have Spell Revisions and the no-new-spells components of the Olvyn spells (btw, are the new spells OP? they look like it, I wouldn't wanna throw balance out the window, I'm trying to build a challenging install here ;) ). So it's likely I do have some spell modifying thing that's annoying the Resurrection component. No problem in that case!

    As for the serious one, I copy-pasted the error from the log so a typo has no place. Here's what I could find called ARS005 along with the screenshot of possible paths, which seems kinda useless, I don't know which mod it comes from: https://drive.google.com/file/d/1EL6JG3uwKMfu9Rxrfy4-DmAMIj1Udx6b/view?usp=share_link
  • jmerryjmerry Member Posts: 3,829
    ... Oof. I just found an error in my code - a write command to an undefined location. Unless you've gone over the spawn points before and normalized all the difficulty numbers. And I'm pretty sure it's not even the error you ran into - I still haven't figured that one out. ARS005.ARE seems to be properly formed, including its four spawn points. This may take some time.
  • ReverieReverie Member Posts: 30
    Well... I'm glad you found the other one :D

    Is there any way I can help you find the ARS005 one? I'd be happy to assist.
  • ReverieReverie Member Posts: 30
    The best thing I could think of was trying to install the component on as fresh as an install as I could. I pulled out my fresh-fresh backup of BG2 and installed only EET and the "Random Spawns Scale with Difficulty" component.

    Got a different error:

    "//Installing [Random spawns scale with difficulty] [3.0]
    //ERROR Installing [Random spawns scale with difficulty], rolling back to previous state
    //Will uninstall 55 files for [jtweaks\setup-jtweaks.tp2] component 440.
    //Uninstalled 55 files for [jtweaks\setup-jtweaks.tp2] component 440.
    //ERROR: Not_found
    //Please make a backup of the file: Setup-jtweaks.debug and look for support at: jmerry on the Beamdog forums and the Gibberlings 3 forums
    //Automatically Skipping [Random spawns scale with difficulty] because of error.
    //Using Language [English]
    //NOT INSTALLED DUE TO ERRORS Random spawns scale with difficulty
    //
    //WARNING: jtweaks:440 has encounter errors durring installation, exited with ExitCode = 2
    //INSTALLATION FINISHED.
    "



    But, if I also install "Bigger Random Spawns" together with it, then the previous ARS005 error makes a return.

    Does that help whatsoever?


    "//Installing [Bigger random spawns] [3.0]
    //SUCCESSFULLY INSTALLED Bigger random spawns
    //[D:\Steam\steamapps\common\Baldur's Gate Tools\ProjectInfinity-0.10.6\Tools\WeiDU\249.00\weidu.exe] WeiDU version 24900
    //Using Language [English]
    //Using .\lang\en_us\dialog.tlk
    //Installing [Random spawns scale with difficulty] [3.0]
    //ERROR Installing [Random spawns scale with difficulty], rolling back to previous state
    //Will uninstall 46 files for [jtweaks\setup-jtweaks.tp2] component 440.
    //Uninstalled 46 files for [jtweaks\setup-jtweaks.tp2] component 440.
    //ERROR: Failure("ARS005.ARE: read out of bounds")
    //Please make a backup of the file: Setup-jtweaks.debug and look for support at: jmerry on the Beamdog forums and the Gibberlings 3 forums
    //Automatically Skipping [Random spawns scale with difficulty] because of error.
    //Using Language [English]
    //NOT INSTALLED DUE TO ERRORS Random spawns scale with difficulty
    //
    //WARNING: jtweaks:440 has encounter errors durring installation, exited with ExitCode = 2
    //INSTALLATION FINISHED.
Sign In or Register to comment.