aVENGER_(RR) Posted November 1, 2007 Share Posted November 1, 2007 Per the spell's description, Burning Hands should target any creature within a 60 degree arc of the caster. Unfortunately, in BG2, the spell can currently only target one creature which makes it fairly useless. I guess it needs a new projectile assigned to it, probably something similar to the Color Spray spell, which has the same description for its area of effect (60 degree arc). For reference, Burning Hands was properly implemented in IWD1 and is actually a fairly useful spell in that game, especially for finishing off a clumped pack of trolls. Link to comment
Nythrun Posted November 26, 2007 Share Posted November 26, 2007 There tends to be a second or so of caster freeze when casting cone shaped, secondary projectile spells; I never did figure out a way to skip over it. Something like this would probably do the trick if you want it: COPY_EXISTING ~cspray.pro~ ~override/burnhand.pro~ WRITE_BYTE 0x0217 0x00 ADD_PROJECTILE ~override/burnhand.pro~ COPY_EXISTING ~spwi103.spl~ ~override~ PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN READ_LONG 0x64 "ho" FOR (READ_SHORT 0x68 "hc"; "hc" > 0x00; "hc" -= 0x01) BEGIN WRITE_SHORT ("ho" + ("hc" * 0x28) - 0x20) 0x0f WRITE_BYTE ("ho" + ("hc" * 0x28) - 0x1c) 0x04 WRITE_SHORT ("ho" + ("hc" * 0x28) - 0x02) "burnhand" END END BUT_ONLY /edit Lag which doesn't happen with Cone of Cold. Perplexity, thy name is fireball.ids. Link to comment
Demivrgvs Posted December 16, 2007 Share Posted December 16, 2007 Actually i think color spray have an area of effect much greater than it should...and surely greater than burning hands should have. I'd really like to use old bg1's color spray and burning hands projectiles. Link to comment
CamDawg Posted January 8, 2008 Share Posted January 8, 2008 I had some fun playing around with this. The projectile also needed its range adjusted, and the Burning Hands scroll needed to be changed to accommodate the new targeting (four copies, as it would be added to the existing copy blocks). COPY_EXISTING ~cspray.pro~ ~override/burnhand.pro~ WRITE_SHORT 0x206 64 // range (5') WRITE_BYTE 0x217 0 // no explosion ADD_PROJECTILE ~override/burnhand.pro~ COPY_EXISTING ~spwi103.spl~ ~override~ PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN READ_LONG 0x64 "ho" FOR (READ_SHORT 0x68 "hc"; "hc" > 0x00; "hc" -= 0x01) BEGIN WRITE_SHORT ("ho" + ("hc" * 0x28) - 0x16) 5 WRITE_BYTE ("ho" + ("hc" * 0x28) - 0x1c) 4 WRITE_SHORT ("ho" + ("hc" * 0x28) - 0x02) "burnhand" END END BUT_ONLY_IF_IT_CHANGES // scroll fixes: effects target COPY_EXISTING ~scrl68.itm~ ~override~ // burning hands 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 // loops through abilities READ_SHORT ("%abil_off%" + 0x1e + ("%index%" * 0x38)) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + ("%index%" * 0x38)) "abil_fx_idx" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN // searches through fx for cast spell READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode" PATCH_IF (("%opcode%" = 146) OR ("%opcode%" = 148)) BEGIN // cast spell WRITE_BYTE ("%fx_off%" + 0x02 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 1 // target: self END END END BUT_ONLY_IF_IT_CHANGES // scroll fixes: casting opcode COPY_EXISTING ~scrl68.itm~ ~override~ // burning hands 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 // loops through abilities READ_SHORT ("%abil_off%" + 0x1e + ("%index%" * 0x38)) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + ("%index%" * 0x38)) "abil_fx_idx" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN // searches through fx for cast spell READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode" PATCH_IF ("%opcode%" = 146) BEGIN // cast spell WRITE_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) 148 // opcode: cast spell (scroll) END END END BUT_ONLY_IF_IT_CHANGES // scroll fixes: ability targeting COPY_EXISTING ~scrl68.itm~ ~override~ // burning hands 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 // loops through abilities READ_SHORT ("%abil_off%" + 0x1e + ("%index%" * 0x38)) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + ("%index%" * 0x38)) "abil_fx_idx" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN // searches through fx for cast spell READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode" PATCH_IF (("%opcode%" = 146) OR ("%opcode%" = 148)) BEGIN // cast spell WRITE_BYTE ("%abil_off%" + 0x0c + ("%index%" * 0x38)) 4 // target: any point in range (ability header) END END END BUT_ONLY_IF_IT_CHANGES // scroll fixes: range COPY_EXISTING ~scrl68.itm~ ~override~ // spook 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 // loops through abilities READ_SHORT ("%abil_off%" + 0x1e + ("%index%" * 0x38)) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + ("%index%" * 0x38)) "abil_fx_idx" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN // searches through fx for cast spell READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode" PATCH_IF (("%opcode%" = 146) OR ("%opcode%" = 148)) BEGIN // cast spell WRITE_SHORT ("%abil_off%" + 0x0e + ("%index%" * 0x38)) 5 // range (ability header) END END END BUT_ONLY_IF_IT_CHANGES And a screenshot of Imoen torching the PC, Jaheira, and Imoen with her newfangled Burning Hands: Link to comment
Caedwyr Posted January 8, 2008 Share Posted January 8, 2008 Yes, it feels more like OBC components to me as well. Link to comment
Salk Posted January 8, 2008 Share Posted January 8, 2008 I must ask you guys a question because I don't think I really understand. Let's say that we have an item or spell that has certain properties and then we have a description that omits them or reports them incorrectly. In this case, can't we say that one of the two is definitely at fault and that should be changed? Or should we think that a similar situation should be preserved or at most, patch it with an OBC component, implying that it was developer's intent? Link to comment
Caedwyr Posted January 8, 2008 Share Posted January 8, 2008 I didn't really have a logical reason for suggesting it to be an OBC component, just a feeling/inclination. Someone can probably argue a lot stronger case one way or the other, and their arguments should take precedence over my 'gut feelings'. Link to comment
devSin Posted January 9, 2008 Share Posted January 9, 2008 It doesn't pass the "it would be nice" test. Looking at the "fix," the only reason that can be argued for it is that "It would be nice if burning hands targeted multiple characters, but it doesn't." The spell works fine. The projectile works fine. Descriptions largely have no bearing on anything in the game (copy/paste from the PHB, and routinely edited poorly), so it doesn't fly as a reason for anything. We'd be changing this only because it would have been nice had they implemented it this way. We're certainly able to change the description so it doesn't allude to incorrect functionality, but just because the amulet mentions that it blocks ESP doesn't mean there's a bug for us to fix by adding ESP to the game. But, like Caedwyr, I mostly just make decisions based on feeling at this point. This doesn't feel like a fix, so a fix it cannot be! Link to comment
CamDawg Posted January 9, 2008 Share Posted January 9, 2008 I probably shoulda clarified in my first post playing around with this. In conflicts between actual effects of spells and their descriptions, I'm typically inclined to go for the spell itself. I was looking at this, honestly, more for an addition to devSin's maze animation changes (OBC Spell Animations). Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.