Ascendency-Down Posted September 4, 2006 Share Posted September 4, 2006 When Melf's Minute Meteors and Offensive Spin are combined by a Blade, the number of attacks he gets seems rather strange. In the patched, unmodded game he gets 6 ApR as it should be, but with Baldurdash or BG2 Fixpack installed the number declines to 0,5. Link to comment
CamDawg Posted September 6, 2006 Share Posted September 6, 2006 I was thinking of something perhaps a bit simpler. Since minute meteors and whirlwhind are at the cap, we could add an immunity to opcode 1 (attacks per round) so that it can not be altered from 5. Link to comment
Guest Guest Posted September 6, 2006 Share Posted September 6, 2006 why was the haste effect on offensive spin removed? Link to comment
CamDawg Posted September 6, 2006 Share Posted September 6, 2006 We included this fix from Baldurdash, and with the exception in these two cases (whirlwind and minute meteors) it's been a better fix. Haste effects interact poorly with offhand attacks, i.e. you no longer get any, so it was replaced by three different effects that (cumulatively) provide the same effect without losing the offhand attacks. Nythrum's got an excellent handle on how personal initiative, haste, and ApR opcodes interact (see his IESDP post); I'm hoping he's got a better solution that can address all of these issues. Fighting the engine at this level generally frustrates and annoys me. Link to comment
Nythrun Posted September 6, 2006 Share Posted September 6, 2006 Let's say you've got Haer'Daelis using Chaos mainhand and Entropy offhand. Normally six seconds of attacking will look like this: Attack (with Chaos) Attack (left) (with Entropy) Autopause - round end Using the Offensive Spin that comes standard with the game (or regular haste, they work in the same way) can give you one of four results at random: Attack (with Chaos) Autopause - round end Attack (with Chaos) Autopause - round end or Attack (with Chaos) Attack (with Chaos) Autopause - round end Attack (with Chaos) Autopause - round end or Attack (with Chaos) Autopause - round end Attack (with Chaos) Attack (with Chaos) Autopause - round end or even Attack (with Chaos) Attack (with Chaos) Autopause - round end Attack (with Chaos) Attack (with Chaos) Autopause - round end Although this scenario looks worse than it is (if you don't realize that haste makes your melee round last only three seconds you'll probably think that you're losing attacks, which isn't the case) there are still problems: sometimes you still only attack twice in six seconds (which stinks, Offensive Spin is supposed to make you attack more often always, not just when it feels like doing so) and your offhand mysteriously decides to go on holiday. The fixpack version, like Baldurdash before it, avoids both of these problems and makes more sense in general - except for when combined with Melf's Minute Meteors, which is proving more intractible than one would like The solution that I'm using locally has worked just fine for me, and didn't work for CamDawg - so the thing to do is figure out which of several methods causes the engine to have conniptions least often and use that one. Whichever it may be. I'm not a he, by the way Link to comment
CamDawg Posted September 6, 2006 Share Posted September 6, 2006 See, told you she had a better handle on this than I do. I'm not a he, by the way Apologies! Link to comment
CamDawg Posted September 7, 2006 Share Posted September 7, 2006 Thanks again for your research. However, I'm really not keen on changing Melf's to 4.5 ApR instead of 5--I think it's a case of introducing a more widespread bug to solve what is a relatively rare one. Immunity to opcode 1 causes issues, np. I think we can hack around it by adding offensive spin's haste effect through a secondary spell and then adding immunity to the secondary spell in melfmet.itm. I think the only other spell that messes with ApR is Boon of Lathander, and I can't remember if it uses a cumulative or static ApR effect. Link to comment
Nythrun Posted October 14, 2006 Share Posted October 14, 2006 Immunity effect, at least for now, to solve the spell cumulativity issue? // Melf's Minute Meteors causing an attack per round overflow bug with certain spells COPY_EXISTING ~melfmet.itm~ ~override~ // Melf's Minute Meteor PATCH_IF (SOURCE_SIZE>0x71) THEN BEGIN // protects against invalid files READ_LONG 0x64 "abil_off" READ_SHORT 0x68 "abil_num" READ_LONG 0x6a "fx_off" READ_SHORT 0x70 "glb_fx_num" FOR ("i"="%abil_num%"; "%i%">0; "i"-=1) BEGIN READ_SHORT ("%abil_off%"+(0x38*"%i%")+0x20) "abil_fx_idx" WRITE_SHORT ("%abil_off%"+(0x38*"%i%")+0x20) ("%abil_fx_idx%"+0x01) END // FOR i, repairing extended header effect indices PATCH_IF ("%abil_off%">"%fx_off%") BEGIN WRITE_LONG 0x64 ("%abil_off%"+0x30) SET "abil_off"=("%abil_off%"+0x30) END // PATCH_IF offset re-ordering WRITE_SHORT 0x70 ("%glb_fx_num%"+0x01) INSERT_BYTES ("%fx_off%"+(0x30*"%glb_fx_num%")+0x00) 0x30 // new while equipped effect WRITE_SHORT ("%fx_off%"+(0x30*"%glb_fx_num%")+0x00) 0x65 // protection from opcode WRITE_BYTE ("%fx_off%"+(0x30*"%glb_fx_num%")+0x02) 0x01 // target: self WRITE_LONG ("%fx_off%"+(0x30*"%glb_fx_num%")+0x08) 0x01 // opcode1: apr modifier WRITE_BYTE ("%fx_off%"+(0x30*"%glb_fx_num%")+0x0c) 0x02 // timing mode: while equipped WRITE_BYTE ("%fx_off%"+(0x30*"%glb_fx_num%")+0x12) 0x64 // min probability 100% END // PATCH_IF filesize sanity check BUT_ONLY_IF_IT_CHANGES // COPY_EXISTING ~melfmet.itm~ closed Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.