Avenger Posted October 23, 2007 Share Posted October 23, 2007 This effect is buggy in BG2 (probably in BG1 too), but it works in the Blackisle line (HoW/IWD2). The effect is supposed to remove the sleep effect and state, but it removes only the state. Removing the state would only work in case of a permanent effect (where the effect goes away, and only the preset base state remains). The effect removes 0x2 (Awaken) effects instead of 0x27 (Sleep) effects. It seems to be a plain programming error where Awaken removes Awaken instead of Sleep. It would be easy to patch it, one just needs to overwrite 2 bytes to make this effect work (a couple of years ago in dltc we couldn't cope with this). [edit] If anyone cares with .exe level fixpacking, i could supply the offsets. The offsets for ToB: 0x4035F4 (0x2) --> (0x27) 0x40362C (0x2) --> (0x27) Link to comment
Ascension64 Posted December 1, 2007 Share Posted December 1, 2007 Was playing around with this. Funny, I had to fish the offsets from my ToB, since yours didn't match mine. 0x5035F3 0x50362B I was wondering whether this effect might interrupt a creature's action, particularly if the creature isn't already under the sleep effect. Any other side effects that might occur? EDIT: Sorry, wrong offsets. I believe you've used decompiled offsets. So did I. Correct ones should be 0x1035F4 0x10362C Link to comment
Avenger Posted December 2, 2007 Author Share Posted December 2, 2007 1. Yes, i forgot to subtract the base offset from those positions. 2. No side effects for creatures not affected by sleep. Opcodes rarely interrupt actions, maybe only damage/death style opcodes do. Link to comment
Demivrgvs Posted December 11, 2007 Share Posted December 11, 2007 I'd really like to have Cure Sleep working as it should...but i can't understand what i'm supposed to do... Link to comment
Nythrun Posted December 11, 2007 Share Posted December 11, 2007 COPY_EXISTING ~bgmain.exe~ ~bgmain.exe~ PATCH_FOR_EACH "of" IN 0x1035f4 0x10362c BEGIN READ_BYTE "of" "val" PATCH_IF ("val" = 0x2) THEN BEGIN WRITE_BYTE "of" 0x27 END ELSE BEGIN INNER_ACTION BEGIN FAIL ~Unknown opcode location~ END END END Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.