Wounded_Lion Posted December 30, 2005 Share Posted December 30, 2005 The Arcane Archer includes a bugfix that may not be present in the BG2Fixpack (I did not notice this fix as I scanned the item section). Excluding (of course) the opposite elemental damage, Arrows of Fire and Arrows of Ice are identical in all respects (including cost) except one: THAC0 bonus. Arrows of Fire grant a THAC0 bonus of +2. I think it likely that the Arrows were meant to be 'opposite but equal'. a W.L. COPY_EXISTING ~AROW09.ITM~ ~override~ WRITE_SHORT 0x86 2 *edit: rendered code a teeny bit more efficient* Link to comment
Andyr Posted December 31, 2005 Share Posted December 31, 2005 AROW16.ITM is also an Arrows of Ice and also lacks this thac0 bonus. Link to comment
Wounded_Lion Posted December 31, 2005 Author Share Posted December 31, 2005 AROW16.ITM is also an Arrows of Ice and also lacks this thac0 bonus. <{POST_SNAPBACK}> That file is rather odd: if I recall correctly, it is an Arrow of Ice that has an additional electrical damage effect. I thought it odd when I was creating the Arcane Archer and simply ignored it. a Wounded Lion Link to comment
Andyr Posted December 31, 2005 Share Posted December 31, 2005 You're right, it has two damage effects (but the value is not Electricity [4] but Unknown [262144], and it is also not referenced by any other files. So we can probably ignore it... I think it's a BG1 remnant. The abilities fit BG1's AROW16 (which did 1d6 elemental damage, as opposed to the 1d2 the BG2 equivalent's description says). AROW16 was used in BG1 by Angelo. Link to comment
devSin Posted December 31, 2005 Share Posted December 31, 2005 And the THAC0 bonus likely from the kobold or phoenix arrows (the +2 THAC0 bonus exists in BG). Personally, I think the bug is that the arrow of fire is providing an unmentioned and nonsensical THAC0 bonus. Link to comment
Wounded_Lion Posted December 31, 2005 Author Share Posted December 31, 2005 And the THAC0 bonus likely from the kobold or phoenix arrows (the +2 THAC0 bonus exists in BG). Personally, I think the bug is that the arrow of fire is providing an unmentioned and nonsensical THAC0 bonus. <{POST_SNAPBACK}> The THAC0 bonus is mentioned in the item description (with the Game Text Upgrade installed, anyway). As for being nonsensical... that is up for debate. I, for one, approve of the bonus. Link to comment
CamDawg Posted January 7, 2006 Share Posted January 7, 2006 AROW16 and is a BG holdover (they're on Angelo) and is not referenced by anything in a clean ToB install. The THAC0 bonus is not mentioned in the original game text, which means devSin is right--the THAC0 is spurious. I've removed the THAC0 bonus from the GTU and added this code to adjust the Arrows of Fire: // fire arrows have a spurious +2 thac0 bonus COPY_EXISTING ~arow08.itm~ ~override~ READ_LONG 0x64 "abil_off" READ_SHORT 0x68 "abil_num" READ_LONG 0x6a "fx_off" FOR (index = 0; index < abil_num; index = index + 1) BEGIN READ_BYTE ("%abil_off%" + (0x38 * "%index%")) "type" PATCH_IF ("%type%" = 2) BEGIN // ranged WRITE_SHORT ("%abil_off%" + 0x14 + (0x38 * "%index%")) 0 // thac0 bonus END END BUT_ONLY_IF_IT_CHANGES The other three arrows of fire are BG holdovers--Angelo's angarow.itm, Kobold Commandos (arowkc.itm) and Phoenix Guards (arrophe2.itm). edit: Scratch that, arowkc are used by BG2 kobold commandos and are the old school BG arrows of fire: 1d6+2 +1d6 fire damage. They are undroppable though. Link to comment
Wounded_Lion Posted January 10, 2006 Author Share Posted January 10, 2006 // fire arrows have a spurious +2 thac0 bonus COPY_EXISTING ~arow08.itm~ ~override~ READ_LONG 0x64 "abil_off" READ_SHORT 0x68 "abil_num" READ_LONG 0x6a "fx_off" FOR (index = 0; index < abil_num; index = index + 1) BEGIN READ_BYTE ("%abil_off%" + (0x38 * "%index%")) "type" PATCH_IF ("%type%" = 2) BEGIN // ranged WRITE_SHORT ("%abil_off%" + 0x14 + (0x38 * "%index%")) 0 // thac0 bonus END END BUT_ONLY_IF_IT_CHANGES Um... wouldn't this have been a bit easier? a Wounded Lion COPY_EXISTING ~AROW08.ITM~ ~override~ WRITE_SHORT 0x86 0 Link to comment
CamDawg Posted January 10, 2006 Share Posted January 10, 2006 Anything beyond 0x72 is extended headers, and subject to change if someone wants to add abilities, effects, etc. This code is portable, maximally compatible, and I can drop it anywhere (in fact it was originally from another patch) and not have to worry about whether we patch arow08 somewhere else in the Fixpack. Link to comment
Wounded_Lion Posted January 11, 2006 Author Share Posted January 11, 2006 Anything beyond 0x72 is extended headers, and subject to change if someone wants to add abilities, effects, etc. This code is portable, maximally compatible, and I can drop it anywhere (in fact it was originally from another patch) and not have to worry about whether we patch arow08 somewhere else in the Fixpack. <{POST_SNAPBACK}> In this case, I think it unlikely that anyone would change the Arrows of Fire to such an extent that 0x86 would no longer mark the location of the THAC0 bonus field... Ultimately, however, I don't care what code you use so long as it works. a W.L. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.