Jump to content

Scrolls


Recommended Posts

I had some code a couple weeks ago to compare scrolls vs. spells, and quite a few scrolls suffer from BG1 coding (mostly, the targets are off from Any point (4) or Caster(5)). I conveniently don't have the code, but it may be something to look for. Below is excerpted from FixPack.tp2 (0x7e is target type, 0x80 is range, and 0x10094 is effect Cast spell (scroll) and target self, which must be used for Any point cast spell abilities), but it has more than just fixes to scroll targets and ranges:

COPY_EXISTING SCRL1O.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
READ_LONG 0x6a eo
WRITE_LONG eo 0x10094

COPY_EXISTING SCRL1U.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
READ_LONG 0x6a eo
WRITE_LONG eo 0x10094

COPY_EXISTING SCRL1W.ITM OVERRIDE
READ_BYTE 0x29 f
WRITE_BYTE 0x29 f & `0x3f
READ_BYTE 0x2d f
WRITE_BYTE 0x2d f & `0x80
READ_BYTE 0x2f f
WRITE_BYTE 0x2f f ^^ 0x7f
WRITE_BYTE 0x2b 0x0

COPY_EXISTING SCRL2B.ITM OVERRIDE
READ_BYTE 0x29 f
WRITE_BYTE 0x29 f & `0x3f
READ_BYTE 0x2f f
WRITE_BYTE 0x2f f & `0x3f
WRITE_BYTE 0x2b 0x0
WRITE_BYTE 0x2d 0x0

COPY_EXISTING SCRL2F.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
WRITE_SHORT 0x80 0xc
READ_LONG 0x6a eo
WRITE_LONG eo 0x10094

COPY_EXISTING SCRL56.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
READ_LONG 0x6a eo
WRITE_BYTE eo + 0x3 0x0

COPY_EXISTING SCRL58.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
READ_LONG 0x6a eo
WRITE_BYTE eo + 0x3 0x0

COPY_EXISTING SCRL59.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
READ_LONG 0x6a eo
WRITE_BYTE eo + 0x3 0x0

COPY_EXISTING SCRL5A.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20

COPY_EXISTING SCRL5B.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
READ_LONG 0x6a eo
WRITE_SHORT eo 0x92

COPY_EXISTING SCRL5C.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
WRITE_SHORT 0x80 0x1

COPY_EXISTING SCRL5D.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
READ_LONG 0x6a eo
WRITE_SHORT eo 0x92

COPY_EXISTING SCRL5E.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20

COPY_EXISTING SCRL5F.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
WRITE_SHORT 0x80 0x28

COPY_EXISTING SCRL5G.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20

COPY_EXISTING SCRL5I.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
WRITE_SHORT 0x80 0x32
READ_LONG 0x6a eo
WRITE_LONG eo 0x10094

COPY_EXISTING SCRL5K.ITM OVERRIDE
WRITE_SHORT 0x80 0x1

COPY_EXISTING SCRL5T.ITM OVERRIDE
READ_BYTE 0x29 f
WRITE_BYTE 0x29 f & `0x3f
READ_BYTE 0x2d f
WRITE_BYTE 0x2d f & `0x80
WRITE_BYTE 0x2b 0x0
WRITE_BYTE 0x2f 0x0

COPY_EXISTING SCRL61.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
READ_LONG 0x6a eo
WRITE_BYTE eo + 0x3 0x0

COPY_EXISTING SCRL62.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
WRITE_SHORT 0x80 0x28
READ_LONG 0x6a eo
WRITE_BYTE eo + 0x3 0x0

COPY_EXISTING SCRL63.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
WRITE_SHORT 0x80 0x1e
READ_LONG 0x6a eo
WRITE_BYTE eo + 0x3 0x0

COPY_EXISTING SCRL6J.ITM OVERRIDE
WRITE_SHORT 0x80 0x19

COPY_EXISTING SCRL6N.ITM OVERRIDE
READ_BYTE 0x2f f
WRITE_BYTE 0x2f f | 0x40

COPY_EXISTING SCRL6V.ITM OVERRIDE
READ_BYTE 0x2f f
WRITE_BYTE 0x2f f | 0x40
WRITE_SHORT 0x80 0x28

COPY_EXISTING SCRL6X.ITM OVERRIDE
WRITE_ASCII 0x3a SPWI516A
WRITE_ASCII 0x76 SPWI516A
WRITE_ASCII 0xae SPWI516A

COPY_EXISTING SCRL70.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
WRITE_SHORT 0x80 0xf
READ_LONG 0x6a eo
WRITE_LONG eo 0x10094

COPY_EXISTING SCRL76.ITM OVERRIDE
WRITE_SHORT 0x80 0x1e

COPY_EXISTING SCRL7I.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
WRITE_SHORT 0x80 0x32
READ_LONG 0x6a eo
WRITE_LONG eo 0x10094

COPY_EXISTING SCRL7M.ITM OVERRIDE
WRITE_BYTE 0x7e 0x5

COPY_EXISTING SCRL7U.ITM OVERRIDE
WRITE_BYTE 0x2f 0x0

COPY_EXISTING SCRL80.ITM OVERRIDE
WRITE_BYTE 0x7e 0x5

COPY_EXISTING SCRL8B.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20

COPY_EXISTING SCRL8C.ITM OVERRIDE
READ_BYTE 0x21 f
WRITE_BYTE 0x21 f | 0x20
WRITE_SHORT 0x80 0x32

COPY_EXISTING SCRL8E.ITM OVERRIDE
READ_BYTE 0x20 f
WRITE_BYTE 0x20 f | 0x40
WRITE_BYTE 0x2b 0x0

COPY_EXISTING SCRL8H.ITM OVERRIDE
WRITE_SHORT 0x80 0x14

COPY_EXISTING SCRL8P.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
WRITE_SHORT 0x80 0xf
READ_LONG 0x6a eo
WRITE_LONG eo 0x10094

COPY_EXISTING SCRL8R.ITM OVERRIDE
READ_BYTE 0x2d f
WRITE_BYTE 0x2d f ^^ 0x3

COPY_EXISTING SCRL8Y.ITM OVERRIDE
WRITE_BYTE 0x7e 0x1

COPY_EXISTING SCRL94.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
READ_LONG 0x6a eo
WRITE_LONG eo 0x10094

COPY_EXISTING SCRL9A.ITM OVERRIDE
READ_BYTE 0x29 f
WRITE_BYTE 0x29 f & `0x3f
READ_BYTE 0x2d f
WRITE_BYTE 0x2d f & `0x80
WRITE_BYTE 0x2b 0x0
WRITE_BYTE 0x2f 0x0

COPY_EXISTING SCRL9B.ITM OVERRIDE
READ_BYTE 0x29 f
WRITE_BYTE 0x29 f & `0x3f

COPY_EXISTING SCRL9H.ITM OVERRIDE
WRITE_SHORT 0x80 0x1

COPY_EXISTING SCRL9M.ITM OVERRIDE
READ_BYTE 0x2f f
WRITE_BYTE 0x2f f | 0x40
WRITE_SHORT 0x80 0x50

COPY_EXISTING SCRLA1.ITM OVERRIDE
READ_BYTE 0x2f f
WRITE_BYTE 0x2f f | 0x40
WRITE_BYTE 0x7e 0x4
WRITE_SHORT 0x80 0x1e
READ_LONG 0x6a eo
WRITE_SHORT eo 0x94

COPY_EXISTING SCRLA3.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
READ_LONG 0x6a eo
WRITE_SHORT eo 0x94

COPY_EXISTING SCRLA5.ITM OVERRIDE
READ_BYTE 0x2f f
WRITE_BYTE 0x2f f | 0x40
WRITE_LONG 0xc 0x96bc

COPY_EXISTING SCRLA6.ITM OVERRIDE
WRITE_SHORT 0x80 0x3c

COPY_EXISTING SCRLA7.ITM OVERRIDE
WRITE_BYTE 0x7e 0x4
WRITE_SHORT 0x80 0x28
READ_LONG 0x6a eo
WRITE_SHORT eo 0x94

COPY_EXISTING SCRLA8.ITM OVERRIDE
WRITE_SHORT 0x80 0x1

COPY_EXISTING SCRLA9.ITM OVERRIDE
WRITE_SHORT 0x38 0x1
WRITE_SHORT 0x68 0x0
READ_LONG 0x64 ao
DELETE_BYTES ao 0x38
WRITE_LONG 0x6a ao

COPY_EXISTING SCRLAA.ITM OVERRIDE
WRITE_SHORT 0x38 0x1
WRITE_SHORT 0x68 0x0
READ_LONG 0x64 ao
DELETE_BYTES ao 0x70
WRITE_LONG 0x6a ao

COPY_EXISTING SCRLAB.ITM OVERRIDE
WRITE_SHORT 0x1c 0x25
WRITE_SHORT 0x38 0x1

COPY_EXISTING SCRLAC.ITM OVERRIDE
WRITE_SHORT 0x1c 0x25
WRITE_SHORT 0x38 0x1
WRITE_SHORT 0x68 0x0
READ_LONG 0x64 ao
DELETE_BYTES ao 0x70
WRITE_LONG 0x6a ao

COPY_EXISTING SCRLAD.ITM OVERRIDE
WRITE_SHORT 0x1c 0x25
WRITE_SHORT 0x38 0x1
WRITE_SHORT 0x68 0x0
READ_LONG 0x64 ao
DELETE_BYTES ao 0x70
WRITE_LONG 0x6a ao

COPY_EXISTING SCRLAF.ITM OVERRIDE
WRITE_SHORT 0x1c 0x25
WRITE_SHORT 0x38 0x1

COPY_EXISTING SCRLAG.ITM OVERRIDE
READ_BYTE 0x18 f
WRITE_BYTE 0x18 f | 0x40
WRITE_ASCII 0x3a IMISC6F #8
WRITE_ASCII 0x58 CMISC6F #8
WRITE_SHORT 0x1c 0x25

COPY_EXISTING SCRLAI.ITM OVERRIDE
WRITE_ASCII 0xae SPWI221A
WRITE_SHORT 0x80 0x28

COPY_EXISTING SCRLAJ.ITM OVERRIDE
WRITE_BYTE 0x7e 0x5

COPY_EXISTING SCRLAK.ITM OVERRIDE
WRITE_SHORT 0x80 0x1

COPY_EXISTING SCRLB4.ITM OVERRIDE
READ_BYTE 0x2d f
WRITE_BYTE 0x2d f | 0x3
READ_LONG 0x6a eo
WRITE_SHORT eo 0x92

COPY_EXISTING SCRLHP.ITM OVERRIDE
WRITE_ASCII 0x3a IMISC8A #8
WRITE_ASCII 0x58 CMISC8A #8
WRITE_SHORT 0x1c 0x25

COPY_EXISTING SCRLICK.ITM OVERRIDE
WRITE_ASCII 0x3a IMISC4T #8
WRITE_ASCII 0x58 CMISC4T #8
WRITE_SHORT 0x1c 0x25

COPY_EXISTING SCRLMZ.ITM OVERRIDE
WRITE_ASCII 0x3a IMISC1C #8
WRITE_SHORT 0x1c 0x25

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...