Jump to content

Version 2 of Tweaks Anthology Now Available


CamDawg

Recommended Posts

and Don't Auto-Assign Advanced AI Scripting to Party

 

Man, I was going to donate that :D

 

PS Actually, this is not quite accurate:

This component alters the NPCs to instead come with no AI script assigned, as they do in vanilla BG/BG2 games.

 

they get DEFAULT in vanilla (with the exception of Player1 who starts empty).

Link to comment

 

and Don't Auto-Assign Advanced AI Scripting to Party

Man, I was going to donate that :D

 

Yeah, Imoen saving me in Chateau Irenicus and then casting Stoneskin always makes my eye twitch.

 

PS Actually, this is not quite accurate:

This component alters the NPCs to instead come with no AI script assigned, as they do in vanilla BG/BG2 games.

they get DEFAULT in vanilla (with the exception of Player1 who starts empty).

 

Ah, that's a good point--I'll update the docs, and probably swap them over to DEFAULT instead of NONE to keep it consistent.

Link to comment

Alright, if all you're going to do is point out really embarrassing bugs, you need to go outside for a bit. Go on, git!

 

 

 

Seriously, thanks for the bug reports--keep 'em coming!

 

Hehe, just you wait. I haven't gotten around to testing it on vanilla BG1 and IWD1 yet. ;-)

 

EDIT: Well, I did now. Good news is, the only install issue I found on them is that the option to alter the druid's XP table isn't offered anymore on either game. While it's true that druids share the priest spell table here, they do still have a separate XP table.

 

As for game play issues, well that will have to wait until I feel like playing them again. :-)

 

 

Also some very richly deserved praise, I really like your version of the non-bouncing lightning bolts. I hadn't thought of editing projectile files like that. (Mostly because I don't know how they work, something I will have to address sometime...) Now I can have my wizard toss around my favorite third level spell the way it was intended without having to worry of them frying themselves!

 

And the way you implemented that split up Resist Fire/Cold Icon mod, neat. Those array things of yours are really versatile!

Link to comment

During my tests of my own version of the level-locked spell scrolls, I discovered that the original BG1/TotSC and IWD1/HoW/TotLM engines do not check the minimum level field of items. So while the component is installable on these engines, it won't have any effect.

 

Also, scribing new spells in the spellbook does not check the level field either. But since the spell won't be castable until the caster levels up anyway, I suppose this does not matter much.

 

Finally, my original mod actually allowed casters to use scrolls of one level beyond what they can normally cast. So a 7th level priest (4th level spells) would be able to use a scroll of Cure Critical Wounds (5th level spell). Otherwise they would have to wait till they are 9th level which is beyond the TotSC level cap, so those scrolls of Cure Critical Wounds added to some temples in BG1 by BG1UB would be useless.

 

Alright, this is all in. Priest spells are covered, both can cast one level beyond, and it now skips IWD/BG games.

 

The issue with Increase Gem & Jewelry stacking (and scroll stacking, too) is that it goes through all scripts and dialogues and adjusts a few actions here and there so that entire item stacks don't get eaten. During the search, any time it hits a dialogue with a bad action/trigger it will spit out a warning--in this case, it's complaining (correctly) that dcallian.dlg uses an action not listed in action.ids--but these are unrelated to the tweak itself.

 

For the record, the DCALLIAN issue is in the IWDEE bug tracker.

 

Two typos in cdtweaks/lib/g3_cpmvars_master.tpa prevent installing multiple components on vanilla BG1 and Trilogy. Here's the diff:

 

 

 

diff --git a/cdtweaks/lib/g3_cpmvars_master.tpa b/cdtweaks/lib/g3_cpmvars_master.tpa
index ae9b0b8..12df894 100644
--- a/cdtweaks/lib/g3_cpmvars_master.tpa
+++ b/cdtweaks/lib/g3_cpmvars_master.tpa
@@ -18,11 +18,11 @@ END ELSE BEGIN

       ACTION_IF GAME_IS ~bgt~ THEN BEGIN

-        INCLUDE ~cdtweaks/lib/g3_bgt_cpmvars.tph~ // bgt
+        INCLUDE ~cdtweaks/lib/g3_bgt_cpmvars.tpa~ // bgt

       END ELSE BEGIN

-        INCLUDE ~cdtweaks/lib/g3_bg_cpmvars.tph~ // vanilla bg
+        INCLUDE ~cdtweaks/lib/g3_bg_cpmvars.tpa~ // vanilla bg

       END

@@ -64,4 +64,4 @@ BEGIN

   END

 

 

Fixed.

 

Botched translation string references prevent installing Exotic Item Pack. Again, a diff:

 

 

 

diff --git a/cdtweaks/setup-cdtweaks.tp2 b/cdtweaks/setup-cdtweaks.tp2
index bfe8b75..f8ea1cc 100644
--- a/cdtweaks/setup-cdtweaks.tp2
+++ b/cdtweaks/setup-cdtweaks.tp2
@@ -2412,47 +2412,47 @@ COPY ~cdtweaks/bam/cdiammo.bam~  ~override~
 
 // add and name items
 COPY ~cdtweaks/itm/cdplquiv.itm~ ~override~ // quiver of plenty +0
-  SAY 0x08 @190001
-  SAY 0x0c @190001
-  SAY 0x50 @190002
-  SAY 0x54 @190002
+  SAY 0x08 @109001
+  SAY 0x0c @109001
+  SAY 0x50 @109002
+  SAY 0x54 @109002
 
 COPY ~cdtweaks/itm/cdplcase.itm~ ~override~ // case of plenty +0
-  SAY 0x08 @190003
-  SAY 0x0c @190003
-  SAY 0x50 @190004
-  SAY 0x54 @190004
+  SAY 0x08 @109003
+  SAY 0x0c @109003
+  SAY 0x50 @109004
+  SAY 0x54 @109004
 
 COPY ~cdtweaks/itm/cdplbag.itm~ ~override~ // bag of plenty +0
-  SAY 0x08 @190005
-  SAY 0x0c @190005
-  SAY 0x50 @190006
-  SAY 0x54 @190006
+  SAY 0x08 @109005
+  SAY 0x0c @109005
+  SAY 0x50 @109006
+  SAY 0x54 @109006
 
 COPY ~cdtweaks/itm/cdioun1.itm~ ~override~  // Deep Purple Ioun Stone
-  SAY 0x0c @190007
-  SAY 0x54 @190008
+  SAY 0x0c @109007
+  SAY 0x54 @109008
   WRITE_LONG 0x08 generic_ioun_name
   WRITE_LONG 0x50 generic_ioun_desc
 
 COPY ~cdtweaks/itm/cdioun2.itm~ ~override~ // Flickering White Ioun Stone
-  SAY 0x0c @190009
-  SAY 0x54 @190010
+  SAY 0x0c @109009
+  SAY 0x54 @109010
   WRITE_LONG 0x08 generic_ioun_name
   WRITE_LONG 0x50 generic_ioun_desc
 
 COPY ~cdtweaks/itm/cdkat2.itm~ ~override~ // Katana +2
-  SAY 0x0c @190013
-  SAY 0x54 @190014
+  SAY 0x0c @109013
+  SAY 0x54 @109014
   WRITE_LONG 0x08 generic_kat_name
   WRITE_LONG 0x50 generic_kat_desc
-  SAY 0x19e @190015 // wisdom modification
-  SAY 0x1fe @190021 // strength modification
-  SAY 0x25e @190020 // intelligence modification
-  SAY 0x2be @190019 // hit point modification
-  SAY 0x31e @190017 // dexterity modification
-  SAY 0x37e @190016 // constitution modification
-  SAY 0x3de @190018 // charisma modification
+  SAY 0x19e @109015 // wisdom modification
+  SAY 0x1fe @109021 // strength modification
+  SAY 0x25e @109020 // intelligence modification
+  SAY 0x2be @109019 // hit point modification
+  SAY 0x31e @109017 // dexterity modification
+  SAY 0x37e @109016 // constitution modification
+  SAY 0x3de @109018 // charisma modification
 
 LAF cd_extend_bg_area_script STR_VAR area = EVAL "%CloakwoodMines_L4%"           script = ~cdtweaks/baf/_ar1803~ END  // adds Contagion scroll to Davaeorn's loot
 LAF cd_extend_bg_area_script STR_VAR area = EVAL "%Lighthouse_BlackAlaricsCave%" script = ~cdtweaks/baf/_ar3601~ END  // adds Ninja-To +0 to Sirine cave loot
@@ -12880,4 +12880,4 @@ COPY_EXISTING ~ar0602.bcs~ ~override~ // irenicus's dungeon
   DECOMPILE_AND_PATCH BEGIN
     REPLACE_TEXTUALLY ~[ %TAB%]Global("BD_DEFAI","MYAREA",0)~ ~ False()~ // nuke block that assigns 'advanced ai' to player1
   END
-  BUT_ONLY IF_EXISTS
\ No newline at end of file
+  BUT_ONLY IF_EXISTS

 

 

Also fixed.

 

Tighten fighter/druid restrictions is way too tight now, and among other issues now locks Jaheira out of her Harper Pin. You might want to adapt my more selective code, here:

 

https://github.com/AngelGryph/MadeInHeaven/blob/development/mih/components/druid_item_restrictions.tpa

 

 

And the exception list, here:

 

https://github.com/AngelGryph/MadeInHeaven/blob/development/mih/config/druid_item_exceptions.txt

 

Harper Pin is definitely a bug, but otherwise it looks like we're going in slightly different directions here. You've got three sets of rules--including one that could change druid usability for helmets--for different types of items, whereas I'm (by design) going for the much simpler "if a druid can't use it, neither can a fighter-druid".

Link to comment

 

Tighten fighter/druid restrictions is way too tight now, and among other issues now locks Jaheira out of her Harper Pin. You might want to adapt my more selective code, here:

 

https://github.com/AngelGryph/MadeInHeaven/blob/development/mih/components/druid_item_restrictions.tpa

 

 

And the exception list, here:

 

https://github.com/AngelGryph/MadeInHeaven/blob/development/mih/config/druid_item_exceptions.txt

Harper Pin is definitely a bug, but otherwise it looks like we're going in slightly different directions here. You've got three sets of rules--including one that could change druid usability for helmets--for different types of items, whereas I'm (by design) going for the much simpler "if a druid can't use it, neither can a fighter-druid".

 

It seems we are. Let me explain my thoughts on the matter, perhaps we can come to an agreement. And if not, we can always agree to differ and I'll just keep using my own version of the mod.

 

Alright, my main idea back then was that since druids cannot wear metallic armor due to their vows, neither should fighter/druids be able to. So at first I wrote code exactly like yours, but it didn't have quite the results I wanted, fighter-druids got locked out of items I felt that should not be locked to them, like the various Potions of X Giant Strength. I see nothing in the source material that says using potions is against druidic vows, so I felt fighter-druids should be allowed to use them. That's when I wrote the "fighter or druid" code for potions, rings, wands and stuff.

 

Then later on, I realized that most helmets in the game are made of metal too, so I added the rule that attempts to distinguish helmets and ioun stones (by checking whether or not a bard can use them). That's where the locking some helms to druids code came from.

 

Finally there were items I just could not cover right with any rule, like Jaheira's Harper Pin, Wong-Fei's Ioun Stone in Throne of Bhaal, the Remorhaz Helm from the IWD Item Upgrade, and a few others. So I made a small exceptions list and externalized it so players could add other items to it if they wanted/needed to.

 

 

Perhaps an alternative would be to have the mod change only armor and shields, and leave the rest alone? That still would leave the helm situation that I don't feel is quite right but it would cover most everything else.

 

I think Item Revisions also uses something like this, but I'd have to look into it.

 

 

Anyway, that's my $0.02 on the subject, do with it what you will. :-)

Link to comment

Hi,

I was about to test GitHub version (as suggested above), but, I am not sure what I am supposed to do...
Maybe GitHub version is more for modders than for players ?

First try :
I supposed that I had to launch package_mod.bat to build the package (of course there is only one file in the root of the zip file)...
The problem is that both these lines call for files that are not in the downloaded zip file :

call "%~dp0..\ModPackaging\utilities\ie_games.bat"
call "%~dp0..\ModPackaging\utilities\complete_packaging.bat"

So, am I too stupid ? (feel free to not answer this particular question)

Second thought :
Maybe renaming weidu.exe to setup-cdtweaks.exe would be enough ?

 

Thank you for your help.

Link to comment

Ah, that's a good point--I'll update the docs, and probably swap them over to DEFAULT instead of NONE to keep it consistent.

And this is done.

 

EDIT: Well, I did now. Good news is, the only install issue I found on them is that the option to alter the druid's XP table isn't offered anymore on either game. While it's true that druids share the priest spell table here, they do still have a separate XP table.

This is now enabled for IWD/BG1.

 

Also some very richly deserved praise, I really like your version of the non-bouncing lightning bolts. I hadn't thought of editing projectile files like that. (Mostly because I don't know how they work, something I will have to address sometime...) Now I can have my wizard toss around my favorite third level spell the way it was intended without having to worry of them frying themselves!

Actually, I'm making one last tweak here--I noticed that the traditional lightning bolt can still fry the caster if it's cast at an adjacent target (like melee range), so I'm adding a very brief immunity to the projectile for the caster.

 

And the way you implemented that split up Resist Fire/Cold Icon mod, neat. Those array things of yours are really versatile!

As long as it took me to get that function working, I'd better get some use out of it.

 

It seems we are. Let me explain my thoughts on the matter, perhaps we can come to an agreement. And if not, we can always agree to differ and I'll just keep using my own version of the mod.

 

Alright, my main idea back then was that since druids cannot wear metallic armor due to their vows, neither should fighter/druids be able to. So at first I wrote code exactly like yours, but it didn't have quite the results I wanted, fighter-druids got locked out of items I felt that should not be locked to them, like the various Potions of X Giant Strength. I see nothing in the source material that says using potions is against druidic vows, so I felt fighter-druids should be allowed to use them. That's when I wrote the "fighter or druid" code for potions, rings, wands and stuff.

 

Then later on, I realized that most helmets in the game are made of metal too, so I added the rule that attempts to distinguish helmets and ioun stones (by checking whether or not a bard can use them). That's where the locking some helms to druids code came from.

 

Finally there were items I just could not cover right with any rule, like Jaheira's Harper Pin, Wong-Fei's Ioun Stone in Throne of Bhaal, the Remorhaz Helm from the IWD Item Upgrade, and a few others. So I made a small exceptions list and externalized it so players could add other items to it if they wanted/needed to.

You sold me--mainly I want to understand why before I toss something in.

 

I've got all of this more or less bundled on my computer as v3 (along with both Angel and Alien's pull requests) and I'm going through some final testing. Barring some major bug setting my computer on fire, v3 should be out later today.

Link to comment

FYI : install from github : Error when installing Exotic Item Pack] [v2]

 

 

Installing [Exotic Item Pack] [v2]
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
Copying 5 files ...
[cdtweaks/bmp/ccdioun1.bmp] loaded, 23258 bytes
Copied [cdtweaks/bmp/ccdioun1.bmp] to [override/ccdioun1.bmp]
[cdtweaks/bmp/cdpammo.bmp] loaded, 202442 bytes
Copied [cdtweaks/bmp/cdpammo.bmp] to [override/cdpammo.bmp]
[cdtweaks/bmp/cdplbag1.bmp] loaded, 147274 bytes
Copied [cdtweaks/bmp/cdplbag1.bmp] to [override/cdplbag1.bmp]
[cdtweaks/bmp/cdplqiv2.bmp] loaded, 165738 bytes
Copied [cdtweaks/bmp/cdplqiv2.bmp] to [override/cdplqiv2.bmp]
[cdtweaks/bmp/cdppotbg.bmp] loaded, 156810 bytes
Copied [cdtweaks/bmp/cdppotbg.bmp] to [override/cdppotbg.bmp]
Copying and patching 1 file ...
[./override/caldo.cre] loaded, 1136 bytes
override/caldo.cre copied to cdtweaks/backup/1090/caldo.cre, 1136 bytes
Copied [caldo.cre] to [override/caldo.cre]
Copying 6 files ...
[cdtweaks/bam/cdiammo.bam] loaded, 3362 bytes
Copied [cdtweaks/bam/cdiammo.bam] to [override/cdiammo.bam]
[cdtweaks/bam/cdipotbg.bam] loaded, 3288 bytes
Copied [cdtweaks/bam/cdipotbg.bam] to [override/cdipotbg.bam]
[cdtweaks/bam/cdplbag2.bam] loaded, 2831 bytes
Copied [cdtweaks/bam/cdplbag2.bam] to [override/cdplbag2.bam]
[cdtweaks/bam/cdplqiv1.bam] loaded, 3022 bytes
Copied [cdtweaks/bam/cdplqiv1.bam] to [override/cdplqiv1.bam]
[cdtweaks/bam/icdioun1.bam] loaded, 1929 bytes
override/icdioun1.bam copied to cdtweaks/backup/1090/icdioun1.bam, 1929 bytes
Copied [cdtweaks/bam/icdioun1.bam] to [override/icdioun1.bam]
[cdtweaks/bam/icdioun2.bam] loaded, 1929 bytes
Copied [cdtweaks/bam/icdioun2.bam] to [override/icdioun2.bam]
Copying and patching 1 file ...
[cdtweaks/itm/cdplquiv.itm] loaded, 170 bytes
ERROR: No translation provided for @190001
ERROR: [cdtweaks/itm/cdplquiv.itm] -> [override] Patching Failed (COPY) (Not_found)
Stopping installation because of error.

ERROR Installing [Exotic Item Pack], rolling back to previous state
Unable to Unlink [cdtweaks/backup/1090/OTHER.1090]: Unix.Unix_error(1, "unlink", "cdtweaks/backup/1090/OTHER.1090")
[cdtweaks/backup/1090/UNSETSTR.1090] SET_STRING uninstall info not found
Will uninstall 12 files for [CDTWEAKS/SETUP-CDTWEAKS.TP2] component 1090.
Restoring backed-up [cdtweaks/backup/1090/caldo.cre]
cdtweaks/backup/1090/caldo.cre copied to override/caldo.cre, 1136 bytes
Restoring backed-up [cdtweaks/backup/1090/icdioun1.bam]
cdtweaks/backup/1090/icdioun1.bam copied to override/icdioun1.bam, 1929 bytes
Uninstalled 12 files for [CDTWEAKS/SETUP-CDTWEAKS.TP2] component 1090.
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
[./override/eet.flag] loaded, 15 bytes
[./override/oh1000.are] loaded, 956 bytes
Unable to Unlink [cdtweaks/backup/1090/READLN.1090]: Unix.Unix_error(20, "unlink", "cdtweaks/backup/1090/READLN.1090")
Unable to Unlink [cdtweaks/backup/1090/READLN.1090.TEXT]: Unix.Unix_error(20, "unlink", "cdtweaks/backup/1090/READLN.1090.TEXT")

 

 

Edit : maybe your fix has not been pused to GitHub...

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...