dnd4me Posted June 28, 2010 Share Posted June 28, 2010 Is there a way to give the Glasses of Identification like 50+ charges, or some higher number than 3, where it's unlikely I'll run out of charges before I need to rest? I don't like the mod that automatically identifies all items, because, when looking at a corpse, or chest, etc, it's handy to see that an item is blue, or needs to be identified. This lets you know that this is not a mundane item and is worth taking a closer look at. What I don't like is that I often have no way of identifying items, as a ranger/cleric, without resting so I can get 3 charges on my Glasses of ID, or going to town to pay for the service. Just looking for an easy remedy for this. I thought about using Shadow Keeper to jack my lore up really high, but apparently that's not possible. Thanks in advance! =) Link to comment
the bigg Posted June 28, 2010 Share Posted June 28, 2010 Lore is re-calculated at every level up, unfortunately. Altering bg2_tweaks/setup-bg2_tweaks.tp2 as following alters the 'all items identified' component by giving every item a lore value of 1 and preventing them from being already identified. --- BG2_Tweaks/Setup-BG2_Tweaks.tp2 2009-09-19 00:42:51.437500000 +0200 +++ BG2_Tweaks/Setup-BG2_Tweaks.tp2 2010-06-28 12:21:02.352318300 +0200 @@ -8085,7 +8085,7 @@ PRINT @1 COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ ~override~ PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files - WRITE_SHORT 0x42 0 + WRITE_SHORT 0x42 1 END BUT_ONLY_IF_IT_CHANGES @@ -8098,26 +8098,6 @@ END -// ensures are regexp search doesn't die -COPY_EXISTING ~ar0087.are~ ~override/xr2400.are~ - ~ar0087.are~ ~override/xr2600.are~ - -// add charges to items in game -COPY_EXISTING_REGEXP GLOB ~^.+\.cre$~ ~override~ - ~^.+\.are$~ ~override~ - PATCH_IF ("%SOURCE_FILE%" STRING_COMPARE_REGEXP "^.+\.cre$" = 0) BEGIN // if creature - READ_LONG 0x2bc "itm_off" ELSE 0 - READ_LONG 0x2c0 "itm_num" ELSE 0 - END ELSE BEGIN - READ_LONG 0x78 "itm_off" ELSE 0 - READ_SHORT 0x76 "itm_num" ELSE 0 - END - FOR (index = 0; index < itm_num; index = index + 1) BEGIN - READ_BYTE ("%itm_off%" + 0x10 + (0x14 * "%index%")) "flag" - WRITE_BYTE ("%itm_off%" + 0x10 + (0x14 * "%index%")) ("%flag%" BOR 0b00000001) // adds identified flag - END - BUT_ONLY_IF_IT_CHANGES - /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ ///// \\\\\ Link to comment
dnd4me Posted June 28, 2010 Author Share Posted June 28, 2010 Thank you for that. Do I just copy/paste all that into the Setup-BG2_Tweaks.tp2 file? Does it matter where I insert that info within the contents of the file? I can use notepad for this correct? Link to comment
the bigg Posted June 28, 2010 Share Posted June 28, 2010 You can't copy it in the tp2, since it's a diff file, AKA instructions for the 'patch' program to alter the file. Unfortunately, I can't find a GUI-driven program to perform patch operations. Since the patch is rather short, you can perform the patches yourself: the @@ lines tell you (approximately) the point in the file where you should perform the changes, the lines that start with a - tell which lines to remove, the lines that start with a + the ones to add, and the other lines are for context. Notepad is passable, but Notepad++ is way better (at the very least, Notepad risks corrupting the source file). Link to comment
dnd4me Posted June 28, 2010 Author Share Posted June 28, 2010 You can't copy it in the tp2, since it's a diff file, AKA instructions for the 'patch' program to alter the file. Unfortunately, I can't find a GUI-driven program to perform patch operations. Since the patch is rather short, you can perform the patches yourself: the @@ lines tell you (approximately) the point in the file where you should perform the changes, the lines that start with a - tell which lines to remove, the lines that start with a + the ones to add, and the other lines are for context. Notepad is passable, but Notepad++ is way better (at the very least, Notepad risks corrupting the source file). Do I make the changes you mention above with or without the identify all items patch installed? And just to confirm, it appears as though I just remove a bunch of lines (everything with a - before it) and alter the "WRITE_SHORT 0x42 0" to a "WRITE_SHORT 0x42 1" (changing the 0 to a 1). Correct? Link to comment
dnd4me Posted June 28, 2010 Author Share Posted June 28, 2010 I believe I made all the changes you listed but it didn't seem to work. I'm doing the Lilarcor quest now, and made a save before and after I get the sword. With the "all items identified" patch installed, it is auto-id'd with or without the changes you listed, unless I misunderstood what you wanted me to do. This is the first time I've tried editing such files. Link to comment
the bigg Posted June 28, 2010 Share Posted June 28, 2010 The changes you made are correct. Lilarcor is already identified (IIRC). Also, if you've already visited a given area, the ID status of items doesn't change. Link to comment
dnd4me Posted July 2, 2010 Author Share Posted July 2, 2010 Woohoo, finally got it to work, BUT! I didn't realize that ALL items are now unidentified by default. Meaning items that normally wouldn't have to be ID'd now need to be (everything). My goal was to have magical items, that normally need to be ID'd before use, remained blue on a corpse or chest, indicating they were worth picking up and selling/using, etc, but became easily identifiable. So maybe have the game check to see if the "lore to identify" value is > 1, then to reset those, and only those, items to have a "lore to identify" value = 1. Leave the mundane items that don't need to be ID'd in the first place the way they are. Is this possible without too much difficulty? Link to comment
Wisp Posted July 2, 2010 Share Posted July 2, 2010 I'm too lazy to make a diff of it but you can replace the "WRTITE_SHORT 0x42 1" line with "WRITE_SHORT 0x42 THIS = 0 ? 0 : 1" and it should work like you want it to. Link to comment
dnd4me Posted July 2, 2010 Author Share Posted July 2, 2010 I'm too lazy to make a diff of it but you can replace the "WRTITE_SHORT 0x42 1" line with "WRITE_SHORT 0x42 THIS = 0 ? 0 : 1" and it should work like you want it to. So make all the other changes the bigg mentioned and make the alteration above and that should work? Link to comment
Wisp Posted July 2, 2010 Share Posted July 2, 2010 I'm too lazy to make a diff of it but you can replace the "WRTITE_SHORT 0x42 1" line with "WRITE_SHORT 0x42 THIS = 0 ? 0 : 1" and it should work like you want it to. So make all the other changes the bigg mentioned and make the alteration above and that should work? Yes. But it'll say "WRITE_SHORT 0x42 0" if you don't make all the changes. Link to comment
dnd4me Posted July 2, 2010 Author Share Posted July 2, 2010 I'm too lazy to make a diff of it but you can replace the "WRTITE_SHORT 0x42 1" line with "WRITE_SHORT 0x42 THIS = 0 ? 0 : 1" and it should work like you want it to. So make all the other changes the bigg mentioned and make the alteration above and that should work? Yes. But it'll say "WRITE_SHORT 0x42 0" if you don't make all the changes. Awesome! Haven't gotten out of the dungeon yet to make absolute certain (ran patcher after entering dungeon), but I used an item viewer and it looks like it should have worked. Thanks so much! Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.