diff --git a/iwdification/2da/7eyes.2da b/iwdification/2da/7eyes.2da new file mode 100644 index 0000000..9fb051f --- /dev/null +++ b/iwdification/2da/7eyes.2da @@ -0,0 +1,10 @@ +2DA V1.0 +* + STATE STRREF 1 2 3 4 5 6 7 8 9 +EYEMIND 48 21654 3 5 24 76 128 SPWI411 SPPR102 SPPR311 SPPR716 +EYESWORD 49 21653 12*0 12*0x800000 12*0x100000 12*0x1000000 12*0x8000000 * * * * +EYEMAGE 50 21652 12*0x80000 12*0x40000 12*0x20000 12*0x10000 12*0x400000 * * * * +EYEVENOM 51 21651 12*0x200000 25 * * * * * * * +EYESPIRIT 52 21650 SPWI605 SPWI713 SPWI912 SPPR511 SPPR734 * * * * +EYEFORTITUDE 53 21649 38 45 74 80 109 175 210 * * +EYESTONE 54 21648 134 * * * * * * * * diff --git a/iwdification/2da/cdiaelmw.2da b/iwdification/2da/cdiaelmw.2da new file mode 100644 index 0000000..762cb4d --- /dev/null +++ b/iwdification/2da/cdiaelmw.2da @@ -0,0 +1,4 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdi8air cdimsm1h SPPORTAL diff --git a/iwdification/2da/cdidsmon.2da b/iwdification/2da/cdidsmon.2da new file mode 100644 index 0000000..effd5b6 --- /dev/null +++ b/iwdification/2da/cdidsmon.2da @@ -0,0 +1,10 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdis2gb1 cdimsm1h cdimsm1x +2 cdis2gb2 cdimsm1h cdimsm1x +3 cdis2gb3 cdimsm1h cdimsm1x +4 cdis2gb3 cdimsm1h cdimsm1x +5 cdis2lz5 cdimsm1h cdimsm1x +6 cdis2lz6 cdimsm1h cdimsm1x +7 cdis2lz7 cdimsm1h cdimsm1x diff --git a/iwdification/2da/cdieelmw.2da b/iwdification/2da/cdieelmw.2da new file mode 100644 index 0000000..1b7e45f --- /dev/null +++ b/iwdification/2da/cdieelmw.2da @@ -0,0 +1,4 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdi8erth cdimsm1h cdiceelx diff --git a/iwdification/2da/cdifelmw.2da b/iwdification/2da/cdifelmw.2da new file mode 100644 index 0000000..108a5de --- /dev/null +++ b/iwdification/2da/cdifelmw.2da @@ -0,0 +1,4 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdi8fire cdimsm1h cdicfelx diff --git a/iwdification/2da/cdiinsct.2da b/iwdification/2da/cdiinsct.2da new file mode 100644 index 0000000..52907dc --- /dev/null +++ b/iwdification/2da/cdiinsct.2da @@ -0,0 +1,5 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdiibomb cdimsm1h cdiasm1x +2 cdiiborb cdimsm1h cdiasm1x diff --git a/iwdification/2da/cdimsum4.2da b/iwdification/2da/cdimsum4.2da new file mode 100644 index 0000000..6721a13 --- /dev/null +++ b/iwdification/2da/cdimsum4.2da @@ -0,0 +1,6 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdi4ghst cdimsm1h cdimsm1x +2 cdi4ogre cdimsm1h cdimsm1x +3 cdi4yeti cdimsm1h cdimsm1x diff --git a/iwdification/2da/cdimsum5.2da b/iwdification/2da/cdimsum5.2da new file mode 100644 index 0000000..b9c05f4 --- /dev/null +++ b/iwdification/2da/cdimsum5.2da @@ -0,0 +1,6 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdi5gspi cdimsm1h cdimsm1x +2 cdi5jzom cdimsm1h cdimsm1x +3 cdi5mino cdimsm1h cdimsm1x diff --git a/iwdification/2da/cdimsum6.2da b/iwdification/2da/cdimsum6.2da new file mode 100644 index 0000000..6c56546 --- /dev/null +++ b/iwdification/2da/cdimsum6.2da @@ -0,0 +1,7 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdi6crwl cdimsm1h cdimsm1x +2 cdi6pspi cdimsm1h cdimsm1x +3 cdi6salc cdimsm1h cdimsm1x +4 cdi6salf cdimsm1h cdimsm1x diff --git a/iwdification/2da/cdimsum7.2da b/iwdification/2da/cdimsum7.2da new file mode 100644 index 0000000..78c1beb --- /dev/null +++ b/iwdification/2da/cdimsum7.2da @@ -0,0 +1,5 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdi7bgrd cdimsm1h cdimsm1x +2 cdi7umbh cdimsm1h cdimsm1x diff --git a/iwdification/2da/cdishade.2da b/iwdification/2da/cdishade.2da new file mode 100644 index 0000000..5abfcbc --- /dev/null +++ b/iwdification/2da/cdishade.2da @@ -0,0 +1,14 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdis2gb2 cdimsm1h cdimsm1x +2 cdis2gb2 cdimsm1h cdimsm1x +3 cdis2gb3 cdimsm1h cdimsm1x +4 cdis2gb3 cdimsm1h cdimsm1x +5 cdis2lz5 cdimsm1h cdimsm1x +6 cdis2lz6 cdimsm1h cdimsm1x +7 cdis2lz7 cdimsm1h cdimsm1x +8 cdis3tr7 cdimsm1h cdimsm1x +9 cdis3tr8 cdimsm1h cdimsm1x +10 cdis3um8 cdimsm1h cdimsm1x +11 cdis3um9 cdimsm1h cdimsm1x diff --git a/iwdification/2da/cdishadw.2da b/iwdification/2da/cdishadw.2da new file mode 100644 index 0000000..f95ac82 --- /dev/null +++ b/iwdification/2da/cdishadw.2da @@ -0,0 +1,4 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdisshad cdimsm1h cdimsm1x diff --git a/iwdification/2da/cdismons.2da b/iwdification/2da/cdismons.2da new file mode 100644 index 0000000..cde19b1 --- /dev/null +++ b/iwdification/2da/cdismons.2da @@ -0,0 +1,11 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdis1gb1 cdimsm1h cdimsm1x +2 cdis1gb2 cdimsm1h cdimsm1x +3 cdis1gb3 cdimsm1h cdimsm1x +4 cdis1lz3 cdimsm1h cdimsm1x +5 cdis1lz4 cdimsm1h cdimsm1x +6 cdis1tr6 cdimsm1h cdimsm1x +7 cdis1tr7 cdimsm1h cdimsm1x +8 cdis1tr8 cdimsm1h cdimsm1x diff --git a/iwdification/2da/cdiwelmw.2da b/iwdification/2da/cdiwelmw.2da new file mode 100644 index 0000000..ed516f8 --- /dev/null +++ b/iwdification/2da/cdiwelmw.2da @@ -0,0 +1,4 @@ +2DA V1.0 +0 + RESREF HitAnimation AreaHitAnimation +1 cdi8watr cdimsm1h cdicwelx diff --git a/iwdification/animations/6403/msklg1.bam b/iwdification/animations/6403/msklg1.bam new file mode 100644 index 0000000..e0c1f79 Binary files /dev/null and b/iwdification/animations/6403/msklg1.bam differ diff --git a/iwdification/animations/6403/msklg1e.bam b/iwdification/animations/6403/msklg1e.bam new file mode 100644 index 0000000..195adac Binary files /dev/null and b/iwdification/animations/6403/msklg1e.bam differ diff --git a/iwdification/animations/7302/shamb01.wav b/iwdification/animations/7302/shamb01.wav new file mode 100644 index 0000000..c87cb28 Binary files /dev/null and b/iwdification/animations/7302/shamb01.wav differ diff --git a/iwdification/animations/7302/shamb02.wav b/iwdification/animations/7302/shamb02.wav new file mode 100644 index 0000000..78235b4 Binary files /dev/null and b/iwdification/animations/7302/shamb02.wav differ diff --git a/iwdification/animations/7302/shamb03.wav b/iwdification/animations/7302/shamb03.wav new file mode 100644 index 0000000..04115c0 Binary files /dev/null and b/iwdification/animations/7302/shamb03.wav differ diff --git a/iwdification/animations/7302/shamb04.wav b/iwdification/animations/7302/shamb04.wav new file mode 100644 index 0000000..f625ceb Binary files /dev/null and b/iwdification/animations/7302/shamb04.wav differ diff --git a/iwdification/animations/7302/shamb05.wav b/iwdification/animations/7302/shamb05.wav new file mode 100644 index 0000000..8fc13e7 Binary files /dev/null and b/iwdification/animations/7302/shamb05.wav differ diff --git a/iwdification/animations/7302/shamb06.wav b/iwdification/animations/7302/shamb06.wav new file mode 100644 index 0000000..9abdd2d Binary files /dev/null and b/iwdification/animations/7302/shamb06.wav differ diff --git a/iwdification/animations/7302/shamb07.wav b/iwdification/animations/7302/shamb07.wav new file mode 100644 index 0000000..90a4b36 Binary files /dev/null and b/iwdification/animations/7302/shamb07.wav differ diff --git a/iwdification/animations/e070/bf_md01.wav b/iwdification/animations/e070/bf_md01.wav new file mode 100644 index 0000000..64f5174 Binary files /dev/null and b/iwdification/animations/e070/bf_md01.wav differ diff --git a/iwdification/animations/e070/bf_md02.wav b/iwdification/animations/e070/bf_md02.wav new file mode 100644 index 0000000..441c655 Binary files /dev/null and b/iwdification/animations/e070/bf_md02.wav differ diff --git a/iwdification/animations/e070/bf_md03.wav b/iwdification/animations/e070/bf_md03.wav new file mode 100644 index 0000000..714b141 Binary files /dev/null and b/iwdification/animations/e070/bf_md03.wav differ diff --git a/iwdification/animations/e070/minot01.wav b/iwdification/animations/e070/minot01.wav new file mode 100644 index 0000000..34e0040 Binary files /dev/null and b/iwdification/animations/e070/minot01.wav differ diff --git a/iwdification/animations/e070/minot02.wav b/iwdification/animations/e070/minot02.wav new file mode 100644 index 0000000..102f524 Binary files /dev/null and b/iwdification/animations/e070/minot02.wav differ diff --git a/iwdification/animations/e070/minot03.wav b/iwdification/animations/e070/minot03.wav new file mode 100644 index 0000000..b60dece Binary files /dev/null and b/iwdification/animations/e070/minot03.wav differ diff --git a/iwdification/animations/e070/minot04.wav b/iwdification/animations/e070/minot04.wav new file mode 100644 index 0000000..c01b9a3 Binary files /dev/null and b/iwdification/animations/e070/minot04.wav differ diff --git a/iwdification/animations/e070/minot07.wav b/iwdification/animations/e070/minot07.wav new file mode 100644 index 0000000..9140e39 Binary files /dev/null and b/iwdification/animations/e070/minot07.wav differ diff --git a/iwdification/animations/e070/minot08.wav b/iwdification/animations/e070/minot08.wav new file mode 100644 index 0000000..210a0bf Binary files /dev/null and b/iwdification/animations/e070/minot08.wav differ diff --git a/iwdification/animations/e070/minot09.wav b/iwdification/animations/e070/minot09.wav new file mode 100644 index 0000000..16de21d Binary files /dev/null and b/iwdification/animations/e070/minot09.wav differ diff --git a/iwdification/animations/e070/minot10.wav b/iwdification/animations/e070/minot10.wav new file mode 100644 index 0000000..3253d67 Binary files /dev/null and b/iwdification/animations/e070/minot10.wav differ diff --git a/iwdification/animations/e070/mminca.bam b/iwdification/animations/e070/mminca.bam new file mode 100644 index 0000000..635a3a7 Binary files /dev/null and b/iwdification/animations/e070/mminca.bam differ diff --git a/iwdification/animations/e070/mmincae.bam b/iwdification/animations/e070/mmincae.bam new file mode 100644 index 0000000..9ecef27 Binary files /dev/null and b/iwdification/animations/e070/mmincae.bam differ diff --git a/iwdification/animations/e070/mminsp.bam b/iwdification/animations/e070/mminsp.bam new file mode 100644 index 0000000..51d853c Binary files /dev/null and b/iwdification/animations/e070/mminsp.bam differ diff --git a/iwdification/animations/e070/mminspe.bam b/iwdification/animations/e070/mminspe.bam new file mode 100644 index 0000000..54d9db6 Binary files /dev/null and b/iwdification/animations/e070/mminspe.bam differ diff --git a/iwdification/animations/e0b0/mtroca.bam b/iwdification/animations/e0b0/mtroca.bam new file mode 100644 index 0000000..93b20d7 Binary files /dev/null and b/iwdification/animations/e0b0/mtroca.bam differ diff --git a/iwdification/animations/e0b0/mtrocae.bam b/iwdification/animations/e0b0/mtrocae.bam new file mode 100644 index 0000000..0c4ab25 Binary files /dev/null and b/iwdification/animations/e0b0/mtrocae.bam differ diff --git a/iwdification/animations/e0b0/mtrosp.bam b/iwdification/animations/e0b0/mtrosp.bam new file mode 100644 index 0000000..afcd74a Binary files /dev/null and b/iwdification/animations/e0b0/mtrosp.bam differ diff --git a/iwdification/animations/e0b0/mtrospe.bam b/iwdification/animations/e0b0/mtrospe.bam new file mode 100644 index 0000000..237e1af Binary files /dev/null and b/iwdification/animations/e0b0/mtrospe.bam differ diff --git a/iwdification/animations/e0b0/troll07a.wav b/iwdification/animations/e0b0/troll07a.wav new file mode 100644 index 0000000..111baf2 Binary files /dev/null and b/iwdification/animations/e0b0/troll07a.wav differ diff --git a/iwdification/animations/e0b0/troll07b.wav b/iwdification/animations/e0b0/troll07b.wav new file mode 100644 index 0000000..070f1fc Binary files /dev/null and b/iwdification/animations/e0b0/troll07b.wav differ diff --git a/iwdification/animations/e0b0/troll09b.wav b/iwdification/animations/e0b0/troll09b.wav new file mode 100644 index 0000000..7a2c956 Binary files /dev/null and b/iwdification/animations/e0b0/troll09b.wav differ diff --git a/iwdification/animations/e0d0/bf_lg01.wav b/iwdification/animations/e0d0/bf_lg01.wav new file mode 100644 index 0000000..77bf64d Binary files /dev/null and b/iwdification/animations/e0d0/bf_lg01.wav differ diff --git a/iwdification/animations/e0d0/bf_lg02.wav b/iwdification/animations/e0d0/bf_lg02.wav new file mode 100644 index 0000000..75f656c Binary files /dev/null and b/iwdification/animations/e0d0/bf_lg02.wav differ diff --git a/iwdification/animations/e0d0/bf_lg03.wav b/iwdification/animations/e0d0/bf_lg03.wav new file mode 100644 index 0000000..a6a95ec Binary files /dev/null and b/iwdification/animations/e0d0/bf_lg03.wav differ diff --git a/iwdification/animations/e0d0/mumba1.bam b/iwdification/animations/e0d0/mumba1.bam new file mode 100644 index 0000000..aba058d Binary files /dev/null and b/iwdification/animations/e0d0/mumba1.bam differ diff --git a/iwdification/animations/e0d0/mumba1e.bam b/iwdification/animations/e0d0/mumba1e.bam new file mode 100644 index 0000000..cfaa7d4 Binary files /dev/null and b/iwdification/animations/e0d0/mumba1e.bam differ diff --git a/iwdification/animations/e0d0/mumba2.bam b/iwdification/animations/e0d0/mumba2.bam new file mode 100644 index 0000000..1626247 Binary files /dev/null and b/iwdification/animations/e0d0/mumba2.bam differ diff --git a/iwdification/animations/e0d0/mumba2e.bam b/iwdification/animations/e0d0/mumba2e.bam new file mode 100644 index 0000000..c2f3d20 Binary files /dev/null and b/iwdification/animations/e0d0/mumba2e.bam differ diff --git a/iwdification/animations/e0d0/mumbca.bam b/iwdification/animations/e0d0/mumbca.bam new file mode 100644 index 0000000..509c3bd Binary files /dev/null and b/iwdification/animations/e0d0/mumbca.bam differ diff --git a/iwdification/animations/e0d0/mumbcae.bam b/iwdification/animations/e0d0/mumbcae.bam new file mode 100644 index 0000000..73a37af Binary files /dev/null and b/iwdification/animations/e0d0/mumbcae.bam differ diff --git a/iwdification/animations/e0d0/mumbde.bam b/iwdification/animations/e0d0/mumbde.bam new file mode 100644 index 0000000..6aed976 Binary files /dev/null and b/iwdification/animations/e0d0/mumbde.bam differ diff --git a/iwdification/animations/e0d0/mumbdee.bam b/iwdification/animations/e0d0/mumbdee.bam new file mode 100644 index 0000000..f082d2e Binary files /dev/null and b/iwdification/animations/e0d0/mumbdee.bam differ diff --git a/iwdification/animations/e0d0/mumbgh.bam b/iwdification/animations/e0d0/mumbgh.bam new file mode 100644 index 0000000..5b326a5 Binary files /dev/null and b/iwdification/animations/e0d0/mumbgh.bam differ diff --git a/iwdification/animations/e0d0/mumbghe.bam b/iwdification/animations/e0d0/mumbghe.bam new file mode 100644 index 0000000..ed8ee1b Binary files /dev/null and b/iwdification/animations/e0d0/mumbghe.bam differ diff --git a/iwdification/animations/e0d0/mumbgu.bam b/iwdification/animations/e0d0/mumbgu.bam new file mode 100644 index 0000000..f0a9e1a Binary files /dev/null and b/iwdification/animations/e0d0/mumbgu.bam differ diff --git a/iwdification/animations/e0d0/mumbgue.bam b/iwdification/animations/e0d0/mumbgue.bam new file mode 100644 index 0000000..32dbe3c Binary files /dev/null and b/iwdification/animations/e0d0/mumbgue.bam differ diff --git a/iwdification/animations/e0d0/mumbsc.bam b/iwdification/animations/e0d0/mumbsc.bam new file mode 100644 index 0000000..6fb4ebb Binary files /dev/null and b/iwdification/animations/e0d0/mumbsc.bam differ diff --git a/iwdification/animations/e0d0/mumbsce.bam b/iwdification/animations/e0d0/mumbsce.bam new file mode 100644 index 0000000..4ccb084 Binary files /dev/null and b/iwdification/animations/e0d0/mumbsce.bam differ diff --git a/iwdification/animations/e0d0/mumbsd.bam b/iwdification/animations/e0d0/mumbsd.bam new file mode 100644 index 0000000..bc322f6 Binary files /dev/null and b/iwdification/animations/e0d0/mumbsd.bam differ diff --git a/iwdification/animations/e0d0/mumbsde.bam b/iwdification/animations/e0d0/mumbsde.bam new file mode 100644 index 0000000..6bc30a3 Binary files /dev/null and b/iwdification/animations/e0d0/mumbsde.bam differ diff --git a/iwdification/animations/e0d0/mumbsl.bam b/iwdification/animations/e0d0/mumbsl.bam new file mode 100644 index 0000000..e959908 Binary files /dev/null and b/iwdification/animations/e0d0/mumbsl.bam differ diff --git a/iwdification/animations/e0d0/mumbsle.bam b/iwdification/animations/e0d0/mumbsle.bam new file mode 100644 index 0000000..081d35d Binary files /dev/null and b/iwdification/animations/e0d0/mumbsle.bam differ diff --git a/iwdification/animations/e0d0/mumbsp.bam b/iwdification/animations/e0d0/mumbsp.bam new file mode 100644 index 0000000..ed8f54d Binary files /dev/null and b/iwdification/animations/e0d0/mumbsp.bam differ diff --git a/iwdification/animations/e0d0/mumbspe.bam b/iwdification/animations/e0d0/mumbspe.bam new file mode 100644 index 0000000..83d5ecc Binary files /dev/null and b/iwdification/animations/e0d0/mumbspe.bam differ diff --git a/iwdification/animations/e0d0/mumbtw.bam b/iwdification/animations/e0d0/mumbtw.bam new file mode 100644 index 0000000..f4a5a77 Binary files /dev/null and b/iwdification/animations/e0d0/mumbtw.bam differ diff --git a/iwdification/animations/e0d0/mumbtwe.bam b/iwdification/animations/e0d0/mumbtwe.bam new file mode 100644 index 0000000..c6dddfb Binary files /dev/null and b/iwdification/animations/e0d0/mumbtwe.bam differ diff --git a/iwdification/animations/e0d0/mumbwk.bam b/iwdification/animations/e0d0/mumbwk.bam new file mode 100644 index 0000000..ea57f7e Binary files /dev/null and b/iwdification/animations/e0d0/mumbwk.bam differ diff --git a/iwdification/animations/e0d0/mumbwke.bam b/iwdification/animations/e0d0/mumbwke.bam new file mode 100644 index 0000000..cf766ce Binary files /dev/null and b/iwdification/animations/e0d0/mumbwke.bam differ diff --git a/iwdification/animations/e0d0/umber03a.wav b/iwdification/animations/e0d0/umber03a.wav new file mode 100644 index 0000000..1d1d973 Binary files /dev/null and b/iwdification/animations/e0d0/umber03a.wav differ diff --git a/iwdification/animations/e0d0/umber03b.wav b/iwdification/animations/e0d0/umber03b.wav new file mode 100644 index 0000000..57a6634 Binary files /dev/null and b/iwdification/animations/e0d0/umber03b.wav differ diff --git a/iwdification/animations/e0d0/umber04a.wav b/iwdification/animations/e0d0/umber04a.wav new file mode 100644 index 0000000..ee83d56 Binary files /dev/null and b/iwdification/animations/e0d0/umber04a.wav differ diff --git a/iwdification/animations/e0d0/umber04b.wav b/iwdification/animations/e0d0/umber04b.wav new file mode 100644 index 0000000..b5f3df2 Binary files /dev/null and b/iwdification/animations/e0d0/umber04b.wav differ diff --git a/iwdification/animations/e0d0/umber08.wav b/iwdification/animations/e0d0/umber08.wav new file mode 100644 index 0000000..cdf65a7 Binary files /dev/null and b/iwdification/animations/e0d0/umber08.wav differ diff --git a/iwdification/animations/e0d0/umber09a.wav b/iwdification/animations/e0d0/umber09a.wav new file mode 100644 index 0000000..6d3b186 Binary files /dev/null and b/iwdification/animations/e0d0/umber09a.wav differ diff --git a/iwdification/animations/e0d0/umber09b.wav b/iwdification/animations/e0d0/umber09b.wav new file mode 100644 index 0000000..987a49f Binary files /dev/null and b/iwdification/animations/e0d0/umber09b.wav differ diff --git a/iwdification/animations/e220/bomba01.wav b/iwdification/animations/e220/bomba01.wav new file mode 100644 index 0000000..7d23f1a Binary files /dev/null and b/iwdification/animations/e220/bomba01.wav differ diff --git a/iwdification/animations/e220/bomba02.wav b/iwdification/animations/e220/bomba02.wav new file mode 100644 index 0000000..21b8f59 Binary files /dev/null and b/iwdification/animations/e220/bomba02.wav differ diff --git a/iwdification/animations/e220/bomba03a.wav b/iwdification/animations/e220/bomba03a.wav new file mode 100644 index 0000000..eb25e53 Binary files /dev/null and b/iwdification/animations/e220/bomba03a.wav differ diff --git a/iwdification/animations/e220/bomba03b.wav b/iwdification/animations/e220/bomba03b.wav new file mode 100644 index 0000000..58e6268 Binary files /dev/null and b/iwdification/animations/e220/bomba03b.wav differ diff --git a/iwdification/animations/e220/bomba07.wav b/iwdification/animations/e220/bomba07.wav new file mode 100644 index 0000000..a1cd9c5 Binary files /dev/null and b/iwdification/animations/e220/bomba07.wav differ diff --git a/iwdification/animations/e220/bomba08.wav b/iwdification/animations/e220/bomba08.wav new file mode 100644 index 0000000..f4f65a8 Binary files /dev/null and b/iwdification/animations/e220/bomba08.wav differ diff --git a/iwdification/animations/e220/bomba09a.wav b/iwdification/animations/e220/bomba09a.wav new file mode 100644 index 0000000..85be828 Binary files /dev/null and b/iwdification/animations/e220/bomba09a.wav differ diff --git a/iwdification/animations/e220/bomba09b.wav b/iwdification/animations/e220/bomba09b.wav new file mode 100644 index 0000000..b78367e Binary files /dev/null and b/iwdification/animations/e220/bomba09b.wav differ diff --git a/iwdification/animations/e220/mbbma1.bam b/iwdification/animations/e220/mbbma1.bam new file mode 100644 index 0000000..0de2c18 Binary files /dev/null and b/iwdification/animations/e220/mbbma1.bam differ diff --git a/iwdification/animations/e220/mbbma1e.bam b/iwdification/animations/e220/mbbma1e.bam new file mode 100644 index 0000000..b501911 Binary files /dev/null and b/iwdification/animations/e220/mbbma1e.bam differ diff --git a/iwdification/animations/e220/mbbma4.bam b/iwdification/animations/e220/mbbma4.bam new file mode 100644 index 0000000..c3d3588 Binary files /dev/null and b/iwdification/animations/e220/mbbma4.bam differ diff --git a/iwdification/animations/e220/mbbma4e.bam b/iwdification/animations/e220/mbbma4e.bam new file mode 100644 index 0000000..45d9fd7 Binary files /dev/null and b/iwdification/animations/e220/mbbma4e.bam differ diff --git a/iwdification/animations/e220/mbbmca.bam b/iwdification/animations/e220/mbbmca.bam new file mode 100644 index 0000000..c3d3588 Binary files /dev/null and b/iwdification/animations/e220/mbbmca.bam differ diff --git a/iwdification/animations/e220/mbbmcae.bam b/iwdification/animations/e220/mbbmcae.bam new file mode 100644 index 0000000..45d9fd7 Binary files /dev/null and b/iwdification/animations/e220/mbbmcae.bam differ diff --git a/iwdification/animations/e220/mbbmde.bam b/iwdification/animations/e220/mbbmde.bam new file mode 100644 index 0000000..8fcbcaa Binary files /dev/null and b/iwdification/animations/e220/mbbmde.bam differ diff --git a/iwdification/animations/e220/mbbmdee.bam b/iwdification/animations/e220/mbbmdee.bam new file mode 100644 index 0000000..98371a8 Binary files /dev/null and b/iwdification/animations/e220/mbbmdee.bam differ diff --git a/iwdification/animations/e220/mbbmgh.bam b/iwdification/animations/e220/mbbmgh.bam new file mode 100644 index 0000000..e992a52 Binary files /dev/null and b/iwdification/animations/e220/mbbmgh.bam differ diff --git a/iwdification/animations/e220/mbbmghe.bam b/iwdification/animations/e220/mbbmghe.bam new file mode 100644 index 0000000..831734f Binary files /dev/null and b/iwdification/animations/e220/mbbmghe.bam differ diff --git a/iwdification/animations/e220/mbbmgu.bam b/iwdification/animations/e220/mbbmgu.bam new file mode 100644 index 0000000..0dc0f07 Binary files /dev/null and b/iwdification/animations/e220/mbbmgu.bam differ diff --git a/iwdification/animations/e220/mbbmgue.bam b/iwdification/animations/e220/mbbmgue.bam new file mode 100644 index 0000000..70ac1c7 Binary files /dev/null and b/iwdification/animations/e220/mbbmgue.bam differ diff --git a/iwdification/animations/e220/mbbmsc.bam b/iwdification/animations/e220/mbbmsc.bam new file mode 100644 index 0000000..97ba1e8 Binary files /dev/null and b/iwdification/animations/e220/mbbmsc.bam differ diff --git a/iwdification/animations/e220/mbbmsce.bam b/iwdification/animations/e220/mbbmsce.bam new file mode 100644 index 0000000..01bf4ba Binary files /dev/null and b/iwdification/animations/e220/mbbmsce.bam differ diff --git a/iwdification/animations/e220/mbbmsd.bam b/iwdification/animations/e220/mbbmsd.bam new file mode 100644 index 0000000..9881611 Binary files /dev/null and b/iwdification/animations/e220/mbbmsd.bam differ diff --git a/iwdification/animations/e220/mbbmsde.bam b/iwdification/animations/e220/mbbmsde.bam new file mode 100644 index 0000000..e72fb47 Binary files /dev/null and b/iwdification/animations/e220/mbbmsde.bam differ diff --git a/iwdification/animations/e220/mbbmsl.bam b/iwdification/animations/e220/mbbmsl.bam new file mode 100644 index 0000000..6938a8b Binary files /dev/null and b/iwdification/animations/e220/mbbmsl.bam differ diff --git a/iwdification/animations/e220/mbbmsle.bam b/iwdification/animations/e220/mbbmsle.bam new file mode 100644 index 0000000..f53ccef Binary files /dev/null and b/iwdification/animations/e220/mbbmsle.bam differ diff --git a/iwdification/animations/e220/mbbmsp.bam b/iwdification/animations/e220/mbbmsp.bam new file mode 100644 index 0000000..97ba1e8 Binary files /dev/null and b/iwdification/animations/e220/mbbmsp.bam differ diff --git a/iwdification/animations/e220/mbbmspe.bam b/iwdification/animations/e220/mbbmspe.bam new file mode 100644 index 0000000..01bf4ba Binary files /dev/null and b/iwdification/animations/e220/mbbmspe.bam differ diff --git a/iwdification/animations/e220/mbbmtw.bam b/iwdification/animations/e220/mbbmtw.bam new file mode 100644 index 0000000..f452285 Binary files /dev/null and b/iwdification/animations/e220/mbbmtw.bam differ diff --git a/iwdification/animations/e220/mbbmtwe.bam b/iwdification/animations/e220/mbbmtwe.bam new file mode 100644 index 0000000..c4fe85b Binary files /dev/null and b/iwdification/animations/e220/mbbmtwe.bam differ diff --git a/iwdification/animations/e220/mbbmwk.bam b/iwdification/animations/e220/mbbmwk.bam new file mode 100644 index 0000000..fd9e3c1 Binary files /dev/null and b/iwdification/animations/e220/mbbmwk.bam differ diff --git a/iwdification/animations/e220/mbbmwke.bam b/iwdification/animations/e220/mbbmwke.bam new file mode 100644 index 0000000..d14de32 Binary files /dev/null and b/iwdification/animations/e220/mbbmwke.bam differ diff --git a/iwdification/animations/e24b/bf_md01.wav b/iwdification/animations/e24b/bf_md01.wav new file mode 100644 index 0000000..64f5174 Binary files /dev/null and b/iwdification/animations/e24b/bf_md01.wav differ diff --git a/iwdification/animations/e24b/bf_md02.wav b/iwdification/animations/e24b/bf_md02.wav new file mode 100644 index 0000000..441c655 Binary files /dev/null and b/iwdification/animations/e24b/bf_md02.wav differ diff --git a/iwdification/animations/e24b/bf_md03.wav b/iwdification/animations/e24b/bf_md03.wav new file mode 100644 index 0000000..714b141 Binary files /dev/null and b/iwdification/animations/e24b/bf_md03.wav differ diff --git a/iwdification/animations/e24b/earth08.wav b/iwdification/animations/e24b/earth08.wav new file mode 100644 index 0000000..0642d1f Binary files /dev/null and b/iwdification/animations/e24b/earth08.wav differ diff --git a/iwdification/animations/e24b/earth09.wav b/iwdification/animations/e24b/earth09.wav new file mode 100644 index 0000000..6991425 Binary files /dev/null and b/iwdification/animations/e24b/earth09.wav differ diff --git a/iwdification/animations/e24b/melea1.bam b/iwdification/animations/e24b/melea1.bam new file mode 100644 index 0000000..a76803d Binary files /dev/null and b/iwdification/animations/e24b/melea1.bam differ diff --git a/iwdification/animations/e24b/melea1e.bam b/iwdification/animations/e24b/melea1e.bam new file mode 100644 index 0000000..dc8083d Binary files /dev/null and b/iwdification/animations/e24b/melea1e.bam differ diff --git a/iwdification/animations/e24b/melea2.bam b/iwdification/animations/e24b/melea2.bam new file mode 100644 index 0000000..2246e22 Binary files /dev/null and b/iwdification/animations/e24b/melea2.bam differ diff --git a/iwdification/animations/e24b/melea2e.bam b/iwdification/animations/e24b/melea2e.bam new file mode 100644 index 0000000..b387cd9 Binary files /dev/null and b/iwdification/animations/e24b/melea2e.bam differ diff --git a/iwdification/animations/e24b/meleca.bam b/iwdification/animations/e24b/meleca.bam new file mode 100644 index 0000000..2246e22 Binary files /dev/null and b/iwdification/animations/e24b/meleca.bam differ diff --git a/iwdification/animations/e24b/melecae.bam b/iwdification/animations/e24b/melecae.bam new file mode 100644 index 0000000..b387cd9 Binary files /dev/null and b/iwdification/animations/e24b/melecae.bam differ diff --git a/iwdification/animations/e24b/melede.bam b/iwdification/animations/e24b/melede.bam new file mode 100644 index 0000000..8aef735 Binary files /dev/null and b/iwdification/animations/e24b/melede.bam differ diff --git a/iwdification/animations/e24b/meledee.bam b/iwdification/animations/e24b/meledee.bam new file mode 100644 index 0000000..1f0a1a6 Binary files /dev/null and b/iwdification/animations/e24b/meledee.bam differ diff --git a/iwdification/animations/e24b/melegh.bam b/iwdification/animations/e24b/melegh.bam new file mode 100644 index 0000000..acdfe83 Binary files /dev/null and b/iwdification/animations/e24b/melegh.bam differ diff --git a/iwdification/animations/e24b/meleghe.bam b/iwdification/animations/e24b/meleghe.bam new file mode 100644 index 0000000..961c9ea Binary files /dev/null and b/iwdification/animations/e24b/meleghe.bam differ diff --git a/iwdification/animations/e24b/melegu.bam b/iwdification/animations/e24b/melegu.bam new file mode 100644 index 0000000..3265c48 Binary files /dev/null and b/iwdification/animations/e24b/melegu.bam differ diff --git a/iwdification/animations/e24b/melegue.bam b/iwdification/animations/e24b/melegue.bam new file mode 100644 index 0000000..2d8e455 Binary files /dev/null and b/iwdification/animations/e24b/melegue.bam differ diff --git a/iwdification/animations/e24b/melesc.bam b/iwdification/animations/e24b/melesc.bam new file mode 100644 index 0000000..d1b81a4 Binary files /dev/null and b/iwdification/animations/e24b/melesc.bam differ diff --git a/iwdification/animations/e24b/melesce.bam b/iwdification/animations/e24b/melesce.bam new file mode 100644 index 0000000..20b89b8 Binary files /dev/null and b/iwdification/animations/e24b/melesce.bam differ diff --git a/iwdification/animations/e24b/melesd.bam b/iwdification/animations/e24b/melesd.bam new file mode 100644 index 0000000..eb36c40 Binary files /dev/null and b/iwdification/animations/e24b/melesd.bam differ diff --git a/iwdification/animations/e24b/melesde.bam b/iwdification/animations/e24b/melesde.bam new file mode 100644 index 0000000..b22f563 Binary files /dev/null and b/iwdification/animations/e24b/melesde.bam differ diff --git a/iwdification/animations/e24b/melesl.bam b/iwdification/animations/e24b/melesl.bam new file mode 100644 index 0000000..74be90c Binary files /dev/null and b/iwdification/animations/e24b/melesl.bam differ diff --git a/iwdification/animations/e24b/melesle.bam b/iwdification/animations/e24b/melesle.bam new file mode 100644 index 0000000..c400e74 Binary files /dev/null and b/iwdification/animations/e24b/melesle.bam differ diff --git a/iwdification/animations/e24b/melesp.bam b/iwdification/animations/e24b/melesp.bam new file mode 100644 index 0000000..d1b81a4 Binary files /dev/null and b/iwdification/animations/e24b/melesp.bam differ diff --git a/iwdification/animations/e24b/melespe.bam b/iwdification/animations/e24b/melespe.bam new file mode 100644 index 0000000..20b89b8 Binary files /dev/null and b/iwdification/animations/e24b/melespe.bam differ diff --git a/iwdification/animations/e24b/meletw.bam b/iwdification/animations/e24b/meletw.bam new file mode 100644 index 0000000..5d869a5 Binary files /dev/null and b/iwdification/animations/e24b/meletw.bam differ diff --git a/iwdification/animations/e24b/meletwe.bam b/iwdification/animations/e24b/meletwe.bam new file mode 100644 index 0000000..d53c9b1 Binary files /dev/null and b/iwdification/animations/e24b/meletwe.bam differ diff --git a/iwdification/animations/e24b/melewk.bam b/iwdification/animations/e24b/melewk.bam new file mode 100644 index 0000000..d40586f Binary files /dev/null and b/iwdification/animations/e24b/melewk.bam differ diff --git a/iwdification/animations/e24b/melewke.bam b/iwdification/animations/e24b/melewke.bam new file mode 100644 index 0000000..00646c0 Binary files /dev/null and b/iwdification/animations/e24b/melewke.bam differ diff --git a/iwdification/animations/e24c/bf_md01.wav b/iwdification/animations/e24c/bf_md01.wav new file mode 100644 index 0000000..64f5174 Binary files /dev/null and b/iwdification/animations/e24c/bf_md01.wav differ diff --git a/iwdification/animations/e24c/bf_md02.wav b/iwdification/animations/e24c/bf_md02.wav new file mode 100644 index 0000000..441c655 Binary files /dev/null and b/iwdification/animations/e24c/bf_md02.wav differ diff --git a/iwdification/animations/e24c/bf_md03.wav b/iwdification/animations/e24c/bf_md03.wav new file mode 100644 index 0000000..714b141 Binary files /dev/null and b/iwdification/animations/e24c/bf_md03.wav differ diff --git a/iwdification/animations/e24c/fire01a.wav b/iwdification/animations/e24c/fire01a.wav new file mode 100644 index 0000000..5a7ec7d Binary files /dev/null and b/iwdification/animations/e24c/fire01a.wav differ diff --git a/iwdification/animations/e24c/fire01b.wav b/iwdification/animations/e24c/fire01b.wav new file mode 100644 index 0000000..bd75bd0 Binary files /dev/null and b/iwdification/animations/e24c/fire01b.wav differ diff --git a/iwdification/animations/e24c/fire02a.wav b/iwdification/animations/e24c/fire02a.wav new file mode 100644 index 0000000..761d96e Binary files /dev/null and b/iwdification/animations/e24c/fire02a.wav differ diff --git a/iwdification/animations/e24c/fire03a.wav b/iwdification/animations/e24c/fire03a.wav new file mode 100644 index 0000000..990de38 Binary files /dev/null and b/iwdification/animations/e24c/fire03a.wav differ diff --git a/iwdification/animations/e24c/fire03b.wav b/iwdification/animations/e24c/fire03b.wav new file mode 100644 index 0000000..4889101 Binary files /dev/null and b/iwdification/animations/e24c/fire03b.wav differ diff --git a/iwdification/animations/e24c/fire04a.wav b/iwdification/animations/e24c/fire04a.wav new file mode 100644 index 0000000..d516efc Binary files /dev/null and b/iwdification/animations/e24c/fire04a.wav differ diff --git a/iwdification/animations/e24c/fire04b.wav b/iwdification/animations/e24c/fire04b.wav new file mode 100644 index 0000000..4ab1760 Binary files /dev/null and b/iwdification/animations/e24c/fire04b.wav differ diff --git a/iwdification/animations/e24c/fire07a.wav b/iwdification/animations/e24c/fire07a.wav new file mode 100644 index 0000000..7dfdc8c Binary files /dev/null and b/iwdification/animations/e24c/fire07a.wav differ diff --git a/iwdification/animations/e24c/fire07b.wav b/iwdification/animations/e24c/fire07b.wav new file mode 100644 index 0000000..52f780b Binary files /dev/null and b/iwdification/animations/e24c/fire07b.wav differ diff --git a/iwdification/animations/e24c/fire08a.wav b/iwdification/animations/e24c/fire08a.wav new file mode 100644 index 0000000..69f8500 Binary files /dev/null and b/iwdification/animations/e24c/fire08a.wav differ diff --git a/iwdification/animations/e24c/fire09a.wav b/iwdification/animations/e24c/fire09a.wav new file mode 100644 index 0000000..5aa61cd Binary files /dev/null and b/iwdification/animations/e24c/fire09a.wav differ diff --git a/iwdification/animations/e24c/fire09b.wav b/iwdification/animations/e24c/fire09b.wav new file mode 100644 index 0000000..3535424 Binary files /dev/null and b/iwdification/animations/e24c/fire09b.wav differ diff --git a/iwdification/animations/e24c/fire10a.wav b/iwdification/animations/e24c/fire10a.wav new file mode 100644 index 0000000..6964722 Binary files /dev/null and b/iwdification/animations/e24c/fire10a.wav differ diff --git a/iwdification/animations/e24c/melfa1.bam b/iwdification/animations/e24c/melfa1.bam new file mode 100644 index 0000000..6a15e2a Binary files /dev/null and b/iwdification/animations/e24c/melfa1.bam differ diff --git a/iwdification/animations/e24c/melfa1e.bam b/iwdification/animations/e24c/melfa1e.bam new file mode 100644 index 0000000..00208bf Binary files /dev/null and b/iwdification/animations/e24c/melfa1e.bam differ diff --git a/iwdification/animations/e24c/melfa2.bam b/iwdification/animations/e24c/melfa2.bam new file mode 100644 index 0000000..92a8354 Binary files /dev/null and b/iwdification/animations/e24c/melfa2.bam differ diff --git a/iwdification/animations/e24c/melfa2e.bam b/iwdification/animations/e24c/melfa2e.bam new file mode 100644 index 0000000..0f30ddb Binary files /dev/null and b/iwdification/animations/e24c/melfa2e.bam differ diff --git a/iwdification/animations/e24c/melfca.bam b/iwdification/animations/e24c/melfca.bam new file mode 100644 index 0000000..92a8354 Binary files /dev/null and b/iwdification/animations/e24c/melfca.bam differ diff --git a/iwdification/animations/e24c/melfcae.bam b/iwdification/animations/e24c/melfcae.bam new file mode 100644 index 0000000..0f30ddb Binary files /dev/null and b/iwdification/animations/e24c/melfcae.bam differ diff --git a/iwdification/animations/e24c/melfde.bam b/iwdification/animations/e24c/melfde.bam new file mode 100644 index 0000000..0186027 Binary files /dev/null and b/iwdification/animations/e24c/melfde.bam differ diff --git a/iwdification/animations/e24c/melfdee.bam b/iwdification/animations/e24c/melfdee.bam new file mode 100644 index 0000000..aac1737 Binary files /dev/null and b/iwdification/animations/e24c/melfdee.bam differ diff --git a/iwdification/animations/e24c/melfgh.bam b/iwdification/animations/e24c/melfgh.bam new file mode 100644 index 0000000..e9ed24b Binary files /dev/null and b/iwdification/animations/e24c/melfgh.bam differ diff --git a/iwdification/animations/e24c/melfghe.bam b/iwdification/animations/e24c/melfghe.bam new file mode 100644 index 0000000..6dad77f Binary files /dev/null and b/iwdification/animations/e24c/melfghe.bam differ diff --git a/iwdification/animations/e24c/melfgu.bam b/iwdification/animations/e24c/melfgu.bam new file mode 100644 index 0000000..b210329 Binary files /dev/null and b/iwdification/animations/e24c/melfgu.bam differ diff --git a/iwdification/animations/e24c/melfgue.bam b/iwdification/animations/e24c/melfgue.bam new file mode 100644 index 0000000..1264a98 Binary files /dev/null and b/iwdification/animations/e24c/melfgue.bam differ diff --git a/iwdification/animations/e24c/melfsc.bam b/iwdification/animations/e24c/melfsc.bam new file mode 100644 index 0000000..af6fa09 Binary files /dev/null and b/iwdification/animations/e24c/melfsc.bam differ diff --git a/iwdification/animations/e24c/melfsce.bam b/iwdification/animations/e24c/melfsce.bam new file mode 100644 index 0000000..5d61cd8 Binary files /dev/null and b/iwdification/animations/e24c/melfsce.bam differ diff --git a/iwdification/animations/e24c/melfsd.bam b/iwdification/animations/e24c/melfsd.bam new file mode 100644 index 0000000..7a961f0 Binary files /dev/null and b/iwdification/animations/e24c/melfsd.bam differ diff --git a/iwdification/animations/e24c/melfsde.bam b/iwdification/animations/e24c/melfsde.bam new file mode 100644 index 0000000..c6a6d40 Binary files /dev/null and b/iwdification/animations/e24c/melfsde.bam differ diff --git a/iwdification/animations/e24c/melfsl.bam b/iwdification/animations/e24c/melfsl.bam new file mode 100644 index 0000000..9944645 Binary files /dev/null and b/iwdification/animations/e24c/melfsl.bam differ diff --git a/iwdification/animations/e24c/melfsle.bam b/iwdification/animations/e24c/melfsle.bam new file mode 100644 index 0000000..edd1203 Binary files /dev/null and b/iwdification/animations/e24c/melfsle.bam differ diff --git a/iwdification/animations/e24c/melfsp.bam b/iwdification/animations/e24c/melfsp.bam new file mode 100644 index 0000000..af6fa09 Binary files /dev/null and b/iwdification/animations/e24c/melfsp.bam differ diff --git a/iwdification/animations/e24c/melfspe.bam b/iwdification/animations/e24c/melfspe.bam new file mode 100644 index 0000000..5d61cd8 Binary files /dev/null and b/iwdification/animations/e24c/melfspe.bam differ diff --git a/iwdification/animations/e24c/melftw.bam b/iwdification/animations/e24c/melftw.bam new file mode 100644 index 0000000..f524720 Binary files /dev/null and b/iwdification/animations/e24c/melftw.bam differ diff --git a/iwdification/animations/e24c/melftwe.bam b/iwdification/animations/e24c/melftwe.bam new file mode 100644 index 0000000..12d9d62 Binary files /dev/null and b/iwdification/animations/e24c/melftwe.bam differ diff --git a/iwdification/animations/e24c/melfwk.bam b/iwdification/animations/e24c/melfwk.bam new file mode 100644 index 0000000..53b91d2 Binary files /dev/null and b/iwdification/animations/e24c/melfwk.bam differ diff --git a/iwdification/animations/e24c/melfwke.bam b/iwdification/animations/e24c/melfwke.bam new file mode 100644 index 0000000..d070345 Binary files /dev/null and b/iwdification/animations/e24c/melfwke.bam differ diff --git a/iwdification/animations/e24d/bf_md01.wav b/iwdification/animations/e24d/bf_md01.wav new file mode 100644 index 0000000..64f5174 Binary files /dev/null and b/iwdification/animations/e24d/bf_md01.wav differ diff --git a/iwdification/animations/e24d/bf_md02.wav b/iwdification/animations/e24d/bf_md02.wav new file mode 100644 index 0000000..441c655 Binary files /dev/null and b/iwdification/animations/e24d/bf_md02.wav differ diff --git a/iwdification/animations/e24d/bf_md03.wav b/iwdification/animations/e24d/bf_md03.wav new file mode 100644 index 0000000..714b141 Binary files /dev/null and b/iwdification/animations/e24d/bf_md03.wav differ diff --git a/iwdification/animations/e24d/melwa1.bam b/iwdification/animations/e24d/melwa1.bam new file mode 100644 index 0000000..98414d1 Binary files /dev/null and b/iwdification/animations/e24d/melwa1.bam differ diff --git a/iwdification/animations/e24d/melwa1e.bam b/iwdification/animations/e24d/melwa1e.bam new file mode 100644 index 0000000..815c6e9 Binary files /dev/null and b/iwdification/animations/e24d/melwa1e.bam differ diff --git a/iwdification/animations/e24d/melwa2.bam b/iwdification/animations/e24d/melwa2.bam new file mode 100644 index 0000000..ca4fb4a Binary files /dev/null and b/iwdification/animations/e24d/melwa2.bam differ diff --git a/iwdification/animations/e24d/melwa2e.bam b/iwdification/animations/e24d/melwa2e.bam new file mode 100644 index 0000000..92742e2 Binary files /dev/null and b/iwdification/animations/e24d/melwa2e.bam differ diff --git a/iwdification/animations/e24d/melwca.bam b/iwdification/animations/e24d/melwca.bam new file mode 100644 index 0000000..98414d1 Binary files /dev/null and b/iwdification/animations/e24d/melwca.bam differ diff --git a/iwdification/animations/e24d/melwcae.bam b/iwdification/animations/e24d/melwcae.bam new file mode 100644 index 0000000..815c6e9 Binary files /dev/null and b/iwdification/animations/e24d/melwcae.bam differ diff --git a/iwdification/animations/e24d/melwde.bam b/iwdification/animations/e24d/melwde.bam new file mode 100644 index 0000000..13b3c2a Binary files /dev/null and b/iwdification/animations/e24d/melwde.bam differ diff --git a/iwdification/animations/e24d/melwdee.bam b/iwdification/animations/e24d/melwdee.bam new file mode 100644 index 0000000..9f5c2e1 Binary files /dev/null and b/iwdification/animations/e24d/melwdee.bam differ diff --git a/iwdification/animations/e24d/melwgh.bam b/iwdification/animations/e24d/melwgh.bam new file mode 100644 index 0000000..593a1c1 Binary files /dev/null and b/iwdification/animations/e24d/melwgh.bam differ diff --git a/iwdification/animations/e24d/melwghe.bam b/iwdification/animations/e24d/melwghe.bam new file mode 100644 index 0000000..453208a Binary files /dev/null and b/iwdification/animations/e24d/melwghe.bam differ diff --git a/iwdification/animations/e24d/melwgu.bam b/iwdification/animations/e24d/melwgu.bam new file mode 100644 index 0000000..ee53216 Binary files /dev/null and b/iwdification/animations/e24d/melwgu.bam differ diff --git a/iwdification/animations/e24d/melwgue.bam b/iwdification/animations/e24d/melwgue.bam new file mode 100644 index 0000000..938c579 Binary files /dev/null and b/iwdification/animations/e24d/melwgue.bam differ diff --git a/iwdification/animations/e24d/melwsc.bam b/iwdification/animations/e24d/melwsc.bam new file mode 100644 index 0000000..bc356e7 Binary files /dev/null and b/iwdification/animations/e24d/melwsc.bam differ diff --git a/iwdification/animations/e24d/melwsce.bam b/iwdification/animations/e24d/melwsce.bam new file mode 100644 index 0000000..4916412 Binary files /dev/null and b/iwdification/animations/e24d/melwsce.bam differ diff --git a/iwdification/animations/e24d/melwsd.bam b/iwdification/animations/e24d/melwsd.bam new file mode 100644 index 0000000..163d91e Binary files /dev/null and b/iwdification/animations/e24d/melwsd.bam differ diff --git a/iwdification/animations/e24d/melwsde.bam b/iwdification/animations/e24d/melwsde.bam new file mode 100644 index 0000000..e10ecc5 Binary files /dev/null and b/iwdification/animations/e24d/melwsde.bam differ diff --git a/iwdification/animations/e24d/melwsl.bam b/iwdification/animations/e24d/melwsl.bam new file mode 100644 index 0000000..a78a3cd Binary files /dev/null and b/iwdification/animations/e24d/melwsl.bam differ diff --git a/iwdification/animations/e24d/melwsle.bam b/iwdification/animations/e24d/melwsle.bam new file mode 100644 index 0000000..088c387 Binary files /dev/null and b/iwdification/animations/e24d/melwsle.bam differ diff --git a/iwdification/animations/e24d/melwsp.bam b/iwdification/animations/e24d/melwsp.bam new file mode 100644 index 0000000..bc356e7 Binary files /dev/null and b/iwdification/animations/e24d/melwsp.bam differ diff --git a/iwdification/animations/e24d/melwspe.bam b/iwdification/animations/e24d/melwspe.bam new file mode 100644 index 0000000..4916412 Binary files /dev/null and b/iwdification/animations/e24d/melwspe.bam differ diff --git a/iwdification/animations/e24d/melwtw.bam b/iwdification/animations/e24d/melwtw.bam new file mode 100644 index 0000000..026a0a4 Binary files /dev/null and b/iwdification/animations/e24d/melwtw.bam differ diff --git a/iwdification/animations/e24d/melwtwe.bam b/iwdification/animations/e24d/melwtwe.bam new file mode 100644 index 0000000..080959c Binary files /dev/null and b/iwdification/animations/e24d/melwtwe.bam differ diff --git a/iwdification/animations/e24d/melwwk.bam b/iwdification/animations/e24d/melwwk.bam new file mode 100644 index 0000000..2758a47 Binary files /dev/null and b/iwdification/animations/e24d/melwwk.bam differ diff --git a/iwdification/animations/e24d/melwwke.bam b/iwdification/animations/e24d/melwwke.bam new file mode 100644 index 0000000..c49b26f Binary files /dev/null and b/iwdification/animations/e24d/melwwke.bam differ diff --git a/iwdification/animations/e24d/watere01.wav b/iwdification/animations/e24d/watere01.wav new file mode 100644 index 0000000..f602283 Binary files /dev/null and b/iwdification/animations/e24d/watere01.wav differ diff --git a/iwdification/animations/e24d/watere02.wav b/iwdification/animations/e24d/watere02.wav new file mode 100644 index 0000000..a8996a5 Binary files /dev/null and b/iwdification/animations/e24d/watere02.wav differ diff --git a/iwdification/animations/e24d/watere03.wav b/iwdification/animations/e24d/watere03.wav new file mode 100644 index 0000000..290f36f Binary files /dev/null and b/iwdification/animations/e24d/watere03.wav differ diff --git a/iwdification/animations/e24d/watere04.wav b/iwdification/animations/e24d/watere04.wav new file mode 100644 index 0000000..d3d5afc Binary files /dev/null and b/iwdification/animations/e24d/watere04.wav differ diff --git a/iwdification/animations/e24d/watere07.wav b/iwdification/animations/e24d/watere07.wav new file mode 100644 index 0000000..67551d4 Binary files /dev/null and b/iwdification/animations/e24d/watere07.wav differ diff --git a/iwdification/animations/e24d/watere08.wav b/iwdification/animations/e24d/watere08.wav new file mode 100644 index 0000000..b21fff7 Binary files /dev/null and b/iwdification/animations/e24d/watere08.wav differ diff --git a/iwdification/animations/e24d/watere09.wav b/iwdification/animations/e24d/watere09.wav new file mode 100644 index 0000000..c03b3fa Binary files /dev/null and b/iwdification/animations/e24d/watere09.wav differ diff --git a/iwdification/animations/e25d/bf_lg01.wav b/iwdification/animations/e25d/bf_lg01.wav new file mode 100644 index 0000000..77bf64d Binary files /dev/null and b/iwdification/animations/e25d/bf_lg01.wav differ diff --git a/iwdification/animations/e25d/bf_lg02.wav b/iwdification/animations/e25d/bf_lg02.wav new file mode 100644 index 0000000..75f656c Binary files /dev/null and b/iwdification/animations/e25d/bf_lg02.wav differ diff --git a/iwdification/animations/e25d/bf_lg03.wav b/iwdification/animations/e25d/bf_lg03.wav new file mode 100644 index 0000000..a6a95ec Binary files /dev/null and b/iwdification/animations/e25d/bf_lg03.wav differ diff --git a/iwdification/animations/e25d/myeta1.bam b/iwdification/animations/e25d/myeta1.bam new file mode 100644 index 0000000..f1386bc Binary files /dev/null and b/iwdification/animations/e25d/myeta1.bam differ diff --git a/iwdification/animations/e25d/myeta1e.bam b/iwdification/animations/e25d/myeta1e.bam new file mode 100644 index 0000000..9627af3 Binary files /dev/null and b/iwdification/animations/e25d/myeta1e.bam differ diff --git a/iwdification/animations/e25d/myeta2.bam b/iwdification/animations/e25d/myeta2.bam new file mode 100644 index 0000000..fe72dca Binary files /dev/null and b/iwdification/animations/e25d/myeta2.bam differ diff --git a/iwdification/animations/e25d/myeta2e.bam b/iwdification/animations/e25d/myeta2e.bam new file mode 100644 index 0000000..e5fa3a2 Binary files /dev/null and b/iwdification/animations/e25d/myeta2e.bam differ diff --git a/iwdification/animations/e25d/myeta3.bam b/iwdification/animations/e25d/myeta3.bam new file mode 100644 index 0000000..c3f8119 Binary files /dev/null and b/iwdification/animations/e25d/myeta3.bam differ diff --git a/iwdification/animations/e25d/myeta3e.bam b/iwdification/animations/e25d/myeta3e.bam new file mode 100644 index 0000000..fdbcc49 Binary files /dev/null and b/iwdification/animations/e25d/myeta3e.bam differ diff --git a/iwdification/animations/e25d/myetca.bam b/iwdification/animations/e25d/myetca.bam new file mode 100644 index 0000000..c3f8119 Binary files /dev/null and b/iwdification/animations/e25d/myetca.bam differ diff --git a/iwdification/animations/e25d/myetcae.bam b/iwdification/animations/e25d/myetcae.bam new file mode 100644 index 0000000..fdbcc49 Binary files /dev/null and b/iwdification/animations/e25d/myetcae.bam differ diff --git a/iwdification/animations/e25d/myetde.bam b/iwdification/animations/e25d/myetde.bam new file mode 100644 index 0000000..cb7028e Binary files /dev/null and b/iwdification/animations/e25d/myetde.bam differ diff --git a/iwdification/animations/e25d/myetdee.bam b/iwdification/animations/e25d/myetdee.bam new file mode 100644 index 0000000..3ce9a12 Binary files /dev/null and b/iwdification/animations/e25d/myetdee.bam differ diff --git a/iwdification/animations/e25d/myetgh.bam b/iwdification/animations/e25d/myetgh.bam new file mode 100644 index 0000000..96c8d9b Binary files /dev/null and b/iwdification/animations/e25d/myetgh.bam differ diff --git a/iwdification/animations/e25d/myetghe.bam b/iwdification/animations/e25d/myetghe.bam new file mode 100644 index 0000000..4278e68 Binary files /dev/null and b/iwdification/animations/e25d/myetghe.bam differ diff --git a/iwdification/animations/e25d/myetgu.bam b/iwdification/animations/e25d/myetgu.bam new file mode 100644 index 0000000..fc29346 Binary files /dev/null and b/iwdification/animations/e25d/myetgu.bam differ diff --git a/iwdification/animations/e25d/myetgue.bam b/iwdification/animations/e25d/myetgue.bam new file mode 100644 index 0000000..8ab8625 Binary files /dev/null and b/iwdification/animations/e25d/myetgue.bam differ diff --git a/iwdification/animations/e25d/myetsc.bam b/iwdification/animations/e25d/myetsc.bam new file mode 100644 index 0000000..a716554 Binary files /dev/null and b/iwdification/animations/e25d/myetsc.bam differ diff --git a/iwdification/animations/e25d/myetsce.bam b/iwdification/animations/e25d/myetsce.bam new file mode 100644 index 0000000..4c14eca Binary files /dev/null and b/iwdification/animations/e25d/myetsce.bam differ diff --git a/iwdification/animations/e25d/myetsd.bam b/iwdification/animations/e25d/myetsd.bam new file mode 100644 index 0000000..de2d6ed Binary files /dev/null and b/iwdification/animations/e25d/myetsd.bam differ diff --git a/iwdification/animations/e25d/myetsde.bam b/iwdification/animations/e25d/myetsde.bam new file mode 100644 index 0000000..67dc12e Binary files /dev/null and b/iwdification/animations/e25d/myetsde.bam differ diff --git a/iwdification/animations/e25d/myetsl.bam b/iwdification/animations/e25d/myetsl.bam new file mode 100644 index 0000000..3b2f6a8 Binary files /dev/null and b/iwdification/animations/e25d/myetsl.bam differ diff --git a/iwdification/animations/e25d/myetsle.bam b/iwdification/animations/e25d/myetsle.bam new file mode 100644 index 0000000..6ee9f9c Binary files /dev/null and b/iwdification/animations/e25d/myetsle.bam differ diff --git a/iwdification/animations/e25d/myetsp.bam b/iwdification/animations/e25d/myetsp.bam new file mode 100644 index 0000000..a716554 Binary files /dev/null and b/iwdification/animations/e25d/myetsp.bam differ diff --git a/iwdification/animations/e25d/myetspe.bam b/iwdification/animations/e25d/myetspe.bam new file mode 100644 index 0000000..4c14eca Binary files /dev/null and b/iwdification/animations/e25d/myetspe.bam differ diff --git a/iwdification/animations/e25d/myettw.bam b/iwdification/animations/e25d/myettw.bam new file mode 100644 index 0000000..43003b4 Binary files /dev/null and b/iwdification/animations/e25d/myettw.bam differ diff --git a/iwdification/animations/e25d/myettwe.bam b/iwdification/animations/e25d/myettwe.bam new file mode 100644 index 0000000..b5168fb Binary files /dev/null and b/iwdification/animations/e25d/myettwe.bam differ diff --git a/iwdification/animations/e25d/myetwk.bam b/iwdification/animations/e25d/myetwk.bam new file mode 100644 index 0000000..03b7ca2 Binary files /dev/null and b/iwdification/animations/e25d/myetwk.bam differ diff --git a/iwdification/animations/e25d/myetwke.bam b/iwdification/animations/e25d/myetwke.bam new file mode 100644 index 0000000..50eb48b Binary files /dev/null and b/iwdification/animations/e25d/myetwke.bam differ diff --git a/iwdification/animations/e25d/yeti01.wav b/iwdification/animations/e25d/yeti01.wav new file mode 100644 index 0000000..cb96f2a Binary files /dev/null and b/iwdification/animations/e25d/yeti01.wav differ diff --git a/iwdification/animations/e25d/yeti02.wav b/iwdification/animations/e25d/yeti02.wav new file mode 100644 index 0000000..0db7351 Binary files /dev/null and b/iwdification/animations/e25d/yeti02.wav differ diff --git a/iwdification/animations/e25d/yeti03.wav b/iwdification/animations/e25d/yeti03.wav new file mode 100644 index 0000000..a61e67e Binary files /dev/null and b/iwdification/animations/e25d/yeti03.wav differ diff --git a/iwdification/animations/e25d/yeti04.wav b/iwdification/animations/e25d/yeti04.wav new file mode 100644 index 0000000..9b1d977 Binary files /dev/null and b/iwdification/animations/e25d/yeti04.wav differ diff --git a/iwdification/animations/e25d/yeti07.wav b/iwdification/animations/e25d/yeti07.wav new file mode 100644 index 0000000..57534dc Binary files /dev/null and b/iwdification/animations/e25d/yeti07.wav differ diff --git a/iwdification/animations/e25d/yeti08.wav b/iwdification/animations/e25d/yeti08.wav new file mode 100644 index 0000000..c530f8c Binary files /dev/null and b/iwdification/animations/e25d/yeti08.wav differ diff --git a/iwdification/animations/e25d/yeti09.wav b/iwdification/animations/e25d/yeti09.wav new file mode 100644 index 0000000..106f834 Binary files /dev/null and b/iwdification/animations/e25d/yeti09.wav differ diff --git a/iwdification/animations/e300/ghost01.wav b/iwdification/animations/e300/ghost01.wav new file mode 100644 index 0000000..c5970d9 Binary files /dev/null and b/iwdification/animations/e300/ghost01.wav differ diff --git a/iwdification/animations/e300/ghost02.wav b/iwdification/animations/e300/ghost02.wav new file mode 100644 index 0000000..2102f6a Binary files /dev/null and b/iwdification/animations/e300/ghost02.wav differ diff --git a/iwdification/animations/e300/ghost03a.wav b/iwdification/animations/e300/ghost03a.wav new file mode 100644 index 0000000..c2ff852 Binary files /dev/null and b/iwdification/animations/e300/ghost03a.wav differ diff --git a/iwdification/animations/e300/ghost03b.wav b/iwdification/animations/e300/ghost03b.wav new file mode 100644 index 0000000..ee11fdd Binary files /dev/null and b/iwdification/animations/e300/ghost03b.wav differ diff --git a/iwdification/animations/e300/ghost04a.wav b/iwdification/animations/e300/ghost04a.wav new file mode 100644 index 0000000..1c8519f Binary files /dev/null and b/iwdification/animations/e300/ghost04a.wav differ diff --git a/iwdification/animations/e300/ghost04b.wav b/iwdification/animations/e300/ghost04b.wav new file mode 100644 index 0000000..727506d Binary files /dev/null and b/iwdification/animations/e300/ghost04b.wav differ diff --git a/iwdification/animations/e300/ghost07a.wav b/iwdification/animations/e300/ghost07a.wav new file mode 100644 index 0000000..70f87f3 Binary files /dev/null and b/iwdification/animations/e300/ghost07a.wav differ diff --git a/iwdification/animations/e300/ghost07b.wav b/iwdification/animations/e300/ghost07b.wav new file mode 100644 index 0000000..08eb418 Binary files /dev/null and b/iwdification/animations/e300/ghost07b.wav differ diff --git a/iwdification/animations/e300/ghost08a.wav b/iwdification/animations/e300/ghost08a.wav new file mode 100644 index 0000000..b14e869 Binary files /dev/null and b/iwdification/animations/e300/ghost08a.wav differ diff --git a/iwdification/animations/e300/ghost09a.wav b/iwdification/animations/e300/ghost09a.wav new file mode 100644 index 0000000..d3f29b0 Binary files /dev/null and b/iwdification/animations/e300/ghost09a.wav differ diff --git a/iwdification/animations/e300/ghost09b.wav b/iwdification/animations/e300/ghost09b.wav new file mode 100644 index 0000000..d15b688 Binary files /dev/null and b/iwdification/animations/e300/ghost09b.wav differ diff --git a/iwdification/animations/e300/ghost10a.wav b/iwdification/animations/e300/ghost10a.wav new file mode 100644 index 0000000..354930d Binary files /dev/null and b/iwdification/animations/e300/ghost10a.wav differ diff --git a/iwdification/animations/e300/mghoa1.bam b/iwdification/animations/e300/mghoa1.bam new file mode 100644 index 0000000..2a170f0 Binary files /dev/null and b/iwdification/animations/e300/mghoa1.bam differ diff --git a/iwdification/animations/e300/mghoa1e.bam b/iwdification/animations/e300/mghoa1e.bam new file mode 100644 index 0000000..b14411f Binary files /dev/null and b/iwdification/animations/e300/mghoa1e.bam differ diff --git a/iwdification/animations/e300/mghoa2.bam b/iwdification/animations/e300/mghoa2.bam new file mode 100644 index 0000000..8d6ae49 Binary files /dev/null and b/iwdification/animations/e300/mghoa2.bam differ diff --git a/iwdification/animations/e300/mghoa2e.bam b/iwdification/animations/e300/mghoa2e.bam new file mode 100644 index 0000000..4bb475e Binary files /dev/null and b/iwdification/animations/e300/mghoa2e.bam differ diff --git a/iwdification/animations/e300/mghoca.bam b/iwdification/animations/e300/mghoca.bam new file mode 100644 index 0000000..2a170f0 Binary files /dev/null and b/iwdification/animations/e300/mghoca.bam differ diff --git a/iwdification/animations/e300/mghocae.bam b/iwdification/animations/e300/mghocae.bam new file mode 100644 index 0000000..b14411f Binary files /dev/null and b/iwdification/animations/e300/mghocae.bam differ diff --git a/iwdification/animations/e300/mghode.bam b/iwdification/animations/e300/mghode.bam new file mode 100644 index 0000000..75eb74a Binary files /dev/null and b/iwdification/animations/e300/mghode.bam differ diff --git a/iwdification/animations/e300/mghodee.bam b/iwdification/animations/e300/mghodee.bam new file mode 100644 index 0000000..fcbf379 Binary files /dev/null and b/iwdification/animations/e300/mghodee.bam differ diff --git a/iwdification/animations/e300/mghogh.bam b/iwdification/animations/e300/mghogh.bam new file mode 100644 index 0000000..76aaabd Binary files /dev/null and b/iwdification/animations/e300/mghogh.bam differ diff --git a/iwdification/animations/e300/mghoghe.bam b/iwdification/animations/e300/mghoghe.bam new file mode 100644 index 0000000..d59a7ed Binary files /dev/null and b/iwdification/animations/e300/mghoghe.bam differ diff --git a/iwdification/animations/e300/mghogu.bam b/iwdification/animations/e300/mghogu.bam new file mode 100644 index 0000000..7bd3698 Binary files /dev/null and b/iwdification/animations/e300/mghogu.bam differ diff --git a/iwdification/animations/e300/mghogue.bam b/iwdification/animations/e300/mghogue.bam new file mode 100644 index 0000000..605c808 Binary files /dev/null and b/iwdification/animations/e300/mghogue.bam differ diff --git a/iwdification/animations/e300/mghosc.bam b/iwdification/animations/e300/mghosc.bam new file mode 100644 index 0000000..66dce52 Binary files /dev/null and b/iwdification/animations/e300/mghosc.bam differ diff --git a/iwdification/animations/e300/mghosce.bam b/iwdification/animations/e300/mghosce.bam new file mode 100644 index 0000000..4f0341c Binary files /dev/null and b/iwdification/animations/e300/mghosce.bam differ diff --git a/iwdification/animations/e300/mghosd.bam b/iwdification/animations/e300/mghosd.bam new file mode 100644 index 0000000..74fecde Binary files /dev/null and b/iwdification/animations/e300/mghosd.bam differ diff --git a/iwdification/animations/e300/mghosde.bam b/iwdification/animations/e300/mghosde.bam new file mode 100644 index 0000000..8a65010 Binary files /dev/null and b/iwdification/animations/e300/mghosde.bam differ diff --git a/iwdification/animations/e300/mghosl.bam b/iwdification/animations/e300/mghosl.bam new file mode 100644 index 0000000..5a775cc Binary files /dev/null and b/iwdification/animations/e300/mghosl.bam differ diff --git a/iwdification/animations/e300/mghosle.bam b/iwdification/animations/e300/mghosle.bam new file mode 100644 index 0000000..adfff36 Binary files /dev/null and b/iwdification/animations/e300/mghosle.bam differ diff --git a/iwdification/animations/e300/mghosp.bam b/iwdification/animations/e300/mghosp.bam new file mode 100644 index 0000000..66dce52 Binary files /dev/null and b/iwdification/animations/e300/mghosp.bam differ diff --git a/iwdification/animations/e300/mghospe.bam b/iwdification/animations/e300/mghospe.bam new file mode 100644 index 0000000..4f0341c Binary files /dev/null and b/iwdification/animations/e300/mghospe.bam differ diff --git a/iwdification/animations/e300/mghotw.bam b/iwdification/animations/e300/mghotw.bam new file mode 100644 index 0000000..026a0a4 Binary files /dev/null and b/iwdification/animations/e300/mghotw.bam differ diff --git a/iwdification/animations/e300/mghotwe.bam b/iwdification/animations/e300/mghotwe.bam new file mode 100644 index 0000000..080959c Binary files /dev/null and b/iwdification/animations/e300/mghotwe.bam differ diff --git a/iwdification/animations/e300/mghowk.bam b/iwdification/animations/e300/mghowk.bam new file mode 100644 index 0000000..18aab3b Binary files /dev/null and b/iwdification/animations/e300/mghowk.bam differ diff --git a/iwdification/animations/e300/mghowke.bam b/iwdification/animations/e300/mghowke.bam new file mode 100644 index 0000000..c2b0551 Binary files /dev/null and b/iwdification/animations/e300/mghowke.bam differ diff --git a/iwdification/animations/e320/bf_sm01.wav b/iwdification/animations/e320/bf_sm01.wav new file mode 100644 index 0000000..2bc0729 Binary files /dev/null and b/iwdification/animations/e320/bf_sm01.wav differ diff --git a/iwdification/animations/e320/bf_sm02.wav b/iwdification/animations/e320/bf_sm02.wav new file mode 100644 index 0000000..24092dd Binary files /dev/null and b/iwdification/animations/e320/bf_sm02.wav differ diff --git a/iwdification/animations/e320/bf_sm03.wav b/iwdification/animations/e320/bf_sm03.wav new file mode 100644 index 0000000..6450527 Binary files /dev/null and b/iwdification/animations/e320/bf_sm03.wav differ diff --git a/iwdification/animations/e320/ghoul03a.wav b/iwdification/animations/e320/ghoul03a.wav new file mode 100644 index 0000000..6cac5e9 Binary files /dev/null and b/iwdification/animations/e320/ghoul03a.wav differ diff --git a/iwdification/animations/e320/ghoul03b.wav b/iwdification/animations/e320/ghoul03b.wav new file mode 100644 index 0000000..97d0019 Binary files /dev/null and b/iwdification/animations/e320/ghoul03b.wav differ diff --git a/iwdification/animations/e320/ghoul04a.wav b/iwdification/animations/e320/ghoul04a.wav new file mode 100644 index 0000000..9b27843 Binary files /dev/null and b/iwdification/animations/e320/ghoul04a.wav differ diff --git a/iwdification/animations/e320/ghoul04b.wav b/iwdification/animations/e320/ghoul04b.wav new file mode 100644 index 0000000..2fea183 Binary files /dev/null and b/iwdification/animations/e320/ghoul04b.wav differ diff --git a/iwdification/animations/e320/ghoul07.wav b/iwdification/animations/e320/ghoul07.wav new file mode 100644 index 0000000..c1ba359 Binary files /dev/null and b/iwdification/animations/e320/ghoul07.wav differ diff --git a/iwdification/animations/e320/ghoul10.wav b/iwdification/animations/e320/ghoul10.wav new file mode 100644 index 0000000..9826e89 Binary files /dev/null and b/iwdification/animations/e320/ghoul10.wav differ diff --git a/iwdification/animations/e320/mgh3a1.bam b/iwdification/animations/e320/mgh3a1.bam new file mode 100644 index 0000000..2f4c6d2 Binary files /dev/null and b/iwdification/animations/e320/mgh3a1.bam differ diff --git a/iwdification/animations/e320/mgh3a1e.bam b/iwdification/animations/e320/mgh3a1e.bam new file mode 100644 index 0000000..10fda37 Binary files /dev/null and b/iwdification/animations/e320/mgh3a1e.bam differ diff --git a/iwdification/animations/e320/mgh3a2.bam b/iwdification/animations/e320/mgh3a2.bam new file mode 100644 index 0000000..4567d1f Binary files /dev/null and b/iwdification/animations/e320/mgh3a2.bam differ diff --git a/iwdification/animations/e320/mgh3a2e.bam b/iwdification/animations/e320/mgh3a2e.bam new file mode 100644 index 0000000..759a181 Binary files /dev/null and b/iwdification/animations/e320/mgh3a2e.bam differ diff --git a/iwdification/animations/e320/mgh3ca.bam b/iwdification/animations/e320/mgh3ca.bam new file mode 100644 index 0000000..2f4c6d2 Binary files /dev/null and b/iwdification/animations/e320/mgh3ca.bam differ diff --git a/iwdification/animations/e320/mgh3cae.bam b/iwdification/animations/e320/mgh3cae.bam new file mode 100644 index 0000000..10fda37 Binary files /dev/null and b/iwdification/animations/e320/mgh3cae.bam differ diff --git a/iwdification/animations/e320/mgh3de.bam b/iwdification/animations/e320/mgh3de.bam new file mode 100644 index 0000000..b00d8e3 Binary files /dev/null and b/iwdification/animations/e320/mgh3de.bam differ diff --git a/iwdification/animations/e320/mgh3dee.bam b/iwdification/animations/e320/mgh3dee.bam new file mode 100644 index 0000000..cff8032 Binary files /dev/null and b/iwdification/animations/e320/mgh3dee.bam differ diff --git a/iwdification/animations/e320/mgh3gh.bam b/iwdification/animations/e320/mgh3gh.bam new file mode 100644 index 0000000..9ab8a2a Binary files /dev/null and b/iwdification/animations/e320/mgh3gh.bam differ diff --git a/iwdification/animations/e320/mgh3ghe.bam b/iwdification/animations/e320/mgh3ghe.bam new file mode 100644 index 0000000..194a5f8 Binary files /dev/null and b/iwdification/animations/e320/mgh3ghe.bam differ diff --git a/iwdification/animations/e320/mgh3gu.bam b/iwdification/animations/e320/mgh3gu.bam new file mode 100644 index 0000000..3a392fd Binary files /dev/null and b/iwdification/animations/e320/mgh3gu.bam differ diff --git a/iwdification/animations/e320/mgh3gue.bam b/iwdification/animations/e320/mgh3gue.bam new file mode 100644 index 0000000..9d28fb3 Binary files /dev/null and b/iwdification/animations/e320/mgh3gue.bam differ diff --git a/iwdification/animations/e320/mgh3sc.bam b/iwdification/animations/e320/mgh3sc.bam new file mode 100644 index 0000000..a4b8c42 Binary files /dev/null and b/iwdification/animations/e320/mgh3sc.bam differ diff --git a/iwdification/animations/e320/mgh3sce.bam b/iwdification/animations/e320/mgh3sce.bam new file mode 100644 index 0000000..4dbd9eb Binary files /dev/null and b/iwdification/animations/e320/mgh3sce.bam differ diff --git a/iwdification/animations/e320/mgh3sd.bam b/iwdification/animations/e320/mgh3sd.bam new file mode 100644 index 0000000..6b4bbb7 Binary files /dev/null and b/iwdification/animations/e320/mgh3sd.bam differ diff --git a/iwdification/animations/e320/mgh3sde.bam b/iwdification/animations/e320/mgh3sde.bam new file mode 100644 index 0000000..b1e3e18 Binary files /dev/null and b/iwdification/animations/e320/mgh3sde.bam differ diff --git a/iwdification/animations/e320/mgh3sl.bam b/iwdification/animations/e320/mgh3sl.bam new file mode 100644 index 0000000..ffb8ce1 Binary files /dev/null and b/iwdification/animations/e320/mgh3sl.bam differ diff --git a/iwdification/animations/e320/mgh3sle.bam b/iwdification/animations/e320/mgh3sle.bam new file mode 100644 index 0000000..dd2186f Binary files /dev/null and b/iwdification/animations/e320/mgh3sle.bam differ diff --git a/iwdification/animations/e320/mgh3sp.bam b/iwdification/animations/e320/mgh3sp.bam new file mode 100644 index 0000000..a4b8c42 Binary files /dev/null and b/iwdification/animations/e320/mgh3sp.bam differ diff --git a/iwdification/animations/e320/mgh3spe.bam b/iwdification/animations/e320/mgh3spe.bam new file mode 100644 index 0000000..4dbd9eb Binary files /dev/null and b/iwdification/animations/e320/mgh3spe.bam differ diff --git a/iwdification/animations/e320/mgh3tw.bam b/iwdification/animations/e320/mgh3tw.bam new file mode 100644 index 0000000..9f1c3eb Binary files /dev/null and b/iwdification/animations/e320/mgh3tw.bam differ diff --git a/iwdification/animations/e320/mgh3twe.bam b/iwdification/animations/e320/mgh3twe.bam new file mode 100644 index 0000000..4a3c729 Binary files /dev/null and b/iwdification/animations/e320/mgh3twe.bam differ diff --git a/iwdification/animations/e320/mgh3wk.bam b/iwdification/animations/e320/mgh3wk.bam new file mode 100644 index 0000000..c4bbe8c Binary files /dev/null and b/iwdification/animations/e320/mgh3wk.bam differ diff --git a/iwdification/animations/e320/mgh3wke.bam b/iwdification/animations/e320/mgh3wke.bam new file mode 100644 index 0000000..6a74400 Binary files /dev/null and b/iwdification/animations/e320/mgh3wke.bam differ diff --git a/iwdification/animations/e400/bf_lg01.wav b/iwdification/animations/e400/bf_lg01.wav new file mode 100644 index 0000000..77bf64d Binary files /dev/null and b/iwdification/animations/e400/bf_lg01.wav differ diff --git a/iwdification/animations/e400/bf_lg02.wav b/iwdification/animations/e400/bf_lg02.wav new file mode 100644 index 0000000..75f656c Binary files /dev/null and b/iwdification/animations/e400/bf_lg02.wav differ diff --git a/iwdification/animations/e400/bf_lg03.wav b/iwdification/animations/e400/bf_lg03.wav new file mode 100644 index 0000000..a6a95ec Binary files /dev/null and b/iwdification/animations/e400/bf_lg03.wav differ diff --git a/iwdification/animations/e400/gobaxe10.wav b/iwdification/animations/e400/gobaxe10.wav new file mode 100644 index 0000000..1859623 Binary files /dev/null and b/iwdification/animations/e400/gobaxe10.wav differ diff --git a/iwdification/animations/e400/gobaxe8.wav b/iwdification/animations/e400/gobaxe8.wav new file mode 100644 index 0000000..3607d11 Binary files /dev/null and b/iwdification/animations/e400/gobaxe8.wav differ diff --git a/iwdification/animations/e400/mgo1ca.bam b/iwdification/animations/e400/mgo1ca.bam new file mode 100644 index 0000000..6e785fc Binary files /dev/null and b/iwdification/animations/e400/mgo1ca.bam differ diff --git a/iwdification/animations/e400/mgo1cae.bam b/iwdification/animations/e400/mgo1cae.bam new file mode 100644 index 0000000..bd05086 Binary files /dev/null and b/iwdification/animations/e400/mgo1cae.bam differ diff --git a/iwdification/animations/e400/mgo1sp.bam b/iwdification/animations/e400/mgo1sp.bam new file mode 100644 index 0000000..6f3cb9d Binary files /dev/null and b/iwdification/animations/e400/mgo1sp.bam differ diff --git a/iwdification/animations/e400/mgo1spe.bam b/iwdification/animations/e400/mgo1spe.bam new file mode 100644 index 0000000..d86ce99 Binary files /dev/null and b/iwdification/animations/e400/mgo1spe.bam differ diff --git a/iwdification/animations/e420/bf_lg01.wav b/iwdification/animations/e420/bf_lg01.wav new file mode 100644 index 0000000..77bf64d Binary files /dev/null and b/iwdification/animations/e420/bf_lg01.wav differ diff --git a/iwdification/animations/e420/bf_lg02.wav b/iwdification/animations/e420/bf_lg02.wav new file mode 100644 index 0000000..75f656c Binary files /dev/null and b/iwdification/animations/e420/bf_lg02.wav differ diff --git a/iwdification/animations/e420/bf_lg03.wav b/iwdification/animations/e420/bf_lg03.wav new file mode 100644 index 0000000..a6a95ec Binary files /dev/null and b/iwdification/animations/e420/bf_lg03.wav differ diff --git a/iwdification/animations/e420/gobaxe10.wav b/iwdification/animations/e420/gobaxe10.wav new file mode 100644 index 0000000..1859623 Binary files /dev/null and b/iwdification/animations/e420/gobaxe10.wav differ diff --git a/iwdification/animations/e420/gobaxe8.wav b/iwdification/animations/e420/gobaxe8.wav new file mode 100644 index 0000000..3607d11 Binary files /dev/null and b/iwdification/animations/e420/gobaxe8.wav differ diff --git a/iwdification/animations/e420/mgo3ca.bam b/iwdification/animations/e420/mgo3ca.bam new file mode 100644 index 0000000..579ae02 Binary files /dev/null and b/iwdification/animations/e420/mgo3ca.bam differ diff --git a/iwdification/animations/e420/mgo3cae.bam b/iwdification/animations/e420/mgo3cae.bam new file mode 100644 index 0000000..c5c1b48 Binary files /dev/null and b/iwdification/animations/e420/mgo3cae.bam differ diff --git a/iwdification/animations/e420/mgo3sp.bam b/iwdification/animations/e420/mgo3sp.bam new file mode 100644 index 0000000..7f8848a Binary files /dev/null and b/iwdification/animations/e420/mgo3sp.bam differ diff --git a/iwdification/animations/e420/mgo3spe.bam b/iwdification/animations/e420/mgo3spe.bam new file mode 100644 index 0000000..09e47ff Binary files /dev/null and b/iwdification/animations/e420/mgo3spe.bam differ diff --git a/iwdification/animations/e500/bf_md01.wav b/iwdification/animations/e500/bf_md01.wav new file mode 100644 index 0000000..64f5174 Binary files /dev/null and b/iwdification/animations/e500/bf_md01.wav differ diff --git a/iwdification/animations/e500/bf_md02.wav b/iwdification/animations/e500/bf_md02.wav new file mode 100644 index 0000000..441c655 Binary files /dev/null and b/iwdification/animations/e500/bf_md02.wav differ diff --git a/iwdification/animations/e500/bf_md03.wav b/iwdification/animations/e500/bf_md03.wav new file mode 100644 index 0000000..714b141 Binary files /dev/null and b/iwdification/animations/e500/bf_md03.wav differ diff --git a/iwdification/animations/e500/lizon02b.wav b/iwdification/animations/e500/lizon02b.wav new file mode 100644 index 0000000..c05fbde Binary files /dev/null and b/iwdification/animations/e500/lizon02b.wav differ diff --git a/iwdification/animations/e500/lizon08.wav b/iwdification/animations/e500/lizon08.wav new file mode 100644 index 0000000..a52f459 Binary files /dev/null and b/iwdification/animations/e500/lizon08.wav differ diff --git a/iwdification/animations/e500/lizon10.wav b/iwdification/animations/e500/lizon10.wav new file mode 100644 index 0000000..1286c1c Binary files /dev/null and b/iwdification/animations/e500/lizon10.wav differ diff --git a/iwdification/animations/e500/mlizca1.bam b/iwdification/animations/e500/mlizca1.bam new file mode 100644 index 0000000..ba5a361 Binary files /dev/null and b/iwdification/animations/e500/mlizca1.bam differ diff --git a/iwdification/animations/e500/mlizca1e.bam b/iwdification/animations/e500/mlizca1e.bam new file mode 100644 index 0000000..2d59481 Binary files /dev/null and b/iwdification/animations/e500/mlizca1e.bam differ diff --git a/iwdification/animations/e500/mlizca2.bam b/iwdification/animations/e500/mlizca2.bam new file mode 100644 index 0000000..883b194 Binary files /dev/null and b/iwdification/animations/e500/mlizca2.bam differ diff --git a/iwdification/animations/e500/mlizca2e.bam b/iwdification/animations/e500/mlizca2e.bam new file mode 100644 index 0000000..8e7359f Binary files /dev/null and b/iwdification/animations/e500/mlizca2e.bam differ diff --git a/iwdification/animations/e500/mlizcca.bam b/iwdification/animations/e500/mlizcca.bam new file mode 100644 index 0000000..9cfb1f7 Binary files /dev/null and b/iwdification/animations/e500/mlizcca.bam differ diff --git a/iwdification/animations/e500/mlizccae.bam b/iwdification/animations/e500/mlizccae.bam new file mode 100644 index 0000000..75f4258 Binary files /dev/null and b/iwdification/animations/e500/mlizccae.bam differ diff --git a/iwdification/animations/e500/mlizcgh.bam b/iwdification/animations/e500/mlizcgh.bam new file mode 100644 index 0000000..139ca57 Binary files /dev/null and b/iwdification/animations/e500/mlizcgh.bam differ diff --git a/iwdification/animations/e500/mlizcghe.bam b/iwdification/animations/e500/mlizcghe.bam new file mode 100644 index 0000000..cae3d35 Binary files /dev/null and b/iwdification/animations/e500/mlizcghe.bam differ diff --git a/iwdification/animations/e500/mlizcgu.bam b/iwdification/animations/e500/mlizcgu.bam new file mode 100644 index 0000000..7d78b45 Binary files /dev/null and b/iwdification/animations/e500/mlizcgu.bam differ diff --git a/iwdification/animations/e500/mlizcgue.bam b/iwdification/animations/e500/mlizcgue.bam new file mode 100644 index 0000000..3527892 Binary files /dev/null and b/iwdification/animations/e500/mlizcgue.bam differ diff --git a/iwdification/animations/e500/mlizcsc.bam b/iwdification/animations/e500/mlizcsc.bam new file mode 100644 index 0000000..56db337 Binary files /dev/null and b/iwdification/animations/e500/mlizcsc.bam differ diff --git a/iwdification/animations/e500/mlizcsce.bam b/iwdification/animations/e500/mlizcsce.bam new file mode 100644 index 0000000..dc718d2 Binary files /dev/null and b/iwdification/animations/e500/mlizcsce.bam differ diff --git a/iwdification/animations/e500/mlizcsd.bam b/iwdification/animations/e500/mlizcsd.bam new file mode 100644 index 0000000..c51f334 Binary files /dev/null and b/iwdification/animations/e500/mlizcsd.bam differ diff --git a/iwdification/animations/e500/mlizcsde.bam b/iwdification/animations/e500/mlizcsde.bam new file mode 100644 index 0000000..8c2c9d3 Binary files /dev/null and b/iwdification/animations/e500/mlizcsde.bam differ diff --git a/iwdification/animations/e500/mlizcsl.bam b/iwdification/animations/e500/mlizcsl.bam new file mode 100644 index 0000000..1bb3135 Binary files /dev/null and b/iwdification/animations/e500/mlizcsl.bam differ diff --git a/iwdification/animations/e500/mlizcsle.bam b/iwdification/animations/e500/mlizcsle.bam new file mode 100644 index 0000000..909ea3f Binary files /dev/null and b/iwdification/animations/e500/mlizcsle.bam differ diff --git a/iwdification/animations/e500/mlizcsp.bam b/iwdification/animations/e500/mlizcsp.bam new file mode 100644 index 0000000..93e80ca Binary files /dev/null and b/iwdification/animations/e500/mlizcsp.bam differ diff --git a/iwdification/animations/e500/mlizcspe.bam b/iwdification/animations/e500/mlizcspe.bam new file mode 100644 index 0000000..f0c2ee1 Binary files /dev/null and b/iwdification/animations/e500/mlizcspe.bam differ diff --git a/iwdification/animations/e500/mlizcwk.bam b/iwdification/animations/e500/mlizcwk.bam new file mode 100644 index 0000000..8a04de6 Binary files /dev/null and b/iwdification/animations/e500/mlizcwk.bam differ diff --git a/iwdification/animations/e500/mlizcwke.bam b/iwdification/animations/e500/mlizcwke.bam new file mode 100644 index 0000000..19094ce Binary files /dev/null and b/iwdification/animations/e500/mlizcwke.bam differ diff --git a/iwdification/animations/e500/mlizha1.bam b/iwdification/animations/e500/mlizha1.bam new file mode 100644 index 0000000..2d1e517 Binary files /dev/null and b/iwdification/animations/e500/mlizha1.bam differ diff --git a/iwdification/animations/e500/mlizha1e.bam b/iwdification/animations/e500/mlizha1e.bam new file mode 100644 index 0000000..2aa264f Binary files /dev/null and b/iwdification/animations/e500/mlizha1e.bam differ diff --git a/iwdification/animations/e500/mlizha2.bam b/iwdification/animations/e500/mlizha2.bam new file mode 100644 index 0000000..0487842 Binary files /dev/null and b/iwdification/animations/e500/mlizha2.bam differ diff --git a/iwdification/animations/e500/mlizha2e.bam b/iwdification/animations/e500/mlizha2e.bam new file mode 100644 index 0000000..142ff0d Binary files /dev/null and b/iwdification/animations/e500/mlizha2e.bam differ diff --git a/iwdification/animations/e500/mlizhca.bam b/iwdification/animations/e500/mlizhca.bam new file mode 100644 index 0000000..8357309 Binary files /dev/null and b/iwdification/animations/e500/mlizhca.bam differ diff --git a/iwdification/animations/e500/mlizhcae.bam b/iwdification/animations/e500/mlizhcae.bam new file mode 100644 index 0000000..c30ad85 Binary files /dev/null and b/iwdification/animations/e500/mlizhcae.bam differ diff --git a/iwdification/animations/e500/mlizhgh.bam b/iwdification/animations/e500/mlizhgh.bam new file mode 100644 index 0000000..68b8304 Binary files /dev/null and b/iwdification/animations/e500/mlizhgh.bam differ diff --git a/iwdification/animations/e500/mlizhghe.bam b/iwdification/animations/e500/mlizhghe.bam new file mode 100644 index 0000000..f9dd6c5 Binary files /dev/null and b/iwdification/animations/e500/mlizhghe.bam differ diff --git a/iwdification/animations/e500/mlizhgu.bam b/iwdification/animations/e500/mlizhgu.bam new file mode 100644 index 0000000..c783e1b Binary files /dev/null and b/iwdification/animations/e500/mlizhgu.bam differ diff --git a/iwdification/animations/e500/mlizhgue.bam b/iwdification/animations/e500/mlizhgue.bam new file mode 100644 index 0000000..3533736 Binary files /dev/null and b/iwdification/animations/e500/mlizhgue.bam differ diff --git a/iwdification/animations/e500/mlizhsc.bam b/iwdification/animations/e500/mlizhsc.bam new file mode 100644 index 0000000..fb48084 Binary files /dev/null and b/iwdification/animations/e500/mlizhsc.bam differ diff --git a/iwdification/animations/e500/mlizhsce.bam b/iwdification/animations/e500/mlizhsce.bam new file mode 100644 index 0000000..417a8f7 Binary files /dev/null and b/iwdification/animations/e500/mlizhsce.bam differ diff --git a/iwdification/animations/e500/mlizhsd.bam b/iwdification/animations/e500/mlizhsd.bam new file mode 100644 index 0000000..173101a Binary files /dev/null and b/iwdification/animations/e500/mlizhsd.bam differ diff --git a/iwdification/animations/e500/mlizhsde.bam b/iwdification/animations/e500/mlizhsde.bam new file mode 100644 index 0000000..48ca511 Binary files /dev/null and b/iwdification/animations/e500/mlizhsde.bam differ diff --git a/iwdification/animations/e500/mlizhsl.bam b/iwdification/animations/e500/mlizhsl.bam new file mode 100644 index 0000000..fc447af Binary files /dev/null and b/iwdification/animations/e500/mlizhsl.bam differ diff --git a/iwdification/animations/e500/mlizhsle.bam b/iwdification/animations/e500/mlizhsle.bam new file mode 100644 index 0000000..88bfe86 Binary files /dev/null and b/iwdification/animations/e500/mlizhsle.bam differ diff --git a/iwdification/animations/e500/mlizhsp.bam b/iwdification/animations/e500/mlizhsp.bam new file mode 100644 index 0000000..cca8204 Binary files /dev/null and b/iwdification/animations/e500/mlizhsp.bam differ diff --git a/iwdification/animations/e500/mlizhspe.bam b/iwdification/animations/e500/mlizhspe.bam new file mode 100644 index 0000000..b2e8647 Binary files /dev/null and b/iwdification/animations/e500/mlizhspe.bam differ diff --git a/iwdification/animations/e500/mlizhwk.bam b/iwdification/animations/e500/mlizhwk.bam new file mode 100644 index 0000000..f033cb5 Binary files /dev/null and b/iwdification/animations/e500/mlizhwk.bam differ diff --git a/iwdification/animations/e500/mlizhwke.bam b/iwdification/animations/e500/mlizhwke.bam new file mode 100644 index 0000000..7c9279c Binary files /dev/null and b/iwdification/animations/e500/mlizhwke.bam differ diff --git a/iwdification/animations/e500/mlizqa1.bam b/iwdification/animations/e500/mlizqa1.bam new file mode 100644 index 0000000..62764cf Binary files /dev/null and b/iwdification/animations/e500/mlizqa1.bam differ diff --git a/iwdification/animations/e500/mlizqa1e.bam b/iwdification/animations/e500/mlizqa1e.bam new file mode 100644 index 0000000..b68aedd Binary files /dev/null and b/iwdification/animations/e500/mlizqa1e.bam differ diff --git a/iwdification/animations/e500/mlizqa2.bam b/iwdification/animations/e500/mlizqa2.bam new file mode 100644 index 0000000..12c9845 Binary files /dev/null and b/iwdification/animations/e500/mlizqa2.bam differ diff --git a/iwdification/animations/e500/mlizqa2e.bam b/iwdification/animations/e500/mlizqa2e.bam new file mode 100644 index 0000000..95a0fca Binary files /dev/null and b/iwdification/animations/e500/mlizqa2e.bam differ diff --git a/iwdification/animations/e500/mlizqca.bam b/iwdification/animations/e500/mlizqca.bam new file mode 100644 index 0000000..5321bb3 Binary files /dev/null and b/iwdification/animations/e500/mlizqca.bam differ diff --git a/iwdification/animations/e500/mlizqcae.bam b/iwdification/animations/e500/mlizqcae.bam new file mode 100644 index 0000000..a67d8f3 Binary files /dev/null and b/iwdification/animations/e500/mlizqcae.bam differ diff --git a/iwdification/animations/e500/mlizqgh.bam b/iwdification/animations/e500/mlizqgh.bam new file mode 100644 index 0000000..1605341 Binary files /dev/null and b/iwdification/animations/e500/mlizqgh.bam differ diff --git a/iwdification/animations/e500/mlizqghe.bam b/iwdification/animations/e500/mlizqghe.bam new file mode 100644 index 0000000..91d3dc9 Binary files /dev/null and b/iwdification/animations/e500/mlizqghe.bam differ diff --git a/iwdification/animations/e500/mlizqgu.bam b/iwdification/animations/e500/mlizqgu.bam new file mode 100644 index 0000000..246c6b6 Binary files /dev/null and b/iwdification/animations/e500/mlizqgu.bam differ diff --git a/iwdification/animations/e500/mlizqgue.bam b/iwdification/animations/e500/mlizqgue.bam new file mode 100644 index 0000000..522ddc3 Binary files /dev/null and b/iwdification/animations/e500/mlizqgue.bam differ diff --git a/iwdification/animations/e500/mlizqsc.bam b/iwdification/animations/e500/mlizqsc.bam new file mode 100644 index 0000000..3aeca08 Binary files /dev/null and b/iwdification/animations/e500/mlizqsc.bam differ diff --git a/iwdification/animations/e500/mlizqsce.bam b/iwdification/animations/e500/mlizqsce.bam new file mode 100644 index 0000000..94b543b Binary files /dev/null and b/iwdification/animations/e500/mlizqsce.bam differ diff --git a/iwdification/animations/e500/mlizqsd.bam b/iwdification/animations/e500/mlizqsd.bam new file mode 100644 index 0000000..db13a2e Binary files /dev/null and b/iwdification/animations/e500/mlizqsd.bam differ diff --git a/iwdification/animations/e500/mlizqsde.bam b/iwdification/animations/e500/mlizqsde.bam new file mode 100644 index 0000000..9f89275 Binary files /dev/null and b/iwdification/animations/e500/mlizqsde.bam differ diff --git a/iwdification/animations/e500/mlizqsl.bam b/iwdification/animations/e500/mlizqsl.bam new file mode 100644 index 0000000..6d150e4 Binary files /dev/null and b/iwdification/animations/e500/mlizqsl.bam differ diff --git a/iwdification/animations/e500/mlizqsle.bam b/iwdification/animations/e500/mlizqsle.bam new file mode 100644 index 0000000..db04748 Binary files /dev/null and b/iwdification/animations/e500/mlizqsle.bam differ diff --git a/iwdification/animations/e500/mlizqsp.bam b/iwdification/animations/e500/mlizqsp.bam new file mode 100644 index 0000000..c152e07 Binary files /dev/null and b/iwdification/animations/e500/mlizqsp.bam differ diff --git a/iwdification/animations/e500/mlizqspe.bam b/iwdification/animations/e500/mlizqspe.bam new file mode 100644 index 0000000..b4fe63a Binary files /dev/null and b/iwdification/animations/e500/mlizqspe.bam differ diff --git a/iwdification/animations/e500/mlizqwk.bam b/iwdification/animations/e500/mlizqwk.bam new file mode 100644 index 0000000..1311fa7 Binary files /dev/null and b/iwdification/animations/e500/mlizqwk.bam differ diff --git a/iwdification/animations/e500/mlizqwke.bam b/iwdification/animations/e500/mlizqwke.bam new file mode 100644 index 0000000..4fb1be9 Binary files /dev/null and b/iwdification/animations/e500/mlizqwke.bam differ diff --git a/iwdification/animations/e510/bf_md01.wav b/iwdification/animations/e510/bf_md01.wav new file mode 100644 index 0000000..64f5174 Binary files /dev/null and b/iwdification/animations/e510/bf_md01.wav differ diff --git a/iwdification/animations/e510/bf_md02.wav b/iwdification/animations/e510/bf_md02.wav new file mode 100644 index 0000000..441c655 Binary files /dev/null and b/iwdification/animations/e510/bf_md02.wav differ diff --git a/iwdification/animations/e510/bf_md03.wav b/iwdification/animations/e510/bf_md03.wav new file mode 100644 index 0000000..714b141 Binary files /dev/null and b/iwdification/animations/e510/bf_md03.wav differ diff --git a/iwdification/animations/e510/lizon02b.wav b/iwdification/animations/e510/lizon02b.wav new file mode 100644 index 0000000..c05fbde Binary files /dev/null and b/iwdification/animations/e510/lizon02b.wav differ diff --git a/iwdification/animations/e510/lizon08.wav b/iwdification/animations/e510/lizon08.wav new file mode 100644 index 0000000..a52f459 Binary files /dev/null and b/iwdification/animations/e510/lizon08.wav differ diff --git a/iwdification/animations/e510/lizon10.wav b/iwdification/animations/e510/lizon10.wav new file mode 100644 index 0000000..1286c1c Binary files /dev/null and b/iwdification/animations/e510/lizon10.wav differ diff --git a/iwdification/animations/e510/mli2a1.bam b/iwdification/animations/e510/mli2a1.bam new file mode 100644 index 0000000..b85ba75 Binary files /dev/null and b/iwdification/animations/e510/mli2a1.bam differ diff --git a/iwdification/animations/e510/mli2a1e.bam b/iwdification/animations/e510/mli2a1e.bam new file mode 100644 index 0000000..8708776 Binary files /dev/null and b/iwdification/animations/e510/mli2a1e.bam differ diff --git a/iwdification/animations/e510/mli2a2.bam b/iwdification/animations/e510/mli2a2.bam new file mode 100644 index 0000000..fac2acd Binary files /dev/null and b/iwdification/animations/e510/mli2a2.bam differ diff --git a/iwdification/animations/e510/mli2a2e.bam b/iwdification/animations/e510/mli2a2e.bam new file mode 100644 index 0000000..102bef6 Binary files /dev/null and b/iwdification/animations/e510/mli2a2e.bam differ diff --git a/iwdification/animations/e510/mli2aa1.bam b/iwdification/animations/e510/mli2aa1.bam new file mode 100644 index 0000000..b4b3504 Binary files /dev/null and b/iwdification/animations/e510/mli2aa1.bam differ diff --git a/iwdification/animations/e510/mli2aa1e.bam b/iwdification/animations/e510/mli2aa1e.bam new file mode 100644 index 0000000..4eab940 Binary files /dev/null and b/iwdification/animations/e510/mli2aa1e.bam differ diff --git a/iwdification/animations/e510/mli2aa2.bam b/iwdification/animations/e510/mli2aa2.bam new file mode 100644 index 0000000..8384cb3 Binary files /dev/null and b/iwdification/animations/e510/mli2aa2.bam differ diff --git a/iwdification/animations/e510/mli2aa2e.bam b/iwdification/animations/e510/mli2aa2e.bam new file mode 100644 index 0000000..1439472 Binary files /dev/null and b/iwdification/animations/e510/mli2aa2e.bam differ diff --git a/iwdification/animations/e510/mli2aca.bam b/iwdification/animations/e510/mli2aca.bam new file mode 100644 index 0000000..b4b3504 Binary files /dev/null and b/iwdification/animations/e510/mli2aca.bam differ diff --git a/iwdification/animations/e510/mli2acae.bam b/iwdification/animations/e510/mli2acae.bam new file mode 100644 index 0000000..4eab940 Binary files /dev/null and b/iwdification/animations/e510/mli2acae.bam differ diff --git a/iwdification/animations/e510/mli2agh.bam b/iwdification/animations/e510/mli2agh.bam new file mode 100644 index 0000000..f51c7dc Binary files /dev/null and b/iwdification/animations/e510/mli2agh.bam differ diff --git a/iwdification/animations/e510/mli2aghe.bam b/iwdification/animations/e510/mli2aghe.bam new file mode 100644 index 0000000..3b554f5 Binary files /dev/null and b/iwdification/animations/e510/mli2aghe.bam differ diff --git a/iwdification/animations/e510/mli2agu.bam b/iwdification/animations/e510/mli2agu.bam new file mode 100644 index 0000000..60bd2cd Binary files /dev/null and b/iwdification/animations/e510/mli2agu.bam differ diff --git a/iwdification/animations/e510/mli2ague.bam b/iwdification/animations/e510/mli2ague.bam new file mode 100644 index 0000000..47526f1 Binary files /dev/null and b/iwdification/animations/e510/mli2ague.bam differ diff --git a/iwdification/animations/e510/mli2asc.bam b/iwdification/animations/e510/mli2asc.bam new file mode 100644 index 0000000..8d5e999 Binary files /dev/null and b/iwdification/animations/e510/mli2asc.bam differ diff --git a/iwdification/animations/e510/mli2asce.bam b/iwdification/animations/e510/mli2asce.bam new file mode 100644 index 0000000..48fc890 Binary files /dev/null and b/iwdification/animations/e510/mli2asce.bam differ diff --git a/iwdification/animations/e510/mli2asd.bam b/iwdification/animations/e510/mli2asd.bam new file mode 100644 index 0000000..64869f0 Binary files /dev/null and b/iwdification/animations/e510/mli2asd.bam differ diff --git a/iwdification/animations/e510/mli2asde.bam b/iwdification/animations/e510/mli2asde.bam new file mode 100644 index 0000000..34cfd21 Binary files /dev/null and b/iwdification/animations/e510/mli2asde.bam differ diff --git a/iwdification/animations/e510/mli2asl.bam b/iwdification/animations/e510/mli2asl.bam new file mode 100644 index 0000000..87da9ce Binary files /dev/null and b/iwdification/animations/e510/mli2asl.bam differ diff --git a/iwdification/animations/e510/mli2asle.bam b/iwdification/animations/e510/mli2asle.bam new file mode 100644 index 0000000..776bbb5 Binary files /dev/null and b/iwdification/animations/e510/mli2asle.bam differ diff --git a/iwdification/animations/e510/mli2asp.bam b/iwdification/animations/e510/mli2asp.bam new file mode 100644 index 0000000..8d5e999 Binary files /dev/null and b/iwdification/animations/e510/mli2asp.bam differ diff --git a/iwdification/animations/e510/mli2aspe.bam b/iwdification/animations/e510/mli2aspe.bam new file mode 100644 index 0000000..48fc890 Binary files /dev/null and b/iwdification/animations/e510/mli2aspe.bam differ diff --git a/iwdification/animations/e510/mli2awk.bam b/iwdification/animations/e510/mli2awk.bam new file mode 100644 index 0000000..a302057 Binary files /dev/null and b/iwdification/animations/e510/mli2awk.bam differ diff --git a/iwdification/animations/e510/mli2awke.bam b/iwdification/animations/e510/mli2awke.bam new file mode 100644 index 0000000..9357db7 Binary files /dev/null and b/iwdification/animations/e510/mli2awke.bam differ diff --git a/iwdification/animations/e510/mli2ca.bam b/iwdification/animations/e510/mli2ca.bam new file mode 100644 index 0000000..b85ba75 Binary files /dev/null and b/iwdification/animations/e510/mli2ca.bam differ diff --git a/iwdification/animations/e510/mli2cae.bam b/iwdification/animations/e510/mli2cae.bam new file mode 100644 index 0000000..8708776 Binary files /dev/null and b/iwdification/animations/e510/mli2cae.bam differ diff --git a/iwdification/animations/e510/mli2de.bam b/iwdification/animations/e510/mli2de.bam new file mode 100644 index 0000000..e658d88 Binary files /dev/null and b/iwdification/animations/e510/mli2de.bam differ diff --git a/iwdification/animations/e510/mli2dee.bam b/iwdification/animations/e510/mli2dee.bam new file mode 100644 index 0000000..3369c7c Binary files /dev/null and b/iwdification/animations/e510/mli2dee.bam differ diff --git a/iwdification/animations/e510/mli2gh.bam b/iwdification/animations/e510/mli2gh.bam new file mode 100644 index 0000000..05c1ad1 Binary files /dev/null and b/iwdification/animations/e510/mli2gh.bam differ diff --git a/iwdification/animations/e510/mli2ghe.bam b/iwdification/animations/e510/mli2ghe.bam new file mode 100644 index 0000000..9073121 Binary files /dev/null and b/iwdification/animations/e510/mli2ghe.bam differ diff --git a/iwdification/animations/e510/mli2gu.bam b/iwdification/animations/e510/mli2gu.bam new file mode 100644 index 0000000..3eef29d Binary files /dev/null and b/iwdification/animations/e510/mli2gu.bam differ diff --git a/iwdification/animations/e510/mli2gue.bam b/iwdification/animations/e510/mli2gue.bam new file mode 100644 index 0000000..c503e0f Binary files /dev/null and b/iwdification/animations/e510/mli2gue.bam differ diff --git a/iwdification/animations/e510/mli2ha1.bam b/iwdification/animations/e510/mli2ha1.bam new file mode 100644 index 0000000..50e8f08 Binary files /dev/null and b/iwdification/animations/e510/mli2ha1.bam differ diff --git a/iwdification/animations/e510/mli2ha1e.bam b/iwdification/animations/e510/mli2ha1e.bam new file mode 100644 index 0000000..a5e4e3a Binary files /dev/null and b/iwdification/animations/e510/mli2ha1e.bam differ diff --git a/iwdification/animations/e510/mli2ha2.bam b/iwdification/animations/e510/mli2ha2.bam new file mode 100644 index 0000000..9b4752d Binary files /dev/null and b/iwdification/animations/e510/mli2ha2.bam differ diff --git a/iwdification/animations/e510/mli2ha2e.bam b/iwdification/animations/e510/mli2ha2e.bam new file mode 100644 index 0000000..c1bcf21 Binary files /dev/null and b/iwdification/animations/e510/mli2ha2e.bam differ diff --git a/iwdification/animations/e510/mli2hca.bam b/iwdification/animations/e510/mli2hca.bam new file mode 100644 index 0000000..50e8f08 Binary files /dev/null and b/iwdification/animations/e510/mli2hca.bam differ diff --git a/iwdification/animations/e510/mli2hcae.bam b/iwdification/animations/e510/mli2hcae.bam new file mode 100644 index 0000000..a5e4e3a Binary files /dev/null and b/iwdification/animations/e510/mli2hcae.bam differ diff --git a/iwdification/animations/e510/mli2hgh.bam b/iwdification/animations/e510/mli2hgh.bam new file mode 100644 index 0000000..0a3162a Binary files /dev/null and b/iwdification/animations/e510/mli2hgh.bam differ diff --git a/iwdification/animations/e510/mli2hghe.bam b/iwdification/animations/e510/mli2hghe.bam new file mode 100644 index 0000000..1735ad9 Binary files /dev/null and b/iwdification/animations/e510/mli2hghe.bam differ diff --git a/iwdification/animations/e510/mli2hgu.bam b/iwdification/animations/e510/mli2hgu.bam new file mode 100644 index 0000000..1f2ddef Binary files /dev/null and b/iwdification/animations/e510/mli2hgu.bam differ diff --git a/iwdification/animations/e510/mli2hgue.bam b/iwdification/animations/e510/mli2hgue.bam new file mode 100644 index 0000000..5fd7639 Binary files /dev/null and b/iwdification/animations/e510/mli2hgue.bam differ diff --git a/iwdification/animations/e510/mli2hsc.bam b/iwdification/animations/e510/mli2hsc.bam new file mode 100644 index 0000000..bea6329 Binary files /dev/null and b/iwdification/animations/e510/mli2hsc.bam differ diff --git a/iwdification/animations/e510/mli2hsce.bam b/iwdification/animations/e510/mli2hsce.bam new file mode 100644 index 0000000..b2f6cd7 Binary files /dev/null and b/iwdification/animations/e510/mli2hsce.bam differ diff --git a/iwdification/animations/e510/mli2hsd.bam b/iwdification/animations/e510/mli2hsd.bam new file mode 100644 index 0000000..1f81492 Binary files /dev/null and b/iwdification/animations/e510/mli2hsd.bam differ diff --git a/iwdification/animations/e510/mli2hsde.bam b/iwdification/animations/e510/mli2hsde.bam new file mode 100644 index 0000000..31a1750 Binary files /dev/null and b/iwdification/animations/e510/mli2hsde.bam differ diff --git a/iwdification/animations/e510/mli2hsl.bam b/iwdification/animations/e510/mli2hsl.bam new file mode 100644 index 0000000..eb20f8f Binary files /dev/null and b/iwdification/animations/e510/mli2hsl.bam differ diff --git a/iwdification/animations/e510/mli2hsle.bam b/iwdification/animations/e510/mli2hsle.bam new file mode 100644 index 0000000..97590bf Binary files /dev/null and b/iwdification/animations/e510/mli2hsle.bam differ diff --git a/iwdification/animations/e510/mli2hsp.bam b/iwdification/animations/e510/mli2hsp.bam new file mode 100644 index 0000000..bea6329 Binary files /dev/null and b/iwdification/animations/e510/mli2hsp.bam differ diff --git a/iwdification/animations/e510/mli2hspe.bam b/iwdification/animations/e510/mli2hspe.bam new file mode 100644 index 0000000..b2f6cd7 Binary files /dev/null and b/iwdification/animations/e510/mli2hspe.bam differ diff --git a/iwdification/animations/e510/mli2hwk.bam b/iwdification/animations/e510/mli2hwk.bam new file mode 100644 index 0000000..9158615 Binary files /dev/null and b/iwdification/animations/e510/mli2hwk.bam differ diff --git a/iwdification/animations/e510/mli2hwke.bam b/iwdification/animations/e510/mli2hwke.bam new file mode 100644 index 0000000..6fb9fd6 Binary files /dev/null and b/iwdification/animations/e510/mli2hwke.bam differ diff --git a/iwdification/animations/e510/mli2ma1.bam b/iwdification/animations/e510/mli2ma1.bam new file mode 100644 index 0000000..fcf4c1b Binary files /dev/null and b/iwdification/animations/e510/mli2ma1.bam differ diff --git a/iwdification/animations/e510/mli2ma1e.bam b/iwdification/animations/e510/mli2ma1e.bam new file mode 100644 index 0000000..ff92868 Binary files /dev/null and b/iwdification/animations/e510/mli2ma1e.bam differ diff --git a/iwdification/animations/e510/mli2ma2.bam b/iwdification/animations/e510/mli2ma2.bam new file mode 100644 index 0000000..c0e0642 Binary files /dev/null and b/iwdification/animations/e510/mli2ma2.bam differ diff --git a/iwdification/animations/e510/mli2ma2e.bam b/iwdification/animations/e510/mli2ma2e.bam new file mode 100644 index 0000000..a8db191 Binary files /dev/null and b/iwdification/animations/e510/mli2ma2e.bam differ diff --git a/iwdification/animations/e510/mli2mca.bam b/iwdification/animations/e510/mli2mca.bam new file mode 100644 index 0000000..fcf4c1b Binary files /dev/null and b/iwdification/animations/e510/mli2mca.bam differ diff --git a/iwdification/animations/e510/mli2mcae.bam b/iwdification/animations/e510/mli2mcae.bam new file mode 100644 index 0000000..ff92868 Binary files /dev/null and b/iwdification/animations/e510/mli2mcae.bam differ diff --git a/iwdification/animations/e510/mli2mgh.bam b/iwdification/animations/e510/mli2mgh.bam new file mode 100644 index 0000000..12ca5c6 Binary files /dev/null and b/iwdification/animations/e510/mli2mgh.bam differ diff --git a/iwdification/animations/e510/mli2mghe.bam b/iwdification/animations/e510/mli2mghe.bam new file mode 100644 index 0000000..b767671 Binary files /dev/null and b/iwdification/animations/e510/mli2mghe.bam differ diff --git a/iwdification/animations/e510/mli2mgu.bam b/iwdification/animations/e510/mli2mgu.bam new file mode 100644 index 0000000..ae3aaa1 Binary files /dev/null and b/iwdification/animations/e510/mli2mgu.bam differ diff --git a/iwdification/animations/e510/mli2mgue.bam b/iwdification/animations/e510/mli2mgue.bam new file mode 100644 index 0000000..8c4f387 Binary files /dev/null and b/iwdification/animations/e510/mli2mgue.bam differ diff --git a/iwdification/animations/e510/mli2msc.bam b/iwdification/animations/e510/mli2msc.bam new file mode 100644 index 0000000..e216e78 Binary files /dev/null and b/iwdification/animations/e510/mli2msc.bam differ diff --git a/iwdification/animations/e510/mli2msce.bam b/iwdification/animations/e510/mli2msce.bam new file mode 100644 index 0000000..4f375dd Binary files /dev/null and b/iwdification/animations/e510/mli2msce.bam differ diff --git a/iwdification/animations/e510/mli2msd.bam b/iwdification/animations/e510/mli2msd.bam new file mode 100644 index 0000000..eceb70c Binary files /dev/null and b/iwdification/animations/e510/mli2msd.bam differ diff --git a/iwdification/animations/e510/mli2msde.bam b/iwdification/animations/e510/mli2msde.bam new file mode 100644 index 0000000..4232273 Binary files /dev/null and b/iwdification/animations/e510/mli2msde.bam differ diff --git a/iwdification/animations/e510/mli2msl.bam b/iwdification/animations/e510/mli2msl.bam new file mode 100644 index 0000000..94d7715 Binary files /dev/null and b/iwdification/animations/e510/mli2msl.bam differ diff --git a/iwdification/animations/e510/mli2msle.bam b/iwdification/animations/e510/mli2msle.bam new file mode 100644 index 0000000..1ace27c Binary files /dev/null and b/iwdification/animations/e510/mli2msle.bam differ diff --git a/iwdification/animations/e510/mli2msp.bam b/iwdification/animations/e510/mli2msp.bam new file mode 100644 index 0000000..e216e78 Binary files /dev/null and b/iwdification/animations/e510/mli2msp.bam differ diff --git a/iwdification/animations/e510/mli2mspe.bam b/iwdification/animations/e510/mli2mspe.bam new file mode 100644 index 0000000..4f375dd Binary files /dev/null and b/iwdification/animations/e510/mli2mspe.bam differ diff --git a/iwdification/animations/e510/mli2mwk.bam b/iwdification/animations/e510/mli2mwk.bam new file mode 100644 index 0000000..1b9fa62 Binary files /dev/null and b/iwdification/animations/e510/mli2mwk.bam differ diff --git a/iwdification/animations/e510/mli2mwke.bam b/iwdification/animations/e510/mli2mwke.bam new file mode 100644 index 0000000..2ef9a28 Binary files /dev/null and b/iwdification/animations/e510/mli2mwke.bam differ diff --git a/iwdification/animations/e510/mli2sc.bam b/iwdification/animations/e510/mli2sc.bam new file mode 100644 index 0000000..be0d944 Binary files /dev/null and b/iwdification/animations/e510/mli2sc.bam differ diff --git a/iwdification/animations/e510/mli2sce.bam b/iwdification/animations/e510/mli2sce.bam new file mode 100644 index 0000000..67610a5 Binary files /dev/null and b/iwdification/animations/e510/mli2sce.bam differ diff --git a/iwdification/animations/e510/mli2sd.bam b/iwdification/animations/e510/mli2sd.bam new file mode 100644 index 0000000..ff997b6 Binary files /dev/null and b/iwdification/animations/e510/mli2sd.bam differ diff --git a/iwdification/animations/e510/mli2sde.bam b/iwdification/animations/e510/mli2sde.bam new file mode 100644 index 0000000..08f45a3 Binary files /dev/null and b/iwdification/animations/e510/mli2sde.bam differ diff --git a/iwdification/animations/e510/mli2sl.bam b/iwdification/animations/e510/mli2sl.bam new file mode 100644 index 0000000..3f8af14 Binary files /dev/null and b/iwdification/animations/e510/mli2sl.bam differ diff --git a/iwdification/animations/e510/mli2sle.bam b/iwdification/animations/e510/mli2sle.bam new file mode 100644 index 0000000..d2c2ba0 Binary files /dev/null and b/iwdification/animations/e510/mli2sle.bam differ diff --git a/iwdification/animations/e510/mli2sp.bam b/iwdification/animations/e510/mli2sp.bam new file mode 100644 index 0000000..be0d944 Binary files /dev/null and b/iwdification/animations/e510/mli2sp.bam differ diff --git a/iwdification/animations/e510/mli2spe.bam b/iwdification/animations/e510/mli2spe.bam new file mode 100644 index 0000000..67610a5 Binary files /dev/null and b/iwdification/animations/e510/mli2spe.bam differ diff --git a/iwdification/animations/e510/mli2tw.bam b/iwdification/animations/e510/mli2tw.bam new file mode 100644 index 0000000..6009863 Binary files /dev/null and b/iwdification/animations/e510/mli2tw.bam differ diff --git a/iwdification/animations/e510/mli2twe.bam b/iwdification/animations/e510/mli2twe.bam new file mode 100644 index 0000000..0b380d6 Binary files /dev/null and b/iwdification/animations/e510/mli2twe.bam differ diff --git a/iwdification/animations/e510/mli2wk.bam b/iwdification/animations/e510/mli2wk.bam new file mode 100644 index 0000000..fa3c648 Binary files /dev/null and b/iwdification/animations/e510/mli2wk.bam differ diff --git a/iwdification/animations/e510/mli2wke.bam b/iwdification/animations/e510/mli2wke.bam new file mode 100644 index 0000000..65c8943 Binary files /dev/null and b/iwdification/animations/e510/mli2wke.bam differ diff --git a/iwdification/animations/e900/bf_md01.wav b/iwdification/animations/e900/bf_md01.wav new file mode 100644 index 0000000..64f5174 Binary files /dev/null and b/iwdification/animations/e900/bf_md01.wav differ diff --git a/iwdification/animations/e900/bf_md02.wav b/iwdification/animations/e900/bf_md02.wav new file mode 100644 index 0000000..441c655 Binary files /dev/null and b/iwdification/animations/e900/bf_md02.wav differ diff --git a/iwdification/animations/e900/bf_md03.wav b/iwdification/animations/e900/bf_md03.wav new file mode 100644 index 0000000..714b141 Binary files /dev/null and b/iwdification/animations/e900/bf_md03.wav differ diff --git a/iwdification/animations/e900/salam02.wav b/iwdification/animations/e900/salam02.wav new file mode 100644 index 0000000..1fd38e9 Binary files /dev/null and b/iwdification/animations/e900/salam02.wav differ diff --git a/iwdification/animations/e900/salam03c.wav b/iwdification/animations/e900/salam03c.wav new file mode 100644 index 0000000..13d9478 Binary files /dev/null and b/iwdification/animations/e900/salam03c.wav differ diff --git a/iwdification/animations/e900/salam03d.wav b/iwdification/animations/e900/salam03d.wav new file mode 100644 index 0000000..79471a0 Binary files /dev/null and b/iwdification/animations/e900/salam03d.wav differ diff --git a/iwdification/animations/e900/salam09b.wav b/iwdification/animations/e900/salam09b.wav new file mode 100644 index 0000000..0f0e24d Binary files /dev/null and b/iwdification/animations/e900/salam09b.wav differ diff --git a/iwdification/animations/e900/salam10a.wav b/iwdification/animations/e900/salam10a.wav new file mode 100644 index 0000000..b439a89 Binary files /dev/null and b/iwdification/animations/e900/salam10a.wav differ diff --git a/iwdification/animations/e910/bf_md01.wav b/iwdification/animations/e910/bf_md01.wav new file mode 100644 index 0000000..64f5174 Binary files /dev/null and b/iwdification/animations/e910/bf_md01.wav differ diff --git a/iwdification/animations/e910/bf_md02.wav b/iwdification/animations/e910/bf_md02.wav new file mode 100644 index 0000000..441c655 Binary files /dev/null and b/iwdification/animations/e910/bf_md02.wav differ diff --git a/iwdification/animations/e910/bf_md03.wav b/iwdification/animations/e910/bf_md03.wav new file mode 100644 index 0000000..714b141 Binary files /dev/null and b/iwdification/animations/e910/bf_md03.wav differ diff --git a/iwdification/animations/e910/msa2ca.bam b/iwdification/animations/e910/msa2ca.bam new file mode 100644 index 0000000..5d6f92d Binary files /dev/null and b/iwdification/animations/e910/msa2ca.bam differ diff --git a/iwdification/animations/e910/msa2cae.bam b/iwdification/animations/e910/msa2cae.bam new file mode 100644 index 0000000..28d8a4d Binary files /dev/null and b/iwdification/animations/e910/msa2cae.bam differ diff --git a/iwdification/animations/e910/msa2sp.bam b/iwdification/animations/e910/msa2sp.bam new file mode 100644 index 0000000..0f1e9ed Binary files /dev/null and b/iwdification/animations/e910/msa2sp.bam differ diff --git a/iwdification/animations/e910/msa2spe.bam b/iwdification/animations/e910/msa2spe.bam new file mode 100644 index 0000000..33ffb80 Binary files /dev/null and b/iwdification/animations/e910/msa2spe.bam differ diff --git a/iwdification/animations/e910/salam02.wav b/iwdification/animations/e910/salam02.wav new file mode 100644 index 0000000..1fd38e9 Binary files /dev/null and b/iwdification/animations/e910/salam02.wav differ diff --git a/iwdification/animations/e910/salam03c.wav b/iwdification/animations/e910/salam03c.wav new file mode 100644 index 0000000..13d9478 Binary files /dev/null and b/iwdification/animations/e910/salam03c.wav differ diff --git a/iwdification/animations/e910/salam03d.wav b/iwdification/animations/e910/salam03d.wav new file mode 100644 index 0000000..79471a0 Binary files /dev/null and b/iwdification/animations/e910/salam03d.wav differ diff --git a/iwdification/animations/e910/salam09b.wav b/iwdification/animations/e910/salam09b.wav new file mode 100644 index 0000000..0f0e24d Binary files /dev/null and b/iwdification/animations/e910/salam09b.wav differ diff --git a/iwdification/animations/e910/salam10a.wav b/iwdification/animations/e910/salam10a.wav new file mode 100644 index 0000000..b439a89 Binary files /dev/null and b/iwdification/animations/e910/salam10a.wav differ diff --git a/iwdification/animations/ea20/msh2a1.bam b/iwdification/animations/ea20/msh2a1.bam new file mode 100644 index 0000000..0314d44 Binary files /dev/null and b/iwdification/animations/ea20/msh2a1.bam differ diff --git a/iwdification/animations/ea20/msh2a1e.bam b/iwdification/animations/ea20/msh2a1e.bam new file mode 100644 index 0000000..3b2399b Binary files /dev/null and b/iwdification/animations/ea20/msh2a1e.bam differ diff --git a/iwdification/animations/ea20/msh2a2.bam b/iwdification/animations/ea20/msh2a2.bam new file mode 100644 index 0000000..73ca386 Binary files /dev/null and b/iwdification/animations/ea20/msh2a2.bam differ diff --git a/iwdification/animations/ea20/msh2a2e.bam b/iwdification/animations/ea20/msh2a2e.bam new file mode 100644 index 0000000..c684f36 Binary files /dev/null and b/iwdification/animations/ea20/msh2a2e.bam differ diff --git a/iwdification/animations/ea20/msh2ca.bam b/iwdification/animations/ea20/msh2ca.bam new file mode 100644 index 0000000..0314d44 Binary files /dev/null and b/iwdification/animations/ea20/msh2ca.bam differ diff --git a/iwdification/animations/ea20/msh2cae.bam b/iwdification/animations/ea20/msh2cae.bam new file mode 100644 index 0000000..3b2399b Binary files /dev/null and b/iwdification/animations/ea20/msh2cae.bam differ diff --git a/iwdification/animations/ea20/msh2de.bam b/iwdification/animations/ea20/msh2de.bam new file mode 100644 index 0000000..b4e7d4e Binary files /dev/null and b/iwdification/animations/ea20/msh2de.bam differ diff --git a/iwdification/animations/ea20/msh2dee.bam b/iwdification/animations/ea20/msh2dee.bam new file mode 100644 index 0000000..4c5a57f Binary files /dev/null and b/iwdification/animations/ea20/msh2dee.bam differ diff --git a/iwdification/animations/ea20/msh2gh.bam b/iwdification/animations/ea20/msh2gh.bam new file mode 100644 index 0000000..8a7295f Binary files /dev/null and b/iwdification/animations/ea20/msh2gh.bam differ diff --git a/iwdification/animations/ea20/msh2ghe.bam b/iwdification/animations/ea20/msh2ghe.bam new file mode 100644 index 0000000..da3c103 Binary files /dev/null and b/iwdification/animations/ea20/msh2ghe.bam differ diff --git a/iwdification/animations/ea20/msh2gu.bam b/iwdification/animations/ea20/msh2gu.bam new file mode 100644 index 0000000..2def340 Binary files /dev/null and b/iwdification/animations/ea20/msh2gu.bam differ diff --git a/iwdification/animations/ea20/msh2gue.bam b/iwdification/animations/ea20/msh2gue.bam new file mode 100644 index 0000000..b9bc917 Binary files /dev/null and b/iwdification/animations/ea20/msh2gue.bam differ diff --git a/iwdification/animations/ea20/msh2sc.bam b/iwdification/animations/ea20/msh2sc.bam new file mode 100644 index 0000000..1c64bcd Binary files /dev/null and b/iwdification/animations/ea20/msh2sc.bam differ diff --git a/iwdification/animations/ea20/msh2sce.bam b/iwdification/animations/ea20/msh2sce.bam new file mode 100644 index 0000000..57b2e3e Binary files /dev/null and b/iwdification/animations/ea20/msh2sce.bam differ diff --git a/iwdification/animations/ea20/msh2sd.bam b/iwdification/animations/ea20/msh2sd.bam new file mode 100644 index 0000000..731d049 Binary files /dev/null and b/iwdification/animations/ea20/msh2sd.bam differ diff --git a/iwdification/animations/ea20/msh2sde.bam b/iwdification/animations/ea20/msh2sde.bam new file mode 100644 index 0000000..515cbf3 Binary files /dev/null and b/iwdification/animations/ea20/msh2sde.bam differ diff --git a/iwdification/animations/ea20/msh2sl.bam b/iwdification/animations/ea20/msh2sl.bam new file mode 100644 index 0000000..7fbb79a Binary files /dev/null and b/iwdification/animations/ea20/msh2sl.bam differ diff --git a/iwdification/animations/ea20/msh2sle.bam b/iwdification/animations/ea20/msh2sle.bam new file mode 100644 index 0000000..3bd84f3 Binary files /dev/null and b/iwdification/animations/ea20/msh2sle.bam differ diff --git a/iwdification/animations/ea20/msh2sp.bam b/iwdification/animations/ea20/msh2sp.bam new file mode 100644 index 0000000..1c64bcd Binary files /dev/null and b/iwdification/animations/ea20/msh2sp.bam differ diff --git a/iwdification/animations/ea20/msh2spe.bam b/iwdification/animations/ea20/msh2spe.bam new file mode 100644 index 0000000..57b2e3e Binary files /dev/null and b/iwdification/animations/ea20/msh2spe.bam differ diff --git a/iwdification/animations/ea20/msh2tw.bam b/iwdification/animations/ea20/msh2tw.bam new file mode 100644 index 0000000..026a0a4 Binary files /dev/null and b/iwdification/animations/ea20/msh2tw.bam differ diff --git a/iwdification/animations/ea20/msh2twe.bam b/iwdification/animations/ea20/msh2twe.bam new file mode 100644 index 0000000..080959c Binary files /dev/null and b/iwdification/animations/ea20/msh2twe.bam differ diff --git a/iwdification/animations/ea20/msh2wk.bam b/iwdification/animations/ea20/msh2wk.bam new file mode 100644 index 0000000..7e5f5a2 Binary files /dev/null and b/iwdification/animations/ea20/msh2wk.bam differ diff --git a/iwdification/animations/ea20/msh2wke.bam b/iwdification/animations/ea20/msh2wke.bam new file mode 100644 index 0000000..cb22c3d Binary files /dev/null and b/iwdification/animations/ea20/msh2wke.bam differ diff --git a/iwdification/animations/ea20/shadbg01.wav b/iwdification/animations/ea20/shadbg01.wav new file mode 100644 index 0000000..998bd8f Binary files /dev/null and b/iwdification/animations/ea20/shadbg01.wav differ diff --git a/iwdification/animations/ea20/shadbg02.wav b/iwdification/animations/ea20/shadbg02.wav new file mode 100644 index 0000000..a8e15af Binary files /dev/null and b/iwdification/animations/ea20/shadbg02.wav differ diff --git a/iwdification/animations/ea20/shadbg03.wav b/iwdification/animations/ea20/shadbg03.wav new file mode 100644 index 0000000..3bbbf23 Binary files /dev/null and b/iwdification/animations/ea20/shadbg03.wav differ diff --git a/iwdification/animations/ea20/shadbg04.wav b/iwdification/animations/ea20/shadbg04.wav new file mode 100644 index 0000000..77e3d2d Binary files /dev/null and b/iwdification/animations/ea20/shadbg04.wav differ diff --git a/iwdification/animations/ea20/shadbg07.wav b/iwdification/animations/ea20/shadbg07.wav new file mode 100644 index 0000000..4bfaa5e Binary files /dev/null and b/iwdification/animations/ea20/shadbg07.wav differ diff --git a/iwdification/animations/ea20/shadbg08.wav b/iwdification/animations/ea20/shadbg08.wav new file mode 100644 index 0000000..7ca97e3 Binary files /dev/null and b/iwdification/animations/ea20/shadbg08.wav differ diff --git a/iwdification/animations/ea20/shadbg09.wav b/iwdification/animations/ea20/shadbg09.wav new file mode 100644 index 0000000..fa75eec Binary files /dev/null and b/iwdification/animations/ea20/shadbg09.wav differ diff --git a/iwdification/animations/ea20/shadbg10.wav b/iwdification/animations/ea20/shadbg10.wav new file mode 100644 index 0000000..7ad229e Binary files /dev/null and b/iwdification/animations/ea20/shadbg10.wav differ diff --git a/iwdification/animations/eb20/bf_md01.wav b/iwdification/animations/eb20/bf_md01.wav new file mode 100644 index 0000000..64f5174 Binary files /dev/null and b/iwdification/animations/eb20/bf_md01.wav differ diff --git a/iwdification/animations/eb20/bf_md02.wav b/iwdification/animations/eb20/bf_md02.wav new file mode 100644 index 0000000..441c655 Binary files /dev/null and b/iwdification/animations/eb20/bf_md02.wav differ diff --git a/iwdification/animations/eb20/bf_md03.wav b/iwdification/animations/eb20/bf_md03.wav new file mode 100644 index 0000000..714b141 Binary files /dev/null and b/iwdification/animations/eb20/bf_md03.wav differ diff --git a/iwdification/animations/eb20/boneg05b.wav b/iwdification/animations/eb20/boneg05b.wav new file mode 100644 index 0000000..af921c3 Binary files /dev/null and b/iwdification/animations/eb20/boneg05b.wav differ diff --git a/iwdification/animations/eb20/boneg08.wav b/iwdification/animations/eb20/boneg08.wav new file mode 100644 index 0000000..cc1cd30 Binary files /dev/null and b/iwdification/animations/eb20/boneg08.wav differ diff --git a/iwdification/animations/eb20/mskbca.bam b/iwdification/animations/eb20/mskbca.bam new file mode 100644 index 0000000..de95ca9 Binary files /dev/null and b/iwdification/animations/eb20/mskbca.bam differ diff --git a/iwdification/animations/eb20/mskbcae.bam b/iwdification/animations/eb20/mskbcae.bam new file mode 100644 index 0000000..d184435 Binary files /dev/null and b/iwdification/animations/eb20/mskbcae.bam differ diff --git a/iwdification/animations/eb20/mskbsp.bam b/iwdification/animations/eb20/mskbsp.bam new file mode 100644 index 0000000..8d283e3 Binary files /dev/null and b/iwdification/animations/eb20/mskbsp.bam differ diff --git a/iwdification/animations/eb20/mskbspe.bam b/iwdification/animations/eb20/mskbspe.bam new file mode 100644 index 0000000..eb34da0 Binary files /dev/null and b/iwdification/animations/eb20/mskbspe.bam differ diff --git a/iwdification/animations/ee00/bf_sm01.wav b/iwdification/animations/ee00/bf_sm01.wav new file mode 100644 index 0000000..2bc0729 Binary files /dev/null and b/iwdification/animations/ee00/bf_sm01.wav differ diff --git a/iwdification/animations/ee00/bf_sm02.wav b/iwdification/animations/ee00/bf_sm02.wav new file mode 100644 index 0000000..24092dd Binary files /dev/null and b/iwdification/animations/ee00/bf_sm02.wav differ diff --git a/iwdification/animations/ee00/bf_sm03.wav b/iwdification/animations/ee00/bf_sm03.wav new file mode 100644 index 0000000..6450527 Binary files /dev/null and b/iwdification/animations/ee00/bf_sm03.wav differ diff --git a/iwdification/animations/ee00/mzo2a1.bam b/iwdification/animations/ee00/mzo2a1.bam new file mode 100644 index 0000000..d638552 Binary files /dev/null and b/iwdification/animations/ee00/mzo2a1.bam differ diff --git a/iwdification/animations/ee00/mzo2a1e.bam b/iwdification/animations/ee00/mzo2a1e.bam new file mode 100644 index 0000000..d4ea8ca Binary files /dev/null and b/iwdification/animations/ee00/mzo2a1e.bam differ diff --git a/iwdification/animations/ee00/mzo2a2.bam b/iwdification/animations/ee00/mzo2a2.bam new file mode 100644 index 0000000..d97665f Binary files /dev/null and b/iwdification/animations/ee00/mzo2a2.bam differ diff --git a/iwdification/animations/ee00/mzo2a2e.bam b/iwdification/animations/ee00/mzo2a2e.bam new file mode 100644 index 0000000..c94f98a Binary files /dev/null and b/iwdification/animations/ee00/mzo2a2e.bam differ diff --git a/iwdification/animations/ee00/mzo2ca.bam b/iwdification/animations/ee00/mzo2ca.bam new file mode 100644 index 0000000..d97665f Binary files /dev/null and b/iwdification/animations/ee00/mzo2ca.bam differ diff --git a/iwdification/animations/ee00/mzo2cae.bam b/iwdification/animations/ee00/mzo2cae.bam new file mode 100644 index 0000000..c94f98a Binary files /dev/null and b/iwdification/animations/ee00/mzo2cae.bam differ diff --git a/iwdification/animations/ee00/mzo2de.bam b/iwdification/animations/ee00/mzo2de.bam new file mode 100644 index 0000000..9f3e33c Binary files /dev/null and b/iwdification/animations/ee00/mzo2de.bam differ diff --git a/iwdification/animations/ee00/mzo2dee.bam b/iwdification/animations/ee00/mzo2dee.bam new file mode 100644 index 0000000..c98f205 Binary files /dev/null and b/iwdification/animations/ee00/mzo2dee.bam differ diff --git a/iwdification/animations/ee00/mzo2gh.bam b/iwdification/animations/ee00/mzo2gh.bam new file mode 100644 index 0000000..67f63f8 Binary files /dev/null and b/iwdification/animations/ee00/mzo2gh.bam differ diff --git a/iwdification/animations/ee00/mzo2ghe.bam b/iwdification/animations/ee00/mzo2ghe.bam new file mode 100644 index 0000000..e05ab9a Binary files /dev/null and b/iwdification/animations/ee00/mzo2ghe.bam differ diff --git a/iwdification/animations/ee00/mzo2gu.bam b/iwdification/animations/ee00/mzo2gu.bam new file mode 100644 index 0000000..8dc203c Binary files /dev/null and b/iwdification/animations/ee00/mzo2gu.bam differ diff --git a/iwdification/animations/ee00/mzo2gue.bam b/iwdification/animations/ee00/mzo2gue.bam new file mode 100644 index 0000000..21d3180 Binary files /dev/null and b/iwdification/animations/ee00/mzo2gue.bam differ diff --git a/iwdification/animations/ee00/mzo2sc.bam b/iwdification/animations/ee00/mzo2sc.bam new file mode 100644 index 0000000..9a57a7c Binary files /dev/null and b/iwdification/animations/ee00/mzo2sc.bam differ diff --git a/iwdification/animations/ee00/mzo2sce.bam b/iwdification/animations/ee00/mzo2sce.bam new file mode 100644 index 0000000..37d1749 Binary files /dev/null and b/iwdification/animations/ee00/mzo2sce.bam differ diff --git a/iwdification/animations/ee00/mzo2sd.bam b/iwdification/animations/ee00/mzo2sd.bam new file mode 100644 index 0000000..ca343db Binary files /dev/null and b/iwdification/animations/ee00/mzo2sd.bam differ diff --git a/iwdification/animations/ee00/mzo2sde.bam b/iwdification/animations/ee00/mzo2sde.bam new file mode 100644 index 0000000..e881c49 Binary files /dev/null and b/iwdification/animations/ee00/mzo2sde.bam differ diff --git a/iwdification/animations/ee00/mzo2sl.bam b/iwdification/animations/ee00/mzo2sl.bam new file mode 100644 index 0000000..f4a2d4d Binary files /dev/null and b/iwdification/animations/ee00/mzo2sl.bam differ diff --git a/iwdification/animations/ee00/mzo2sle.bam b/iwdification/animations/ee00/mzo2sle.bam new file mode 100644 index 0000000..6103867 Binary files /dev/null and b/iwdification/animations/ee00/mzo2sle.bam differ diff --git a/iwdification/animations/ee00/mzo2sp.bam b/iwdification/animations/ee00/mzo2sp.bam new file mode 100644 index 0000000..9a57a7c Binary files /dev/null and b/iwdification/animations/ee00/mzo2sp.bam differ diff --git a/iwdification/animations/ee00/mzo2spe.bam b/iwdification/animations/ee00/mzo2spe.bam new file mode 100644 index 0000000..37d1749 Binary files /dev/null and b/iwdification/animations/ee00/mzo2spe.bam differ diff --git a/iwdification/animations/ee00/mzo2tw.bam b/iwdification/animations/ee00/mzo2tw.bam new file mode 100644 index 0000000..d5df02c Binary files /dev/null and b/iwdification/animations/ee00/mzo2tw.bam differ diff --git a/iwdification/animations/ee00/mzo2twe.bam b/iwdification/animations/ee00/mzo2twe.bam new file mode 100644 index 0000000..d894105 Binary files /dev/null and b/iwdification/animations/ee00/mzo2twe.bam differ diff --git a/iwdification/animations/ee00/mzo2wk.bam b/iwdification/animations/ee00/mzo2wk.bam new file mode 100644 index 0000000..a321619 Binary files /dev/null and b/iwdification/animations/ee00/mzo2wk.bam differ diff --git a/iwdification/animations/ee00/mzo2wke.bam b/iwdification/animations/ee00/mzo2wke.bam new file mode 100644 index 0000000..c25f3b2 Binary files /dev/null and b/iwdification/animations/ee00/mzo2wke.bam differ diff --git a/iwdification/animations/ee00/zomwor01.wav b/iwdification/animations/ee00/zomwor01.wav new file mode 100644 index 0000000..43823e7 Binary files /dev/null and b/iwdification/animations/ee00/zomwor01.wav differ diff --git a/iwdification/animations/ee00/zomwor02.wav b/iwdification/animations/ee00/zomwor02.wav new file mode 100644 index 0000000..09f7ec8 Binary files /dev/null and b/iwdification/animations/ee00/zomwor02.wav differ diff --git a/iwdification/animations/ee00/zomwor03.wav b/iwdification/animations/ee00/zomwor03.wav new file mode 100644 index 0000000..55e6344 Binary files /dev/null and b/iwdification/animations/ee00/zomwor03.wav differ diff --git a/iwdification/animations/ee00/zomwor04.wav b/iwdification/animations/ee00/zomwor04.wav new file mode 100644 index 0000000..0fb9fa3 Binary files /dev/null and b/iwdification/animations/ee00/zomwor04.wav differ diff --git a/iwdification/animations/ee00/zomwor07.wav b/iwdification/animations/ee00/zomwor07.wav new file mode 100644 index 0000000..5344ceb Binary files /dev/null and b/iwdification/animations/ee00/zomwor07.wav differ diff --git a/iwdification/animations/ee00/zomwor08.wav b/iwdification/animations/ee00/zomwor08.wav new file mode 100644 index 0000000..0a0fb9c Binary files /dev/null and b/iwdification/animations/ee00/zomwor08.wav differ diff --git a/iwdification/animations/ee00/zomwor09.wav b/iwdification/animations/ee00/zomwor09.wav new file mode 100644 index 0000000..50a6d41 Binary files /dev/null and b/iwdification/animations/ee00/zomwor09.wav differ diff --git a/iwdification/animations/ee00/zomwor10.wav b/iwdification/animations/ee00/zomwor10.wav new file mode 100644 index 0000000..499e65f Binary files /dev/null and b/iwdification/animations/ee00/zomwor10.wav differ diff --git a/iwdification/baf/baldur.baf b/iwdification/baf/baldur.baf new file mode 100644 index 0000000..7932d93 --- /dev/null +++ b/iwdification/baf/baldur.baf @@ -0,0 +1,15 @@ +IF + Global("CDIZOSA","GLOBAL",1) +THEN + RESPONSE #100 + SetGlobalTimer("CDIZOSAREBOOT","GLOBAL",6) + SetGlobal("CDIZOSA","GLOBAL",2) +END + +IF + Global("CDIZOSA","GLOBAL",2) + GlobalTimerExpired("CDIZOSAREBOOT","GLOBAL") +THEN + RESPONSE #100 + SetGlobal("CDIZOSA","GLOBAL",0) +END \ No newline at end of file diff --git a/iwdification/baf/cdi3sklm.baf b/iwdification/baf/cdi3sklm.baf new file mode 100644 index 0000000..70ebcff --- /dev/null +++ b/iwdification/baf/cdi3sklm.baf @@ -0,0 +1,62 @@ +IF + Global("cd_weapon","LOCALS",0) +THEN + RESPONSE #10 + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #10 + TransformItem("sw1h01","ax1h01") + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #10 + TransformItem("sw1h01","blun02") + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #10 + TransformItem("sw1h01","blun06") + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #10 + TransformItem("sw1h01","sw1h04") + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #10 + TransformItem("sw1h01","sw1h07") + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #5 + TransformItem("sw1h01","dagg01") + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #5 + TransformItem("sw1h01","hamm01") + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #5 + TransformItem("sw1h01","staf01") + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #5 + TransformItem("sw1h01","sw2h01") + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #5 + TransformItem("sw1h01","blun04") // faking hqmace + ApplySpellRES("cdi3sklm",Myself) + SetGlobal("cd_weapon","LOCALS",1) + Continue() + RESPONSE #5 + TransformItem("sw1h01","sw1h04") // faking hqlswrd + ApplySpellRES("cdi3sklm",Myself) + SetGlobal("cd_weapon","LOCALS",1) + Continue() +END + +IF + Global("cd_weapon","LOCALS",1) +THEN + RESPONSE #100 + EquipMostDamagingMelee() + SetGlobal("cd_weapon","LOCALS",2) + Continue() +END \ No newline at end of file diff --git a/iwdification/baf/cdia528.baf b/iwdification/baf/cdia528.baf new file mode 100644 index 0000000..1c88574 --- /dev/null +++ b/iwdification/baf/cdia528.baf @@ -0,0 +1,11 @@ +IF + NumTimesTalkedTo(0) + Detect([PC]) + !Allegiance(Myself,ENEMY) + !StateCheck(Myself,STATE_REALLY_DEAD) +THEN + RESPONSE #100 + FaceObject(LastSummonerOf(Myself)) + StartDialogNoSet(LastSummonerOf(Myself)) +END + diff --git a/iwdification/baf/cdibbcld.baf b/iwdification/baf/cdibbcld.baf new file mode 100644 index 0000000..70bc026 --- /dev/null +++ b/iwdification/baf/cdibbcld.baf @@ -0,0 +1,21 @@ +IF + !Global("BBCLOUD_inactive","LOCALS",1) + Global("Internal4","LOCALS",2) +THEN + RESPONSE #100 + SetGlobal("BBCLOUD_inactive","LOCALS",1) +END + +IF + !Global("BBCLOUD_inactive","LOCALS",1) + !GlobalTimerNotExpired("#localtimer","LOCALS") + See(NearestEnemyOf(Myself)) + Range(NearestEnemyOf(Myself),5) +THEN + RESPONSE #100 + IncrementGlobal("Internal4","LOCALS",1) + SetGlobalTimer("#localtimer","LOCALS",21) + ReallyForceSpellRES("cdibombb",Myself) + Wait(2) +END + diff --git a/iwdification/baf/cdid521.baf b/iwdification/baf/cdid521.baf new file mode 100644 index 0000000..a21977c --- /dev/null +++ b/iwdification/baf/cdid521.baf @@ -0,0 +1,24 @@ +IF + OnCreation() +THEN + RESPONSE #100 + SetGlobalTimer("disappear","LOCALS",60) + ChangeEnemyAlly(Myself,GOODBUTBLUE) + Continue() +END + +IF + GlobalTimerExpired("disappear","LOCALS") +THEN + RESPONSE #100 + DestroySelf() +END + +IF + !GlobalTimerNotExpired("turn","LOCALS") +THEN + RESPONSE #100 + SetGlobalTimer("turn","LOCALS",6) + Turn() +END + diff --git a/iwdification/baf/cdid617.baf b/iwdification/baf/cdid617.baf new file mode 100644 index 0000000..fd1a3b2 --- /dev/null +++ b/iwdification/baf/cdid617.baf @@ -0,0 +1,31 @@ +IF + Global("init","LOCALS",0) +THEN + RESPONSE #100 + SetGlobal("init","LOCALS",1) + SetGlobalTimer("GoAway","LOCALS",30) +END + +IF + GlobalTimerExpired("GoAway","LOCALS") +THEN + RESPONSE #100 + DestroySelf() +END + + +IF + !Allegiance(Myself,NEUTRAL) +THEN + RESPONSE #100 + ChangeEnemyAlly(Myself,NEUTRAL) +END + +IF + True() +THEN + RESPONSE #100 + RandomWalk() +END + + diff --git a/iwdification/baf/cdipspid.baf b/iwdification/baf/cdipspid.baf new file mode 100644 index 0000000..8553d90 --- /dev/null +++ b/iwdification/baf/cdipspid.baf @@ -0,0 +1,8 @@ +IF + See(NearestEnemyOf(Myself)) + !Range(NearestEnemyOf(Myself),12) +THEN + RESPONSE #100 + ReallyForceSpellRES("cdiphase",NearestEnemyOf(Myself)) // spin186 +END + diff --git a/iwdification/baf/cdisalfi.baf b/iwdification/baf/cdisalfi.baf new file mode 100644 index 0000000..2ab5781 --- /dev/null +++ b/iwdification/baf/cdisalfi.baf @@ -0,0 +1,10 @@ +IF + !Global("SAFIRE_inactive","LOCALS",1) + !Global("CREATURE_STATE_VARBit19","LOCALS",1) +THEN + RESPONSE #100 + ReallyForceSpellRES("cdisalfi",Myself) // spin194 + SetGlobal("CREATURE_STATE_VARBit19","LOCALS",1) + SetGlobal("SAFIRE_inactive","LOCALS",1) +END + diff --git a/iwdification/baf/cdisalfr.baf b/iwdification/baf/cdisalfr.baf new file mode 100644 index 0000000..5d79b76 --- /dev/null +++ b/iwdification/baf/cdisalfr.baf @@ -0,0 +1,10 @@ +IF + !Global("SAFROST_inactive","LOCALS",1) + !Global("CREATURE_STATE_VARBit19","LOCALS",1) +THEN + RESPONSE #100 + ReallyForceSpellRES("cdisalfr",Myself) // spin193 + SetGlobal("CREATURE_STATE_VARBit19","LOCALS",1) + SetGlobal("SAFROST_inactive","LOCALS",1) +END + diff --git a/iwdification/baf/cdishamb.baf b/iwdification/baf/cdishamb.baf new file mode 100644 index 0000000..d9d8612 --- /dev/null +++ b/iwdification/baf/cdishamb.baf @@ -0,0 +1,7 @@ +IF + See(NearestEnemyOf(Myself)) +THEN + RESPONSE #100 + AttackReevaluate(LastSeenBy(Myself),75) +END + diff --git a/iwdification/baf/cdiuhgaz.baf b/iwdification/baf/cdiuhgaz.baf new file mode 100644 index 0000000..3fbf3d5 --- /dev/null +++ b/iwdification/baf/cdiuhgaz.baf @@ -0,0 +1,10 @@ +IF + !Global("UHGAZE_inactive","LOCALS",1) + LOS([PC],25) +THEN + RESPONSE #100 + ReallyForceSpellRES("cdiumbr1",Myself) + Wait(2) + SetGlobal("UHGAZE_inactive","LOCALS",1) +END + diff --git a/iwdification/baf/cloudmn.baf b/iwdification/baf/cloudmn.baf new file mode 100644 index 0000000..09e2a11 --- /dev/null +++ b/iwdification/baf/cloudmn.baf @@ -0,0 +1,59 @@ +IF + GlobalTimerExpired("OutOfTime","LOCALS") + Global("initialise","LOCALS",1) +THEN + RESPONSE #100 + DestroySelf() +END + +IF + !Global("initialise","LOCALS",1) +THEN + RESPONSE #100 + SetGlobal("shortstart","LOCALS",3) + SetGlobalTimer("OutOfTime","LOCALS",%cloud_dur%) + SetGlobal("initialise","LOCALS",1) + Continue() +END + +IF + !GlobalTimerNotExpired("cloudtime","LOCALS") + GlobalTimerExpired("shortstart","LOCALS") +THEN + RESPONSE #100 + SetGlobalTimer("cloudtime","LOCALS",1) + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + ReallyForceSpellRES("%code%",Myself) // No such index +END + +IF + !GlobalTimerNotExpired("cloudtime","LOCALS") +THEN + RESPONSE #100 + SetGlobalTimer("cloudtime","LOCALS",1) + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index + CreateCreature("%code%v",[-1.-1],0) // No such index +END + + diff --git a/iwdification/baf/cloudvs.baf b/iwdification/baf/cloudvs.baf new file mode 100644 index 0000000..5e182e1 --- /dev/null +++ b/iwdification/baf/cloudvs.baf @@ -0,0 +1,24 @@ +IF + Global("sequence","LOCALS",0) +THEN + RESPONSE #100 + SetGlobal("sequence","LOCALS",1) + ReallyForceSpellRES("cdiclout",Myself) // No such index +END + +IF + Global("sequence","LOCALS",1) +THEN + RESPONSE #100 + SetGlobal("sequence","LOCALS",2) + ReallyForceSpellRES("%code%v",Myself) // No such index +END + +IF + Global("sequence","LOCALS",2) +THEN + RESPONSE #100 + DestroySelf() +END + + diff --git a/iwdification/baf/zosa.baf b/iwdification/baf/zosa.baf new file mode 100644 index 0000000..1f36a22 --- /dev/null +++ b/iwdification/baf/zosa.baf @@ -0,0 +1,16 @@ +/* +IF + OR(1) + InMyArea("cdid613") +THEN + RESPONSE #100 + DestroySelf() +END +*/ + +IF + !Global("CDIZOSA","GLOBAL",0) +THEN + RESPONSE #100 + DestroySelf() +END \ No newline at end of file diff --git a/iwdification/bam/cdax2h5s.bam b/iwdification/bam/cdax2h5s.bam index 54b82eb..b242ff6 100644 Binary files a/iwdification/bam/cdax2h5s.bam and b/iwdification/bam/cdax2h5s.bam differ diff --git a/iwdification/bam/cdi7eyc1.bam b/iwdification/bam/cdi7eyc1.bam new file mode 100644 index 0000000..26d3400 Binary files /dev/null and b/iwdification/bam/cdi7eyc1.bam differ diff --git a/iwdification/bam/cdi7eyc2.bam b/iwdification/bam/cdi7eyc2.bam new file mode 100644 index 0000000..9053fcd Binary files /dev/null and b/iwdification/bam/cdi7eyc2.bam differ diff --git a/iwdification/bam/cdia126a.bam b/iwdification/bam/cdia126a.bam new file mode 100644 index 0000000..f76184d Binary files /dev/null and b/iwdification/bam/cdia126a.bam differ diff --git a/iwdification/bam/cdia126b.bam b/iwdification/bam/cdia126b.bam new file mode 100644 index 0000000..a5c4244 Binary files /dev/null and b/iwdification/bam/cdia126b.bam differ diff --git a/iwdification/bam/cdia126c.bam b/iwdification/bam/cdia126c.bam new file mode 100644 index 0000000..dcbe7d6 Binary files /dev/null and b/iwdification/bam/cdia126c.bam differ diff --git a/iwdification/bam/cdia204a.bam b/iwdification/bam/cdia204a.bam new file mode 100644 index 0000000..4dbea36 Binary files /dev/null and b/iwdification/bam/cdia204a.bam differ diff --git a/iwdification/bam/cdia204b.bam b/iwdification/bam/cdia204b.bam new file mode 100644 index 0000000..d9559c8 Binary files /dev/null and b/iwdification/bam/cdia204b.bam differ diff --git a/iwdification/bam/cdia204c.bam b/iwdification/bam/cdia204c.bam new file mode 100644 index 0000000..4557f13 Binary files /dev/null and b/iwdification/bam/cdia204c.bam differ diff --git a/iwdification/bam/cdia216a.bam b/iwdification/bam/cdia216a.bam new file mode 100644 index 0000000..9e77a76 Binary files /dev/null and b/iwdification/bam/cdia216a.bam differ diff --git a/iwdification/bam/cdia216b.bam b/iwdification/bam/cdia216b.bam new file mode 100644 index 0000000..5c49221 Binary files /dev/null and b/iwdification/bam/cdia216b.bam differ diff --git a/iwdification/bam/cdia216c.bam b/iwdification/bam/cdia216c.bam new file mode 100644 index 0000000..e558a81 Binary files /dev/null and b/iwdification/bam/cdia216c.bam differ diff --git a/iwdification/bam/cdia225a.bam b/iwdification/bam/cdia225a.bam new file mode 100644 index 0000000..f0952ed Binary files /dev/null and b/iwdification/bam/cdia225a.bam differ diff --git a/iwdification/bam/cdia225b.bam b/iwdification/bam/cdia225b.bam new file mode 100644 index 0000000..c8e5b85 Binary files /dev/null and b/iwdification/bam/cdia225b.bam differ diff --git a/iwdification/bam/cdia225c.bam b/iwdification/bam/cdia225c.bam new file mode 100644 index 0000000..efc0a2c Binary files /dev/null and b/iwdification/bam/cdia225c.bam differ diff --git a/iwdification/bam/cdia225d.bam b/iwdification/bam/cdia225d.bam new file mode 100644 index 0000000..731c557 Binary files /dev/null and b/iwdification/bam/cdia225d.bam differ diff --git a/iwdification/bam/cdia327a.bam b/iwdification/bam/cdia327a.bam new file mode 100644 index 0000000..a4e2756 Binary files /dev/null and b/iwdification/bam/cdia327a.bam differ diff --git a/iwdification/bam/cdia327b.bam b/iwdification/bam/cdia327b.bam new file mode 100644 index 0000000..7950094 Binary files /dev/null and b/iwdification/bam/cdia327b.bam differ diff --git a/iwdification/bam/cdia327c.bam b/iwdification/bam/cdia327c.bam new file mode 100644 index 0000000..bcc33ba Binary files /dev/null and b/iwdification/bam/cdia327c.bam differ diff --git a/iwdification/bam/cdia328a.bam b/iwdification/bam/cdia328a.bam new file mode 100644 index 0000000..229e78c Binary files /dev/null and b/iwdification/bam/cdia328a.bam differ diff --git a/iwdification/bam/cdia328b.bam b/iwdification/bam/cdia328b.bam new file mode 100644 index 0000000..f275ba7 Binary files /dev/null and b/iwdification/bam/cdia328b.bam differ diff --git a/iwdification/bam/cdia328c.bam b/iwdification/bam/cdia328c.bam new file mode 100644 index 0000000..f24238c Binary files /dev/null and b/iwdification/bam/cdia328c.bam differ diff --git a/iwdification/bam/cdia411a.bam b/iwdification/bam/cdia411a.bam index 3bccc52..d582a31 100644 Binary files a/iwdification/bam/cdia411a.bam and b/iwdification/bam/cdia411a.bam differ diff --git a/iwdification/bam/cdia411b.bam b/iwdification/bam/cdia411b.bam index e322246..33f4206 100644 Binary files a/iwdification/bam/cdia411b.bam and b/iwdification/bam/cdia411b.bam differ diff --git a/iwdification/bam/cdia411c.bam b/iwdification/bam/cdia411c.bam index 9e8a0d8..6fd6f88 100644 Binary files a/iwdification/bam/cdia411c.bam and b/iwdification/bam/cdia411c.bam differ diff --git a/iwdification/bam/cdia422a.bam b/iwdification/bam/cdia422a.bam new file mode 100644 index 0000000..35e7d7a Binary files /dev/null and b/iwdification/bam/cdia422a.bam differ diff --git a/iwdification/bam/cdia422b.bam b/iwdification/bam/cdia422b.bam new file mode 100644 index 0000000..2614a84 Binary files /dev/null and b/iwdification/bam/cdia422b.bam differ diff --git a/iwdification/bam/cdia422c.bam b/iwdification/bam/cdia422c.bam new file mode 100644 index 0000000..5b08b10 Binary files /dev/null and b/iwdification/bam/cdia422c.bam differ diff --git a/iwdification/bam/cdia422d.bam b/iwdification/bam/cdia422d.bam new file mode 100644 index 0000000..28bcf1b Binary files /dev/null and b/iwdification/bam/cdia422d.bam differ diff --git a/iwdification/bam/cdia426a.bam b/iwdification/bam/cdia426a.bam new file mode 100644 index 0000000..5df8fca Binary files /dev/null and b/iwdification/bam/cdia426a.bam differ diff --git a/iwdification/bam/cdia426b.bam b/iwdification/bam/cdia426b.bam new file mode 100644 index 0000000..884d760 Binary files /dev/null and b/iwdification/bam/cdia426b.bam differ diff --git a/iwdification/bam/cdia426c.bam b/iwdification/bam/cdia426c.bam new file mode 100644 index 0000000..a290b2a Binary files /dev/null and b/iwdification/bam/cdia426c.bam differ diff --git a/iwdification/bam/cdia427a.bam b/iwdification/bam/cdia427a.bam new file mode 100644 index 0000000..90b1794 Binary files /dev/null and b/iwdification/bam/cdia427a.bam differ diff --git a/iwdification/bam/cdia427b.bam b/iwdification/bam/cdia427b.bam new file mode 100644 index 0000000..dab9bd6 Binary files /dev/null and b/iwdification/bam/cdia427b.bam differ diff --git a/iwdification/bam/cdia427c.bam b/iwdification/bam/cdia427c.bam new file mode 100644 index 0000000..1046cb6 Binary files /dev/null and b/iwdification/bam/cdia427c.bam differ diff --git a/iwdification/bam/cdia427d.bam b/iwdification/bam/cdia427d.bam new file mode 100644 index 0000000..b5af5ea Binary files /dev/null and b/iwdification/bam/cdia427d.bam differ diff --git a/iwdification/bam/cdia428a.bam b/iwdification/bam/cdia428a.bam new file mode 100644 index 0000000..3026d02 Binary files /dev/null and b/iwdification/bam/cdia428a.bam differ diff --git a/iwdification/bam/cdia428b.bam b/iwdification/bam/cdia428b.bam new file mode 100644 index 0000000..7986d66 Binary files /dev/null and b/iwdification/bam/cdia428b.bam differ diff --git a/iwdification/bam/cdia428c.bam b/iwdification/bam/cdia428c.bam new file mode 100644 index 0000000..a4815d9 Binary files /dev/null and b/iwdification/bam/cdia428c.bam differ diff --git a/iwdification/bam/cdia429a.bam b/iwdification/bam/cdia429a.bam new file mode 100644 index 0000000..ee5a54e Binary files /dev/null and b/iwdification/bam/cdia429a.bam differ diff --git a/iwdification/bam/cdia429b.bam b/iwdification/bam/cdia429b.bam new file mode 100644 index 0000000..164fb35 Binary files /dev/null and b/iwdification/bam/cdia429b.bam differ diff --git a/iwdification/bam/cdia429c.bam b/iwdification/bam/cdia429c.bam new file mode 100644 index 0000000..417107f Binary files /dev/null and b/iwdification/bam/cdia429c.bam differ diff --git a/iwdification/bam/cdia429d.bam b/iwdification/bam/cdia429d.bam new file mode 100644 index 0000000..bcdcda3 Binary files /dev/null and b/iwdification/bam/cdia429d.bam differ diff --git a/iwdification/bam/cdia430a.bam b/iwdification/bam/cdia430a.bam new file mode 100644 index 0000000..0453440 Binary files /dev/null and b/iwdification/bam/cdia430a.bam differ diff --git a/iwdification/bam/cdia430b.bam b/iwdification/bam/cdia430b.bam new file mode 100644 index 0000000..be7b341 Binary files /dev/null and b/iwdification/bam/cdia430b.bam differ diff --git a/iwdification/bam/cdia430c.bam b/iwdification/bam/cdia430c.bam new file mode 100644 index 0000000..0820588 Binary files /dev/null and b/iwdification/bam/cdia430c.bam differ diff --git a/iwdification/bam/cdia431a.bam b/iwdification/bam/cdia431a.bam new file mode 100644 index 0000000..c01edab Binary files /dev/null and b/iwdification/bam/cdia431a.bam differ diff --git a/iwdification/bam/cdia431b.bam b/iwdification/bam/cdia431b.bam new file mode 100644 index 0000000..7e7912e Binary files /dev/null and b/iwdification/bam/cdia431b.bam differ diff --git a/iwdification/bam/cdia431c.bam b/iwdification/bam/cdia431c.bam new file mode 100644 index 0000000..ca45816 Binary files /dev/null and b/iwdification/bam/cdia431c.bam differ diff --git a/iwdification/bam/cdia432a.bam b/iwdification/bam/cdia432a.bam new file mode 100644 index 0000000..4098cfd Binary files /dev/null and b/iwdification/bam/cdia432a.bam differ diff --git a/iwdification/bam/cdia432b.bam b/iwdification/bam/cdia432b.bam new file mode 100644 index 0000000..98c69e4 Binary files /dev/null and b/iwdification/bam/cdia432b.bam differ diff --git a/iwdification/bam/cdia432c.bam b/iwdification/bam/cdia432c.bam new file mode 100644 index 0000000..a5c6de7 Binary files /dev/null and b/iwdification/bam/cdia432c.bam differ diff --git a/iwdification/bam/cdia480b.bam b/iwdification/bam/cdia480b.bam new file mode 100644 index 0000000..18e0c69 Binary files /dev/null and b/iwdification/bam/cdia480b.bam differ diff --git a/iwdification/bam/cdia481b.bam b/iwdification/bam/cdia481b.bam new file mode 100644 index 0000000..4ed897c Binary files /dev/null and b/iwdification/bam/cdia481b.bam differ diff --git a/iwdification/bam/cdia482b.bam b/iwdification/bam/cdia482b.bam new file mode 100644 index 0000000..eed2aea Binary files /dev/null and b/iwdification/bam/cdia482b.bam differ diff --git a/iwdification/bam/cdia524a.bam b/iwdification/bam/cdia524a.bam new file mode 100644 index 0000000..4e08a3d Binary files /dev/null and b/iwdification/bam/cdia524a.bam differ diff --git a/iwdification/bam/cdia524b.bam b/iwdification/bam/cdia524b.bam new file mode 100644 index 0000000..cbdc6e9 Binary files /dev/null and b/iwdification/bam/cdia524b.bam differ diff --git a/iwdification/bam/cdia524c.bam b/iwdification/bam/cdia524c.bam new file mode 100644 index 0000000..bf77c51 Binary files /dev/null and b/iwdification/bam/cdia524c.bam differ diff --git a/iwdification/bam/cdia524d.bam b/iwdification/bam/cdia524d.bam new file mode 100644 index 0000000..3984e6c Binary files /dev/null and b/iwdification/bam/cdia524d.bam differ diff --git a/iwdification/bam/cdia525a.bam b/iwdification/bam/cdia525a.bam new file mode 100644 index 0000000..6d00bd8 Binary files /dev/null and b/iwdification/bam/cdia525a.bam differ diff --git a/iwdification/bam/cdia525b.bam b/iwdification/bam/cdia525b.bam new file mode 100644 index 0000000..f3dece1 Binary files /dev/null and b/iwdification/bam/cdia525b.bam differ diff --git a/iwdification/bam/cdia525c.bam b/iwdification/bam/cdia525c.bam new file mode 100644 index 0000000..efa3209 Binary files /dev/null and b/iwdification/bam/cdia525c.bam differ diff --git a/iwdification/bam/cdia526a.bam b/iwdification/bam/cdia526a.bam new file mode 100644 index 0000000..103d501 Binary files /dev/null and b/iwdification/bam/cdia526a.bam differ diff --git a/iwdification/bam/cdia526b.bam b/iwdification/bam/cdia526b.bam new file mode 100644 index 0000000..736a12e Binary files /dev/null and b/iwdification/bam/cdia526b.bam differ diff --git a/iwdification/bam/cdia526c.bam b/iwdification/bam/cdia526c.bam new file mode 100644 index 0000000..5121c2e Binary files /dev/null and b/iwdification/bam/cdia526c.bam differ diff --git a/iwdification/bam/cdia528a.bam b/iwdification/bam/cdia528a.bam new file mode 100644 index 0000000..b20dcbb Binary files /dev/null and b/iwdification/bam/cdia528a.bam differ diff --git a/iwdification/bam/cdia528b.bam b/iwdification/bam/cdia528b.bam new file mode 100644 index 0000000..30c5a4c Binary files /dev/null and b/iwdification/bam/cdia528b.bam differ diff --git a/iwdification/bam/cdia528c.bam b/iwdification/bam/cdia528c.bam new file mode 100644 index 0000000..263ed09 Binary files /dev/null and b/iwdification/bam/cdia528c.bam differ diff --git a/iwdification/bam/cdia531a.bam b/iwdification/bam/cdia531a.bam new file mode 100644 index 0000000..5e5e646 Binary files /dev/null and b/iwdification/bam/cdia531a.bam differ diff --git a/iwdification/bam/cdia531b.bam b/iwdification/bam/cdia531b.bam new file mode 100644 index 0000000..d83598d Binary files /dev/null and b/iwdification/bam/cdia531b.bam differ diff --git a/iwdification/bam/cdia531c.bam b/iwdification/bam/cdia531c.bam new file mode 100644 index 0000000..8ff5ee0 Binary files /dev/null and b/iwdification/bam/cdia531c.bam differ diff --git a/iwdification/bam/cdia532a.bam b/iwdification/bam/cdia532a.bam new file mode 100644 index 0000000..3cfcd7b Binary files /dev/null and b/iwdification/bam/cdia532a.bam differ diff --git a/iwdification/bam/cdia532b.bam b/iwdification/bam/cdia532b.bam new file mode 100644 index 0000000..1dc8f56 Binary files /dev/null and b/iwdification/bam/cdia532b.bam differ diff --git a/iwdification/bam/cdia532c.bam b/iwdification/bam/cdia532c.bam new file mode 100644 index 0000000..e161160 Binary files /dev/null and b/iwdification/bam/cdia532c.bam differ diff --git a/iwdification/bam/cdia533a.bam b/iwdification/bam/cdia533a.bam new file mode 100644 index 0000000..02b7873 Binary files /dev/null and b/iwdification/bam/cdia533a.bam differ diff --git a/iwdification/bam/cdia533b.bam b/iwdification/bam/cdia533b.bam new file mode 100644 index 0000000..405a1a8 Binary files /dev/null and b/iwdification/bam/cdia533b.bam differ diff --git a/iwdification/bam/cdia533c.bam b/iwdification/bam/cdia533c.bam new file mode 100644 index 0000000..f2f0317 Binary files /dev/null and b/iwdification/bam/cdia533c.bam differ diff --git a/iwdification/bam/cdia534a.bam b/iwdification/bam/cdia534a.bam new file mode 100644 index 0000000..49057d0 Binary files /dev/null and b/iwdification/bam/cdia534a.bam differ diff --git a/iwdification/bam/cdia534b.bam b/iwdification/bam/cdia534b.bam new file mode 100644 index 0000000..fefd841 Binary files /dev/null and b/iwdification/bam/cdia534b.bam differ diff --git a/iwdification/bam/cdia534c.bam b/iwdification/bam/cdia534c.bam new file mode 100644 index 0000000..2ce4c45 Binary files /dev/null and b/iwdification/bam/cdia534c.bam differ diff --git a/iwdification/bam/cdia610a.bam b/iwdification/bam/cdia610a.bam index 85c3f1a..92a6eab 100644 Binary files a/iwdification/bam/cdia610a.bam and b/iwdification/bam/cdia610a.bam differ diff --git a/iwdification/bam/cdia610b.bam b/iwdification/bam/cdia610b.bam index e712c57..11c685d 100644 Binary files a/iwdification/bam/cdia610b.bam and b/iwdification/bam/cdia610b.bam differ diff --git a/iwdification/bam/cdia610c.bam b/iwdification/bam/cdia610c.bam index 347957d..5820fe4 100644 Binary files a/iwdification/bam/cdia610c.bam and b/iwdification/bam/cdia610c.bam differ diff --git a/iwdification/bam/cdia610d.bam b/iwdification/bam/cdia610d.bam new file mode 100644 index 0000000..1a6a1fc Binary files /dev/null and b/iwdification/bam/cdia610d.bam differ diff --git a/iwdification/bam/cdia626a.bam b/iwdification/bam/cdia626a.bam new file mode 100644 index 0000000..b0a6c0a Binary files /dev/null and b/iwdification/bam/cdia626a.bam differ diff --git a/iwdification/bam/cdia626b.bam b/iwdification/bam/cdia626b.bam new file mode 100644 index 0000000..0e240fb Binary files /dev/null and b/iwdification/bam/cdia626b.bam differ diff --git a/iwdification/bam/cdia626c.bam b/iwdification/bam/cdia626c.bam new file mode 100644 index 0000000..a1cfcfe Binary files /dev/null and b/iwdification/bam/cdia626c.bam differ diff --git a/iwdification/bam/cdia627a.bam b/iwdification/bam/cdia627a.bam new file mode 100644 index 0000000..6f08f1f Binary files /dev/null and b/iwdification/bam/cdia627a.bam differ diff --git a/iwdification/bam/cdia627b.bam b/iwdification/bam/cdia627b.bam new file mode 100644 index 0000000..b427adc Binary files /dev/null and b/iwdification/bam/cdia627b.bam differ diff --git a/iwdification/bam/cdia627c.bam b/iwdification/bam/cdia627c.bam new file mode 100644 index 0000000..0389e15 Binary files /dev/null and b/iwdification/bam/cdia627c.bam differ diff --git a/iwdification/bam/cdia628a.bam b/iwdification/bam/cdia628a.bam new file mode 100644 index 0000000..a062471 Binary files /dev/null and b/iwdification/bam/cdia628a.bam differ diff --git a/iwdification/bam/cdia628b.bam b/iwdification/bam/cdia628b.bam new file mode 100644 index 0000000..ea9e9e4 Binary files /dev/null and b/iwdification/bam/cdia628b.bam differ diff --git a/iwdification/bam/cdia628c.bam b/iwdification/bam/cdia628c.bam new file mode 100644 index 0000000..28ca645 Binary files /dev/null and b/iwdification/bam/cdia628c.bam differ diff --git a/iwdification/bam/cdia629a.bam b/iwdification/bam/cdia629a.bam new file mode 100644 index 0000000..06d07cb Binary files /dev/null and b/iwdification/bam/cdia629a.bam differ diff --git a/iwdification/bam/cdia629b.bam b/iwdification/bam/cdia629b.bam new file mode 100644 index 0000000..9695583 Binary files /dev/null and b/iwdification/bam/cdia629b.bam differ diff --git a/iwdification/bam/cdia629c.bam b/iwdification/bam/cdia629c.bam new file mode 100644 index 0000000..db671d6 Binary files /dev/null and b/iwdification/bam/cdia629c.bam differ diff --git a/iwdification/bam/cdia630a.bam b/iwdification/bam/cdia630a.bam new file mode 100644 index 0000000..476db49 Binary files /dev/null and b/iwdification/bam/cdia630a.bam differ diff --git a/iwdification/bam/cdia630b.bam b/iwdification/bam/cdia630b.bam new file mode 100644 index 0000000..3f55fc4 Binary files /dev/null and b/iwdification/bam/cdia630b.bam differ diff --git a/iwdification/bam/cdia630c.bam b/iwdification/bam/cdia630c.bam new file mode 100644 index 0000000..924621b Binary files /dev/null and b/iwdification/bam/cdia630c.bam differ diff --git a/iwdification/bam/cdia631a.bam b/iwdification/bam/cdia631a.bam new file mode 100644 index 0000000..350ebff Binary files /dev/null and b/iwdification/bam/cdia631a.bam differ diff --git a/iwdification/bam/cdia631b.bam b/iwdification/bam/cdia631b.bam new file mode 100644 index 0000000..003497b Binary files /dev/null and b/iwdification/bam/cdia631b.bam differ diff --git a/iwdification/bam/cdia631c.bam b/iwdification/bam/cdia631c.bam new file mode 100644 index 0000000..2c14822 Binary files /dev/null and b/iwdification/bam/cdia631c.bam differ diff --git a/iwdification/bam/cdia632a.bam b/iwdification/bam/cdia632a.bam new file mode 100644 index 0000000..04a2388 Binary files /dev/null and b/iwdification/bam/cdia632a.bam differ diff --git a/iwdification/bam/cdia632b.bam b/iwdification/bam/cdia632b.bam new file mode 100644 index 0000000..c690fd7 Binary files /dev/null and b/iwdification/bam/cdia632b.bam differ diff --git a/iwdification/bam/cdia632c.bam b/iwdification/bam/cdia632c.bam new file mode 100644 index 0000000..c805841 Binary files /dev/null and b/iwdification/bam/cdia632c.bam differ diff --git a/iwdification/bam/cdia706a.bam b/iwdification/bam/cdia706a.bam new file mode 100644 index 0000000..bc85259 Binary files /dev/null and b/iwdification/bam/cdia706a.bam differ diff --git a/iwdification/bam/cdia706b.bam b/iwdification/bam/cdia706b.bam new file mode 100644 index 0000000..c1fab6d Binary files /dev/null and b/iwdification/bam/cdia706b.bam differ diff --git a/iwdification/bam/cdia706c.bam b/iwdification/bam/cdia706c.bam new file mode 100644 index 0000000..e5899e7 Binary files /dev/null and b/iwdification/bam/cdia706c.bam differ diff --git a/iwdification/bam/cdia709a.bam b/iwdification/bam/cdia709a.bam new file mode 100644 index 0000000..04fbf07 Binary files /dev/null and b/iwdification/bam/cdia709a.bam differ diff --git a/iwdification/bam/cdia709b.bam b/iwdification/bam/cdia709b.bam new file mode 100644 index 0000000..41bfc37 Binary files /dev/null and b/iwdification/bam/cdia709b.bam differ diff --git a/iwdification/bam/cdia709c.bam b/iwdification/bam/cdia709c.bam new file mode 100644 index 0000000..40e8e18 Binary files /dev/null and b/iwdification/bam/cdia709c.bam differ diff --git a/iwdification/bam/cdia724a.bam b/iwdification/bam/cdia724a.bam new file mode 100644 index 0000000..daa27b2 Binary files /dev/null and b/iwdification/bam/cdia724a.bam differ diff --git a/iwdification/bam/cdia724b.bam b/iwdification/bam/cdia724b.bam new file mode 100644 index 0000000..2786252 Binary files /dev/null and b/iwdification/bam/cdia724b.bam differ diff --git a/iwdification/bam/cdia724c.bam b/iwdification/bam/cdia724c.bam new file mode 100644 index 0000000..8beaf71 Binary files /dev/null and b/iwdification/bam/cdia724c.bam differ diff --git a/iwdification/bam/cdia725a.bam b/iwdification/bam/cdia725a.bam new file mode 100644 index 0000000..2652e4e Binary files /dev/null and b/iwdification/bam/cdia725a.bam differ diff --git a/iwdification/bam/cdia725b.bam b/iwdification/bam/cdia725b.bam new file mode 100644 index 0000000..0b9b2cb Binary files /dev/null and b/iwdification/bam/cdia725b.bam differ diff --git a/iwdification/bam/cdia725c.bam b/iwdification/bam/cdia725c.bam new file mode 100644 index 0000000..80b37d6 Binary files /dev/null and b/iwdification/bam/cdia725c.bam differ diff --git a/iwdification/bam/cdia725t.bam b/iwdification/bam/cdia725t.bam new file mode 100644 index 0000000..f28456c Binary files /dev/null and b/iwdification/bam/cdia725t.bam differ diff --git a/iwdification/bam/cdia725u.bam b/iwdification/bam/cdia725u.bam new file mode 100644 index 0000000..71abbfb Binary files /dev/null and b/iwdification/bam/cdia725u.bam differ diff --git a/iwdification/bam/cdia725v.bam b/iwdification/bam/cdia725v.bam new file mode 100644 index 0000000..a84d9b8 Binary files /dev/null and b/iwdification/bam/cdia725v.bam differ diff --git a/iwdification/bam/cdia725w.bam b/iwdification/bam/cdia725w.bam new file mode 100644 index 0000000..af06f6e Binary files /dev/null and b/iwdification/bam/cdia725w.bam differ diff --git a/iwdification/bam/cdia725x.bam b/iwdification/bam/cdia725x.bam new file mode 100644 index 0000000..ac462c8 Binary files /dev/null and b/iwdification/bam/cdia725x.bam differ diff --git a/iwdification/bam/cdia725y.bam b/iwdification/bam/cdia725y.bam new file mode 100644 index 0000000..10d21d8 Binary files /dev/null and b/iwdification/bam/cdia725y.bam differ diff --git a/iwdification/bam/cdia725z.bam b/iwdification/bam/cdia725z.bam new file mode 100644 index 0000000..ea8cd31 Binary files /dev/null and b/iwdification/bam/cdia725z.bam differ diff --git a/iwdification/bam/cdia726a.bam b/iwdification/bam/cdia726a.bam new file mode 100644 index 0000000..ed0f418 Binary files /dev/null and b/iwdification/bam/cdia726a.bam differ diff --git a/iwdification/bam/cdia726b.bam b/iwdification/bam/cdia726b.bam new file mode 100644 index 0000000..582712a Binary files /dev/null and b/iwdification/bam/cdia726b.bam differ diff --git a/iwdification/bam/cdia726c.bam b/iwdification/bam/cdia726c.bam new file mode 100644 index 0000000..6e7097c Binary files /dev/null and b/iwdification/bam/cdia726c.bam differ diff --git a/iwdification/bam/cdia801a.bam b/iwdification/bam/cdia801a.bam new file mode 100644 index 0000000..175ec67 Binary files /dev/null and b/iwdification/bam/cdia801a.bam differ diff --git a/iwdification/bam/cdia801b.bam b/iwdification/bam/cdia801b.bam new file mode 100644 index 0000000..47a54d6 Binary files /dev/null and b/iwdification/bam/cdia801b.bam differ diff --git a/iwdification/bam/cdia801c.bam b/iwdification/bam/cdia801c.bam new file mode 100644 index 0000000..e5839c6 Binary files /dev/null and b/iwdification/bam/cdia801c.bam differ diff --git a/iwdification/bam/cdia802a.bam b/iwdification/bam/cdia802a.bam new file mode 100644 index 0000000..634f73b Binary files /dev/null and b/iwdification/bam/cdia802a.bam differ diff --git a/iwdification/bam/cdia802b.bam b/iwdification/bam/cdia802b.bam new file mode 100644 index 0000000..7ff8b08 Binary files /dev/null and b/iwdification/bam/cdia802b.bam differ diff --git a/iwdification/bam/cdia802c.bam b/iwdification/bam/cdia802c.bam new file mode 100644 index 0000000..2cc6a36 Binary files /dev/null and b/iwdification/bam/cdia802c.bam differ diff --git a/iwdification/bam/cdia802d.bam b/iwdification/bam/cdia802d.bam new file mode 100644 index 0000000..6073702 Binary files /dev/null and b/iwdification/bam/cdia802d.bam differ diff --git a/iwdification/bam/cdia806a.bam b/iwdification/bam/cdia806a.bam new file mode 100644 index 0000000..db527d8 Binary files /dev/null and b/iwdification/bam/cdia806a.bam differ diff --git a/iwdification/bam/cdia806b.bam b/iwdification/bam/cdia806b.bam new file mode 100644 index 0000000..2334033 Binary files /dev/null and b/iwdification/bam/cdia806b.bam differ diff --git a/iwdification/bam/cdia806c.bam b/iwdification/bam/cdia806c.bam new file mode 100644 index 0000000..612c4f7 Binary files /dev/null and b/iwdification/bam/cdia806c.bam differ diff --git a/iwdification/bam/cdia814a.bam b/iwdification/bam/cdia814a.bam new file mode 100644 index 0000000..b065b89 Binary files /dev/null and b/iwdification/bam/cdia814a.bam differ diff --git a/iwdification/bam/cdia814b.bam b/iwdification/bam/cdia814b.bam new file mode 100644 index 0000000..20762c9 Binary files /dev/null and b/iwdification/bam/cdia814b.bam differ diff --git a/iwdification/bam/cdia814c.bam b/iwdification/bam/cdia814c.bam new file mode 100644 index 0000000..368def7 Binary files /dev/null and b/iwdification/bam/cdia814c.bam differ diff --git a/iwdification/bam/cdia814d.bam b/iwdification/bam/cdia814d.bam new file mode 100644 index 0000000..6cb0115 Binary files /dev/null and b/iwdification/bam/cdia814d.bam differ diff --git a/iwdification/bam/cdia901a.bam b/iwdification/bam/cdia901a.bam new file mode 100644 index 0000000..57025e2 Binary files /dev/null and b/iwdification/bam/cdia901a.bam differ diff --git a/iwdification/bam/cdia901b.bam b/iwdification/bam/cdia901b.bam new file mode 100644 index 0000000..c37f5f5 Binary files /dev/null and b/iwdification/bam/cdia901b.bam differ diff --git a/iwdification/bam/cdia901c.bam b/iwdification/bam/cdia901c.bam new file mode 100644 index 0000000..cdc0319 Binary files /dev/null and b/iwdification/bam/cdia901c.bam differ diff --git a/iwdification/bam/cdiabjur.bam b/iwdification/bam/cdiabjur.bam new file mode 100644 index 0000000..87db4fa Binary files /dev/null and b/iwdification/bam/cdiabjur.bam differ diff --git a/iwdification/bam/cdiabjux.bam b/iwdification/bam/cdiabjux.bam new file mode 100644 index 0000000..22371c1 Binary files /dev/null and b/iwdification/bam/cdiabjux.bam differ diff --git a/iwdification/bam/cdiacid.bam b/iwdification/bam/cdiacid.bam new file mode 100644 index 0000000..b362035 Binary files /dev/null and b/iwdification/bam/cdiacid.bam differ diff --git a/iwdification/bam/cdialter.bam b/iwdification/bam/cdialter.bam new file mode 100644 index 0000000..28920a9 Binary files /dev/null and b/iwdification/bam/cdialter.bam differ diff --git a/iwdification/bam/cdiare1x.bam b/iwdification/bam/cdiare1x.bam new file mode 100644 index 0000000..ad16009 Binary files /dev/null and b/iwdification/bam/cdiare1x.bam differ diff --git a/iwdification/bam/cdiasm1x.bam b/iwdification/bam/cdiasm1x.bam new file mode 100644 index 0000000..c7729ce Binary files /dev/null and b/iwdification/bam/cdiasm1x.bam differ diff --git a/iwdification/bam/cdiastra.bam b/iwdification/bam/cdiastra.bam new file mode 100644 index 0000000..5f83629 Binary files /dev/null and b/iwdification/bam/cdiastra.bam differ diff --git a/iwdification/bam/cdiastrx.bam b/iwdification/bam/cdiastrx.bam new file mode 100644 index 0000000..184d1f8 Binary files /dev/null and b/iwdification/bam/cdiastrx.bam differ diff --git a/iwdification/bam/cdibacld.bam b/iwdification/bam/cdibacld.bam new file mode 100644 index 0000000..336f0ff Binary files /dev/null and b/iwdification/bam/cdibacld.bam differ diff --git a/iwdification/bam/cdibclaw.bam b/iwdification/bam/cdibclaw.bam new file mode 100644 index 0000000..24beba3 Binary files /dev/null and b/iwdification/bam/cdibclaw.bam differ diff --git a/iwdification/bam/cdibhcld.bam b/iwdification/bam/cdibhcld.bam new file mode 100644 index 0000000..0dd205a Binary files /dev/null and b/iwdification/bam/cdibhcld.bam differ diff --git a/iwdification/bam/cdibone1.bam b/iwdification/bam/cdibone1.bam new file mode 100644 index 0000000..349c33b Binary files /dev/null and b/iwdification/bam/cdibone1.bam differ diff --git a/iwdification/bam/cdibone2.bam b/iwdification/bam/cdibone2.bam new file mode 100644 index 0000000..d28bc8b Binary files /dev/null and b/iwdification/bam/cdibone2.bam differ diff --git a/iwdification/bam/cdiceelx.bam b/iwdification/bam/cdiceelx.bam new file mode 100644 index 0000000..d9581c9 Binary files /dev/null and b/iwdification/bam/cdiceelx.bam differ diff --git a/iwdification/bam/cdicfelx.bam b/iwdification/bam/cdicfelx.bam new file mode 100644 index 0000000..a291049 Binary files /dev/null and b/iwdification/bam/cdicfelx.bam differ diff --git a/iwdification/bam/cdicldam.bam b/iwdification/bam/cdicldam.bam new file mode 100644 index 0000000..0261cd9 Binary files /dev/null and b/iwdification/bam/cdicldam.bam differ diff --git a/iwdification/bam/cdicmdam.bam b/iwdification/bam/cdicmdam.bam new file mode 100644 index 0000000..e7089b3 Binary files /dev/null and b/iwdification/bam/cdicmdam.bam differ diff --git a/iwdification/bam/cdicmwou.bam b/iwdification/bam/cdicmwou.bam new file mode 100644 index 0000000..d8e43d4 Binary files /dev/null and b/iwdification/bam/cdicmwou.bam differ diff --git a/iwdification/bam/cdiconju.bam b/iwdification/bam/cdiconju.bam new file mode 100644 index 0000000..36407c1 Binary files /dev/null and b/iwdification/bam/cdiconju.bam differ diff --git a/iwdification/bam/cdicopes.bam b/iwdification/bam/cdicopes.bam new file mode 100644 index 0000000..ea42fec Binary files /dev/null and b/iwdification/bam/cdicopes.bam differ diff --git a/iwdification/bam/cdicurse.bam b/iwdification/bam/cdicurse.bam new file mode 100644 index 0000000..899844b Binary files /dev/null and b/iwdification/bam/cdicurse.bam differ diff --git a/iwdification/bam/cdicwelx.bam b/iwdification/bam/cdicwelx.bam new file mode 100644 index 0000000..98f7a55 Binary files /dev/null and b/iwdification/bam/cdicwelx.bam differ diff --git a/iwdification/bam/cdid112a.bam b/iwdification/bam/cdid112a.bam index 954e269..6ef87a9 100644 Binary files a/iwdification/bam/cdid112a.bam and b/iwdification/bam/cdid112a.bam differ diff --git a/iwdification/bam/cdid112b.bam b/iwdification/bam/cdid112b.bam index 2ea0512..95cead3 100644 Binary files a/iwdification/bam/cdid112b.bam and b/iwdification/bam/cdid112b.bam differ diff --git a/iwdification/bam/cdid112c.bam b/iwdification/bam/cdid112c.bam index abe49a7..50ddd3e 100644 Binary files a/iwdification/bam/cdid112c.bam and b/iwdification/bam/cdid112c.bam differ diff --git a/iwdification/bam/cdid114a.bam b/iwdification/bam/cdid114a.bam new file mode 100644 index 0000000..3aaea3b Binary files /dev/null and b/iwdification/bam/cdid114a.bam differ diff --git a/iwdification/bam/cdid114b.bam b/iwdification/bam/cdid114b.bam new file mode 100644 index 0000000..3e33011 Binary files /dev/null and b/iwdification/bam/cdid114b.bam differ diff --git a/iwdification/bam/cdid114c.bam b/iwdification/bam/cdid114c.bam new file mode 100644 index 0000000..31fd16d Binary files /dev/null and b/iwdification/bam/cdid114c.bam differ diff --git a/iwdification/bam/cdid115a.bam b/iwdification/bam/cdid115a.bam new file mode 100644 index 0000000..c30cf73 Binary files /dev/null and b/iwdification/bam/cdid115a.bam differ diff --git a/iwdification/bam/cdid115b.bam b/iwdification/bam/cdid115b.bam new file mode 100644 index 0000000..756b6f2 Binary files /dev/null and b/iwdification/bam/cdid115b.bam differ diff --git a/iwdification/bam/cdid115c.bam b/iwdification/bam/cdid115c.bam new file mode 100644 index 0000000..a0bf564 Binary files /dev/null and b/iwdification/bam/cdid115c.bam differ diff --git a/iwdification/bam/cdid217a.bam b/iwdification/bam/cdid217a.bam index ef9d511..ed70f31 100644 Binary files a/iwdification/bam/cdid217a.bam and b/iwdification/bam/cdid217a.bam differ diff --git a/iwdification/bam/cdid217b.bam b/iwdification/bam/cdid217b.bam index 01487ca..72f194e 100644 Binary files a/iwdification/bam/cdid217b.bam and b/iwdification/bam/cdid217b.bam differ diff --git a/iwdification/bam/cdid217c.bam b/iwdification/bam/cdid217c.bam index 7ab6027..b658ea1 100644 Binary files a/iwdification/bam/cdid217c.bam and b/iwdification/bam/cdid217c.bam differ diff --git a/iwdification/bam/cdid218a.bam b/iwdification/bam/cdid218a.bam index b65a2d5..92a6474 100644 Binary files a/iwdification/bam/cdid218a.bam and b/iwdification/bam/cdid218a.bam differ diff --git a/iwdification/bam/cdid218b.bam b/iwdification/bam/cdid218b.bam index 0f76d28..a10313e 100644 Binary files a/iwdification/bam/cdid218b.bam and b/iwdification/bam/cdid218b.bam differ diff --git a/iwdification/bam/cdid218c.bam b/iwdification/bam/cdid218c.bam index 21af429..21cd3e3 100644 Binary files a/iwdification/bam/cdid218c.bam and b/iwdification/bam/cdid218c.bam differ diff --git a/iwdification/bam/cdid219a.bam b/iwdification/bam/cdid219a.bam new file mode 100644 index 0000000..7f92865 Binary files /dev/null and b/iwdification/bam/cdid219a.bam differ diff --git a/iwdification/bam/cdid219b.bam b/iwdification/bam/cdid219b.bam new file mode 100644 index 0000000..c81fd59 Binary files /dev/null and b/iwdification/bam/cdid219b.bam differ diff --git a/iwdification/bam/cdid219c.bam b/iwdification/bam/cdid219c.bam new file mode 100644 index 0000000..de0d06b Binary files /dev/null and b/iwdification/bam/cdid219c.bam differ diff --git a/iwdification/bam/cdid220a.bam b/iwdification/bam/cdid220a.bam new file mode 100644 index 0000000..28f8aec Binary files /dev/null and b/iwdification/bam/cdid220a.bam differ diff --git a/iwdification/bam/cdid220b.bam b/iwdification/bam/cdid220b.bam new file mode 100644 index 0000000..51aa996 Binary files /dev/null and b/iwdification/bam/cdid220b.bam differ diff --git a/iwdification/bam/cdid220c.bam b/iwdification/bam/cdid220c.bam new file mode 100644 index 0000000..1ef577c Binary files /dev/null and b/iwdification/bam/cdid220c.bam differ diff --git a/iwdification/bam/cdid316a.bam b/iwdification/bam/cdid316a.bam index 8c984c6..457fdf1 100644 Binary files a/iwdification/bam/cdid316a.bam and b/iwdification/bam/cdid316a.bam differ diff --git a/iwdification/bam/cdid316b.bam b/iwdification/bam/cdid316b.bam index b6654cb..bdc76cf 100644 Binary files a/iwdification/bam/cdid316b.bam and b/iwdification/bam/cdid316b.bam differ diff --git a/iwdification/bam/cdid316c.bam b/iwdification/bam/cdid316c.bam index d59d7c6..e8cd638 100644 Binary files a/iwdification/bam/cdid316c.bam and b/iwdification/bam/cdid316c.bam differ diff --git a/iwdification/bam/cdid316d.bam b/iwdification/bam/cdid316d.bam new file mode 100644 index 0000000..8750c35 Binary files /dev/null and b/iwdification/bam/cdid316d.bam differ diff --git a/iwdification/bam/cdid320a.bam b/iwdification/bam/cdid320a.bam index d1b0517..c45a7f4 100644 Binary files a/iwdification/bam/cdid320a.bam and b/iwdification/bam/cdid320a.bam differ diff --git a/iwdification/bam/cdid320b.bam b/iwdification/bam/cdid320b.bam index 1a1f9e9..2b2d2e1 100644 Binary files a/iwdification/bam/cdid320b.bam and b/iwdification/bam/cdid320b.bam differ diff --git a/iwdification/bam/cdid320c.bam b/iwdification/bam/cdid320c.bam index 30303ae..0d6f313 100644 Binary files a/iwdification/bam/cdid320c.bam and b/iwdification/bam/cdid320c.bam differ diff --git a/iwdification/bam/cdid321a.bam b/iwdification/bam/cdid321a.bam index 193921b..9a8b57d 100644 Binary files a/iwdification/bam/cdid321a.bam and b/iwdification/bam/cdid321a.bam differ diff --git a/iwdification/bam/cdid321b.bam b/iwdification/bam/cdid321b.bam index 6ef0797..6bec20b 100644 Binary files a/iwdification/bam/cdid321b.bam and b/iwdification/bam/cdid321b.bam differ diff --git a/iwdification/bam/cdid321c.bam b/iwdification/bam/cdid321c.bam index 5acb155..b83ba56 100644 Binary files a/iwdification/bam/cdid321c.bam and b/iwdification/bam/cdid321c.bam differ diff --git a/iwdification/bam/cdid321d.bam b/iwdification/bam/cdid321d.bam new file mode 100644 index 0000000..1cb1aba Binary files /dev/null and b/iwdification/bam/cdid321d.bam differ diff --git a/iwdification/bam/cdid322a.bam b/iwdification/bam/cdid322a.bam new file mode 100644 index 0000000..c753454 Binary files /dev/null and b/iwdification/bam/cdid322a.bam differ diff --git a/iwdification/bam/cdid322b.bam b/iwdification/bam/cdid322b.bam new file mode 100644 index 0000000..e5c6cae Binary files /dev/null and b/iwdification/bam/cdid322b.bam differ diff --git a/iwdification/bam/cdid322c.bam b/iwdification/bam/cdid322c.bam new file mode 100644 index 0000000..533772c Binary files /dev/null and b/iwdification/bam/cdid322c.bam differ diff --git a/iwdification/bam/cdid323a.bam b/iwdification/bam/cdid323a.bam index 4af73e2..0957f26 100644 Binary files a/iwdification/bam/cdid323a.bam and b/iwdification/bam/cdid323a.bam differ diff --git a/iwdification/bam/cdid323b.bam b/iwdification/bam/cdid323b.bam index 68372ac..ad2ec15 100644 Binary files a/iwdification/bam/cdid323b.bam and b/iwdification/bam/cdid323b.bam differ diff --git a/iwdification/bam/cdid323c.bam b/iwdification/bam/cdid323c.bam index 8806f63..c49634c 100644 Binary files a/iwdification/bam/cdid323c.bam and b/iwdification/bam/cdid323c.bam differ diff --git a/iwdification/bam/cdid324a.bam b/iwdification/bam/cdid324a.bam new file mode 100644 index 0000000..1c8e8ab Binary files /dev/null and b/iwdification/bam/cdid324a.bam differ diff --git a/iwdification/bam/cdid324b.bam b/iwdification/bam/cdid324b.bam new file mode 100644 index 0000000..062560b Binary files /dev/null and b/iwdification/bam/cdid324b.bam differ diff --git a/iwdification/bam/cdid324c.bam b/iwdification/bam/cdid324c.bam new file mode 100644 index 0000000..273ebcc Binary files /dev/null and b/iwdification/bam/cdid324c.bam differ diff --git a/iwdification/bam/cdid325a.bam b/iwdification/bam/cdid325a.bam new file mode 100644 index 0000000..8ef7f1c Binary files /dev/null and b/iwdification/bam/cdid325a.bam differ diff --git a/iwdification/bam/cdid325b.bam b/iwdification/bam/cdid325b.bam new file mode 100644 index 0000000..88ff7ae Binary files /dev/null and b/iwdification/bam/cdid325b.bam differ diff --git a/iwdification/bam/cdid325c.bam b/iwdification/bam/cdid325c.bam new file mode 100644 index 0000000..3c57b3a Binary files /dev/null and b/iwdification/bam/cdid325c.bam differ diff --git a/iwdification/bam/cdid325v.bam b/iwdification/bam/cdid325v.bam new file mode 100644 index 0000000..b88bce8 Binary files /dev/null and b/iwdification/bam/cdid325v.bam differ diff --git a/iwdification/bam/cdid326a.bam b/iwdification/bam/cdid326a.bam new file mode 100644 index 0000000..5573c16 Binary files /dev/null and b/iwdification/bam/cdid326a.bam differ diff --git a/iwdification/bam/cdid326b.bam b/iwdification/bam/cdid326b.bam new file mode 100644 index 0000000..12c0847 Binary files /dev/null and b/iwdification/bam/cdid326b.bam differ diff --git a/iwdification/bam/cdid326c.bam b/iwdification/bam/cdid326c.bam new file mode 100644 index 0000000..646edf2 Binary files /dev/null and b/iwdification/bam/cdid326c.bam differ diff --git a/iwdification/bam/cdid327a.bam b/iwdification/bam/cdid327a.bam new file mode 100644 index 0000000..f28d8e6 Binary files /dev/null and b/iwdification/bam/cdid327a.bam differ diff --git a/iwdification/bam/cdid327b.bam b/iwdification/bam/cdid327b.bam new file mode 100644 index 0000000..43df5b1 Binary files /dev/null and b/iwdification/bam/cdid327b.bam differ diff --git a/iwdification/bam/cdid327c.bam b/iwdification/bam/cdid327c.bam new file mode 100644 index 0000000..36729e6 Binary files /dev/null and b/iwdification/bam/cdid327c.bam differ diff --git a/iwdification/bam/cdid327d.bam b/iwdification/bam/cdid327d.bam new file mode 100644 index 0000000..219bbfe Binary files /dev/null and b/iwdification/bam/cdid327d.bam differ diff --git a/iwdification/bam/cdid330a.bam b/iwdification/bam/cdid330a.bam new file mode 100644 index 0000000..a45fbbd Binary files /dev/null and b/iwdification/bam/cdid330a.bam differ diff --git a/iwdification/bam/cdid330b.bam b/iwdification/bam/cdid330b.bam new file mode 100644 index 0000000..a4da235 Binary files /dev/null and b/iwdification/bam/cdid330b.bam differ diff --git a/iwdification/bam/cdid330c.bam b/iwdification/bam/cdid330c.bam new file mode 100644 index 0000000..2dc1363 Binary files /dev/null and b/iwdification/bam/cdid330c.bam differ diff --git a/iwdification/bam/cdid331a.bam b/iwdification/bam/cdid331a.bam new file mode 100644 index 0000000..71213e6 Binary files /dev/null and b/iwdification/bam/cdid331a.bam differ diff --git a/iwdification/bam/cdid331b.bam b/iwdification/bam/cdid331b.bam new file mode 100644 index 0000000..9d43b6d Binary files /dev/null and b/iwdification/bam/cdid331b.bam differ diff --git a/iwdification/bam/cdid331c.bam b/iwdification/bam/cdid331c.bam new file mode 100644 index 0000000..0b03fd3 Binary files /dev/null and b/iwdification/bam/cdid331c.bam differ diff --git a/iwdification/bam/cdid418a.bam b/iwdification/bam/cdid418a.bam new file mode 100644 index 0000000..a609e4e Binary files /dev/null and b/iwdification/bam/cdid418a.bam differ diff --git a/iwdification/bam/cdid418b.bam b/iwdification/bam/cdid418b.bam new file mode 100644 index 0000000..6798e9c Binary files /dev/null and b/iwdification/bam/cdid418b.bam differ diff --git a/iwdification/bam/cdid418c.bam b/iwdification/bam/cdid418c.bam new file mode 100644 index 0000000..ef7d73d Binary files /dev/null and b/iwdification/bam/cdid418c.bam differ diff --git a/iwdification/bam/cdid419a.bam b/iwdification/bam/cdid419a.bam index 0dacaee..8b8e146 100644 Binary files a/iwdification/bam/cdid419a.bam and b/iwdification/bam/cdid419a.bam differ diff --git a/iwdification/bam/cdid419b.bam b/iwdification/bam/cdid419b.bam index 16156fb..d42004f 100644 Binary files a/iwdification/bam/cdid419b.bam and b/iwdification/bam/cdid419b.bam differ diff --git a/iwdification/bam/cdid419c.bam b/iwdification/bam/cdid419c.bam index b4e20c2..5b4fab8 100644 Binary files a/iwdification/bam/cdid419c.bam and b/iwdification/bam/cdid419c.bam differ diff --git a/iwdification/bam/cdid420a.bam b/iwdification/bam/cdid420a.bam index 6ab188f..cf53b8c 100644 Binary files a/iwdification/bam/cdid420a.bam and b/iwdification/bam/cdid420a.bam differ diff --git a/iwdification/bam/cdid420b.bam b/iwdification/bam/cdid420b.bam index 078b274..1a2759d 100644 Binary files a/iwdification/bam/cdid420b.bam and b/iwdification/bam/cdid420b.bam differ diff --git a/iwdification/bam/cdid420c.bam b/iwdification/bam/cdid420c.bam index 99d2eba..2d4dcdf 100644 Binary files a/iwdification/bam/cdid420c.bam and b/iwdification/bam/cdid420c.bam differ diff --git a/iwdification/bam/cdid420d.bam b/iwdification/bam/cdid420d.bam new file mode 100644 index 0000000..9fd4cd0 Binary files /dev/null and b/iwdification/bam/cdid420d.bam differ diff --git a/iwdification/bam/cdid421a.bam b/iwdification/bam/cdid421a.bam new file mode 100644 index 0000000..8018e65 Binary files /dev/null and b/iwdification/bam/cdid421a.bam differ diff --git a/iwdification/bam/cdid421b.bam b/iwdification/bam/cdid421b.bam new file mode 100644 index 0000000..c43c3ee Binary files /dev/null and b/iwdification/bam/cdid421b.bam differ diff --git a/iwdification/bam/cdid421c.bam b/iwdification/bam/cdid421c.bam new file mode 100644 index 0000000..8ad1f07 Binary files /dev/null and b/iwdification/bam/cdid421c.bam differ diff --git a/iwdification/bam/cdid422a.bam b/iwdification/bam/cdid422a.bam index c44d780..3d2e3f8 100644 Binary files a/iwdification/bam/cdid422a.bam and b/iwdification/bam/cdid422a.bam differ diff --git a/iwdification/bam/cdid422b.bam b/iwdification/bam/cdid422b.bam index eb70f96..e6856f5 100644 Binary files a/iwdification/bam/cdid422b.bam and b/iwdification/bam/cdid422b.bam differ diff --git a/iwdification/bam/cdid422c.bam b/iwdification/bam/cdid422c.bam index 5ac6a95..e85bd31 100644 Binary files a/iwdification/bam/cdid422c.bam and b/iwdification/bam/cdid422c.bam differ diff --git a/iwdification/bam/cdid422d.bam b/iwdification/bam/cdid422d.bam new file mode 100644 index 0000000..0be179a Binary files /dev/null and b/iwdification/bam/cdid422d.bam differ diff --git a/iwdification/bam/cdid423a.bam b/iwdification/bam/cdid423a.bam new file mode 100644 index 0000000..2cbacad Binary files /dev/null and b/iwdification/bam/cdid423a.bam differ diff --git a/iwdification/bam/cdid423b.bam b/iwdification/bam/cdid423b.bam new file mode 100644 index 0000000..95f549c Binary files /dev/null and b/iwdification/bam/cdid423b.bam differ diff --git a/iwdification/bam/cdid423c.bam b/iwdification/bam/cdid423c.bam new file mode 100644 index 0000000..8619af5 Binary files /dev/null and b/iwdification/bam/cdid423c.bam differ diff --git a/iwdification/bam/cdid424a.bam b/iwdification/bam/cdid424a.bam new file mode 100644 index 0000000..78f99c0 Binary files /dev/null and b/iwdification/bam/cdid424a.bam differ diff --git a/iwdification/bam/cdid424b.bam b/iwdification/bam/cdid424b.bam new file mode 100644 index 0000000..c25af31 Binary files /dev/null and b/iwdification/bam/cdid424b.bam differ diff --git a/iwdification/bam/cdid424c.bam b/iwdification/bam/cdid424c.bam new file mode 100644 index 0000000..f80e8f9 Binary files /dev/null and b/iwdification/bam/cdid424c.bam differ diff --git a/iwdification/bam/cdid425a.bam b/iwdification/bam/cdid425a.bam new file mode 100644 index 0000000..432f49b Binary files /dev/null and b/iwdification/bam/cdid425a.bam differ diff --git a/iwdification/bam/cdid425b.bam b/iwdification/bam/cdid425b.bam new file mode 100644 index 0000000..5393d6f Binary files /dev/null and b/iwdification/bam/cdid425b.bam differ diff --git a/iwdification/bam/cdid425c.bam b/iwdification/bam/cdid425c.bam new file mode 100644 index 0000000..d173ea9 Binary files /dev/null and b/iwdification/bam/cdid425c.bam differ diff --git a/iwdification/bam/cdid426a.bam b/iwdification/bam/cdid426a.bam new file mode 100644 index 0000000..c57c5ce Binary files /dev/null and b/iwdification/bam/cdid426a.bam differ diff --git a/iwdification/bam/cdid426b.bam b/iwdification/bam/cdid426b.bam new file mode 100644 index 0000000..42a915a Binary files /dev/null and b/iwdification/bam/cdid426b.bam differ diff --git a/iwdification/bam/cdid426c.bam b/iwdification/bam/cdid426c.bam new file mode 100644 index 0000000..3892b61 Binary files /dev/null and b/iwdification/bam/cdid426c.bam differ diff --git a/iwdification/bam/cdid427a.bam b/iwdification/bam/cdid427a.bam new file mode 100644 index 0000000..3c3ccf0 Binary files /dev/null and b/iwdification/bam/cdid427a.bam differ diff --git a/iwdification/bam/cdid427b.bam b/iwdification/bam/cdid427b.bam new file mode 100644 index 0000000..d52af23 Binary files /dev/null and b/iwdification/bam/cdid427b.bam differ diff --git a/iwdification/bam/cdid427c.bam b/iwdification/bam/cdid427c.bam new file mode 100644 index 0000000..358f99f Binary files /dev/null and b/iwdification/bam/cdid427c.bam differ diff --git a/iwdification/bam/cdid428a.bam b/iwdification/bam/cdid428a.bam new file mode 100644 index 0000000..9d6d4b6 Binary files /dev/null and b/iwdification/bam/cdid428a.bam differ diff --git a/iwdification/bam/cdid428b.bam b/iwdification/bam/cdid428b.bam new file mode 100644 index 0000000..3e83130 Binary files /dev/null and b/iwdification/bam/cdid428b.bam differ diff --git a/iwdification/bam/cdid428c.bam b/iwdification/bam/cdid428c.bam new file mode 100644 index 0000000..b721af3 Binary files /dev/null and b/iwdification/bam/cdid428c.bam differ diff --git a/iwdification/bam/cdid518a.bam b/iwdification/bam/cdid518a.bam new file mode 100644 index 0000000..d25bdeb Binary files /dev/null and b/iwdification/bam/cdid518a.bam differ diff --git a/iwdification/bam/cdid518b.bam b/iwdification/bam/cdid518b.bam new file mode 100644 index 0000000..6036233 Binary files /dev/null and b/iwdification/bam/cdid518b.bam differ diff --git a/iwdification/bam/cdid518c.bam b/iwdification/bam/cdid518c.bam new file mode 100644 index 0000000..676f530 Binary files /dev/null and b/iwdification/bam/cdid518c.bam differ diff --git a/iwdification/bam/cdid519a.bam b/iwdification/bam/cdid519a.bam new file mode 100644 index 0000000..612200c Binary files /dev/null and b/iwdification/bam/cdid519a.bam differ diff --git a/iwdification/bam/cdid519b.bam b/iwdification/bam/cdid519b.bam new file mode 100644 index 0000000..5497dda Binary files /dev/null and b/iwdification/bam/cdid519b.bam differ diff --git a/iwdification/bam/cdid519c.bam b/iwdification/bam/cdid519c.bam new file mode 100644 index 0000000..d28112b Binary files /dev/null and b/iwdification/bam/cdid519c.bam differ diff --git a/iwdification/bam/cdid520a.bam b/iwdification/bam/cdid520a.bam new file mode 100644 index 0000000..7567ff9 Binary files /dev/null and b/iwdification/bam/cdid520a.bam differ diff --git a/iwdification/bam/cdid520b.bam b/iwdification/bam/cdid520b.bam new file mode 100644 index 0000000..a32666f Binary files /dev/null and b/iwdification/bam/cdid520b.bam differ diff --git a/iwdification/bam/cdid520c.bam b/iwdification/bam/cdid520c.bam new file mode 100644 index 0000000..a82f32c Binary files /dev/null and b/iwdification/bam/cdid520c.bam differ diff --git a/iwdification/bam/cdid520d.bam b/iwdification/bam/cdid520d.bam new file mode 100644 index 0000000..d594e89 Binary files /dev/null and b/iwdification/bam/cdid520d.bam differ diff --git a/iwdification/bam/cdid521a.bam b/iwdification/bam/cdid521a.bam new file mode 100644 index 0000000..0fdc0c1 Binary files /dev/null and b/iwdification/bam/cdid521a.bam differ diff --git a/iwdification/bam/cdid521b.bam b/iwdification/bam/cdid521b.bam new file mode 100644 index 0000000..6f06157 Binary files /dev/null and b/iwdification/bam/cdid521b.bam differ diff --git a/iwdification/bam/cdid521c.bam b/iwdification/bam/cdid521c.bam new file mode 100644 index 0000000..a039564 Binary files /dev/null and b/iwdification/bam/cdid521c.bam differ diff --git a/iwdification/bam/cdid522a.bam b/iwdification/bam/cdid522a.bam new file mode 100644 index 0000000..9812adc Binary files /dev/null and b/iwdification/bam/cdid522a.bam differ diff --git a/iwdification/bam/cdid522b.bam b/iwdification/bam/cdid522b.bam new file mode 100644 index 0000000..c38c472 Binary files /dev/null and b/iwdification/bam/cdid522b.bam differ diff --git a/iwdification/bam/cdid522c.bam b/iwdification/bam/cdid522c.bam new file mode 100644 index 0000000..605f6c9 Binary files /dev/null and b/iwdification/bam/cdid522c.bam differ diff --git a/iwdification/bam/cdid522d.bam b/iwdification/bam/cdid522d.bam new file mode 100644 index 0000000..e529f9d Binary files /dev/null and b/iwdification/bam/cdid522d.bam differ diff --git a/iwdification/bam/cdid523a.bam b/iwdification/bam/cdid523a.bam new file mode 100644 index 0000000..802310e Binary files /dev/null and b/iwdification/bam/cdid523a.bam differ diff --git a/iwdification/bam/cdid523b.bam b/iwdification/bam/cdid523b.bam new file mode 100644 index 0000000..eef3d35 Binary files /dev/null and b/iwdification/bam/cdid523b.bam differ diff --git a/iwdification/bam/cdid523c.bam b/iwdification/bam/cdid523c.bam new file mode 100644 index 0000000..6211042 Binary files /dev/null and b/iwdification/bam/cdid523c.bam differ diff --git a/iwdification/bam/cdid615a.bam b/iwdification/bam/cdid615a.bam new file mode 100644 index 0000000..8b6d1d0 Binary files /dev/null and b/iwdification/bam/cdid615a.bam differ diff --git a/iwdification/bam/cdid615b.bam b/iwdification/bam/cdid615b.bam new file mode 100644 index 0000000..a253bde Binary files /dev/null and b/iwdification/bam/cdid615b.bam differ diff --git a/iwdification/bam/cdid615c.bam b/iwdification/bam/cdid615c.bam new file mode 100644 index 0000000..58d911b Binary files /dev/null and b/iwdification/bam/cdid615c.bam differ diff --git a/iwdification/bam/cdid615d.bam b/iwdification/bam/cdid615d.bam new file mode 100644 index 0000000..1cae10f Binary files /dev/null and b/iwdification/bam/cdid615d.bam differ diff --git a/iwdification/bam/cdid617a.bam b/iwdification/bam/cdid617a.bam new file mode 100644 index 0000000..ef62c1a Binary files /dev/null and b/iwdification/bam/cdid617a.bam differ diff --git a/iwdification/bam/cdid617b.bam b/iwdification/bam/cdid617b.bam new file mode 100644 index 0000000..35df26e Binary files /dev/null and b/iwdification/bam/cdid617b.bam differ diff --git a/iwdification/bam/cdid617c.bam b/iwdification/bam/cdid617c.bam new file mode 100644 index 0000000..277c196 Binary files /dev/null and b/iwdification/bam/cdid617c.bam differ diff --git a/iwdification/bam/cdid617v.bam b/iwdification/bam/cdid617v.bam new file mode 100644 index 0000000..dd26f6e Binary files /dev/null and b/iwdification/bam/cdid617v.bam differ diff --git a/iwdification/bam/cdid618a.bam b/iwdification/bam/cdid618a.bam new file mode 100644 index 0000000..e17fc0d Binary files /dev/null and b/iwdification/bam/cdid618a.bam differ diff --git a/iwdification/bam/cdid618b.bam b/iwdification/bam/cdid618b.bam new file mode 100644 index 0000000..7adba37 Binary files /dev/null and b/iwdification/bam/cdid618b.bam differ diff --git a/iwdification/bam/cdid618c.bam b/iwdification/bam/cdid618c.bam new file mode 100644 index 0000000..bd50cb3 Binary files /dev/null and b/iwdification/bam/cdid618c.bam differ diff --git a/iwdification/bam/cdid714a.bam b/iwdification/bam/cdid714a.bam index baade87..f0c91d1 100644 Binary files a/iwdification/bam/cdid714a.bam and b/iwdification/bam/cdid714a.bam differ diff --git a/iwdification/bam/cdid714b.bam b/iwdification/bam/cdid714b.bam index 2da9bed..f6229b9 100644 Binary files a/iwdification/bam/cdid714b.bam and b/iwdification/bam/cdid714b.bam differ diff --git a/iwdification/bam/cdid714c.bam b/iwdification/bam/cdid714c.bam index 0f30d19..2c32ebd 100644 Binary files a/iwdification/bam/cdid714c.bam and b/iwdification/bam/cdid714c.bam differ diff --git a/iwdification/bam/cdid714d.bam b/iwdification/bam/cdid714d.bam new file mode 100644 index 0000000..e7aba15 Binary files /dev/null and b/iwdification/bam/cdid714d.bam differ diff --git a/iwdification/bam/cdid716a.bam b/iwdification/bam/cdid716a.bam index 6eb75b4..bb254e6 100644 Binary files a/iwdification/bam/cdid716a.bam and b/iwdification/bam/cdid716a.bam differ diff --git a/iwdification/bam/cdid716b.bam b/iwdification/bam/cdid716b.bam index a378828..079c017 100644 Binary files a/iwdification/bam/cdid716b.bam and b/iwdification/bam/cdid716b.bam differ diff --git a/iwdification/bam/cdid716c.bam b/iwdification/bam/cdid716c.bam index dea6c83..6389e30 100644 Binary files a/iwdification/bam/cdid716c.bam and b/iwdification/bam/cdid716c.bam differ diff --git a/iwdification/bam/cdid733a.bam b/iwdification/bam/cdid733a.bam new file mode 100644 index 0000000..c3ed12f Binary files /dev/null and b/iwdification/bam/cdid733a.bam differ diff --git a/iwdification/bam/cdid733b.bam b/iwdification/bam/cdid733b.bam new file mode 100644 index 0000000..a378268 Binary files /dev/null and b/iwdification/bam/cdid733b.bam differ diff --git a/iwdification/bam/cdid733c.bam b/iwdification/bam/cdid733c.bam new file mode 100644 index 0000000..690a09f Binary files /dev/null and b/iwdification/bam/cdid733c.bam differ diff --git a/iwdification/bam/cdid733d.bam b/iwdification/bam/cdid733d.bam new file mode 100644 index 0000000..29ec7cd Binary files /dev/null and b/iwdification/bam/cdid733d.bam differ diff --git a/iwdification/bam/cdid734a.bam b/iwdification/bam/cdid734a.bam new file mode 100644 index 0000000..d33f3f3 Binary files /dev/null and b/iwdification/bam/cdid734a.bam differ diff --git a/iwdification/bam/cdid734b.bam b/iwdification/bam/cdid734b.bam new file mode 100644 index 0000000..9ec75cd Binary files /dev/null and b/iwdification/bam/cdid734b.bam differ diff --git a/iwdification/bam/cdid734c.bam b/iwdification/bam/cdid734c.bam new file mode 100644 index 0000000..f467e91 Binary files /dev/null and b/iwdification/bam/cdid734c.bam differ diff --git a/iwdification/bam/cdid735a.bam b/iwdification/bam/cdid735a.bam new file mode 100644 index 0000000..686686b Binary files /dev/null and b/iwdification/bam/cdid735a.bam differ diff --git a/iwdification/bam/cdid735b.bam b/iwdification/bam/cdid735b.bam new file mode 100644 index 0000000..abc49d5 Binary files /dev/null and b/iwdification/bam/cdid735b.bam differ diff --git a/iwdification/bam/cdid735c.bam b/iwdification/bam/cdid735c.bam new file mode 100644 index 0000000..971537b Binary files /dev/null and b/iwdification/bam/cdid735c.bam differ diff --git a/iwdification/bam/cdid735d.bam b/iwdification/bam/cdid735d.bam new file mode 100644 index 0000000..208866c Binary files /dev/null and b/iwdification/bam/cdid735d.bam differ diff --git a/iwdification/bam/cdid736a.bam b/iwdification/bam/cdid736a.bam new file mode 100644 index 0000000..31c77a6 Binary files /dev/null and b/iwdification/bam/cdid736a.bam differ diff --git a/iwdification/bam/cdid736b.bam b/iwdification/bam/cdid736b.bam new file mode 100644 index 0000000..ec3cf91 Binary files /dev/null and b/iwdification/bam/cdid736b.bam differ diff --git a/iwdification/bam/cdid736c.bam b/iwdification/bam/cdid736c.bam new file mode 100644 index 0000000..f0d36b6 Binary files /dev/null and b/iwdification/bam/cdid736c.bam differ diff --git a/iwdification/bam/cdid736v.bam b/iwdification/bam/cdid736v.bam new file mode 100644 index 0000000..dd7aa91 Binary files /dev/null and b/iwdification/bam/cdid736v.bam differ diff --git a/iwdification/bam/cdid737a.bam b/iwdification/bam/cdid737a.bam new file mode 100644 index 0000000..630f515 Binary files /dev/null and b/iwdification/bam/cdid737a.bam differ diff --git a/iwdification/bam/cdid737b.bam b/iwdification/bam/cdid737b.bam new file mode 100644 index 0000000..2877af7 Binary files /dev/null and b/iwdification/bam/cdid737b.bam differ diff --git a/iwdification/bam/cdid737c.bam b/iwdification/bam/cdid737c.bam new file mode 100644 index 0000000..3f4d82f Binary files /dev/null and b/iwdification/bam/cdid737c.bam differ diff --git a/iwdification/bam/cdid739a.bam b/iwdification/bam/cdid739a.bam new file mode 100644 index 0000000..e8f729d Binary files /dev/null and b/iwdification/bam/cdid739a.bam differ diff --git a/iwdification/bam/cdid739b.bam b/iwdification/bam/cdid739b.bam new file mode 100644 index 0000000..eebff5d Binary files /dev/null and b/iwdification/bam/cdid739b.bam differ diff --git a/iwdification/bam/cdid739c.bam b/iwdification/bam/cdid739c.bam new file mode 100644 index 0000000..6354254 Binary files /dev/null and b/iwdification/bam/cdid739c.bam differ diff --git a/iwdification/bam/cdidbone.bam b/iwdification/bam/cdidbone.bam new file mode 100644 index 0000000..22eb4b7 Binary files /dev/null and b/iwdification/bam/cdidbone.bam differ diff --git a/iwdification/bam/cdideca.bam b/iwdification/bam/cdideca.bam new file mode 100644 index 0000000..f6afbe3 Binary files /dev/null and b/iwdification/bam/cdideca.bam differ diff --git a/iwdification/bam/cdidestr.bam b/iwdification/bam/cdidestr.bam new file mode 100644 index 0000000..437a44f Binary files /dev/null and b/iwdification/bam/cdidestr.bam differ diff --git a/iwdification/bam/cdidise.bam b/iwdification/bam/cdidise.bam new file mode 100644 index 0000000..8288e96 Binary files /dev/null and b/iwdification/bam/cdidise.bam differ diff --git a/iwdification/bam/cdidivin.bam b/iwdification/bam/cdidivin.bam new file mode 100644 index 0000000..a94dd30 Binary files /dev/null and b/iwdification/bam/cdidivin.bam differ diff --git a/iwdification/bam/cdidoorh.bam b/iwdification/bam/cdidoorh.bam new file mode 100644 index 0000000..c1ff97e Binary files /dev/null and b/iwdification/bam/cdidoorh.bam differ diff --git a/iwdification/bam/cdieelem.bam b/iwdification/bam/cdieelem.bam new file mode 100644 index 0000000..723f472 Binary files /dev/null and b/iwdification/bam/cdieelem.bam differ diff --git a/iwdification/bam/cdiencha.bam b/iwdification/bam/cdiencha.bam new file mode 100644 index 0000000..86f4c4b Binary files /dev/null and b/iwdification/bam/cdiencha.bam differ diff --git a/iwdification/bam/cdienchx.bam b/iwdification/bam/cdienchx.bam new file mode 100644 index 0000000..64298c4 Binary files /dev/null and b/iwdification/bam/cdienchx.bam differ diff --git a/iwdification/bam/cdieshld.bam b/iwdification/bam/cdieshld.bam new file mode 100644 index 0000000..0d0b13b Binary files /dev/null and b/iwdification/bam/cdieshld.bam differ diff --git a/iwdification/bam/cdiexalt.bam b/iwdification/bam/cdiexalt.bam new file mode 100644 index 0000000..9704513 Binary files /dev/null and b/iwdification/bam/cdiexalt.bam differ diff --git a/iwdification/bam/cdigshou.bam b/iwdification/bam/cdigshou.bam new file mode 100644 index 0000000..8a47a12 Binary files /dev/null and b/iwdification/bam/cdigshou.bam differ diff --git a/iwdification/bam/cdigsol1.bam b/iwdification/bam/cdigsol1.bam new file mode 100644 index 0000000..7c16e12 Binary files /dev/null and b/iwdification/bam/cdigsol1.bam differ diff --git a/iwdification/bam/cdigsol2.bam b/iwdification/bam/cdigsol2.bam new file mode 100644 index 0000000..869ae5f Binary files /dev/null and b/iwdification/bam/cdigsol2.bam differ diff --git a/iwdification/bam/cdiibody.bam b/iwdification/bam/cdiibody.bam new file mode 100644 index 0000000..5445124 Binary files /dev/null and b/iwdification/bam/cdiibody.bam differ diff --git a/iwdification/bam/cdiiceln.bam b/iwdification/bam/cdiiceln.bam new file mode 100644 index 0000000..88c6225 Binary files /dev/null and b/iwdification/bam/cdiiceln.bam differ diff --git a/iwdification/bam/cdiinvoc.bam b/iwdification/bam/cdiinvoc.bam new file mode 100644 index 0000000..38790d4 Binary files /dev/null and b/iwdification/bam/cdiinvoc.bam differ diff --git a/iwdification/bam/cdilanct.bam b/iwdification/bam/cdilanct.bam new file mode 100644 index 0000000..5cd7c6c Binary files /dev/null and b/iwdification/bam/cdilanct.bam differ diff --git a/iwdification/bam/cdiliten.bam b/iwdification/bam/cdiliten.bam new file mode 100644 index 0000000..ba11f78 Binary files /dev/null and b/iwdification/bam/cdiliten.bam differ diff --git a/iwdification/bam/cdilodis.bam b/iwdification/bam/cdilodis.bam new file mode 100644 index 0000000..5cd7c6c Binary files /dev/null and b/iwdification/bam/cdilodis.bam differ diff --git a/iwdification/bam/cdiltou.bam b/iwdification/bam/cdiltou.bam new file mode 100644 index 0000000..d8a3795 Binary files /dev/null and b/iwdification/bam/cdiltou.bam differ diff --git a/iwdification/bam/cdimagrx.bam b/iwdification/bam/cdimagrx.bam new file mode 100644 index 0000000..3949f91 Binary files /dev/null and b/iwdification/bam/cdimagrx.bam differ diff --git a/iwdification/bam/cdimfmsx.bam b/iwdification/bam/cdimfmsx.bam new file mode 100644 index 0000000..46ff85e Binary files /dev/null and b/iwdification/bam/cdimfmsx.bam differ diff --git a/iwdification/bam/cdimfmt.bam b/iwdification/bam/cdimfmt.bam new file mode 100644 index 0000000..be253e0 Binary files /dev/null and b/iwdification/bam/cdimfmt.bam differ diff --git a/iwdification/bam/cdimoeld.bam b/iwdification/bam/cdimoeld.bam new file mode 100644 index 0000000..8a96a61 Binary files /dev/null and b/iwdification/bam/cdimoeld.bam differ diff --git a/iwdification/bam/cdimoldt.bam b/iwdification/bam/cdimoldt.bam new file mode 100644 index 0000000..38ffaf9 Binary files /dev/null and b/iwdification/bam/cdimoldt.bam differ diff --git a/iwdification/bam/cdimoonb.bam b/iwdification/bam/cdimoonb.bam new file mode 100644 index 0000000..7a2488c Binary files /dev/null and b/iwdification/bam/cdimoonb.bam differ diff --git a/iwdification/bam/cdimoonx.bam b/iwdification/bam/cdimoonx.bam new file mode 100644 index 0000000..62db72d Binary files /dev/null and b/iwdification/bam/cdimoonx.bam differ diff --git a/iwdification/bam/cdimrage.bam b/iwdification/bam/cdimrage.bam new file mode 100644 index 0000000..650438a Binary files /dev/null and b/iwdification/bam/cdimrage.bam differ diff --git a/iwdification/bam/cdimsm1h.bam b/iwdification/bam/cdimsm1h.bam new file mode 100644 index 0000000..db39f3d Binary files /dev/null and b/iwdification/bam/cdimsm1h.bam differ diff --git a/iwdification/bam/cdimsm1x.bam b/iwdification/bam/cdimsm1x.bam new file mode 100644 index 0000000..9eed1c6 Binary files /dev/null and b/iwdification/bam/cdimsm1x.bam differ diff --git a/iwdification/bam/cdinecro.bam b/iwdification/bam/cdinecro.bam new file mode 100644 index 0000000..8501507 Binary files /dev/null and b/iwdification/bam/cdinecro.bam differ diff --git a/iwdification/bam/cdiofspt.bam b/iwdification/bam/cdiofspt.bam new file mode 100644 index 0000000..0f8ec7d Binary files /dev/null and b/iwdification/bam/cdiofspt.bam differ diff --git a/iwdification/bam/cdiparal.bam b/iwdification/bam/cdiparal.bam new file mode 100644 index 0000000..cede3be Binary files /dev/null and b/iwdification/bam/cdiparal.bam differ diff --git a/iwdification/bam/cdipfira.bam b/iwdification/bam/cdipfira.bam new file mode 100644 index 0000000..523460b Binary files /dev/null and b/iwdification/bam/cdipfira.bam differ diff --git a/iwdification/bam/cdipfirx.bam b/iwdification/bam/cdipfirx.bam new file mode 100644 index 0000000..161f7a5 Binary files /dev/null and b/iwdification/bam/cdipfirx.bam differ diff --git a/iwdification/bam/cdiplybb.bam b/iwdification/bam/cdiplybb.bam new file mode 100644 index 0000000..4ad7177 Binary files /dev/null and b/iwdification/bam/cdiplybb.bam differ diff --git a/iwdification/bam/cdiplypb.bam b/iwdification/bam/cdiplypb.bam new file mode 100644 index 0000000..c866168 Binary files /dev/null and b/iwdification/bam/cdiplypb.bam differ diff --git a/iwdification/bam/cdiplyww.bam b/iwdification/bam/cdiplyww.bam new file mode 100644 index 0000000..b962a14 Binary files /dev/null and b/iwdification/bam/cdiplyww.bam differ diff --git a/iwdification/bam/cdiprayh.bam b/iwdification/bam/cdiprayh.bam new file mode 100644 index 0000000..06f82a1 Binary files /dev/null and b/iwdification/bam/cdiprayh.bam differ diff --git a/iwdification/bam/cdirecih.bam b/iwdification/bam/cdirecih.bam new file mode 100644 index 0000000..bfd72a6 Binary files /dev/null and b/iwdification/bam/cdirecih.bam differ diff --git a/iwdification/bam/cdirwtfh.bam b/iwdification/bam/cdirwtfh.bam new file mode 100644 index 0000000..18436b0 Binary files /dev/null and b/iwdification/bam/cdirwtfh.bam differ diff --git a/iwdification/bam/cdisalfi.bam b/iwdification/bam/cdisalfi.bam new file mode 100644 index 0000000..7dd1597 Binary files /dev/null and b/iwdification/bam/cdisalfi.bam differ diff --git a/iwdification/bam/cdisalfr.bam b/iwdification/bam/cdisalfr.bam new file mode 100644 index 0000000..e172dd3 Binary files /dev/null and b/iwdification/bam/cdisalfr.bam differ diff --git a/iwdification/bam/cdisclda.bam b/iwdification/bam/cdisclda.bam new file mode 100644 index 0000000..4908e33 Binary files /dev/null and b/iwdification/bam/cdisclda.bam differ diff --git a/iwdification/bam/cdiscldr.bam b/iwdification/bam/cdiscldr.bam new file mode 100644 index 0000000..fe6b7aa Binary files /dev/null and b/iwdification/bam/cdiscldr.bam differ diff --git a/iwdification/bam/cdiseata.bam b/iwdification/bam/cdiseata.bam new file mode 100644 index 0000000..6d1fcf0 Binary files /dev/null and b/iwdification/bam/cdiseata.bam differ diff --git a/iwdification/bam/cdiseath.bam b/iwdification/bam/cdiseath.bam new file mode 100644 index 0000000..fdaa438 Binary files /dev/null and b/iwdification/bam/cdiseath.bam differ diff --git a/iwdification/bam/cdisgrwa.bam b/iwdification/bam/cdisgrwa.bam new file mode 100644 index 0000000..2146369 Binary files /dev/null and b/iwdification/bam/cdisgrwa.bam differ diff --git a/iwdification/bam/cdisgrwx.bam b/iwdification/bam/cdisgrwx.bam new file mode 100644 index 0000000..598609b Binary files /dev/null and b/iwdification/bam/cdisgrwx.bam differ diff --git a/iwdification/bam/cdishelc.bam b/iwdification/bam/cdishelc.bam new file mode 100644 index 0000000..96530de Binary files /dev/null and b/iwdification/bam/cdishelc.bam differ diff --git a/iwdification/bam/cdishglp.bam b/iwdification/bam/cdishglp.bam new file mode 100644 index 0000000..893f3a8 Binary files /dev/null and b/iwdification/bam/cdishglp.bam differ diff --git a/iwdification/bam/cdishmbl.bam b/iwdification/bam/cdishmbl.bam new file mode 100644 index 0000000..2737faa Binary files /dev/null and b/iwdification/bam/cdishmbl.bam differ diff --git a/iwdification/bam/cdishout.bam b/iwdification/bam/cdishout.bam new file mode 100644 index 0000000..3bbb159 Binary files /dev/null and b/iwdification/bam/cdishout.bam differ diff --git a/iwdification/bam/cdismcud.bam b/iwdification/bam/cdismcud.bam new file mode 100644 index 0000000..723addb Binary files /dev/null and b/iwdification/bam/cdismcud.bam differ diff --git a/iwdification/bam/cdisofl.bam b/iwdification/bam/cdisofl.bam new file mode 100644 index 0000000..ccaf15f Binary files /dev/null and b/iwdification/bam/cdisofl.bam differ diff --git a/iwdification/bam/cdisohx.bam b/iwdification/bam/cdisohx.bam new file mode 100644 index 0000000..c2b6b89 Binary files /dev/null and b/iwdification/bam/cdisohx.bam differ diff --git a/iwdification/bam/cdisol1.bam b/iwdification/bam/cdisol1.bam new file mode 100644 index 0000000..adde699 Binary files /dev/null and b/iwdification/bam/cdisol1.bam differ diff --git a/iwdification/bam/cdisol2.bam b/iwdification/bam/cdisol2.bam new file mode 100644 index 0000000..9f1f1a5 Binary files /dev/null and b/iwdification/bam/cdisol2.bam differ diff --git a/iwdification/bam/cdisshel.bam b/iwdification/bam/cdisshel.bam new file mode 100644 index 0000000..96530de Binary files /dev/null and b/iwdification/bam/cdisshel.bam differ diff --git a/iwdification/bam/cdissswx.bam b/iwdification/bam/cdissswx.bam new file mode 100644 index 0000000..c6d5214 Binary files /dev/null and b/iwdification/bam/cdissswx.bam differ diff --git a/iwdification/bam/cdistath.bam b/iwdification/bam/cdistath.bam new file mode 100644 index 0000000..752c629 Binary files /dev/null and b/iwdification/bam/cdistath.bam differ diff --git a/iwdification/bam/cdistone.bam b/iwdification/bam/cdistone.bam new file mode 100644 index 0000000..fd11e0e Binary files /dev/null and b/iwdification/bam/cdistone.bam differ diff --git a/iwdification/bam/cdisuffo.bam b/iwdification/bam/cdisuffo.bam new file mode 100644 index 0000000..7a37cf0 Binary files /dev/null and b/iwdification/bam/cdisuffo.bam differ diff --git a/iwdification/bam/cdisunsc.bam b/iwdification/bam/cdisunsc.bam new file mode 100644 index 0000000..ff04e50 Binary files /dev/null and b/iwdification/bam/cdisunsc.bam differ diff --git a/iwdification/bam/cdiswarr.bam b/iwdification/bam/cdiswarr.bam new file mode 100644 index 0000000..61d025e Binary files /dev/null and b/iwdification/bam/cdiswarr.bam differ diff --git a/iwdification/bam/cdiswart.bam b/iwdification/bam/cdiswart.bam new file mode 100644 index 0000000..119f4d7 Binary files /dev/null and b/iwdification/bam/cdiswart.bam differ diff --git a/iwdification/bam/cdiswavh.bam b/iwdification/bam/cdiswavh.bam new file mode 100644 index 0000000..f3dee0d Binary files /dev/null and b/iwdification/bam/cdiswavh.bam differ diff --git a/iwdification/bam/cdiswavx.bam b/iwdification/bam/cdiswavx.bam new file mode 100644 index 0000000..d5c3b92 Binary files /dev/null and b/iwdification/bam/cdiswavx.bam differ diff --git a/iwdification/bam/cditspra.bam b/iwdification/bam/cditspra.bam new file mode 100644 index 0000000..b049051 Binary files /dev/null and b/iwdification/bam/cditspra.bam differ diff --git a/iwdification/bam/cdiuwrdx.bam b/iwdification/bam/cdiuwrdx.bam new file mode 100644 index 0000000..b37eda9 Binary files /dev/null and b/iwdification/bam/cdiuwrdx.bam differ diff --git a/iwdification/bam/cdivitst.bam b/iwdification/bam/cdivitst.bam new file mode 100644 index 0000000..33f77c4 Binary files /dev/null and b/iwdification/bam/cdivitst.bam differ diff --git a/iwdification/bam/cdivitsx.bam b/iwdification/bam/cdivitsx.bam new file mode 100644 index 0000000..471031f Binary files /dev/null and b/iwdification/bam/cdivitsx.bam differ diff --git a/iwdification/bam/cdiwelem.bam b/iwdification/bam/cdiwelem.bam new file mode 100644 index 0000000..225c1b4 Binary files /dev/null and b/iwdification/bam/cdiwelem.bam differ diff --git a/iwdification/bam/cdiwhirx.bam b/iwdification/bam/cdiwhirx.bam new file mode 100644 index 0000000..7d1f64f Binary files /dev/null and b/iwdification/bam/cdiwhirx.bam differ diff --git a/iwdification/cre/cdi3sklm.cre b/iwdification/cre/cdi3sklm.cre new file mode 100644 index 0000000..f92d32d Binary files /dev/null and b/iwdification/cre/cdi3sklm.cre differ diff --git a/iwdification/cre/cdi4ghst.cre b/iwdification/cre/cdi4ghst.cre new file mode 100644 index 0000000..ed1f011 Binary files /dev/null and b/iwdification/cre/cdi4ghst.cre differ diff --git a/iwdification/cre/cdi4ogre.cre b/iwdification/cre/cdi4ogre.cre new file mode 100644 index 0000000..b2330bb Binary files /dev/null and b/iwdification/cre/cdi4ogre.cre differ diff --git a/iwdification/cre/cdi4yeti.cre b/iwdification/cre/cdi4yeti.cre new file mode 100644 index 0000000..ae0d6e1 Binary files /dev/null and b/iwdification/cre/cdi4yeti.cre differ diff --git a/iwdification/cre/cdi5gspi.cre b/iwdification/cre/cdi5gspi.cre new file mode 100644 index 0000000..9714344 Binary files /dev/null and b/iwdification/cre/cdi5gspi.cre differ diff --git a/iwdification/cre/cdi5jzom.cre b/iwdification/cre/cdi5jzom.cre new file mode 100644 index 0000000..9c227ed Binary files /dev/null and b/iwdification/cre/cdi5jzom.cre differ diff --git a/iwdification/cre/cdi5mino.cre b/iwdification/cre/cdi5mino.cre new file mode 100644 index 0000000..edb5a37 Binary files /dev/null and b/iwdification/cre/cdi5mino.cre differ diff --git a/iwdification/cre/cdi6crwl.cre b/iwdification/cre/cdi6crwl.cre new file mode 100644 index 0000000..66a4917 Binary files /dev/null and b/iwdification/cre/cdi6crwl.cre differ diff --git a/iwdification/cre/cdi6pspi.cre b/iwdification/cre/cdi6pspi.cre new file mode 100644 index 0000000..0d2af88 Binary files /dev/null and b/iwdification/cre/cdi6pspi.cre differ diff --git a/iwdification/cre/cdi6salc.cre b/iwdification/cre/cdi6salc.cre new file mode 100644 index 0000000..39f4148 Binary files /dev/null and b/iwdification/cre/cdi6salc.cre differ diff --git a/iwdification/cre/cdi6salf.cre b/iwdification/cre/cdi6salf.cre new file mode 100644 index 0000000..2e565f0 Binary files /dev/null and b/iwdification/cre/cdi6salf.cre differ diff --git a/iwdification/cre/cdi7bgrd.cre b/iwdification/cre/cdi7bgrd.cre new file mode 100644 index 0000000..d11e0e5 Binary files /dev/null and b/iwdification/cre/cdi7bgrd.cre differ diff --git a/iwdification/cre/cdi7umbh.cre b/iwdification/cre/cdi7umbh.cre new file mode 100644 index 0000000..3706f8a Binary files /dev/null and b/iwdification/cre/cdi7umbh.cre differ diff --git a/iwdification/cre/cdi8air.cre b/iwdification/cre/cdi8air.cre new file mode 100644 index 0000000..91cb272 Binary files /dev/null and b/iwdification/cre/cdi8air.cre differ diff --git a/iwdification/cre/cdi8erth.cre b/iwdification/cre/cdi8erth.cre new file mode 100644 index 0000000..8e5d328 Binary files /dev/null and b/iwdification/cre/cdi8erth.cre differ diff --git a/iwdification/cre/cdi8fire.cre b/iwdification/cre/cdi8fire.cre new file mode 100644 index 0000000..9abbe75 Binary files /dev/null and b/iwdification/cre/cdi8fire.cre differ diff --git a/iwdification/cre/cdi8watr.cre b/iwdification/cre/cdi8watr.cre new file mode 100644 index 0000000..66ac0ba Binary files /dev/null and b/iwdification/cre/cdi8watr.cre differ diff --git a/iwdification/cre/cdia528.cre b/iwdification/cre/cdia528.cre new file mode 100644 index 0000000..9f5bf16 Binary files /dev/null and b/iwdification/cre/cdia528.cre differ diff --git a/iwdification/cre/cdid617.cre b/iwdification/cre/cdid617.cre new file mode 100644 index 0000000..d544740 Binary files /dev/null and b/iwdification/cre/cdid617.cre differ diff --git a/iwdification/cre/cdidrubb.cre b/iwdification/cre/cdidrubb.cre new file mode 100644 index 0000000..ad22041 Binary files /dev/null and b/iwdification/cre/cdidrubb.cre differ diff --git a/iwdification/cre/cdidrupb.cre b/iwdification/cre/cdidrupb.cre new file mode 100644 index 0000000..c5354b0 Binary files /dev/null and b/iwdification/cre/cdidrupb.cre differ diff --git a/iwdification/cre/cdidruww.cre b/iwdification/cre/cdidruww.cre new file mode 100644 index 0000000..c5b454e Binary files /dev/null and b/iwdification/cre/cdidruww.cre differ diff --git a/iwdification/cre/cdiibomb.cre b/iwdification/cre/cdiibomb.cre new file mode 100644 index 0000000..eab085c Binary files /dev/null and b/iwdification/cre/cdiibomb.cre differ diff --git a/iwdification/cre/cdiiborb.cre b/iwdification/cre/cdiiborb.cre new file mode 100644 index 0000000..eee1dd7 Binary files /dev/null and b/iwdification/cre/cdiiborb.cre differ diff --git a/iwdification/cre/cdis1gb1.cre b/iwdification/cre/cdis1gb1.cre new file mode 100644 index 0000000..8b463ae Binary files /dev/null and b/iwdification/cre/cdis1gb1.cre differ diff --git a/iwdification/cre/cdis1gb2.cre b/iwdification/cre/cdis1gb2.cre new file mode 100644 index 0000000..e59b42e Binary files /dev/null and b/iwdification/cre/cdis1gb2.cre differ diff --git a/iwdification/cre/cdis1gb3.cre b/iwdification/cre/cdis1gb3.cre new file mode 100644 index 0000000..443842d Binary files /dev/null and b/iwdification/cre/cdis1gb3.cre differ diff --git a/iwdification/cre/cdis1lz3.cre b/iwdification/cre/cdis1lz3.cre new file mode 100644 index 0000000..f575740 Binary files /dev/null and b/iwdification/cre/cdis1lz3.cre differ diff --git a/iwdification/cre/cdis1lz4.cre b/iwdification/cre/cdis1lz4.cre new file mode 100644 index 0000000..7b3f732 Binary files /dev/null and b/iwdification/cre/cdis1lz4.cre differ diff --git a/iwdification/cre/cdis1tr6.cre b/iwdification/cre/cdis1tr6.cre new file mode 100644 index 0000000..2518db4 Binary files /dev/null and b/iwdification/cre/cdis1tr6.cre differ diff --git a/iwdification/cre/cdis1tr7.cre b/iwdification/cre/cdis1tr7.cre new file mode 100644 index 0000000..3d6e14a Binary files /dev/null and b/iwdification/cre/cdis1tr7.cre differ diff --git a/iwdification/cre/cdis1tr8.cre b/iwdification/cre/cdis1tr8.cre new file mode 100644 index 0000000..98d118e Binary files /dev/null and b/iwdification/cre/cdis1tr8.cre differ diff --git a/iwdification/cre/cdis2gb1.cre b/iwdification/cre/cdis2gb1.cre new file mode 100644 index 0000000..690a3fa Binary files /dev/null and b/iwdification/cre/cdis2gb1.cre differ diff --git a/iwdification/cre/cdis2gb2.cre b/iwdification/cre/cdis2gb2.cre new file mode 100644 index 0000000..aca20b3 Binary files /dev/null and b/iwdification/cre/cdis2gb2.cre differ diff --git a/iwdification/cre/cdis2gb3.cre b/iwdification/cre/cdis2gb3.cre new file mode 100644 index 0000000..3e0e29a Binary files /dev/null and b/iwdification/cre/cdis2gb3.cre differ diff --git a/iwdification/cre/cdis2lz5.cre b/iwdification/cre/cdis2lz5.cre new file mode 100644 index 0000000..92c499b Binary files /dev/null and b/iwdification/cre/cdis2lz5.cre differ diff --git a/iwdification/cre/cdis2lz6.cre b/iwdification/cre/cdis2lz6.cre new file mode 100644 index 0000000..b8d8370 Binary files /dev/null and b/iwdification/cre/cdis2lz6.cre differ diff --git a/iwdification/cre/cdis2lz7.cre b/iwdification/cre/cdis2lz7.cre new file mode 100644 index 0000000..799343a Binary files /dev/null and b/iwdification/cre/cdis2lz7.cre differ diff --git a/iwdification/cre/cdis3tr7.cre b/iwdification/cre/cdis3tr7.cre new file mode 100644 index 0000000..040405b Binary files /dev/null and b/iwdification/cre/cdis3tr7.cre differ diff --git a/iwdification/cre/cdis3tr8.cre b/iwdification/cre/cdis3tr8.cre new file mode 100644 index 0000000..3d7da26 Binary files /dev/null and b/iwdification/cre/cdis3tr8.cre differ diff --git a/iwdification/cre/cdis3um8.cre b/iwdification/cre/cdis3um8.cre new file mode 100644 index 0000000..918beb4 Binary files /dev/null and b/iwdification/cre/cdis3um8.cre differ diff --git a/iwdification/cre/cdis3um9.cre b/iwdification/cre/cdis3um9.cre new file mode 100644 index 0000000..2b70e83 Binary files /dev/null and b/iwdification/cre/cdis3um9.cre differ diff --git a/iwdification/cre/cdishamb.cre b/iwdification/cre/cdishamb.cre new file mode 100644 index 0000000..679ac81 Binary files /dev/null and b/iwdification/cre/cdishamb.cre differ diff --git a/iwdification/cre/cdisshad.cre b/iwdification/cre/cdisshad.cre new file mode 100644 index 0000000..c9ce44b Binary files /dev/null and b/iwdification/cre/cdisshad.cre differ diff --git a/iwdification/cre/cdiuwr9.cre b/iwdification/cre/cdiuwr9.cre new file mode 100644 index 0000000..70aa6fa Binary files /dev/null and b/iwdification/cre/cdiuwr9.cre differ diff --git a/iwdification/cre/cloud.cre b/iwdification/cre/cloud.cre new file mode 100644 index 0000000..6bdd194 Binary files /dev/null and b/iwdification/cre/cloud.cre differ diff --git a/iwdification/desktop.ini b/iwdification/desktop.ini index 80d0db2..853a9a9 100644 --- a/iwdification/desktop.ini +++ b/iwdification/desktop.ini @@ -1,6 +1,6 @@ [.ShellClassInfo] -IconResource=C:\Users\pca222\Desktop\ms\iwdification-Beta1\iwdification\style\g3.ico,0 +IconResource=style\g3.ico,0 [ViewState] Mode= Vid= -FolderType=Generic +FolderType=Documents diff --git a/iwdification/dlg/cdia528.d b/iwdification/dlg/cdia528.d new file mode 100644 index 0000000..c92b401 --- /dev/null +++ b/iwdification/dlg/cdia528.d @@ -0,0 +1,3 @@ +BEGIN CDIA528 + +END \ No newline at end of file diff --git a/iwdification/eff/326.eff b/iwdification/eff/326.eff new file mode 100644 index 0000000..859d9d4 Binary files /dev/null and b/iwdification/eff/326.eff differ diff --git a/iwdification/eff/cdia528.eff b/iwdification/eff/cdia528.eff new file mode 100644 index 0000000..b6e9327 Binary files /dev/null and b/iwdification/eff/cdia528.eff differ diff --git a/iwdification/eff/cdid325c.eff b/iwdification/eff/cdid325c.eff new file mode 100644 index 0000000..4cebeb2 Binary files /dev/null and b/iwdification/eff/cdid325c.eff differ diff --git a/iwdification/eff/cdid617.eff b/iwdification/eff/cdid617.eff new file mode 100644 index 0000000..38b2ac4 Binary files /dev/null and b/iwdification/eff/cdid617.eff differ diff --git a/iwdification/eff/cdid617b.eff b/iwdification/eff/cdid617b.eff new file mode 100644 index 0000000..aa4009d Binary files /dev/null and b/iwdification/eff/cdid617b.eff differ diff --git a/iwdification/eff/cdifire6.eff b/iwdification/eff/cdifire6.eff new file mode 100644 index 0000000..915c769 Binary files /dev/null and b/iwdification/eff/cdifire6.eff differ diff --git a/iwdification/eff/cdimoonb.eff b/iwdification/eff/cdimoonb.eff new file mode 100644 index 0000000..c3848d0 Binary files /dev/null and b/iwdification/eff/cdimoonb.eff differ diff --git a/iwdification/eff/cdirwf17.eff b/iwdification/eff/cdirwf17.eff new file mode 100644 index 0000000..626480d Binary files /dev/null and b/iwdification/eff/cdirwf17.eff differ diff --git a/iwdification/eff/cdismcud.eff b/iwdification/eff/cdismcud.eff new file mode 100644 index 0000000..bbf729e Binary files /dev/null and b/iwdification/eff/cdismcud.eff differ diff --git a/iwdification/eff/cditroll.eff b/iwdification/eff/cditroll.eff new file mode 100644 index 0000000..b902338 Binary files /dev/null and b/iwdification/eff/cditroll.eff differ diff --git a/iwdification/eff/cdiuwr9.eff b/iwdification/eff/cdiuwr9.eff new file mode 100644 index 0000000..fe9d204 Binary files /dev/null and b/iwdification/eff/cdiuwr9.eff differ diff --git a/iwdification/eff/cloud.eff b/iwdification/eff/cloud.eff new file mode 100644 index 0000000..dfb60e8 Binary files /dev/null and b/iwdification/eff/cloud.eff differ diff --git a/iwdification/eff/immunity.eff b/iwdification/eff/immunity.eff new file mode 100644 index 0000000..a0bab7a Binary files /dev/null and b/iwdification/eff/immunity.eff differ diff --git a/iwdification/itm/blank.itm b/iwdification/itm/blank.itm new file mode 100644 index 0000000..6c80dee Binary files /dev/null and b/iwdification/itm/blank.itm differ diff --git a/iwdification/itm/blankpr.itm b/iwdification/itm/blankpr.itm new file mode 100644 index 0000000..ae6d942 Binary files /dev/null and b/iwdification/itm/blankpr.itm differ diff --git a/iwdification/itm/cdax2h1.itm b/iwdification/itm/cdax2h1.itm index 09c33f7..4c8d177 100644 Binary files a/iwdification/itm/cdax2h1.itm and b/iwdification/itm/cdax2h1.itm differ diff --git a/iwdification/itm/cdax2h2.itm b/iwdification/itm/cdax2h2.itm index 34565a4..5b18675 100644 Binary files a/iwdification/itm/cdax2h2.itm and b/iwdification/itm/cdax2h2.itm differ diff --git a/iwdification/itm/cdax2h3.itm b/iwdification/itm/cdax2h3.itm index 6848464..ff8d43c 100644 Binary files a/iwdification/itm/cdax2h3.itm and b/iwdification/itm/cdax2h3.itm differ diff --git a/iwdification/itm/cdax2h4.itm b/iwdification/itm/cdax2h4.itm index 4d61dff..a75eb23 100644 Binary files a/iwdification/itm/cdax2h4.itm and b/iwdification/itm/cdax2h4.itm differ diff --git a/iwdification/itm/cdax2h5.itm b/iwdification/itm/cdax2h5.itm index cbaf9b7..b0c562c 100644 Binary files a/iwdification/itm/cdax2h5.itm and b/iwdification/itm/cdax2h5.itm differ diff --git a/iwdification/itm/cdax2h6.itm b/iwdification/itm/cdax2h6.itm index 9615c8e..1e16507 100644 Binary files a/iwdification/itm/cdax2h6.itm and b/iwdification/itm/cdax2h6.itm differ diff --git a/iwdification/itm/cdiaelem.itm b/iwdification/itm/cdiaelem.itm new file mode 100644 index 0000000..991d5c2 Binary files /dev/null and b/iwdification/itm/cdiaelem.itm differ diff --git a/iwdification/itm/cdibclaw.itm b/iwdification/itm/cdibclaw.itm new file mode 100644 index 0000000..c0b6525 Binary files /dev/null and b/iwdification/itm/cdibclaw.itm differ diff --git a/iwdification/itm/cdidbone.itm b/iwdification/itm/cdidbone.itm new file mode 100644 index 0000000..cedad04 Binary files /dev/null and b/iwdification/itm/cdidbone.itm differ diff --git a/iwdification/itm/cdideca.itm b/iwdification/itm/cdideca.itm new file mode 100644 index 0000000..45380b7 Binary files /dev/null and b/iwdification/itm/cdideca.itm differ diff --git a/iwdification/itm/cdieelem.itm b/iwdification/itm/cdieelem.itm new file mode 100644 index 0000000..65591bc Binary files /dev/null and b/iwdification/itm/cdieelem.itm differ diff --git a/iwdification/itm/cdifel18.itm b/iwdification/itm/cdifel18.itm new file mode 100644 index 0000000..5ebf19f Binary files /dev/null and b/iwdification/itm/cdifel18.itm differ diff --git a/iwdification/itm/cdifring.itm b/iwdification/itm/cdifring.itm new file mode 100644 index 0000000..2cdca49 Binary files /dev/null and b/iwdification/itm/cdifring.itm differ diff --git a/iwdification/itm/cdiibody.itm b/iwdification/itm/cdiibody.itm new file mode 100644 index 0000000..c7c2ca9 Binary files /dev/null and b/iwdification/itm/cdiibody.itm differ diff --git a/iwdification/itm/cdiltou.itm b/iwdification/itm/cdiltou.itm new file mode 100644 index 0000000..5889f1e Binary files /dev/null and b/iwdification/itm/cdiltou.itm differ diff --git a/iwdification/itm/cdim1d7s.itm b/iwdification/itm/cdim1d7s.itm new file mode 100644 index 0000000..b814fe5 Binary files /dev/null and b/iwdification/itm/cdim1d7s.itm differ diff --git a/iwdification/itm/cdimoonb.itm b/iwdification/itm/cdimoonb.itm new file mode 100644 index 0000000..74db8a0 Binary files /dev/null and b/iwdification/itm/cdimoonb.itm differ diff --git a/iwdification/itm/cdiplybb.itm b/iwdification/itm/cdiplybb.itm new file mode 100644 index 0000000..b583f1a Binary files /dev/null and b/iwdification/itm/cdiplybb.itm differ diff --git a/iwdification/itm/cdiplypb.itm b/iwdification/itm/cdiplypb.itm new file mode 100644 index 0000000..e602ff4 Binary files /dev/null and b/iwdification/itm/cdiplypb.itm differ diff --git a/iwdification/itm/cdiplyww.itm b/iwdification/itm/cdiplyww.itm new file mode 100644 index 0000000..d13d94f Binary files /dev/null and b/iwdification/itm/cdiplyww.itm differ diff --git a/iwdification/itm/cdir1hp2.itm b/iwdification/itm/cdir1hp2.itm new file mode 100644 index 0000000..27f71e9 Binary files /dev/null and b/iwdification/itm/cdir1hp2.itm differ diff --git a/iwdification/itm/cdis18ml.itm b/iwdification/itm/cdis18ml.itm new file mode 100644 index 0000000..6a28c3d Binary files /dev/null and b/iwdification/itm/cdis18ml.itm differ diff --git a/iwdification/itm/cdis5-20.itm b/iwdification/itm/cdis5-20.itm new file mode 100644 index 0000000..77c78a2 Binary files /dev/null and b/iwdification/itm/cdis5-20.itm differ diff --git a/iwdification/itm/cdisalfi.itm b/iwdification/itm/cdisalfi.itm new file mode 100644 index 0000000..0d02618 Binary files /dev/null and b/iwdification/itm/cdisalfi.itm differ diff --git a/iwdification/itm/cdisalfr.itm b/iwdification/itm/cdisalfr.itm new file mode 100644 index 0000000..78e4e4d Binary files /dev/null and b/iwdification/itm/cdisalfr.itm differ diff --git a/iwdification/itm/cdishdw1.itm b/iwdification/itm/cdishdw1.itm new file mode 100644 index 0000000..463589b Binary files /dev/null and b/iwdification/itm/cdishdw1.itm differ diff --git a/iwdification/itm/cdishmbl.itm b/iwdification/itm/cdishmbl.itm new file mode 100644 index 0000000..ffe6495 Binary files /dev/null and b/iwdification/itm/cdishmbl.itm differ diff --git a/iwdification/itm/cdismcud.itm b/iwdification/itm/cdismcud.itm new file mode 100644 index 0000000..45e44ae Binary files /dev/null and b/iwdification/itm/cdismcud.itm differ diff --git a/iwdification/itm/cdisumam.itm b/iwdification/itm/cdisumam.itm new file mode 100644 index 0000000..ba12c96 Binary files /dev/null and b/iwdification/itm/cdisumam.itm differ diff --git a/iwdification/itm/cdisumrn.itm b/iwdification/itm/cdisumrn.itm new file mode 100644 index 0000000..1ab234d Binary files /dev/null and b/iwdification/itm/cdisumrn.itm differ diff --git a/iwdification/itm/cditrn20.itm b/iwdification/itm/cditrn20.itm new file mode 100644 index 0000000..fd6f0c4 Binary files /dev/null and b/iwdification/itm/cditrn20.itm differ diff --git a/iwdification/itm/cditrn4.itm b/iwdification/itm/cditrn4.itm new file mode 100644 index 0000000..2212fba Binary files /dev/null and b/iwdification/itm/cditrn4.itm differ diff --git a/iwdification/itm/cditrn40.itm b/iwdification/itm/cditrn40.itm new file mode 100644 index 0000000..442809f Binary files /dev/null and b/iwdification/itm/cditrn40.itm differ diff --git a/iwdification/itm/cditrn60.itm b/iwdification/itm/cditrn60.itm new file mode 100644 index 0000000..b8eb180 Binary files /dev/null and b/iwdification/itm/cditrn60.itm differ diff --git a/iwdification/itm/cdiumbhk.itm b/iwdification/itm/cdiumbhk.itm new file mode 100644 index 0000000..074d10f Binary files /dev/null and b/iwdification/itm/cdiumbhk.itm differ diff --git a/iwdification/itm/cdiwelem.itm b/iwdification/itm/cdiwelem.itm new file mode 100644 index 0000000..4dd2e53 Binary files /dev/null and b/iwdification/itm/cdiwelem.itm differ diff --git a/iwdification/languages/english/game_strings.tra b/iwdification/languages/english/game_strings.tra new file mode 100644 index 0000000..78c40f1 --- /dev/null +++ b/iwdification/languages/english/game_strings.tra @@ -0,0 +1,1404 @@ +// strings in this file will be overridden by strings in game_strings_ee for EE games. +// this file is ANSI, and will be converted to UTF-8 for EE games. +// many of the spell and item descriptions can be pulled directly from (original) IWD. + @3001 = ~Emotion, Hopelessness~ + @3002 = ~Emotion, Hopelessness +(Enchantment/Charm) + +Level: 4 +Range: Visual range of the caster +Duration: 1 turn +Casting Time: 4 +Area of Effect: 7-ft. radius +Saving Throw: Neg. + +This spell creates the emotion of hopelessness within the area of effect. All enemies who fail to save vs. Spell just stand and do nothing for 1 turn. This spell nullifies Emotion, Hope within the area of effect at the time of casting.~ + @3003 = ~Hopelessness~ + @3004 = ~Polymorph Self +(Alteration) + +Level: 4 +Range: 0 +Duration: 1 turn + 3 rounds/level +Casting Time: 4 +Area of Effect: The caster +Saving Throw: None + +When this spell is cast, the wizard is able to assume the form of another creature. The caster also gains the physical mode of locomotion and breathing as well. This spell does not give the new form's other abilities such as special attacks and magic, nor does it run the risk of the wizard changing personality and mentality. + +For the duration of the spell, the caster may transform into any of the new forms at any time, and as many times as wishes. The caster gains the natural attacks of the new form in some cases and may use weapons in others. The mental attributes of the wizard remain the same, but all the physical attributes are obtained from the new form. Also, any natural protections that the new form offers are conferred to the wizard, such as the resistance to missile and crushing weapons possessed by the slime form. + +The possible forms given by Polymorph Self are: + Flind: wields a magical halberd (+1 fire damage and strikes as a +3 weapon) + Mustard Jelly: capable of poisoning or slowing opponents (if they fail a Save vs. Death when hit) + Ogre: capable of causing massive damage with its fists + Spider: causes poison damage when it hits an opponent + +In addition, the caster may choose the form of brown bear, black bear, wolf, boring beetle, polar bear, or winter wolf.~ + @3005 = ~Shapeshift: Boring Beetle~ + @3006 = ~Shapeshift: Boring Beetle + +Strength: 18/51 +Dexterity: 7 + +Base Armor Class: -2 +Number of Attacks: 1 +Attack Damage: 5d4 slashing + +Special Abilities: +– Slashing Resistance: 50% +– Piercing Resistance: 50% +– Missile Resistance: 50% + +The Druid is healed 12 Hit Points after using this ability.~ + @3007 = ~Shapeshift: Polar Bear~ + @3008 = ~Shapeshift: Polar Bear + +Strength: 18/00 +Dexterity: 10 + +Base Armor Class: 4 +Number of Attacks: 3 +Attack Damage: 1d12 slashing + +Special Abilities: +– Cold Resistance: 75% +– Fire Resistance: -25% + +The Druid is healed 12 Hit Points after using this ability.~ + @3009 = ~Shapeshift: Winter Wolf~ + @3010 = ~Expeditious Retreat~ + @3011 = ~Expeditious Retreat +(Alteration) + +Level: 1 +Range: 0 +Duration: 3 rounds +Casting Time: 1 +Area of Effect: The caster +Saving Throw: None + +This spell doubles the caster's normal speed for a short period of time... usually long enough to escape. Other movement-altering effects, such as Haste and Slow, cannot affect the caster while this spell is in effect. While Expeditious Retreat is active, the caster cannot attack, cast spells, or use any items or special abilities... can only run.~ + @3012 = ~Shapeshift: Winter Wolf + +Strength: 18 +Dexterity: 13 + +Base Armor Class: 2 +Number of Attacks: 2 +Attack Damage: 1d6 slashing + +Special Abilities: +– Cold Resistance: 75% +– Fire Resistance: -25% + +The Druid is healed 12 Hit Points after using this ability.~ + @3013 = ~Boring Beetle~ + @3014 = ~^\(Level[ %TAB%]*:?[ %TAB%]*\)[0-9]~ + @3015 = ~Polar Bear~ + @3020 = ~Snilloc's Snowball Swarm~ + @3021 = ~Snilloc's Snowball Swarm +(Evocation) + +Level: 2 +Range: Visual range of the caster +Duration: Instant +Casting Time: 2 +Area of Effect: 15-ft. radius +Saving Throw: 1/2 + +This spell causes a flurry of snowballs to erupt from a point within range. These snowballs will hit everything within the area of effect, doing 1d3 points of cold damage per level, up to a maximum of 8d3 points at level 8. Against fire-using or fire-dwelling creatures, it inflicts 1d6 points of cold damage per level, up to a maximum of 8d6 points at level 8.~ + @3030 = ~Decastave~ + @3031 = ~Decastave +(Evocation) + +Level: 2 +Range: 0 +Duration: 3 rounds + 1 round/level +Casting Time: 2 +Area of Effect: The caster +Saving Throw: None + +This spell creates a staff of force in the caster's hand. It is treated as a magical weapon, doing 1d6 Hit Points of damage per hit, and it can hit creatures that require +1 weapons to hit. It is a staff, however, so if the caster does not have a proficiency in staff weapons, then the Decastave is used at a penalty. The staff also has the power to drain a target of 1d2 Hit Points on every strike. These Hit Points are added to the caster's, but they can only heal damage the caster has taken; they will not raise Hit Points beyond normal maximum.~ + @3040 = ~Cat's Grace~ + @3041 = ~Cat's Grace +(Alteration) + +Level: 2 +Range: Touch +Duration: 1 hour/level +Casting Time: 2 +Area of Effect: 1 creature +Saving Throw: None + +This spell magically increases a target's Dexterity. The amount depends on the target's class: Rogues gain 1d8 points, warriors and wizards gain 1d6 points, and priests gain 1d4 points. If a character has more than one class, the larger die is used. Cat's Grace cannot raise a target's Dexterity past 20.~ + @3050 = ~Icelance~ + @3051 = ~Icelance +(Evocation) + +Level: 3 +Range: Visual range of the caster +Duration: Instant +Casting Time: 3 +Area of Effect: 1 creature +Saving Throw: Special + +This spell fires a magical lance of ice at a target of the caster's choosing. It automatically hits, inflicting 5d6 points of cold damage and forcing the target to make a Save vs. Spell or be stunned for 3 rounds.~ + @3060 = ~Lance of Disruption~ + @3061 = ~Lance of Disruption +(Invocation) + +Level: 3 +Range: 100 ft. +Duration: Instant +Casting Time: 3 +Area of Effect: Special +Saving Throw: 1/2 + +This spell shoots a lance of force, which travels from the caster to a specified point 100 ft. in the distance. Any creatures in the lance's path take 5d4 points of crushing damage plus 2 points of damage per level of the caster (maximum of +30). Victims can save vs. Spell for half damage.~ + @3070 = ~Beltyn's Burning Blood~ + @3071 = ~Beltyn's Burning Blood +(Necromancy) + +Level: 4 +Range: Visual range of the caster +Duration: 1 round/2 levels +Casting Time: 4 +Area of Effect: 1 creature +Saving Throw: Neg. + +This spell turns a target's blood to flame, doing 3d4 Hit Points of damage every round and driving the victim berserk with pain. The target gets to save vs. Spell every round; if successful, the damage and berserk state are negated. This spell does not work against undead or extraplanar creatures that do not have blood (such as elementals). If the creature is resistant to fire, this resistance will lower or nullify the damage from this spell.~ + @3080 = ~Shadow Monsters~ + @3081 = ~Shadow Monsters +(Illusion/Phantasm) + +Level: 4 +Range: Visual range of the caster +Duration: 1 round/level +Casting Time: 4 +Area of Effect: Special +Saving Throw: None + +This spell shapes material from the Demiplane of Shadow into illusionary monsters. Up to six shadowy creatures can be summoned at once, but their total Hit Dice will normally not exceed the spellcaster's level.~ + @3082 = ~Lizard Man~ + @3090 = ~Emotion, Courage~ + @3091 = ~Emotion, Courage +(Enchantment/Charm) + +Level: 4 +Range: Visual range of the caster +Duration: 1 hour +Casting Time: 4 +Area of Effect: 7-ft. radius +Saving Throw: None + +This spell creates the emotion of courage within the area of effect. All creatures affected by the spell gain +1 to hit, +3 to their damage rolls, and +5 temporary Hit Points (which can put them above their maximum Hit Points). This spell nullifies all fear effects within the area of effect at the time of casting.~ + @3092 = ~Courage~ + @3100 = ~Emotion, Fear~ + @3101 = ~Emotion, Fear +(Enchantment/Charm) + +Level: 4 +Range: Visual range of the caster +Duration: 5 rounds +Casting Time: 4 +Area of Effect: 7-ft. radius +Saving Throw: Neg. + +This spell creates the emotion of fear within the area of effect. All enemies who fail to save vs. Spell flee for 5 rounds. This spell nullifies Emotion, Courage within the area of effect at the time of casting.~ + @3110 = ~Emotion, Hope~ + @3111 = ~Emotion, Hope +(Enchantment/Charm) + +Level: 4 +Range: Visual range of the caster +Duration: 1 hour +Casting Time: 4 +Area of Effect: 7-ft. radius +Saving Throw: None + +This spell creates the emotion of hope within the area of effect. All creatures affected by the spell gain a morale boost and +2 on their Saving Throws, attack rolls, and damage rolls. This spell nullifies all hopelessness effects within the area of effect at the time of casting.~ + @3112 = ~Hope~ + @3120 = ~Mordenkainen's Force Missiles~ + @3121 = ~Mordenkainen's Force Missiles +(Invocation) + +Level: 4 +Range: Visual range of the caster +Duration: Instant +Casting Time: 4 +Area of Effect: 2-ft. radius +Saving Throw: Special + +This spell creates a brilliant globe of magical energy that streaks forth from the caster's hand to unerringly strike its target, much like a Magic Missile spell. The wizard creates one missile at 7th level and an additional missile at every third level after 7th—in other words, two missiles at 10th level, three at 13th, four at 16th, and so on, to a maximum of seven missiles at 25th level. Each missile inflicts 2d4 points of damage to the target and then bursts in a 2-ft. radius concussive blast that inflicts 1 point of damage per level of the caster—for example, a 12th-level wizard could conjure two force missiles, each of which strikes for 2d4+12 points of magic damage. Creatures taking damage can attempt a Save vs. Spell to negate the concussion damage, but the impact of the missile itself allows no Saving Throw. The 1st-level wizard spell Shield will absorb the force missiles harmlessly, including the concussion damage.~ + @3130 = ~Shout~ + @3131 = ~Shout +(Invocation) + +Level: 4 +Range: 0 +Duration: Instant +Casting Time: 1 +Area of Effect: 17-ft. cone with 15-deg. arc +Saving Throw: Special + +Shout grants the wizard tremendous vocal powers, allowing to emit an earsplitting roar from mouth in a cone-shaped area of effect. Any creature within this area is deafened for 9 rounds and suffers 4d6 points of magic damage. A successful Save vs. Spell negates the deafness and reduces the damage by half.~ + @3140 = ~Vitriolic Sphere~ + @3141 = ~Vitriolic Sphere +(Conjuration) + +Level: 4 +Range: Visual range of the caster +Duration: Special +Casting Time: 4 +Area of Effect: 5-ft. radius +Saving Throw: Special + +This spell conjures a sphere of glowing emerald acid that the caster can direct to strike any target within range. When it reaches its target, the sphere explodes and drenches the victim in potent acid. The victim suffers 1d4 points of acid damage per caster level, to a maximum of 12d4 points of damage. After the initial damage, the victim must save vs. Spell to avoid more damage. If unsuccessful, the victim continues to suffer acid damage in the following rounds, sustaining two less dice of damage each round. For example, an 8th-level wizard inflicts 8d4 damage with this spell on the first round, 6d4 on the second round, 4d4 on the third round, 2d4 on the fourth round, and the spell ends on the fifth round. Each round after the first, the victim is entitled to a Save vs. Spell to avoid further damage. + +The vitriolic sphere also splashes acid in a 5-ft. radius around the primary target. Any creatures within the splash radius must save vs. Petrification/Polymorph or suffer a splash hit that inflicts 1d4 points of damage per every five levels of the caster. Splash hits do not cause continuing damage.~ + @3150 = ~Shroud of Flame~ + @3151 = ~Shroud of Flame +(Invocation) + +Level: 5 +Range: Visual range of the caster +Duration: 1 round/2 levels (special) +Casting Time: 5 +Area of Effect: 5-ft. radius +Saving Throw: Neg. + +This spell causes a creature to burst into flames if it fails a Save vs. Spell. The creature will burn for 2d6 points of fire damage every round, and gouts of flame erupt from the burning target, causing any creatures within 5 ft. to take 1d4 points of fire damage from the flames. Anyone hit by the victim's flames must also make a Save vs. Spell to avoid contracting the shroud themselves. The shroud of flame dissipates if the caster and target are no longer in the same area. This spell is particularly useful in dispersing packs of trolls and frost salamanders.~ + @3160 = ~Demi-Shadow Monsters~ + @3161 = ~Demi-Shadow Monsters +(Illusion/Phantasm) + +Level: 5 +Range: Visual range of the caster +Duration: 1 round/level +Casting Time: 5 +Area of Effect: Special +Saving Throw: None + +This spell is similar to the 4th-level wizard spell Shadow Monsters, except the summoned creatures are much more powerful.~ + @3162 = ~Goblin Elite~ + @3163 = ~Tough Lizard Man~ + @3170 = ~Summon Shadow~ + @3171 = ~Summon Shadow +(Conjuration/Summoning, Necromancy) + +Level: 5 +Range: Visual range of the caster +Duration: 1 round + 1 round/level +Casting Time: 5 +Area of Effect: Special +Saving Throw: None + +This spell summons three 4-HD shadows. The shadows will obey the orders of the caster, attacking enemies or performing tasks until the spell expires or the shadows are slain.~ + @3180 = ~Contact Other Plane~ + @3181 = ~Contact Other Plane +(Divination) + +Level: 5 +Range: 0 +Duration: Instant +Casting Time: 9 +Area of Effect: The caster +Saving Throw: None + +This spell allows the wizard to contact powers from other planes of existence in order to receive advice and information. The nature of the divination is oriented around knowledge of powerful foes, magic items, and spells.~ + @3182 = ~Planar Spirit~ + @3190 = ~Conjure Fire Elemental~ + @3191 = ~Conjure Fire Elemental +(Conjuration/Summoning) + +Level: 5 +Range: Visual range of the caster +Duration: 1 turn/level +Casting Time: 9 +Area of Effect: Special +Saving Throw: None + +This spell allows the caster to summon an 8-HD elemental from the Elemental Plane of Fire and bind it to will. This elemental will fight on behalf of the caster until the spell duration expires or the elemental is destroyed.~ + @3192 = ~Fire Elemental~ + @3200 = ~Conjure Earth Elemental~ + @3201 = ~Conjure Earth Elemental +(Conjuration/Summoning) + +Level: 5 +Range: Visual range of the caster +Duration: 1 turn/level +Casting Time: 9 +Area of Effect: Special +Saving Throw: None + +This spell allows the caster to summon an 8-HD elemental from the Elemental Plane of Earth and bind it to will. This elemental will fight on behalf of the caster until the spell duration expires or the elemental is destroyed.~ + @3202 = ~Earth Elemental~ + @3210 = ~Conjure Air Elemental~ + @3211 = ~Conjure Air Elemental +(Conjuration/Summoning) + +Level: 5 +Range: Visual range of the caster +Duration: 1 turn/level +Casting Time: 9 +Area of Effect: Special +Saving Throw: None + +This spell allows the caster to summon an 8-HD elemental from the Elemental Plane of Air and bind it to will. This elemental will fight on behalf of the caster until the spell duration expires or the elemental is destroyed.~ + @3212 = ~Air Elemental~ + @3220 = ~Conjure Water Elemental~ + @3221 = ~Conjure Water Elemental +(Conjuration/Summoning) + +Level: 5 +Range: Visual range of the caster +Duration: 1 turn/level +Casting Time: 9 +Area of Effect: Special +Saving Throw: None + +This spell allows the caster to summon an 8-HD elemental from the Elemental Plane of Water and bind it to will. This elemental will fight on behalf of the caster until the spell duration expires or the elemental is destroyed.~ + @3222 = ~Water Elemental~ + @3230 = ~Antimagic Shell~ + @3231 = ~Antimagic Shell +(Abjuration) + +Level: 6 +Range: 0 +Duration: 1 turn/level +Casting Time: 1 +Area of Effect: The caster +Saving Throw: None + +This spell surrounds the caster with an invisible barrier that moves with . This barrier makes the wizard immune to any magical attacks, but it prevents from casting spells. + +Antimagic Shell also dispels deafness and feeblemindedness in the caster.~ + @3240 = ~Lich Touch~ + @3241 = ~Lich Touch +(Necromancy) + +Level: 6 +Range: Touch +Duration: 1 round/level +Casting Time: 6 +Area of Effect: The caster +Saving Throw: Special + +This spell confers the powers of a lich's touch and a lich's immunities upon the caster. The wizard gains immunity to paralysis and fear while the spell is in effect, and hands glow with an unearthly blue radiance that does 1d10 cold damage to a target and paralyzes them unless a Save vs. Paralysis is made. This spell has no effect on undead.~ + @3250 = ~Monster Summoning IV~ + @3251 = ~Monster Summoning IV +(Conjuration/Summoning) + +Level: 6 +Range: 20 ft. +Duration: 5 rounds + 1 round/level +Casting Time: 6 +Area of Effect: Special +Saving Throw: None + +With the casting of this spell the wizard summons 1d3 4th-level monsters. These appear within spell range and can be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.~ + @3252 = ~Yeti~ + @3260 = ~Otiluke's Freezing Sphere~ + @3261 = ~Otiluke's Freezing Sphere +(Alteration, Evocation) + +Level: 6 +Range: Visual range of the caster +Duration: Instant +Casting Time: 6 +Area of Effect: 1 creature +Saving Throw: Neg. + +This spell fires an orb of cold at a creature that inflicts 1d4+2 points of cold damage per level of the caster. If the target makes its Save vs. Spell, however, they have dodged the orb and avoided all damage.~ + @3270 = ~Shades~ + @3271 = ~Shades +(Illusion/Phantasm) + +Level: 6 +Range: Visual range of the caster +Duration: 1 round/level +Casting Time: 6 +Area of Effect: Special +Saving Throw: None + +Shades is similar to Shadow Monsters and Demi-Shadow Monsters—it allows the caster to shape material from the Demiplane of Shadow into illusionary creatures. These shadows are tougher than the shadows summoned by Shadow Monsters and Demi-Shadow Monsters, and they will obey the caster until the spell expires or they are slain.~ + @3272 = ~Umber Hulk~ + @3273 = ~Umber Hulk Gaze~ + @3280 = ~Darts of Bone~ + @3281 = ~Darts of Bone +(Necromancy) + +Level: 6 +Range: 0 +Duration: 5 rounds +Casting Time: 5 +Area of Effect: The caster +Saving Throw: None + +This spell creates nine darts that can be used by the caster and cannot be unequipped so long as the spell is in effect. The darts are +3, do 1d4+3 missile damage, and a creature struck by a dart must save vs. Death or take 2d6 magic damage and have its Strength reduced by 3 for 5 rounds. Strength reduction is noncumulative, and failing a save while the reduction is in effect will not extend its duration. The caster's weapon proficiency with darts (or lack thereof) has no effect on the darts' chances to hit a target.~ + @3282 = ~Dart of Bone +3~ + @3290 = ~Soul Eater~ + @3291 = ~Soul Eater +(Necromancy) + +Level: 6 +Range: Visual range of the caster +Duration: Instant +Casting Time: 5 +Area of Effect: 7-ft. radius +Saving Throw: None + +This spell deals 3d8 magic damage to all living creatures within a 14-ft. radius. Any creatures that die as a result of this damage are obliterated, and their essence is transformed into a 3-Hit-Dice skeleton under control of the caster. Also, for each creature that dies in this manner, the caster receives a +1 bonus to Strength, Dexterity, and Constitution for 1 turn. Soul Eater has no effect on undead, constructs, and elemental creatures.~ + @3300 = ~Trollish Fortitude~ + @3301 = ~Trollish Fortitude +(Necromancy) + +Level: 6 +Range: 0 +Duration: 2 turns +Casting Time: 6 +Area of Effect: The caster +Saving Throw: None + +This spell imbues the caster with the resilience of a troll, allowing the caster to regenerate 5 Hit Points per round up to maximum Hit Points.~ + @3310 = ~Monster Summoning V~ + @3311 = ~Monster Summoning V +(Conjuration/Summoning) + +Level: 7 +Range: 20 ft. +Duration: 6 rounds + 1 round/level +Casting Time: 7 +Area of Effect: Special +Saving Throw: None + +With the casting of this spell the wizard summons 1d3 5th-level monsters. These appear within spell range and can be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.~ + @3312 = ~Ju-ju Zombie~ + @3313 = ~Minotaur~ + @3320 = ~Malavon's Rage~ + @3321 = ~Malavon's Rage +(Evocation) + +Level: 7 +Range: 0 +Duration: Instant +Casting Time: 1 +Area of Effect: 7-ft. radius +Saving Throw: 1/2 + +Malavon's Rage was created by the dark elf sorcerer Malavon. It shoots darts of pure energy out from the caster's body in all directions, harming friend and foe alike. The small wedges of magic do 20d4 points of piercing damage (save vs. Spell for half) to everything caught in their path. This spell is especially useful when a wizard is surrounded by enemies.~ + @3330 = ~Acid Storm~ + @3331 = ~Acid Storm +(Evocation) + +Level: 7 +Range: Visual range of the caster +Duration: 1 round/level +Casting Time: 7 +Area of Effect: 12-ft. radius +Saving Throw: 1/2 + +This spell unleashes an acidic downpour on the area of effect, doing 1d4 points of acid damage each round for the first three rounds, 1d6 points for the next three rounds, and 1d8 points for each round thereafter. Moving out of the area of effect does not stop the damage—the acid adheres to the skin, and any creatures in the area of effect when Acid Storm is cast continue to suffer acid damage as long as the spell duration lasts. Creatures make a Save vs. Spell every round after they have been hit by the cloud—if successful, they only take half damage (for that round only).~ + @3340 = ~Seven Eyes~ + @3341 = ~Seven Eyes +(Abjuration) + +Level: 7 +Range: 0 +Duration: 2 turns +Casting Time: 7 +Area of Effect: The caster +Saving Throw: None + +This spell conjures forth seven magical orbs that float in a ring above the caster's head. Each eye has a defensive and offensive ability, though once either one is used, the eye will lose its power. The powers of each eye are described below. + +Eye of the Mind: This orb protects the caster against mental attacks such as charm, emotion, and fear. The eye can be expended as the 1st-level wizard spell Charm Person, bringing a humanoid creature under the caster's control for 1 turn (Save vs. Spell negates). + +Eye of the Sword: This eye deflects the first physical damaging attack that strikes the caster. The eye may be expended as the 1st-level wizard spell Magic Missile, creating up to 5 missiles (one for every two levels of experience besides the first) that each strike a target for 1d4+1 magic damage. + +Eye of the Mage: This eye absorbs one manifestation of fire, electrical, cold, or acid damage. The eye can also be expended as the 3rd-level wizard spell Lightning Bolt, dealing 1d6 electrical damage per level (capped at 10d6) to all creatures in its path. + +Eye of Venom: This eye halts any one attack or effect that could poison the caster. The eye can also be expended as the 4th-level priest spell Poison, dealing 20 points of damage to one creature over a period of 20 seconds (Save vs. Poison negates). + +Eye of the Spirit: This eye blocks one instant-death magic attack (Death Spell; Finger of Death; Power Word, Kill; Slay Living; Destruction). The wizard may instead choose to expend the eye's power as the 2nd-level wizard spell Ray of Enfeeblement, dropping a target's Strength to 5 (Save vs. Spell negates). + +Eye of Fortitude: This eye blocks one stunning, deafness, blindness, or silence effect. It may alternatively be expended as the 4th-level wizard spell Shout, dealing 4d6 magic damage and deafening creatures within a 35-ft. cone (Save vs. Spell halves damage and negates deafness). + +Eye of Stone: This eye shields the caster from a single petrification attack. It can also be used as the 3rd-level wizard spell Hold Person, rendering humanoids of man-size or smaller immobile for 1 round/level (Save vs. Spell negates).~ + @3342 = ~Eye of the Mind~ + @3343 = ~Eye of the Mind + +This orb protects the caster against mental attacks such as charm, emotion, and fear. + +The eye can be expended as the 1st-level wizard spell Charm Person, bringing a humanoid creature under the caster's control for 1 turn (Save vs. Spell negates).~ + @3344 = ~Eye of the Sword~ + @3345 = ~Eye of the Sword + +This eye deflects the first physical damaging attack that strikes the caster. + +The eye may be expended as the 1st-level wizard spell Magic Missile, creating up to 5 missiles (one for every two levels of experience besides the first) that each strike a target for 1d4+1 magic damage.~ + @3346 = ~Eye of the Mage~ + @3347 = ~Eye of the Mage + +This eye absorbs one manifestation of fire, electrical, cold, or acid damage. + +The eye can also be expended as the 3rd-level wizard spell Lightning Bolt, dealing 1d6 electrical damage per level (capped at 10d6) to all creatures in its path.~ + @3348 = ~Eye of Venom~ + @3349 = ~Eye of Venom + +This eye halts any one attack or effect that could poison the caster. + +The eye can also be expended as the 4th-level priest spell Poison, dealing 20 points of damage to one creature over a period of 20 seconds (Save vs. Poison negates).~ + @3350 = ~Eye of the Spirit~ + @3351 = ~Eye of the Spirit + +This eye blocks one instant-death magic attack (Death Spell; Finger of Death; Power Word, Kill; Slay Living; Destruction). + +The wizard may instead choose to expend the eye's power as the 2nd-level wizard spell Ray of Enfeeblement, dropping a target's Strength to 5 (Save vs. Spell negates).~ + @3352 = ~Eye of Fortitude~ + @3353 = ~Eye of Fortitude + +This eye blocks one stunning, deafness, blindness, or silence effect. + +It may alternatively be expended as the 4th-level wizard spell Shout, dealing 4d6 magic damage and deafening creatures within a 35-ft. cone (Save vs. Spell halves damage and negates deafness).~ + @3354 = ~Eye of Stone~ + @3355 = ~Eye of Stone + +This eye shields the caster from a single petrification attack. + +It can also be used as the 3rd-level wizard spell Hold Person, rendering humanoids of man-size or smaller immobile for 1 round/level (Save vs. Spell negates).~ + @3356 = ~Eye of Stone blocks effect and dissipates.~ + @3357 = ~Eye of Fortitude blocks effect and dissipates.~ + @3358 = ~Eye of the Spirit blocks effect and dissipates.~ + @3359 = ~Eye of Venom blocks effect and dissipates.~ + @3360 = ~Eye of the Mage blocks effect and dissipates.~ + @3361 = ~Eye of the Sword blocks effect and dissipates.~ + @3362 = ~Eye of the Mind blocks effect and dissipates.~ + @3370 = ~Suffocate~ + @3371 = ~Suffocate +(Alteration) + +Level: 7 +Range: Visual range of the caster +Duration: 4 rounds +Casting Time: 7 +Area of Effect: 7-ft. radius +Saving Throw: Special + +This spell draws the breath out of all creatures within the area of effect. Creatures that do not breathe are unaffected. Suffocating creatures suffer -4 to Armor Class, -4 to hit, -6 to Dexterity, one less attack per round, half movement rate, and take 4d8 points of magic damage per round. A successful Saving Throw negates all effects but 2d8 points of damage for one round. The effects begin to fade when the creature moves out of the area of effect, although it can take a round for a character to catch their second wind.~ + @3380 = ~Monster Summoning VI~ + @3381 = ~Monster Summoning VI +(Conjuration/Summoning) + +Level: 8 +Range: 20 ft. +Duration: 7 rounds + 1 round/level +Casting Time: 8 +Area of Effect: Special +Saving Throw: None + +With the casting of this spell the wizard summons 1d3 6th-level monsters. These appear within spell range and can be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.~ + @3382 = ~Salamander~ + @3383 = ~Frost Salamander~ + @3390 = ~Mind Blank~ + @3391 = ~Mind Blank +(Abjuration) + +Level: 8 +Range: 0 +Duration: 24 hours +Casting Time: 1 +Area of Effect: The caster +Saving Throw: None + +In the interests of one's self-control and privacy, Mind Blank shields a creature's mind from almost any mental effect—charm, maze, feeblemind, confusion, fear, intoxication, berserk, hold, and petrification.~ + @3400 = ~Great Shout~ + @3401 = ~Great Shout +(Invocation) + +Level: 8 +Range: 0 +Duration: Instant +Casting Time: 1 +Area of Effect: 17-ft. cone with 15-deg. arc +Saving Throw: 1/2 + +Upon uttering the Great Shout, the caster releases a stunning force from mouth in a 17-ft. cone. The Great Shout is extremely taxing and dangerous to the user. The shout drains 2d4 Hit Points from the caster, and must make a Save vs. Spell or fall unconscious for 1 turn. Creatures 5 Hit Dice and under caught within the Great Shout instantly die. All other creatures within the area of effect must save vs. Spell. Those who fail the save are stunned for 2 rounds, deafened for 4 rounds, and suffer 4d12 points of magic damage. Those who make the save are stunned for 1 round, deafened for 2 rounds, and suffer 2d12 points of magic damage.~ + @3410 = ~Iron Body~ + @3411 = ~Iron Body +(Alteration) + +Level: 8 +Range: 0 +Duration: 2 turns +Casting Time: 8 +Area of Effect: The caster +Saving Throw: None + +This spell transforms the caster's body into living iron, granting several powerful resistances and abilities. While the spell is in effect, the caster is 100% resistant to electricity and poison, 50% resistant to fire, and 25% resistant to crushing damage. Spells that affect respiration or the physiology of the caster are ignored. In addition, the caster's Strength is raised to 25, and the caster can attack twice per round with iron fists for 2d4 points of damage plus appropriate Strength bonuses. + +Unfortunately, the caster's movement becomes slow and awkward, setting movement rate to 25% of normal, and cannot cast spells while Iron Body is in effect.~ + @3412 = ~Iron Fist~ + @3420 = ~Monster Summoning VII~ + @3421 = ~Monster Summoning VII +(Conjuration/Summoning) + +Level: 9 +Range: 20 ft. +Duration: 8 rounds + 1 round/level +Casting Time: 9 +Area of Effect: Special +Saving Throw: None + +With the casting of this spell, the wizard summons 1d2 7th- or 8th-level monsters. These appear within spell range and can be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.~ + @3422 = ~Boneguard Skeleton~ + @4010 = ~Curse~ + @4011 = ~Curse +(Conjuration/Summoning) + +Level: 1 +Sphere: All +Range: Visual range of the caster +Duration: 6 rounds +Casting Time: 9 +Area of Effect: 15-ft. radius +Saving Throw: None + +When uttering the Curse spell, the caster lowers the morale of enemy creatures and any Saving Throws and attack rolls they make by 1. At the instant the spell is completed, it affects all creatures in a 15-ft. radius centered on the point selected by the caster. Affected creatures leaving the area are still subject to the spell's effect; those entering the area after the casting is completed are not.~ + @4020 = ~Cause Light Wounds~ + @4021 = ~Cause Light Wounds +(Necromancy) + +Level: 1 +Sphere: Healing +Range: Touch +Duration: Instant +Casting Time: 5 +Area of Effect: 1 creature +Saving Throw: 1/2 + +By casting this spell and touching a creature, the priest deals 8 points of damage (save vs. Spell for half) to the creature's body. This spell has no effect on undead, constructs, or extraplanar creatures. It cannot be cast by good-aligned characters.~ + @4030 = ~Sunscorch~ + @4031 = ~Sunscorch +(Invocation) + +Level: 1 +Sphere: Sun +Range: Visual range of the caster +Duration: Instant +Casting Time: 4 +Area of Effect: 1 creature +Saving Throw: Special + +When this spell is cast, a brilliant ray of scorching heat slants down from the sky and strikes one target of the caster's choice. Any creature struck by the ray takes 1d6 points of damage, plus 1 point per level of the caster; however, if the target is an undead creature or a monster vulnerable to bright light, the damage is 1d6, plus 2 points per level of the caster. In addition to sustaining damage, victims are also blinded for 3 rounds. The victim is allowed a Save vs. Spell for half damage and to avoid the blindness.~ + @4040 = ~Cure Moderate Wounds~ + @4041 = ~Cure Moderate Wounds +(Necromancy) + +Level: 2 +Sphere: Healing +Range: Touch +Duration: Instant +Casting Time: 5 +Area of Effect: 1 creature +Saving Throw: None + +A stronger version of the 1st-level priest spell Cure Light Wounds, Cure Moderate Wounds heals 11 Hit Points and cures intoxication. This spell has no effect on undead, constructs, or extraplanar creatures.~ + @4042 = ~This spell heals the character by 11 Hit Points.~ + @4050 = ~Alicorn Lance~ + @4051 = ~Alicorn Lance +(Invocation) + +Level: 2 +Sphere: Combat +Range: Visual range of the caster +Duration: Instant +Casting Time: 5 +Area of Effect: 1 creature +Saving Throw: Special + +This spell creates a silver-hued, partially ethereal lance shaped in the form of an alicorn (a unicorn horn). The caster chooses a target, and the alicorn lance instantaneously fires at it, inflicting 3d6 points of piercing damage with a Save vs. Spell for half. Although the alicorn lance dissipates after it strikes, it always leaves a silvery radiance around the target that makes it easier to see and hit, giving it a -2 penalty to its Armor Class for 3 rounds.~ + @4052 = ~Outlined in a Silvery Radiance (AC penalty of 2)~ + @4060 = ~Beast Claw~ + @4061 = ~Beast Claw +(Alteration) + +Level: 2 +Sphere: Combat +Range: 0 +Duration: 1 turn +Casting Time: 5 +Area of Effect: The caster +Saving Throw: None + +This spell transforms the caster's arms into the claws of a mighty beast, giving the caster 18/72 Strength and the ability to rake an opponent for 2d4 (plus Strength bonus) points of slashing damage. The caster can attack twice per round with the beast claws, with a +2 bonus to hit.~ + @4070 = ~Cause Moderate Wounds~ + @4071 = ~Cause Moderate Wounds +(Necromancy) + +Level: 2 +Sphere: Healing +Range: Touch +Duration: Instant +Casting Time: 5 +Area of Effect: 1 creature +Saving Throw: 1/2 + +By casting this spell and touching a creature, the priest deals 11 points of damage (save vs. Spell for half) to the creature's body. This spell has no effect on undead, constructs, or extraplanar creatures. It cannot be cast by good-aligned characters.~ + @4080 = ~Prayer~ + @4081 = ~Prayer +(Conjuration/Summoning) + +Level: 3 +Sphere: Combat +Range: 0 +Duration: 1 round/level +Casting Time: 6 +Area of Effect: 30-ft. radius +Saving Throw: None + +Prayer bestows favor on the priest and allies, and curses their enemies. All attacks, damage, and Saving Throws by friendly characters gain a +1 bonus, while enemy attacks, damage rolls, and saves get a -1 penalty. Any creatures within the area of effect when the spell is cast will continue to be affected by the spell when they leave the area, so if the warriors want to chase down that fleeing goblin, the effects of the Prayer will follow them.~ + @4082 = ~Combat Penalties~ + @4083 = ~Combat Bonuses~ + @4090 = ~Cause Disease~ + @4091 = ~Cause Disease +(Necromancy) + +Level: 3 +Sphere: Healing +Range: Touch +Duration: 8 hours +Casting Time: 9 +Area of Effect: 1 creature +Saving Throw: Neg. + +This spell afflicts one creature the priest touches with a disease that saps the target of 5d4 points of Strength. A successful Save vs. Spell negates the effects. This spell has no effect on undead, constructs, or extraplanar creatures. It cannot be cast by good-aligned characters.~ + @4100 = ~Exaltation~ + @4101 = ~Exaltation +(Abjuration) + +Level: 3 +Sphere: Healing +Range: Touch +Duration: 1 turn +Casting Time: 9 +Area of Effect: 1 creature +Saving Throw: None + +This spell enables a priest to aid and protect any one being other than the priest. By touch, the caster removes the effects of fear, sleep, feeblemindedness, unconsciousness, and intoxication, as well as berserk and confused states of mind. In addition, the recipient is protected against spells and other attacks that cause these effects for the duration of the spell.~ + @4110 = ~Moonblade~ + @4111 = ~Moonblade +(Invocation) + +Level: 3 +Sphere: Combat, Sun +Range: 0 +Duration: 2 turns +Casting Time: 6 +Area of Effect: The caster +Saving Throw: None + +This spell summons forth a silent, weightless sword-like construct made of moonlight that extends four feet from the caster's hand. The moonblade is considered a +4 weapon for determining what creatures it can hit, though the bonus does not apply to attack rolls made with it. In addition, due to the insubstantial nature of the moonblade, melee bonuses from Strength do not apply. + +The strike of a moonblade drains a target's vitality, inflicting 1d12+4 points of magic damage, plus an additional 1d12 points to undead, who are particularly susceptible. A successful strike also temporarily scrambles magic, causing any spells the target casts in the next round to fail.~ + @4120 = ~Circle of Bones~ + @4121 = ~Circle of Bones +(Necromancy) + +Level: 3 +Sphere: Guardian, Creation +Range: 0 +Duration: 3 rounds +Casting Time: 3 +Area of Effect: 3-ft. radius +Saving Throw: None + +This spell conjures forth a barrier of floating bones that spin rapidly around the caster, who cannot move for the duration of the spell. Anyone entering the path of the bones takes 1d6 crushing damage and 1d6 slashing damage per round. Circle of Bones cannot be cast by good-aligned characters.~ + @4130 = ~Spike Growth~ + @4131 = ~Spike Growth +(Alteration) + +Level: 3 +Sphere: Elemental Earth +Range: Visual range of the caster +Duration: 1 turn +Casting Time: 6 +Area of Effect: 15-ft. radius +Saving Throw: None + +This spell transforms the surrounding terrain into spiky plants. Any creature entering the area takes 1d4 points of piercing damage and 1d4 points of slashing damage every round until the spell expires.~ + @4140 = ~Cloudburst~ + @4141 = ~Cloudburst +(Invocation) + +Level: 3 +Sphere: Elemental Water +Range: Visual range of the caster +Duration: 2 rounds +Casting Time: 6 +Area of Effect: 17-ft. radius +Saving Throw: None + +This spell brings forth a magical rain that saturates the area of effect. All cold- and fire-dwelling creatures take 2d3 points of magic damage per round. In addition, all creatures in the area have a 50% chance per round of being struck by bolts of lightning that deal 2d6 electrical damage, with a Save vs. Spell for half. Flame Blade, Shroud of Flame, and salamander auras are extinguished by Cloudburst.~ + @4150 = ~Mold Touch~ + @4151 = ~Mold Touch +(Alteration) + +Level: 3 +Sphere: Plant +Range: Touch +Duration: Special +Casting Time: 6 +Area of Effect: 10-ft. radius +Saving Throw: Special + +This spell infects the creature the caster touches with a rapidly spreading brown mold. If the infected creature fails a Save vs. Spell, the infection is severe and the creature takes magic damage as follows: + +1st round: 4d6 damage +2nd round: 3d6 damage +3rd round: 2d6 damage +4th round: 1d6 damage + +If the Saving Throw is successful, the damage is reduced as follows: + +1st round: 2d6 damage +2nd round: 1d6 damage +3rd round: 1d6 damage + +Each round after the first, the nearest creature within 10 ft. of the victim must make a Save vs. Spell or be infected by the mold at full strength. This process continues until the mold fails to infect a suitable host in time. Creatures already under the effects of the mold cannot contract it again. The brown mold quickly dies once the spell expires.~ + @4160 = ~Storm Shell~ + @4161 = ~Storm Shell +(Abjuration) + +Level: 3 +Sphere: Protection, Weather +Range: 0 +Duration: 1 turn +Casting Time: 6 +Area of Effect: The caster +Saving Throw: None + +This spell surrounds the caster with a bright sphere of disruptive energy that moves with . The storm shell increases the caster's resistance to fire, cold, and electrical damage by 50%.~ + @4170 = ~Cause Medium Wounds~ + @4171 = ~Cause Medium Wounds +(Necromancy) + +Level: 3 +Sphere: Healing +Range: Touch +Duration: Instant +Casting Time: 5 +Area of Effect: 1 creature +Saving Throw: 1/2 + +By casting this spell and touching a creature, the priest deals 14 points of damage (save vs. Spell for half) to the creature's body. This spell has no effect on undead, constructs, or extraplanar creatures. Cause Medium Wounds cannot be cast by good-aligned characters.~ + @4180 = ~Favor of Ilmater~ + @4181 = ~Favor of Ilmater +(Necromancy) + +Level: 3 +Sphere: Necromantic, Protection +Range: 30 ft. +Duration: Instant +Casting Time: 6 +Area of Effect: 1 creature +Saving Throw: None + +By invoking this spell, the caster switches own life force with that of the recipient, exchanging all physical injuries. The spell will only function if the caster has more Hit Points than the target before the switch is attempted. This switch is permanent until the caster uses normal methods to heal the damage. The exchange can be done from a distance so long as the spell range is not exceeded. Only the Hit Points are exchanged; the caster cannot take on other conditions from the target such as disease, poison, intoxication, and similar afflictions. + +This spell cannot be cast by evil-aligned characters. It has no effect on undead, constructs, or extraplanar creatures.~ + @4190 = ~Giant Insect~ + @4191 = ~Giant Insect +(Alteration) + +Level: 4 +Sphere: Animal +Range: Visual range of the caster +Duration: 8 hours +Casting Time: 7 +Area of Effect: Special +Saving Throw: None + +This spell summons 2-3 boring beetles or bombardier beetles to the caster's side. The beetles will obey the caster until the spell expires or they are slain.~ + @4192 = ~Bombardier Beetle~ + @4193 = ~Releases Acidic Vapor~ + @4200 = ~Produce Fire~ + @4201 = ~Produce Fire +(Alteration) + +Level: 4 +Sphere: Elemental Fire +Range: Visual range of the caster +Duration: 1 round +Casting Time: 7 +Area of Effect: 4-ft. radius +Saving Throw: None + +When cast, flames erupt from the target point, dealing 1d4 points of fire damage plus 1 point per level of the caster to all creatures within the spell's radius. Creatures will take damage once per round regardless of when they enter the area of effect.~ + @4210 = ~Static Charge~ + @4211 = ~Static Charge +(Alteration) + +Level: 4 +Sphere: Weather +Range: 0 +Duration: 1 turn/level +Casting Time: 9 +Area of Effect: Visual range of the caster +Saving Throw: 1/2 + +Static Charge is similar to Call Lightning, except it can be used indoors. This spell allows the caster to generate a static charge around any creature within the area of effect, dealing 2d8 points of electrical damage plus an additional 1d8 points per level of the caster (save vs. Spell for half). The charge keeps going off once every turn for the duration of the spell.~ + @4212 = ~Discharge of static electricity~ + @4220 = ~Recitation~ + @4221 = ~Recitation +(Abjuration, Invocation/Evocation) + +Level: 4 +Sphere: Combat +Range: 0 +Duration: 1 round/level +Casting Time: 7 +Area of Effect: 25-ft. radius +Saving Throw: None + +By reciting a sacred passage or declaration, the priest invokes deity's blessing upon self and allies while sowing confusion and weakness among enemies. The priest's allies gain a +2 bonus to their attack rolls and Saving Throws, and the priest's enemies receive a -2 penalty to the same. Recitation does not nullify a Prayer spell—the two can be cast in tandem, and the effects are cumulative.~ + @4230 = ~Blood Rage~ + @4231 = ~Blood Rage +(Alteration) + +Level: 4 +Sphere: Combat +Range: Visual range of the caster +Duration: 2 turns +Casting Time: 7 +Area of Effect: 1 creature +Saving Throw: None + +This spell works only on player characters or allied creatures. When cast, the target of this spell goes berserk, attacking the nearest creature until that creature is dead, then moving on to the next target. While under Blood Rage, the target is immune to charm, sleep, fear, hold, stunning, confusion, emotion, symbol spells, and related effects. In addition, the target gains +2 to hit, +3 to damage, +2 to Strength, +10 to maximum Hit Points, and +2 to movement rate. The spell has several disadvantages, however: The Hit Points of the target are masked for the duration of the spell, and the target cannot benefit from any effect that heals Hit Points. At the end of the spell's duration, the target becomes fatigued and Strength drops to 3 for 2 turns. Blood Rage cannot affect—and cannot be cast by—creatures of lawful alignment.~ + @4240 = ~Cloud of Pestilence~ + @4241 = ~Cloud of Pestilence +(Alteration) + +Level: 4 +Sphere: Combat, Elemental Air +Range: Visual range of the caster +Duration: 4 rounds +Casting Time: 7 +Area of Effect: 12-ft. radius +Saving Throw: Neg. + +This spell transforms the air in a 12-ft. radius into sickening, grayish mists. The caster and non-living creatures are immune to the effects of the cloud. For every round of exposure to the disease-ridden air, a creature must save vs. Breath or suffer 3 points of magic damage, blindness, and the loss of 3 points of Strength and Dexterity. The blindness and ability score penalties last 1 turn. Cloud of Pestilence can only be cast by evil-aligned characters.~ + @4250 = ~Unfailing Endurance~ + @4251 = ~Unfailing Endurance +(Necromancy) + +Level: 4 +Sphere: Necromantic +Range: Touch +Duration: Instant +Casting Time: 9 +Area of Effect: 1 creature +Saving Throw: None + +This spell restores the stamina of the creature touched, eliminating any fatigue.~ + @4260 = ~Star Metal Cudgel~ + @4261 = ~Star Metal Cudgel +(Conjuration) + +Level: 4 +Sphere: Combat +Range: 0 +Duration: 3 turns +Casting Time: 7 +Area of Effect: The caster +Saving Throw: None + +This spell creates a meteoric iron magical club that deals 1d6+2 points of crushing damage, confers a +2 bonus to attack rolls, and is treated as a +4 weapon for purposes of what it can hit. Strength, proficiency, and specialization bonuses and penalties apply normally. The club deals an additional 2d6 points of crushing damage against unnatural creatures (undead, elementals, golems, outer-planar creatures, etc.).~ + @4270 = ~Smashing Wave~ + @4271 = ~Smashing Wave +(Invocation) + +Level: 4 +Sphere: Elemental Water +Range: 100 ft. +Duration: Instant +Casting Time: 9 +Area of Effect: Special +Saving Throw: Special + +This spell summons a 5-ft. wide wave of water that moves in the direction willed by the caster, striking all in its path with massive force. The wave deals 4d10 points of crushing damage; in addition, struck creatures may be either stunned (25% chance) or knocked unconscious (5% chance) for 2 rounds. If the creature struck makes a successful Save vs. Breath Weapon, the damage is reduced by half and the creature avoids being stunned or knocked unconscious.~ + @4280 = ~Thorn Spray~ + @4281 = ~Thorn Spray +(Alteration) + +Level: 4 +Sphere: Plant +Range: 30 ft. +Duration: Instant +Casting Time: 3 +Area of Effect: 17-ft. cone with 90-deg. arc +Saving Throw: 1/2 + +By means of this spell, the caster can cause a spray of barbs, spikes, thorns, and spines to spring forth from hand. The thorn spray covers a 17-ft.-long cone, inflicting 2d10 points of piercing damage to all creatures within the area of effect, or 1d10 points of damage if a Save vs. Death is successful.~ + @4290 = ~Wall of Moonlight~ + @4291 = ~Wall of Moonlight +(Invocation) + +Level: 4 +Sphere: Protection, Sun +Range: Visual range of the caster +Duration: 1 turn +Casting Time: 7 +Area of Effect: 8 ft. long, 2 ft. wide wall +Saving Throw: None + +This spell invokes a shimmering tapestry of blue-white force. This wall is intangible, requiring no physical anchor, and can easily be passed through. Evil creatures passing through the wall take 2d10 magic damage; evil undead creatures take 5d10. A creature that has passed through the wall can only take damage from it once.~ + @4300 = ~Righteous Wrath of the Faithful~ + @4301 = ~Righteous Wrath of the Faithful +(Enchantment/Charm) + +Level: 5 +Sphere: Combat +Range: 0 +Duration: 1 round/level +Casting Time: 8 +Area of Effect: 17-ft. radius +Saving Throw: None + +This spell bestows a form of divine madness upon the priest's allies, improving their combat skills. All the priest's allies in the area of effect gain a +1 to attack rolls and Saving Throws, plus 8 bonus Hit Points for the duration of the spell (these Hit Points can take a target beyond Hit Point maximum). Allies of the same alignment, however, gain an extra attack every round (canceling haste), a +2 bonus to their attack rolls, damage rolls, and Saving Throws, and immunity to charm and hold spells. Anyone affected by Righteous Wrath of the Faithful will suffer fatigue when the spell wears off.~ + @4310 = ~Spike Stones~ + @4311 = ~Spike Stones +(Alteration, Enchantment) + +Level: 5 +Sphere: Elemental Earth +Range: Visual range of the caster +Duration: 12 rounds +Casting Time: 6 +Area of Effect: 8-ft. radius +Saving Throw: Special + +This spell warps the surrounding rock, reshaping the terrain into spiked projections that blend into the background. Any creature entering the area takes 2d4 Hit Points of piercing damage per round and must make a Save vs. Spell or have its movement rate reduced by 30%.~ + @4320 = ~Shield of Lathander~ + @4321 = ~Shield of Lathander +(Conjuration) + +Level: 5 +Sphere: Guardian +Range: Touch +Duration: 2 rounds +Casting Time: 8 +Area of Effect: 1 creature +Saving Throw: None + +This spell grants the recipient immunity to damage for the duration of the spell. Evil creatures cannot be protected by a Shield of Lathander. This spell cannot be cast by evil-aligned characters.~ + @4330 = ~Undead Ward~ + @4331 = ~Undead Ward +(Necromancy) + +Level: 5 +Sphere: Wards +Range: 0 +Duration: 1 turn +Casting Time: 7 +Area of Effect: 10-ft. radius +Saving Throw: None + +This spell amplifies the influence a priest has over undead, though it is tied to the area surrounding the priest at the moment of its casting and does not move. Any undead creature entering the area of effect is affected as if turned by the priest that cast this spell. If the turning fails, the undead creature is immune to further turning attempts by the spell unless it leaves and reenters the area of effect.~ + @4340 = ~Animal Rage~ + @4341 = ~Animal Rage +(Enchantment) + +Level: 5 +Sphere: Combat +Range: Touch +Duration: 15 rounds +Casting Time: 8 +Area of Effect: 1 creature +Saving Throw: None + +This spell imbues the target creature with animal ferocity. The target creature gains a Strength score of 19, +20 Hit Points, +20% movement rate, and a +2 bonus to all Saving Throws. The target loses the ability to cast spells while Animal Rage is in effect; when enemies are within sight, immediately attacks in melee, using whatever is in hand. While this spell is in effect, there is a 5% chance per round that the target will go berserk, attacking friend and foe alike.~ + @4350 = ~Mass Cause Light Wounds~ + @4351 = ~Mass Cause Light Wounds +(Necromancy) + +Level: 5 +Sphere: Healing +Range: 0 +Duration: Instant +Casting Time: 5 +Area of Effect: 15-ft. radius +Saving Throw: 1/2 + +By casting this spell, the priest deals 1d8 + 1/level points of damage to nearby enemies. A successful Save vs. Spell halves the damage. This spell has no effect on undead, constructs, or extraplanar creatures. It can only be cast by evil-aligned characters.~ + @4360 = ~Entropy Shield~ + @4361 = ~Entropy Shield +(Abjuration) + +Level: 6 +Sphere: Protection +Range: 0 +Duration: 1 round/level +Casting Time: 9 +Area of Effect: The caster +Saving Throw: None + +When cast, this spell surrounds the caster with a defensive maelstrom of energy that blocks or deflects many attacks. This gives the priest a +6 bonus to Armor Class, a +2 bonus to Saving Throws, and +50% resistance to electricity, fire, cold, and acid. The priest is also immune to Flamestrike and all missile-based attacks, including missiles created by spells such as Magic Missile.~ + @4370 = ~Whirlwind~ + @4371 = ~Whirlwind +(Invocation) + +Level: 6 +Sphere: Elemental Air +Range: Visual range of the caster +Duration: Special +Casting Time: 9 +Area of Effect: Special +Saving Throw: Special + +This spell creates a small whirlwind within the caster's sight. The whirlwind will fly around randomly, harming friend and foe alike. The caster is immune to own spell, and elementals and other huge creatures are also unaffected. If a creature is caught in the path of the whirlwind, it takes 2d8 crushing damage, 2d8 slashing damage, and must make a Save vs. Breath Weapon or be stunned for 2 rounds. Creatures with 2 or fewer Hit Dice are automatically killed by this spell. A maximum of 8 targets can be affected, after which the whirlwind will dissipate.~ + @4380 = ~Spiritual Wrath~ + @4381 = ~Spiritual Wrath +(Invocation) + +Level: 6 +Sphere: Combat +Range: Visual range of the caster +Duration: Instant +Casting Time: 2 +Area of Effect: Special +Saving Throw: 1/2 + +Upon completion of this spell, the priest becomes a focus of spiritual energy, which then shoots out from the caster in four directions, like lightning bolts. All creatures in the bolts' paths take 4d10 points of magic damage (save vs. Spell for half). Creatures of the same moral alignment (good, neutral, evil) as the caster are unaffected by the spell.~ + @4390 = ~Symbol, Pain~ + @4391 = ~Symbol, Pain +(Conjuration/Summoning) + +Level: 7 +Sphere: Guardian +Range: Visual range of the caster +Duration: 11 turns +Casting Time: 3 +Area of Effect: 15-ft. radius +Saving Throw: Neg. + +All enemies within 15 ft. of the symbol of pain at the moment it is invoked must make a Save vs. Spell. Those who fail their Saving Throws are overwhelmed by pain, suffering a -4 penalty to their attack rolls, a -2 penalty to their Dexterity scores, and a -2 penalty to their Armor Class.~ + @4392 = ~Wracking Pains~ + @4393 = ~Pain~ + @4400 = ~Symbol, Hopelessness~ + @4401 = ~Symbol, Hopelessness +(Conjuration/Summoning) + +Level: 7 +Sphere: Guardian +Range: Visual range of the caster +Duration: 2 turns +Casting Time: 3 +Area of Effect: 15-ft. radius +Saving Throw: Neg. + +Symbol, Hopelessness is a powerful enchantment that allows the priest to inscribe a symbol on the ground or any other surface. The symbol will remain there until an opponent comes too close, at which point it will explode, causing all enemies within the area of effect to make a Save vs. Spell with a -2 penalty or stand in place, overwhelmed by dejection and surrender. They will make no move to defend themselves from attack. This spell nullifies Emotion, Hope within the area of effect at the time of casting.~ + @4410 = ~Impervious Sanctity of Mind~ + @4411 = ~Impervious Sanctity of Mind +(Abjuration) + +Level: 7 +Sphere: Protection +Range: 0 +Duration: 1 turn/level +Casting Time: 9 +Area of Effect: The caster +Saving Throw: None + +This spell steels the caster's mind against any outside influence. Charm, confusion, fear, feeblemindedness, hold, sleep, maze, berserk, and intoxication will not affect the caster as long as this spell is in effect.~ + @4420 = ~Destruction~ + @4421 = ~Destruction +(Necromancy) + +Level: 7 +Sphere: Healing +Range: Touch +Duration: Instant +Casting Time: 9 +Area of Effect: The caster +Saving Throw: Special + +This spell instantly destroys a target, blasting it into small chunks. The victim is allowed a Save vs. Death at a penalty of -4; if successful, the target takes 8d6 points of magic damage instead of being destroyed. Destruction can only be cast by evil characters. Note that a character struck with a Destruction spell cannot be raised from the dead with a Raise Dead or Resurrection spell.~ + @4430 = ~Greater Shield of Lathander~ + @4431 = ~Greater Shield of Lathander +(Conjuration) + +Level: 7 +Sphere: Guardian +Range: Touch +Duration: 3 rounds +Casting Time: 9 +Area of Effect: 1 creature +Saving Throw: None + +This spell grants the recipient 100% Magic Resistance and immunity to damage for the duration of the spell. Evil creatures cannot be protected by a Greater Shield of Lathander. This spell can only be cast by good-aligned characters.~ + @4440 = ~Mist of Eldath~ + @4441 = ~Mist of Eldath +(Invocation) + +Level: 7 +Sphere: Elemental +Range: Visual range of the caster +Duration: Instant +Casting Time: 9 +Area of Effect: 7-ft. radius +Saving Throw: None + +This spell blankets the area of effect with a silver-blue mist—any creature within the mist will be cured of disease and poison and healed 25 Hit Points.~ + @4450 = ~Stalker~ + @4451 = ~Stalker +(Conjuration) + +Level: 7 +Sphere: Plant +Range: Visual range of the caster +Duration: 8 hours +Casting Time: 9 +Area of Effect: Special +Saving Throw: None + +This spell creates two 11-HD shambling mounds. These creatures willingly aid the caster in combat or whatever other duties they are assigned and have the capability to carry out.~ + @4452 = ~Shambling Mound~ + @4460 = ~Energy Drain~ + @4461 = ~Energy Drain +(Necromancy) + +Level: 7 +Sphere: Necromantic +Range: Touch +Duration: Permanent +Casting Time: 3 +Area of Effect: 1 creature +Saving Throw: None + +Casting this spell opens a channel between the caster's plane and the Negative Energy Plane. The caster acts as a conduit between the two planes, sucking life from a victim and transferring it to the Negative Energy Plane, draining of 2 levels of experience. The target of this spell loses levels, Hit Dice, Hit Points, and abilities permanently. These levels can only be restored by a priest's Restoration spell. This spell has no effect on undead, constructs, or extraplanar creatures. It can only be cast by evil-aligned characters.~ + @4462 = ~Two Levels Drained~ + @5001 = ~The Ballad of Three Heroes - Combat Bonuses~ + @5002 = ~The Tale of Curran Strongheart - Immunity Fear~ + @5003 = ~Tymora's Melody - Luck and Skill Bonuses~ + @5004 = ~The Song of Kaudies - Resistant to Sound Attacks~ + @5005 = ~The Siren's Yearning - Enthralls Creatures~ + @5006 = ~War Chant of Sith - Armor Bonuses and Regeneration~ + @5007 = ~Enthralled~ + + @6001 = ~Two Handed Axe~ + @6002 = ~This mighty weapon consists of a haft several feet long, topped with a heavy blade. The axe may be double-bitted, with blades on both sides of the haft, or it may only have a single blade. It is an unwieldy weapon, but a skilled warrior can strike blows of tremendous strength with it. + +STATISTICS: + +Damage: 1D10 +Damage type: Slashing +Weight: 10 +Speed Factor: 9 +Proficiency Type: Axe +Type: 2-handed +Requires: 10 Strength +Not Usable By: + Druid + Cleric + Mage + Thief~ + @6003 = ~Two Handed Axe +1~ + @6004 = ~This mighty weapon consists of a haft several feet long, topped with a heavy blade. The axe may be double-bitted, with blades on both sides of the haft, or it may only have a single blade. This axe has also been bestowed with a small number of magical properties, however, thus making it more effective in combat. Its keen blade, for instance, will shear through your opponent's flesh to find the bone while its barbed tip will seek out gaps in their armor. + +STATISTICS: + +THAC0: +1 bonus +Damage: 1D10+1 +Damage type: Slashing +Weight: 9 +Speed Factor: 8 +Proficiency Type: Axe +Type: 2-handed +Requires: 10 Strength +Not Usable By: + Druid + Cleric + Mage + Thief~ + @6005 = ~Two Handed Axe +2: Tremain's Tumbler~ + @6006 = ~Tremain Longaxe was an adventurer in the Ten Towns with a penchant for axes. While two-handed axes are generally slow and unwieldy, Tremain had this axe specially designed to trip opponents, allowing him to overcome foes with faster and lighter weapons. + +STATISTICS: +Combat Abilities: 10% chance with every hit to knock down opponent for one round + +THAC0: +2 bonus +Damage: 1D10+2 +Damage type: Slashing +Weight: 8 +Speed Factor: 7 +Proficiency Type: Axe +Type: 2-handed +Requires: 10 Strength +Not Usable By: + Druid + Cleric + Mage + Thief~ + @6007 = ~Two Handed Axe +3~ + @6008 = ~This mighty weapon consists of a haft several feet long, topped with a heavy blade. The axe may be double-bitted, with blades on both sides of the haft, or it may only have a single blade. This axe has been imbued with several enchantments, however, thus making it more effective in combat. + +STATISTICS: + +THAC0: +3 bonus +Damage: 1D10+3 +Damage type: Slashing +Weight: 7 +Speed Factor: 6 +Proficiency Type: Axe +Type: 2-handed +Requires: 10 Strength +Not Usable By: + Druid + Cleric + Mage + Thief~ + @6009 = ~Two Handed Axe +4: The Battle Standard~ + @6010 = ~Murzul Dul was a warchief under King Greneire who earned his fame as a skilled tactician. This immense axe doubled as his battle standard in combat and could strike down foes and rally his horde in equal measure. Like King Greniere himself and most of his horde, Dul was killed during the siege of the Citadel of Many Arrows when Emerus Warcrown swept away the battling hordes and the axe claimed as war spoils. The axe retains its ability to rally allies and shake foes by spiking the haft of the weapon into the ground. + +STATISTICS: +Combat Abilities: + Battle Standard twice per day - The axe can knock back foes in a small radius and grant allies +1 THAC0 and damage for two rounds + +THAC0: +4 bonus +Damage: 1D10+4 +Damage type: Slashing +Weight: 6 +Speed Factor: 5 +Proficiency Type: Axe +Type: 2-handed +Not Usable By: + Druid + Cleric + Mage + Thief~ + @6011 = ~Two Handed Axe +5: The Battle Standard~ + @6012 = ~Murzul Dul was a warchief under King Greneire who earned his fame as a skilled tactician. This immense axe doubled as his battle standard in combat and could strike down foes and rally his horde in equal measure. Like King Greniere himself and most of his horde, Dul was killed during the siege of the Citadel of Many Arrows when Emerus Warcrown swept away the battling hordes and the axe claimed as war spoils. The axe retains its ability to rally allies and shake foes by spiking the haft of the weapon into the ground. Cespenar has further enhanced this axe. + +STATISTICS: +Combat Abilities: + Enhanced Battle Standard twice per day - By spiking the haft into the ground, the wielder can knock back foes in a small radius and grant allies +2 to saves, THAC0 and damage for two rounds + +THAC0: +5 bonus +Damage: 1D10+5 +Damage type: Slashing +Weight: 5 +Speed Factor: 4 +Proficiency Type: Axe +Type: 2-handed +Not Usable By: + Druid + Cleric + Mage + Thief~ + @6013 = ~Battle Standard~ + @6014 = ~Enhanced Battle Standard~ + @6015 = ~Ooh, big axe! Gots some woods to chop? Shiny, shiny!~ + @6016 = ~Recipe can make Battle Standard more Standard. 5,000 gold will do it.~ + @6017 = ~Let's see what else you got then.~ \ No newline at end of file diff --git a/iwdification/languages/english/game_strings_ee.tra b/iwdification/languages/english/game_strings_ee.tra new file mode 100644 index 0000000..6b82aa7 --- /dev/null +++ b/iwdification/languages/english/game_strings_ee.tra @@ -0,0 +1,91 @@ +// strings in this file will be used exclusively for EE games and override similar strings in game_strings +// this file is UTF-8 and does not get converted. +// many of the spell and item descriptions can be pulled directly from IWDEE. + + + @6002 = ~This mighty weapon consists of a haft several feet long, topped with a heavy blade. The axe may be double-bitted, with blades on both sides of the haft, or it may only have a single blade. It is an unwieldy weapon, but a skilled warrior can strike blows of tremendous strength with it. + +STATISTICS: + +Damage: 1d10 (slashing) +Speed Factor: 9 +Proficiency Type: Axe +Type: Two-handed +Requires: + 10 Strength + +Weight: 10~ + @6004 = ~This mighty weapon consists of a haft several feet long, topped with a heavy blade. The axe may be double-bitted, with blades on both sides of the haft, or it may only have a single blade. This axe has also been bestowed with a small number of magical properties, however, thus making it more effective in combat. Its keen blade, for instance, will shear through your opponent's flesh to find the bone while its barbed tip will seek out gaps in their armor. + +STATISTICS: + +THAC0: +1 +Damage: 1d10+1 (slashing) +Speed Factor: 8 +Proficiency Type: Axe +Type: Two-handed +Requires: + 10 Strength + +Weight: 9~ + @6006 = ~Tremain Longaxe was an adventurer in the Ten Towns with a penchant for axes. While two-handed axes are generally slow and unwieldy, Tremain had this axe specially designed to trip opponents, allowing him to overcome foes with faster and lighter weapons. + +STATISTICS: + +Combat abilities: +– 10% chance of knocking down opponent for one round on each hit + +THAC0: +2 +Damage: 1d10+2 (slashing) +Speed Factor: 7 +Proficiency Type: Axe +Type: Two-handed +Requires: + 10 Strength + +Weight: 8~ + @6008 = ~This mighty weapon consists of a haft several feet long, topped with a heavy blade. The axe may be double-bitted, with blades on both sides of the haft, or it may only have a single blade. This axe has been imbued with several enchantments, however, thus making it more effective in combat. + +STATISTICS: + +THAC0: +3 +Damage: 1d10+3 (slashing) +Speed Factor: 6 +Proficiency Type: Axe +Type: Two-handed +Requires: + 10 Strength + +Weight: 7~ + @6010 = ~Murzul Dul was a warchief under King Greneire who earned his fame as a skilled tactician. This immense axe doubled as his battle standard in combat and could strike down foes and rally his horde in equal measure. Like King Greniere himself and most of his horde, Dul was killed during the siege of the Citadel of Many Arrows when Emerus Warcrown swept away the battling hordes and the axe claimed as war spoils. The axe retains its ability to rally allies and shake foes by spiking the haft of the weapon into the ground. + +STATISTICS: + +Combat abilities: +– Battle Standard twice per day - The axe can knock back foes in a small radius and grant allies +1 THAC0 and damage for two rounds + +THAC0: +4 +Damage: 1d10+4 (slashing) +Speed Factor: 5 +Proficiency Type: Axe +Type: Two-handed +Requires: + 10 Strength + +Weight: 6~ + @6012 = ~Murzul Dul was a warchief under King Greneire who earned his fame as a skilled tactician. This immense axe doubled as his battle standard in combat and could strike down foes and rally his horde in equal measure. Like King Greniere himself and most of his horde, Dul was killed during the siege of the Citadel of Many Arrows when Emerus Warcrown swept away the battling hordes and the axe claimed as war spoils. The axe retains its ability to rally allies and shake foes by spiking the haft of the weapon into the ground. Cespenar has further enhanced this axe. + +STATISTICS: + +Combat abilities: +– Enhanced Battle Standard twice per day - By spiking the haft into the ground, the wielder can knock back foes in a small radius and grant allies +2 to saves, THAC0 and damage for two rounds + +THAC0: +5 +Damage: 1d10+5 (slashing) +Speed Factor: 4 +Proficiency Type: Axe +Type: Two-handed +Requires: + 10 Strength + +Weight: 5~ \ No newline at end of file diff --git a/iwdification/languages/english/setup.tra b/iwdification/languages/english/setup.tra index 2ebafc6..4bc0747 100644 --- a/iwdification/languages/english/setup.tra +++ b/iwdification/languages/english/setup.tra @@ -1,840 +1,16 @@ - @0 = ~This functionality is already installed by another mod.~ +// this file contains strings only used by the WeiDU installer and does not get converted to UTF-8 for EE games. - @1000 = ~Icewind Dale Casting Graphics (Andyr)~ +@0 = ~This functionality is already installed by another mod.~ +@1 = ~Modmerge is required before mods can be installed on this game. Check the readme for more information and a link to download Modmerge.~ - @2000 = ~Commoners Use Drab Colors~ - - @3000 = ~IWD Arcane Spell Pack~ - @3001 = ~Decastave~ - @3002 = ~Decastave -(Evocation) -Level: 2 -Range: Caster -Duration: 1 round/level -Casting Time: 2 -Area of Effect: Caster -Saving Throw: None -This spell creates a staff of force in the caster's hand. It is treated as a magical weapon, doing 1-6 hit points of damage per hit, and it can hit creatures immune to normal weapons. It is a staff, however, so if the caster does not have a proficiency in staff weapons, then the Decastave is used at a penalty. The staff also has the power to drain a target of 1-2 hit points on the first strike. These hit points are added to the caster's, but they can only heal damage the caster has taken; they will not raise his hit points beyond his normal maximum.~ - @3003 = ~Cat's Grace~ - @3004 = ~Cat's Grace (Alteration) -Level: 2 -Range: Touch -Duration: 1 hour/level -Casting Time: 2 -Area of Effect: 1 creature -Saving Throw: None -This spell magically increases a target's dexterity. The amount depends on the target's class: Thieves gain 1d8 points, Fighters and Mages gain 1d6 points, and Clerics gain 1d4 points. Cat's Grace cannot raise a target's dexterity past 20.~ - @3005 = ~Snilloc's Snowball Swarm~ - @3006 = ~Snilloc's Snowball Swarm -(Evocation) -Level: 2 -Range: Sight of Caster -Duration: Instantaneous -Casting Time: 2 -Area of Effect: 25-foot radius -Saving Throw: 1/2 damage -This spell causes a flurry of snowballs to erupt from a point within range. These snowballs will hit everything within the area of effect, doing 1-3 hit points/level, up to a maximum of 8-24 hit points at level 8. Against fire-using or fire-dwelling creatures, it inflicts 1-6 hit points/level. ~ - @3007 = ~Icelance~ - @3008 = ~Icelance (Evocation) -Level: 3 -Range: Sight of Caster -Duration: Instantaneous -Casting Time: 3 -Area of Effect: 1 creature -Saving Throw: Special -This spell fires a magical lance of ice at a target of the caster's choosing. It automatically hits, inflicting 5-30 points of damage and forcing the target to make a saving throw vs. spell or be stunned for 1-4 rounds. ~ - @3009 = ~Lance of Disruption~ - @3010 = ~Lance of Disruption (Invocation) -Level: 3 -Range: 60 feet -Duration: Instantaneous -Casting Time: 3 -Area of Effect: Special -Saving Throw: 1/2 -This spell creates a lance of force, extending from the caster to a specified point 60 feet in the distance. Any creatures in the lance's path take 5d4 points of bludgeoning damage, +2 points of damage per level of the caster (maximum of +30). Victims can save vs. spell for half damage.~ - @3011 = ~Beltyn's Burning Blood~ - @3012 = ~Beltyn's Burning Blood -(Necromancy) -Level: 4 -Range: Sight of Caster -Duration: 1 round/2 levels -Casting Time: 4 -Area of Effect: 1 creature -Saving Throw: Neg. -This spell turns a target's blood to flame, doing 3-12 hit points of damage every round and driving the victim berserk with pain. The target gets to save vs. spell every round; if successful, the damage and berserk state are negated. This spell does not work against undead or extraplanar creatures that do not have blood (such as elementals). If the creature is resistant to fire, this resistance will lower or nullify the damage from this spell.~ - @3013 = ~Emotion: Hopelessness~ - @3014 = ~Emotion: Hopelessness -(Enchantment/Charm) -Level: 4 -Range: Sight of Caster -Duration: 1 turn -Casting Time: 4 -Area of Effect: 10-foot radius -Saving Throw: Neg. -This spell creates the emotion of hopelessness within the area of effect. All creatures affected by the spell just stand and do nothing for the duration of the spell. ~ - @3015 = ~Emotion: Courage~ - @3016 = ~Emotion: Courage -(Enchantment/Charm) -Level: 4 -Range: Sight of Caster -Duration: 5 turns -Casting Time: 4 -Area of Effect: 10-foot radius -Saving Throw: Neg. -This spell creates the emotion of courage within the area of effect. All creatures affected by the spell gain +1 to hit, +3 to their damage rolls, and +5 temporary hit points (which can put them above their maximum hit points). This spell nullifies all fear effects within the area of effect at the time of casting.~ - @3017 = ~Emotion: Fear~ - @3018 = ~Emotion: Fear -(Enchantment/Charm) -Level: 4 -Range: Sight of Caster -Duration: 5 rounds -Casting Time: 4 -Area of Effect: 10-foot radius -Saving Throw: Neg. -This spell creates the emotion of fear within the area of effect. All creatures affected by the spell flee for 5 rounds. ~ - @3019 = ~Emotion: Hope~ - @3020 = ~Emotion: Hope -(Enchantment/Charm) -Level: 4 -Range: Sight of Caster -Duration: 5 turns -Casting Time: 4 -Area of Effect: 10-foot radius -Saving Throw: Neg. -This spell creates the emotion of hope within the area of effect. All creatures affected by the spell gain a morale boost, and +2 on their saving throws, attack rolls and damage rolls. ~ - @3021 = ~Vitriolic Sphere~ - @3022 = ~Vitriolic Sphere (Conjuration) -Level: 4 -Range: Sight of Caster -Duration: Special -Casting Time: 4 -Area of Effect: Special -Saving Throw: Special -This spell conjures a sphere of glowing emerald acid that the caster can direct to strike any target within range. When it reaches its target, the sphere explodes and drenches the victim in potent acid. The victim suffers 1d4 points of acid damage per caster level, to a maximum of 12d4 points of damage. After the initial damage, the victim must make a saving throw to avoid more damage. If unsuccessful, the victim continues to suffer acid damage in the following rounds, sustaining two less dice of damage each round. For example, an 8th-level wizard inflicts 8d4 damage with this spell on the first round, 6d4 on the second round, 4d4 on the third round, 2d4 on the fourth round, and the spell ends on the fifth round. Each round the victim is entitled to a saving throw vs. spell to avoid further damage. The vitriolic sphere also splashes acid in a 5-foot radius around the primary target. Any creatures within the splash radius must save vs. polymorph/paralyzation or suffer a splash hit that inflicts 1d4 points of damage per every five levels of the caster. Splash hits do not cause continuing damage.~ - @3023 = ~Shadow Monsters~ - @3024 = ~Shadow Monsters -(Illusion/Phantasm) -Level: 4 -Range: Sight of Caster -Duration: 1 round/level -Casting Time: 4 -Area of Effect: 20-foot cube -Saving Throw: Special -This spell shapes material from the Demiplane of Shadow into illusionary monsters. These monsters are randomly summoned one by one with Hit Dice between 1 and the level of the spellcaster, until the summoned creatures' Hit Dice total the spellcaster's level. (For example, a 15th level wizard could summon a 10th level creature one round, then the next round the next creature appearing would have 1 through 5 Hit Dice, and so on.) These shadowy creatures have only 20% of the hit points of their real-world counterparts, although their attacks do full damage. ~ - @3025 = ~Shroud of Flame~ - @3026 = ~Shroud of Flame (Invocation) -Level: 5 -Range: Sight of Caster -Duration: 1 round/2 levels (special) -Casting Time: 5 -Area of Effect: 1 creature -Saving Throw: Neg. -This spell causes a creature to burst into flames if it fails a saving throw vs. spell. The creature will burn for 2d6 points of damage every round, and gouts of flame erupt from the burning target, causing any creatures within ten feet of the target to take 1d4 points of damage from the flames. Anyone hit by the victim's flames must also make a saving throw vs. spell to avoid contracting the shroud themselves. The shroud of flame dissipates if the caster and target are no longer in the same area. This spell is particularly useful in dispersing packs of trolls and frost salamanders.~ - @3027 = ~Demi-Shadow Monsters~ - @3028 = ~Demi-Shadow Monsters -(Illusion/Phantasm) -Level: 5 -Range: Sight of Caster -Duration: 1 round/level -Casting Time: 5 -Area of Effect: 20-foot cube -Saving Throw: None -This spell is similar to the 4th level wizard spell, Shadow Monsters, except the summoned creatures are much more powerful, with 40% of the hit points of their real-world counterpart.~ - @3029 = ~Summon Shadow~ - @3030 = ~Summon Shadow -(Conjuration/Summoning, Necromancy) -Level: 5 -Range: Sight of Caster -Duration: 1 round + 1 round/level -Casting Time: 5 -Area of Effect: 10-foot cube -Saving Throw: None -This spell summons one shadow for every three levels of the caster. This shadow will obey the orders of the caster, attacking his enemies or performing tasks until the spell expires or the shadows are slain. ~ - @3031 = ~Contact Other Plane~ - @3032 = ~Contact Other Plane (Divination) -Level: 5 -Range: Caster -Duration: Instantaneous -Casting Time: 1 round -Area of Effect: Caster -Saving Throw: None -This spell allows the wizard to contact powers from other planes of existence in order to receive advice and information. The nature of the divination is oriented around knowledge of powerful foes, magic items, and spells.~ - @3033 = ~Planar Spirit~ - @3034 = ~I don't do much yet.~ - @3035 = ~Lich Touch~ - @3036 = ~Lich Touch -(Necromancy) -Level: 6 -Range: Touch -Duration: 1 round/level -Casting Time: 6 -Area of Effect: Caster -Saving Throw: Special -This spell confers the powers of a lich's touch and a lich's immunities upon the caster. The wizard gains immunity to paralysis and fear while the spell is in effect, and his hands glow with an unearthly green radiance that does 1-10 hit points of damage to a target and paralyzes them unless a saving throw vs. paralyzation is made. This spell has no effect on undead.~ - @3037 = ~Antimagic Shell~ - @3038 = ~Antimagic Shell -(Abjuration) -Level: 6 -Range: Caster -Duration: 1 turn/level -Casting Time: 1 -Area of Effect: Caster -Saving Throw: None -This spell surrounds the caster with an invisible barrier that moves with him. This barrier makes the wizard immune to any magical attacks, but it prevents the wizard from casting spells out of the shell.~ - @3039 = ~Monster Summoning IV~ - @3040 = ~Monster Summoning IV -(Conjuration/Summoning) -Level: 6 -Range: 40 yards -Duration: 5 rounds + 1 round/level -Casting Time: 6 -Area of Effect: Special -Saving Throw: None -With the casting of this spell the wizard summons 1-3 4th level monsters. These appear within spell range and may be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.~ - @3041 = ~Otiluke's Freezing Sphere~ - @3042 = ~Otiluke's Freezing Sphere -(Alteration, Evocation) -Level: 6 -Range: Sight of Caster -Duration: Instantaneous -Casting Time: 6 -Area of Effect: 1 creature -Saving Throw: Neg. -This spell fires an orb of cold at a creature that inflicts 3-6 points of cold damage/level of the caster. If the target makes its saving throw, however, they have dodged the orb and avoided all damage.~ - @3043 = ~Shades~ - @3044 = ~Shades (Illusion/Phantasm) -Level: 6 -Range: Sight of Caster -Duration: 1 round/level -Casting Time: 6 -Area of Effect: 20-foot cube -Saving Throw: None -Shades is similar to Shadow Monsters and Demishadow Monsters - it allows the caster to shape material from the Demiplane of Shadow into illusionary creatures. These shadows are tougher than the shadows summoned by Shadow Monsters and Demishadow Monsters, and they will obey the caster until the spell expires or they are slain.~ - @3045 = ~Darts of Bone~ - @3046 = ~Darts of Bone (Necromancy) -Level: 6 -Range: Caster -Duration: 5 rounds -Casting Time: 5 -Area of Effect: Caster -Saving Throw: None -This spell creates nine darts that can be used by the caster and cannot be unequipped so long as the spell is in effect. The darts are +3, do 1d4 damage, and a creature struck by a dart must save vs. death or take another 2d6 damage and have its strength reduced by 3 for 5 rounds. The caster's weapon proficiency with darts (or lack thereof) has no effect on the darts' chances to hit a target.~ - @3047 = ~Trollish Fortitude~ - @3048 = ~Trollish Fortitude (Necromancy) -Level: 6 -Range: Caster -Duration: 2 turns -Casting Time: 6 -Area of Effect: Caster -Saving Throw: None -This spell imbues the caster with the resilience of a troll, allowing the caster to regenerate 5 hit points per round up to his/her maximum hit points.~ - @3049 = ~Goblin Elite~ - @3050 = ~Tough Lizard Man~ - @3051 = ~Yeti~ - @3052 = ~Monster Summoning V~ - @3053 = ~Monster Summoning V -(Conjuration/Summoning) -Level: 7 -Range: 40 yards -Duration: 6 rounds + 1 round/level -Casting Time: 6 -Area of Effect: Special -Saving Throw: None -With the casting of this spell the wizard summons 1-3 5th level monsters. These appear within spell range and may be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.~ - @3054 = ~Malavon's Rage~ - @3055 = ~Malavon's Rage -(Evocation) -Level: 7 -Range: Caster -Duration: Instantaneous -Casting Time: 1 -Area of Effect: 15-foot radius -Saving Throw: 1/2 -Malavon's Rage was created by the dark elf sorcerer Malavon. It shoots darts of pure energy out from the caster's body in all directions, harming friend and foe alike. The small wedges of magic do 20-80 points of piercing damage to everything caught in their path. This spell is especially useful when a mage is surrounded by enemies.~ - @3056 = ~Acid Storm~ - @3057 = ~Acid Storm -(Evocation) -Level: 7 -Range: Sight of Caster -Duration: 1 round/level -Casting Time: 7 -Area of Effect: 20-foot radius -Saving Throw: 1/2 -This spell unleashes an acidic downpour on the area of effect, doing 1-4 hit points of damage each round for the first three rounds, 1-6 hit points for the next three rounds, and 1-8 hit points for each round thereafter. Moving out of the area of effect does not stop the damage - the acid adheres to the skin, and any creatures in the area of effect when the Acid Storm is cast continue to suffer damage as long as the spell duration lasts. Creatures make a saving throw vs. spell every round after they have been hit by the cloud - if successful, they only take half-damage (for that round only).~ - @3058 = ~Suffocate~ - @3059 = ~Suffocate (Alteration) -Level: 7 -Range: Sight of Caster -Duration: 4 rounds -Casting Time: 7 -Area of Effect: 10-foot radius -Saving Throw: 1/2 -This spell draws the breath out of all creatures within the area of effect. Creatures that do not breathe are unaffected. Suffocating creatures suffer -4 to armor class, -4 to hit, -6 to dexterity, one less attack per round, half movement rate, and take 4d8 points of damage per round. A successful saving throw negates all effects but 2d8 points of damage for one round. The effects begin to fade when the creature moves out of the area of effect, although it may take a round for a character to catch their second wind.~ - @3060 = ~Monster Summoning VI~ - @3061 = ~Monster Summoning VI -(Conjuration/Summoning) -Level: 8 -Range: 40 yards -Duration: 7 rounds + 1 round/level -Casting Time: 8 -Area of Effect: Special -Saving Throw: None -With the casting of this spell the wizard summons 1-3 6th level monsters. These appear within spell range and may be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.~ - @3062 = ~Monster Summoning VII~ - @3063 = ~Monster Summoning VII -(Conjuration/Summoning) -Level: 9 -Range: Special -Duration: 7 rounds + 1 round/level -Casting Time: 9 -Area of Effect: 80 yard radius -Saving Throw: None -With the casting of this spell the wizard summons 1-2 7th or 8th level monsters. These appear within spell range and may be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.~ - @3064 = ~Ju-ju Zombie~ - @3065 = ~Boneguard Skeleton~ - @3066 = ~Mind Blank~ - @3067 = ~Mind Blank (Abjuration) -Level: 8 -Range: Caster -Duration: 1 Day -Casting Time: 1 -Area of Effect: Caster -Saving Throw: None -In the interests of one's self-control and privacy, Mind Blank shields a creature's mind from almost any mental effect - Charm, Command, Domination, Fear, Feeblemind, and any scrying by crystal balls or other divination methods.~ - @3068 = ~Iron Body~ - @3069 = ~Iron Body (Alteration) -Level: 8 -Range: Caster -Duration: 2 turns -Casting Time: 8 -Area of Effect: Caster -Saving Throw: None -This spell transforms the caster's body into living iron, granting him several powerful resistances and abilities. While the spell is in effect, the caster is 100% resistant to electricity, 50% resistant to fire, and 25% resistant to crushing damage. Spells that affect respiration or the physiology of the caster are ignored. In addition, the caster's strength is raised to 25, and the caster can attack twice per round with iron fists for 2d4 points of damage + appropriate strength bonuses. Unfortunately, the caster's movement becomes slow and awkward, setting his movement rate to 25% of his normal, and he/she cannot cast spells while Iron Body is in effect.~ - @3070 = ~Iron Fist~ - - @4000 = ~IWD Divine Spell Pack~ - @4001 = ~Curse~ - @4002 = ~Curse (Conjuration/Summoning) -Level: 1 -Sphere: All -Range: Sight of Caster -Duration: 6 rounds -Casting Time: 1 round -Area of Effect: 25-foot radius -Saving Throw: None -When the Curse spell is uttered, the caster lowers the morale of enemy creatures and penalizes their saving throws and attack rolls by -1. At the instant the spell is completed, it affects all creatures in a 50-foot cube centered on the point selected by the caster (thus, affected creatures leaving the area are still subject to the spell's effect; those entering the area after the casting is completed are not).~ - @4003 = ~Cause Light Wounds~ - @4004 = ~Cause Light Wounds (Necromancy) -Level: 1 -Sphere: Healing -Range: Touch -Duration: Permanent -Casting Time: 5 -Area of Effect: 1 creature -Saving Throw: 1/2 -When casting this spell and touching a creature, the priest deals 8 points of damage (save for half damage) to the creature's body. This spell has no affect on undead, constructs, or extraplanar creatures. Cause Light Wounds cannot be cast by good characters.~ - @4005 = ~Sunscorch~ - @4006 = ~Sunscorch (Invocation) -Level: 1 -Sphere: Sun -Range: Sight of Caster -Duration: Instantaneous -Casting Time: 4 -Area of Effect: 1 creature -Saving Throw: 1/2 -When this spell is cast, a brilliant ray of scorching heat slants down from the sky and strikes one target of the caster's choice. The victim is allowed a saving throw vs. spell to take half damage. Any creature struck by the ray sustains 1d6 points of damage, plus 1 point per caster level. Undead creatures and monsters vulnerable to bright light sustain 1d6 points of damage, plus 2 points per level of the caster. In addition to sustaining damage, victims are also blinded for 3 rounds by the spell.~ - @4007 = ~Alicorn Lance~ - @4008 = ~Alicorn Lance -(Invocation) -Level: 2 -Sphere: Combat -Range: Sight of Caster -Duration: Instantaneous -Casting Time: 5 -Area of Effect: 1 creature -Saving Throw: 1/2 -This spell creates a silver-hued, partially ethereal lance shaped in the form of an alicorn (a unicorn horn). The spellcaster chooses a target and the alicorn lance instantaneously fires at it, inflicting 3d6 points of piercing damage, with a saving throw for half damage. Although the alicorn lance dissipates after it strikes, it leaves a silvery radiance around the target that makes it easier to see and hit, giving it a -2 penalty to its AC for 3 rounds.~ - @4009 = ~Beast Claw~ - @4010 = ~Beast Claw -(Alteration) -Level: 2 -Sphere: Combat -Range: Caster -Duration: 1 turn -Casting Time: 5 -Area of Effect: Caster -Saving Throw: None -This spell transforms the caster's arms into the claws of a mighty beast, giving the caster 18/72 strength and the ability to rake an opponent for 2d4 (+ strength bonus) points of slashing damage. The caster can attack twice per round with the beast claws, with a +2 bonus to hit.~ - @4011 = ~Cause Moderate Wounds~ - @4012 = ~Cause Moderate Wounds (Necromancy) -Level: 2 -Sphere: Healing -Range: Touch -Duration: Permanent -Casting Time: 5 -Area of Effect: 1 creature -Saving Throw: 1/2 -When casting this spell and touching a creature, the priest deals 11 points of damage (save for half damage) to the creature's body. This spell has no affect on undead, constructs, or extraplanar creatures. Cause Moderate Wounds cannot be cast by good characters.~ - @4013 = ~Prayer~ - @4014 = ~Prayer (Conjuration/Summoning) -Level: 3 -Sphere: Combat -Range: Caster -Duration: 1 round/level -Casting Time: 6 -Area of Effect: 60-foot radius -Saving Throw: None -Prayer bestows favor on the priest and his allies, and curses their enemies. All attacks, damage, and saving throws by friendly characters gain +1, while enemy attacks, damage rolls and saves are all penalized by 1. Any creatures caught in the area of effect when the spell is cast will continue to be affected by the spell when they leave the area, so if the fighters want to chase down that fleeing goblin, the effects of the Prayer will follow him. ~ - @4015 = ~Cause Disease~ - @4016 = ~Cause Disease (Necromancy) -Level: 3 -Sphere: Healing -Range: Touch -Duration: 8 hours -Casting Time: 1 round -Area of Effect: 1 creature -Saving Throw: Neg. -This spell afflicts one creature the priest touches with a disease that saps the target of 5-20 points of strength. A saving throw vs. spell will negate the effects. This spell has no affect on undead, constructs, or extraplanar creatures. Cause Disease cannot be cast by good characters.~ - @4017 = ~Exaltation~ - @4018 = ~Exaltation (Abjuration) -Level: 3 -Sphere: Healing -Range: Touch -Duration: 1 turn -Casting Time: 1 round -Area of Effect: 1 creature -Saving Throw: None -This spell enables a priest to aid and protect any one being other than the priest. By touch, the caster removes the effects of fear, sleep, feeblemindedness, unconsciousness, intoxication, as well as berserk and confused states of mind. In addition, the recipient is protected against spells and other attacks that cause these effects for the duration of the spell.~ - @4019 = ~Moonblade~ - @4020 = ~Moonblade (Invocation) -Level: 3 -Sphere: Combat, Sun -Range: Caster -Duration: 2 turns -Casting Time: 6 -Area of Effect: Caster -Saving Throw: None -This spell summons forth a silent, weightless sword-like construct made of moonlight that extends 4 feet from the caster's hand. The moonblade is considered a +4 weapon for determining what creatures it can damage, though the bonus does not apply to THAC0. In addition, due to the insubstantial nature of the moonblade, melee bonuses from strength do not apply. +@1000 = ~Icewind Dale Casting Graphics (Andyr)~ -The strike of a moonblade drains a target's vitality, inflicting 1d12+4 points of damage, and an additional 1d12 points to undead, who are particularly susceptible. A successful strike also temporarily scrambles magic, causing any spells the target casts in the next round to fail.~ - @4021 = ~Circle of Bones~ - @4022 = ~Circle of Bones (Necromancy) -Level: 3 -Sphere: Guardian/Creation -Range: Caster -Duration: 3 rounds -Casting Time: 3 -Area of Effect: 3-foot radius -Saving Throw: None -This spell conjures forth a barrier of floating bones that spin rapidly around the caster. Anyone entering their path takes 1d6 crushing damage and 1d6 slashing damage per round. The caster cannot move for the duration of the spell. Circle of Bones cannot be cast by good characters.~ - @4023 = ~Spike Growth~ - @4024 = ~Spike Growth (Alteration) -Level: 3 -Sphere: Elemental (Earth) -Range: Sight of Caster -Duration: 1 turn -Casting Time: 6 -Area of Effect: 15-foot radius -Saving Throw: None -This spell transforms the surrounding terrain into spiky plants. Any creature entering the area takes 1d4 points of piercing damage and 1d4 points of slashing damage every round until the spell expires.~ - @4025 = ~Cloudburst~ - @4026 = ~Cloudburst (Invocation) -Level: 3 -Sphere: Elemental (Water) -Range: Sight of Caster -Duration: 2 rounds -Casting Time: 6 -Area of Effect: 30-foot radius -Saving Throw: None -This spell brings forth a magical rain that saturates the area of effect. All cold and fire-using/dwelling creatures take 2d3 points of damage per round. In addition, all creatures in the area have a 50% chance per round of being struck by bolts of lightning that deal 2d6 damage, with a saving throw for half damage. Flame Blade spells, Shroud of Flame, and salamander auras are extinguished by Cloudburst.~ - @4027 = ~Storm Shell~ - @4028 = ~Storm Shell (Abjuration) -Level: 3 -Sphere: Protection, Weather -Range: Caster -Duration: 1 turn -Casting Time: 6 -Area of Effect: Caster -Saving Throw: None -This spell surrounds the caster with a dark sphere of disruptive energy that moves with him. The storm shell reduces all fire, cold, and electrical damage to the caster by 50%.~ - @4029 = ~Giant Insect~ - @4030 = ~Giant Insect (Alteration) -Level: 4 -Sphere: Animal -Range: Sight of Caster -Duration: 8 hours -Casting Time: 7 -Area of Effect: 1-6 insects -Saving Throw: None -This spell summons small insects to the caster, then enlarges them to giant size, turning them into fearsome allies. The strength and kind of the insects varies according to the caster's level; the higher level the caster, the stronger insects that are summoned.~ - @4031 = ~Produce Fire~ - @4032 = ~Produce Fire (Alteration) -Level: 4 -Sphere: Elemental (Fire) -Range: Sight of Caster -Duration: 1 round -Casting Time: 7 -Area of Effect: 6-foot radius -Saving Throw: None -When cast, flames erupt from the target point, doing 1-4 hit points of fire damage plus 1 point per level of the caster to all creatures within the area of effect. ~ - @4033 = ~Static Charge~ - @4034 = ~Static Charge (Alteration) -Level: 4 -Sphere: Weather -Range: Caster -Duration: 1 turn/level -Casting Time: 1 round -Area of Effect: Sight of Caster -Saving Throw: 1/2 -Static Charge is similar to call lightning except it can be used indoors. This spell allows the caster to generate a static charge around any creature within the area of effect, doing 2-16 points of electrical damage, plus an additional 1-8 points for each of the caster's experience levels. The charge keeps going off, once every turn, for the duration of the spell. ~ - @4035 = ~Recitation~ - @4036 = ~Recitation -(Abjuration, Invocation/Evocation) -Level: 4 -Sphere: Combat -Range: Caster -Duration: 1 round/level -Casting Time: 7 -Area of Effect: 60-foot radius -Saving Throw: None -By reciting a sacred passage or declaration, the priest invokes his deity's blessing upon himself and his allies, while sowing confusion and weakness among his enemies. The priest's allies gain a +2 bonus to their attack and saving throws, and enemies of the priest receive a -2 penalty to their attacks and saving throws. This spell does not nullify a prayer spell - the two may be cast in tandem, and the effects are cumulative. ~ - @4037 = ~Blood Rage~ - @4038 = ~Blood Rage (Alteration) -Level: 4 -Sphere: Combat -Range: Sight of Caster -Duration: 2 turns -Casting Time: 7 -Area of Effect: 1 allied creature -Saving Throw: None -This spell works only on player characters or allied creatures. When cast, the target of this spell goes berserk, attacking the nearest creature until that creature is dead, then moving to the next target. While under Blood Rage, the target is immune to charm, sleep, fear, hold, stunning, confusion, emotion, symbol spells, and related effects. In addition, the target gains +2 to hit, +3 to damage, +2 strength, 10 extra hit points, and a bonus to his/her movement rate. The spell has several disadvantages, however. The hit points of the target are masked for the duration of the spell, and the target cannot benefit from any effect that heals hit points. At the end of the spell's duration, the target becomes fatigued and their Strength drops to 3 for 2 turns. Blood Rage cannot affect creatures of lawful alignment and cannot be cast by lawful characters.~ - @4039 = ~Cloud of Pestilence~ - @4040 = ~Cloud of Pestilence (Alteration) -Level: 4 -Sphere: Combat, Elemental (Air) -Range: Sight of Caster -Duration: 4 rounds -Casting Time: 7 -Area of Effect: 20-foot radius -Saving Throw: Neg. -This spell transforms the air in a 20-foot radius into sickening, grayish mists. The caster and non-living creatures are immune to the effects of the cloud. Every round of exposure to the disease-ridden air causes the loss of 3 points of strength and dexterity, 3 points of damage, and blindness. These effects last 1 turn. Cloud of Pestilence can only be cast by evil characters.~ - @4041 = ~Unfailing Endurance~ - @4042 = ~Unfailing Endurance (Necromancy) -Level: 4 -Sphere: Necromantic -Range: Touch -Duration: Instantaneous -Casting Time: 1 round -Area of Effect: 1 creature -Saving Throw: None -This spell restores the stamina of the creature touched, bringing back the energy lost from a day and a half of exertion. Note that this may not be sufficient to bring a character out of the "fatigued" state.~ - @4043 = ~Star Metal Cudgel~ - @4044 = ~Star Metal Cudgel (Conjuration) -Level: 4 -Sphere: Combat -Range: Caster -Duration: 3 turns -Casting Time: 7 -Area of Effect: Caster -Saving Throw: None -This spell creates a meteoric iron magical club that is +2 to hit and damage, and treated as a +4 weapon for purposes of what it can hit. Proficiency, strength, and specialization bonuses and penalties apply. It does an additional 2d6 points of crushing damage against unnatural creatures (undead, elementals, golems, outer planar creatures, etc).~ - @4045 = ~Thorn Spray~ - @4046 = ~Thorn Spray (Alteration) -Level: 4 -Sphere: Plant -Range: Special -Duration: Instantaneous -Casting Time: 3 -Area of Effect: 30-foot long, 25-foot wide cone -Saving Throw: 1/2 -By means of this spell, the caster can cause a spray of barbs, spikes, thorns, and spines to spring forth from his hand. The thorn spray covers a 30-foot long, 60-foot wide cone, inflicting 2d10 points of piercing damage to all creatures within the area of effect, or 1d10 points of damage if a saving throw vs. death is successful.~ - @4047 = ~Righteous Wrath of the Faithful~ - @4048 = ~Righteous Wrath of the Faithful -(Enchantment/Charm) -Level: 5 -Sphere: Combat -Range: Caster -Duration: 1 round/level -Casting Time: 8 -Area of Effect: 30-foot radius -Saving Throw: None -This spells bestows a form of divine madness upon the priest's allies, improving their combat skills. All the priest's allies in the area of effect gain a +1 to attack rolls and saving throws, plus 1-8 bonus hit points for the duration of the spell (these hit points can take a target beyond their hit point maximum). All creatures of the same alignment, however, gain an extra attack every round and a +2 to their attacks, damage rolls, and saving throws. Anyone affected by Righteous Wrath of the Faithful will suffer fatigue when the spell wears off.~ - @4049 = ~Spike Stones~ - @4050 = ~Spike Stones -(Alteration, Enchantment) -Level: 5 -Sphere: Elemental (Earth) -Range: Sight of Caster -Duration: 12 rounds -Casting Time: 6 -Area of Effect: 15-foot radius -Saving Throw: None -This spell warps the surrounding rock, reshaping the terrain into spiked projections that blend into the background. Any creature entering the area takes 2d4 hit points of piercing damage per round and must make a save vs. spell or have its movement rate reduced by 30%.~ - @4051 = ~Shield of Lathander~ - @4052 = ~Shield of Lathander -(Conjuration) -Level: 5 -Sphere: Guardian -Range: Touch -Duration: 2 rounds -Casting Time: 8 -Area of Effect: 1 creature -Saving Throw: None -This spell grants a target immunity to damage for the duration of the spell. Evil creatures cannot be protected by a Shield of Lathander. Only non-evil characters can cast a Shield of Lathander.~ - @4053 = ~Undead Ward~ - @4054 = ~Undead Ward (Necromancy) -Level: 5 -Sphere: Wards -Range: Caster -Duration: 1 turn -Casting Time: 7 -Area of Effect: 20-foot radius -Saving Throw: None -This spell amplifies the influence a priest has over undead, though it is tied to the area surrounding the priest where cast and does not move. Any undead creature entering the area of effect is affected as if turned by the priest that cast this spell. If the turning fails, the undead creature is immune to further turning attempts by the spell unless it leaves and reenters the area of effect.~ - @4055 = ~Animal Rage~ - @4056 = ~Animal Rage (Enchantment) -Level: 5 -Sphere: Combat -Range: Touch -Duration: 15 rounds -Casting Time: 8 -Area of Effect: 1 creature -Saving Throw: None -This spell imbues the target creature with animal ferocity. The target creature gains a strength of 19, +20 hit points, +20% movement, and +2 to all saving throws. The target loses the ability to cast spells while Animal Rage is in effect. He or she can be controlled normally unless enemies are within sight, at which time the target immediately attacks in melee, using whatever is in hand. There is a 5% chance per round that the target will go berserk, attacking friend and foe alike.~ - @4057 = ~Whirlwind~ - @4058 = ~Whirlwind -Level: 6 -Range: 35 Yards -Duration: 5 rounds -Casting Time: 9 -Area of Effect: 20' radius area -Saving Throw: Special +@2000 = ~Commoners Use Drab Colors~ -This spell creates a small whirlwind, which the caster can direct to a location within his sight. This newly formed whirlwind starts to randomly wander around the target area, hurling away every creature in its path, be it friend or foe. Those who cannot escape automatically suffer 2d8 crushing and 2d8 slashing damage, and must save vs. breath or fall uncounscious for two rounds. The whirlwind instantly kills creatures with less than 3 Hit Dice. +@3000 = ~IWD Arcane Spell Pack~ -Once a whirlwind has been summoned the druid has no control over these raging winds, so this spell must be used with caution.~ - @4059 = ~Entropy Shield~ - @4060 = ~Entropy Shield (Abjuration) -Level: 6 -Sphere: Protection -Range: Caster -Duration: 1 round/level -Casting Time: 9 -Area of Effect: Caster -Saving Throw: None -When cast, this spell surrounds the caster with a defensive maelstrom of energy that blocks or deflects many attacks. This gives the priest a +6 bonus to armor class and a 50% resistance to most attack forms: electricity, fire, cold, and so on. It also gives the caster +2 to all his/her saving throws and immunity to all missile-based attacks.~ - @4061 = ~Symbol of Pain~ - @4062 = ~Symbol of Pain -(Conjuration/Summoning) -Level: 7 -Sphere: Guardian -Range: Sight of Caster -Duration: 2-20 turns -Casting Time: 3 -Area of Effect: 60-foot radius -Saving Throw: Neg. -All creatures within 60 feet of the Symbol of Pain when it's invoked must make a saving throw vs. spell. If failed, they are overwhelmed by pain, suffering a -4 to their attack rolls, a -2 to Dexterity and a -2 to their Armor Class. ~ - @4063 = ~Symbol of Hopelessness~ - @4064 = ~Symbol of Hopelessness -(Conjuration/Summoning) -Level: 7 -Sphere: Guardian -Range: Sight of Caster -Duration: 2 turns -Casting Time: 3 -Area of Effect: 60-foot radius -Saving Throw: Neg. -All creatures within 60 feet of the symbol of hopelessness when it's invoked must make a saving throw vs. spell with a -2 penalty. If failed, they will stand in place, overwhelmed by dejection and surrender. They will make no move to defend themselves from attack.~ - @4065 = ~Impervious Sanctity of Mind~ - @4066 = ~Impervious Sanctity of Mind -(Abjuration) -Level: 7 -Sphere: Protection -Range: Caster -Duration: 1 turn/level -Casting Time: 1 round -Area of Effect: Caster -Saving Throw: None -This spell steels the caster's mind against any outside influence. Charm, Command, Confusion, Domination, Fear, Feeblemind, Hold, Sleep and any psionic attack directed at the caster will fail as long as this spell is in effect. ~ - @4067 = ~Destruction~ - @4068 = ~Destruction (Necromancy) -Level: 7 -Sphere: Healing -Range: Touch -Duration: Instantaneous -Casting Time: 1 round -Area of Effect: Caster -Saving Throw: Special -This spell instantly destroys a target, blasting them into small chunks. The victim is allowed a save vs. death at -4; if successful, the target takes 8d6 points of damage instead of being destroyed. Destruction can only be cast by evil characters. Note that a character struck with a Destruction spell cannot be raised from the dead with a Raise Dead or Resurrection spell.~ - @4069 = ~Greater Shield of Lathander~ - @4070 = ~Greater Shield of Lathander -(Conjuration) -Level: 7 -Sphere: Guardian -Range: Touch -Duration: 3 rounds -Casting Time: 1 round -Area of Effect: 1 creature -Saving Throw: None -This spell grants a target 100% magic resistance and immunity to damage for the duration of the spell. Evil creatures cannot be protected by a Greater Shield of Lathander. This spell can only be cast by good characters.~ - @4071 = ~Mist of Eldath~ - @4072 = ~Mist of Eldath (Invocation) -Level: 7 -Sphere: Elemental -Range: Sight of Caster -Duration: 1 round -Casting Time: 1 round -Area of Effect: 10-foot radius -Saving Throw: None -This spell blankets the area of effect with a silver-blue mist - any creature within the mist will be cured of disease, poison, and healed of 25 points of damage.~ - @4073 = ~Stalker~ - @4074 = ~Stalker (Conjuration) -Level: 7 -Sphere: Plant -Range: Sight of Caster -Duration: 8 hours -Casting Time: 1 round -Area of Effect: Special -Saving Throw: None -This spell creates two shambling mounds. These creatures willingly aid the caster in combat or whatever other duties they are assigned and have the capability to carry out.~ - @4075 = ~Outlined in a Silvery Radiance (AC penalty of 2)~ - @4076 = ~Bombardier Beetle~ - @4077 = ~Boring Beetle~ - @4078 = ~Wracking Pains~ - @4079 = ~Cure Moderate Wounds~ - @4080 = ~Cure Moderate Wounds -(Necromancy) -Sphere: Healing -Level: 2 -Range: Touch -Duration: Instantaneous -Casting Time: 5 -Area of Effect: 1 creature -Saving Throw: None -A stronger version of the 1st level priest spell Cure Light Wounds, Cure Moderate Wounds heals 11 points of damage to a living creature.~ +@4000 = ~IWD Divine Spell Pack~ - @5000 = ~IWD Bard Song~ - @5001 = ~The Ballad of Three Heroes - Combat Bonuses~ - @5002 = ~The Tale of Curran Strongheart - Immunity Fear~ - @5003 = ~Tymora's Melody - Luck and Skill Bonuses~ - @5004 = ~The Song of Kaudies - Resistant to Sound Attacks~ - @5005 = ~The Siren's Yearning - Enthralls Creatures~ - @5006 = ~War Chant of Sith - Armor Bonuses and Regeneration~ - @5007 = ~Enthralled~ - - @6000 = ~Two Handed Axe Item Pack~ - @6001 = ~Two Handed Axe~ - @6002 = ~This mighty weapon consists of a haft several feet long, topped with a heavy blade. The axe may be double-bitted, with blades on both sides of the haft, or it may only have a single blade. It is an unwieldy weapon, but a skilled warrior can strike blows of tremendous strength with it. +@5000 = ~IWD Bard Song~ -STATISTICS: - -Damage: 1D10 -Damage type: Slashing -Weight: 10 -Speed Factor: 9 -Proficiency Type: Axe -Type: 2-handed -Requires: 10 Strength -Not Usable By: - Druid - Cleric - Mage - Thief~ - @6003 = ~Two Handed Axe +1~ - @6004 = ~This mighty weapon consists of a haft several feet long, topped with a heavy blade. The axe may be double-bitted, with blades on both sides of the haft, or it may only have a single blade. This axe has also been bestowed with a small number of magical properties, however, thus making it more effective in combat. Its keen blade, for instance, will shear through your opponent's flesh to find the bone while its barbed tip will seek out gaps in their armor. - -STATISTICS: - -THAC0: +1 bonus -Damage: 1D10+1 -Damage type: Slashing -Weight: 9 -Speed Factor: 8 -Proficiency Type: Axe -Type: 2-handed -Requires: 10 Strength -Not Usable By: - Druid - Cleric - Mage - Thief~ - @6005 = ~Two Handed Axe +2: Tremain's Tumbler~ - @6006 = ~Tremain Longaxe was an adventurer in the Ten Towns with a penchant for axes. While two-handed axes are generally slow and unwieldy, Tremain had this axe specially designed to trip opponents, allowing him to overcome foes with faster and lighter weapons. - -STATISTICS: -Combat Abilities: 10% chance with every hit to knock down opponent for one round - -THAC0: +2 bonus -Damage: 1D10+2 -Damage type: Slashing -Weight: 8 -Speed Factor: 7 -Proficiency Type: Axe -Type: 2-handed -Requires: 10 Strength -Not Usable By: - Druid - Cleric - Mage - Thief~ - @6007 = ~Two Handed Axe +3~ - @6008 = ~This mighty weapon consists of a haft several feet long, topped with a heavy blade. The axe may be double-bitted, with blades on both sides of the haft, or it may only have a single blade. This axe has been imbued with several enchantments, however, thus making it more effective in combat. - -STATISTICS: - -THAC0: +3 bonus -Damage: 1D10+3 -Damage type: Slashing -Weight: 7 -Speed Factor: 6 -Proficiency Type: Axe -Type: 2-handed -Requires: 10 Strength -Not Usable By: - Druid - Cleric - Mage - Thief~ - @6009 = ~Two Handed Axe +4: The Battle Standard~ - @6010 = ~Murzul Dul was a warchief under King Greneire who earned his fame as a skilled tactician. This immense axe doubled as his battle standard in combat and could strike down foes and rally his horde in equal measure. Like King Greniere himself and most of his horde, Dul was killed during the siege of the Citadel of Many Arrows when Emerus Warcrown swept away the battling hordes and the axe claimed as war spoils. The axe retains its ability to rally allies and shake foes by spiking the haft of the weapon into the ground. - -STATISTICS: -Combat Abilities: - Battle Standard twice per day - The axe can knock back foes in a small radius and grant allies +1 THAC0 and damage for two rounds - -THAC0: +4 bonus -Damage: 1D10+4 -Damage type: Slashing -Weight: 6 -Speed Factor: 5 -Proficiency Type: Axe -Type: 2-handed -Not Usable By: - Druid - Cleric - Mage - Thief~ - @6011 = ~Two Handed Axe +5: The Battle Standard~ - @6012 = ~Murzul Dul was a warchief under King Greneire who earned his fame as a skilled tactician. This immense axe doubled as his battle standard in combat and could strike down foes and rally his horde in equal measure. Like King Greniere himself and most of his horde, Dul was killed during the siege of the Citadel of Many Arrows when Emerus Warcrown swept away the battling hordes and the axe claimed as war spoils. The axe retains its ability to rally allies and shake foes by spiking the haft of the weapon into the ground. Cespenar has further enhanced this axe. - -STATISTICS: -Combat Abilities: - Enhanced Battle Standard twice per day - By spiking the haft into the ground, the wielder can knock back foes in a small radius and grant allies +2 to saves, THAC0 and damage for two rounds - -THAC0: +5 bonus -Damage: 1D10+5 -Damage type: Slashing -Weight: 5 -Speed Factor: 4 -Proficiency Type: Axe -Type: 2-handed -Not Usable By: - Druid - Cleric - Mage - Thief~ - @6013 = ~Battle Standard~ - @6014 = ~Enhanced Battle Standard~ - @6015 = ~Ooh, big axe! Gots some woods to chop? Shiny, shiny!~ - @6016 = ~Recipe can make Battle Standard more Standard. 5,000 gold will do it.~ - @6017 = ~Let's see what else you got then.~ \ No newline at end of file +@6000 = ~Two Handed Axe Item Pack~ \ No newline at end of file diff --git a/iwdification/languages/iconv/iconv.exe b/iwdification/languages/iconv/iconv.exe new file mode 100644 index 0000000..fb2d0d2 Binary files /dev/null and b/iwdification/languages/iconv/iconv.exe differ diff --git a/iwdification/languages/iconv/libcharset1.dll b/iwdification/languages/iconv/libcharset1.dll new file mode 100644 index 0000000..aec4d23 Binary files /dev/null and b/iwdification/languages/iconv/libcharset1.dll differ diff --git a/iwdification/languages/iconv/libiconv2.dll b/iwdification/languages/iconv/libiconv2.dll new file mode 100644 index 0000000..fb1ffba Binary files /dev/null and b/iwdification/languages/iconv/libiconv2.dll differ diff --git a/iwdification/languages/iconv/libintl3.dll b/iwdification/languages/iconv/libintl3.dll new file mode 100644 index 0000000..4f309be Binary files /dev/null and b/iwdification/languages/iconv/libintl3.dll differ diff --git a/iwdification/lib/cross_patch_both.tpa b/iwdification/lib/cross_patch_both.tpa index 95871d0..edb3e22 100644 --- a/iwdification/lib/cross_patch_both.tpa +++ b/iwdification/lib/cross_patch_both.tpa @@ -1,82 +1,163 @@ -///// \\\\\ -///// arcane-divine cross-patching \\\\\ -///// \\\\\ +OUTER_SET NUM_a327 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_ICELANCE~)) - 2000) +OUTER_SET NUM_a411 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_HOPELESSNESS~)) - 2000) +OUTER_SET NUM_a427 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_COURAGE~)) - 2000) +OUTER_SET NUM_a428 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_FEAR~)) - 2000) +OUTER_SET NUM_a429 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_HOPE~)) - 2000) +OUTER_SET NUM_a524 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SHROUD_OF_FLAME~)) - 2000) +OUTER_SET NUM_a610 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_ANTIMAGIC_SHELL~)) - 2000) +OUTER_SET NUM_a802 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_MIND_BLANK~)) - 2000) +OUTER_SET NUM_a814 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_IRON_BODY~)) - 2000) +OUTER_SET NUM_d324 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SPIKE_GROWTH~)) - 1000) +OUTER_SET NUM_d325 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CLOUDBURST~)) - 1000) +OUTER_SET NUM_d326 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_MOLD_TOUCH~)) - 1000) +OUTER_SET NUM_d419 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_PRODUCE_FIRE~)) - 1000) +OUTER_SET NUM_d420 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_STATIC_CHARGE~)) - 1000) +OUTER_SET NUM_d422 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_BLOOD_RAGE~)) - 1000) +OUTER_SET NUM_d423 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CLOUD_OF_PESTILENCE~)) - 1000) +OUTER_SET NUM_d424 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_UNFAILING_ENDURANCE~)) - 1000) +OUTER_SET NUM_d426 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SMASHING_WAVE~)) - 1000) +OUTER_SET NUM_d427 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_THORN_SPRAY~)) - 1000) +OUTER_SET NUM_d428 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_WALL_OF_MOONLIGHT~)) - 1000) +OUTER_SET NUM_d519 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SPIKE_STONES~)) - 1000) +OUTER_SET NUM_d603 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_BLADE_BARRIER~)) - 1000) +OUTER_SET NUM_d615 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_ENTROPY_SHIELD~)) - 1000) +OUTER_SET NUM_d617 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_WHIRLWIND~)) - 1000) +OUTER_SET NUM_d716 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SYMBOL_OF_HOPELESSNESS~)) - 1000) +OUTER_SET NUM_d733 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_IMPERVIOUS_SANCTITY_OF_MIND~)) - 1000) +OUTER_SET NUM_d734 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_DESTRUCTION~)) - 1000) +OUTER_SET NUM_d736 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_MIST_OF_ELDATH~)) - 1000) +OUTER_SET NUM_d738 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_HEAVENLY_INFERNO~)) - 1000) + +COPY_EXISTING ~7eyes.2da~ ~%path%/2da/7eyes.2da~ + REPLACE_TEXTUALLY ~cdid716~ ~sppr%NUM_d716%~ + REPLACE_TEXTUALLY ~cdid734~ ~sppr%NUM_d734%~ + BUT_ONLY IF_EXISTS -// look up various spells in the table -OUTER_SET NUM_EMOTION_COURAGE = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_COURAGE~)) - 2000) -OUTER_SET NUM_EMOTION_FEAR = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_FEAR~)) - 2000) -OUTER_SET NUM_EMOTION_HOPE = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_HOPE~)) - 2000) -OUTER_SET NUM_MIND_BLANK = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_MIND_BLANK~)) - 2000) -OUTER_SET NUM_BLOOD_RAGE = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_BLOOD_RAGE~)) - 1000) -OUTER_SET NUM_IMPERVIOUS_SANCTITY_OF_MIND = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_IMPERVIOUS_SANCTITY_OF_MIND~)) - 1000) -OUTER_SET NUM_SYMBOL_OF_HOPELESSNESS = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SYMBOL_OF_HOPELESSNESS~)) - 1000) -OUTER_SET NUM_UNFAILING_ENDURANCE = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_UNFAILING_ENDURANCE~)) - 1000) -OUTER_SET NUM_ICELANCE = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_ICELANCE~)) - 2000) -OUTER_SET NUM_ENTROPY_SHIELD = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_ENTROPY_SHIELD~)) - 1000) - -ACTION_IF NUM_BLOOD_RAGE > 0 BEGIN - - COPY_EXISTING ~sppr%NUM_BLOOD_RAGE%.spl~ ~override~ // add immunity to emotion series to blood rage - PATCH_IF NUM_EMOTION_COURAGE > 0 BEGIN - LPF ADD_SPELL_EFFECT INT_VAR insert_point = 4 opcode = 206 target = 2 power = 4 resist_dispel = 3 duration = 120 - STR_VAR resource = EVALUATE_BUFFER "spwi%NUM_EMOTION_COURAGE%" END - END - PATCH_IF NUM_EMOTION_FEAR > 0 BEGIN - LPF ADD_SPELL_EFFECT INT_VAR insert_point = 4 opcode = 206 target = 2 power = 4 resist_dispel = 3 duration = 120 - STR_VAR resource = EVALUATE_BUFFER "spwi%NUM_EMOTION_FEAR%" END - END - PATCH_IF NUM_EMOTION_HOPE > 0 BEGIN - LPF ADD_SPELL_EFFECT INT_VAR insert_point = 4 opcode = 206 target = 2 power = 4 resist_dispel = 3 duration = 120 - STR_VAR resource = EVALUATE_BUFFER "spwi%NUM_EMOTION_HOPE%" END - END +ACTION_IF ((NUM_a429 > 0) AND (NUM_d716 > 0)) BEGIN + + COPY_EXISTING ~spwi%NUM_a429%.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid716 resource = EVAL ~sppr%NUM_d716%~ END BUT_ONLY END -ACTION_IF NUM_IMPERVIOUS_SANCTITY_OF_MIND > 0 BEGIN +ACTION_IF NUM_a610 > 0 BEGIN - COPY_EXISTING ~sppr%NUM_IMPERVIOUS_SANCTITY_OF_MIND%.spl~ ~override~ // add immunity to emotion series to impervious sanctity of mind - FOR (index = 1 ; index < 18 ; ++index) BEGIN - PATCH_IF NUM_EMOTION_COURAGE > 0 BEGIN - LPF ADD_SPELL_EFFECT INT_VAR header = index insert_point = 0 opcode = 206 target = 1 power = 7 resist_dispel = 3 - duration = ((60 * index) + 780) STR_VAR resource = EVALUATE_BUFFER "spwi%NUM_EMOTION_COURAGE%" END - END - PATCH_IF NUM_EMOTION_FEAR > 0 BEGIN - LPF ADD_SPELL_EFFECT INT_VAR header = index insert_point = 0 opcode = 206 target = 1 power = 7 resist_dispel = 3 - duration = ((60 * index) + 780) STR_VAR resource = EVALUATE_BUFFER "spwi%NUM_EMOTION_FEAR%" END - END - PATCH_IF NUM_EMOTION_HOPE > 0 BEGIN - LPF ADD_SPELL_EFFECT INT_VAR header = index insert_point = 0 opcode = 206 target = 1 power = 7 resist_dispel = 3 - duration = ((60 * index) + 780) STR_VAR resource = EVALUATE_BUFFER "spwi%NUM_EMOTION_HOPE%" END + COPY_EXISTING ~spwi%NUM_a610%.spl~ ~override~ + PATCH_IF NUM_d738 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid738 resource = EVAL ~sppr%NUM_d738%~ END + END + PATCH_IF NUM_d736 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid736 resource = EVAL ~sppr%NUM_d736%~ END + END + PATCH_IF NUM_d617 > 0 BEGIN + PATCH_IF !ee_game BEGIN + LPF CLONE_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid617 resource = cdid617b END END + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid617 resource = EVAL ~sppr%NUM_d617%~ END + END + PATCH_IF NUM_d519 > 0 AND ee_game BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid519 resource = EVAL ~sppr%NUM_d519%~ END + END + PATCH_IF NUM_d428 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid428 resource = EVAL ~sppr%NUM_d428%~ END + END + PATCH_IF NUM_d427 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid427 resource = EVAL ~sppr%NUM_d427%~ END + END + PATCH_IF NUM_d426 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid426 resource = EVAL ~sppr%NUM_d426%~ END + END + PATCH_IF NUM_d423 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid423 resource = EVAL ~sppr%NUM_d423%~ END END + PATCH_IF NUM_d420 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid420 resource = EVAL ~sppr%NUM_d420%~ END + END + PATCH_IF NUM_d419 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid419 resource = EVAL ~sppr%NUM_d419%~ END + END + PATCH_IF NUM_d326 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid326 resource = EVAL ~sppr%NUM_d326%~ END + END + PATCH_IF NUM_d324 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid324 resource = EVAL ~sppr%NUM_d324%~ END + END + BUT_ONLY END -ACTION_IF ((NUM_MIND_BLANK > 0) AND - (NUM_SYMBOL_OF_HOPELESSNESS > 0)) BEGIN +ACTION_IF NUM_a802 > 0 BEGIN - COPY_EXISTING ~spwi%NUM_MIND_BLANK%.spl~ ~override~ // add immunity to symbol of hopelessness to mind blank - LPF ADD_SPELL_EFFECT INT_VAR insert_point = 0 opcode = 206 target = 1 power = 8 resist_dispel = 3 duration = 7200 - STR_VAR resource = EVALUATE_BUFFER "sppr%NUM_SYMBOL_OF_HOPELESSNESS%" END + COPY_EXISTING ~spwi%NUM_a610%.spl~ ~override~ + PATCH_IF NUM_d422 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid422 resource = EVAL ~sppr%NUM_d422%~ END + END + PATCH_IF NUM_d716 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid716 resource = EVAL ~sppr%NUM_d716%~ END + END + BUT_ONLY END -ACTION_IF ((FILE_EXISTS_IN_GAME cdia807w.itm) AND - (NUM_UNFAILING_ENDURANCE > 0)) BEGIN - - COPY_EXISTING ~cdia807w.itm~ ~override~ // iron body: add immunity to unfailing endurance - LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 206 target = 1 timing = 2 STR_VAR resource = EVALUATE_BUFFER "SPPR%NUM_UNFAILING_ENDURANCE%" END +ACTION_IF NUM_a814 > 0 BEGIN + + COPY_EXISTING ~spwi%NUM_a610%.spl~ ~override~ + PATCH_IF NUM_d736 > 0 AND ee_game BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid736 resource = EVAL ~sppr%NUM_d736%~ END + END + PATCH_IF NUM_d424 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid424 resource = EVAL ~sppr%NUM_d424%~ END + END + PATCH_IF NUM_d423 > 0 AND ee_game BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid423 resource = EVAL ~sppr%NUM_d423%~ END + END + PATCH_IF NUM_d326 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid326 resource = EVAL ~sppr%NUM_d326%~ END + END END -ACTION_IF ((NUM_ENTROPY_SHIELD > 0) AND - (NUM_ICELANCE > 0)) BEGIN - - COPY_EXISTING ~sppr%NUM_ENTROPY_SHIELD%.spl~ ~override~ // add immunity to emotion series to impervious sanctity of mind - FOR (index = 1 ; index < 21 ; ++index) BEGIN - LPF ADD_SPELL_EFFECT INT_VAR header = index insert_point = 0 opcode = 206 target = 1 power = 6 resist_dispel = 3 - duration = ((6 * index) + 60) STR_VAR resource = EVALUATE_BUFFER "spwi%NUM_ICELANCE%" END +ACTION_IF NUM_d422 > 0 BEGIN + + COPY_EXISTING ~sppr%NUM_d422%.spl~ ~override~ + PATCH_IF NUM_a411 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia411 resource = EVAL ~spwi%NUM_a411%~ END + END + PATCH_IF NUM_a427 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia427 resource = EVAL ~spwi%NUM_a437%~ END END + PATCH_IF NUM_a428 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia428 resource = EVAL ~spwi%NUM_a428%~ END + END + PATCH_IF NUM_a429 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia429 resource = EVAL ~spwi%NUM_a429%~ END + END + BUT_ONLY END + +ACTION_IF ((NUM_a524 > 0) AND (NUM_d325 > 0)) BEGIN + + COPY_EXISTING ~sppr%NUM_d325%.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia524 resource = EVAL ~spwi%NUM_a524%~ END + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia524b resource = EVAL ~spwi%NUM_a524%b~ END + BUT_ONLY + +END + +ACTION_IF ((NUM_a327 > 0) AND (NUM_d615 > 0)) BEGIN + + COPY_EXISTING ~sppr%NUM_d615%.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia327 resource = EVAL ~spwi%NUM_a327%~ END + BUT_ONLY + +END + +ACTION_IF ((NUM_a411 > 0) AND (NUM_d733 > 0)) BEGIN + + COPY_EXISTING ~sppr%NUM_d733%.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia411 resource = EVAL ~spwi%NUM_a411%~ END + BUT_ONLY + +END \ No newline at end of file diff --git a/iwdification/lib/divine_spellbooks.tpa b/iwdification/lib/divine_spellbooks.tpa new file mode 100644 index 0000000..aef7b66 --- /dev/null +++ b/iwdification/lib/divine_spellbooks.tpa @@ -0,0 +1,149 @@ +DEFINE_PATCH_FUNCTION CD_IWDIFICATION_SPELLBOOKS BEGIN + + SET cleric = 0 + SET druid = 0 + READ_BYTE 0x273 class + PATCH_IF ((class = 3) OR (class = 6) OR (class = 8) OR (class = 14) OR (class = 15) OR (class = 17) OR (class = 18) OR (class = 204) OR (class = 207)) BEGIN SET cleric = 1 END + PATCH_IF ((class = 11) OR (class = 12) OR (class = 16) OR (class = 18) OR (class = 208) OR (class = 209)) BEGIN SET druid = 1 END + PATCH_IF cleric OR druid BEGIN // sanity check + READ_BYTE 0x27b align + SET good = 0 + SET neutral = 0 + SET lawful = 0 + PATCH_IF ((align = 17) OR (align = 18) OR (align = 19)) BEGIN SET lawful = 1 END + PATCH_IF ((align = 17) OR (align = 33) OR (align = 49)) BEGIN SET good = 1 END + PATCH_IF ((align = 18) OR (align = 34) OR (align = 50)) BEGIN SET neutral = 1 END + PATCH_IF ((align = 19) OR (align = 35) OR (align = 51)) BEGIN SET evil = 1 END + SET lev1 = 0 + SET lev2 = 0 + SET lev3 = 0 + SET lev4 = 0 + SET lev5 = 0 + SET lev6 = 0 + SET lev7 = 0 + SET evil = 0 + READ_LONG 0x2a0 known_off + READ_LONG 0x2a4 known_num + FOR (index = 0 ; index < known_num ; ++index) BEGIN + READ_ASCII (known_off + (index * 0x0c)) spell + PATCH_MATCH ~%spell%~ WITH + ~[Ss][Pp][Pp][Rr]1[0-9][0-9]~ BEGIN SET lev1 = 1 END + ~[Ss][Pp][Pp][Rr]2[0-9][0-9]~ BEGIN SET lev2 = 1 END + ~[Ss][Pp][Pp][Rr]3[0-9][0-9]~ BEGIN SET lev3 = 1 END + ~[Ss][Pp][Pp][Rr]4[0-9][0-9]~ BEGIN SET lev4 = 1 END + ~[Ss][Pp][Pp][Rr]5[0-9][0-9]~ BEGIN SET lev5 = 1 END + ~[Ss][Pp][Pp][Rr]6[0-9][0-9]~ BEGIN SET lev6 = 1 END + ~[Ss][Pp][Pp][Rr]7[0-9][0-9]~ BEGIN SET lev7 = 1 END + DEFAULT + END + END + PATCH_IF lev1 BEGIN + //NUM_d112 ADD_KNOWN_SPELL ~sppr%NUM_d112%~ #0 ~priest~ + PATCH_IF cleric BEGIN + PATCH_IF neutral OR evil BEGIN + //NUM_d114 ADD_KNOWN_SPELL ~sppr%NUM_d114%~ #0 ~priest~ // CLERIC_CAUSE_LIGHT_WOUNDS + END + END + PATCH_IF druid BEGIN + //NUM_d115 ADD_KNOWN_SPELL ~sppr%NUM_d115%~ #0 ~priest~ // CLERIC_SUNSCORCH + END + END + PATCH_IF lev2 BEGIN + //NUM_d217 ADD_KNOWN_SPELL ~sppr%NUM_d217%~ #1 ~priest~ + PATCH_IF cleric BEGIN + PATCH_IF neutral OR evil BEGIN + //NUM_d220 ADD_KNOWN_SPELL ~sppr%NUM_d220%~ #1 ~priest~ // CLERIC_CAUSE_MODERATE_WOUNDS + END + END + PATCH_IF druid BEGIN + //NUM_d218 ADD_KNOWN_SPELL ~sppr%NUM_d218%~ #1 ~priest~ // CLERIC_ALICORN_LANCE + //NUM_d219 ADD_KNOWN_SPELL ~sppr%NUM_d219%~ #1 ~priest~ // CLERIC_BEAST_CLAW + END + END + PATCH_IF lev3 BEGIN + PATCH_IF cleric BEGIN + //NUM_d316 ADD_KNOWN_SPELL ~sppr%NUM_d316%~ #2 ~priest~ + //NUM_d321 ADD_KNOWN_SPELL ~sppr%NUM_d321%~ #2 ~priest~ + PATCH_IF neutral OR evil BEGIN + //NUM_d320 ADD_KNOWN_SPELL ~sppr%NUM_d320%~ #2 ~priest~ // CLERIC_CAUSE_DISEASE + //NUM_d323 ADD_KNOWN_SPELL ~sppr%NUM_d323%~ #2 ~priest~ // CLERIC_CIRCLE_OF_BONES + //NUM_d330 ADD_KNOWN_SPELL ~sppr%NUM_d330%~ #2 ~priest~ // CLERIC_CAUSE_MEDIUM_WOUNDS + END + PATCH_IF neutral OR good BEGIN + //NUM_d331 ADD_KNOWN_SPELL ~sppr%NUM_d331%~ #2 ~priest~ // CLERIC_FAVOR_OF_ILMATER + END + END + PATCH_IF druid BEGIN + //NUM_d322 ADD_KNOWN_SPELL ~sppr%NUM_d322%~ #2 ~priest~ // CLERIC_MOONBLADE + //NUM_d324 ADD_KNOWN_SPELL ~sppr%NUM_d324%~ #2 ~priest~ // CLERIC_SPIKE_GROWTH + //NUM_d325 ADD_KNOWN_SPELL ~sppr%NUM_d325%~ #2 ~priest~ // CLERIC_CLOUDBURST + //NUM_d326 ADD_KNOWN_SPELL ~sppr%NUM_d326%~ #2 ~priest~ // CLERIC_MOLD_TOUCH + //NUM_d327 ADD_KNOWN_SPELL ~sppr%NUM_d327%~ #2 ~priest~ // CLERIC_STORM_SHELL + END + END + PATCH_IF lev4 BEGIN + PATCH_IF cleric BEGIN + //NUM_d421 ADD_KNOWN_SPELL ~sppr%NUM_d421%~ #3 ~priest~ + //NUM_d424 ADD_KNOWN_SPELL ~sppr%NUM_d424%~ #3 ~priest~ + PATCH_IF !lawful BEGIN + //NUM_d422 ADD_KNOWN_SPELL ~sppr%NUM_d422%~ #3 ~priest~ // CLERIC_BLOOD_RAGE + END + PATCH_IF evil BEGIN + //NUM_d423 ADD_KNOWN_SPELL ~sppr%NUM_d423%~ #3 ~priest~ // CLERIC_CLOUD_OF_PESTILENCE + END + END + PATCH_IF druid BEGIN + //NUM_d418 ADD_KNOWN_SPELL ~sppr%NUM_d418%~ #3 ~priest~ // CLERIC_GIANT_INSECT + //NUM_d419 ADD_KNOWN_SPELL ~sppr%NUM_d419%~ #3 ~priest~ // CLERIC_PRODUCE_FIRE + //NUM_d420 ADD_KNOWN_SPELL ~sppr%NUM_d420%~ #3 ~priest~ // CLERIC_STATIC_CHARGE + //NUM_d425 ADD_KNOWN_SPELL ~sppr%NUM_d425%~ #3 ~priest~ // CLERIC_STAR_METAL_CUDGEL + //NUM_d426 ADD_KNOWN_SPELL ~sppr%NUM_d426%~ #3 ~priest~ // CLERIC_SMASHING_WAVE + //NUM_d427 ADD_KNOWN_SPELL ~sppr%NUM_d427%~ #3 ~priest~ // CLERIC_THORN_SPRAY + //NUM_d428 ADD_KNOWN_SPELL ~sppr%NUM_d428%~ #3 ~priest~ // CLERIC_WALL_OF_MOONLIGHT + END + END + PATCH_IF lev5 BEGIN + PATCH_IF cleric BEGIN + //NUM_d518 ADD_KNOWN_SPELL ~sppr%NUM_d518%~ #4 ~priest~ + //NUM_d521 ADD_KNOWN_SPELL ~sppr%NUM_d521%~ #4 ~priest~ + PATCH_IF evil BEGIN + //NUM_d523 ADD_KNOWN_SPELL ~sppr%NUM_d523%~ #4 ~priest~ // CLERIC_MASS_CAUSE_LIGHT_WOUNDS + END ELSE BEGIN + //NUM_d520 ADD_KNOWN_SPELL ~sppr%NUM_d520%~ #4 ~priest~ // CLERIC_SHIELD_OF_LATHANDER + END + END + PATCH_IF druid BEGIN + //NUM_d519 ADD_KNOWN_SPELL ~sppr%NUM_d519%~ #4 ~priest~ // CLERIC_SPIKE_STONES + //NUM_d522 ADD_KNOWN_SPELL ~sppr%NUM_d522%~ #4 ~priest~ // CLERIC_ANIMAL_RAGE + END + END + PATCH_IF lev6 BEGIN + //NUM_d615 ADD_KNOWN_SPELL ~sppr%NUM_d615%~ #5 ~priest~ + PATCH_IF cleric BEGIN + //NUM_d618 ADD_KNOWN_SPELL ~sppr%NUM_d618%~ #5 ~priest~ + END + PATCH_IF druid BEGIN + //NUM_d617 ADD_KNOWN_SPELL ~sppr%NUM_d617%~ #5 ~priest~ // CLERIC_WHIRLWIND + END + END + PATCH_IF lev7 BEGIN + //NUM_d733 ADD_KNOWN_SPELL ~sppr%NUM_d733%~ #6 ~priest~ + PATCH_IF cleric BEGIN + //NUM_d714 ADD_KNOWN_SPELL ~sppr%NUM_d714%~ #6 ~priest~ + //NUM_d716 ADD_KNOWN_SPELL ~sppr%NUM_d716%~ #6 ~priest~ + PATCH_IF evil BEGIN + //NUM_d734 ADD_KNOWN_SPELL ~sppr%NUM_d734%~ #6 ~priest~ // CLERIC_DESTRUCTION + //NUM_d739 ADD_KNOWN_SPELL ~sppr%NUM_d739%~ #6 ~priest~ // CLERIC_ENERGY_DRAIN + END + PATCH_IF good BEGIN + //NUM_d735 ADD_KNOWN_SPELL ~sppr%NUM_d735%~ #6 ~priest~ // CLERIC_GREATER_SHIELD_OF_LATHANDER + END + END + PATCH_IF druid BEGIN + //NUM_d736 ADD_KNOWN_SPELL ~sppr%NUM_d736%~ #6 ~priest~ // CLERIC_MIST_OF_ELDATH + //NUM_d737 ADD_KNOWN_SPELL ~sppr%NUM_d737%~ #6 ~priest~ // CLERIC_STALKER + END + END + END + +END \ No newline at end of file diff --git a/iwdification/lib/functions.tpa b/iwdification/lib/functions.tpa index 9ce7a83..39ba8e4 100644 --- a/iwdification/lib/functions.tpa +++ b/iwdification/lib/functions.tpa @@ -1,710 +1,628 @@ -/* -v1: for iwd fixpack v2 -v2: for iwd fixpack v3, bgee fixpack development - fixed bug with unterminated WRITE_ASCII for item icons -v3: for bgee fixpack development - consolidated AREA_ALTER_CONTAINER_trap, cd_container_icons into new AREA_ALTER_CONTAINER - trapped and detected were writing to the wrong offsets in AREA_ALTER_REGION -v4: for bgee fixpack development - fixed bug with patching duration_high on item headers in ITEM_ALTER_EFFECT -v5: for bgee fixpack development - added support for primary, secondary schools for ITEM_ALTER_HEADER -v6: final touchups for WeiDU inclusion - renamed macros to be more in line with IESDP/WeiDU conventions - CONVERT_BG_IWD_DURATION now converts both directions - AREA_ALTER_ENTRANCE, AREA_ALTER_REGION now compare the target with _CASE rather than _REGEXP - the immunity fx batch stuff shouldn't have been included - flag_backstab and flag_noinvis support added for ITEM_ALTER_HEADER -v7: - fixed bug with duration_high and SPELL_ALTER_EFFECT -temporary documentation at http://camagna.net/functions.tpa.html -v8: - added CD_ADD_STRINGS_TO_D at Keith's request -*/ +///// \\\\\ +///// string selector \\\\\ +///// \\\\\ + +OUTER_SET string_attack = 10348 +OUTER_SET string_berserk = 14036 +OUTER_SET string_blinded = 14674 +OUTER_SET string_charmed = 14672 +OUTER_SET string_confused = 14782 +OUTER_SET string_crawler = 9360 +OUTER_SET string_cursed = 17426 +OUTER_SET string_dcharmed = 14780 +OUTER_SET string_deafness = 14073 +OUTER_SET string_dexmod = 14024 +OUTER_SET string_dispel = 14056 +OUTER_SET string_ghast = 9348 +OUTER_SET string_gspider = 6410 +OUTER_SET string_hasted = 14023 +OUTER_SET string_healed = 14022 +OUTER_SET string_held = 14102 +OUTER_SET string_intoxicated = 17396 +OUTER_SET string_mf_panic = 20568 +OUTER_SET string_ogre = 6313 +OUTER_SET string_panic = 17427 +OUTER_SET string_paralyzed = 14650 +OUTER_SET string_poison = 14017 +OUTER_SET string_poisoned = 14662 +OUTER_SET string_pspider = 9369 +OUTER_SET string_rthinking = 14791 +OUTER_SET string_skelly = 8765 +OUTER_SET string_sleep = 14001 +OUTER_SET string_slow = 14000 +OUTER_SET string_slowed = 14668 +OUTER_SET string_stun = 14043 +OUTER_SET string_uncon = 20438 +OUTER_SET string_wwolf = 8774 + +ACTION_IF GAME_IS ~bgee~ BEGIN + + OUTER_SET string_diseased = 31238 + OUTER_SET string_dominated = 26206 + OUTER_SET string_entangled = 25144 + OUTER_SET string_goblin = 27641 + OUTER_SET string_shadow = 25764 + OUTER_SET string_stricken = 26453 + OUTER_SET string_stunned = 26050 + OUTER_SET string_troll = 25772 + +END ELSE BEGIN + + OUTER_SET string_diseased = 54337 + OUTER_SET string_dominated = 8364 + OUTER_SET string_entangled = 47835 + OUTER_SET string_goblin = 2511 + OUTER_SET string_shadow = 3080 + OUTER_SET string_stricken = 39752 + OUTER_SET string_stunned = 1280 + OUTER_SET string_troll = 3008 + +END ///// \\\\\ -///// coding functions \\\\\ +///// adding animations for ee games \\\\\ ///// \\\\\ -// this function is a way for folks to add the contents of strings to their raw d files -// copy your d file with a tp2/tph and apply this to it with a start and end range for strrefs -// will change #12345 to #12345 /* string contents */ -DEFINE_PATCH_FUNCTION CD_ADD_STRINGS_TO_D - INT_VAR - strref_start = 0 - strref_end = 0 +DEFINE_ACTION_FUNCTION cd_animation + STR_VAR + code = "" + BEGIN + + ACTION_IF ee_game BEGIN + + ACTION_BASH_FOR ~iwdification/animations/%code%~ ~^.+\..+$~ BEGIN -BEGIN + ACTION_IF !FILE_EXISTS_IN_GAME ~%BASH_FOR_FILE%~ BEGIN + + COPY ~%BASH_FOR_FILESPEC%~ ~override~ - PATCH_IF (strref_end > strref_start) BEGIN // sanity check - FOR (index = strref_start ; index <= strref_end ; ++index) BEGIN - INNER_ACTION BEGIN - ACTION_GET_STRREF index text END - REPLACE_TEXTUALLY ~#%index%~ ~#%index% /* %text% */~ + END - END ELSE BEGIN - PATCH_PRINT ~Starting strref is greater than the ending strref~ - END + END + END +/* + LAF cd_animation STR_VAR code = 7203 END // 29187 MBER_PO bear_polar + LAF cd_animation STR_VAR code = 7320 END // 29472 MAIR elemental_air + LAF cd_animation STR_VAR code = 7a00 END // 31232 MSPI_GI spider_giant + LAF cd_animation STR_VAR code = 7a02 END // 31234 MSPI_PH spider_phase + LAF cd_animation STR_VAR code = 7b03 END // 31491 MWLF_WI wolf_winter + LAF cd_animation STR_VAR code = 9000 END // 36864 MOGR ogre + LAF cd_animation STR_VAR code = a100 END // 41216 MCAR carrion_crawler + + LAF cd_animation STR_VAR code = 6403 END // 25603 MSKL skeleton + LAF cd_animation STR_VAR code = 7302 END // 29442 MEAE_SH shambling_mound + LAF cd_animation STR_VAR code = e070 END // 57456 MMIN minotaur - MMIN doubles with bg2 mindflayer + LAF cd_animation STR_VAR code = e0b0 END // 57520 MTRO troll_blue - MTRO doubles with bg2 troll + LAF cd_animation STR_VAR code = e0d0 END // 57552 MUMB umber_hulk_elder - MUMB doubles with bg2 umber hulk + LAF cd_animation STR_VAR code = e220 END // 57888 MBBM beetle_black + LAF cd_animation STR_VAR code = e24b END // 57931 MELE elemental_earth_iwd + LAF cd_animation STR_VAR code = e24c END // 57932 MELF elemental_fire_iwd + LAF cd_animation STR_VAR code = e24d END // 57933 MELW elemental_water + LAF cd_animation STR_VAR code = e25d END // 57949 MYET tundra_yeti + LAF cd_animation STR_VAR code = e300 END // 58112 MGHO ghost + LAF cd_animation STR_VAR code = e320 END // 58144 MGH3 ghast_greater + LAF cd_animation STR_VAR code = e400 END // 58368 MGO1 goblin_axe + LAF cd_animation STR_VAR code = e420 END // 58400 MGO3 goblin_elite_axe + LAF cd_animation STR_VAR code = e500 END // 58624 MLIZ lizard_man_elite + LAF cd_animation STR_VAR code = e510 END // 58640 MLI2 lizard_man + LAF cd_animation STR_VAR code = e900 END // 59648 MSAL salamander_fire + LAF cd_animation STR_VAR code = e910 END // 59664 MSA2 salamander_frost + LAF cd_animation STR_VAR code = ea20 END // 59936 MSH2 shadow_large + LAF cd_animation STR_VAR code = eb20 END // 60192 MSKB skeleton_fiend + LAF cd_animation STR_VAR code = ee00 END // 60928 MZO2 zombie_yellow +*/ ///// \\\\\ -///// item/spell functions \\\\\ +///// adding portrait icons \\\\\ ///// \\\\\ -DEFINE_PATCH_FUNCTION CONVERT_BG_IWD_DURATION - STR_VAR changeto = "iwd" // iwd changes effects to use round = 7; otherwise use round = 6 +DEFINE_ACTION_FUNCTION cd_new_portrait_icon + INT_VAR string = 0 + STR_VAR bam_file = "****" + RET icon BEGIN - READ_LONG 0x6a fx_off - READ_LONG 0x64 abil_off - READ_SHORT 0x68 abil_num - PATCH_IF ("%SOURCE_FILE%" STRING_COMPARE_REGEXP "^.+\.itm" = 0) BEGIN SET abil_length = 0x38 END ELSE BEGIN SET abil_length = 0x28 END - PATCH_IF (abil_num > 0) BEGIN // if there are headers, figure out the final effect - READ_SHORT (abil_off + 0x1e + ((abil_num - 1) * abil_length)) abil_fx_num - READ_SHORT (abil_off + 0x20 + ((abil_num - 1) * abil_length)) abil_fx_idx - SET fx_num = abil_fx_num + abil_fx_idx - END ELSE BEGIN // else read the last global - READ_SHORT 0x70 fx_num - END - FOR (index = 0 ; index < fx_num ; ++index) BEGIN - READ_LONG (fx_off + 0x0e + (index * 0x30)) duration - PATCH_IF (duration > 5) BEGIN // skip 0 duration or short lived cosmetic/auditory - PATCH_IF ("iwd" STRING_COMPARE_CASE "%changeto%" = 0) BEGIN - WRITE_LONG (fx_off + 0x0e + (index * 0x30)) ((duration * 7) / 6) - END ELSE BEGIN - WRITE_LONG (fx_off + 0x0e + (index * 0x30)) ((duration * 6) / 7) - END - END + OUTER_SET icon = "-1" + + ACTION_IF ee_game BEGIN + + COPY_EXISTING ~statdesc.2da~ ~override~ + COUNT_2DA_ROWS 3 count + READ_2DA_ENTRY (count - 1) 0 3 icon + SET icon += 1 + + APPEND ~statdesc.2da~ ~%icon% %string% %bam_file%~ + END END ///// \\\\\ -///// area functions \\\\\ +///// adding summons tables \\\\\ ///// \\\\\ -DEFINE_PATCH_FUNCTION AREA_ALTER_ENTRANCE - INT_VAR x_coord = "-1" // new x coordinate at 0x20; negative values mean no change - y_coord = "-1" // new y coordinate at 0x22; negative values mean no change - orient = "-1" // new orientation at 0x24; negative values mean no change - STR_VAR entry_name = "" // required, needs to match ascii name at 0x00 -BEGIN +DEFINE_ACTION_FUNCTION cd_new_summon_table + STR_VAR descript = "foo" + 2da_file = "foo" + RET table + BEGIN - READ_LONG 0x68 ent_off - READ_LONG 0x6c ent_num - FOR (index = 0 ; index < ent_num ; ++index) BEGIN - READ_ASCII (ent_off + (index * 0x68)) "ent_name" (32) NULL - PATCH_IF ("%ent_name%" STRING_COMPARE_CASE "%entry_name%" = 0) BEGIN - PATCH_IF ("%x_coord%" >= 0) BEGIN WRITE_SHORT (ent_off + 0x20 + (index * 0x68)) "%x_coord%" END - PATCH_IF ("%y_coord%" >= 0) BEGIN WRITE_SHORT (ent_off + 0x22 + (index * 0x68)) "%y_coord%" END - PATCH_IF ("%orient%" >= 0) BEGIN WRITE_LONG (ent_off + 0x24 + (index * 0x68)) "%orient%" END - END + OUTER_SET table = "-1" + + ACTION_IF ee_game BEGIN + + COPY_EXISTING ~smtables.2da~ ~override~ + COUNT_2DA_ROWS 2 count + READ_2DA_ENTRY (count - 1) 0 2 table + INNER_PATCH_SAVE table ~%table%~ BEGIN + REPLACE_TEXTUALLY ~^\([0-9]+\).+$~ ~\1~ + END + SET table += 1 + + APPEND ~smtables.2da~ ~%table%_%descript% %2da_file%~ + END END -DEFINE_PATCH_FUNCTION AREA_ALTER_REGION - INT_VAR type = "-1" // region type at 0x20; negative values mean no change - cursor = "-1" // cursor type at 0x34; negative values mean no change - trap_detect = "-1" // difficulty of trap detection at 0x68; negative values mean no change - trap_remove = "-1" // difficulty of trap removal at 0x6a; negative values mean no change - trapped = "-1" // is trapped? at 0x6c; negative values mean no change - detected = "-1" // is detected? at 0x6e; negative values mean no change - // flag_ vars affect flags starting at 0x60; 0 means remove flag, 1 means add flag, -1 no change - flag_locked = "-1" // locked, bit0 - flag_resets = "-1" // trap resets, bit1 - flag_party_required = "-1" // party required, bit2 - flag_trap_detectable = "-1" // trap can be detected, bit3 - flag_trap_enemies = "-1" // trap can be set off by enemies, bit4 - flag_tutorial = "-1" // tutorial trigger, bit5 - flag_trap_npcs = "-1" // trap can be set off by npcs, bit6 - flag_silent = "-1" // silent trigger, bit7 - flag_deactivated = "-1" // deactivated, bit8 - flag_impassable_npc = "-1" // can not be passed by npcs, bit9 - flag_activation_point = "-1" // use activation point, bit10 - flag_connect_to_door = "-1" // connected to door, bit11 - STR_VAR trig_name = "" // required, at 0x00, used to match region - dest_area = "same" // changes destination area at 0x38; "same" means no change - ent_name = "same" // changes entrance name at 0x40; "same" means no change - door_key = "same" // resref of key to unlock at 0x74; "same" means no change - door_script = "same" // resref of region script at 0x7c; "same" means no change -BEGIN +///// \\\\\ +///// scroll making made easy \\\\\ +///// \\\\\ - READ_SHORT 0x5a trig_num - READ_LONG 0x5c trig_off - FOR (index = 0 ; index < trig_num ; ++index) BEGIN - READ_ASCII (trig_off + (index * 0xc4)) "trig_name_file" (32) NULL - PATCH_IF ("%trig_name%" STRING_COMPARE_CASE "%trig_name_file%" = 0) BEGIN - PATCH_IF ("%type%" >= 0) BEGIN WRITE_SHORT (trig_off + 0x20 + (index * 0xc4)) "%type%" END - PATCH_IF ("%cursor%" >= 0) BEGIN WRITE_LONG (trig_off + 0x34 + (index * 0xc4)) "%cursor%" END - PATCH_IF ("%trap_detect%" >= 0) BEGIN WRITE_SHORT (trig_off + 0x68 + (index * 0xc4)) "%trap_detect%" END - PATCH_IF ("%trap_remove%" >= 0) BEGIN WRITE_SHORT (trig_off + 0x6a + (index * 0xc4)) "%trap_remove%" END - PATCH_IF ("%trapped%" >= 0) BEGIN WRITE_SHORT (trig_off + 0x6c + (index * 0xc4)) "%trapped%" END - PATCH_IF ("%detected%" >= 0) BEGIN WRITE_SHORT (trig_off + 0x6e + (index * 0xc4)) "%detected%" END - PATCH_IF ("%flag_locked%" = 0) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BAND 0b11111110) END - PATCH_IF ("%flag_resets%" = 0) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BAND 0b11111101) END - PATCH_IF ("%flag_party_required%" = 0) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BAND 0b11111011) END - PATCH_IF ("%flag_trap_detectable%" = 0) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BAND 0b11110111) END - PATCH_IF ("%flag_trap_enemies%" = 0) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BAND 0b11101111) END - PATCH_IF ("%flag_tutorial%" = 0) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BAND 0b11011111) END - PATCH_IF ("%flag_trap_npcs%" = 0) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BAND 0b10111111) END - PATCH_IF ("%flag_silent%" = 0) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BAND 0b01111111) END - PATCH_IF ("%flag_deactivated%" = 0) BEGIN WRITE_BYTE (trig_off + 0x61 + (index * 0xc4)) (THIS BAND 0b11111110) END - PATCH_IF ("%flag_impassable_npc%" = 0) BEGIN WRITE_BYTE (trig_off + 0x61 + (index * 0xc4)) (THIS BAND 0b11111101) END - PATCH_IF ("%flag_activation_point%" = 0) BEGIN WRITE_BYTE (trig_off + 0x61 + (index * 0xc4)) (THIS BAND 0b11111011) END - PATCH_IF ("%flag_connect_to_door%" = 0) BEGIN WRITE_BYTE (trig_off + 0x61 + (index * 0xc4)) (THIS BAND 0b11110111) END - PATCH_IF ("%flag_locked%" = 1) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BOR BIT0) END - PATCH_IF ("%flag_resets%" = 1) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BOR BIT1) END - PATCH_IF ("%flag_party_required%" = 1) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BOR BIT2) END - PATCH_IF ("%flag_trap_detectable%" = 1) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BOR BIT3) END - PATCH_IF ("%flag_trap_enemies%" = 1) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BOR BIT4) END - PATCH_IF ("%flag_tutorial%" = 1) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BOR BIT5) END - PATCH_IF ("%flag_trap_npcs%" = 1) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BOR BIT6) END - PATCH_IF ("%flag_silent%" = 1) BEGIN WRITE_BYTE (trig_off + 0x60 + (index * 0xc4)) (THIS BOR BIT7) END - PATCH_IF ("%flag_deactivated%" = 1) BEGIN WRITE_BYTE (trig_off + 0x61 + (index * 0xc4)) (THIS BOR BIT0) END - PATCH_IF ("%flag_impassable_npc%" = 1) BEGIN WRITE_BYTE (trig_off + 0x61 + (index * 0xc4)) (THIS BOR BIT1) END - PATCH_IF ("%flag_activation_point%" = 1) BEGIN WRITE_BYTE (trig_off + 0x61 + (index * 0xc4)) (THIS BOR BIT2) END - PATCH_IF ("%flag_connect_to_door%" = 1) BEGIN WRITE_BYTE (trig_off + 0x61 + (index * 0xc4)) (THIS BOR BIT3) END - PATCH_IF ("%dest_area%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (trig_off + 0x38 + (index * 0xc4)) "%dest_area%" #8 // value from str_var - END - PATCH_IF ("%ent_name%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (trig_off + 0x40 + (index * 0xc4)) "%ent_name%" #32 // value from str_var - END - PATCH_IF ("%door_key%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (trig_off + 0x74 + (index * 0xc4)) "%door_key%" #8 // value from str_var - END - PATCH_IF ("%door_script%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (trig_off + 0x7c + (index * 0xc4)) "%door_script%" #8 // value from str_var - END - END +DEFINE_PATCH_FUNCTION cd_scroll + INT_VAR + unusable0 = 0 + unusable1 = 0 + unusable2 = 0 + target_hdr = 1 + range = 30 + opcode = 146 + target_eff = 2 + price = 54321 + STR_VAR + spell = cdnull + BEGIN + + WRITE_LONG 0x1e (THIS | unusable0) // class/alignment flags + WRITE_BYTE 0x2d (THIS | unusable1) // add first set of unusable flags + WRITE_BYTE 0x2f (THIS | unusable2) // add second set of unusable flags + WRITE_LONG 0x34 price // price of scroll + WRITE_BYTE 0x7e target_hdr // target: any point + WRITE_SHORT 0x80 range // range + + WRITE_ASCIIE 0x3a "%DEST_RES%" + WRITE_ASCII 0x41 a #1 + WRITE_ASCIIE 0x76 "%DEST_RES%" + WRITE_ASCII 0x7d a #1 + PATCH_IF (SOURCE_SIZE > 0xda) BEGIN // only for arcane scrolls that have second header for learning + WRITE_SHORT 0xe2 opcode // cast-at-point opcode + WRITE_BYTE 0xe4 target_eff // target: self + WRITE_ASCIIE 0xae "%DEST_RES%" + WRITE_ASCII 0xb5 a #1 + WRITE_ASCIIE 0xf6 "%spell%" #8 + WRITE_ASCIIE 0x126 "%spell%" #8 + END ELSE BEGIN // divine scroll + WRITE_SHORT 0xaa opcode // cast-at-point opcode + WRITE_BYTE 0xac target_eff // target: self + WRITE_ASCIIE 0xbe "%spell%" #8 END END - -DEFINE_PATCH_FUNCTION AREA_ALTER_ACTOR - INT_VAR x_coord = "-1" // new x coordinate at 0x20 and 0x24; negative values mean no change - y_coord = "-1" // new y coordinate at 0x22 and 0x26; negative values mean no change - orient = "-1" // facing direction for actor at 0x34; negative values mean no change - STR_VAR actor_name = "" // required, at 0x00, used to match actor - dlg_file = "same" // changes dialog file at 0x48; "same" means no change - script_override = "same" // changes override script at 0x50; "same" means no change - script_general = "same" // changes general script at 0x58; "same" means no change - script_class = "same" // changes class script at 0x60; "same" means no change - script_race = "same" // changes race script at 0x68; "same" means no change - script_default = "same" // changes default script at 0x70; "same" means no change - script_specifics = "same" // changes specifics script at 0x78; "same" means no change - cre_file = "same" // changes creature file at 0x80; "same" means no change + +///// \\\\\ +///// simulate cloud projectiles for vanilla \\\\\ +///// \\\\\ + +/* +Original idea from DavidW for IWD-in-BG2. Basic idea: cloud spells summon an invisible creature, fooM. In turn +fooM runs cycles of spawning several fooV, who teleport a short distance away, play a visual, and then disappear. +fooM also repeatedly casts the actual working spell (with an invisible AoE projectile) to do the work. The working +spell also includes a one-round 206 against itself to prevent applying effects to targets more than once a round. + +Visual randomness is achieved by fooV using teleport field to jump away from fooM at the center of the cloud, and +then randomly playing one of the VVCs available. Functionality is achieved by fooM casting the working spell. + +If the spell should be cleared out from Zone of Sweet Air, additional steps are taken. Any spell that provides a +ZoSA effect is patched to set a global, CDIZOSA. All of the invisible cloud creatures destroy themselves if this +variable gets set, and then the main baldur game script resets the variable after a round. + +EEs are so, so, SO much easier here. Thanks Laszlo! +*/ + +DEFINE_ACTION_FUNCTION cd_create_cloud + INT_VAR cloud_dur = 6 + visloop = 5 + zosa = 0 + STR_VAR code = null + anim = null BEGIN - READ_LONG 0x54 cre_off - READ_SHORT 0x58 cre_num - FOR (index = 0 ; index < cre_num ; ++index) BEGIN - READ_ASCII (cre_off + (index * 0x110)) actor_name_file (32) NULL - PATCH_IF ("%actor_name%" STRING_COMPARE_CASE "%actor_name_file%" = 0) BEGIN - PATCH_IF ("%x_coord%" >= 0) BEGIN WRITE_SHORT (cre_off + 0x20 + (index * 0x110)) "%x_coord%" - WRITE_SHORT (cre_off + 0x24 + (index * 0x110)) "%x_coord%" END - PATCH_IF ("%y_coord%" >= 0) BEGIN WRITE_SHORT (cre_off + 0x22 + (index * 0x110)) "%y_coord%" - WRITE_SHORT (cre_off + 0x26 + (index * 0x110)) "%y_coord%" END - PATCH_IF ("%orient%" >= 0) BEGIN WRITE_SHORT (cre_off + 0x34 + (index * 0x110)) "%orient%" END - PATCH_IF ("%dlg_file%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cre_off + 0x48 + (index * 0x110)) "%dlg_file%" #8 // value from str_var - END - PATCH_IF ("%script_override%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cre_off + 0x50 + (index * 0x110)) "%script_override%" #8 // value from str_var - END - PATCH_IF ("%script_general%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cre_off + 0x58 + (index * 0x110)) "%script_general%" #8 // value from str_var - END - PATCH_IF ("%script_race%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cre_off + 0x68 + (index * 0x110)) "%script_race%" #8 // value from str_var - END - PATCH_IF ("%script_default%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cre_off + 0x70 + (index * 0x110)) "%script_default%" #8 // value from str_var - END - PATCH_IF ("%script_class%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cre_off + 0x60 + (index * 0x110)) "%script_class%" #8 // value from str_var - END - PATCH_IF ("%script_specifics%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cre_off + 0x78 + (index * 0x110)) "%script_specifics%" #8 // value from str_var - END - PATCH_IF ("%cre_file%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cre_off + 0x80 + (index * 0x110)) "%cre_file%" #8 // value from str_var - END - END + ACTION_IF ("%anim%" STRING_COMPARE_CASE "null" = 0) BEGIN + + OUTER_SPRINT anim ~%code%V~ + END -END + COPY ~iwdification/eff/cloud.eff~ ~override/%code%.eff~ + WRITE_ASCIIE 0x30 ~%code%M~ -DEFINE_PATCH_FUNCTION AREA_ALTER_CONTAINER - INT_VAR cont_icon = "-1" // icon displayed when opened at 0x24; negative values mean no change - trapped = "-1" // is trapped? at 0x30; negative values mean no change - detected = "-1" // is detected? at 0x32; negative values mean no change - string = "-1" // lockpick string at 0x84; negative values mean no change - lock_diff = "-1" // difficulty to pick lock at 0x26; negative values mean no change - trap_det_diff = "-1" // difficulty to detect trap at 0x2c; negative values mean no change - trap_rem_diff = "-1" // difficulty to remove tap at 0x2e; negative values mean no change - // flag_ vars affect flags starting at 0x28; 0 means remove flag, 1 means add flag, -1 no change - flag_locked = "-1" // locked, bit0 - flag_mlocked = "-1" // magical lock, bit2 - flag_resets = "-1" // trap resets, bit3 - flag_disabled = "-1" // disabled, bit5 - STR_VAR cont_name = "" // required, at 0x00, used to match container - cont_script = "same" // changes container script at 0x48; "same" means no change - cont_key = "same" // changes container key 0x78; "same" means no change -BEGIN + COPY ~iwdification/cre/cloud.cre~ ~override/%code%M.cre~ + ~iwdification/cre/cloud.cre~ ~override/%code%V.cre~ + WRITE_ASCIIE 0x248 ~%DEST_RES%~ + WRITE_ASCIIE 0x280 ~%DEST_RES%~ - READ_LONG 0x70 cont_off - READ_SHORT 0x74 cont_num - FOR (index = 0 ; index < cont_num ; ++index) BEGIN - READ_ASCII (cont_off + (index * 0xc0)) cont_name_file (32) NULL - PATCH_IF ("%cont_name%" STRING_COMPARE_CASE "%cont_name_file%" = 0) BEGIN - PATCH_IF (cont_icon >= 0) BEGIN WRITE_SHORT (cont_off + 0x24 + (index * 0xc0)) cont_icon END // value from int_var - PATCH_IF (lock_diff >= 0) BEGIN WRITE_SHORT (cont_off + 0x26 + (index * 0xc0)) lock_diff END // value from int_var - PATCH_IF (trap_det_diff >= 0) BEGIN WRITE_SHORT (cont_off + 0x2c + (index * 0xc0)) trap_det_diff END // value from int_var - PATCH_IF (trap_rem_diff >= 0) BEGIN WRITE_SHORT (cont_off + 0x2e + (index * 0xc0)) trap_rem_diff END // value from int_var - PATCH_IF (trapped >= 0) BEGIN WRITE_SHORT (cont_off + 0x30 + (index * 0xc0)) trapped END // value from int_var - PATCH_IF (detected >= 0) BEGIN WRITE_SHORT (cont_off + 0x32 + (index * 0xc0)) detected END // value from int_var - PATCH_IF (string >= 0) BEGIN WRITE_LONG (cont_off + 0x84 + (index * 0xc0)) string END // value from int_var - - PATCH_IF (flag_locked = 0) BEGIN WRITE_BYTE (cont_off + 0x28 + (index * 0xc0)) THIS & `BIT0 END - PATCH_IF (flag_mlocked = 0) BEGIN WRITE_BYTE (cont_off + 0x28 + (index * 0xc0)) THIS & `BIT2 END - PATCH_IF (flag_resets = 0) BEGIN WRITE_BYTE (cont_off + 0x28 + (index * 0xc0)) THIS & `BIT3 END - PATCH_IF (flag_disabled = 0) BEGIN WRITE_BYTE (cont_off + 0x28 + (index * 0xc0)) THIS & `BIT5 END - PATCH_IF (flag_locked = 1) BEGIN WRITE_BYTE (cont_off + 0x28 + (index * 0xc0)) THIS | BIT0 END - PATCH_IF (flag_mlocked = 1) BEGIN WRITE_BYTE (cont_off + 0x28 + (index * 0xc0)) THIS | BIT2 END - PATCH_IF (flag_resets = 1) BEGIN WRITE_BYTE (cont_off + 0x28 + (index * 0xc0)) THIS | BIT3 END - PATCH_IF (flag_disabled = 1) BEGIN WRITE_BYTE (cont_off + 0x28 + (index * 0xc0)) THIS | BIT5 END - - // update script if matched - PATCH_IF ("%cont_script%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cont_off + 0x48 + (index * 0xc0)) "%cont_script%" #8 // value from str_var - END - // update script if matched - PATCH_IF ("%cont_key%" STRING_COMPARE_CASE "same") BEGIN // if script not set to same - WRITE_ASCIIE (cont_off + 0x78 + (index * 0xc0)) "%cont_key%" #8 // value from str_var + EXTEND_TOP ~%code%M.bcs~ ~iwdification/baf/cloudmn.baf~ EVALUATE_BUFFER + EXTEND_TOP ~%code%V.bcs~ ~iwdification/baf/cloudvs.baf~ EVALUATE_BUFFER + + ACTION_IF zosa BEGIN + + ACTION_IF NOT FILE_EXISTS ~iwdification/baf/cdzosa.baf~ THEN BEGIN // run only once across both components + + COPY_EXISTING_REGEXP GLOB ~^.+\.spl$~ ~override~ + LPF CLONE_EFFECT INT_VAR silent = 1 match_opcode = 273 opcode = 265 parameter1 = 1 timing = 1 STR_VAR resource = cdizosa END + BUT_ONLY + + COPY ~iwdification/baf/zosa.baf~ ~iwdification/baf/cdzosa.baf~ + + ACTION_FOR_EACH file IN baldur baldur25 BEGIN + + ACTION_IF FILE_EXISTS_IN_GAME ~%file%.bcs~ THEN BEGIN + + EXTEND_BOTTOM ~%file%.bcs~ ~iwdification/baf/baldur.baf~ + + END + END + END + + EXTEND_TOP ~%code%M.bcs~ ~iwdification/baf/cdzosa.baf~ + EXTEND_TOP ~%code%V.bcs~ ~iwdification/baf/cdzosa.baf~ + END -END - -DEFINE_PATCH_FUNCTION AREA_ALTER_DOOR - INT_VAR door_icon = "-1" // changes cursor at 0x68; negative values mean no change - trap_detect = "-1" // difficulty of trap detection at 0x6c; negative values mean no change - trap_remove = "-1" // difficulty of trap removal at 0x6e; negative values mean no change - trapped = "-1" // is trapped? at 0x70; negative values mean no change - detected = "-1" // is detected? at 0x72; negative values mean no change - door_detect = "-1" // difficulty of detection at 0x88; negative values mean no change - lock_diff = "-1" // difficulty of lock at 0x8c; negative values mean no change - STR_VAR door_name = "" // required, at 0x00, used to match door - door_key = "same" // changes door key at 0x78; "same" means no change - door_script = "same" // changes door script at 0x80; "same" means no change; "same" means no change -BEGIN + ACTION_IF NOT FILE_EXISTS_IN_GAME cdiclout.spl THEN BEGIN + COPY ~iwdification/spl/cdiclout.spl~ ~override~ // minions jump away + END - READ_LONG 0xa4 door_num - READ_LONG 0xa8 door_off - FOR (index = 0 ; index < door_num ; ++index) BEGIN - READ_ASCII (door_off + (index * 0xc8)) door_name_file (32) NULL - PATCH_IF ("%door_name%" STRING_COMPARE_CASE "%door_name_file%" = 0) BEGIN - PATCH_IF ("%door_icon%" >= 0) BEGIN WRITE_LONG (door_off + 0x68 + (index * 0xc8)) "%door_icon%" END - PATCH_IF ("%trap_detect%" >= 0) BEGIN WRITE_SHORT (door_off + 0x6c + (index * 0xc8)) "%trap_detect%" END - PATCH_IF ("%trap_remove%" >= 0) BEGIN WRITE_SHORT (door_off + 0x6e + (index * 0xc8)) "%trap_remove%" END - PATCH_IF ("%trapped%" >= 0) BEGIN WRITE_SHORT (door_off + 0x70 + (index * 0xc8)) "%trapped%" END - PATCH_IF ("%detected%" >= 0) BEGIN WRITE_SHORT (door_off + 0x72 + (index * 0xc8)) "%detected%" END - PATCH_IF ("%door_detect%" >= 0) BEGIN WRITE_LONG (door_off + 0x88 + (index * 0xc8)) "%door_detect%" END - PATCH_IF ("%lock_diff%" >= 0) BEGIN WRITE_LONG (door_off + 0x8c + (index * 0xc8)) "%lock_diff%" END - PATCH_IF ("%door_key%" STRING_COMPARE_CASE "same") BEGIN // if key not set to same - WRITE_ASCIIE (door_off + 0x78 + (index * 0xc8)) "%door_key%" #8 // value from str_var - END - PATCH_IF ("%door_script%" STRING_COMPARE_CASE "same") BEGIN // if key not set to same - WRITE_ASCIIE (door_off + 0x80 + (index * 0xc8)) "%door_script%" #8 // value from str_var - END + COPY ~iwdification/spl/cloudv.spl~ ~override/%code%v.spl~ + SET step = (100 / (visloop + 1)) + LPF ADD_SPELL_EFFECT INT_VAR opcode = 215 target = 1 parameter2 = 2 probability1 = step STR_VAR resource = EVALUATE_BUFFER ~%code%0~ END + FOR (index = 1 ; index <= visloop ; ++index) BEGIN + READ_BYTE 0xac temp_prob + LPF ADD_SPELL_EFFECT INT_VAR insert_point = 0 opcode = 215 target = 1 parameter2 = 2 + probability2 = (temp_prob + 1) probability1 = (temp_prob + step) STR_VAR resource = EVALUATE_BUFFER ~%code%%index%~ END END + WRITE_BYTE 0xac 100 + + OUTER_FOR (index = 0 ; index <= visloop ; ++index) BEGIN + COPY ~iwdification/vvc/%code%%index%.vvc~ ~override~ + WRITE_ASCIIE 0x08 ~%anim%~ END +// COPY ~iwdification/bam/%anim%.bam~ ~override~ END ///// \\\\\ -///// item functions \\\\\ +///// bastardized handle_audio variant \\\\\ ///// \\\\\ -DEFINE_PATCH_FUNCTION ITEM_ALTER_EFFECT - INT_VAR equipped = 0 // check global effects: 0 for no, 1 for yes - headers = 0 // check effects on headers; 0 for no, 1 for yes - type = "-1" // -1 to check all headers, otherwise use type specified - opcode = "-1" // opcode at 0x00 to match, use -1 for all - opcode_new = "-1" // if opcode matches, change to this value - target = "-1" // change target at 0x02; negative values mean no change - timing = "-1" // change timing at 0x0c; negative values mean no change - power = "-1" // change power level at 0x03; negative values mean no change - parameter1 = "-1" // change parameter at 0x04; negative values mean no change - parameter2 = "-1" // change parameter at 0x08; negative values mean no change - resist_dispel = "-1" // change resist/dispel at 0x0d; negative values mean no change - duration = "-1" // change duration at 0x0e; negative values mean no change - duration_high = "-1" // same as duration, but only if existing duration > 5 - probability1 = "-1" // change high probability at 0x12; negative values mean no change - probability2 = "-1" // change low probability at 0x13; negative values mean no change - dicenumber = "-1" // change number of dice at 0x1c; negative values mean no change - dicesize = "-1" // change size of dice at 0x20; negative values mean no change - savingthrow = "-1" // changing type of saving throw at 0x24; negative values mean no change - savebonus = "-11" // change save bonus/penalty; values -11 or lower are ignored - STR_VAR resource = "same" // resref at 0x14; same means no change, otherwise use this value +// I just made some changes because I want WeiDU to convert (or rename) ogg > wav once, and then leave the resulting wav files to +// be copied (or not) by the respective components. Basically anything tha moves or copies the files has been removed, so that +// WeiDU won't remove the wav files if the component that invoked this function gets uninstalled. + +DEFINE_ACTION_FUNCTION CD_HANDLE_AUDIO + INT_VAR + music = 0 + STR_VAR + audio_path = ~iwdification/wav~ + oggdec_path = ~iwdification/wav~ + sox_path = ~iwdification/wav~ + output_path = ~iwdification/wav~ BEGIN + /* Early versions of BG:EE do not include bgee.lua and + * PST:EE does not include monkfist.2da + */ + ACTION_IF !ee_game + BEGIN + ACTION_MATCH "%WEIDU_OS%" WITH + win32 + BEGIN + ACTION_IF FILE_EXISTS "%oggdec_path%/oggdec.exe" BEGIN + ACTION_BASH_FOR ~%audio_path%~ ~.+\.ogg$~ BEGIN +// OUTER_SPRINT wavfile ~%audio_path%/%BASH_FOR_RES%.wav~ +// COPY ~.../fl#inlined/null.file~ ~%wavfile%~ + AT_NOW ~%oggdec_path%/oggdec.exe "%BASH_FOR_FILESPEC%"~ +// MOVE ~%wavfile%~ ~%output_path%~ + END + END ELSE BEGIN + WARN ~WARNING: audio was not installed because oggdec.exe could not be found in %oggdec_path%~ + END + END - READ_LONG 0x6a fx_off - PATCH_IF (equipped = 1) BEGIN - READ_SHORT 0x70 fx_num - FOR (index = 0 ; index < fx_num ; ++index) BEGIN - READ_SHORT (fx_off + (index * 0x30)) opcode_file - PATCH_IF ((opcode = opcode_file) OR (opcode < 0)) BEGIN - PATCH_IF (opcode_new >= 0) BEGIN WRITE_SHORT (fx_off + (index * 0x30)) opcode_new END - PATCH_IF (target >= 0) BEGIN WRITE_BYTE (fx_off + 0x02 + (index * 0x30)) target END - PATCH_IF (power >= 0) BEGIN WRITE_BYTE (fx_off + 0x03 + (index * 0x30)) power END - PATCH_IF (parameter1 >= 0) BEGIN WRITE_LONG (fx_off + 0x04 + (index * 0x30)) parameter1 END - PATCH_IF (parameter2 >= 0) BEGIN WRITE_LONG (fx_off + 0x08 + (index * 0x30)) parameter2 END - PATCH_IF (timing >= 0) BEGIN WRITE_BYTE (fx_off + 0x0c + (index * 0x30)) timing END - PATCH_IF (resist_dispel >= 0) BEGIN WRITE_BYTE (fx_off + 0x0d + (index * 0x30)) resist_dispel END - PATCH_IF (duration >= 0) BEGIN WRITE_LONG (fx_off + 0x0e + (index * 0x30)) duration END - PATCH_IF (probability1 >= 0) BEGIN WRITE_BYTE (fx_off + 0x12 + (index * 0x30)) probability1 END - PATCH_IF (probability2 >= 0) BEGIN WRITE_BYTE (fx_off + 0x13 + (index * 0x30)) probability2 END - PATCH_IF (dicenumber >= 0) BEGIN WRITE_LONG (fx_off + 0x1c + (index * 0x30)) dicenumber END - PATCH_IF (dicesize >= 0) BEGIN WRITE_LONG (fx_off + 0x20 + (index * 0x30)) dicesize END - PATCH_IF (savingthrow >= 0) BEGIN WRITE_LONG (fx_off + 0x24 + (index * 0x30)) savingthrow END - PATCH_IF (savebonus >= "-10") BEGIN WRITE_LONG (fx_off + 0x28 + (index * 0x30)) savebonus END - PATCH_IF (duration_high >= 0) BEGIN - READ_LONG (fx_off + 0x0e + (index * 0x30)) duration_file - PATCH_IF (duration_file > 5) BEGIN - WRITE_LONG (fx_off + 0x0e + (index * 0x30)) duration_high + osx + BEGIN + ACTION_IF FILE_EXISTS ~%sox_path%/sox~ BEGIN + AT_NOW ~chmod +x '%sox_path%/sox'~ + ACTION_BASH_FOR ~%audio_path%~ ~.+\.ogg$~ BEGIN + OUTER_SPRINT wavfile ~%audio_path%/%BASH_FOR_RES%.wav~ +// COPY ~.../fl#inlined/null.file~ ~%wavfile%~ + AT_NOW ~'%sox_path%/sox' '%BASH_FOR_FILESPEC%' '%wavfile%'~ +// MOVE ~%wavfile%~ ~%output_path%~ END + END ELSE BEGIN + WARN ~WARNING: audio was not installed because sox could not be found in %sox_path%~ END - PATCH_IF ("%resource%" STRING_COMPARE_CASE "same") BEGIN - WRITE_ASCIIE (fx_off + 0x14 + (index * 0x30)) "%resource%" #8 + END + + unix + BEGIN + OUTER_SET installed = 1 + ACTION_BASH_FOR ~%audio_path%~ ~.+\.ogg$~ BEGIN + OUTER_SPRINT wavfile ~%audio_path%/%BASH_FOR_RES%.wav~ +// COPY ~.../fl#inlined/null.file~ ~%wavfile%~ + AT_NOW ~oggdec '%BASH_FOR_FILESPEC%'~ + ACTION_IF FILE_EXISTS ~%wavfile%~ AND !FILE_SIZE ~%wavfile%~ 0 BEGIN +// MOVE ~%wavfile%~ ~%output_path%~ + END ELSE OUTER_SET installed = 0 END - END - END - END - PATCH_IF (headers = 1) BEGIN - READ_LONG 0x64 "abil_off" - READ_SHORT 0x68 "abil_num" - FOR (index2 = 0 ; index2 < abil_num ; ++index2) BEGIN // looks through headers - READ_BYTE (abil_off + (index2 * 0x38)) abil_type - PATCH_IF ((abil_type = type) OR (type < 0)) BEGIN - READ_SHORT (abil_off + 0x1e + (index2 * 0x38)) abil_fx_num - READ_SHORT (abil_off + 0x20 + (index2 * 0x38)) abil_fx_idx - FOR (index = 0 ; index < abil_fx_num ; index = index + 1) BEGIN - READ_SHORT (fx_off + ((abil_fx_idx + index) * 0x30)) opcode_file - PATCH_IF ((opcode = opcode_file) OR (opcode < 0)) BEGIN - PATCH_IF (opcode_new >= 0) BEGIN WRITE_SHORT (fx_off + ((index + abil_fx_idx) * 0x30)) opcode_new END - PATCH_IF (target >= 0) BEGIN WRITE_BYTE (fx_off + 0x02 + ((index + abil_fx_idx) * 0x30)) target END - PATCH_IF (power >= 0) BEGIN WRITE_BYTE (fx_off + 0x03 + ((index + abil_fx_idx) * 0x30)) power END - PATCH_IF (parameter1 >= 0) BEGIN WRITE_LONG (fx_off + 0x04 + ((index + abil_fx_idx) * 0x30)) parameter1 END - PATCH_IF (parameter2 >= 0) BEGIN WRITE_LONG (fx_off + 0x08 + ((index + abil_fx_idx) * 0x30)) parameter2 END - PATCH_IF (timing >= 0) BEGIN WRITE_BYTE (fx_off + 0x0c + ((index + abil_fx_idx) * 0x30)) timing END - PATCH_IF (resist_dispel >= 0) BEGIN WRITE_BYTE (fx_off + 0x0d + ((index + abil_fx_idx) * 0x30)) resist_dispel END - PATCH_IF (duration >= 0) BEGIN WRITE_LONG (fx_off + 0x0e + ((index + abil_fx_idx) * 0x30)) duration END - PATCH_IF (probability1 >= 0) BEGIN WRITE_BYTE (fx_off + 0x12 + ((index + abil_fx_idx) * 0x30)) probability1 END - PATCH_IF (probability2 >= 0) BEGIN WRITE_BYTE (fx_off + 0x13 + ((index + abil_fx_idx) * 0x30)) probability2 END - PATCH_IF (dicenumber >= 0) BEGIN WRITE_LONG (fx_off + 0x1c + ((index + abil_fx_idx) * 0x30)) dicenumber END - PATCH_IF (dicesize >= 0) BEGIN WRITE_LONG (fx_off + 0x20 + ((index + abil_fx_idx) * 0x30)) dicesize END - PATCH_IF (savingthrow >= 0) BEGIN WRITE_LONG (fx_off + 0x24 + ((index + abil_fx_idx) * 0x30)) savingthrow END - PATCH_IF (savebonus >= "-10") BEGIN WRITE_LONG (fx_off + 0x28 + ((index + abil_fx_idx) * 0x30)) savebonus END - PATCH_IF (duration_high >= 0) BEGIN - READ_LONG (fx_off + 0x0e + ((index + abil_fx_idx) * 0x30)) duration_file - PATCH_IF (duration_file > 5) BEGIN - WRITE_LONG (fx_off + 0x0e + ((index + abil_fx_idx) * 0x30)) duration_high - END - END - PATCH_IF ("%resource%" STRING_COMPARE_CASE "same") BEGIN - WRITE_ASCIIE (fx_off + 0x14 + ((index + abil_fx_idx) * 0x30)) "%resource%" #8 - END - END + ACTION_IF !installed BEGIN + WARN "WARNING: audio was not installed because WAV files were not found. Are you sure you have oggdec installed?" END END + DEFAULT + END + END ELSE BEGIN + ACTION_IF !music BEGIN + OUTER_SPRINT ext "wav" + END ELSE BEGIN + OUTER_SPRINT ext "acm" + END + ACTION_BASH_FOR ~%audio_path%~ ~.+\.ogg$~ BEGIN + COPY_LARGE + ~%BASH_FOR_FILESPEC%~ ~%output_path%/%BASH_FOR_RES%.%ext%~ END END - END -DEFINE_PATCH_FUNCTION ITEM_ALTER_HEADER - INT_VAR type = "-1" // -1 is all headers, >4 forces icon match, otherwise use value here - header = 0 // 0 matches all headers, otherwise just modify specified header - use with type = -1 - type_new = "-1" // change the type at 0x00 to this value; negative values mean no change - identify = "-1" // identify to use? at 0x01; negative values mean no change - location = "-1" // ability location at 0x02; negative values mean no change - target = "-1" // target at 0x0c; negative values mean no change - range = "-1" // range at 0x0e; negative values mean no change - launcher = "-1" // launcher required at 0x10; negative values mean no change - speed = "-1" // speed at 0x12; negative values mean no change - thac0_bonus = "-1" // to-hit bonus at 0x14; negative values mean no change - dicesize = "-1" // dice size at 0x16; negative values mean no change - primary = "-1" // primary school at 0x17; negative values mean no change - dicenum = "-1" // number of dice at 0x18; negative values mean no change - secondary = "-1" // seoncdary type at 0x19; negative values mean no change - damage_bonus = "-1" // +damage bonus at 0x1a; negative values mean no change - damage_type = "-1" // damage type at 0x1c; negative values mean no change - effects_num = "-1" // number of effects at 0x1e; negative values mean no change - effects_index = "-1" // effects index at 0x20; negative values mean no change - charges = "-1" // number of charges at 0x22; negative values mean no change - drained = "-1" // when drained? at 0x24; negative values mean no change - projectile = "-1" // projectile at 0x2a; negative values mean no change - anim_overhead = "-1" // % of overhead attacks at 0x2c; negative values mean no change - anim_backhand = "-1" // % of bakhand attacks at 0x2e; negative values mean no change - anim_thrust = "-1" // % of thirsuting attacks at 0x30; negative values mean no change - arrow = "-1" // is arrow? at 0x32; negative values mean no change - bolt = "-1" // is bolt? at 0x34; negative values mean no change - bullet = "-1" // is bullet? at 0x36; negative values mean no change - // flag_ vars affect flags starting at 0x26; 0 means remove flag, 1 means add flag, -1 no change - flag_strength = "-1" // add strength bonus, bit0 - flag_break = "-1" // breakable, bit1 - flag_hostile = "-1" // hostile, bit10 - flag_recharge = "-1" // recharge after resting, bit11 - flag_bypass = "-1" // bypass armor, bit16 - flag_keenedge = "-1" // keen edge, bit17 - flag_backstab = "-1" // tobex only, can backstab, bit25 - flag_noinvis = "-1" // tobex only, cannot target invisible, bit26 - STR_VAR icon = "same" // ability icon at 0x04; used to match if type > 4; same means no change otherwise use this value +///// \\\\\ +///// CD_SPLIT_SAVE_DAMAGE \\\\\ +///// \\\\\ + +DEFINE_PATCH_FUNCTION CD_SPLIT_SAVE_DAMAGE // turns damage using ee's save-for-half bit into two damage opcodes + + // defines what we're going to check + INT_VAR header = "-1" + header_type = "-1" + m_power = "-1" + m_type = "-1" + m_damtype = "-1" + m_timing = "-1" + m_dispel = "-1" + m_duration = "-1" + m_prob1 = "-1" + m_prob2 = "-1" + m_dicesize = "-1" + m_flags = "-1" BEGIN - READ_LONG 0x64 "abil_off" - READ_SHORT 0x68 "abil_num" - PATCH_IF (header = 0) BEGIN SET loop_start = 0 SET loop_end = abil_num END - ELSE BEGIN SET loop_start = (header - 1) SET loop_end = header END - FOR (index = loop_start ; index < loop_end ; ++index) BEGIN - READ_BYTE (abil_off + (index * 0x38)) abil_type - READ_ASCII (abil_off + 0x04 + (index * 0x38)) icon_file - PATCH_IF ((type < 0) OR (abil_type = type) OR ((type > 4) AND ("%icon_file%" STRING_COMPARE_CASE "%icon%" = 0))) BEGIN - PATCH_IF (type_new >= 0) BEGIN WRITE_SHORT (abil_off + (index * 0x38)) type_new END - PATCH_IF (identify >= 0) BEGIN WRITE_BYTE (abil_off + 0x01 + (index * 0x38)) identify END - PATCH_IF (location >= 0) BEGIN WRITE_SHORT (abil_off + 0x02 + (index * 0x38)) location END - PATCH_IF (target >= 0) BEGIN WRITE_SHORT (abil_off + 0x0c + (index * 0x38)) target END - PATCH_IF (range >= 0) BEGIN WRITE_SHORT (abil_off + 0x0e + (index * 0x38)) range END - PATCH_IF (launcher >= 0) BEGIN WRITE_SHORT (abil_off + 0x10 + (index * 0x38)) launcher END - PATCH_IF (speed >= 0) BEGIN WRITE_SHORT (abil_off + 0x12 + (index * 0x38)) speed END - PATCH_IF (thac0_bonus >= 0) BEGIN WRITE_SHORT (abil_off + 0x14 + (index * 0x38)) thac0_bonus END - PATCH_IF (dicesize >= 0) BEGIN WRITE_BYTE (abil_off + 0x16 + (index * 0x38)) dicesize END - PATCH_IF (primary >= 0) BEGIN WRITE_BYTE (abil_off + 0x17 + (index * 0x38)) primary END - PATCH_IF (dicenum >= 0) BEGIN WRITE_BYTE (abil_off + 0x18 + (index * 0x38)) dicenum END - PATCH_IF (secondary >= 0) BEGIN WRITE_BYTE (abil_off + 0x19 + (index * 0x38)) secondary END - PATCH_IF (damage_bonus >= 0) BEGIN WRITE_SHORT (abil_off + 0x1a + (index * 0x38)) damage_bonus END - PATCH_IF (damage_type >= 0) BEGIN WRITE_SHORT (abil_off + 0x1c + (index * 0x38)) damage_type END - PATCH_IF (effects_num >= 0) BEGIN WRITE_SHORT (abil_off + 0x1e + (index * 0x38)) effects_num END - PATCH_IF (effects_index >= 0) BEGIN WRITE_SHORT (abil_off + 0x20 + (index * 0x38)) effects_index END - PATCH_IF (charges >= 0) BEGIN WRITE_SHORT (abil_off + 0x22 + (index * 0x38)) charges END - PATCH_IF (drained >= 0) BEGIN WRITE_SHORT (abil_off + 0x24 + (index * 0x38)) drained END - PATCH_IF (projectile >= 0) BEGIN WRITE_SHORT (abil_off + 0x2a + (index * 0x38)) projectile END - PATCH_IF (anim_overhead >= 0) BEGIN WRITE_SHORT (abil_off + 0x2c + (index * 0x38)) anim_overhead END - PATCH_IF (anim_backhand >= 0) BEGIN WRITE_SHORT (abil_off + 0x2e + (index * 0x38)) anim_backhand END - PATCH_IF (anim_thrust >= 0) BEGIN WRITE_SHORT (abil_off + 0x30 + (index * 0x38)) anim_thrust END - PATCH_IF (arrow >= 0) BEGIN WRITE_SHORT (abil_off + 0x32 + (index * 0x38)) arrow END - PATCH_IF (bolt >= 0) BEGIN WRITE_SHORT (abil_off + 0x34 + (index * 0x38)) bolt END - PATCH_IF (bullet >= 0) BEGIN WRITE_SHORT (abil_off + 0x36 + (index * 0x38)) bullet END - PATCH_IF (flag_strength = 0) BEGIN WRITE_BYTE (abil_off + 0x26 + (index * 0x38)) THIS & `BIT0 END - PATCH_IF (flag_break = 0) BEGIN WRITE_BYTE (abil_off + 0x26 + (index * 0x38)) THIS & `BIT1 END - PATCH_IF (flag_hostile = 0) BEGIN WRITE_BYTE (abil_off + 0x27 + (index * 0x38)) THIS & `BIT2 END - PATCH_IF (flag_recharge = 0) BEGIN WRITE_BYTE (abil_off + 0x27 + (index * 0x38)) THIS & `BIT3 END - PATCH_IF (flag_bypass = 0) BEGIN WRITE_BYTE (abil_off + 0x28 + (index * 0x38)) THIS & `BIT0 END - PATCH_IF (flag_keenedge = 0) BEGIN WRITE_BYTE (abil_off + 0x28 + (index * 0x38)) THIS & `BIT1 END - PATCH_IF (flag_backstab = 0) BEGIN WRITE_BYTE (abil_off + 0x29 + (index * 0x38)) THIS & `BIT1 END - PATCH_IF (flag_noinvis = 0) BEGIN WRITE_BYTE (abil_off + 0x29 + (index * 0x38)) THIS & `BIT2 END - PATCH_IF (flag_strength = 1) BEGIN WRITE_BYTE (abil_off + 0x26 + (index * 0x38)) THIS | BIT0 END - PATCH_IF (flag_break = 1) BEGIN WRITE_BYTE (abil_off + 0x26 + (index * 0x38)) THIS | BIT1 END - PATCH_IF (flag_hostile = 1) BEGIN WRITE_BYTE (abil_off + 0x27 + (index * 0x38)) THIS | BIT2 END - PATCH_IF (flag_recharge = 1) BEGIN WRITE_BYTE (abil_off + 0x27 + (index * 0x38)) THIS | BIT3 END - PATCH_IF (flag_bypass = 1) BEGIN WRITE_BYTE (abil_off + 0x28 + (index * 0x38)) THIS | BIT0 END - PATCH_IF (flag_keenedge = 1) BEGIN WRITE_BYTE (abil_off + 0x28 + (index * 0x38)) THIS | BIT1 END - PATCH_IF (flag_backstab = 1) BEGIN WRITE_BYTE (abil_off + 0x29 + (index * 0x38)) THIS | BIT1 END - PATCH_IF (flag_noinvis = 1) BEGIN WRITE_BYTE (abil_off + 0x29 + (index * 0x38)) THIS | BIT2 END - PATCH_IF ("%icon%" STRING_COMPARE_CASE "same") BEGIN - WRITE_ASCIIE (abil_off + 0x04 + (index * 0x38)) "%icon%" #8 - END - END + READ_ASCII 0x00 sig (3) + SET abil_length = 0x28 + PATCH_IF ("%sig%" STRING_COMPARE_CASE "ITM" = 0) BEGIN + SET abil_length = 0x38 END + READ_LONG 0x64 abil_off ELSE 0 + READ_SHORT 0x68 abil_num ELSE 0 + READ_LONG 0x6a fx_off ELSE 0 + SET fx_delta = 0 + FOR (index = 0 ; index < abil_num ; ++index) BEGIN // start iterating through abilities + WRITE_SHORT (abil_off + 0x20 + (abil_length * index)) (THIS + fx_delta) + READ_SHORT (abil_off + (abil_length * index)) o_header_type + PATCH_IF (((header = index) OR (header < 0)) AND + ((header_type = o_header_type) OR (header_type < 0))) BEGIN + READ_SHORT (abil_off + 0x1e + (abil_length * index)) abil_fx_num + READ_SHORT (abil_off + 0x20 + (abil_length * index)) abil_fx_idx + FOR (index2 = 0 ; index2 < abil_fx_num ; ++index2) BEGIN + READ_SHORT (fx_off + (0x30 * (abil_fx_idx + index2))) opcode + READ_LONG (fx_off + 0x2c + (0x30 * (abil_fx_idx + index2))) o_flags + PATCH_IF (((opcode = 12) AND (o_flags & BIT8) = BIT8)) BEGIN + READ_BYTE (fx_off + 0x02 + (0x30 * (abil_fx_idx + index2))) o_power + READ_LONG (fx_off + 0x04 + (0x30 * (abil_fx_idx + index2))) o_amount + READ_SHORT (fx_off + 0x08 + (0x30 * (abil_fx_idx + index2))) o_type + READ_SHORT (fx_off + 0x0a + (0x30 * (abil_fx_idx + index2))) o_damtype + READ_BYTE (fx_off + 0x0c + (0x30 * (abil_fx_idx + index2))) o_timing + READ_BYTE (fx_off + 0x0d + (0x30 * (abil_fx_idx + index2))) o_dispel + READ_LONG (fx_off + 0x0e + (0x30 * (abil_fx_idx + index2))) o_duration + READ_BYTE (fx_off + 0x12 + (0x30 * (abil_fx_idx + index2))) o_prob1 + READ_BYTE (fx_off + 0x13 + (0x30 * (abil_fx_idx + index2))) o_prob2 + READ_LONG (fx_off + 0x1c + (0x30 * (abil_fx_idx + index2))) o_dicenum + READ_LONG (fx_off + 0x20 + (0x30 * (abil_fx_idx + index2))) o_dicesize + READ_LONG (fx_off + 0x24 + (0x30 * (abil_fx_idx + index2))) o_save + READ_LONG (fx_off + 0x28 + (0x30 * (abil_fx_idx + index2))) o_savebonus +// READ_LONG (fx_off + 0x2c + (0x30 * (abil_fx_idx + index2))) o_flags + PATCH_IF (((o_power = m_power) OR (m_power < 0)) AND + ((o_type = m_type) OR (m_type < 0)) AND + ((o_damtype = m_damtype) OR (m_damtype < 0)) AND + ((o_timing = m_timing) OR (m_timing < 0)) AND + ((o_dispel = m_dispel) OR (m_dispel < 0)) AND + ((o_duration = m_duration) OR (m_duration < 0)) AND + ((o_prob1 = m_prob1) OR (m_prob1 < 0)) AND + ((o_prob2 = m_prob2) OR (m_prob2 < 0)) AND + ((o_dicesize = m_dicesize) OR (m_dicesize < 0)) AND + ((o_flags = m_flags) OR (m_flags < 0))) BEGIN + WRITE_LONG (fx_off + 0x2c + (0x30 * (abil_fx_idx + index2))) (THIS BAND `BIT8) // remove save-for-half flag + READ_ASCII (fx_off + (0x30 * (abil_fx_idx + index2))) clone (48) // read info for new effect + INSERT_BYTES (fx_off + (0x30 * (abil_fx_idx + index2))) 0x30 // insert new effect + WRITE_ASCIIE (fx_off + (0x30 * (abil_fx_idx + index2))) ~%clone%~ // copy existing effect into new bytes + WRITE_LONG (fx_off + 0x04 + (0x30 * (abil_fx_idx + index2))) ((o_amount + 1) / 2) // set original damage to half + WRITE_LONG (fx_off + 0x1c + (0x30 * (abil_fx_idx + index2))) ((o_dicenum + 0) / 2) + WRITE_LONG (fx_off + 0x34 + (0x30 * (abil_fx_idx + index2))) ((o_amount + 0) / 2) // set new damage to half + WRITE_LONG (fx_off + 0x4c + (0x30 * (abil_fx_idx + index2))) ((o_dicenum + 1) / 2) // +1 is fudge factor for rounding odd numbers + WRITE_LONG (fx_off + 0x24 + (0x30 * (abil_fx_idx + index2))) (((((THIS BAND `BIT0) BAND `BIT1) BAND `BIT2) BAND `BIT3) BAND `BIT4) // remove save flags from new effect +// WRITE_LONG (fx_off + 0x24 + (0x30 * (abil_fx_idx + index2))) ((THIS BAND `(BIT0 + BIT1 + BIT2 + BIT3 + BIT4)) // remove save flags from new effect + SET index2 += 1 + SET fx_delta += 1 + SET abil_fx_num += 1 + END // param check + END // damage, flag check + END // abil fx loop + WRITE_SHORT (abil_off + 0x1e + (abil_length * index)) abil_fx_num + END // abil type check + END // abil loop END -DEFINE_PATCH_FUNCTION ITEM_DELETE_HEADER - INT_VAR type = 0 // -1 for all headers, otherwise match type - BEGIN +///// \\\\\ +///// CD_CONVERT_333 \\\\\ +///// \\\\\ + +DEFINE_PATCH_FUNCTION CD_CONVERT_333 + + STR_VAR 333spell = "" + +BEGIN // converts recurring 333s to simple 146s + + READ_ASCII 0x00 sig (3) + SET abil_length = 0x28 + PATCH_IF ("%sig%" STRING_COMPARE_CASE "ITM" = 0) BEGIN + SET abil_length = 0x38 + END + READ_LONG 0x64 abil_off ELSE 0 + READ_SHORT 0x68 abil_num ELSE 0 + READ_LONG 0x6a fx_off ELSE 0 + SET fx_delta = 0 + FOR (index = 0 ; index < abil_num ; ++index) BEGIN // start iterating through abilities + WRITE_SHORT (abil_off + 0x20 + (abil_length * index)) (THIS + fx_delta) + READ_SHORT (abil_off + 0x1e + (abil_length * index)) abil_fx_num + READ_SHORT (abil_off + 0x20 + (abil_length * index)) abil_fx_idx + FOR (index2 = 0 ; index2 < abil_fx_num ; ++index2) BEGIN + READ_SHORT (fx_off + (0x30 * (abil_fx_idx + index2))) opcode + PATCH_IF opcode = 333 BEGIN + PATCH_IF ("%333spell%" STRING_COMPARE_CASE "" = 0) BEGIN + READ_ASCII (fx_off + 0x14 + (0x30 * (abil_fx_idx + index2))) resref + PATCH_IF ("%resref%" STRING_COMPARE_CASE "" = 0) BEGIN + SPRINT 333spell "%SOURCE_RES%b" + END ELSE BEGIN + SPRINT 333spell "%resref%b" + END + END + READ_LONG (fx_off + 0x2c + (0x30 * (abil_fx_idx + index2))) delay + PATCH_IF !delay BEGIN SET delay = 6 END // if delay is 0, use default 6 instead + READ_LONG (fx_off + 0x04 + (0x30 * (abil_fx_idx + index2))) times + READ_LONG (fx_off + 0x08 + (0x30 * (abil_fx_idx + index2))) level + WRITE_SHORT (fx_off + (0x30 * (abil_fx_idx + index2))) 146 // opcode + WRITE_LONG (fx_off + 0x04 + (0x30 * (abil_fx_idx + index2))) level // cast at level + WRITE_LONG (fx_off + 0x08 + (0x30 * (abil_fx_idx + index2))) 1 // cast instantly + WRITE_BYTE (fx_off + 0x0c + (0x30 * (abil_fx_idx + index2))) 1 // timing: delay/perm + WRITE_LONG (fx_off + 0x0e + (0x30 * (abil_fx_idx + index2))) 0 // delay + WRITE_ASCIIE (fx_off + 0x14 + (0x30 * (abil_fx_idx + index2))) ~%333spell%~ #8 // subspell + READ_ASCII (fx_off + (0x30 * (abil_fx_idx + index2))) clone (48) // read info for new effect(s) + FOR (index3 = 0 ; index3 < times ; ++index3) BEGIN + INSERT_BYTES (fx_off + (0x30 * (abil_fx_idx + index2))) 0x30 // insert new effect + WRITE_ASCIIE (fx_off + (0x30 * (abil_fx_idx + index2))) ~%clone%~ // copy existing effect into new bytes + WRITE_BYTE (fx_off + 0x0c + (0x30 * (abil_fx_idx + index2))) 4 // timing: delay/perm + WRITE_LONG (fx_off + 0x0e + (0x30 * (abil_fx_idx + index2))) ((index3 + 1) * delay) // delay + SET index2 += 1 + SET fx_delta += 1 + SET abil_fx_num += 1 + END // new fx loop + END // 333 check + END // abil fx loop + WRITE_SHORT (abil_off + 0x1e + (abil_length * index)) abil_fx_num + END // abil loop - READ_LONG 0x64 abil_off - READ_SHORT 0x68 abil_num - READ_LONG 0x6a fx_off - READ_SHORT 0x70 fx_num - SET fx_delta = 0 - FOR (index = 0 ; index < abil_num ; ++index) BEGIN // looks for default ability header - READ_BYTE (abil_off + (index * 0x38)) type_file - PATCH_IF ((type = type_file) OR (type < 0)) BEGIN // default ability check - READ_SHORT (0x1e + abil_off + (index * 0x38)) abil_fx_num - READ_SHORT (0x20 + abil_off + (index * 0x38)) abil_fx_idx - DELETE_BYTES (fx_off + (0x30 * (abil_fx_idx - fx_delta))) (0x30 * abil_fx_num) // deletes all associated effects - DELETE_BYTES (abil_off + (index * 0x38)) 0x38 // deletes ability itself - SET fx_delta = (fx_delta + abil_fx_num) - SET abil_num = (abil_num - 1) - SET index = (index - 1) - SET fx_off = (fx_off - 0x38) - END ELSE BEGIN // if non-matched ability, need to adjust effect indices - READ_SHORT (0x20 + abil_off + (index * 0x38)) abil_fx_idx - WRITE_SHORT (0x20 + abil_off + (index * 0x38)) (abil_fx_idx - fx_delta) - END - END - WRITE_SHORT 0x68 abil_num - WRITE_LONG 0x6a fx_off - END ///// \\\\\ -///// spell functions \\\\\ +///// CD_CONVERT_9_255 \\\\\ ///// \\\\\ -DEFINE_PATCH_FUNCTION SPELL_ALTER_EFFECT - INT_VAR header = 0 // 0 for all, otherwise use number - type = "-1" // -1 to check all headers, otherwise use type specified - opcode = "-1" // opcode at 0x00 to match, use -1 for all - opcode_new = "-1" // if opcode matches, change to this value - target = "-1" // change target at 0x02; negative values mean no change - timing = "-1" // change timing at 0x0c; negative values mean no change - power = "-1" // change power level at 0x03; negative values mean no change - parameter1 = "-1" // change parameter at 0x04; negative values mean no change - parameter2 = "-1" // change parameter at 0x08; negative values mean no change - resist_dispel = "-1" // change resist/dispel at 0x0d; negative values mean no change - duration = "-1" // change duration at 0x0e; negative values mean no change - duration_high = "-1" // same as duration, but only if existing duration > 5 - probability1 = "-1" // change high probability at 0x12; negative values mean no change - probability2 = "-1" // change low probability at 0x13; negative values mean no change - dicenumber = "-1" // change number of dice at 0x1c; negative values mean no change - dicesize = "-1" // change size of dice at 0x20; negative values mean no change - savingthrow = "-1" // changing type of saving throw at 0x24; negative values mean no change - savebonus = "-11" // change save bonus/penalty; values -11 or lower are ignored - STR_VAR resource = "same" // resref at 0x14; same means no change, otherwise use this value -BEGIN +DEFINE_PATCH_FUNCTION CD_CONVERT_9_255 BEGIN - READ_LONG 0x6a fx_off - READ_LONG 0x64 abil_off - READ_SHORT 0x68 abil_num - PATCH_IF (header = 0) BEGIN SET loop_start = 0 SET loop_end = abil_num END - ELSE BEGIN SET loop_start = (header - 1) SET loop_end = header END - FOR (index2 = loop_start ; index2 < loop_end ; ++index2) BEGIN // looks through headers - READ_BYTE (abil_off + (index2 * 0x28)) abil_type - PATCH_IF ((abil_type = type) OR (type < 0)) BEGIN - READ_SHORT (abil_off + 0x1e + (index2 * 0x28)) abil_fx_num - READ_SHORT (abil_off + 0x20 + (index2 * 0x28)) abil_fx_idx - FOR (index = 0 ; index < abil_fx_num ; index = index + 1) BEGIN - READ_SHORT (fx_off + ((abil_fx_idx + index) * 0x30)) opcode_file - PATCH_IF ((opcode = opcode_file) OR (opcode < 0)) BEGIN - PATCH_IF (opcode_new >= 0) BEGIN WRITE_SHORT (fx_off + ((index + abil_fx_idx) * 0x30)) opcode_new END - PATCH_IF (target >= 0) BEGIN WRITE_BYTE (fx_off + 0x02 + ((index + abil_fx_idx) * 0x30)) target END - PATCH_IF (power >= 0) BEGIN WRITE_BYTE (fx_off + 0x03 + ((index + abil_fx_idx) * 0x30)) power END - PATCH_IF (parameter1 >= 0) BEGIN WRITE_LONG (fx_off + 0x04 + ((index + abil_fx_idx) * 0x30)) parameter1 END - PATCH_IF (parameter2 >= 0) BEGIN WRITE_LONG (fx_off + 0x08 + ((index + abil_fx_idx) * 0x30)) parameter2 END - PATCH_IF (timing >= 0) BEGIN WRITE_BYTE (fx_off + 0x0c + ((index + abil_fx_idx) * 0x30)) timing END - PATCH_IF (resist_dispel >= 0) BEGIN WRITE_BYTE (fx_off + 0x0d + ((index + abil_fx_idx) * 0x30)) resist_dispel END - PATCH_IF (duration >= 0) BEGIN WRITE_LONG (fx_off + 0x0e + ((index + abil_fx_idx) * 0x30)) duration END - PATCH_IF (probability1 >= 0) BEGIN WRITE_BYTE (fx_off + 0x12 + ((index + abil_fx_idx) * 0x30)) probability1 END - PATCH_IF (probability2 >= 0) BEGIN WRITE_BYTE (fx_off + 0x13 + ((index + abil_fx_idx) * 0x30)) probability2 END - PATCH_IF (dicenumber >= 0) BEGIN WRITE_LONG (fx_off + 0x1c + ((index + abil_fx_idx) * 0x30)) dicenumber END - PATCH_IF (dicesize >= 0) BEGIN WRITE_LONG (fx_off + 0x20 + ((index + abil_fx_idx) * 0x30)) dicesize END - PATCH_IF (savingthrow >= 0) BEGIN WRITE_LONG (fx_off + 0x24 + ((index + abil_fx_idx) * 0x30)) savingthrow END - PATCH_IF (savebonus >= "-10") BEGIN WRITE_LONG (fx_off + 0x28 + ((index + abil_fx_idx) * 0x30)) savebonus END - PATCH_IF (duration_high >= 0) BEGIN - READ_LONG (fx_off + 0x0e + ((index + abil_fx_idx) * 0x30)) duration_file - PATCH_IF (duration_file > 5) BEGIN - WRITE_LONG (fx_off + 0x0e + ((index + abil_fx_idx) * 0x30)) duration_high - END - END - PATCH_IF ("%resource%" STRING_COMPARE_CASE "same") BEGIN - WRITE_ASCIIE (fx_off + 0x14 + ((index + abil_fx_idx) * 0x30)) "%resource%" #8 + READ_ASCII 0x00 sig (3) + SET abil_length = 0x28 + PATCH_IF ("%sig%" STRING_COMPARE_CASE "ITM" = 0) BEGIN + SET abil_length = 0x38 + END + READ_LONG 0x64 abil_off ELSE 0 + READ_SHORT 0x68 abil_num ELSE 0 + READ_LONG 0x6a fx_off ELSE 0 + SET fx_delta = 0 + FOR (index = 0 ; index < abil_num ; ++index) BEGIN // start iterating through abilities + WRITE_SHORT (abil_off + 0x20 + (abil_length * index)) (THIS + fx_delta) + READ_SHORT (abil_off + 0x1e + (abil_length * index)) abil_fx_num + READ_SHORT (abil_off + 0x20 + (abil_length * index)) abil_fx_idx + FOR (index2 = 0 ; index2 < abil_fx_num ; ++index2) BEGIN + READ_SHORT (fx_off + (0x30 * (abil_fx_idx + index2))) opcode + PATCH_IF ((opcode = 8) OR (opcode = 9)) BEGIN + READ_SHORT (fx_off + 0x08 + (0x30 * (abil_fx_idx + index2))) loc + PATCH_IF loc = 255 BEGIN + WRITE_SHORT (fx_off + 0x08 + (0x30 * (abil_fx_idx + index2))) 6 + READ_ASCII (fx_off + (0x30 * (abil_fx_idx + index2))) clone (48) + FOR (index3 = 0 ; index3 < 6 ; ++index3) BEGIN + INSERT_BYTES (fx_off + (0x30 * (abil_fx_idx + index2))) 0x30 + WRITE_ASCIIE (fx_off + (0x30 * (abil_fx_idx + index2))) ~%clone%~ + WRITE_SHORT (fx_off + 0x08 + (0x30 * (abil_fx_idx + index2))) index3 END + SET fx_delta += 6 + SET index2 += 6 + SET abil_fx_num += 6 END END END + WRITE_SHORT (abil_off + 0x1e + (abil_length * index)) abil_fx_num END END -DEFINE_PATCH_FUNCTION SPELL_ALTER_HEADER - INT_VAR type = "-1" // -1 is all headers, >4 forces icon match, otherwise use value here - header = 0 // 0 matches all headers, otherwise just modify specified header - use with type = -1 - type_new = "-1" // change the type at 0x00 to this value; negative values mean no change - location = "-1" // ability location at 0x02; negative values mean no change - target = "-1" // target at 0x0c; negative values mean no change - range = "-1" // range at 0x0e; negative values mean no change - min_level = "-1" // minimum level at 0x10; negative values mean no change - speed = "-1" // speed at 0x12; negative values mean no change - thac0_bonus = "-1" // to-hit bonus at 0x14; negative values mean no change - dicesize = "-1" // dice size at 0x16; negative values mean no change - dicenum = "-1" // number of dice at 0x18; negative values mean no change - damage_bonus = "-1" // +damage bonus at 0x1a; negative values mean no change - damage_type = "-1" // damage type at 0x1c; negative values mean no change - effects_num = "-1" // number of effects at 0x1e; negative values mean no change - effects_index = "-1" // effects index at 0x20; negative values mean no change - charges = "-1" // number of charges at 0x22; negative values mean no change - projectile = "-1" // projectile at 0x26; negative values mean no change - STR_VAR icon = "same" // ability icon at 0x04; used to match if type > 4; same means no change otherwise use this value +///// \\\\\ +///// CD_EXTEND-O-MATIC, patent pending \\\\\ +///// \\\\\ + +// this function creates headers and does basic duration extensions to level 30; written for inwd-in-bg2 ages ago +DEFINE_PATCH_FUNCTION CD_EXTEND-O-MATIC + INT_VAR base_dur = 0 // constant to add to all durations + step_dur = 6 // how much duration to add to each consecutive header + step_size = 1 // how many levels between headers + level_cap = 20 // stop extending at level + min_dur = 4 // ignore effects with durations less than this (e.g. cosmetics) + dur_special = 0 // just add step_dur to existing effects (ignore base_dur) + min_lev_alt = 0 // if extending from level 1, use this value as its minimum level instead (e.g. fifth slevel spell with only one header, use 9 here) BEGIN - READ_LONG 0x64 "abil_off" - READ_SHORT 0x68 "abil_num" - PATCH_IF (header = 0) BEGIN SET loop_start = 0 SET loop_end = abil_num END - ELSE BEGIN SET loop_start = (header - 1) SET loop_end = header END - FOR (index = loop_start ; index < loop_end ; ++index) BEGIN - READ_BYTE (abil_off + (index * 0x28)) abil_type - READ_ASCII (abil_off + 0x04 + (index * 0x28)) icon_file - PATCH_IF ((type < 0) OR (abil_type = type) OR ((type > 4) AND ("%icon_file%" STRING_COMPARE_CASE "%icon%" = 0))) BEGIN - PATCH_IF (type_new >= 0) BEGIN WRITE_SHORT (abil_off + (index * 0x28)) type_new END - PATCH_IF (location >= 0) BEGIN WRITE_SHORT (abil_off + 0x02 + (index * 0x28)) location END - PATCH_IF (target >= 0) BEGIN WRITE_SHORT (abil_off + 0x0c + (index * 0x28)) target END - PATCH_IF (range >= 0) BEGIN WRITE_SHORT (abil_off + 0x0e + (index * 0x28)) range END - PATCH_IF (min_level >= 0) BEGIN WRITE_SHORT (abil_off + 0x10 + (index * 0x28)) min_level END - PATCH_IF (speed >= 0) BEGIN WRITE_SHORT (abil_off + 0x12 + (index * 0x28)) speed END - PATCH_IF (thac0_bonus >= 0) BEGIN WRITE_SHORT (abil_off + 0x14 + (index * 0x28)) thac0_bonus END - PATCH_IF (dicesize >= 0) BEGIN WRITE_SHORT (abil_off + 0x16 + (index * 0x28)) dicesize END - PATCH_IF (dicenum >= 0) BEGIN WRITE_SHORT (abil_off + 0x18 + (index * 0x28)) dicenum END - PATCH_IF (damage_bonus >= 0) BEGIN WRITE_SHORT (abil_off + 0x1a + (index * 0x28)) damage_bonus END - PATCH_IF (damage_type >= 0) BEGIN WRITE_SHORT (abil_off + 0x1c + (index * 0x28)) damage_type END - PATCH_IF (effects_num >= 0) BEGIN WRITE_SHORT (abil_off + 0x1e + (index * 0x28)) effects_num END - PATCH_IF (effects_index >= 0) BEGIN WRITE_SHORT (abil_off + 0x20 + (index * 0x28)) effects_index END - PATCH_IF (charges >= 0) BEGIN WRITE_SHORT (abil_off + 0x22 + (index * 0x28)) charges END - PATCH_IF (projectile >= 0) BEGIN WRITE_SHORT (abil_off + 0x26 + (index * 0x28)) projectile END - PATCH_IF ("%icon%" STRING_COMPARE_CASE "same") BEGIN - WRITE_ASCIIE (abil_off + 0x04 + (index * 0x28)) "%icon%" #8 + READ_LONG 0x64 abil_off + READ_SHORT 0x68 abil_num + READ_LONG 0x6a fx_off + READ_SHORT (abil_off + 0x10 + (0x28 * (abil_num - 1))) min_lev // read level of last ability + PATCH_IF ((min_lev = 1) AND (min_lev_alt != 0)) BEGIN SET min_lev = min_lev_alt END + FOR (index = min_lev + step_size ; index < (level_cap + 1) ; index = index + step_size) BEGIN + READ_ASCII (abil_off + (0x28 * (abil_num - 1))) abil (0x28) // read entire ability + READ_SHORT (abil_off + 0x1e + (0x28 * (abil_num - 1))) abil_fx_num + READ_SHORT (abil_off + 0x20 + (0x28 * (abil_num - 1))) abil_fx_idx + READ_ASCII (fx_off + (0x30 * abil_fx_idx)) effects (abil_fx_num * 0x30) // read entire fx block + INSERT_BYTES (fx_off + (0x30 * (abil_fx_idx + abil_fx_num))) (abil_fx_num * 0x30) // insert bytes for new ability + WRITE_ASCIIE (fx_off + (0x30 * (abil_fx_idx + abil_fx_num))) "%effects%" // write in effects block + FOR (index2 = 0 ; index2 < abil_fx_num ; ++index2) BEGIN + READ_LONG (fx_off + 0x0e + (0x30 * (abil_fx_idx + abil_fx_num + index2))) duration + PATCH_IF (duration > min_dur) BEGIN // exclude instant/cosmetic efects + PATCH_IF dur_special = 1 BEGIN + SET new_dur = duration + step_dur + END ELSE BEGIN + SET new_dur = (base_dur + (index * step_dur)) + END + WRITE_LONG (fx_off + 0x0e + (0x30 * (abil_fx_idx + abil_fx_num + index2))) new_dur // adjust durations END END + INSERT_BYTES (abil_off + (0x28 * abil_num)) 0x28 // insert new ability + WRITE_ASCIIE (abil_off + (0x28 * abil_num)) "%abil%" + WRITE_SHORT (abil_off + 0x10 + (0x28 * abil_num)) index + WRITE_SHORT (abil_off + 0x20 + (0x28 * abil_num)) (abil_fx_idx + abil_fx_num) + SET abil_num += 1 + SET fx_off += 0x28 END + WRITE_SHORT 0x68 abil_num + WRITE_LONG 0x6a fx_off -END - -DEFINE_PATCH_FUNCTION SPELL_DELETE_HEADER - INT_VAR type = 0 // -1 for all headers, otherwise match type - min_level = "-1" // -1 for all headers, otherwise match - BEGIN - - READ_LONG 0x64 abil_off - READ_SHORT 0x68 abil_num - READ_LONG 0x6a fx_off - READ_SHORT 0x70 fx_num - SET fx_delta = 0 - FOR (index = 0 ; index < abil_num ; ++index) BEGIN // looks for default ability header - READ_BYTE (abil_off + (index * 0x28)) type_file - READ_SHORT (abil_off + 0x10 + (index * 0x28)) min_level_file - PATCH_IF (((type = type_file) OR (type < 0)) AND - ((min_level = min_level_file) OR (min_level < 0))) BEGIN // default ability check - READ_SHORT (0x1e + abil_off + (index * 0x28)) abil_fx_num - READ_SHORT (0x20 + abil_off + (index * 0x28)) abil_fx_idx - DELETE_BYTES (fx_off + (0x30 * (abil_fx_idx - fx_delta))) (0x30 * abil_fx_num) // deletes all associated effects - DELETE_BYTES (abil_off + (index * 0x28)) 0x28 // deletes ability itself - SET fx_delta = (fx_delta + abil_fx_num) - SET abil_num = (abil_num - 1) - SET index = (index - 1) - SET fx_off = (fx_off - 0x28) - END ELSE BEGIN // if non-matched ability, need to adjust effect indices - READ_SHORT (0x20 + abil_off + (index * 0x28)) abil_fx_idx - WRITE_SHORT (0x20 + abil_off + (index * 0x28)) (abil_fx_idx - fx_delta) - END - END - WRITE_SHORT 0x68 abil_num - WRITE_LONG 0x6a fx_off - END \ No newline at end of file diff --git a/iwdification/lib/spell_prep.tpa b/iwdification/lib/spell_prep.tpa new file mode 100644 index 0000000..bb49f76 --- /dev/null +++ b/iwdification/lib/spell_prep.tpa @@ -0,0 +1,113 @@ +ACTION_IF !FILE_EXISTS ~iwdification/wav/cditra61.wav~ BEGIN LAF CD_HANDLE_AUDIO END END + +/* animations that are good for either engine +OUTER_SET anim_aelem = 29472 +OUTER_SET anim_carrion = 41216 +OUTER_SET anim_gobaxe = 58368 +OUTER_SET anim_gobaxe_e = 58400 +OUTER_SET anim_gspider = 31232 +OUTER_SET anim_lizman_e = 58624 +OUTER_SET anim_mino = 57456 +OUTER_SET anim_ogre = 36864 +OUTER_SET anim_pbear = 29187 +OUTER_SET anim_pspider = 31234 +OUTER_SET anim_salfire = 59648 +OUTER_SET anim_salfrost = 59664 +OUTER_SET anim_shmound = 29442 +OUTER_SET anim_skeleton = 25603 +OUTER_SET anim_skeleton_fiend = 60192 +OUTER_SET anim_wwolf = 31491 +*/ + +ACTION_IF ee_game AND !VARIABLE_IS_SET anim_btroll BEGIN // don't repeat if you don't have to + + OUTER_SET anim_beetle = 57888 // beetle + OUTER_SET anim_btroll = 57520 // iwd blue troll + OUTER_SET anim_eelem = 57931 // iwd earth elemental + OUTER_SET anim_felem = 57932 // iwd fire elemental + OUTER_SET anim_ghast = 58144 // greater ghast + OUTER_SET anim_ghost = 58112 // ghost + OUTER_SET anim_jzombie = 60928 // ju-ju zombie + OUTER_SET anim_lizman = 58640 // lizard man + OUTER_SET anim_shadow_lg = 59936 // iwd large shadow + OUTER_SET anim_uhulk = 57552 // iwd-style umber hulk + OUTER_SET anim_welem = 57933 // iwd water elemental + OUTER_SET anim_yeti = 57949 // yeti + +END ELSE BEGIN + + OUTER_SET anim_beetle = 0 + OUTER_SET anim_btroll = 32512 // sub bg2 troll + OUTER_SET anim_eelem = 29440 // sub bg2 earth elemental + OUTER_SET anim_felem = 29456 // sub bg2 fire elemental + OUTER_SET anim_ghast = 30466 // sub bg2 ghast + OUTER_SET anim_ghost = 30467 // sub bg2 shadow + OUTER_SET anim_jzombie = 32000 // sub regular zombie + OUTER_SET anim_lizman = 58624 // bg2 lacks alternative lizard man animation + OUTER_SET anim_shadow_lg = 30467 // sub bg2 shadow + OUTER_SET anim_uhulk = 32529 // sub bg2 umber hulk + OUTER_SET anim_welem = 61200 // sub bg2 water elemental + OUTER_SET anim_yeti = 0 + + // if infinity animations has added iwd animations, use them + ACTION_IF MOD_IS_INSTALLED ~INFINITYANIMATIONS/SETUP-INFINITYANIMATIONS.TP2~ ~400~ BEGIN // 'distinctive undead' + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~GHAST_IWD~) > 0 THEN BEGIN + OUTER_SET anim_ghast = IDS_OF_SYMBOL (~animate~ ~GHAST_IWD~) + END + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~ZOMBIE_YELLOW_IWD~) > 0 THEN BEGIN + OUTER_SET anim_jzombie = IDS_OF_SYMBOL (~animate~ ~ZOMBIE_YELLOW_IWD~) + END + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~SHADOW_LARGE_IWD~) > 0 THEN BEGIN + OUTER_SET anim_shadow_lg = IDS_OF_SYMBOL (~animate~ ~SHADOW_LARGE_IWD~) + END + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~GHOST_IWD~) > 0 THEN BEGIN + OUTER_SET anim_ghost = IDS_OF_SYMBOL (~animate~ ~GHOST_IWD~) + END + + END + + ACTION_IF MOD_IS_INSTALLED ~INFINITYANIMATIONS/SETUP-INFINITYANIMATIONS.TP2~ ~500~ BEGIN // 'more base animations' + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~BEETLE_BLACK~) > 0 THEN BEGIN + OUTER_SET anim_beetle = IDS_OF_SYMBOL (~animate~ ~BEETLE_BLACK~) + END + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~TROLL_BLUE~) > 0 THEN BEGIN + OUTER_SET anim_btroll = IDS_OF_SYMBOL (~animate~ ~TROLL_BLUE~) + END + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~LIZARDMAN_GREEN~) > 0 THEN BEGIN + OUTER_SET anim_lizman = IDS_OF_SYMBOL (~animate~ ~LIZARDMAN_GREEN~) + END + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~UMBERHULK_IWD~) > 0 THEN BEGIN + OUTER_SET anim_uhulk = IDS_OF_SYMBOL (~animate~ ~UMBERHULK_IWD~) + END + + END + + ACTION_IF MOD_IS_INSTALLED ~INFINITYANIMATIONS/SETUP-INFINITYANIMATIONS.TP2~ ~550~ BEGIN // 'more icewind dale animations' + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~TUNDRA_YETI~) > 0 THEN BEGIN + OUTER_SET anim_yeti = IDS_OF_SYMBOL (~animate~ ~TUNDRA_YETI~) + END + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~ELEMENTAL_EARTH_IWD~) > 0 THEN BEGIN + OUTER_SET anim_eelem = IDS_OF_SYMBOL (~animate~ ~ELEMENTAL_EARTH_IWD~) + END + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~ELEMENTAL_FIRE_IWD~) > 0 THEN BEGIN + OUTER_SET anim_felem = IDS_OF_SYMBOL (~animate~ ~ELEMENTAL_FIRE_IWD~) + END + + ACTION_IF IDS_OF_SYMBOL (~animate~ ~ELEMENTAL_WATER~) > 0 THEN BEGIN + OUTER_SET anim_welem = IDS_OF_SYMBOL (~animate~ ~ELEMENTAL_WATER~) + END + + END + +END diff --git a/iwdification/pro/cdi207.pro b/iwdification/pro/cdi207.pro new file mode 100644 index 0000000..142d95b Binary files /dev/null and b/iwdification/pro/cdi207.pro differ diff --git a/iwdification/pro/cdi209.pro b/iwdification/pro/cdi209.pro new file mode 100644 index 0000000..857f2b2 Binary files /dev/null and b/iwdification/pro/cdi209.pro differ diff --git a/iwdification/pro/cdi211.pro b/iwdification/pro/cdi211.pro new file mode 100644 index 0000000..a14118e Binary files /dev/null and b/iwdification/pro/cdi211.pro differ diff --git a/iwdification/pro/cdi211a.pro b/iwdification/pro/cdi211a.pro new file mode 100644 index 0000000..ae68b1b Binary files /dev/null and b/iwdification/pro/cdi211a.pro differ diff --git a/iwdification/pro/cdi213.pro b/iwdification/pro/cdi213.pro new file mode 100644 index 0000000..66d9a1c Binary files /dev/null and b/iwdification/pro/cdi213.pro differ diff --git a/iwdification/pro/cdi213a.pro b/iwdification/pro/cdi213a.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdi213a.pro differ diff --git a/iwdification/pro/cdi215.pro b/iwdification/pro/cdi215.pro new file mode 100644 index 0000000..31e6ff1 Binary files /dev/null and b/iwdification/pro/cdi215.pro differ diff --git a/iwdification/pro/cdi217.pro b/iwdification/pro/cdi217.pro new file mode 100644 index 0000000..f8f1b99 Binary files /dev/null and b/iwdification/pro/cdi217.pro differ diff --git a/iwdification/pro/cdi237.pro b/iwdification/pro/cdi237.pro new file mode 100644 index 0000000..1fb5d69 Binary files /dev/null and b/iwdification/pro/cdi237.pro differ diff --git a/iwdification/pro/cdi251.pro b/iwdification/pro/cdi251.pro new file mode 100644 index 0000000..8b4003a Binary files /dev/null and b/iwdification/pro/cdi251.pro differ diff --git a/iwdification/pro/cdi255.pro b/iwdification/pro/cdi255.pro new file mode 100644 index 0000000..2571e3c Binary files /dev/null and b/iwdification/pro/cdi255.pro differ diff --git a/iwdification/pro/cdi266.pro b/iwdification/pro/cdi266.pro new file mode 100644 index 0000000..0a88dbc Binary files /dev/null and b/iwdification/pro/cdi266.pro differ diff --git a/iwdification/pro/cdi269.pro b/iwdification/pro/cdi269.pro new file mode 100644 index 0000000..2233dfa Binary files /dev/null and b/iwdification/pro/cdi269.pro differ diff --git a/iwdification/pro/cdi277.pro b/iwdification/pro/cdi277.pro new file mode 100644 index 0000000..6873c24 Binary files /dev/null and b/iwdification/pro/cdi277.pro differ diff --git a/iwdification/pro/cdi281.pro b/iwdification/pro/cdi281.pro new file mode 100644 index 0000000..5508aea Binary files /dev/null and b/iwdification/pro/cdi281.pro differ diff --git a/iwdification/pro/cdi282.pro b/iwdification/pro/cdi282.pro new file mode 100644 index 0000000..f6473dc Binary files /dev/null and b/iwdification/pro/cdi282.pro differ diff --git a/iwdification/pro/cdi298.pro b/iwdification/pro/cdi298.pro new file mode 100644 index 0000000..658c0cc Binary files /dev/null and b/iwdification/pro/cdi298.pro differ diff --git a/iwdification/pro/cdi299.pro b/iwdification/pro/cdi299.pro new file mode 100644 index 0000000..cfe631c Binary files /dev/null and b/iwdification/pro/cdi299.pro differ diff --git a/iwdification/pro/cdi300.pro b/iwdification/pro/cdi300.pro new file mode 100644 index 0000000..a0a333e Binary files /dev/null and b/iwdification/pro/cdi300.pro differ diff --git a/iwdification/pro/cdi300a.pro b/iwdification/pro/cdi300a.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdi300a.pro differ diff --git a/iwdification/pro/cdi301.pro b/iwdification/pro/cdi301.pro new file mode 100644 index 0000000..99a4f46 Binary files /dev/null and b/iwdification/pro/cdi301.pro differ diff --git a/iwdification/pro/cdi301a.pro b/iwdification/pro/cdi301a.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdi301a.pro differ diff --git a/iwdification/pro/cdi303.pro b/iwdification/pro/cdi303.pro new file mode 100644 index 0000000..c309b3e Binary files /dev/null and b/iwdification/pro/cdi303.pro differ diff --git a/iwdification/pro/cdi307.pro b/iwdification/pro/cdi307.pro new file mode 100644 index 0000000..c52f953 Binary files /dev/null and b/iwdification/pro/cdi307.pro differ diff --git a/iwdification/pro/cdi307a.pro b/iwdification/pro/cdi307a.pro new file mode 100644 index 0000000..d7bc3b3 Binary files /dev/null and b/iwdification/pro/cdi307a.pro differ diff --git a/iwdification/pro/cdi309.pro b/iwdification/pro/cdi309.pro new file mode 100644 index 0000000..3b03ad5 Binary files /dev/null and b/iwdification/pro/cdi309.pro differ diff --git a/iwdification/pro/cdi309a.pro b/iwdification/pro/cdi309a.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdi309a.pro differ diff --git a/iwdification/pro/cdi312.pro b/iwdification/pro/cdi312.pro new file mode 100644 index 0000000..514e604 Binary files /dev/null and b/iwdification/pro/cdi312.pro differ diff --git a/iwdification/pro/cdi313.pro b/iwdification/pro/cdi313.pro new file mode 100644 index 0000000..cfd5c1a Binary files /dev/null and b/iwdification/pro/cdi313.pro differ diff --git a/iwdification/pro/cdi313a.pro b/iwdification/pro/cdi313a.pro new file mode 100644 index 0000000..251f546 Binary files /dev/null and b/iwdification/pro/cdi313a.pro differ diff --git a/iwdification/pro/cdi315.pro b/iwdification/pro/cdi315.pro new file mode 100644 index 0000000..e77ff2b Binary files /dev/null and b/iwdification/pro/cdi315.pro differ diff --git a/iwdification/pro/cdi316.pro b/iwdification/pro/cdi316.pro new file mode 100644 index 0000000..63dee55 Binary files /dev/null and b/iwdification/pro/cdi316.pro differ diff --git a/iwdification/pro/cdi317.pro b/iwdification/pro/cdi317.pro new file mode 100644 index 0000000..0f87710 Binary files /dev/null and b/iwdification/pro/cdi317.pro differ diff --git a/iwdification/pro/cdi317a.pro b/iwdification/pro/cdi317a.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdi317a.pro differ diff --git a/iwdification/pro/cdi319.pro b/iwdification/pro/cdi319.pro new file mode 100644 index 0000000..05c1251 Binary files /dev/null and b/iwdification/pro/cdi319.pro differ diff --git a/iwdification/pro/cdi407.pro b/iwdification/pro/cdi407.pro new file mode 100644 index 0000000..d4efc95 Binary files /dev/null and b/iwdification/pro/cdi407.pro differ diff --git a/iwdification/pro/cdimfm.pro b/iwdification/pro/cdimfm.pro new file mode 100644 index 0000000..a7b0283 Binary files /dev/null and b/iwdification/pro/cdimfm.pro differ diff --git a/iwdification/pro/cdimfm2.pro b/iwdification/pro/cdimfm2.pro new file mode 100644 index 0000000..cef8a0e Binary files /dev/null and b/iwdification/pro/cdimfm2.pro differ diff --git a/iwdification/pro/cdisalau.pro b/iwdification/pro/cdisalau.pro new file mode 100644 index 0000000..92a3f15 Binary files /dev/null and b/iwdification/pro/cdisalau.pro differ diff --git a/iwdification/pro/cdishrod.pro b/iwdification/pro/cdishrod.pro new file mode 100644 index 0000000..3f179e5 Binary files /dev/null and b/iwdification/pro/cdishrod.pro differ diff --git a/iwdification/pro/cdistatc.pro b/iwdification/pro/cdistatc.pro new file mode 100644 index 0000000..3a2ac3a Binary files /dev/null and b/iwdification/pro/cdistatc.pro differ diff --git a/iwdification/pro/cdisunsc.pro b/iwdification/pro/cdisunsc.pro new file mode 100644 index 0000000..e0ce3fb Binary files /dev/null and b/iwdification/pro/cdisunsc.pro differ diff --git a/iwdification/pro/cdiswave.pro b/iwdification/pro/cdiswave.pro new file mode 100644 index 0000000..1f1f41a Binary files /dev/null and b/iwdification/pro/cdiswave.pro differ diff --git a/iwdification/pro/cdiuward.pro b/iwdification/pro/cdiuward.pro new file mode 100644 index 0000000..8a8727b Binary files /dev/null and b/iwdification/pro/cdiuward.pro differ diff --git a/iwdification/pro/cdivrnp.pro b/iwdification/pro/cdivrnp.pro new file mode 100644 index 0000000..9e42386 Binary files /dev/null and b/iwdification/pro/cdivrnp.pro differ diff --git a/iwdification/pro/cdivrpo.pro b/iwdification/pro/cdivrpo.pro new file mode 100644 index 0000000..7610b16 Binary files /dev/null and b/iwdification/pro/cdivrpo.pro differ diff --git a/iwdification/pro/cdiwallm.pro b/iwdification/pro/cdiwallm.pro new file mode 100644 index 0000000..a0c6a80 Binary files /dev/null and b/iwdification/pro/cdiwallm.pro differ diff --git a/iwdification/pro/cdiwhira.pro b/iwdification/pro/cdiwhira.pro new file mode 100644 index 0000000..ac62db9 Binary files /dev/null and b/iwdification/pro/cdiwhira.pro differ diff --git a/iwdification/pro/cdiwhirl.pro b/iwdification/pro/cdiwhirl.pro new file mode 100644 index 0000000..8913f0e Binary files /dev/null and b/iwdification/pro/cdiwhirl.pro differ diff --git a/iwdification/readme-iwdification.html b/iwdification/readme-iwdification.html index fb24987..1b9d8fa 100644 --- a/iwdification/readme-iwdification.html +++ b/iwdification/readme-iwdification.html @@ -1,797 +1,256 @@ -IWDification, a Gibberlings Three Mod +IWDification - - + + -

IWDification

-
-

A Gibberlings Three Mod
- Authors: CamDawg and DavidW
- On the web: Home page and discussion - forum

-

Version Beta 3 - Check - for the most recent version
- Languages: English
- Platforms: Windows, Mac OS X, Linux

+
+ +
+
+

IWDification

+
+
+
+
+

A Gibberlings Three Mod
+ Authors:
CamDawg and DavidW

+

Version Beta 4
+ Languages: English
+ Platforms: Windows, Mac OS X, and Linux
+ GitHub: Gibberlings3/iwdification

+
+
+

Overview

+
+
+
+
+
+

IWDification is a mod to bring some of the elements of Icewind Dale into the Baldur's Gate series of games. A lot of this project is based upon the work of the IWD-in-BG2 conversion project, which later formed the backbone of IWDEE.

+

The mod is currently an open beta so expect some bugs here and there. Please report them on the forums so that they can be addressed.

+
+

 

+
+
+

Compatibility

+
+
+
+
+
+

IWDification works on all IE games that use the Baldur's Gate II engine, which includes the original Baldur's Gate II (Shadows of Amn with or without Throne of Bhaal), the two major Baldur's Gate conversion mods (Tutu and BGT), and the Enhanced Editions of Baldur's Gate and Baldur's Gate II. Content will be adjusted as appropriate for the detected platform--e.g. no +5 items or ninth level spells will be added to a Tutu or BGEE game.

+

For EE games:

+

+ All arcane and divine spells are available. In addition, the animations from IWD will be used for various summons--e.g. the shadows summoned by the spell Shades will use the IWD 'large shadow' animation, umber hulks and trolls from Monster Summoning will look like IWD hulks and trolls, etc.

+

For non-EE games:

+

TobEx is highly recommended for players using the spell packs on the original games. Without TobEx, spell selection screens during character creation are limited to 24 spells, as are spellbook pages. Since there are more than 24 spells available at some levels you will not be able to see all spells available or be able to select them. Cat's Grace, a second-level arcane spell, relies on functionality provided by TobEx and will be skipped if it's not detected.

+

The fourth-level divine spell Giant Insect relies on Infinity Animations, as the beetles summoned by the spell do not have animations in the original BG2, and will be skipped without the mod being installed. One of the summons (yeti) for the sixth-level arcane spell Monster Summoning IV will not be available without Infinity Animations, though the spell will otherwise work with the other two summon options. Polymorph Self will also have an additional option, Boring Beetle, if IA is installed. If IWD animations are detected, they will be used for varous summons, as they are for EE games.

+
+
+
+

Bug Reporting

+
+
+
+
+

If you should encounter any bugs, please report them to the authors at the IWDification forum. In addition, IWDification is available on GitHub, so fixes and changes can be submitted by the community.

+

Known Issues

+

Two-handed axes use the same combat and paperdoll animations as halberds.

+

Contact Other Plane has no dialogue written, and is therefore unavailable at present.

+

Arcane spell scrolls are only available in stores, and the new arcane and divine spells are currently not utilized by enemies. This is something that future versions will address.

+

Known Issues (Non-EE Games)

+

Many of the cosmetic effects for the new spells are too transparent; a review is planned for the next version.

+

The Cat's Grace spell (part of the Arcane Spell Pack) requires TobEx for its unique dexterity modifications. Giant Insect (part of the Divine Spell Pack) requires the beetle animation, part of Infinity Animations. In addition, Monster Summoning IV (Arcane Spell Pack) will have yetis as a summoning option if the yeti animation and Infinity Animations is installed; otherwise the spell will still work with the other summoning options.

+

Just like IWD-in-BG2, a small number of spells cannot currently be converted at all. The current list is: Seven Eyes, Soul Eater, (Great) Shout, Mordenkainen's Force Missiles, Spiritual Wrath, Mold Touch, Wall of Moonlight, and Smashing Wave. A few other spells are converted a bit suboptimally, and don't work quite the way they did in IWD. The current list is Blood Rage, Animal Rage, Static Charge, and Whirlwind. Spells which use cloud (or cloud-like) projectiles are simulated in a very roundabout fashion; the upshot is that the visuals don't always reflect their actual area of effect and don't look as nice as they do in IWD or in the EE engine.

-

Overview

-
-

IWDification is a mod to bring some of the elements of Icewind Dale into the Baldur's Gate series of games. A lot of this project is based upon the work of the IWD-in-BG2 conversion project.

-

The mod is currently an open beta so expect some bugs here and there. Please report them on the forums so that they can be addressed.

+
+

Installation

+
+
+
+
+

Special Note for Siege of Dragonspear from Steam/GOG
+
Good Old Games (GOG) and Steam both package the additional content for Siege of Dragonspear in a method that WeiDU, the tool used to install this mod, cannot access. You must run a program called Modmerge on your SoD installation before you can install this or any other WeiDU-based mod.

+

Enhanced Editions Note
+ The Enhanced Editions are actively supported games. Please note that every patch update will wipe your current mod setup! If in the middle of a modded game you might want to delay the patch update (if possible) as even after reinstalling the mods, you might not be able to continue with your old savegames. Alternatively, copy the whole game's folder into a new one that can be modded and will stay untouched by game patches. It is important that you install the mod to the language version you are playing the game in. Otherwise, the dialogues of the mod will not show but give error messages.

+

Windows
+ IWDification for Windows is distributed as a self-extracting archive and includes a WeiDU installer. To install, simply double-click the archive and follow the instructions on screen.

+

Alternatively, the files can be extracted into your game directory using 7zip or WinRAR. When properly extracted, your game directory will contain setup-iwdification.exe and the folderiwdification. To install, double-click setup-iwdification.exe and follow the instructions on screen.

+

You can run setup-iwdification.exe in your game folder to reinstall, uninstall or otherwise change components.

+

Mac OS X
+ IWDification for Mac OS X is distributed as a compressed tarball and includes a WeiDU installer.

+

First, extract the files from the tarball into your game directory. When properly extracted, your game directory will contain setup-iwdification, setup-iwdification.command, and the folderiwdification. To install, double-click setup-iwdification.command and follow the instructions on screen.

+

You can run setup-iwdification.command in your game folder to reinstall, uninstall or otherwise change components.

+

Linux
+ IWDification for Linux is distributed as a compressed tarball and does not include a WeiDU installer.

+

Extract the contents of the mod to the folder of the game you wish to modify.

+

Download the latest version of WeiDU for Linux from WeiDU.org and copy WeiDU and WeInstall to /usr/bin. Following that, open a terminal, cd to your game installation directory, run tolower and answer Y to both queries. You can avoid running the second option (linux.ini) if you've already ran it once in the same directory. To save time, the archive is already tolowered, so there's no need to run the first option (lowercasing file names) either if you've extracted only this mod since the last time you lowercased file names. If you're unsure, running tolower and choosing both options is the safe bet.

+

To install, run WeInstall iwdification in your game folder. Then run wine BGMain.exe and start playing.

+

Note for Complete Uninstallation
+ In addition to the methods above for removing individual components, you can completely uninstall the mod using setup-iwdification --uninstall at the command line to remove all components without wading through prompts.

+
+
+

Contents

+
+
+
+
+

IWDification has several components, which can be installed completely independently of one another.

+

Icewind Dale Casting Graphics (Andyr)
+ Also available in the Tweaks Anthology mod

+

When your character casts a spell, you get a pretty sequence of colors swirling around their hand depending on the school the spell cast came from. A necromantic spell, for example, looks quite different from creating an illusion. The Baldur's Gate and Icewind Dale games use different sets of animations for the schools. This component changes the spellcasting animations to those of Icewind Dale. Note that this is purely a cosmetic change--the spells themselves function exactly as before. Screenshots for comparison are available in the Tweaks gallery.

+

Commoners Use Drab Colors
+ Also available in the Tweaks Anthology mod

+

Unlike Icewind Dale, commoners in BG2 wear brightly colored clothes. This tweak changes the random selections of colors for commoners to a drab palette. The dress of noblemen and noblewomen are not affected.

+

Arcane Spell Pack

+

This component adds more than 30 arcane spells from Icewind Dale. This component does not alter existing BG2 spells to match their IWD counterparts, except as noted below. Complete descriptions are available on the project pages.

+
    +
  • Updated: Emotion, Hopelessness is updated to its IWD counterpart to match the other three new spells in the Emotion series. Polymorph Self gains two new forms, Polar Bear and Winter Wolf, and possibly a third, Boring Beetle, depending on your game. The fifth level elemental conjuring series is updated to its IWD counterpart to facilitate the addition of the water elemental spell.
  • +
  • Level 1: Expeditious Retreat
  • +
  • Level 2: Cat's Grace2, Decastave, Snilloc's Snowball Swarm
  • +
  • Level 3: Icelance, Lance of Disruption
  • +
  • Level 4: Beltyn's Burning Blood; Emotion, Courage; Emotion, Fear; Emotion, Hope; Mordenkainen's Force Missiles1; Shadow Monsters; Shout1; Vitriolic Sphere
  • +
  • Level 5: Conjure Water Elemental, Demi-Shadow Monsters, Shroud of Flame, Summon Shadow
  • +
  • Level 6: Antimagic Shell, Darts of Bone, Lich Touch, Monster Summoning IV, Otiluke's Freezing Sphere, Shades, Soul Eater1, Trollish Fortitude
  • +
  • Level 7: Acid Storm, Malavon's Rage, Monster Summoning V, Seven Eyes1, Suffocate
  • +
  • Level 8: Great Shout, Iron Body1, Mind Blank, Monster Summoning VI
  • +
  • Level 9: Monter Summoning VII
  • +
+

1 Only available for EE games
+ 2 Only available for EE games OR vanilla games with TobEx installed

+

Divine Spell Pack

+

This component adds more than 40 divine spells from Icewind Dale and does not alter existing BG2 spells to match their IWD counterparts. Divine spellcasters will receive these spells, as appropriate, in their spellbooks as they level up. Joinable NPCs also receive updates to their spellbooks to account for the new spells. Complete descriptions are available on the project pages.

+
    +
  • Level 1: Cause Light Wounds, Curse, Sunscorch
  • +
  • Level 2: Alicorn Lance, Beast Claw, Cause Moderate Wounds, Cure Moderate Wounds
  • +
  • Level 3: Cause Disease, Cause Medium Wounds, Circle of Bones, Cloudburst, Exaltation, Favor of Ilmater1, Mold Touch1, Moonblade, Prayer, Spike Growth
  • +
  • Level 4: Blood Rage, Cloud of Pestilence, Giant Insect2, Produce Fire, Recitation, Smashing Wave1, Star Metal Cudgel, Static Charge, Thorn Spray, Unfailing Endurance, Wall of Moonlight1
  • +
  • Level 5: Animal Rage, Mass Cause Light Wounds, Righteous Wrath of the Faithful, Shield of Lathander, Spike Stones, Undead Ward
  • +
  • Level 6: Entropy Shield, Spiritual Wrath1, Whirlwind
  • +
  • Level 7: Destruction; Energy Drain; Greater Shield of Lathander; Impervious Sanctity of Mind; Mist of Eldath; Stalker; Symbol, Hopelessness; Symbol, Pain
  • +
+

1 Only available for EE games
+ 2 Only available for EE games OR vanilla games with Infinity Animations installed

+

Bard Song

+

Bards in Icewind Dale gained different bard songs as they leveled:

+
    +
  • The Ballad of Three Heroes - Available at level one, this provides all allies with +1 to hit, +1 damage, and +1 to saving throws.
  • +
  • The Tale of Curran Strongheart - Available at level three, this song protects the party from fear and removes any current fear effects.
  • +
  • Tymora's Melody - Available at level five, the party gains +1 luck, +3 to all saves, and +10 to lore and thieving skills.
  • +
  • The Song of Kaudies - Available at level seven, this provides a 50% resistance to sound-based attacks and spells such as power words, sirine charm, silence, and others.
  • +
  • The Siren's Yearning - Available at level nine, this song enthralls your foes, preventing action for five rounds on a failed save vs. spell.
  • +
  • War Chant of the Sith - Available at level 11, this provides +2 AC, regeneration of two HP/round, and 10% resistance to all crushing, missile, piercing, and slashing damage.
  • +
+

As the songs become available to the bard, the ability to freely switch between them is available. This component only affects trueclass bards, as the available kits use variants of BG2 bard song for kit advantages and/or disadvantages. Bards with these new songs will not be able to pick Enhanced Bard Song as a high-level ability.

+

Two Handed Axes

+

Icewind Dale also featured two-handed axes, as opposed to the strictly one-handed variety found in the Baldur's Gate series. This component scatters normal and magical two-handed axes throughout the game to make them available for players. Two-handed axes use the axe proficiency and have base stats of 9 speed and 1d10 damage. Spoilers about their precise locations are available on the forums.

-

Compatibility

-
-

IWDification works on all IE games that use the Baldur's Gate II engine, which includes the original Baldur's Gate II (Shadows of Amn with or without Throne of Bhaal), the two major Baldur's Gate conversion mods (Tutu and BGT), and the Baldur's Gate: Enhanced Edition. Content will be adjusted as appropriate for the detected platform--e.g. no +5 items or ninth level spells will be added to a Tutu or BGEE game. The Throne of Bhaal expansion is not required.

-

TobEx is highly recommended for players using the spell packs. Without TobEx, spell selection screens during character creation are limited to 24 spells, as are spellbook pages. Since there are more than 24 spells available at some levels you will not be able to see all spells available or be able to select them. Cat's Grace, a second-level arcane spell, relies on functionality provided by TobEx and will be skipped if it's not detected.

-

The fourth-level divine spell Giant Insect relies on Infinity Animations, as the beetles summoned by the spell do not have animations in BG2, and will be skipped without the mod being installed. One of the summons (yeti) for the sixth-level arcane spell Monster Summoning IV will not be available without Infinity Animations, though the spell will otherwise work with the other two summon options.

-
-

Known Issues

-
-

Two-handed axes use the same combat and paperdoll animations as halberds.

-

Contact Other Plane has no dialogue written, so summoning the spirit is fairly pointless at present.

-

The Cat's Grace spell (part of the Arcane Spell Pack) requires TobEx for its unique dexterity modifications. Giant Insect (part of the Divine Spell Pack) requires the beetle animation, part of Infinity Animations. In addition, Monster Summoning IV (Arcane Spell Pack) will have yetis as a summoning option if the yeti animation and Infinity Animations is installed; otherwise the spell will still work with the other summoning options.

-

Just like IWD-in-BG2, a small number of spells cannot currently be converted at all. The current list is: Seven Eyes, Soul Eater, (Great) Shout, Mordenkainen's Force Missiles, Spiritual Wrath, Mold Touch, Wall of Moonlight, and Smashing Wave. A few other spells are converted a bit suboptimally, and don't work quite the way they did in IWD. The current list is Blood Rage, Animal Rage, Static Charge, and Whirlwind.

-
-

Installation

-
-

Windows
- IWDification is packaged - and installed with WeiDU and - is distributed as a self-extracting archive. To install, simply double-click - the archive and follow the instructions on screen.

-

Alternatively the files can be extracted from the archive using WinRAR. - If properly extracted, you should have an iwdification folder and setup-iwdification.exe - in your BG2 folder. To install, - simply double-click setup-iwdification.exe and follow the instructions on screen.

-

Please run setup-iwdification.exe in your BG2 folder - to reinstall, uninstall or otherwise change components.

-

Mac OS X
- If the mod was previously installed, uninstall it before extracting the - new version. IWDification is packaged and installed with WeiDU. - To install, simply extract the contents of the mod into your BG2 folder. - If properly extracted, you should have an iwdification folder, setup-iwdification, - and setup-iwdification.command in your BG2 folder. - To install, simply double-click setup-iwdification.command and - follow the instructions on screen.

-

Linux
- Download the latest version of WeiDU for - Linux from weidu.org and extract - (at least) the WeiDU, - weinstall and tolower executables in a $PATH directory (E.G. /usr/bin). Following that, open a terminal, cd to your BG2 installation directory, run `tolower' and answer Y to both queries.

-

You can avoid running the second option (linux.ini) - if you've already ran it once in the same directory. To save time, the - archive is already tolowered, so there's no need to run the first option - (lowercasing file names) either if you've extracted only this mod since - the last time you lower cased file name. If you're unsure, running tolower and choosing both - options is the safe bet.

-

After that, run 'weinstall iwdification from your game installation directory - to install or uninstall the mod.

-
-

Contents

-
-

IWDification has several - components, which can be installed completely independently of one another.

-

Icewind Dale Casting Graphics (Andyr)

-

Also available in the BG2 Tweaks mod

-

When your character casts a spell, you get a pretty sequence of colors swirling - around their hand depending on the school the spell cast came from. A necromantic - spell, for example, looks quite different from creating an illusion. The - Baldur's Gate and Icewind Dale games use different sets of animations for - the schools. This component changes the spellcasting animations to those - of Icewind Dale. Note that this is purely a cosmetic change--the spells - themselves function exactly as before. Screenshots for comparison are available - in the Tweaks - gallery.

-

Commoners Use Drab Colors

-

Also available in the BG2 Tweaks mod

-

Unlike Icewind Dale, commoners in BG2 wear - brightly colored clothes. This tweak changes the random selections of colors - for commoners to a drab palette. The dress of noblemen and noblewomen are - not affected.

-

Arcane Spell Pack

-

This component adds about 30 arcane spells from Icewind Dale. This component does not alter existing BG2 spells to match their IWD counterparts, with one exception: BG2's standalone Emotion spell becomes IWD's Emotion: Hopelessness so that the full series of Emotion spells can be made available.

-

Decastave
- (Evocation)
- Level: 2
- Range: Caster
- Duration: 1 round/level
- Casting Time: 2
- Area of Effect: Caster
- Saving Throw: None
- This spell creates a staff of force in the caster's hand. It is treated as a magical weapon, doing 1-6 hit points of damage per hit, and it can hit creatures immune to normal weapons. It is a staff, however, so if the caster does not have a proficiency in staff weapons, then the Decastave is used at a penalty. The staff also has the power to drain a target of 1-2 hit points on the first strike. These hit points are added to the caster's, but they can only heal damage the caster has taken; they will not raise his hit points beyond his normal maximum.

-

Cat's Grace (Alteration)
- Level: 2
- Range: Touch
- Duration: 1 hour/level
- Casting Time: 2
- Area of Effect: 1 creature
- Saving Throw: None
- This spell magically increases a target's dexterity. The amount depends on the target's class: Thieves gain 1d8 points, Fighters and Mages gain 1d6 points, and Clerics gain 1d4 points. Cat's Grace cannot raise a target's dexterity past 20.

-

Cat's Grace requires TobEx to be installed, otherwise it will be skipped.

-

Snilloc's Snowball Swarm
- (Evocation)
- Level: 2
- Range: Sight of Caster
- Duration: Instantaneous
- Casting Time: 2
- Area of Effect: 25-foot radius
- Saving Throw: 1/2 damage
- This spell causes a flurry of snowballs to erupt from a point within range. These snowballs will hit everything within the area of effect, doing 1-3 hit points/level, up to a maximum of 8-24 hit points at level 8. Against fire-using or fire-dwelling creatures, it inflicts 1-6 hit points/level.

-

Icelance (Evocation)
- Level: 3
- Range: Sight of Caster
- Duration: Instantaneous
- Casting Time: 3
- Area of Effect: 1 creature
- Saving Throw: Special
- This spell fires a magical lance of ice at a target of the caster's choosing. It automatically hits, inflicting 5-30 points of damage and forcing the target to make a saving throw vs. spell or be stunned for 1-4 rounds.

-

Lance of Disruption (Invocation)
- Level: 3
- Range: 60 feet
- Duration: Instantaneous
- Casting Time: 3
- Area of Effect: Special
- Saving Throw: 1/2
- This spell creates a lance of force, extending from the caster to a specified point 60 feet in the distance. Any creatures in the lance's path take 5d4 points of bludgeoning damage, +2 points of damage per level of the caster (maximum of +30). Victims can save vs. spell for half damage.

-

Beltyn's Burning Blood
- (Necromancy)
- Level: 4
- Range: Sight of Caster
- Duration: 1 round/2 levels
- Casting Time: 4
- Area of Effect: 1 creature
- Saving Throw: Neg.
- This spell turns a target's blood to flame, doing 3-12 hit points of damage every round and driving the victim berserk with pain. The target gets to save vs. spell every round; if successful, the damage and berserk state are negated. This spell does not work against undead or extraplanar creatures that do not have blood (such as elementals). If the creature is resistant to fire, this resistance will lower or nullify the damage from this spell.

-

Emotion: Hopelessness
- (Enchantment/Charm)
- Level: 4
- Range: Sight of Caster
- Duration: 1 turn
- Casting Time: 4
- Area of Effect: 10-foot radius
- Saving Throw: Neg.
- This spell creates the emotion of hopelessness within the area of effect. All creatures affected by the spell just stand and do nothing for the duration of the spell.

-

Emotion: Hopelessness will replace the existing Emotion spell in Baldur's Gate II.

-

Emotion: Courage
- (Enchantment/Charm)
- Level: 4
- Range: Sight of Caster
- Duration: 5 turns
- Casting Time: 4
- Area of Effect: 10-foot radius
- Saving Throw: Neg.
- This spell creates the emotion of courage within the area of effect. All creatures affected by the spell gain +1 to hit, +3 to their damage rolls, and +5 temporary hit points (which can put them above their maximum hit points). This spell nullifies all fear effects within the area of effect at the time of casting.

-

Emotion: Fear
- (Enchantment/Charm)
- Level: 4
- Range: Sight of Caster
- Duration: 5 rounds
- Casting Time: 4
- Area of Effect: 10-foot radius
- Saving Throw: Neg.
- This spell creates the emotion of fear within the area of effect. All creatures affected by the spell flee for 5 rounds.

-

Emotion: Hope
- (Enchantment/Charm)
- Level: 4
- Range: Sight of Caster
- Duration: 5 turns
- Casting Time: 4
- Area of Effect: 10-foot radius
- Saving Throw: Neg.
- This spell creates the emotion of hope within the area of effect. All creatures affected by the spell gain a morale boost, and +2 on their saving throws, attack rolls and damage rolls.

-

Vitriolic Sphere (Conjuration)
- Level: 4
- Range: Sight of Caster
- Duration: Special
- Casting Time: 4
- Area of Effect: Special
- Saving Throw: Special
- This spell conjures a sphere of glowing emerald acid that the caster can direct to strike any target within range. When it reaches its target, the sphere explodes and drenches the victim in potent acid. The victim suffers 1d4 points of acid damage per caster level, to a maximum of 12d4 points of damage. After the initial damage, the victim must make a saving throw to avoid more damage. If unsuccessful, the victim continues to suffer acid damage in the following rounds, sustaining two less dice of damage each round. For example, an 8th-level wizard inflicts 8d4 damage with this spell on the first round, 6d4 on the second round, 4d4 on the third round, 2d4 on the fourth round, and the spell ends on the fifth round. Each round the victim is entitled to a saving throw vs. spell to avoid further damage. The vitriolic sphere also splashes acid in a 5-foot radius around the primary target. Any creatures within the splash radius must save vs. polymorph/paralyzation or suffer a splash hit that inflicts 1d4 points of damage per every five levels of the caster. Splash hits do not cause continuing damage.

-

Shadow Monsters
- (Illusion/Phantasm)
- Level: 4
- Range: Sight of Caster
- Duration: 1 round/level
- Casting Time: 4
- Area of Effect: 20-foot cube
- Saving Throw: Special
- This spell shapes material from the Demiplane of Shadow into illusionary monsters. These monsters are randomly summoned one by one with Hit Dice between 1 and the level of the spellcaster, until the summoned creatures' Hit Dice total the spellcaster's level. (For example, a 15th level wizard could summon a 10th level creature one round, then the next round the next creature appearing would have 1 through 5 Hit Dice, and so on.) These shadowy creatures have only 20% of the hit points of their real-world counterparts, although their attacks do full damage.

-

Shroud of Flame (Invocation)
- Level: 5
- Range: Sight of Caster
- Duration: 1 round/2 levels (special)
- Casting Time: 5
- Area of Effect: 1 creature
- Saving Throw: Neg.
- This spell causes a creature to burst into flames if it fails a saving throw vs. spell. The creature will burn for 2d6 points of damage every round, and gouts of flame erupt from the burning target, causing any creatures within ten feet of the target to take 1d4 points of damage from the flames. Anyone hit by the victim's flames must also make a saving throw vs. spell to avoid contracting the shroud themselves. The shroud of flame dissipates if the caster and target are no longer in the same area. This spell is particularly useful in dispersing packs of trolls and frost salamanders.

-

Demi-Shadow Monsters
- (Illusion/Phantasm)
- Level: 5
- Range: Sight of Caster
- Duration: 1 round/level
- Casting Time: 5
- Area of Effect: 20-foot cube
- Saving Throw: None
- This spell is similar to the 4th level wizard spell, Shadow Monsters, except the summoned creatures are much more powerful, with 40% of the hit points of their real-world counterpart.

-

Summon Shadow
- (Conjuration/Summoning, Necromancy)
- Level: 5
- Range: Sight of Caster
- Duration: 1 round + 1 round/level
- Casting Time: 5
- Area of Effect: 10-foot cube
- Saving Throw: None
- This spell summons one shadow for every three levels of the caster. This shadow will obey the orders of the caster, attacking his enemies or performing tasks until the spell expires or the shadows are slain.

-

Contact Other Plane (Divination)
- Level: 5
- Range: Caster
- Duration: Instantaneous
- Casting Time: 1 round
- Area of Effect: Caster
- Saving Throw: None
- This spell allows the wizard to contact powers from other planes of existence in order to receive advice and information. The nature of the divination is oriented around knowledge of powerful foes, magic items, and spells.

-

Lich Touch
- (Necromancy)
- Level: 6
- Range: Touch
- Duration: 1 round/level
- Casting Time: 6
- Area of Effect: Caster
- Saving Throw: Special
- This spell confers the powers of a lich's touch and a lich's immunities upon the caster. The wizard gains immunity to paralysis and fear while the spell is in effect, and his hands glow with an unearthly green radiance that does 1-10 hit points of damage to a target and paralyzes them unless a saving throw vs. paralyzation is made. This spell has no effect on undead.

-

Antimagic Shell
- (Abjuration)
- Level: 6
- Range: Caster
- Duration: 1 turn/level
- Casting Time: 1
- Area of Effect: Caster
- Saving Throw: None
- This spell surrounds the caster with an invisible barrier that moves with him. This barrier makes the wizard immune to any magical attacks, but it prevents the wizard from casting spells out of the shell.

-

Monster Summoning IV
- (Conjuration/Summoning)
- Level: 6
- Range: 40 yards
- Duration: 5 rounds + 1 round/level
- Casting Time: 6
- Area of Effect: Special
- Saving Throw: None
- With the casting of this spell the wizard summons 1-3 4th level monsters. These appear within spell range and may be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.

-

Yeti will be available for Monster Summoning IV if the animation has been added by Infinity Animations.

-

Otiluke's Freezing Sphere
- (Alteration, Evocation)
- Level: 6
- Range: Sight of Caster
- Duration: Instantaneous
- Casting Time: 6
- Area of Effect: 1 creature
- Saving Throw: Neg.
- This spell fires an orb of cold at a creature that inflicts 3-6 points of cold damage/level of the caster. If the target makes its saving throw, however, they have dodged the orb and avoided all damage.

-

Shades (Illusion/Phantasm)
- Level: 6
- Range: Sight of Caster
- Duration: 1 round/level
- Casting Time: 6
- Area of Effect: 20-foot cube
- Saving Throw: None
- Shades is similar to Shadow Monsters and Demishadow Monsters - it allows the caster to shape material from the Demiplane of Shadow into illusionary creatures. These shadows are tougher than the shadows summoned by Shadow Monsters and Demishadow Monsters, and they will obey the caster until the spell expires or they are slain.

-

Darts of Bone (Necromancy)
- Level: 6
- Range: Caster
- Duration: 5 rounds
- Casting Time: 5
- Area of Effect: Caster
- Saving Throw: None
- This spell creates nine darts that can be used by the caster and cannot be unequipped so long as the spell is in effect. The darts are +3, do 1d4 damage, and a creature struck by a dart must save vs. death or take another 2d6 damage and have its strength reduced by 3 for 5 rounds. The caster's weapon proficiency with darts (or lack thereof) has no effect on the darts' chances to hit a target.

-

Trollish Fortitude (Necromancy)
- Level: 6
- Range: Caster
- Duration: 2 turns
- Casting Time: 6
- Area of Effect: Caster
- Saving Throw: None
- This spell imbues the caster with the resilience of a troll, allowing the caster to regenerate 5 hit points per round up to his/her maximum hit points.

-

Monster Summoning V
- (Conjuration/Summoning)
- Level: 7
- Range: 40 yards
- Duration: 6 rounds + 1 round/level
- Casting Time: 6
- Area of Effect: Special
- Saving Throw: None
- With the casting of this spell the wizard summons 1-3 5th level monsters. These appear within spell range and may be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.

-

Malavon's Rage
- (Evocation)
- Level: 7
- Range: Caster
- Duration: Instantaneous
- Casting Time: 1
- Area of Effect: 15-foot radius
- Saving Throw: 1/2
- Malavon's Rage was created by the dark elf sorcerer Malavon. It shoots darts of pure energy out from the caster's body in all directions, harming friend and foe alike. The small wedges of magic do 20-80 points of piercing damage to everything caught in their path. This spell is especially useful when a mage is surrounded by enemies.

-

Acid Storm
- (Evocation)
- Level: 7
- Range: Sight of Caster
- Duration: 1 round/level
- Casting Time: 7
- Area of Effect: 20-foot radius
- Saving Throw: 1/2
- This spell unleashes an acidic downpour on the area of effect, doing 1-4 hit points of damage each round for the first three rounds, 1-6 hit points for the next three rounds, and 1-8 hit points for each round thereafter. Moving out of the area of effect does not stop the damage - the acid adheres to the skin, and any creatures in the area of effect when the Acid Storm is cast continue to suffer damage as long as the spell duration lasts. Creatures make a saving throw vs. spell every round after they have been hit by the cloud - if successful, they only take half-damage (for that round only).

-

Suffocate (Alteration)
- Level: 7
- Range: Sight of Caster
- Duration: 4 rounds
- Casting Time: 7
- Area of Effect: 10-foot radius
- Saving Throw: 1/2
- This spell draws the breath out of all creatures within the area of effect. Creatures that do not breathe are unaffected. Suffocating creatures suffer -4 to armor class, -4 to hit, -6 to dexterity, one less attack per round, half movement rate, and take 4d8 points of damage per round. A successful saving throw negates all effects but 2d8 points of damage for one round. The effects begin to fade when the creature moves out of the area of effect, although it may take a round for a character to catch their second wind.

-

Monster Summoning VI
- (Conjuration/Summoning)
- Level: 8
- Range: 40 yards
- Duration: 7 rounds + 1 round/level
- Casting Time: 8
- Area of Effect: Special
- Saving Throw: None
- With the casting of this spell the wizard summons 1-3 6th level monsters. These appear within spell range and may be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.

-

Monster Summoning VII
- (Conjuration/Summoning)
- Level: 9
- Range: Special
- Duration: 7 rounds + 1 round/level
- Casting Time: 9
- Area of Effect: 80 yard radius
- Saving Throw: None
- With the casting of this spell the wizard summons 1-2 7th or 8th level monsters. These appear within spell range and may be commanded to attack the caster's opponents until the spell duration expires or the monsters are slain.

-

Mind Blank (Abjuration)
- Level: 8
- Range: Caster
- Duration: 1 Day
- Casting Time: 1
- Area of Effect: Caster
- Saving Throw: None
- In the interests of one's self-control and privacy, Mind Blank shields a creature's mind from almost any mental effect - Charm, Command, Domination, Fear, Feeblemind, and any scrying by crystal balls or other divination methods.

-

Iron Body (Alteration)
- Level: 8
- Range: Caster
- Duration: 2 turns
- Casting Time: 8
- Area of Effect: Caster
- Saving Throw: None
- This spell transforms the caster's body into living iron, granting him several powerful resistances and abilities. While the spell is in effect, the caster is 100% resistant to electricity, 50% resistant to fire, and 25% resistant to crushing damage. Spells that affect respiration or the physiology of the caster are ignored. In addition, the caster's strength is raised to 25, and the caster can attack twice per round with iron fists for 2d4 points of damage + appropriate strength bonuses. Unfortunately, the caster's movement becomes slow and awkward, setting his movement rate to 25% of his normal, and he/she cannot cast spells while Iron Body is in effect.

-

Divine Spell Pack

-

This component adds about 35 divine spells from Icewind Dale and does not alter existing BG2 spells to match their IWD counterparts. Divine spellcasters will receive these spells, as appropriate, in their spellbooks as they level up. Joinable NPCs also receive updates to their spellbooks to account for the new spells.

-

Curse (Conjuration/Summoning)
- Level: 1
- Sphere: All
- Range: Sight of Caster
- Duration: 6 rounds
- Casting Time: 1 round
- Area of Effect: 25-foot radius
- Saving Throw: None
- When the Curse spell is uttered, the caster lowers the morale of enemy creatures and penalizes their saving throws and attack rolls by -1. At the instant the spell is completed, it affects all creatures in a 50-foot cube centered on the point selected by the caster (thus, affected creatures leaving the area are still subject to the spell's effect; those entering the area after the casting is completed are not).

-

Cause Light Wounds (Necromancy)
- Level: 1
- Sphere: Healing
- Range: Touch
- Duration: Permanent
- Casting Time: 5
- Area of Effect: 1 creature
- Saving Throw: 1/2
- When casting this spell and touching a creature, the priest deals 8 points of damage (save for half damage) to the creature's body. This spell has no effect on undead, constructs, or extraplanar creatures. Cause Light Wounds cannot be cast by good characters.

-

Sunscorch (Invocation)
- Level: 1
- Sphere: Sun
- Range: Sight of Caster
- Duration: Instantaneous
- Casting Time: 4
- Area of Effect: 1 creature
- Saving Throw: 1/2
- When this spell is cast, a brilliant ray of scorching heat slants down from the sky and strikes one target of the caster's choice. The victim is allowed a saving throw vs. spell to take half damage. Any creature struck by the ray sustains 1d6 points of damage, plus 1 point per caster level. Undead creatures and monsters vulnerable to bright light sustain 1d6 points of damage, plus 2 points per level of the caster. In addition to sustaining damage, victims are also blinded for 3 rounds by the spell.

-

Alicorn Lance
- (Invocation)
- Level: 2
- Sphere: Combat
- Range: Sight of Caster
- Duration: Instantaneous
- Casting Time: 5
- Area of Effect: 1 creature
- Saving Throw: 1/2
- This spell creates a silver-hued, partially ethereal lance shaped in the form of an alicorn (a unicorn horn). The spellcaster chooses a target and the alicorn lance instantaneously fires at it, inflicting 3d6 points of piercing damage, with a saving throw for half damage. Although the alicorn lance dissipates after it strikes, it leaves a silvery radiance around the target that makes it easier to see and hit, giving it a -2 penalty to its AC for 3 rounds.

-

Beast Claw
- (Alteration)
- Level: 2
- Sphere: Combat
- Range: Caster
- Duration: 1 turn
- Casting Time: 5
- Area of Effect: Caster
- Saving Throw: None
- This spell transforms the caster's arms into the claws of a mighty beast, giving the caster 18/72 strength and the ability to rake an opponent for 2d4 (+ strength bonus) points of slashing damage. The caster can attack twice per round with the beast claws, with a +2 bonus to hit.

-

Cure Moderate Wounds
- (Necromancy)
- Sphere: Healing
- Level: 2
- Range: Touch
- Duration: Instantaneous
- Casting Time: 5
- Area of Effect: 1 creature
- Saving Throw: None
- A stronger version of the 1st level priest spell Cure Light Wounds, Cure Moderate Wounds heals 11 points of damage to a living creature.

-

Cause Moderate Wounds (Necromancy)
- Level: 2
- Sphere: Healing
- Range: Touch
- Duration: Permanent
- Casting Time: 5
- Area of Effect: 1 creature
- Saving Throw: 1/2
- When casting this spell and touching a creature, the priest deals 11 points of damage (save for half damage) to the creature's body. This spell has no effect on undead, constructs, or extraplanar creatures. Cause Moderate Wounds cannot be cast by good characters.

-

Prayer (Conjuration/Summoning)
- Level: 3
- Sphere: Combat
- Range: Caster
- Duration: 1 round/level
- Casting Time: 6
- Area of Effect: 60-foot radius
- Saving Throw: None
- Prayer bestows favor on the priest and his allies, and curses their enemies. All attacks, damage, and saving throws by friendly characters gain +1, while enemy attacks, damage rolls and saves are all penalized by 1. Any creatures caught in the area of effect when the spell is cast will continue to be affected by the spell when they leave the area, so if the fighters want to chase down that fleeing goblin, the effects of the Prayer will follow him.

-

Cause Disease (Necromancy)
- Level: 3
- Sphere: Healing
- Range: Touch
- Duration: 8 hours
- Casting Time: 1 round
- Area of Effect: 1 creature
- Saving Throw: Neg.
- This spell afflicts one creature the priest touches with a disease that saps the target of 5-20 points of strength. A saving throw vs. spell will negate the effects. This spell has no effect on undead, constructs, or extraplanar creatures. Cause Disease cannot be cast by good characters.

-

Exaltation (Abjuration)
- Level: 3
- Sphere: Healing
- Range: Touch
- Duration: 1 turn
- Casting Time: 1 round
- Area of Effect: 1 creature
- Saving Throw: None
- This spell enables a priest to aid and protect any one being other than the priest. By touch, the caster removes the effects of fear, sleep, feeblemindedness, unconsciousness, intoxication, as well as berserk and confused states of mind. In addition, the recipient is protected against spells and other attacks that cause these effects for the duration of the spell.

-
-

Moonblade (Invocation)
- Level: 3
- Sphere: Combat, Sun
- Range: Caster
- Duration: 2 turns
- Casting Time: 6
- Area of Effect: Caster
- Saving Throw: None
- This spell summons forth a silent, weightless sword-like construct made of moonlight that extends 4 feet from the caster's hand. The moonblade is considered a +4 weapon for determining what creatures it can damage, though the bonus does not apply to THAC0. In addition, due to the insubstantial nature of the moonblade, melee bonuses from strength do not apply.

-

The strike of a moonblade drains a target's vitality, inflicting 1d12+4 points of damage, and an additional 1d12 points to undead, who are particularly susceptible. A successful strike also temporarily scrambles magic, causing any spells the target casts in the next round to fail.

-
-

Circle of Bones (Necromancy)
- Level: 3
- Sphere: Guardian/Creation
- Range: Caster
- Duration: 3 rounds
- Casting Time: 3
- Area of Effect: 3-foot radius
- Saving Throw: None
- This spell conjures forth a barrier of floating bones that spin rapidly around the caster. Anyone entering their path takes 1d6 crushing damage and 1d6 slashing damage per round. The caster cannot move for the duration of the spell. Circle of Bones cannot be cast by good characters.

-

Spike Growth (Alteration)
- Level: 3
- Sphere: Elemental (Earth)
- Range: Sight of Caster
- Duration: 1 turn
- Casting Time: 6
- Area of Effect: 15-foot radius
- Saving Throw: None
- This spell transforms the surrounding terrain into spiky plants. Any creature entering the area takes 1d4 points of piercing damage and 1d4 points of slashing damage every round until the spell expires.

-

Cloudburst (Invocation)
- Level: 3
- Sphere: Elemental (Water)
- Range: Sight of Caster
- Duration: 2 rounds
- Casting Time: 6
- Area of Effect: 30-foot radius
- Saving Throw: None
- This spell brings forth a magical rain that saturates the area of effect. All cold and fire-using/dwelling creatures take 2d3 points of damage per round. In addition, all creatures in the area have a 50% chance per round of being struck by bolts of lightning that deal 2d6 damage, with a saving throw for half damage. Flame Blade spells, Shroud of Flame, and salamander auras are extinguished by Cloudburst.

-

Storm Shell (Abjuration)
- Level: 3
- Sphere: Protection, Weather
- Range: Caster
- Duration: 1 turn
- Casting Time: 6
- Area of Effect: Caster
- Saving Throw: None
- This spell surrounds the caster with a dark sphere of disruptive energy that moves with him. The storm shell reduces all fire, cold, and electrical damage to the caster by 50%.

-

Giant Insect (Alteration)
- Level: 4
- Sphere: Animal
- Range: Sight of Caster
- Duration: 8 hours
- Casting Time: 7
- Area of Effect: 1-6 insects
- Saving Throw: None
- This spell summons small insects to the caster, then enlarges them to giant size, turning them into fearsome allies. The strength and kind of the insects varies according to the caster's level; the higher level the caster, the stronger insects that are summoned.

-

Giant Insect requires beetle animations added by Infinity Animations, and will be skipped without them.

-

Produce Fire (Alteration)
- Level: 4
- Sphere: Elemental (Fire)
- Range: Sight of Caster
- Duration: 1 round
- Casting Time: 7
- Area of Effect: 6-foot radius
- Saving Throw: None
- When cast, flames erupt from the target point, doing 1-4 hit points of fire damage plus 1 point per level of the caster to all creatures within the area of effect.

-

Static Charge (Alteration)
- Level: 4
- Sphere: Weather
- Range: Caster
- Duration: 1 turn/level
- Casting Time: 1 round
- Area of Effect: Sight of Caster
- Saving Throw: 1/2
- Static Charge is similar to call lightning except it can be used indoors. This spell allows the caster to generate a static charge around any creature within the area of effect, doing 2-16 points of electrical damage, plus an additional 1-8 points for each of the caster's experience levels. The charge keeps going off, once every turn, for the duration of the spell.

-

Recitation
- (Abjuration, Invocation/Evocation)
- Level: 4
- Sphere: Combat
- Range: Caster
- Duration: 1 round/level
- Casting Time: 7
- Area of Effect: 60-foot radius
- Saving Throw: None
- By reciting a sacred passage or declaration, the priest invokes his deity's blessing upon himself and his allies, while sowing confusion and weakness among his enemies. The priest's allies gain a +2 bonus to their attack and saving throws, and enemies of the priest receive a -2 penalty to their attacks and saving throws. This spell does not nullify a prayer spell - the two may be cast in tandem, and the effects are cumulative.

-

Blood Rage (Alteration)
- Level: 4
- Sphere: Combat
- Range: Sight of Caster
- Duration: 2 turns
- Casting Time: 7
- Area of Effect: 1 allied creature
- Saving Throw: None
- This spell works only on player characters or allied creatures. When cast, the target of this spell goes berserk, attacking the nearest creature until that creature is dead, then moving to the next target. While under Blood Rage, the target is immune to charm, sleep, fear, hold, stunning, confusion, emotion, symbol spells, and related effects. In addition, the target gains +2 to hit, +3 to damage, +2 strength, 10 extra hit points, and a bonus to his/her movement rate. The spell has several disadvantages, however. The hit points of the target are masked for the duration of the spell, and the target cannot benefit from any effect that heals hit points. At the end of the spell's duration, the target becomes fatigued and their Strength drops to 3 for 2 turns. Blood Rage cannot affect creatures of lawful alignment and cannot be cast by lawful characters.

-

Cloud of Pestilence (Alteration)
- Level: 4
- Sphere: Combat, Elemental (Air)
- Range: Sight of Caster
- Duration: 4 rounds
- Casting Time: 7
- Area of Effect: 20-foot radius
- Saving Throw: Neg.
- This spell transforms the air in a 20-foot radius into sickening, grayish mists. The caster and non-living creatures are immune to the effects of the cloud. Every round of exposure to the disease-ridden air causes the loss of 3 points of strength and dexterity, 3 points of damage, and blindness. These effects last 1 turn. Cloud of Pestilence can only be cast by evil characters.

-

Unfailing Endurance (Necromancy)
- Level: 4
- Sphere: Necromantic
- Range: Touch
- Duration: Instantaneous
- Casting Time: 1 round
- Area of Effect: 1 creature
- Saving Throw: None
- This spell restores the stamina of the creature touched, bringing back the energy lost from a day and a half of exertion. Note that this may not be sufficient to bring a character out of the "fatigued" state.

-

Star Metal Cudgel (Conjuration)
- Level: 4
- Sphere: Combat
- Range: Caster
- Duration: 3 turns
- Casting Time: 7
- Area of Effect: Caster
- Saving Throw: None
- This spell creates a meteoric iron magical club that is +2 to hit and damage, and treated as a +4 weapon for purposes of what it can hit. Proficiency, strength, and specialization bonuses and penalties apply. It does an additional 2d6 points of crushing damage against unnatural creatures (undead, elementals, golems, outer planar creatures, etc.)

-

Thorn Spray (Alteration)
- Level: 4
- Sphere: Plant
- Range: Special
- Duration: Instantaneous
- Casting Time: 3
- Area of Effect: 30-foot long, 25-foot wide cone
- Saving Throw: 1/2
- By means of this spell, the caster can cause a spray of barbs, spikes, thorns, and spines to spring forth from his hand. The thorn spray covers a 30-foot long, 60-foot wide cone, inflicting 2d10 points of piercing damage to all creatures within the area of effect, or 1d10 points of damage if a saving throw vs. death is successful.

-

Righteous Wrath of the Faithful
- (Enchantment/Charm)
- Level: 5
- Sphere: Combat
- Range: Caster
- Duration: 1 round/level
- Casting Time: 8
- Area of Effect: 30-foot radius
- Saving Throw: None
- This spells bestows a form of divine madness upon the priest's allies, improving their combat skills. All the priest's allies in the area of effect gain a +1 to attack rolls and saving throws, plus 1-8 bonus hit points for the duration of the spell (these hit points can take a target beyond their hit point maximum). All creatures of the same alignment, however, gain an extra attack every round and a +2 to their attacks, damage rolls, and saving throws. Anyone affected by Righteous Wrath of the Faithful will suffer fatigue when the spell wears off.

-

Spike Stones
- (Alteration, Enchantment)
- Level: 5
- Sphere: Elemental (Earth)
- Range: Sight of Caster
- Duration: 12 rounds
- Casting Time: 6
- Area of Effect: 15-foot radius
- Saving Throw: None
- This spell warps the surrounding rock, reshaping the terrain into spiked projections that blend into the background. Any creature entering the area takes 2d4 hit points of piercing damage per round and must make a save vs. spell or have its movement rate reduced by 30%.

-

Shield of Lathander
- (Conjuration)
- Level: 5
- Sphere: Guardian
- Range: Touch
- Duration: 2 rounds
- Casting Time: 8
- Area of Effect: 1 creature
- Saving Throw: None
- This spell grants a target immunity to damage for the duration of the spell. Evil creatures cannot be protected by a Shield of Lathander. Only non-evil characters can cast a Shield of Lathander.

-

Undead Ward (Necromancy)
- Level: 5
- Sphere: Wards
- Range: Caster
- Duration: 1 turn
- Casting Time: 7
- Area of Effect: 20-foot radius
- Saving Throw: None
- This spell amplifies the influence a priest has over undead, though it is tied to the area surrounding the priest where cast and does not move. Any undead creature entering the area of effect is affected as if turned by the priest that cast this spell. If the turning fails, the undead creature is immune to further turning attempts by the spell unless it leaves and reenters the area of effect.

-

Animal Rage (Enchantment)
- Level: 5
- Sphere: Combat
- Range: Touch
- Duration: 15 rounds
- Casting Time: 8
- Area of Effect: 1 creature
- Saving Throw: None
- This spell imbues the target creature with animal ferocity. The target creature gains a strength of 19, +20 hit points, +20% movement, and +2 to all saving throws. The target loses the ability to cast spells while Animal Rage is in effect. He or she can be controlled normally unless enemies are within sight, at which time the target immediately attacks in melee, using whatever is in hand. There is a 5% chance per round that the target will go berserk, attacking friend and foe alike.

-
-

Whirlwind
- Level: 6
- Range: 35 Yards
- Duration: 5 rounds
- Casting Time: 9
- Area of Effect: 20' radius area
- Saving Throw: Special

-

This spell creates a small whirlwind, which the caster can direct to a location within his sight. This newly formed whirlwind starts to randomly wander around the target area, hurling away every creature in its path, be it friend or foe. Those who cannot escape automatically suffer 2d8 crushing and 2d8 slashing damage, and must save vs. breath or fall unconscious for two rounds. The whirlwind instantly kills creatures with less than 3 Hit Dice.

-

Once a whirlwind has been summoned the druid has no control over these raging winds, so this spell must be used with caution.

+
+

Contact Information

+
+
+
+
+

IWDification is the hard work of CamDawg and DavidW. For issues, suggestions and + general feedback, the IWDification + forums are the best resource. Visit the Gibberlings + Three Forums for information on this and any other Gibberlings Three + mods on which we may be working.

+
+
+

Thanks and Acknowledgements

+
+
+
+
+

CamDawg created this mod, based primarily on the hard work of DavidW on IWD-in-BG2, and furthered by the Beamdog team for IWDEE. You can find out more about IWDification by visiting the mod forum or the project page.

+

Since this mod, and in particular the spell packs, draw heavily upon the work in IWD-in-BG2, the same thanks and acknowledgements apply. In particular thanks to Nythrun, who helped immensely with the conversion of the spells. Thanks to Andyr for the development of the IWD casting graphics, lifted entirely from the Tweaks Anthology.

+

Tools Used in Creation

+ +
+
+

Credits and Copyright Information

+
+
+
+
+

The modding community for the Infinity Engine has been going strong for + more than 10 years now, and is the culmination of thousands of unpaid modding + hours by fellow fans of the game. Modders produce their best work and players + get the best, well-supported mods when we all work together.

+

There are two big ways to upset this harmony. One is to claim someone else's + work as your own. The second is to host and redistribute a mod without permission + from the author(s).

+

Be kind to your fellow players and modders. Don't do either.

+
+
+

Version History

+
+
+
+
+
+

Version Beta 4 - January 8, 2018

+
    +
  • Completely rebuilt the spell components upon the work of IWDEE. As such, all spells work for the EE engine and were backported (again) to the vanilla engine, with a lot of bugfixes along the way. Several spells which were heretofore unavailable--such as Seven Eyes or Wall of Moonlight--now work for the EE engine.
  • +
  • Two-handed axes now use halberds for their description images
  • +
  • The icon for Battle Standard's ability is now properly transparent
  • +
  • Updated the code for Commoners Use Drab Colors to the more robust version from Tweaks Anthology
  • +
+

Version Beta 3 - August 28, 2013

+
    +
  • Cure Moderate Wounds had an incorrect icon reference, which could cause crashes when you tried to memorize the spell
  • +
+

Version Beta 2 - August 18, 2013

+
    +
  • Made a first pass at having the new spell icons blend in
  • +
  • Added lore and prices to Two-Handed Axes
  • +
  • Cat's Grace wasn't being added to any stores
  • +
  • Added Cure Moderate Wounds
  • +
  • Shambling mounds summoned by Stalker no longer drop their paws
  • +
  • Entropy Shield wasn't blocking Icelance
  • +
  • Emotion: Hopelessness scroll now has icon
  • +
  • Blood Rage had an extraneous effect that would kill the target
  • +
  • Alicorn Lance now uses a nicer glow on the target
  • +
  • Static Charge's initial charge worked, but not its followup damage
  • +
+

Version Beta 1 - July 18, 2013

+
    +
  • Initial release. Let's see what breaks.
  • +
+
+
-

Entropy Shield (Abjuration)
- Level: 6
- Sphere: Protection
- Range: Caster
- Duration: 1 round/level
- Casting Time: 9
- Area of Effect: Caster
- Saving Throw: None
- When cast, this spell surrounds the caster with a defensive maelstrom of energy that blocks or deflects many attacks. This gives the priest a +6 bonus to armor class and a 50% resistance to most attack forms: electricity, fire, cold, and so on. It also gives the caster +2 to all his/her saving throws and immunity to all missile-based attacks.

-

Symbol of Pain
- (Conjuration/Summoning)
- Level: 7
- Sphere: Guardian
- Range: Sight of Caster
- Duration: 2-20 turns
- Casting Time: 3
- Area of Effect: 60-foot radius
- Saving Throw: Neg.
- All creatures within 60 feet of the Symbol of Pain when it's invoked must make a saving throw vs. spell. If failed, they are overwhelmed by pain, suffering a -4 to their attack rolls, a -2 to Dexterity and a -2 to their Armor Class.

-

Symbol of Hopelessness
- (Conjuration/Summoning)
- Level: 7
- Sphere: Guardian
- Range: Sight of Caster
- Duration: 2 turns
- Casting Time: 3
- Area of Effect: 60-foot radius
- Saving Throw: Neg.
- All creatures within 60 feet of the symbol of hopelessness when it's invoked must make a saving throw vs. spell with a -2 penalty. If failed, they will stand in place, overwhelmed by dejection and surrender. They will make no move to defend themselves from attack.

-

Impervious Sanctity of Mind
- (Abjuration)
- Level: 7
- Sphere: Protection
- Range: Caster
- Duration: 1 turn/level
- Casting Time: 1 round
- Area of Effect: Caster
- Saving Throw: None
- This spell steels the caster's mind against any outside influence. Charm, Command, Confusion, Domination, Fear, Feeblemind, Hold, Sleep and any psionic attack directed at the caster will fail as long as this spell is in effect.

-

Destruction (Necromancy)
- Level: 7
- Sphere: Healing
- Range: Touch
- Duration: Instantaneous
- Casting Time: 1 round
- Area of Effect: Caster
- Saving Throw: Special
- This spell instantly destroys a target, blasting them into small chunks. The victim is allowed a save vs. death at -4; if successful, the target takes 8d6 points of damage instead of being destroyed. Destruction can only be cast by evil characters. Note that a character struck with a Destruction spell cannot be raised from the dead with a Raise Dead or Resurrection spell.

-

Greater Shield of Lathander
- (Conjuration)
- Level: 7
- Sphere: Guardian
- Range: Touch
- Duration: 3 rounds
- Casting Time: 1 round
- Area of Effect: 1 creature
- Saving Throw: None
- This spell grants a target 100% magic resistance and immunity to damage for the duration of the spell. Evil creatures cannot be protected by a Greater Shield of Lathander. This spell can only be cast by good characters.

-

Mist of Eldath (Invocation)
- Level: 7
- Sphere: Elemental
- Range: Sight of Caster
- Duration: 1 round
- Casting Time: 1 round
- Area of Effect: 10-foot radius
- Saving Throw: None
- This spell blankets the area of effect with a silver-blue mist - any creature within the mist will be cured of disease, poison, and healed of 25 points of damage.

-

Stalker (Conjuration)
- Level: 7
- Sphere: Plant
- Range: Sight of Caster
- Duration: 8 hours
- Casting Time: 1 round
- Area of Effect: Special
- Saving Throw: None
- This spell creates two shambling mounds. These creatures willingly aid the caster in combat or whatever other duties they are assigned and have the capability to carry out.

-

Bard Song

-

Bards in Icewind Dale gained different bard songs as they leveled:

-
    -
  • The Ballad of Three Heroes - Available at level one, this provides all allies with +1 to hit, +1 damage, and +1 to saving throws.
  • -
  • The Tale of Curran Strongheart - Available at level three, this song protects the party from fear and removes any current fear effects.
  • -
  • Tymora's Melody - Available at level five, the party gains +1 luck, +3 to all saves, and +10 to lore and thieving skills.
  • -
  • The Song of Kaudies - Available at level seven, this provides a 50% resistance to sound-based attacks and spells such as power words, sirine charm, silence, and others.
  • -
  • The Siren's Yearning - Available at level nine, this song enthralls your foes, preventing action for five rounds on a failed save vs. spell.
  • -
  • War Chant of the Sith - Available at level 11, this provides +2 AC, regeneration of two HP/round, and 10% resistance to all crushing, missile, piercing, and slashing damage.
  • -
-

As the songs become available to the bard, the ability to freely switch between them is available. This component only affects trueclass bards, as the available kits use variants of BG2 bard song for kit advantages and/or disadvantages.

-

Two Handed Axes

-

Icewind Dale also featured two-handed axes, as opposed to the strictly one-handed variety found in the Baldur's Gate series. This component scatters normal and magical two-handed axes throughout the game to make them available for players. Two-handed axes use the axe proficiency and have base stats of 9 speed and 1d10 damage.

-
-

Contact, Thanks and Acknowledgements

-
-

CamDawg created this mod, based primarily on the hard work of DavidW on IWD-in-BG2. You can find out more about IWDification by visiting the mod forum or the project page. Visit the Gibberlings Three Forums for information on this and any other Gibberlings Three - mods on which we may be working.

-

Since this mod, and in particular the spell packs, draw heavily upon the work in IWD-in-BG2, the same thanks and acknowledgements apply. In particular thanks to Nythrun, who helped immensely with the conversion of the spells. Thanks to Andyr for the development of the IWD casting graphics, lifted entirely from the BG2 Tweak Pack.

-

Tools Used in Creation
- WeiDU by - Wes Weimer and the bigg
- Near Infinity by Jon Olav Hauglid
- ConTEXT Text Editor by Eden Kirin
- WeiDU ConTEXT - Highlighters by Idobek, updated by cmorgan
- IESDP maintained - by igi
- DLTCEP by - Avenger
- BAM Workshop by - Glenn Flansburg

-
-

Credits and Copyright Information

-
-

The modding community for the Infinity Engine has been going strong for - more than 10 years now, and is the culmination of thousands of unpaid modding - hours by fellow fans of the game. Modders produce their best work and players - get the best, well-supported mods when we all work together.

-

There are two big ways to upset this harmony. One is to claim someone else's - work as your own. The second is to host or redistribute a mod without permission - from the author(s).

-

Be kind to your fellow players and modders. Don't do either.

-
-

Version History

-
-

Version Beta 3 - August 28, 2013

-
    -
  • Cure Moderate Wounds had an incorrect icon reference, which could cause crashes when you tried to memorize the spell
  • -
-

Version Beta 2 - August 18, 2013

-
    -
  • Made a first pass at having the new spell icons blend in
  • -
  • Added lore and prices to Two-Handed Axes
  • -
  • Cat's Grace wasn't being added to any stores
  • -
  • Added Cure Moderate Wounds
  • -
  • Shambling mounds summoned by Stalker no longer drop their paws
  • -
  • Entropy Shield wasn't blocking Icelance
  • -
  • Emotion: Hopelessness scroll now has icon
  • -
  • Blood Rage had an extraneous effect that would kill the target
  • -
  • Alicorn Lance now uses a nicer glow on the target
  • -
  • Static Charge's initial charge worked, but not its followup damage
  • -
-

Version Beta 1 - July 18, 2013

-
    -
  • Initial release. Let's see what breaks.
  • -
diff --git a/iwdification/setup-iwdification.tp2 b/iwdification/setup-iwdification.tp2 index 8b4a4ab..a932434 100644 --- a/iwdification/setup-iwdification.tp2 +++ b/iwdification/setup-iwdification.tp2 @@ -1,23 +1,51 @@ -// whirlwind invis creature briefly visible // monster summoning graphic way removed from summons BACKUP ~iwdification/backup~ // location to store files for uninstall purposes +AUTHOR ~pcamagna@yahoo.com~ // email address displayed if install fails -//AUTHOR ~pcamagna@yahoo.com~ // email address displayed if install fails -SUPPORT ~http://gibberlings3.net/forums/index.php?showforum=185~ - -VERSION ~Beta 3~ +VERSION ~Beta 4~ README ~iwdification/readme-iwdification.html~ ALWAYS - INCLUDE ~iwdification/lib/functions.tpa~ + + ACTION_IF ((FILE_EXISTS ~dlc/sod-dlc.zip~) OR (FILE_EXISTS ~sod-dlc.zip~)) THEN BEGIN FAIL @1 END // Modmerge check + + ACTION_IF !VARIABLE_IS_SET ee_game THEN BEGIN + + INCLUDE ~iwdification/lib/functions.tpa~ + + OUTER_SET tobex_game = 0 + OUTER_SET ee_game = 0 + OUTER_SET override_arcane = 1 + OUTER_SET override_divine = 1 + + ACTION_IF GAME_IS ~soa tob bgt ca tutu tutu_totsc iwd_in_bg2~ THEN BEGIN + + ACTION_IF FILE_EXISTS ~tobex_ini/tobexcore.ini~ THEN BEGIN + OUTER_SET tobex_game = 1 + END + + END ELSE BEGIN + + OUTER_SET ee_game = 1 + + // convert strings to UTF-8 for BGEE/BG2EE + ACTION_DEFINE_ARRAY cdreload BEGIN game_strings END + ACTION_DEFINE_ARRAY cdnoconvert BEGIN game_strings_ee setup END + LAF HANDLE_CHARSETS INT_VAR infer_charset = 1 STR_VAR tra_path = ~iwdification/languages~ reload_array = cdreload noconvert_array = cdnoconvert END + LOAD_TRA ~iwdification/languages/english/game_strings_ee.tra~ + + END + + END + END ASK_EVERY_COMPONENT -LANGUAGE ~English~ ~english~ - ~iwdification/languages/english/setup.tra~ // English +LANGUAGE ~English~ ~english~ ~iwdification/languages/english/setup.tra~ // installer strings + ~iwdification/languages/english/game_strings.tra~ // strings for the tlk /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ @@ -28,16 +56,13 @@ LANGUAGE ~English~ ~english~ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ BEGIN @1000 DESIGNATED 10 -REQUIRE_PREDICATE NOT MOD_IS_INSTALLED ~bg2_tweaks/bg2_tweaks.tp2~ ~70~ @0 +REQUIRE_PREDICATE NOT MOD_IS_INSTALLED ~cdtweaks/setup-cdtweaks.tp2~ ~70~ @0 -COPY ~iwdification/bam/cgabjura.bam~ ~override~ - ~iwdification/bam/cgaltera.bam~ ~override~ - ~iwdification/bam/cgconjur.bam~ ~override~ - ~iwdification/bam/cgdivina.bam~ ~override~ - ~iwdification/bam/cgenchan.bam~ ~override~ - ~iwdification/bam/cgillusi.bam~ ~override~ - ~iwdification/bam/cginvoca.bam~ ~override~ - ~iwdification/bam/cgnecrom.bam~ ~override~ +ACTION_FOR_EACH file IN cgabjura cgaltera cgconjur cgdivina cgenchan cgillusi cginvoca cgnecrom BEGIN + + COPY ~iwdification/bam/%file%.bam~ ~override~ + +END /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ @@ -48,50 +73,52 @@ COPY ~iwdification/bam/cgabjura.bam~ ~override~ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ BEGIN @2000 DESIGNATED 20 -REQUIRE_PREDICATE NOT MOD_IS_INSTALLED ~bg2_tweaks/bg2_tweaks.tp2~ ~100~ @0 +REQUIRE_PREDICATE NOT MOD_IS_INSTALLED ~cdtweaks/setup-cdtweaks.tp2~ ~100~ @0 COPY_EXISTING ~randcolr.2da~ ~override~ - SET_2DA_ENTRY_LATER ~randcolr~ 3 9 ~114~ // AthPeasantMajor - SET_2DA_ENTRY_LATER ~randcolr~ 4 9 ~107~ - SET_2DA_ENTRY_LATER ~randcolr~ 5 9 ~36~ - SET_2DA_ENTRY_LATER ~randcolr~ 6 9 ~37~ - SET_2DA_ENTRY_LATER ~randcolr~ 7 9 ~38~ - SET_2DA_ENTRY_LATER ~randcolr~ 8 9 ~39~ - SET_2DA_ENTRY_LATER ~randcolr~ 9 9 ~40~ - SET_2DA_ENTRY_LATER ~randcolr~ 10 9 ~41~ - SET_2DA_ENTRY_LATER ~randcolr~ 11 9 ~42~ - SET_2DA_ENTRY_LATER ~randcolr~ 12 9 ~43~ - SET_2DA_ENTRY_LATER ~randcolr~ 3 10 ~63~ // AthPeasantMinor - SET_2DA_ENTRY_LATER ~randcolr~ 4 10 ~64~ - SET_2DA_ENTRY_LATER ~randcolr~ 5 10 ~65~ - SET_2DA_ENTRY_LATER ~randcolr~ 6 10 ~66~ - SET_2DA_ENTRY_LATER ~randcolr~ 7 10 ~87~ - SET_2DA_ENTRY_LATER ~randcolr~ 8 10 ~91~ - SET_2DA_ENTRY_LATER ~randcolr~ 9 10 ~92~ - SET_2DA_ENTRY_LATER ~randcolr~ 10 10 ~93~ - SET_2DA_ENTRY_LATER ~randcolr~ 11 10 ~94~ - SET_2DA_ENTRY_LATER ~randcolr~ 12 10 ~95~ - SET_2DA_ENTRY_LATER ~randcolr~ 3 13 ~114~ // TradePeasantMajor - SET_2DA_ENTRY_LATER ~randcolr~ 4 13 ~107~ - SET_2DA_ENTRY_LATER ~randcolr~ 5 13 ~36~ - SET_2DA_ENTRY_LATER ~randcolr~ 6 13 ~37~ - SET_2DA_ENTRY_LATER ~randcolr~ 7 13 ~38~ - SET_2DA_ENTRY_LATER ~randcolr~ 8 13 ~39~ - SET_2DA_ENTRY_LATER ~randcolr~ 9 13 ~40~ - SET_2DA_ENTRY_LATER ~randcolr~ 10 13 ~41~ - SET_2DA_ENTRY_LATER ~randcolr~ 11 13 ~42~ - SET_2DA_ENTRY_LATER ~randcolr~ 12 13 ~43~ - SET_2DA_ENTRY_LATER ~randcolr~ 3 14 ~63~ // TradePeasantMinor - SET_2DA_ENTRY_LATER ~randcolr~ 4 14 ~64~ - SET_2DA_ENTRY_LATER ~randcolr~ 5 14 ~65~ - SET_2DA_ENTRY_LATER ~randcolr~ 6 14 ~66~ - SET_2DA_ENTRY_LATER ~randcolr~ 7 14 ~87~ - SET_2DA_ENTRY_LATER ~randcolr~ 8 14 ~91~ - SET_2DA_ENTRY_LATER ~randcolr~ 9 14 ~92~ - SET_2DA_ENTRY_LATER ~randcolr~ 10 14 ~93~ - SET_2DA_ENTRY_LATER ~randcolr~ 11 14 ~94~ - SET_2DA_ENTRY_LATER ~randcolr~ 12 14 ~95~ - SET_2DA_ENTRIES_NOW ~randcolr~ 1 + REPLACE_TEXTUALLY ~HairSet1~ ~CD_DELETE_ME HairSet1~ + SET_2DA_ENTRY 2 9 15 114 // AthPeasantMajor (208) + SET_2DA_ENTRY 3 9 15 107 + SET_2DA_ENTRY 4 9 15 36 + SET_2DA_ENTRY 5 9 15 37 + SET_2DA_ENTRY 6 9 15 38 + SET_2DA_ENTRY 7 9 15 39 + SET_2DA_ENTRY 8 9 15 40 + SET_2DA_ENTRY 9 9 15 41 + SET_2DA_ENTRY 10 9 15 42 + SET_2DA_ENTRY 11 9 15 43 + SET_2DA_ENTRY 2 10 15 63 // AthPeasantMinor (209) + SET_2DA_ENTRY 3 10 15 64 + SET_2DA_ENTRY 4 10 15 65 + SET_2DA_ENTRY 5 10 15 66 + SET_2DA_ENTRY 6 10 15 87 + SET_2DA_ENTRY 7 10 15 91 + SET_2DA_ENTRY 8 10 15 92 + SET_2DA_ENTRY 9 10 15 93 + SET_2DA_ENTRY 10 10 15 94 + SET_2DA_ENTRY 11 10 15 95 + SET_2DA_ENTRY 2 13 15 114 // TradePeasantMajor (212) + SET_2DA_ENTRY 3 13 15 107 + SET_2DA_ENTRY 4 13 15 36 + SET_2DA_ENTRY 5 13 15 37 + SET_2DA_ENTRY 6 13 15 38 + SET_2DA_ENTRY 7 13 15 39 + SET_2DA_ENTRY 8 13 15 40 + SET_2DA_ENTRY 9 13 15 41 + SET_2DA_ENTRY 10 13 15 42 + SET_2DA_ENTRY 11 13 15 43 + SET_2DA_ENTRY 2 14 15 63 // TradePeasantMinor (213) + SET_2DA_ENTRY 3 14 15 64 + SET_2DA_ENTRY 4 14 15 65 + SET_2DA_ENTRY 5 14 15 66 + SET_2DA_ENTRY 6 14 15 87 + SET_2DA_ENTRY 7 14 15 91 + SET_2DA_ENTRY 8 14 15 92 + SET_2DA_ENTRY 9 14 15 93 + SET_2DA_ENTRY 10 14 15 94 + SET_2DA_ENTRY 11 14 15 95 + REPLACE_TEXTUALLY ~CD_DELETE_ME~ ~~ + PRETTY_PRINT_2DA BUT_ONLY /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ @@ -104,1227 +131,2490 @@ COPY_EXISTING ~randcolr.2da~ ~override~ BEGIN @3000 DESIGNATED 30 -///// \\\\\ -///// common resources \\\\\ -///// \\\\\ +INCLUDE ~iwdification/lib/spell_prep.tpa~ -INCLUDE ~iwdification/lib/common_spell.tpa~ +/* +OUTER_SPRINT text_match @3014 // used for changing level: 1 to level: 2 for blindness and pro-petrification ///// \\\\\ -///// decastave \\\\\ +///// WIZARD_BLINDNESS \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/decastave.spl~ 2 2 WIZARD_DECASTAVE - SAY 0x08 @3001 - SAY 0x50 @3002 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_DECASTAVE~)) > 0) THEN BEGIN +COPY_EXISTING ~spell.ids~ ~override~ + REPLACE_TEXTUALLY ~^2106[ %TAB%]+WIZARD_BLINDNESS[ %TAB%%LNL%%MNL%%WNL%]+~ ~~ // delete line - OUTER_SPRINT WIZARD_DECASTAVE_RES "%temp%" +COPY_EXISTING ~spwi106.spl~ ~override~ - COPY ~iwdification/lib/blank.itm~ ~override/cdia221.itm~ - SAY 0x0c @3001 - SAY 0x54 @3002 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_DECASTAVE_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT1) // add enchanter flag - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdia221a.bam~ ~override~ - ~iwdification/bam/cdia221b.bam~ ~override~ - ~iwdification/bam/cdia221c.bam~ ~override~ - ~iwdification/bam/cdia221i.bam~ ~override~ - ~iwdification/spl/cdia221.spl~ ~override~ - - COPY ~iwdification/itm/cdia221w.itm~ ~override~ - SAY 0x08 @3001 - SAY 0x0c @3001 - SAY 0x50 @3002 - SAY 0x54 @3002 +ADD_SPELL ~override/spwi106.spl~ 2 2 WIZARD_BLINDNESS + SPRINT current_spell_res "%DEST_RES%" + // change descript to level: 2 + READ_STRREF 0x50 desc + INNER_PATCH_SAVE desc ~%desc%~ BEGIN + REPLACE_TEXTUALLY ~%text_match%~ ~\12~ + END + SAY_EVALUATED ~0x50~ ~%desc%~ -END +APPEND ~hidespl.2da~ ~SPWI106 1 0~ + +COPY_EXISTING ~scrl71.itm~ ~override~ // update scroll to learn/cast new spell + LPF ALTER_EFFECT STR_VAR match_resource = spwi106 resource = EVAL ~%current_spell_res%~ END ///// \\\\\ -///// cats grace \\\\\ +///// WIZARD_PROTECTION_FROM_PETRIFICATION \\\\\ ///// \\\\\ -ACTION_IF MOD_IS_INSTALLED ~TOBEX/TOBEX.TP2~ ~100~ THEN BEGIN +COPY_EXISTING ~spell.ids~ ~override~ + REPLACE_TEXTUALLY ~^2108[ %TAB%]+WIZARD_PROTECTION_FROM_PETRIFICATION[ %TAB%%LNL%%MNL%%WNL%]+~ ~~ // delete line - ADD_SPELL ~iwdification/spl/cats_grace.spl~ 2 2 WIZARD_CATS_GRACE - SAY 0x08 @3003 - SAY 0x50 @3004 - SPRINT temp "%DEST_RES%" - - ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_CATS_GRACE~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_CATS_GRACE_RES "%temp%" - - COPY ~iwdification/lib/blank.itm~ ~override/cdia223.itm~ - SAY 0x0c @3003 - SAY 0x54 @3004 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_CATS_GRACE_RES%~ END - WRITE_BYTE 0x2f (THIS | BIT6) // add abjurer flag - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdia223a.bam~ ~override~ - ~iwdification/bam/cdia223b.bam~ ~override~ - ~iwdification/bam/cdia223c.bam~ ~override~ +COPY_EXISTING ~spwi108.spl~ ~override~ +ADD_SPELL ~override/spwi108.spl~ 2 2 WIZARD_PROTECTION_FROM_PETRIFICATION + SPRINT current_spell_res "%DEST_RES%" + // change descript to level: 2 + READ_STRREF 0x50 desc + INNER_PATCH_SAVE desc ~%desc%~ BEGIN + REPLACE_TEXTUALLY ~%text_match%~ ~\12~ END + SAY_EVALUATED ~0x50~ ~%desc%~ -END +APPEND ~hidespl.2da~ ~SPWI108 1 0~ + +COPY_EXISTING ~scrl73.itm~ ~override~ // update scroll to learn/cast new spell + LPF ALTER_EFFECT STR_VAR match_resource = spwi108 resource = EVAL ~%current_spell_res%~ END +*/ ///// \\\\\ -///// snilloc's snowball swarm \\\\\ +///// WIZARD_EMOTION_HOPELESSNESS \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/snillocs_snowball_swarm.spl~ 2 2 WIZARD_SNILLOCS_SNOWBALL_SWARM - SAY 0x08 @3005 - SAY 0x50 @3006 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SNILLOCS_SNOWBALL_SWARM~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_EMOTION_COURAGE~) OR override_arcane) BEGIN // checking courage to see if emotion series is already present, since hopelessness is a vanilla bg2 spell - OUTER_SPRINT WIZARD_SNILLOCS_SNOWBALL_SWARM_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdi255.pro~ - ADD_PROJECTILE ~iwdification/pro/cdia220.pro~ - - COPY_EXISTING ~%WIZARD_SNILLOCS_SNOWBALL_SWARM_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia220 END - - COPY ~iwdification/lib/blank.itm~ ~override/cdia220.itm~ - SAY 0x0c @3005 - SAY 0x54 @3006 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_SNILLOCS_SNOWBALL_SWARM_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT1) // add enchanter flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdia220a.bam~ ~override~ - ~iwdification/bam/cdia220b.bam~ ~override~ - ~iwdification/bam/cdia220c.bam~ ~override~ - ~iwdification/bam/cdia220v.bam~ ~override~ - ~iwdification/wav/cdtra_16.wav~ ~override~ + COPY ~iwdification/spl/cdia411.spl~ ~override/spwi411.spl~ // hopelessness + SAY 0x08 @3001 + SAY 0x50 @3002 + SAY 0x18e @3003 + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi255 END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 1280 parameter1 = string_stunned END + PATCH_IF !ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + END + + COPY_EXISTING ~scrl5h.itm~ ~override~ + SAY 0x0c @3001 + SAY 0x54 @3002 + WRITE_BYTE 0x2d BIT3 // invoker flag + LPF ALTER_ITEM_HEADER INT_VAR range = 50 target = 4 END + + COPY ~iwdification/bam/cdia411a.bam~ ~override~ + ~iwdification/bam/cdia411b.bam~ ~override~ + ~iwdification/bam/cdia411c.bam~ ~override~ + ~iwdification/bam/cdienchx.bam~ ~override~ + ~iwdification/bam/cdiparal.bam~ ~override~ + ~iwdification/vvc/cdigench.vvc~ ~override~ + ~iwdification/vvc/cdiparal.vvc~ ~override~ + ~iwdification/wav/cdiarm21.wav~ ~override~ + ~iwdification/wav/cdiee05.wav~ ~override~ + ~iwdification/wav/cdiem05.wav~ ~override~ END ///// \\\\\ -///// icelance \\\\\ +///// WIZARD_POLYMORPH_SELF \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/icelance.spl~ 2 3 WIZARD_ICELANCE +// these generally 'clean out' the poly self subspells +COPY_EXISTING ~bhaal4a.spl~ ~override~ // resurrection + ~ohbraise.spl~ ~override~ // nsi + ~slayerw3.itm~ ~override~ // slater weapon + ~spja01.spl~ ~override~ // harper's call + ~sppr504.spl~ ~override~ // raise dead + ~sppr550.spl~ ~override~ // recall spirit + ~sppr712.spl~ ~override~ // resurrection + ~sppr729.spl~ ~override~ // mass raise dead + ~spwish10.spl~ ~override~ // mass raise dead + PATCH_IF anim_beetle BEGIN + LPF CLONE_EFFECT STR_VAR match_resource = spwi499 resource = cdia480 END // boring beetle + END + LPF CLONE_EFFECT STR_VAR match_resource = spwi499 resource = cdia481 END // polar bear + LPF CLONE_EFFECT STR_VAR match_resource = spwi499 resource = cdia482 END // winter wolf + BUT_ONLY IF_EXISTS + +// add new forms to poly self +COPY_EXISTING ~spwi416.spl~ ~override~ // poly self + SAY 0x50 @3004 + PATCH_IF anim_beetle BEGIN + LPF CLONE_EFFECT STR_VAR match_resource = spwi499 resource = cdia480 END // boring beetle + END + LPF CLONE_EFFECT STR_VAR match_resource = spwi499 resource = cdia481 END // polar bear + LPF CLONE_EFFECT STR_VAR match_resource = spwi499 resource = cdia482 END // winter wolf + +COPY ~iwdification/spl/cdia481.spl~ ~override~ // polar bear SAY 0x08 @3007 SAY 0x50 @3008 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_ICELANCE~)) > 0) THEN BEGIN - OUTER_SPRINT WIZARD_ICELANCE_RES "%temp%" +COPY ~iwdification/spl/cdia482.spl~ ~override~ // winter wolf + SAY 0x08 @3009 + SAY 0x50 @3012 + +COPY_EXISTING ~cdia481.spl~ ~override~ + ~cdia482.spl~ ~override~ + PATCH_FOR_EACH res IN spin122 spin123 spin124 spin150 spin151 spin160 spin160 spin160 spin529 spin667 spin718 spinhum spmdslay spwi489 spwi490 spwi491 BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 172 STR_VAR match_resource = spin974 resource = EVAL ~%res%~ END + END + LPF ALTER_EFFECT INT_VAR match_opcode = 135 opcode = 171 timing = 1 STR_VAR resource = spwi490 END // move polymorph ops to the claws + LPF DELETE_EFFECT INT_VAR match_opcode = 144 END // move delete button to claws, too + +//LAF cd_animation STR_VAR code = 7203 END // 29187 MBER_PO bear_polar +COPY ~iwdification/cre/cdidrupb.cre~ ~override~ + SAY 0x08 @3015 + SAY 0x0c @3015 + +//LAF cd_animation STR_VAR code = 7b03 END // 31491 MWLF_WI wolf_winter +COPY ~iwdification/cre/cdidruww.cre~ ~override~ + WRITE_LONG 0x08 string_wwolf + WRITE_LONG 0x0c string_wwolf + +COPY ~iwdification/itm/cdiplypb.itm~ ~override~ + ~iwdification/itm/cdiplyww.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + +COPY_EXISTING ~cdiplypb.itm~ ~override~ + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 144 target = 1 parameter2 = 7 timing = 2 END + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 135 target = 1 timing = 2 STR_VAR resource = cdidrupb END + +COPY_EXISTING ~cdiplyww.itm~ ~override~ + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 144 target = 1 parameter2 = 7 timing = 2 END + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 135 target = 1 timing = 2 STR_VAR resource = cdidruww END + +COPY ~iwdification/bam/cdia481b.bam~ ~override~ + ~iwdification/bam/cdia482b.bam~ ~override~ + ~iwdification/bam/cdiplypb.bam~ ~override~ + ~iwdification/bam/cdiplyww.bam~ ~override~ + +ACTION_IF anim_beetle BEGIN + + COPY ~iwdification/spl/cdia480.spl~ ~override~ // boring beetle + SAY 0x08 @3005 + SAY 0x50 @3006 + PATCH_FOR_EACH res IN spin122 spin123 spin124 spin150 spin151 spin160 spin160 spin160 spin529 spin667 spin718 spinhum spmdslay spwi489 spwi490 spwi491 BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 172 STR_VAR match_resource = spin974 resource = EVAL ~%res%~ END + END + LPF ALTER_EFFECT INT_VAR match_opcode = 135 opcode = 171 timing = 1 STR_VAR resource = spwi490 END // move polymorph ops to the claws + LPF DELETE_EFFECT INT_VAR match_opcode = 144 END // move delete button to claws, too - ADD_PROJECTILE ~iwdification/pro/cdia318.pro~ + LAF cd_animation STR_VAR code = e220 END // 57888 MBBM beetle_black + COPY ~iwdification/cre/cdidrubb.cre~ ~override~ + SAY 0x08 @3013 + SAY 0x0c @3013 + WRITE_LONG 0x28 anim_beetle - COPY_EXISTING ~%WIZARD_ICELANCE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia318 END + COPY ~iwdification/itm/cdiplybb.itm~ ~override~ + ~iwdification/itm/cdis5-20.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack - COPY ~iwdification/lib/blank.itm~ ~override/cdia318.itm~ - SAY 0x0c @3007 - SAY 0x54 @3008 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_ICELANCE_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT1) // add enchanter flag + COPY_EXISTING ~cdiplybb.itm~ ~override~ + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 144 target = 1 parameter2 = 7 timing = 2 END + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 135 target = 1 timing = 2 STR_VAR resource = cdidrubb END - COPY ~iwdification/bam/cdia318a.bam~ ~override~ - ~iwdification/bam/cdia318b.bam~ ~override~ - ~iwdification/bam/cdia318c.bam~ ~override~ - ~iwdification/bam/cdia318v.bam~ ~override~ - ~iwdification/wav/cdtra_19.wav~ ~override~ + COPY ~iwdification/bam/cdia480b.bam~ ~override~ + ~iwdification/bam/cdiplybb.bam~ ~override~ END ///// \\\\\ -///// lance of disruption \\\\\ +///// WIZARD_EXPEDITIOUS_RETREAT \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/lance_o_disruption.spl~ 2 3 WIZARD_LANCE_OF_DISRUPTION - SAY 0x08 @3009 - SAY 0x50 @3010 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_LANCE_OF_DISRUPTION~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_EXPEDITIOUS_RETREAT~) OR override_arcane) BEGIN + + ADD_SPELL ~iwdification/spl/cdia126.spl~ 2 1 WIZARD_EXPEDITIOUS_RETREAT + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3010 // name + SAY 0x50 @3011 // descript + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37787 parameter1 = string_slowed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37638 parameter1 = string_slow END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 36035 parameter1 = string_hasted END + PATCH_IF !ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + END - OUTER_SPRINT WIZARD_LANCE_OF_DISRUPTION_RES "%temp%" + COPY ~iwdification/itm/blank.itm~ ~override/cdia126.itm~ + SAY 0x0c @3010 + SAY 0x54 @3011 + LPF cd_scroll INT_VAR unusable2 = BIT6 target_hdr = 5 range = 1 price = 100 STR_VAR spell = EVAL ~%current_spell_res%~ END - ADD_PROJECTILE ~iwdification/pro/cdia319.pro~ - - COPY_EXISTING ~%WIZARD_LANCE_OF_DISRUPTION_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia319 END - - COPY ~iwdification/lib/blank.itm~ ~override/cdia319.itm~ - SAY 0x0c @3009 - SAY 0x54 @3010 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_LANCE_OF_DISRUPTION_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT1) // add enchanter flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdia319a.bam~ ~override~ - ~iwdification/bam/cdia319b.bam~ ~override~ - ~iwdification/bam/cdia319c.bam~ ~override~ - ~iwdification/bam/cdia319v.bam~ ~override~ - ~iwdification/wav/cdtra_59.wav~ ~override~ + COPY ~iwdification/bam/cdia126a.bam~ ~override~ + ~iwdification/bam/cdia126b.bam~ ~override~ + ~iwdification/bam/cdia126c.bam~ ~override~ END ///// \\\\\ -///// Beltyns Burning Blood \\\\\ +///// WIZARD_SNILLOCS_SNOWBALL_SWARM \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/beltyns_burning_blood.spl~ 2 4 WIZARD_BELTYNS_BURNING_BLOOD - SAY 0x08 @3011 - SAY 0x50 @3012 - LPF SPELL_ALTER_EFFECT INT_VAR opcode = 146 STR_VAR resource = EVALUATE_BUFFER "%DEST_RES%" END - SPRINT temp "%DEST_RES%" +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SNILLOCS_SNOWBALL_SWARM~) OR override_arcane) BEGIN -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_BELTYNS_BURNING_BLOOD~)) > 0) THEN BEGIN + ADD_PROJECTILE ~iwdification/pro/cdi217.pro~ - OUTER_SPRINT WIZARD_BELTYNS_BURNING_BLOOD_RES "%temp%" + ADD_SPELL ~iwdification/spl/cdia204.spl~ 2 2 WIZARD_SNILLOCS_SNOWBALL_SWARM + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3020 // name + SAY 0x50 @3021 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi217 END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdia204 resource = EVAL ~%DEST_RES%~ END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 318 END + LPF DELETE_EFFECT INT_VAR match_opcode = 12 multi_match = 1 END // delete one of these + LPF CD_SPLIT_SAVE_DAMAGE END + END - COPY ~iwdification/lib/blank.itm~ ~override/cdia417.itm~ - SAY 0x0c @3011 - SAY 0x54 @3012 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_BELTYNS_BURNING_BLOOD_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT2) // add illusionist flag + COPY ~iwdification/itm/blank.itm~ ~override/cdia204.itm~ + SAY 0x0c @3020 + SAY 0x54 @3021 + LPF cd_scroll INT_VAR unusable1 = BIT1 target_hdr = 4 range = 40 opcode = 148 target_eff = 1 price = 900 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia204a.bam~ ~override~ + ~iwdification/bam/cdia204b.bam~ ~override~ + ~iwdification/bam/cdia204c.bam~ ~override~ + ~iwdification/vvc/cdissswa.vvc~ ~override~ // pro resources + ~iwdification/bam/cdiswarr.bam~ ~override~ + ~iwdification/bam/cdiswart.bam~ ~override~ + ~iwdification/bam/cdissswx.bam~ ~override~ + ~iwdification/wav/cdirngm2.wav~ ~override~ + ~iwdification/wav/cditra18.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY_EXISTING ~cdi217.pro~ ~override~ + WRITE_BYTE 0x217 14 - COPY ~iwdification/bam/cdia417a.bam~ ~override~ - ~iwdification/bam/cdia417b.bam~ ~override~ - ~iwdification/bam/cdia417c.bam~ ~override~ + END END ///// \\\\\ -///// Emotion: hopelessness \\\\\ +///// WIZARD_DECASTAVE \\\\\ ///// \\\\\ -ADD_PROJECTILE ~iwdification/pro/cdia420.pro~ +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_DECASTAVE~) OR override_arcane) BEGIN -COPY ~iwdification/spl/emotion_hopelessness.spl~ ~override/spwi411.spl~ // hopelessness - SAY 0x08 @3013 - SAY 0x50 @3014 - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia420 END + ADD_SPELL ~iwdification/spl/cdia216.spl~ 2 2 WIZARD_DECASTAVE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3030 // name + SAY 0x50 @3031 // descript -COPY ~iwdification/lib/blank.itm~ ~override/scrl5h.itm~ - SAY 0x0c @3013 - SAY 0x54 @3014 - LPF cd_scroll STR_VAR spell = spwi411 END - WRITE_ASCII 0x3a cdia411a - WRITE_ASCII 0x76 cdia411a - WRITE_ASCII 0xae cdia411a - WRITE_BYTE 0x2d (THIS | BIT3) // add invoker flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point + COPY ~iwdification/itm/blank.itm~ ~override/cdia216.itm~ + SAY 0x0c @3030 + SAY 0x54 @3031 + LPF cd_scroll INT_VAR unusable1 = BIT1 target_hdr = 5 range = 1 target_eff = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END -COPY ~iwdification/bam/cdia411a.bam~ ~override~ - ~iwdification/bam/cdia411b.bam~ ~override~ - ~iwdification/bam/cdia411c.bam~ ~override~ + COPY ~iwdification/itm/cdideca.itm~ ~override~ + SAY 0x08 @3030 + SAY 0x0c @3030 + PATCH_IF !ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 12 opcode = 146 parameter2 = 1 special = 0 dicenumber = 0 dicesize = 0 STR_VAR resource = cdideca END + END + + COPY ~iwdification/bam/cdia216a.bam~ ~override~ + ~iwdification/bam/cdia216b.bam~ ~override~ + ~iwdification/bam/cdia216c.bam~ ~override~ + ~iwdification/bam/cdideca.bam~ ~override~ + ~iwdification/bam/cdiinvoc.bam~ ~override~ + ~iwdification/vvc/cdiinvoc.vvc~ ~override~ + ~iwdification/wav/cdiee02.wav~ ~override~ + ~iwdification/wav/cdiem06.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/spl/cdideca.spl~ ~override~ + + END + +END ///// \\\\\ -///// Emotion: fear \\\\\ +///// WIZARD_CATS_GRACE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/emotion_fear.spl~ 2 4 WIZARD_EMOTION_FEAR - SAY 0x08 @3017 - SAY 0x50 @3018 - SPRINT temp "%DEST_RES%" +ACTION_IF ((ee_game OR tobex_game) AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_CATS_GRACE~) OR override_arcane)) BEGIN -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_FEAR~)) > 0) THEN BEGIN + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@3040) STR_VAR bam_file = cdia225d RET icon END - OUTER_SPRINT WIZARD_EMOTION_FEAR_RES "%temp%" - - COPY_EXISTING ~%WIZARD_EMOTION_FEAR_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia420 END - - COPY ~iwdification/lib/blank.itm~ ~override/cdia420.itm~ - SAY 0x0c @3017 - SAY 0x54 @3018 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_EMOTION_FEAR_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT3) // add invoker flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point + ADD_SPELL ~iwdification/spl/cdia225.spl~ 2 2 WIZARD_CATS_GRACE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3040 // name + SAY 0x50 @3041 // descript + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 14024 parameter1 = string_dexmod END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdia225 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 185 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 328 END + LPF CLONE_EFFECT INT_VAR match_opcode = 15 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = EVAL ~%DEST_RES%~ END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia225.itm~ + SAY 0x0c @3040 + SAY 0x54 @3041 + LPF cd_scroll INT_VAR unusable2 = BIT6 range = 1 STR_VAR price = 200 spell = EVAL ~%current_spell_res%~ END - COPY ~iwdification/bam/cdia420a.bam~ ~override~ - ~iwdification/bam/cdia420b.bam~ ~override~ - ~iwdification/bam/cdia420c.bam~ ~override~ + ACTION_IF ee_game BEGIN + APPEND ~splstate.ids~ ~45 CATS_GRACE~ UNLESS ~^45[ %TAB%]+CATS_GRACE[ %TAB%%LNL%%MNL%%WNL%]+~ + END + + COPY ~iwdification/bam/cdia225a.bam~ ~override~ + ~iwdification/bam/cdia225b.bam~ ~override~ + ~iwdification/bam/cdia225c.bam~ ~override~ + ~iwdification/bam/cdia225d.bam~ ~override~ + ~iwdification/wav/cdiem08.wav~ ~override~ END ///// \\\\\ -///// Emotion: courage \\\\\ +///// WIZARD_ICELANCE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/emotion_courage.spl~ 2 4 WIZARD_EMOTION_COURAGE - SAY 0x08 @3015 - SAY 0x50 @3016 - SPRINT temp "%DEST_RES%" +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_ICELANCE~) OR override_arcane) BEGIN -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_COURAGE~)) > 0) THEN BEGIN + ADD_PROJECTILE ~iwdification/pro/cdi251.pro~ - OUTER_SPRINT WIZARD_EMOTION_COURAGE_RES "%temp%" + ADD_SPELL ~iwdification/spl/cdia327.spl~ 2 3 WIZARD_ICELANCE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3050 // name + SAY 0x50 @3051 // descript + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 35568 parameter1 = string_stunned END + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi251 END - ADD_PROJECTILE ~iwdification/pro/cdia419.pro~ - - COPY_EXISTING ~%WIZARD_EMOTION_COURAGE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia419 END - - COPY ~iwdification/lib/blank.itm~ ~override/cdia419.itm~ - SAY 0x0c @3015 - SAY 0x54 @3016 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_EMOTION_COURAGE_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT3) // add invoker flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point + COPY ~iwdification/itm/blank.itm~ ~override/cdia327.itm~ + SAY 0x0c @3050 + SAY 0x54 @3051 + LPF cd_scroll INT_VAR unusable1 = BIT1 range = 100 price = 900 STR_VAR spell = EVAL ~%current_spell_res%~ END - COPY ~iwdification/bam/cdia419a.bam~ ~override~ - ~iwdification/bam/cdia419b.bam~ ~override~ - ~iwdification/bam/cdia419c.bam~ ~override~ + COPY ~iwdification/bam/cdia327a.bam~ ~override~ + ~iwdification/bam/cdia327b.bam~ ~override~ + ~iwdification/bam/cdia327c.bam~ ~override~ + ~iwdification/bam/cdiiceln.bam~ ~override~ + ~iwdification/wav/cditra19.wav~ ~override~ END ///// \\\\\ -///// Emotion: hope \\\\\ +///// WIZARD_LANCE_OF_DISRUPTION \\\\\ ///// \\\\\ - -ADD_SPELL ~iwdification/spl/emotion_hope.spl~ 2 4 WIZARD_EMOTION_HOPE - SAY 0x08 @3019 - SAY 0x50 @3020 - SPRINT temp "%DEST_RES%" -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_HOPE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_LANCE_OF_DISRUPTION~) OR override_arcane) BEGIN + + ACTION_IF ee_game BEGIN - OUTER_SPRINT WIZARD_EMOTION_HOPE_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdi313.pro~ - ACTION_IF NOT VARIABLE_IS_SET cdia419 THEN BEGIN + END ELSE BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi313a.pro~ - ADD_PROJECTILE ~iwdification/pro/cdia419.pro~ - END - COPY_EXISTING ~%WIZARD_EMOTION_HOPE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia419 END - - COPY ~iwdification/lib/blank.itm~ ~override/cdia421.itm~ - SAY 0x0c @3019 - SAY 0x54 @3020 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_EMOTION_HOPE_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT3) // add invoker flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point + ADD_SPELL ~iwdification/spl/cdia328.spl~ 2 3 WIZARD_LANCE_OF_DISRUPTION + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3060 // name + SAY 0x50 @3061 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdia328 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi313 END + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi313a END + LPF ALTER_EFFECT INT_VAR match_opcode = 318 opcode = 206 target = 1 parameter2 = 0 STR_VAR match_resource = cdia328 resource = EVAL ~%DEST_RES%~ END + LPF CD_SPLIT_SAVE_DAMAGE END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia328.itm~ + SAY 0x0c @3060 + SAY 0x54 @3061 + LPF cd_scroll INT_VAR unusable1 = BIT1 target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 600 STR_VAR spell = EVAL ~%current_spell_res%~ END - COPY ~iwdification/bam/cdia421a.bam~ ~override~ - ~iwdification/bam/cdia421b.bam~ ~override~ - ~iwdification/bam/cdia421c.bam~ ~override~ + COPY ~iwdification/bam/cdia328a.bam~ ~override~ + ~iwdification/bam/cdia328b.bam~ ~override~ + ~iwdification/bam/cdia328c.bam~ ~override~ + ~iwdification/bam/cdiinvoc.bam~ ~override~ + ~iwdification/bam/cdilodis.bam~ ~override~ + ~iwdification/vvc/cdiinvoc.vvc~ ~override~ + ~iwdification/wav/cdiem06.wav~ ~override~ + ~iwdification/wav/cditra59.wav~ ~override~ END ///// \\\\\ -///// Vitriolic Sphere \\\\\ +///// WIZARD_BELTYNS_BURNING_BLOOD \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/vitriolic_sphere.spl~ 2 4 WIZARD_VITRIOLIC_SPHERE - SAY 0x08 @3021 - SAY 0x50 @3022 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_VITRIOLIC_SPHERE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_BELTYNS_BURNING_BLOOD~) OR override_arcane) BEGIN - OUTER_SPRINT WIZARD_VITRIOLIC_SPHERE_RES "%temp%" + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@3070) STR_VAR bam_file = cdia422d RET icon END - ADD_PROJECTILE ~iwdification/pro/cdia424.pro~ - - COPY_EXISTING ~%WIZARD_VITRIOLIC_SPHERE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia424 END - - COPY ~iwdification/lib/blank.itm~ ~override/cdia424.itm~ - SAY 0x0c @3021 - SAY 0x54 @3022 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_VITRIOLIC_SPHERE_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT0) // add diviner flag - - COPY ~iwdification/bam/cdia424a.bam~ ~override~ - ~iwdification/bam/cdia424b.bam~ ~override~ - ~iwdification/bam/cdia424c.bam~ ~override~ - ~iwdification/bam/cdia424p.bam~ ~override~ - ~iwdification/bam/cdia424v.bam~ ~override~ - ~iwdification/spl/cdia424y.spl~ ~override~ - ~iwdification/spl/cdia424z.spl~ ~override~ - ~iwdification/vvc/cdia424.vvc~ ~override~ - ~iwdification/wav/cdtra_60.wav~ ~override~ + ADD_SPELL ~iwdification/spl/cdia422.spl~ 2 4 WIZARD_BELTYNS_BURNING_BLOOD + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3070 // name + SAY 0x50 @3071 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdia422 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 66 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 66 END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 9 opcode = 177 parameter1 = 145 parameter2 = 4 STR_VAR resource = cdixa422 END // race = elemental + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixa422 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixa422 END // general = undead + LPF CD_CONVERT_333 END + END -END + COPY ~iwdification/itm/blank.itm~ ~override/cdia422.itm~ + SAY 0x0c @3070 + SAY 0x54 @3071 + LPF cd_scroll INT_VAR unusable1 = BIT2 range = 200 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END -///// \\\\\ -///// Shadow Monsters \\\\\ -///// \\\\\ + COPY ~iwdification/spl/cdia422a.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37605 parameter1 = string_berserk END -ADD_SPELL ~iwdification/spl/shadow_monsters.spl~ 2 4 WIZARD_SHADOW_MONSTERS - SAY 0x08 @3023 - SAY 0x50 @3024 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SHADOW_MONSTERS~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_SHADOW_MONSTERS_RES "%temp%" - - COPY ~iwdification/lib/blank.itm~ ~override/cdia418.itm~ - SAY 0x0c @3023 - SAY 0x54 @3024 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_SHADOW_MONSTERS_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT4) // add necromancer flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/2da/cdia418.2da~ ~override~ - ~iwdification/bam/cdia418a.bam~ ~override~ - ~iwdification/bam/cdia418b.bam~ ~override~ - ~iwdification/bam/cdia418c.bam~ ~override~ - ~iwdification/cre/cds1gob1.cre~ ~override~ - ~iwdification/cre/cds1gob2.cre~ ~override~ - ~iwdification/cre/cds1gob3.cre~ ~override~ - ~iwdification/cre/cds1liz3.cre~ ~override~ - ~iwdification/cre/cds1liz4.cre~ ~override~ - ~iwdification/cre/cds1trl6.cre~ ~override~ - ~iwdification/cre/cds1trl7.cre~ ~override~ - ~iwdification/cre/cds1trl8.cre~ ~override~ - ~iwdification/itm/cd1d7sls.itm~ ~override~ - ~iwdification/itm/cdsumrng.itm~ ~override~ - ~iwdification/itm/cdtran20.itm~ ~override~ + COPY ~iwdification/bam/cdia422a.bam~ ~override~ + ~iwdification/bam/cdia422b.bam~ ~override~ + ~iwdification/bam/cdia422c.bam~ ~override~ + ~iwdification/bam/cdia422d.bam~ ~override~ + ~iwdification/bam/cdinecro.bam~ ~override~ + ~iwdification/vvc/cdinecro.vvc~ ~override~ + ~iwdification/wav/cdiem07.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixa422.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 + + END END ///// \\\\\ -///// Shroud of Flame \\\\\ +///// WIZARD_SHADOW_MONSTERS \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/shroud_of_flame.spl~ 2 5 WIZARD_SHROUD_OF_FLAME - SAY 0x08 @3025 - SAY 0x50 @3026 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SHROUD_OF_FLAME~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_SHROUD_OF_FLAME_RES "%temp%" +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SHADOW_MONSTERS~) OR override_arcane) BEGIN - COPY ~iwdification/lib/blank.itm~ ~override/cdia511.itm~ - SAY 0x0c @3025 - SAY 0x54 @3026 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_SHROUD_OF_FLAME_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT1) // add enchanter flag - - COPY ~iwdification/bam/cdia511a.bam~ ~override~ - ~iwdification/bam/cdia511b.bam~ ~override~ - ~iwdification/bam/cdia511c.bam~ ~override~ - ~iwdification/bam/cdia511v.bam~ ~override~ - ~iwdification/spl/cdia511a.spl~ ~override~ // main target's flame damage - ~iwdification/spl/cdia511b.spl~ ~override~ // splash/contagion damage for creatures near main target - ~iwdification/vvc/cdia511v.vvc~ ~override~ + LAF cd_new_summon_table STR_VAR descript = "SHADOW_MONSTERS" 2da_file = cdismons RET table END -END + ADD_SPELL ~iwdification/spl/cdia426.spl~ 2 4 WIZARD_SHADOW_MONSTERS + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3080 // name + SAY 0x50 @3081 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + READ_SHORT 0x68 abil_num + LPF ALTER_EFFECT INT_VAR header = 0 match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdismons END + FOR (index = 1 ; index < abil_num ; ++index) BEGIN + LPF ALTER_EFFECT INT_VAR header = index match_opcode = 331 opcode = 127 parameter1 = (index + 7) parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdismons END + END + LPF CLONE_EFFECT INT_VAR match_opcode = 127 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + END -///// \\\\\ -///// Demi-shadow Monsters \\\\\ -///// \\\\\ + COPY ~iwdification/itm/blank.itm~ ~override/cdia426.itm~ + SAY 0x0c @3080 + SAY 0x54 @3081 + LPF cd_scroll INT_VAR unusable1 = BIT4 target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 1200 STR_VAR spell = EVAL ~%current_spell_res%~ END + + LAF cd_animation STR_VAR code = e400 END // 58368 MGO1 goblin_axe + COPY ~iwdification/cre/cdis1gb1.cre~ ~override~ + ~iwdification/cre/cdis1gb2.cre~ ~override~ + ~iwdification/cre/cdis1gb3.cre~ ~override~ + WRITE_LONG 0x08 string_goblin + WRITE_LONG 0x0c string_goblin + + LAF cd_animation STR_VAR code = e510 END // 58640 MLI2 lizard_man + COPY ~iwdification/cre/cdis1lz3.cre~ ~override~ + ~iwdification/cre/cdis1lz4.cre~ ~override~ + SAY 0x08 @3082 + SAY 0x0c @3082 + WRITE_LONG 0x28 anim_lizman + + LAF cd_animation STR_VAR code = e0b0 END // 57520 MTRO troll_blue - MTRO doubles with bg2 troll + COPY ~iwdification/cre/cdis1tr6.cre~ ~override~ + ~iwdification/cre/cdis1tr7.cre~ ~override~ + ~iwdification/cre/cdis1tr8.cre~ ~override~ + WRITE_LONG 0x08 string_troll + WRITE_LONG 0x0c string_troll + WRITE_LONG 0x28 anim_btroll + + COPY ~iwdification/itm/cdim1d7s.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/2da/cdismons.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END -ADD_SPELL ~iwdification/spl/demishadow_monsters.spl~ 2 5 WIZARD_DEMISHADOW_MONSTERS - SAY 0x08 @3027 - SAY 0x50 @3028 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_DEMISHADOW_MONSTERS~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_DEMISHADOW_MONSTERS_RES "%temp%" - - COPY ~iwdification/lib/blank.itm~ ~override/cdia512.itm~ - SAY 0x0c @3027 - SAY 0x54 @3028 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_DEMISHADOW_MONSTERS_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT4) // add necromancer flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/2da/cdia512.2da~ ~override~ - ~iwdification/bam/cdia512a.bam~ ~override~ - ~iwdification/bam/cdia512b.bam~ ~override~ - ~iwdification/bam/cdia512c.bam~ ~override~ - ~iwdification/itm/cdtran40.itm~ ~override~ - - COPY ~iwdification/cre/cds2gob1.cre~ ~override~ - ~iwdification/cre/cds2gob2.cre~ ~override~ - ~iwdification/cre/cds2gob3.cre~ ~override~ - SAY 0x08 @3049 - SAY 0x0c @3049 - - COPY ~iwdification/cre/cds2liz5.cre~ ~override~ - ~iwdification/cre/cds2liz6.cre~ ~override~ - ~iwdification/cre/cds2liz7.cre~ ~override~ - SAY 0x08 @3050 - SAY 0x0c @3050 + COPY ~iwdification/bam/cdia426a.bam~ ~override~ + ~iwdification/bam/cdia426b.bam~ ~override~ + ~iwdification/bam/cdia426c.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdimsm1x.bam~ ~override~ + ~iwdification/itm/cdisumrn.itm~ ~override~ + ~iwdification/itm/cditrn20.itm~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + ~iwdification/vvc/cdimsm1x.vvc~ ~override~ END ///// \\\\\ -///// Summon Shadow \\\\\ +///// WIZARD_EMOTION_COURAGE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/summon_shadow.spl~ 2 5 WIZARD_SUMMON_SHADOW - SAY 0x08 @3029 - SAY 0x50 @3030 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SUMMON_SHADOW~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_SUMMON_SHADOW_RES "%temp%" - - COPY ~iwdification/lib/blank.itm~ ~override/cdia513.itm~ - SAY 0x0c @3029 - SAY 0x54 @3030 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_SUMMON_SHADOW_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT2) // add illusionist flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/2da/cdia513.2da~ ~override~ - ~iwdification/bam/cdia513a.bam~ ~override~ - ~iwdification/bam/cdia513b.bam~ ~override~ - ~iwdification/bam/cdia513c.bam~ ~override~ - ~iwdification/cre/cdia513.cre~ ~override~ - ~iwdification/eff/cdia513.eff~ ~override~ - ~iwdification/itm/cdtran60.itm~ ~override~ - ~iwdification/itm/cdia513w.itm~ ~override~ +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_EMOTION_COURAGE~) OR override_arcane) BEGIN -END + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@3092) STR_VAR bam_file = cdia427d RET icon END -///// \\\\\ -///// Contact other plane \\\\\ -///// \\\\\ + ADD_PROJECTILE ~iwdification/pro/cdi407.pro~ -ADD_SPELL ~iwdification/spl/contact_other_plane.spl~ 2 5 WIZARD_CONTACT_OTHER_PLANE - SAY 0x08 @3031 - SAY 0x50 @3032 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_CONTACT_OTHER_PLANE~)) > 0) THEN BEGIN + ADD_SPELL ~iwdification/spl/cdia427.spl~ 2 4 WIZARD_EMOTION_COURAGE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3090 // name + SAY 0x50 @3091 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi407 END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdia427 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 187 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 187 END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = EVAL ~%DEST_RES%~ END + END - OUTER_SPRINT WIZARD_CONTACT_OTHER_PLANE_RES "%temp%" + COPY ~iwdification/itm/blank.itm~ ~override/cdia427.itm~ + SAY 0x0c @3090 + SAY 0x54 @3091 + LPF cd_scroll INT_VAR unusable1 = BIT3 target_hdr = 4 range = 50 opcode = 148 target_eff = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END - COPY ~iwdification/lib/blank.itm~ ~override/cdia517.itm~ - SAY 0x0c @3031 - SAY 0x54 @3032 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_CONTACT_OTHER_PLANE_RES%~ END - WRITE_BYTE 0x2f (THIS | BIT7) // add conjurer flag - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdia517a.bam~ ~override~ - ~iwdification/bam/cdia517b.bam~ ~override~ - ~iwdification/bam/cdia517c.bam~ ~override~ - - COPY ~iwdification/cre/cdia517.cre~ ~override~ - SAY 0x08 @3033 - SAY 0x0c @3033 - - COMPILE ~iwdification/dlg/cdia517.d~ + COPY ~iwdification/bam/cdia427a.bam~ ~override~ + ~iwdification/bam/cdia427b.bam~ ~override~ + ~iwdification/bam/cdia427c.bam~ ~override~ + ~iwdification/bam/cdia427d.bam~ ~override~ + ~iwdification/bam/cdiencha.bam~ ~override~ + ~iwdification/vvc/cdiencha.vvc~ ~override~ + ~iwdification/wav/cdiee03.wav~ ~override~ + ~iwdification/wav/cdiem05.wav~ ~override~ END ///// \\\\\ -///// lich touch \\\\\ +///// WIZARD_EMOTION_FEAR \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/lich_touch.spl~ 2 6 WIZARD_LICH_TOUCH - SAY 0x08 @3035 - SAY 0x50 @3036 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_LICH_TOUCH~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_EMOTION_FEAR~) OR override_arcane) BEGIN - OUTER_SPRINT WIZARD_LICH_TOUCH_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdi255.pro~ - COPY ~iwdification/lib/blank.itm~ ~override/cdia610.itm~ - SAY 0x0c @3035 - SAY 0x54 @3036 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_LICH_TOUCH_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT2) // add illusionist flag - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range + ADD_SPELL ~iwdification/spl/cdia428.spl~ 2 4 WIZARD_EMOTION_FEAR + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3100 // name + SAY 0x50 @3101 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi255 END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 35484 parameter1 = string_panic END + PATCH_IF !ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + END - COPY ~iwdification/bam/cdia610a.bam~ ~override~ - ~iwdification/bam/cdia610b.bam~ ~override~ - ~iwdification/bam/cdia610c.bam~ ~override~ - ~iwdification/bam/cdia610w.bam~ ~override~ - - COPY ~iwdification/itm/cdia610w.itm~ ~override~ - SAY 0x08 @3035 - SAY 0x0c @3035 - SAY 0x50 @3035 - SAY 0x54 @3035 + COPY ~iwdification/itm/blank.itm~ ~override/cdia428.itm~ + SAY 0x0c @3100 + SAY 0x54 @3101 + LPF cd_scroll INT_VAR unusable1 = BIT3 target_hdr = 4 range = 50 opcode = 148 target_eff = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia428a.bam~ ~override~ + ~iwdification/bam/cdia428b.bam~ ~override~ + ~iwdification/bam/cdia428c.bam~ ~override~ + ~iwdification/bam/cdiencha.bam~ ~override~ + ~iwdification/bam/cdienchx.bam~ ~override~ + ~iwdification/vvc/cdiencha.vvc~ ~override~ + ~iwdification/vvc/cdigench.vvc~ ~override~ + ~iwdification/wav/cdiarm21.wav~ ~override~ + ~iwdification/wav/cdiee05.wav~ ~override~ + ~iwdification/wav/cdiem05.wav~ ~override~ END ///// \\\\\ -///// antimagic shell \\\\\ +///// WIZARD_EMOTION_HOPE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/antimagic_shell.spl~ 2 6 WIZARD_ANTIMAGIC_SHELL - SAY 0x08 @3037 - SAY 0x50 @3038 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_ANTIMAGIC_SHELL~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_EMOTION_HOPE~) OR override_arcane) BEGIN - OUTER_SPRINT WIZARD_ANTIMAGIC_SHELL_RES "%temp%" + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@3112) STR_VAR bam_file = cdia429d RET icon END - COPY ~iwdification/lib/blank.itm~ ~override/cdia601.itm~ - SAY 0x0c @3037 - SAY 0x54 @3038 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_ANTIMAGIC_SHELL_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT5) // add transmuter flag - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdia601a.bam~ ~override~ - ~iwdification/bam/cdia601b.bam~ ~override~ - ~iwdification/bam/cdia601c.bam~ ~override~ - ~iwdification/bam/cdia601v.bam~ ~override~ - ~iwdification/vvc/cdia601v.vvc~ ~override~ + ADD_PROJECTILE ~iwdification/pro/cdi407.pro~ + + ADD_SPELL ~iwdification/spl/cdia429.spl~ 2 4 WIZARD_EMOTION_HOPE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3110 // name + SAY 0x50 @3111 // descript + LPF DELETE_EFFECT INT_VAR match_opcode = 321 STR_VAR match_resource = spin115 END + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi407 END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 186 parameter2 = icon END + LPF ALTER_EFFECT STR_VAR match_resource = cdia429 resource = EVAL ~%DEST_RES%~ END + END ELSE BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 186 parameter2 = 22 END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = EVAL ~%DEST_RES%~ END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia429.itm~ + SAY 0x0c @3110 + SAY 0x54 @3111 + LPF cd_scroll INT_VAR unusable1 = BIT3 target_hdr = 4 range = 50 opcode = 148 target_eff = 1 price = 600 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia429a.bam~ ~override~ + ~iwdification/bam/cdia429b.bam~ ~override~ + ~iwdification/bam/cdia429c.bam~ ~override~ + ~iwdification/bam/cdia429d.bam~ ~override~ + ~iwdification/bam/cdiencha.bam~ ~override~ + ~iwdification/vvc/cdiencha.vvc~ ~override~ + ~iwdification/wav/cdiee03.wav~ ~override~ + ~iwdification/wav/cdiem05.wav~ ~override~ END ///// \\\\\ -///// monster summoning iv \\\\\ +///// WIZARD_MORDENKAINENS_FORCE_MISSILES \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/monster_summoning_iv.spl~ 2 6 WIZARD_MONSTER_SUMMONING_4 - SAY 0x08 @3039 - SAY 0x50 @3040 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_MONSTER_SUMMONING_4~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_MONSTER_SUMMONING_4_RES "%temp%" - - COPY ~iwdification/lib/blank.itm~ ~override/cdia611.itm~ - SAY 0x0c @3039 - SAY 0x54 @3040 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_MONSTER_SUMMONING_4_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT0) // add diviner flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/2da/cdia611.2da~ ~override~ - ~iwdification/bam/cdia611a.bam~ ~override~ - ~iwdification/bam/cdia611b.bam~ ~override~ - ~iwdification/bam/cdia611c.bam~ ~override~ - ~iwdification/cre/cdm4ghst.cre~ ~override~ - ~iwdification/cre/cdm4ogr.cre~ ~override~ - ~iwdification/eff/cdia611.eff~ ~override~ - - ACTION_IF ((MOD_IS_INSTALLED ~INFINITYANIMATIONS/SETUP-INFINITYANIMATIONS.TP2~ ~550~) AND - (IDS_OF_SYMBOL (~animate~ ~TUNDRA_YETI~) > 0) AND - (FILE_EXISTS_IN_GAME ~µDAa1.bam~)) THEN BEGIN - - COPY ~iwdification/cre/cdm4yeti.cre~ ~override~ - SAY 0x08 @3051 - SAY 0x0c @3051 - WRITE_LONG 0x28 IDS_OF_SYMBOL (~animate~ ~TUNDRA_YETI~) +ACTION_IF (ee_game AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_MORDENKAINENS_FORCE_MISSILES~) OR override_arcane)) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdimfm.pro~ + ADD_PROJECTILE ~iwdification/pro/cdimfm2.pro~ + + // ADD_PROJECTILE won't add multiple versions of the same projectile, but it's needed for MFM's special projectile chain - do it manually + OUTER_FOR (index = (cdimfm2 + 1) ; index < (cdimfm2 + 10) ; ++index) BEGIN - APPEND ~cdia611.2da~ ~2 CDM4YETI~ + APPEND ~projectl.ids~ ~%index% cdimfm2~ END + ADD_SPELL ~iwdification/spl/cdia430.spl~ 2 4 WIZARD_MORDENKAINENS_FORCE_MISSILES + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3120 // name + SAY 0x50 @3121 // descript + LPF ALTER_SPELL_HEADER INT_VAR header = 1 projectile = (cdimfm + 0) END + LPF ALTER_SPELL_HEADER INT_VAR header = 2 projectile = (cdimfm + 0) END + LPF ALTER_SPELL_HEADER INT_VAR header = 3 projectile = (cdimfm + 0) END + LPF ALTER_SPELL_HEADER INT_VAR header = 4 projectile = (cdimfm + 1) END + LPF ALTER_SPELL_HEADER INT_VAR header = 5 projectile = (cdimfm + 1) END + LPF ALTER_SPELL_HEADER INT_VAR header = 6 projectile = (cdimfm + 1) END + LPF ALTER_SPELL_HEADER INT_VAR header = 7 projectile = (cdimfm + 2) END + LPF ALTER_SPELL_HEADER INT_VAR header = 8 projectile = (cdimfm + 2) END + LPF ALTER_SPELL_HEADER INT_VAR header = 9 projectile = (cdimfm + 2) END + LPF ALTER_SPELL_HEADER INT_VAR header = 10 projectile = (cdimfm + 3) END + LPF ALTER_SPELL_HEADER INT_VAR header = 11 projectile = (cdimfm + 3) END + LPF ALTER_SPELL_HEADER INT_VAR header = 12 projectile = (cdimfm + 3) END + LPF ALTER_SPELL_HEADER INT_VAR header = 13 projectile = (cdimfm + 4) END + LPF ALTER_SPELL_HEADER INT_VAR header = 14 projectile = (cdimfm + 4) END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia430.itm~ + SAY 0x0c @3120 + SAY 0x54 @3121 + LPF cd_scroll INT_VAR unusable1 = BIT1 range = 100 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia430a.bam~ ~override~ + ~iwdification/bam/cdia430b.bam~ ~override~ + ~iwdification/bam/cdia430c.bam~ ~override~ + ~iwdification/bam/cdimfmsx.bam~ ~override~ + ~iwdification/bam/cdimfmt.bam~ ~override~ + ~iwdification/spl/cdia430b.spl~ ~override~ + ~iwdification/vvc/cdimfmsx.vvc~ ~override~ + ~iwdification/wav/cdiarm02.wav~ ~override~ + ~iwdification/wav/cdiem103.wav~ ~override~ + ~iwdification/wav/cditra55.wav~ ~override~ + END ///// \\\\\ -///// Otiluke's Freezing Sphere \\\\\ +///// WIZARD_SHOUT \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/otilukes_freezing_sphere.spl~ 2 6 WIZARD_OTILUKES_FREEZING_SPHERE - SAY 0x08 @3041 - SAY 0x50 @3042 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_OTILUKES_FREEZING_SPHERE~)) > 0) THEN BEGIN +ACTION_IF (ee_game AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SHOUT~) OR override_arcane)) BEGIN - OUTER_SPRINT WIZARD_OTILUKES_FREEZING_SPHERE_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdi315.pro~ - ADD_PROJECTILE ~iwdification/pro/cdia612.pro~ - - COPY_EXISTING ~%WIZARD_OTILUKES_FREEZING_SPHERE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia612 END - - COPY ~iwdification/lib/blank.itm~ ~override/cdia612.itm~ - SAY 0x0c @3041 - SAY 0x54 @3042 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_OTILUKES_FREEZING_SPHERE_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT1) // add enchanter flag - - COPY ~iwdification/bam/cdia612a.bam~ ~override~ - ~iwdification/bam/cdia612b.bam~ ~override~ - ~iwdification/bam/cdia612c.bam~ ~override~ - ~iwdification/bam/cdia612p.bam~ ~override~ + ADD_SPELL ~iwdification/spl/cdia431.spl~ 2 4 WIZARD_SHOUT + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3130 // name + SAY 0x50 @3131 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi315 END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 14073 parameter1 = string_deafness END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia431.itm~ + SAY 0x0c @3130 + SAY 0x54 @3131 + LPF cd_scroll INT_VAR unusable1 = BIT1 target_hdr = 4 range = 22 opcode = 148 target_eff = 1 price = 1200 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia431a.bam~ ~override~ + ~iwdification/bam/cdia431b.bam~ ~override~ + ~iwdification/bam/cdia431c.bam~ ~override~ + ~iwdification/bam/cdishout.bam~ ~override~ + ~iwdification/wav/cdiem100.wav~ ~override~ + ~iwdification/wav/cditra08.wav~ ~override~ END ///// \\\\\ -///// Shades \\\\\ +///// WIZARD_VITRIOLIC_SPHERE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/shades.spl~ 2 6 WIZARD_SHADES - SAY 0x08 @3043 - SAY 0x50 @3044 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SHADES~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_SHADES_RES "%temp%" - - COPY ~iwdification/lib/blank.itm~ ~override/cdia613.itm~ - SAY 0x0c @3043 - SAY 0x54 @3044 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_SHADES_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT4) // add necromancer flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/2da/cdia613.2da~ ~override~ - ~iwdification/bam/cdia613a.bam~ ~override~ - ~iwdification/bam/cdia613b.bam~ ~override~ - ~iwdification/bam/cdia613c.bam~ ~override~ - ~iwdification/cre/cds3trl7.cre~ ~override~ - ~iwdification/cre/cds3trl8.cre~ ~override~ - ~iwdification/cre/cds3umb8.cre~ ~override~ - ~iwdification/cre/cds3umb9.cre~ ~override~ - ~iwdification/itm/cdrg1hp2.itm~ ~override~ - ~iwdification/itm/cdsumamu.itm~ ~override~ - ~iwdification/itm/cdtran60.itm~ ~override~ +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_VITRIOLIC_SPHERE~) OR override_arcane) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi316.pro~ + + ADD_SPELL ~iwdification/spl/cdia432.spl~ 2 4 WIZARD_VITRIOLIC_SPHERE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3140 // name + SAY 0x50 @3141 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi316 END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia432.itm~ + SAY 0x0c @3140 + SAY 0x54 @3141 + LPF cd_scroll INT_VAR unusable1 = (BIT0 + BIT3) range = 100 price = 1600 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia432a.bam~ ~override~ + ~iwdification/bam/cdia432b.bam~ ~override~ + ~iwdification/bam/cdia432c.bam~ ~override~ + ~iwdification/bam/cdiacid.bam~ ~override~ + ~iwdification/bam/cdivitst.bam~ ~override~ + ~iwdification/bam/cdivitsx.bam~ ~override~ + ~iwdification/spl/cdia432y.spl~ ~override~ + ~iwdification/spl/cdia432z.spl~ ~override~ + ~iwdification/vvc/cdiacid.vvc~ ~override~ + ~iwdification/vvc/cdivitsx.vvc~ ~override~ + ~iwdification/wav/cdiem34.wav~ ~override~ + ~iwdification/wav/cdiem47.wav~ ~override~ + ~iwdification/wav/cditra60.wav~ ~override~ END ///// \\\\\ -///// darts of bone \\\\\ +///// WIZARD_SHROUD_OF_FLAME \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/darts_of_bone.spl~ 2 6 WIZARD_DARTS_OF_BONE - SAY 0x08 @3045 - SAY 0x50 @3046 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_DARTS_OF_BONE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SHROUD_OF_FLAME~) OR override_arcane) BEGIN - OUTER_SPRINT WIZARD_DARTS_OF_BONE_RES "%temp%" + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@3150) STR_VAR bam_file = cdia524d RET icon END - COPY ~iwdification/lib/blank.itm~ ~override/cdia618.itm~ - SAY 0x0c @3045 - SAY 0x54 @3046 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_DARTS_OF_BONE_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT2) // add illusionist flag - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdishrod.pro~ + + END ELSE BEGIN - COPY ~iwdification/bam/cdia618a.bam~ ~override~ - ~iwdification/bam/cdia618b.bam~ ~override~ - ~iwdification/bam/cdia618c.bam~ ~override~ - ~iwdification/bam/cdia618w.bam~ ~override~ + OUTER_SET cdishrod = 216 - COPY ~iwdification/itm/cdia618w.itm~ ~override~ - SAY 0x08 @3045 - SAY 0x0c @3045 - SAY 0x50 @3046 - SAY 0x54 @3046 + END + + ADD_SPELL ~iwdification/spl/cdia524.spl~ 2 5 WIZARD_SHROUD_OF_FLAME + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3150 // name + SAY 0x50 @3151 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdia524 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 333 STR_VAR resource = cdia524b END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 94 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 94 END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 328 END + LPF CD_CONVERT_333 STR_VAR 333spell = cdia524b END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia524.itm~ + SAY 0x0c @3150 + SAY 0x54 @3151 + LPF cd_scroll INT_VAR unusable1 = BIT1 range = 100 price = 1500 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/spl/cdia524b.spl~ ~override~ + SAY 0x08 @3150 // name + SAY 0x50 @3151 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdishrod END + PATCH_IF !ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 328 END + LPF CD_CONVERT_9_255 END + END + + COPY ~iwdification/bam/cdia524a.bam~ ~override~ + ~iwdification/bam/cdia524b.bam~ ~override~ + ~iwdification/bam/cdia524c.bam~ ~override~ + ~iwdification/bam/cdia524d.bam~ ~override~ + ~iwdification/bam/cdisofl.bam~ ~override~ + ~iwdification/vvc/cdisofl.vvc~ ~override~ END ///// \\\\\ -///// Trollish Fortitude \\\\\ +///// WIZARD_DEMI_SHADOW_MONSTERS \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/trollish_fortitude.spl~ 2 6 WIZARD_TROLLISH_FORTITUDE - SAY 0x08 @3047 - SAY 0x50 @3048 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_TROLLISH_FORTITUDE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_DEMI_SHADOW_MONSTERS~) OR override_arcane) BEGIN - OUTER_SPRINT WIZARD_TROLLISH_FORTITUDE_RES "%temp%" + LAF cd_new_summon_table STR_VAR descript = "DEMI_SHADOW_MONSTERS" 2da_file = cdidsmon RET table END - COPY ~iwdification/lib/blank.itm~ ~override/cdia620.itm~ - SAY 0x0c @3047 - SAY 0x54 @3048 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_TROLLISH_FORTITUDE_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT2) // add illusionist flag - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range + ADD_SPELL ~iwdification/spl/cdia525.spl~ 2 5 WIZARD_DEMI_SHADOW_MONSTERS + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3160 // name + SAY 0x50 @3161 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + READ_SHORT 0x68 abil_num + LPF ALTER_EFFECT INT_VAR header = 0 match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdidsmon END + FOR (index = 1 ; index < abil_num ; ++index) BEGIN + LPF ALTER_EFFECT INT_VAR header = index match_opcode = 331 opcode = 127 parameter1 = (index + 9) parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdidsmon END + END + LPF CLONE_EFFECT INT_VAR match_opcode = 127 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + END - COPY ~iwdification/bam/cdia620a.bam~ ~override~ - ~iwdification/bam/cdia620b.bam~ ~override~ - ~iwdification/bam/cdia620c.bam~ ~override~ + COPY ~iwdification/itm/blank.itm~ ~override/cdia525.itm~ + SAY 0x0c @3160 + SAY 0x54 @3161 + LPF cd_scroll INT_VAR unusable1 = BIT4 target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 1500 STR_VAR spell = EVAL ~%current_spell_res%~ END + + LAF cd_animation STR_VAR code = e420 END // 58400 MGO3 goblin_elite_axe + COPY ~iwdification/cre/cdis2gb1.cre~ ~override~ + ~iwdification/cre/cdis2gb2.cre~ ~override~ + ~iwdification/cre/cdis2gb3.cre~ ~override~ + SAY 0x08 @3162 + SAY 0x0c @3162 + + LAF cd_animation STR_VAR code = e500 END // 58624 MLIZ lizard_man_elite + COPY ~iwdification/cre/cdis2lz5.cre~ ~override~ + ~iwdification/cre/cdis2lz6.cre~ ~override~ + ~iwdification/cre/cdis2lz7.cre~ ~override~ + SAY 0x08 @3163 + SAY 0x0c @3163 + + COPY ~iwdification/bam/cdia525a.bam~ ~override~ + ~iwdification/bam/cdia525b.bam~ ~override~ + ~iwdification/bam/cdia525c.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdimsm1x.bam~ ~override~ + ~iwdification/itm/cdisumrn.itm~ ~override~ + ~iwdification/itm/cditrn40.itm~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + ~iwdification/vvc/cdimsm1x.vvc~ ~override~ + + COPY ~iwdification/2da/cdidsmon.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END END ///// \\\\\ -///// Monster Summoning V \\\\\ +///// WIZARD_SUMMON_SHADOW \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/monster_summoning_v.spl~ 2 7 WIZARD_MONSTER_SUMMONING_5 - SAY 0x08 @3052 - SAY 0x50 @3053 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_MONSTER_SUMMONING_5~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_MONSTER_SUMMONING_5_RES "%temp%" - - COPY ~iwdification/lib/blank.itm~ ~override/cdia703.itm~ - SAY 0x0c @3052 - SAY 0x54 @3053 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_MONSTER_SUMMONING_5_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT0) // add diviner flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/2da/cdia703.2da~ ~override~ - ~iwdification/bam/cdia703a.bam~ ~override~ - ~iwdification/bam/cdia703b.bam~ ~override~ - ~iwdification/bam/cdia703c.bam~ ~override~ - ~iwdification/cre/cdm5gspi.cre~ ~override~ // giant spider - ~iwdification/cre/cdm5mino.cre~ ~override~ // minotaur - ~iwdification/eff/cdia703.eff~ ~override~ - - COPY ~iwdification/cre/cdm5jzom.cre~ ~override~ // Ju-ju zombie - SAY 0x08 @3064 - SAY 0x0c @3064 +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SUMMON_SHADOW~) OR override_arcane) BEGIN + + LAF cd_new_summon_table STR_VAR descript = "SUMMON_SHADOW" 2da_file = cdishadw RET table END + + ADD_SPELL ~iwdification/spl/cdia526.spl~ 2 5 WIZARD_SUMMON_SHADOW + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3170 // name + SAY 0x50 @3171 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 12 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdishadw END // shadows are level 4, so p1=12 should mean 3 shadows + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia526.itm~ + SAY 0x0c @3170 + SAY 0x54 @3171 + LPF cd_scroll INT_VAR target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 1500 STR_VAR spell = EVAL ~%current_spell_res%~ END + + LAF cd_animation STR_VAR code = ea20 END // 59936 MSH2 shadow_large + COPY ~iwdification/cre/cdisshad.cre~ ~override~ + WRITE_LONG 0x08 string_shadow + WRITE_LONG 0x0c string_shadow + WRITE_LONG 0x28 anim_shadow_lg + + COPY ~iwdification/itm/cdishdw1.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/spl/cdishdw1.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 35593 parameter1 = string_diseased END + + COPY ~iwdification/bam/cdia526a.bam~ ~override~ + ~iwdification/bam/cdia526b.bam~ ~override~ + ~iwdification/bam/cdia526c.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdimsm1x.bam~ ~override~ + ~iwdification/bam/cdinecro.bam~ ~override~ + ~iwdification/itm/cditrn60.itm~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + ~iwdification/vvc/cdimsm1x.vvc~ ~override~ + ~iwdification/vvc/cdinecro.vvc~ ~override~ + + COPY ~iwdification/2da/cdishadw.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END END ///// \\\\\ -///// Malavon's Rage \\\\\ +///// WIZARD_CONTACT_OTHER_PLANE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/malavons_rage.spl~ 2 7 WIZARD_MALAVONS_RAGE - SAY 0x08 @3054 - SAY 0x50 @3055 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_MALAVONS_RAGE~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_MALAVONS_RAGE_RES "%temp%" +/* awaiting dialogue for cdia528.d +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_CONTACT_OTHER_PLANE~) OR override_arcane) BEGIN - ADD_PROJECTILE ~iwdification/pro/cdia707.pro~ - - COPY_EXISTING ~%WIZARD_MALAVONS_RAGE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia707 END - - COPY ~iwdification/lib/blank.itm~ ~override/cdia707.itm~ - SAY 0x0c @3054 - SAY 0x54 @3055 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_MALAVONS_RAGE_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT1) // add enchanter flag - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdia707a.bam~ ~override~ - ~iwdification/bam/cdia707b.bam~ ~override~ - ~iwdification/bam/cdia707c.bam~ ~override~ - ~iwdification/bam/cdia707h.bam~ ~override~ - ~iwdification/bam/cdia707x.bam~ ~override~ - ~iwdification/spl/cdia707.spl~ ~override~ - ~iwdification/vvc/cdia707h.vvc~ ~override~ - ~iwdification/vvc/cdia707x.vvc~ ~override~ + ADD_SPELL ~iwdification/spl/cdia528.spl~ 2 5 WIZARD_CONTACT_OTHER_PLANE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3180 // name + SAY 0x50 @3181 // descript -END + COPY ~iwdification/itm/blank.itm~ ~override/cdia528.itm~ + SAY 0x0c @3180 + SAY 0x54 @3181 + LPF cd_scroll INT_VAR unusable2 = BIT7 target_hdr = 5 range = 1 target_eff = 1 price = 500 STR_VAR spell = EVAL ~%current_spell_res%~ END -///// \\\\\ -///// acid storm \\\\\ -///// \\\\\ + LAF cd_animation STR_VAR code = e300 END // 58112 MGHO ghost + COPY ~iwdification/cre/cdia528.cre~ ~override~ + SAY 0x08 @3182 + SAY 0x0c @3182 + WRITE_LONG 0x28 anim_ghost + WRITE_ASCII 0x2cc ~cdia528~ #8 // dlg -ADD_SPELL ~iwdification/spl/acid_storm.spl~ 2 7 WIZARD_ACID_STORM - SAY 0x08 @3056 - SAY 0x50 @3057 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_ACID_STORM~)) > 0) THEN BEGIN + APPEND ~state.ids~ ~0x00000FC0 STATE_REALLY_DEAD~ UNLESS ~^0x00000FC0[ %TAB]+STATE_REALLY_DEAD[ %TAB%%LNL%%MNL%%WNL%]~ - OUTER_SPRINT WIZARD_ACID_STORM_RES "%temp%" + COMPILE ~iwdification/baf/cdia528.baf~ + ~iwdification/dlg/cdia528.d~ - ADD_PROJECTILE ~iwdification/pro/cdia708.pro~ - - COPY_EXISTING ~%WIZARD_ACID_STORM_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia708 END - - COPY ~iwdification/lib/blank.itm~ ~override/cdia708.itm~ - SAY 0x0c @3056 - SAY 0x54 @3057 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_ACID_STORM_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT1) // add enchanter flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdia708a.bam~ ~override~ - ~iwdification/bam/cdia708b.bam~ ~override~ - ~iwdification/bam/cdia708c.bam~ ~override~ - ~iwdification/bam/cdia708v.bam~ ~override~ - ~iwdification/vvc/cdia7080.vvc~ ~override~ - ~iwdification/vvc/cdia7081.vvc~ ~override~ - ~iwdification/vvc/cdia7082.vvc~ ~override~ - ~iwdification/vvc/cdia7083.vvc~ ~override~ - ~iwdification/vvc/cdia7084.vvc~ ~override~ - ~iwdification/vvc/cdia7085.vvc~ ~override~ - ~iwdification/vvc/cdia7086.vvc~ ~override~ - ~iwdification/vvc/cdia7087.vvc~ ~override~ - ~iwdification/vvc/cdia7088.vvc~ ~override~ - ~iwdification/vvc/cdia7089.vvc~ ~override~ - ~iwdification/vvc/cdia708x.vvc~ ~override~ - ~iwdification/vvc/cdia708y.vvc~ ~override~ - ~iwdification/vvc/cdia708z.vvc~ ~override~ - - COPY ~iwdification/spl/cdia708a.spl~ ~override~ // sub spells that actually do the damage - ~iwdification/spl/cdia708b.spl~ ~override~ - ~iwdification/spl/cdia708c.spl~ ~override~ - SAY 0x08 @3056 - SAY 0x50 @3057 + COPY ~iwdification/bam/cdia528a.bam~ ~override~ + ~iwdification/bam/cdia528b.bam~ ~override~ + ~iwdification/bam/cdia528c.bam~ ~override~ + ~iwdification/bam/cdidivin.bam~ ~override~ + ~iwdification/eff/cdia528.eff~ ~override~ + ~iwdification/vvc/cdidivin.vvc~ ~override~ + ~iwdification/wav/cdiem01.wav~ ~override~ END +*/ ///// \\\\\ -///// Suffocate \\\\\ +///// WIZARD_CONJURE_FIRE_ELEMENTAL \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/suffocate.spl~ 2 7 WIZARD_SUFFOCATE - SAY 0x08 @3058 - SAY 0x50 @3059 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SUFFOCATE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_CONJURE_FIRE_ELEMENTAL~) OR override_arcane) BEGIN - OUTER_SPRINT WIZARD_SUFFOCATE_RES "%temp%" + APPEND ~spell.ids~ ~2516 WIZARD_CONJURE_FIRE_ELEMENTAL~ // alternate identifier - ADD_PROJECTILE ~iwdification/pro/cdia711.pro~ - - COPY ~iwdification/lib/blank.itm~ ~override/cdia711.itm~ - SAY 0x0c @3058 - SAY 0x54 @3059 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_SUFFOCATE_RES%~ END - WRITE_BYTE 0x2f (THIS | BIT6) // add abjurer flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 5 cloud_dur = 60 zosa = 1 STR_VAR code = CDIA711 END - - APPEND ~clearair.2da~ ~Suffocate %cdia711%~ + LAF cd_new_summon_table STR_VAR descript = "FIRE_ELEMENTAL_WIZ" 2da_file = cdifelmw RET table END - COPY ~iwdification/bam/cdia711a.bam~ ~override~ - ~iwdification/bam/cdia711b.bam~ ~override~ - ~iwdification/bam/cdia711c.bam~ ~override~ - - COPY ~iwdification/spl/cdia711.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia711 END - - COPY ~iwdification/lib/immunity.eff~ ~override/cdim2711.eff~ - WRITE_ASCII 0x30 CDIA711 #8 + COPY ~iwdification/spl/cdia531.spl~ ~override/spwi516.spl~ + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3190 // name + SAY 0x50 @3191 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF ALTER_EFFECT INT_VAR index match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdifelmw END + LPF CLONE_EFFECT INT_VAR match_opcode = 127 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + END + + COPY ~iwdification/itm/blank.itm~ ~override/scrl6x.itm~ + SAY 0x0c @3190 + SAY 0x54 @3191 + LPF cd_scroll INT_VAR unusable1 = (BIT0 + BIT3) target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 1500 STR_VAR spell = EVAL ~%current_spell_res%~ END + + LAF cd_animation STR_VAR code = e24c END // 57932 MELF elemental_fire_iwd + COPY ~iwdification/cre/cdi8fire.cre~ ~override~ + SAY 0x08 @3192 + SAY 0x0c @3192 + WRITE_LONG 0x28 anim_felem + + COPY ~iwdification/itm/cdifel18.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/bam/cdia531a.bam~ ~override~ + ~iwdification/bam/cdia531b.bam~ ~override~ + ~iwdification/bam/cdia531c.bam~ ~override~ + ~iwdification/bam/cdicfelx.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/vvc/cdicfelx.vvc~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + + COPY ~iwdification/2da/cdifelmw.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END END ///// \\\\\ -///// Monster Summoning VI \\\\\ +///// WIZARD_CONJURE_EARTH_ELEMENTAL \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/monster_summoning_vi.spl~ 2 8 WIZARD_MONSTER_SUMMONING_6 - SAY 0x08 @3060 - SAY 0x50 @3061 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_MONSTER_SUMMONING_6~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_CONJURE_EARTH_ELEMENTAL~) OR override_arcane) BEGIN - OUTER_SPRINT WIZARD_MONSTER_SUMMONING_6_RES "%temp%" + APPEND ~spell.ids~ ~2521 WIZARD_CONJURE_EARTH_ELEMENTAL~ // alternate identifier - ADD_PROJECTILE ~iwdification/pro/cdsalc.pro~ - - COPY ~iwdification/lib/blank.itm~ ~override/cdia803.itm~ - SAY 0x0c @3060 - SAY 0x54 @3061 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_MONSTER_SUMMONING_6_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT0) // add diviner flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/2da/cdia803.2da~ ~override~ - ~iwdification/bam/cdia803a.bam~ ~override~ - ~iwdification/bam/cdia803b.bam~ ~override~ - ~iwdification/bam/cdia803c.bam~ ~override~ - ~iwdification/bam/cdsalc.bam~ ~override~ - ~iwdification/bam/cdsalf.bam~ ~override~ - ~iwdification/cre/cdm6crwl.cre~ ~override~ // carrion crawler - ~iwdification/cre/cdm6pspi.cre~ ~override~ // phase spider - ~iwdification/cre/cdm6salc.cre~ ~override~ // frost salamander - ~iwdification/cre/cdm6salf.cre~ ~override~ // fire salamander - ~iwdification/eff/cdia803.eff~ ~override~ - ~iwdification/eff/cdsalc.eff~ ~override~ - ~iwdification/eff/cdsalf.eff~ ~override~ - ~iwdification/itm/cdsalc.itm~ ~override~ - ~iwdification/itm/cdsalf.itm~ ~override~ - ~iwdification/spl/cdsalc.spl~ ~override~ - ~iwdification/spl/cdsalc1.spl~ ~override~ - ~iwdification/spl/cdsalc2.spl~ ~override~ - ~iwdification/spl/cdsalf.spl~ ~override~ - ~iwdification/spl/cdsalf1.spl~ ~override~ - ~iwdification/spl/cdsalf2.spl~ ~override~ - ~iwdification/vvc/cdsalc.vvc~ ~override~ - ~iwdification/vvc/cdsalf.vvc~ ~override~ - - COPY ~iwdification/spl/cdsalc1.spl~ ~override~ - ~iwdification/spl/cdsalf1.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdsalc END - - COMPILE ~iwdification/baf/cdsalc.baf~ - ~iwdification/baf/cdsalf.baf~ + LAF cd_new_summon_table STR_VAR descript = "EARTH_ELEMENTAL_WIZ" 2da_file = cdieelmw RET table END + + COPY ~iwdification/spl/cdia532.spl~ ~override/spwi521.spl~ + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3200 // name + SAY 0x50 @3201 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF ALTER_EFFECT INT_VAR index match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdieelmw END + LPF CLONE_EFFECT INT_VAR match_opcode = 127 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + END + + COPY ~iwdification/itm/blank.itm~ ~override/scrl7c.itm~ + SAY 0x0c @3200 + SAY 0x54 @3201 + LPF cd_scroll INT_VAR unusable1 = (BIT0 + BIT3) target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 1500 STR_VAR spell = EVAL ~%current_spell_res%~ END + + LAF cd_animation STR_VAR code = e24b END // 57931 MELE elemental_earth_iwd + COPY ~iwdification/cre/cdi8erth.cre~ ~override~ + SAY 0x08 @3202 + SAY 0x0c @3202 + WRITE_LONG 0x28 anim_eelem + + COPY ~iwdification/itm/cdieelem.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/bam/cdia532a.bam~ ~override~ + ~iwdification/bam/cdia532b.bam~ ~override~ + ~iwdification/bam/cdia532c.bam~ ~override~ + ~iwdification/bam/cdiceelx.bam~ ~override~ + ~iwdification/bam/cdieelem.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/vvc/cdiceelx.vvc~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + + COPY ~iwdification/2da/cdieelmw.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END END ///// \\\\\ -///// Mind Blank \\\\\ +///// WIZARD_CONJURE_WATER_ELEMENTAL \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/mind_blank.spl~ 2 8 WIZARD_MIND_BLANK - SAY 0x08 @3066 - SAY 0x50 @3067 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_MIND_BLANK~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_CONJURE_WATER_ELEMENTAL~) OR override_arcane) BEGIN - OUTER_SPRINT WIZARD_MIND_BLANK_RES "%temp%" + LAF cd_new_summon_table STR_VAR descript = "WATER_ELEMENTAL_WIZ" 2da_file = cdiwelmw RET table END - COPY ~iwdification/lib/blank.itm~ ~override/cdia804.itm~ - SAY 0x0c @3066 - SAY 0x54 @3067 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_MIND_BLANK_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT5) // add transmuter flag - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdia804a.bam~ ~override~ - ~iwdification/bam/cdia804b.bam~ ~override~ - ~iwdification/bam/cdia804c.bam~ ~override~ + ADD_SPELL ~iwdification/spl/cdia533.spl~ 2 5 WIZARD_CONJURE_WATER_ELEMENTAL + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3220 // name + SAY 0x50 @3221 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF ALTER_EFFECT INT_VAR index match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdiwelmw END + LPF CLONE_EFFECT INT_VAR match_opcode = 127 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia533.itm~ + SAY 0x0c @3220 + SAY 0x54 @3221 + LPF cd_scroll INT_VAR unusable1 = BIT0 + BIT3 target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 1500 STR_VAR spell = EVAL ~%current_spell_res%~ END + + LAF cd_animation STR_VAR code = e24d END // 57933 MELW elemental_water + COPY ~iwdification/cre/cdi8watr.cre~ ~override~ + SAY 0x08 @3222 + SAY 0x0c @3222 + WRITE_LONG 0x28 anim_welem + WRITE_ASCII 0x250 ~~ #8 // blank script that makes elementals ignore targets with SHLDBCH, as not relevant outside of IWD + + COPY ~iwdification/itm/cdiwelem.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/bam/cdia533a.bam~ ~override~ + ~iwdification/bam/cdia533b.bam~ ~override~ + ~iwdification/bam/cdia533c.bam~ ~override~ + ~iwdification/bam/cdicwelx.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdiwelem.bam~ ~override~ + ~iwdification/itm/cditrn4.itm~ ~override~ + ~iwdification/vvc/cdicwelx.vvc~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + + COPY ~iwdification/2da/cdiwelmw.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END END ///// \\\\\ -///// iron body \\\\\ +///// WIZARD_CONJURE_AIR_ELEMENTAL \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/iron_body.spl~ 2 8 WIZARD_IRON_BODY - SAY 0x08 @3068 - SAY 0x50 @3069 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_IRON_BODY~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_CONJURE_AIR_ELEMENTAL~) OR override_arcane) BEGIN - OUTER_SPRINT WIZARD_IRON_BODY_RES "%temp%" + APPEND ~spell.ids~ ~2520 WIZARD_CONJURE_AIR_ELEMENTAL~ // alternate identifier - COPY ~iwdification/lib/blank.itm~ ~override/cdia807.itm~ - SAY 0x0c @3068 - SAY 0x54 @3069 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_IRON_BODY_RES%~ END - WRITE_BYTE 0x2f (THIS | BIT6) // add abjurer flag - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdia807a.bam~ ~override~ - ~iwdification/bam/cdia807b.bam~ ~override~ - ~iwdification/bam/cdia807c.bam~ ~override~ - ~iwdification/bam/cdia807w.bam~ ~override~ - - COPY ~iwdification/itm/cdia807w.itm~ ~override~ - SAY 0x08 @3070 - SAY 0x0c @3070 - SAY 0x50 @3070 - SAY 0x54 @3070 + LAF cd_new_summon_table STR_VAR descript = "AIR_ELEMENTAL_WIZ" 2da_file = cdiaelmw RET table END + + COPY ~iwdification/spl/cdia534.spl~ ~override/spwi520.spl~ + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3210 // name + SAY 0x50 @3211 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF ALTER_EFFECT INT_VAR index match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdiaelmw END + LPF CLONE_EFFECT INT_VAR match_opcode = 127 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + END + + COPY ~iwdification/itm/blank.itm~ ~override/scrl7b.itm~ + SAY 0x0c @3210 + SAY 0x54 @3211 + LPF cd_scroll INT_VAR unusable1 = (BIT0 + BIT3) target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 1500 STR_VAR spell = EVAL ~%current_spell_res%~ END + +// LAF cd_animation STR_VAR code = 7320 END // 29472 MAIR elemental_air + COPY ~iwdification/cre/cdi8air.cre~ ~override~ + SAY 0x08 @3212 + SAY 0x0c @3212 + + COPY ~iwdification/itm/cdiaelem.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/bam/cdia534a.bam~ ~override~ + ~iwdification/bam/cdia534b.bam~ ~override~ + ~iwdification/bam/cdia534c.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/itm/cditrn4.itm~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + + COPY ~iwdification/2da/cdiaelmw.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END END ///// \\\\\ -///// Monster Summoning VII \\\\\ +///// WIZARD_ANTIMAGIC_SHELL \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/monster_summoning_vii.spl~ 2 9 WIZARD_MONSTER_SUMMONING_7 - SAY 0x08 @3062 - SAY 0x50 @3063 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_MONSTER_SUMMONING_7~)) > 0) THEN BEGIN - - OUTER_SPRINT WIZARD_MONSTER_SUMMONING_7_RES "%temp%" - - COPY ~iwdification/lib/blank.itm~ ~override/cdia902.itm~ - SAY 0x0c @3062 - SAY 0x54 @3063 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%WIZARD_MONSTER_SUMMONING_7_RES%~ END - WRITE_BYTE 0x2d (THIS | BIT0) // add diviner flag - WRITE_SHORT 0xe2 148 // cast-at-point opcode - WRITE_BYTE 0xe4 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/2da/cdia902.2da~ ~override~ - ~iwdification/bam/cdia902a.bam~ ~override~ - ~iwdification/bam/cdia902b.bam~ ~override~ - ~iwdification/bam/cdia902c.bam~ ~override~ - ~iwdification/cre/cdm7umbh.cre~ ~override~ // umber hulk - ~iwdification/eff/cdia902.eff~ ~override~ - - COPY ~iwdification/cre/cdm7bgrd.cre~ ~override~ // boneguard skeleton - SAY 0x08 @3065 - SAY 0x0c @3065 +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_ANTIMAGIC_SHELL~) OR override_arcane) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@3230) STR_VAR bam_file = cdia610d RET icon END + + ADD_SPELL ~iwdification/spl/cdia610.spl~ 2 6 WIZARD_ANTIMAGIC_SHELL + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3230 // name + SAY 0x50 @3231 // descript + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 35499 parameter1 = string_dispel END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 93 parameter2 = icon END + END ELSE BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 93 parameter2 = 83 END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia610.itm~ + SAY 0x0c @3230 + SAY 0x54 @3231 + LPF cd_scroll INT_VAR unusable1 = BIT5 target_hdr = 5 range = 1 target_eff = 1 price = 600 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia610a.bam~ ~override~ + ~iwdification/bam/cdia610b.bam~ ~override~ + ~iwdification/bam/cdia610c.bam~ ~override~ + ~iwdification/bam/cdia610d.bam~ ~override~ + ~iwdification/bam/cdishelc.bam~ ~override~ + ~iwdification/vvc/cdiamags.vvc~ ~override~ + ~iwdification/wav/cdiafm04.wav~ ~override~ + ~iwdification/wav/cdiee01.wav~ ~override~ END ///// \\\\\ -///// now go through and correct cross-references \\\\\ +///// WIZARD_LICH_TOUCH \\\\\ ///// \\\\\ - -INCLUDE ~iwdification/lib/cross_patch_arcane.tpa~ -///// \\\\\ -///// add scrolls to game \\\\\ -///// \\\\\ +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_LICH_TOUCH~) OR override_arcane) BEGIN -ACTION_IF ((FILE_EXISTS_IN_GAME ~highhedg.sto~) OR - (FILE_EXISTS_IN_GAME ~_ighhedg.sto~)) BEGIN // bg/bgt/bgee stores + ADD_SPELL ~iwdification/spl/cdia626.spl~ 2 6 WIZARD_LICH_TOUCH + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3240 // name + SAY 0x50 @3241 // descript - COPY_EXISTING_REGEXP GLOB ~^[_h]ighhedg\.sto$~ ~override~ // adds lev 1, 2 scrolls to High Hedge - ~^_?sto0703\.sto$~ ~override~ // adds lev 1, 2 scrolls to Sorcerous Sundries - PATCH_IF FILE_EXISTS_IN_GAME cdia220.itm BEGIN ADD_STORE_ITEM ~cdia220~ AFTER ~scrl89 _scrl89~ #1 #0 #0 ~IDENTIFIED~ #2 END // Snilloc's Snowball Swarm - PATCH_IF FILE_EXISTS_IN_GAME cdia221.itm BEGIN ADD_STORE_ITEM ~cdia221~ AFTER ~scrl89 _scrl89~ #1 #0 #0 ~IDENTIFIED~ #2 END // decastave - PATCH_IF FILE_EXISTS_IN_GAME cdia223.itm BEGIN ADD_STORE_ITEM ~cdia223~ AFTER ~scrl89 _scrl89~ #1 #0 #0 ~IDENTIFIED~ #2 END // cats grace - BUT_ONLY + COPY ~iwdification/itm/blank.itm~ ~override/cdia626.itm~ + SAY 0x0c @3240 + SAY 0x54 @3241 + LPF cd_scroll INT_VAR unusable1 = BIT2 target_hdr = 5 range = 1 target_eff = 1 price= 1800 STR_VAR spell = EVAL ~%current_spell_res%~ END - COPY_EXISTING_REGEXP GLOB ~^_?sto0703\.sto$~ ~override~ // adds lev 3, 4 scrolls to Sorcerous Sundries - PATCH_IF FILE_EXISTS_IN_GAME cdia318.itm BEGIN ADD_STORE_ITEM ~cdia318~ AFTER ~scrl1k _scrl1k~ #1 #0 #0 ~IDENTIFIED~ #2 END // Icelance - PATCH_IF FILE_EXISTS_IN_GAME cdia319.itm BEGIN ADD_STORE_ITEM ~cdia319~ AFTER ~scrl1k _scrl1k~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lance of Disruption - PATCH_IF FILE_EXISTS_IN_GAME cdia417.itm BEGIN ADD_STORE_ITEM ~cdia417~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Beltyn's Burning Blood - PATCH_IF FILE_EXISTS_IN_GAME cdia418.itm BEGIN ADD_STORE_ITEM ~cdia418~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shadow Monsters - PATCH_IF FILE_EXISTS_IN_GAME cdia419.itm BEGIN ADD_STORE_ITEM ~cdia419~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Courage - PATCH_IF FILE_EXISTS_IN_GAME cdia420.itm BEGIN ADD_STORE_ITEM ~cdia420~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Fear - PATCH_IF FILE_EXISTS_IN_GAME cdia421.itm BEGIN ADD_STORE_ITEM ~cdia421~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Hope - PATCH_IF FILE_EXISTS_IN_GAME cdia424.itm BEGIN ADD_STORE_ITEM ~cdia424~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Vitriolic Sphere - PATCH_IF FILE_EXISTS_IN_GAME cdia512.itm BEGIN ADD_STORE_ITEM ~cdia512~ AFTER ~scrl5k _scrl5k~ #1 #0 #0 ~IDENTIFIED~ #1 END // Demi-Shadow Monsters - PATCH_IF FILE_EXISTS_IN_GAME cdia513.itm BEGIN ADD_STORE_ITEM ~cdia513~ AFTER ~scrl5k _scrl5k~ #1 #0 #0 ~IDENTIFIED~ #1 END // Summon Shadow - BUT_ONLY + COPY ~iwdification/itm/cdiltou.itm~ ~override~ + SAY 0x08 @3240 + SAY 0x0c @3240 + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35606 parameter1 = string_held END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35542 parameter1 = string_paralyzed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35484 parameter1 = string_panic END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 20568 parameter1 = string_mf_panic END + PATCH_IF !ee_game BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixa626 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixa626 END // general = undead + END -END + COPY ~iwdification/spl/cdia626a.spl~ ~override~ + LPF ADD_SPELL_EFFECT INT_VAR opcode = 109 target = 2 parameter2 = 0 duration = 42 savingthrow = BIT2 STR_VAR END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 215 target = 2 parameter2 = 0 timing = 1 savingthrow = BIT2 STR_VAR resource = cdinecro END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 174 target = 2 parameter2 = 0 timing = 1 savingthrow = BIT2 STR_VAR resource = cdiem07 END -ACTION_IF FILE_EXISTS_IN_GAME ~scrolls.sto~ BEGIN // soa stores - - COPY_EXISTING ~scrolls.sto~ ~override~ // yuth - PATCH_IF FILE_EXISTS_IN_GAME cdia220.itm BEGIN ADD_STORE_ITEM ~cdia220~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // Snilloc's Snowball Swarm - PATCH_IF FILE_EXISTS_IN_GAME cdia221.itm BEGIN ADD_STORE_ITEM ~cdia221~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // decastave - PATCH_IF FILE_EXISTS_IN_GAME cdia223.itm BEGIN ADD_STORE_ITEM ~cdia223~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // cats grace - PATCH_IF FILE_EXISTS_IN_GAME cdia318.itm BEGIN ADD_STORE_ITEM ~cdia318~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Icelance - PATCH_IF FILE_EXISTS_IN_GAME cdia319.itm BEGIN ADD_STORE_ITEM ~cdia319~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lance of Disruption - PATCH_IF FILE_EXISTS_IN_GAME cdia417.itm BEGIN ADD_STORE_ITEM ~cdia417~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #3 END // Beltyn's Burning Blood - PATCH_IF FILE_EXISTS_IN_GAME cdia418.itm BEGIN ADD_STORE_ITEM ~cdia418~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shadow Monsters - PATCH_IF FILE_EXISTS_IN_GAME cdia419.itm BEGIN ADD_STORE_ITEM ~cdia419~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Courage - PATCH_IF FILE_EXISTS_IN_GAME cdia420.itm BEGIN ADD_STORE_ITEM ~cdia420~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Fear - PATCH_IF FILE_EXISTS_IN_GAME cdia421.itm BEGIN ADD_STORE_ITEM ~cdia421~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Hope - PATCH_IF FILE_EXISTS_IN_GAME cdia424.itm BEGIN ADD_STORE_ITEM ~cdia424~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Vitriolic Sphere - PATCH_IF FILE_EXISTS_IN_GAME cdia511.itm BEGIN ADD_STORE_ITEM ~cdia511~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #4 END // Shroud of Flame - PATCH_IF FILE_EXISTS_IN_GAME cdia512.itm BEGIN ADD_STORE_ITEM ~cdia512~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #3 END // Demi-Shadow Monsters - PATCH_IF FILE_EXISTS_IN_GAME cdia513.itm BEGIN ADD_STORE_ITEM ~cdia513~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Summon Shadow - PATCH_IF FILE_EXISTS_IN_GAME cdia517.itm BEGIN ADD_STORE_ITEM ~cdia517~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Contact Other Plane - PATCH_IF FILE_EXISTS_IN_GAME cdia601.itm BEGIN ADD_STORE_ITEM ~cdia601~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Antimagic Shell - PATCH_IF FILE_EXISTS_IN_GAME cdia610.itm BEGIN ADD_STORE_ITEM ~cdia610~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lich Touch - PATCH_IF FILE_EXISTS_IN_GAME cdia611.itm BEGIN ADD_STORE_ITEM ~cdia611~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning IV - PATCH_IF FILE_EXISTS_IN_GAME cdia612.itm BEGIN ADD_STORE_ITEM ~cdia612~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #3 END // Otiluke's Freezing Sphere - PATCH_IF FILE_EXISTS_IN_GAME cdia613.itm BEGIN ADD_STORE_ITEM ~cdia613~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shades - PATCH_IF FILE_EXISTS_IN_GAME cdia618.itm BEGIN ADD_STORE_ITEM ~cdia618~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #3 END // Darts of Bone - PATCH_IF FILE_EXISTS_IN_GAME cdia620.itm BEGIN ADD_STORE_ITEM ~cdia620~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Trollish Fortitude - PATCH_IF FILE_EXISTS_IN_GAME cdia703.itm BEGIN ADD_STORE_ITEM ~cdia703~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning V - PATCH_IF FILE_EXISTS_IN_GAME cdia707.itm BEGIN ADD_STORE_ITEM ~cdia707~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Malavon's Rage - PATCH_IF FILE_EXISTS_IN_GAME cdia708.itm BEGIN ADD_STORE_ITEM ~cdia708~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #3 END // Acid Storm - PATCH_IF FILE_EXISTS_IN_GAME cdia711.itm BEGIN ADD_STORE_ITEM ~cdia711~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Suffocate - PATCH_IF FILE_EXISTS_IN_GAME cdia803.itm BEGIN ADD_STORE_ITEM ~cdia803~ AFTER ~scrlan~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning VI - PATCH_IF FILE_EXISTS_IN_GAME cdia804.itm BEGIN ADD_STORE_ITEM ~cdia804~ AFTER ~scrlan~ #1 #0 #0 ~IDENTIFIED~ #3 END // Mind Blank - PATCH_IF FILE_EXISTS_IN_GAME cdia807.itm BEGIN ADD_STORE_ITEM ~cdia807~ AFTER ~scrlan~ #1 #0 #0 ~IDENTIFIED~ #2 END // Iron Body - PATCH_IF FILE_EXISTS_IN_GAME cdia902.itm BEGIN ADD_STORE_ITEM ~cdia902~ AFTER ~scrlan~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning VII - - COPY_EXISTING ~shop08.sto~ ~override~ // galoomp - PATCH_IF FILE_EXISTS_IN_GAME cdia220.itm BEGIN ADD_STORE_ITEM ~cdia220~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #4 END // Snilloc's Snowball Swarm - PATCH_IF FILE_EXISTS_IN_GAME cdia221.itm BEGIN ADD_STORE_ITEM ~cdia221~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // decastave - PATCH_IF FILE_EXISTS_IN_GAME cdia223.itm BEGIN ADD_STORE_ITEM ~cdia223~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // cats grace - PATCH_IF FILE_EXISTS_IN_GAME cdia318.itm BEGIN ADD_STORE_ITEM ~cdia318~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Icelance - PATCH_IF FILE_EXISTS_IN_GAME cdia319.itm BEGIN ADD_STORE_ITEM ~cdia319~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lance of Disruption - PATCH_IF FILE_EXISTS_IN_GAME cdia417.itm BEGIN ADD_STORE_ITEM ~cdia417~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Beltyn's Burning Blood - PATCH_IF FILE_EXISTS_IN_GAME cdia418.itm BEGIN ADD_STORE_ITEM ~cdia418~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #3 END // Shadow Monsters - PATCH_IF FILE_EXISTS_IN_GAME cdia419.itm BEGIN ADD_STORE_ITEM ~cdia419~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Courage - PATCH_IF FILE_EXISTS_IN_GAME cdia420.itm BEGIN ADD_STORE_ITEM ~cdia420~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Fear - PATCH_IF FILE_EXISTS_IN_GAME cdia421.itm BEGIN ADD_STORE_ITEM ~cdia421~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Hope - PATCH_IF FILE_EXISTS_IN_GAME cdia424.itm BEGIN ADD_STORE_ITEM ~cdia424~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #3 END // Vitriolic Sphere - PATCH_IF FILE_EXISTS_IN_GAME cdia511.itm BEGIN ADD_STORE_ITEM ~cdia511~ AFTER ~scrl5q~ #1 #0 #0 ~IDENTIFIED~ #3 END // Shroud of Flame - PATCH_IF FILE_EXISTS_IN_GAME cdia512.itm BEGIN ADD_STORE_ITEM ~cdia512~ AFTER ~scrl5q~ #1 #0 #0 ~IDENTIFIED~ #2 END // Demi-Shadow Monsters - PATCH_IF FILE_EXISTS_IN_GAME cdia513.itm BEGIN ADD_STORE_ITEM ~cdia513~ AFTER ~scrl5q~ #1 #0 #0 ~IDENTIFIED~ #2 END // Summon Shadow - PATCH_IF FILE_EXISTS_IN_GAME cdia517.itm BEGIN ADD_STORE_ITEM ~cdia517~ AFTER ~scrl5q~ #1 #0 #0 ~IDENTIFIED~ #1 END // Contact Other Plane - -END - -ACTION_IF FILE_EXISTS_IN_GAME ~25spell.sto~ BEGIN // tob stores - - COPY_EXISTING ~25spell.sto~ ~override~ // arcana archives - ~25spell2.sto~ ~override~ - PATCH_IF FILE_EXISTS_IN_GAME cdia220.itm BEGIN ADD_STORE_ITEM ~cdia220~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // Snilloc's Snowball Swarm - PATCH_IF FILE_EXISTS_IN_GAME cdia221.itm BEGIN ADD_STORE_ITEM ~cdia221~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // decastave - PATCH_IF FILE_EXISTS_IN_GAME cdia223.itm BEGIN ADD_STORE_ITEM ~cdia223~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // cats grace - PATCH_IF FILE_EXISTS_IN_GAME cdia318.itm BEGIN ADD_STORE_ITEM ~cdia318~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Icelance - PATCH_IF FILE_EXISTS_IN_GAME cdia319.itm BEGIN ADD_STORE_ITEM ~cdia319~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lance of Disruption - PATCH_IF FILE_EXISTS_IN_GAME cdia417.itm BEGIN ADD_STORE_ITEM ~cdia417~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Beltyn's Burning Blood - PATCH_IF FILE_EXISTS_IN_GAME cdia418.itm BEGIN ADD_STORE_ITEM ~cdia418~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shadow Monsters - PATCH_IF FILE_EXISTS_IN_GAME cdia419.itm BEGIN ADD_STORE_ITEM ~cdia419~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Courage - PATCH_IF FILE_EXISTS_IN_GAME cdia420.itm BEGIN ADD_STORE_ITEM ~cdia420~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Fear - PATCH_IF FILE_EXISTS_IN_GAME cdia421.itm BEGIN ADD_STORE_ITEM ~cdia421~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Hope - PATCH_IF FILE_EXISTS_IN_GAME cdia424.itm BEGIN ADD_STORE_ITEM ~cdia424~ AFTER ~scrl6r~ #1 #0 #0 ~IDENTIFIED~ #2 END // Vitriolic Sphere - PATCH_IF FILE_EXISTS_IN_GAME cdia511.itm BEGIN ADD_STORE_ITEM ~cdia511~ AFTER ~scrl5q~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shroud of Flame - PATCH_IF FILE_EXISTS_IN_GAME cdia512.itm BEGIN ADD_STORE_ITEM ~cdia512~ AFTER ~scrl5q~ #1 #0 #0 ~IDENTIFIED~ #2 END // Demi-Shadow Monsters - PATCH_IF FILE_EXISTS_IN_GAME cdia513.itm BEGIN ADD_STORE_ITEM ~cdia513~ AFTER ~scrl5q~ #1 #0 #0 ~IDENTIFIED~ #2 END // Summon Shadow - PATCH_IF FILE_EXISTS_IN_GAME cdia517.itm BEGIN ADD_STORE_ITEM ~cdia517~ AFTER ~scrl5q~ #1 #0 #0 ~IDENTIFIED~ #2 END // Contact Other Plane - PATCH_IF FILE_EXISTS_IN_GAME cdia601.itm BEGIN ADD_STORE_ITEM ~cdia601~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Antimagic Shell - PATCH_IF FILE_EXISTS_IN_GAME cdia610.itm BEGIN ADD_STORE_ITEM ~cdia610~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lich Touch - PATCH_IF FILE_EXISTS_IN_GAME cdia611.itm BEGIN ADD_STORE_ITEM ~cdia611~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning IV - PATCH_IF FILE_EXISTS_IN_GAME cdia612.itm BEGIN ADD_STORE_ITEM ~cdia612~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Otiluke's Freezing Sphere - PATCH_IF FILE_EXISTS_IN_GAME cdia613.itm BEGIN ADD_STORE_ITEM ~cdia613~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shades - PATCH_IF FILE_EXISTS_IN_GAME cdia618.itm BEGIN ADD_STORE_ITEM ~cdia618~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Darts of Bone - PATCH_IF FILE_EXISTS_IN_GAME cdia620.itm BEGIN ADD_STORE_ITEM ~cdia620~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Trollish Fortitude - PATCH_IF FILE_EXISTS_IN_GAME cdia703.itm BEGIN ADD_STORE_ITEM ~cdia703~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning V - PATCH_IF FILE_EXISTS_IN_GAME cdia707.itm BEGIN ADD_STORE_ITEM ~cdia707~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Malavon's Rage - PATCH_IF FILE_EXISTS_IN_GAME cdia708.itm BEGIN ADD_STORE_ITEM ~cdia708~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Acid Storm - PATCH_IF FILE_EXISTS_IN_GAME cdia711.itm BEGIN ADD_STORE_ITEM ~cdia711~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Suffocate - PATCH_IF FILE_EXISTS_IN_GAME cdia803.itm BEGIN ADD_STORE_ITEM ~cdia803~ AFTER ~scrlap~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning VI - PATCH_IF FILE_EXISTS_IN_GAME cdia804.itm BEGIN ADD_STORE_ITEM ~cdia804~ AFTER ~scrlap~ #1 #0 #0 ~IDENTIFIED~ #2 END // Mind Blank - PATCH_IF FILE_EXISTS_IN_GAME cdia807.itm BEGIN ADD_STORE_ITEM ~cdia807~ AFTER ~scrlap~ #1 #0 #0 ~IDENTIFIED~ #2 END // Iron Body - PATCH_IF FILE_EXISTS_IN_GAME cdia902.itm BEGIN ADD_STORE_ITEM ~cdia902~ AFTER ~scrlb4~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning VII + COPY ~iwdification/bam/cdia626a.bam~ ~override~ + ~iwdification/bam/cdia626b.bam~ ~override~ + ~iwdification/bam/cdia626c.bam~ ~override~ + ~iwdification/bam/cdiltou.bam~ ~override~ + ~iwdification/bam/cdinecro.bam~ ~override~ + ~iwdification/vvc/cdinecro.vvc~ ~override~ + ~iwdification/wav/cdiee04.wav~ ~override~ + ~iwdification/wav/cdiem07.wav~ ~override~ + ACTION_IF !ee_game BEGIN -END + COPY ~iwdification/eff/immunity.eff~ ~override/cdixa626.eff~ + WRITE_ASCII 0x30 ~cdia626a~ #8 + END + +END + +///// \\\\\ +///// WIZARD_MONSTER_SUMMONING_4 \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_MONSTER_SUMMONING_4~) OR override_arcane) BEGIN + + LAF cd_new_summon_table STR_VAR descript = "Monster_summoning_IV" 2da_file = cdimsum4 RET table END + + ADD_SPELL ~iwdification/spl/cdia627.spl~ 2 6 WIZARD_MONSTER_SUMMONING_4 + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3250 // name + SAY 0x50 @3251 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 probability1 = 33 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum4 END + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 probability1 = 67 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum4 END + LPF ALTER_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum4 END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia627.itm~ + SAY 0x0c @3250 + SAY 0x54 @3251 + LPF cd_scroll INT_VAR unusable1 = (BIT0 + BIT3) target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 1800 STR_VAR spell = EVAL ~%current_spell_res%~ END + + LAF cd_animation STR_VAR code = e320 END // 58144 MGH3 ghast_greater + COPY ~iwdification/cre/cdi4ghst.cre~ ~override~ + WRITE_LONG 0x08 string_ghast + WRITE_LONG 0x0c string_ghast + WRITE_LONG 0x28 anim_ghast + +// LAF cd_animation STR_VAR code = 9000 END // 36864 MOGR ogre + COPY ~iwdification/cre/cdi4ogre.cre~ ~override~ + WRITE_LONG 0x08 string_ogre + WRITE_LONG 0x0c string_ogre + + COPY ~iwdification/2da/cdimsum4.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + PATCH_IF !anim_yeti BEGIN + REPLACE_TEXTUALLY ~^3[ %TAB%]+cdi4yeti[ %TAB%%LNL%%MNL%%WNL%]+~ ~~ // delete yeti line from msum table + END + END + + ACTION_IF anim_yeti BEGIN // yeti animation (e.g. ee or vanilla bg2 w/ infinity animations) + + LAF cd_animation STR_VAR code = e25d END // 57949 MYET tundra_yeti + COPY ~iwdification/cre/cdi4yeti.cre~ ~override~ + SAY 0x08 @3252 + SAY 0x0c @3252 + + END + + COPY ~iwdification/bam/cdia627a.bam~ ~override~ + ~iwdification/bam/cdia627b.bam~ ~override~ + ~iwdification/bam/cdia627c.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdimsm1x.bam~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + ~iwdification/vvc/cdimsm1x.vvc~ ~override~ + +END + +///// \\\\\ +///// WIZARD_OTILUKES_FREEZING_SPHERE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_OTILUKES_FREEZING_SPHERE~) OR override_arcane) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi269.pro~ + + ADD_SPELL ~iwdification/spl/cdia628.spl~ 2 6 WIZARD_OTILUKES_FREEZING_SPHERE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3260 // name + SAY 0x50 @3261 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi269 END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia628.itm~ + SAY 0x0c @3260 + SAY 0x54 @3261 + LPF cd_scroll INT_VAR range = 40 price = 1800 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia628a.bam~ ~override~ + ~iwdification/bam/cdia628b.bam~ ~override~ + ~iwdification/bam/cdia628c.bam~ ~override~ + ~iwdification/bam/cdiofspt.bam~ ~override~ + +END + +///// \\\\\ +///// WIZARD_SHADES \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SHADES~) OR override_arcane) BEGIN + + LAF cd_new_summon_table STR_VAR descript = "Shades" 2da_file = cdishade RET table END + + ADD_SPELL ~iwdification/spl/cdia629.spl~ 2 6 WIZARD_SHADES + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3270 // name + SAY 0x50 @3271 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + READ_SHORT 0x68 abil_num + LPF ALTER_EFFECT INT_VAR header = 0 match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdishade END + FOR (index = 1 ; index < abil_num ; ++index) BEGIN + LPF ALTER_EFFECT INT_VAR header = index match_opcode = 331 opcode = 127 parameter1 = (index + 12) parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdishade END + END + LPF CLONE_EFFECT INT_VAR match_opcode = 127 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia629.itm~ + SAY 0x0c @3270 + SAY 0x54 @3271 + LPF cd_scroll INT_VAR unusable1 = BIT4 target_hdr = 4 range = 50 opcode = 148 target_eff = 1 price = 1800 STR_VAR spell = EVAL ~%current_spell_res%~ END + + ACTION_IF ee_game BEGIN // use iwdee gaze for ee games + + ADD_PROJECTILE ~iwdification/pro/cdi281.pro~ + + COMPILE ~iwdification/baf/cdiuhgaz.baf~ + + COPY ~iwdification/spl/cdiumbr1.spl~ ~override~ // gaze staging + ~iwdification/spl/cditrdie.spl~ ~override~ // ee troll death + COPY ~iwdification/spl/cdiumbr2.spl~ ~override~ // actual gaze + SAY 0xce @3273 + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi281 END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37604 parameter1 = string_confused END + + END ELSE BEGIN + + COPY_EXISTING ~umbhul01.bcs~ ~override/cdiuhgaz.bcs~ // use bg2 umber hulk scripting + DECOMPILE_AND_PATCH BEGIN + REPLACE_TEXTUALLY ~AreaCheck("AR1106")~ ~False()~ + END + + END + + LAF cd_animation STR_VAR code = e420 END // 58400 MGO3 goblin_elite_axe + COPY ~iwdification/cre/cdis2gb2.cre~ ~override~ + ~iwdification/cre/cdis2gb3.cre~ ~override~ + SAY 0x08 @3162 + SAY 0x0c @3162 + + LAF cd_animation STR_VAR code = e500 END // 58624 MLIZ lizard_man_elite + COPY ~iwdification/cre/cdis2lz5.cre~ ~override~ + ~iwdification/cre/cdis2lz6.cre~ ~override~ + ~iwdification/cre/cdis2lz7.cre~ ~override~ + SAY 0x08 @3163 + SAY 0x0c @3163 + + LAF cd_animation STR_VAR code = e0b0 END // 57520 MTRO troll_blue - MTRO doubles with bg2 troll + COPY ~iwdification/cre/cdis3tr7.cre~ ~override~ + ~iwdification/cre/cdis3tr8.cre~ ~override~ + WRITE_LONG 0x08 string_troll + WRITE_LONG 0x0c string_troll + WRITE_LONG 0x28 anim_btroll + WRITE_ASCII 0x258 ~~ #8 // blank old die-revive troll script + + LAF cd_animation STR_VAR code = e0d0 END // 57552 MUMB umber_hulk_elder - MUMB doubles with bg2 umber hulk + COPY ~iwdification/cre/cdis3um8.cre~ ~override~ + ~iwdification/cre/cdis3um9.cre~ ~override~ + SAY 0x08 @3272 + SAY 0x0c @3272 + WRITE_LONG 0x28 anim_uhulk + + COPY ~iwdification/itm/cdiumbhk.itm~ ~override~ + ~iwdification/itm/cdim1d7s.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/itm/cdir1hp2.itm~ ~override~ + LPF DELETE_EFFECT INT_VAR match_opcode = 206 END // old iwd vorpal protections + LPF DELETE_EFFECT INT_VAR match_opcode = 267 END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 232 STR_VAR resource = cditrdie END + END ELSE BEGIN + PATCH_FOR_EACH op IN 232 208 BEGIN // nuke everything but regen + LPF DELETE_EFFECT INT_VAR match_opcode = op END + END + END + + COPY ~iwdification/bam/cdia629a.bam~ ~override~ + ~iwdification/bam/cdia629b.bam~ ~override~ + ~iwdification/bam/cdia629c.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdimsm1x.bam~ ~override~ + ~iwdification/itm/cdisumam.itm~ ~override~ + ~iwdification/itm/cdisumrn.itm~ ~override~ + ~iwdification/itm/cditrn40.itm~ ~override~ + ~iwdification/itm/cditrn60.itm~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + ~iwdification/vvc/cdimsm1x.vvc~ ~override~ + + COPY ~iwdification/2da/cdishade.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END + +END + +///// \\\\\ +///// WIZARD_DARTS_OF_BONE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_DARTS_OF_BONE~) OR override_arcane) BEGIN + + ADD_SPELL ~iwdification/spl/cdia630.spl~ 2 6 WIZARD_DARTS_OF_BONE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3280 // name + SAY 0x50 @3281 // descript + + COPY ~iwdification/itm/blank.itm~ ~override/cdia630.itm~ + SAY 0x0c @3280 + SAY 0x54 @3281 + LPF cd_scroll INT_VAR unusable1 = BIT2 target_hdr = 5 range = 1 target_eff = 1 price = 600 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/itm/cdidbone.itm~ ~override~ + SAY 0x08 @3280 + SAY 0x0c @3282 + + COPY ~iwdification/bam/cdia630a.bam~ ~override~ + ~iwdification/bam/cdia630b.bam~ ~override~ + ~iwdification/bam/cdia630c.bam~ ~override~ + ~iwdification/bam/cdidbone.bam~ ~override~ + ~iwdification/vvc/cdinecro.vvc~ ~override~ + ~iwdification/bam/cdinecro.bam~ ~override~ + ~iwdification/wav/cdiem07.wav~ ~override~ + +END + +///// \\\\\ +///// WIZARD_SOUL_EATER \\\\\ +///// \\\\\ + +ACTION_IF (ee_game AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SOUL_EATER~) OR override_arcane)) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi299.pro~ + + ADD_SPELL ~iwdification/spl/cdia631.spl~ 2 6 WIZARD_SOUL_EATER + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3290 // name + SAY 0x50 @3291 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi299 END + LPF ALTER_EFFECT STR_VAR match_resource = cdia631 resource = EVAL ~%DEST_RES%~ END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia631.itm~ + SAY 0x0c @3290 + SAY 0x54 @3291 + LPF cd_scroll INT_VAR unusable1 = BIT2 target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 1800 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COMPILE ~iwdification/baf/cdi3sklm.baf~ + + LAF cd_animation STR_VAR code = 6403 END // 25603 MSKL skeleton + COPY ~iwdification/cre/cdi3sklm.cre~ ~override~ + WRITE_LONG 0x08 string_skelly + WRITE_LONG 0x0c string_skelly + WRITE_ASCII 0x248 ~cdi3sklm~ #8 + + COPY ~iwdification/bam/cdia631a.bam~ ~override~ + ~iwdification/bam/cdia631b.bam~ ~override~ + ~iwdification/bam/cdia631c.bam~ ~override~ + ~iwdification/bam/cdiseata.bam~ ~override~ + ~iwdification/bam/cdiseath.bam~ ~override~ + ~iwdification/spl/cdi3sklm.spl~ ~override~ + ~iwdification/spl/cdia631b.spl~ ~override~ + ~iwdification/vvc/cdiseata.vvc~ ~override~ + ~iwdification/vvc/cdiseath.vvc~ ~override~ + ~iwdification/wav/cdiarm18.wav~ ~override~ + ~iwdification/wav/cdiem104.wav~ ~override~ + +END + +///// \\\\\ +///// WIZARD_TROLLISH_FORTITUDE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_TROLLISH_FORTITUDE~) OR override_arcane) BEGIN + + ADD_SPELL ~iwdification/spl/cdia632.spl~ 2 6 WIZARD_TROLLISH_FORTITUDE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3300 // name + SAY 0x50 @3301 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdia632 resource = EVAL ~%DEST_RES%~ END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF CLONE_EFFECT INT_VAR match_opcode = 142 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = EVAL ~%DEST_RES%~ END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia632.itm~ + SAY 0x0c @3300 + SAY 0x54 @3301 + LPF cd_scroll INT_VAR unusable1 = BIT2 target_hdr = 5 range = 1 target_eff = 1 price = 600 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia632a.bam~ ~override~ + ~iwdification/bam/cdia632b.bam~ ~override~ + ~iwdification/bam/cdia632c.bam~ ~override~ + ~iwdification/eff/cditroll.eff~ ~override~ + +END + +///// \\\\\ +///// WIZARD_MONSTER_SUMMONING_5 \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_MONSTER_SUMMONING_5~) OR override_arcane) BEGIN + + LAF cd_new_summon_table STR_VAR descript = "Monster_summoning_V" 2da_file = cdimsum5 RET table END + + ADD_SPELL ~iwdification/spl/cdia706.spl~ 2 7 WIZARD_MONSTER_SUMMONING_5 + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3310 // name + SAY 0x50 @3311 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 probability1 = 33 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum5 END + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 probability1 = 67 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum5 END + LPF ALTER_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum5 END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia706.itm~ + SAY 0x0c @3310 + SAY 0x54 @3311 + LPF cd_scroll INT_VAR unusable1 = (BIT0 + BIT3) target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 2100 STR_VAR spell = EVAL ~%current_spell_res%~ END + +// LAF cd_animation STR_VAR code = 7a00 END // 31232 MSPI_GI spider_giant + COPY ~iwdification/cre/cdi5gspi.cre~ ~override~ + WRITE_LONG 0x08 string_gspider + WRITE_LONG 0x0c string_gspider + + LAF cd_animation STR_VAR code = ee00 END // 60928 MZO2 zombie_yellow + COPY ~iwdification/cre/cdi5jzom.cre~ ~override~ + SAY 0x08 @3312 + SAY 0x0c @3312 + WRITE_LONG 0x28 anim_jzombie + + LAF cd_animation STR_VAR code = e070 END // 57456 MMIN minotaur - MMIN doubles with bg2 mindflayer + COPY ~iwdification/cre/cdi5mino.cre~ ~override~ + SAY 0x08 @3313 + SAY 0x0c @3313 + + COPY ~iwdification/itm/cdis18ml.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/bam/cdia706a.bam~ ~override~ + ~iwdification/bam/cdia706b.bam~ ~override~ + ~iwdification/bam/cdia706c.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdimsm1x.bam~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + ~iwdification/vvc/cdimsm1x.vvc~ ~override~ + + COPY ~iwdification/2da/cdimsum5.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END + +END + +///// \\\\\ +///// WIZARD_MALAVONS_RAGE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_MALAVONS_RAGE~) OR override_arcane) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi209.pro~ + + ADD_SPELL ~iwdification/spl/cdia709.spl~ 2 7 WIZARD_MALAVONS_RAGE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3320 // name + SAY 0x50 @3321 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi209 END + PATCH_IF !ee_game BEGIN + LPF CD_SPLIT_SAVE_DAMAGE END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia709.itm~ + SAY 0x0c @3320 + SAY 0x54 @3321 + LPF cd_scroll INT_VAR unusable1 = BIT1 target_hdr = 5 range = 50 price = 2100 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia709a.bam~ ~override~ + ~iwdification/bam/cdia709b.bam~ ~override~ + ~iwdification/bam/cdia709c.bam~ ~override~ + ~iwdification/bam/cdimagrx.bam~ ~override~ + ~iwdification/bam/cdimrage.bam~ ~override~ + ~iwdification/vvc/cdimalrg.vvc~ ~override~ + ~iwdification/vvc/cdimrage.vvc~ ~override~ + +END + +///// \\\\\ +///// WIZARD_ACID_STORM \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_ACID_STORM~) OR override_arcane) BEGIN + + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi211.pro~ + + END ELSE BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi211a.pro~ + + END + + ADD_SPELL ~iwdification/spl/cdia724.spl~ 2 7 WIZARD_ACID_STORM + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3330 // name + SAY 0x50 @3331 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi211 END + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi211a END + LPF ALTER_EFFECT INT_VAR match_opcode = 12 match_dicesize = 4 dicesize = 2 END + LPF ALTER_EFFECT INT_VAR match_opcode = 12 match_dicesize = 6 dicesize = 3 END + LPF ALTER_EFFECT INT_VAR match_opcode = 12 match_dicesize = 8 dicesize = 4 END + LPF CLONE_EFFECT INT_VAR match_opcode = 12 savingthrow = BIT24 END + PATCH_FOR_EACH res IN 0 1 2 3 4 5 6 7 8 9 x y z BEGIN // simulating clouds in bg2 sucks + LPF ADD_SPELL_EFFECT INT_VAR opcode = 215 target = 1 parameter2 = 2 resist_dispel = 3 STR_VAR resource = EVAL ~cdia724%res%~ END + END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia724.itm~ + SAY 0x0c @3330 + SAY 0x54 @3331 + LPF cd_scroll INT_VAR unusable1 = BIT1 target_hdr = 4 range = 40 opcode = 148 target_eff = 1 price = 2100 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia724a.bam~ ~override~ + ~iwdification/bam/cdia724b.bam~ ~override~ + ~iwdification/bam/cdia724c.bam~ ~override~ + ~iwdification/bam/cdiastra.bam~ ~override~ + ~iwdification/bam/cdiastrx.bam~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/vvc/cdia7240.vvc~ ~override~ + ~iwdification/vvc/cdia7241.vvc~ ~override~ + ~iwdification/vvc/cdia7242.vvc~ ~override~ + ~iwdification/vvc/cdia7243.vvc~ ~override~ + ~iwdification/vvc/cdia7244.vvc~ ~override~ + ~iwdification/vvc/cdia7245.vvc~ ~override~ + ~iwdification/vvc/cdia7246.vvc~ ~override~ + ~iwdification/vvc/cdia7247.vvc~ ~override~ + ~iwdification/vvc/cdia7248.vvc~ ~override~ + ~iwdification/vvc/cdia7249.vvc~ ~override~ + ~iwdification/vvc/cdia724x.vvc~ ~override~ + ~iwdification/vvc/cdia724y.vvc~ ~override~ + ~iwdification/vvc/cdia724z.vvc~ ~override~ + + END + +END + +///// \\\\\ +///// WIZARD_SEVEN_EYES \\\\\ +///// \\\\\ + +ACTION_IF (ee_game AND (FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SHOUT~)) AND // eye of fortitude requires shout, no vanilla + (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SEVEN_EYES~) OR override_arcane)) BEGIN + + ADD_SPELL ~iwdification/spl/cdia725.spl~ 2 7 WIZARD_SEVEN_EYES + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3340 // name + SAY 0x50 @3341 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdia725 resource = EVAL ~%DEST_RES%~ END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia725.itm~ + SAY 0x0c @3340 + SAY 0x54 @3341 + LPF cd_scroll INT_VAR unusable1 = BIT5 target_hdr = 5 range = 1 target_eff = 1 price = 700 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/spl/cdia725t.spl~ ~override~ + SAY 0x08 @3342 // name + SAY 0x50 @3343 // descript + + COPY ~iwdification/spl/cdia725u.spl~ ~override~ + SAY 0x08 @3344 // name + SAY 0x50 @3345 // descript + + COPY ~iwdification/spl/cdia725v.spl~ ~override~ + SAY 0x08 @3346 // name + SAY 0x50 @3347 // descript + + COPY ~iwdification/spl/cdia725w.spl~ ~override~ + SAY 0x08 @3348 // name + SAY 0x50 @3349 // descript + + COPY ~iwdification/spl/cdia725x.spl~ ~override~ + SAY 0x08 @3350 // name + SAY 0x50 @3351 // descript + + COPY ~iwdification/spl/cdia725y.spl~ ~override~ + SAY 0x08 @3352 // name + SAY 0x50 @3353 // descript + + COPY ~iwdification/spl/cdia725z.spl~ ~override~ + SAY 0x08 @3354 // name + SAY 0x50 @3355 // descript + + COPY ~iwdification/2da/7eyes.2da~ ~override~ + REPLACE ~21648~ @3356 + REPLACE ~21649~ @3357 + REPLACE ~21650~ @3358 + REPLACE ~21651~ @3359 + REPLACE ~21652~ @3360 + REPLACE ~21653~ @3361 + REPLACE ~21654~ @3362 + + COPY ~iwdification/bam/cdia725a.bam~ ~override~ + ~iwdification/bam/cdia725b.bam~ ~override~ + ~iwdification/bam/cdia725c.bam~ ~override~ + ~iwdification/bam/cdi7eyc1.bam~ ~override~ + ~iwdification/bam/cdi7eyc2.bam~ ~override~ + ~iwdification/bam/cdia725t.bam~ ~override~ + ~iwdification/bam/cdia725u.bam~ ~override~ + ~iwdification/bam/cdia725v.bam~ ~override~ + ~iwdification/bam/cdia725w.bam~ ~override~ + ~iwdification/bam/cdia725x.bam~ ~override~ + ~iwdification/bam/cdia725y.bam~ ~override~ + ~iwdification/bam/cdia725z.bam~ ~override~ + ~iwdification/vvc/cdi7ey.vvc~ ~override~ + ~iwdification/vvc/cdi7ey1a.vvc~ ~override~ + ~iwdification/vvc/cdi7ey1b.vvc~ ~override~ + ~iwdification/vvc/cdi7ey1c.vvc~ ~override~ + ~iwdification/vvc/cdi7ey1d.vvc~ ~override~ + ~iwdification/vvc/cdi7ey1e.vvc~ ~override~ + ~iwdification/vvc/cdi7ey1f.vvc~ ~override~ + ~iwdification/vvc/cdi7ey1g.vvc~ ~override~ + ~iwdification/vvc/cdi7ey2a.vvc~ ~override~ + ~iwdification/vvc/cdi7ey2b.vvc~ ~override~ + ~iwdification/vvc/cdi7ey2c.vvc~ ~override~ + ~iwdification/vvc/cdi7ey2d.vvc~ ~override~ + ~iwdification/vvc/cdi7ey2e.vvc~ ~override~ + ~iwdification/vvc/cdi7ey2f.vvc~ ~override~ + ~iwdification/vvc/cdi7ey2g.vvc~ ~override~ + ~iwdification/wav/cdiafm13.wav~ ~override~ + ~iwdification/wav/cdiafm15.wav~ ~override~ + ~iwdification/wav/cdiafm16.wav~ ~override~ + ~iwdification/wav/cdiafm17.wav~ ~override~ + +END + +///// \\\\\ +///// WIZARD_SUFFOCATE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_SUFFOCATE~) OR override_arcane) BEGIN + + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi317.pro~ + + END ELSE BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi317a.pro~ + + END + + ADD_SPELL ~iwdification/spl/cdia726.spl~ 2 7 WIZARD_SUFFOCATE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3370 // name + SAY 0x50 @3371 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi317 END + LPF ALTER_EFFECT STR_VAR match_resource = cdia726 resource = EVAL ~%DEST_RES%~ END + END ELSE BEGIN + LPF DELETE_EFFECT END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 timing = 1 parameter2 = 2 STR_VAR resource = cdia726 END + LPF ALTER_SPELL_HEADER INT_VAR projectile = 1 END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia726.itm~ + SAY 0x0c @3370 + SAY 0x54 @3371 + LPF cd_scroll INT_VAR unusable2 = BIT6 target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 2100 STR_VAR spell = EVAL ~%current_spell_res%~ END + + + COPY ~iwdification/bam/cdia726a.bam~ ~override~ + ~iwdification/bam/cdia726b.bam~ ~override~ + ~iwdification/bam/cdia726c.bam~ ~override~ + ~iwdification/bam/cdisuffo.bam~ ~override~ + + ACTION_IF ee_game BEGIN + + APPEND ~clearair.2da~ ~Suffocate %cdi317%~ + + COPY ~iwdification/vvc/cdisuffo.vvc~ ~override~ + ~iwdification/wav/cdiafm18.wav~ ~override~ + + END ELSE BEGIN + + APPEND ~clearair.2da~ ~Suffocate %cdi317a%~ + + LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 5 cloud_dur = 60 zosa = 1 STR_VAR code = CDIA726 anim = cdisuffo END + + COPY ~iwdification/spl/cdia726.spl~ ~override~ + WRITE_LONG 0x08 "-1" // name + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi317a END + LPF CLONE_EFFECT INT_VAR match_opcode = 321 opcode = 206 duration = 6 STR_VAR insert = last END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 9 opcode = 177 parameter1 = 145 parameter2 = 4 STR_VAR resource = cdixa726 END // race = elemental + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 27 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixa726 END // race = golem + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 31 opcode = 177 parameter1 = 121 parameter2 = 4 STR_VAR resource = cdixa726 END // race = demonic + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 31 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixa726 END // general = undead + LPF CD_SPLIT_SAVE_DAMAGE END + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixa726.eff~ + WRITE_ASCII 0x30 ~cdia726~ #8 + + END + +END + +///// \\\\\ +///// WIZARD_MONSTER_SUMMONING_6 \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_MONSTER_SUMMONING_6~) OR override_arcane) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdisalau.pro~ + + LAF cd_new_summon_table STR_VAR descript = "Monster_summoning_VI" 2da_file = cdimsum6 RET table END + + ADD_SPELL ~iwdification/spl/cdia801.spl~ 2 8 WIZARD_MONSTER_SUMMONING_6 + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3380 // name + SAY 0x50 @3381 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 probability1 = 33 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum6 END + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 probability1 = 67 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum6 END + LPF ALTER_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum6 END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia801.itm~ + SAY 0x0c @3380 + SAY 0x54 @3381 + LPF cd_scroll INT_VAR unusable1 = (BIT0 + BIT3) target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 2400 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COMPILE ~iwdification/baf/cdisalfi.baf~ + ~iwdification/baf/cdisalfr.baf~ + ~iwdification/baf/cdipspid.baf~ + +// LAF cd_animation STR_VAR code = a100 END // 41216 MCAR carrion_crawler + COPY ~iwdification/cre/cdi6crwl.cre~ ~override~ + WRITE_LONG 0x08 string_crawler + WRITE_LONG 0x0c string_crawler + +// LAF cd_animation STR_VAR code = 7a02 END // 31234 MSPI_PH spider_phase + COPY ~iwdification/cre/cdi6pspi.cre~ ~override~ + WRITE_LONG 0x08 string_pspider + WRITE_LONG 0x0c string_pspider + + LAF cd_animation STR_VAR code = e910 END // 59664 MSA2 salamander_frost + COPY ~iwdification/cre/cdi6salc.cre~ ~override~ + SAY 0x08 @3383 + SAY 0x0c @3383 + + LAF cd_animation STR_VAR code = e900 END // 59648 MSAL salamander_fire + COPY ~iwdification/cre/cdi6salf.cre~ ~override~ + SAY 0x08 @3382 + SAY 0x0c @3382 + + COPY ~iwdification/itm/cdisalfi.itm~ ~override~ + ~iwdification/itm/cdisalfr.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + WRITE_ASCII 0x3a ~isper01~ #8 + WRITE_ASCII 0x76 ~isper01~ #8 + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 215 target = 1 parameter2 = 1 timing = 2 duration = 0 STR_VAR resource = EVAL ~%SOURCE_RES%~ END + + COPY ~iwdification/spl/cdifire6.spl~ ~override~ + ~iwdification/spl/cdifros6.spl~ ~override~ + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdisalau END + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = 1 END + LPF DELETE_EFFECT INT_VAR match_opcode = 318 END + END + + COPY ~iwdification/spl/cdisalfi.spl~ ~override~ + ~iwdification/spl/cdisalfr.spl~ ~override~ + PATCH_IF !ee_game BEGIN // change from EE's 232 distance check to straight once-per-round spam; needs effs copied below + LPF ALTER_EFFECT INT_VAR match_opcode = 232 opcode = 272 target = 1 parameter1 = 6 parameter2 = 3 END + END + + COPY ~iwdification/bam/cdia801a.bam~ ~override~ + ~iwdification/bam/cdia801b.bam~ ~override~ + ~iwdification/bam/cdia801c.bam~ ~override~ + ~iwdification/bam/cdidoorh.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdimsm1x.bam~ ~override~ + ~iwdification/bam/cdisalfi.bam~ ~override~ + ~iwdification/bam/cdisalfr.bam~ ~override~ + ~iwdification/spl/cdiphase.spl~ ~override~ + ~iwdification/vvc/cdidoorh.vvc~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + ~iwdification/vvc/cdimsm1x.vvc~ ~override~ + ~iwdification/vvc/cdisalfi.vvc~ ~override~ + ~iwdification/vvc/cdisalfr.vvc~ ~override~ + + COPY ~iwdification/2da/cdimsum6.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/spl/cdifire6.spl~ ~override/cdifire0.spl~ + ~iwdification/spl/cdifros6.spl~ ~override/cdifros0.spl~ + WRITE_BYTE 0x7e 1 + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdisalau END + LPF DELETE_EFFECT END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 2 parameter2 = 1 timing = 1 STR_VAR resource = EVAL ~%SOURCE_RES%~ END + + COPY ~iwdification/eff/cdifire6.eff~ ~override/cdifire6.eff~ + ~iwdification/eff/cdifire6.eff~ ~override/cdifros6.eff~ + WRITE_ASCIIE 0x30 ~%DEST_RES%~ #8 + WRITE_ASCII 0x37 ~0~ #1 + + COPY_EXISTING ~cdisalfi.itm~ ~override~ + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 206 target = 1 timing = 2 STR_VAR resource = cdifire6 END + + COPY_EXISTING ~cdisalfr.itm~ ~override~ + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 206 target = 1 timing = 2 STR_VAR resource = cdifros6 END + + END + +END + +///// \\\\\ +///// WIZARD_MIND_BLANK \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_MIND_BLANK~) OR override_arcane) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@3390) STR_VAR bam_file = cdia802d RET icon END + + ADD_SPELL ~iwdification/spl/cdia802.spl~ 2 8 WIZARD_MIND_BLANK + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3390 // name + SAY 0x50 @3391 // descript +// LPF ALTER_EFFECT STR_VAR match_resource = confush resource = cdiconfh END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 14102 parameter1 = string_held END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 17392 parameter1 = string_dcharmed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 20568 parameter1 = string_mf_panic END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35484 parameter1 = string_panic END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35542 parameter1 = string_paralyzed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35544 parameter1 = string_dominated END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35606 parameter1 = string_held END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37603 parameter1 = string_rthinking END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37604 parameter1 = string_confused END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37605 parameter1 = string_berserk END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37606 parameter1 = string_intoxicated END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37801 parameter1 = string_charmed END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 166 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 166 END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia802.itm~ + SAY 0x0c @3390 + SAY 0x54 @3391 + LPF cd_scroll INT_VAR unusable1 = BIT5 target_hdr = 5 range = 1 target_eff = 1 price = 800 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia802a.bam~ ~override~ + ~iwdification/bam/cdia802b.bam~ ~override~ + ~iwdification/bam/cdia802c.bam~ ~override~ + ~iwdification/bam/cdia802d.bam~ ~override~ + ~iwdification/bam/cdiabjur.bam~ ~override~ + ~iwdification/vvc/cdiabjur.vvc~ ~override~ + ~iwdification/wav/cdiem02.wav~ ~override~ + +END + +///// \\\\\ +///// WIZARD_GREAT_SHOUT \\\\\ +///// \\\\\ + +ACTION_IF (ee_game AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_GREAT_SHOUT~) OR override_arcane)) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi319.pro~ + + ADD_SPELL ~iwdification/spl/cdia806.spl~ 2 8 WIZARD_GREAT_SHOUT + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3400 // name + SAY 0x50 @3401 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi319 END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37340 parameter1 = string_uncon END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 35568 parameter1 = string_stunned END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 14073 parameter1 = string_deafness END + PATCH_IF !ee_game BEGIN + LPF CD_SPLIT_SAVE_DAMAGE END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia806.itm~ + SAY 0x0c @3400 + SAY 0x54 @3401 + LPF cd_scroll INT_VAR unusable1 = BIT1 target_hdr = 4 range = 22 opcode = 148 target_eff = 1 price = 2400 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdia806a.bam~ ~override~ + ~iwdification/bam/cdia806b.bam~ ~override~ + ~iwdification/bam/cdia806c.bam~ ~override~ + ~iwdification/bam/cdigshou.bam~ ~override~ + ~iwdification/wav/cdiem101.wav~ ~override~ + ~iwdification/wav/cditra08.wav~ ~override~ + +END + +///// \\\\\ +///// WIZARD_IRON_BODY \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_IRON_BODY~) OR override_arcane) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@3410) STR_VAR bam_file = cdia814d RET icon END + + ADD_SPELL ~iwdification/spl/cdia814.spl~ 2 8 WIZARD_IRON_BODY + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3410 // name + SAY 0x50 @3411 // descript + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37607 parameter1 = string_poisoned END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 36317 parameter1 = string_poison END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35593 parameter1 = string_diseased END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 39752 parameter1 = string_stricken END + LPF CLONE_EFFECT INT_VAR match_opcode = 206 STR_VAR match_resource = spwi502 resource = spin673 END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdia814 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 172 parameter2 = icon END + LPF CLONE_EFFECT INT_VAR match_opcode = 206 opcode = 318 parameter2 = 0 STR_VAR match_resource = spwi502 resource = wand13 END + END ELSE BEGIN // move spell effects to 'paw' + READ_LONG 0x6a fx_off + SET fx_num = ((SOURCE_SIZE - fx_off) / 0x30) + READ_ASCII fx_off fx (fx_num * 0x30) + LPF DELETE_EFFECT END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 111 target = 1 power = 8 duration = 120 STR_VAR resource = cdiibody END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 174 target = 1 power = 8 timing = 1 STR_VAR resource = cdiem102 END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia814.itm~ + SAY 0x0c @3410 + SAY 0x54 @3411 + LPF cd_scroll INT_VAR unusable2 = BIT6 target_hdr = 5 range = 1 target_eff = 1 price = 800 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/itm/cdiibody.itm~ ~override~ + SAY 0x08 @3412 + SAY 0x0c @3412 + PATCH_IF !ee_game BEGIN // move spell effects to 'paw' + READ_LONG 0x64 abil_off ELSE 0 + READ_SHORT 0x68 abil_num ELSE 0 + READ_LONG 0x6a fx_off + WRITE_SHORT 0x70 (THIS + fx_num) + FOR (index = 0 ; index < abil_num ; ++index) BEGIN // start iterating through abilities + WRITE_SHORT (abil_off + 0x20 + (0x28 * index)) (THIS + fx_num) + END + INSERT_BYTES fx_off (fx_num * 0x30) + WRITE_ASCIIE fx_off ~%fx%~ + PATCH_FOR_EACH op IN 321 111 174 BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = op END + END + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 172 END + LPF DELETE_EFFECT INT_VAR match_opcode = 1 multi_match = 1 END + LPF ALTER_EFFECT INT_VAR match_opcode = 318 opcode = 206 parameter1 = 0 END + LPF ALTER_EFFECT INT_VAR timing = 2 END + END + + COPY ~iwdification/bam/cdia814a.bam~ ~override~ + ~iwdification/bam/cdia814b.bam~ ~override~ + ~iwdification/bam/cdia814c.bam~ ~override~ + ~iwdification/bam/cdia814d.bam~ ~override~ + ~iwdification/bam/cdiibody.bam~ ~override~ + ~iwdification/wav/cdiem102.wav~ ~override~ + +END + +///// \\\\\ +///// WIZARD_MONSTER_SUMMONING_7 \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~WIZARD_MONSTER_SUMMONING_7~) OR override_arcane) BEGIN + + LAF cd_new_summon_table STR_VAR descript = "Monster_summoning_VII" 2da_file = cdimsum7 RET table END + + ADD_SPELL ~iwdification/spl/cdia901.spl~ 2 9 WIZARD_MONSTER_SUMMONING_7 + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @3420 // name + SAY 0x50 @3421 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 probability1 = 49 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum7 END + LPF ALTER_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdimsum7 END + END + + COPY ~iwdification/itm/blank.itm~ ~override/cdia901.itm~ + SAY 0x0c @3420 + SAY 0x54 @3421 + LPF cd_scroll INT_VAR unusable1 = (BIT0 + BIT3) target_hdr = 4 range = 20 opcode = 148 target_eff = 1 price = 2700 STR_VAR spell = EVAL ~%current_spell_res%~ END + + ACTION_IF ee_game BEGIN // use iwdee gaze for ee games + + ADD_PROJECTILE ~iwdification/pro/cdi281.pro~ + + COMPILE ~iwdification/baf/cdiuhgaz.baf~ + + COPY ~iwdification/spl/cdiumbr1.spl~ ~override~ // gaze staging + COPY ~iwdification/spl/cdiumbr2.spl~ ~override~ // actual gaze + SAY 0xce @3273 + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi281 END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37604 parameter1 = string_confused END + + END ELSE BEGIN + + COPY_EXISTING ~umbhul01.bcs~ ~override/cdiuhgaz.bcs~ // use bg2 umber hulk scripting + DECOMPILE_AND_PATCH BEGIN + REPLACE_TEXTUALLY ~AreaCheck("AR1106")~ ~False()~ + END + + END + + LAF cd_animation STR_VAR code = eb20 END // 60192 MSKB skeleton_fiend + COPY ~iwdification/cre/cdi7bgrd.cre~ ~override~ + SAY 0x08 @3422 + SAY 0x0c @3422 + + LAF cd_animation STR_VAR code = e0d0 END // 57552 MUMB umber_hulk_elder - MUMB doubles with bg2 umber hulk + COPY ~iwdification/cre/cdi7umbh.cre~ ~override~ + SAY 0x08 @3272 + SAY 0x0c @3272 + WRITE_LONG 0x28 anim_uhulk + + COPY ~iwdification/itm/cdiumbhk.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/bam/cdia901a.bam~ ~override~ + ~iwdification/bam/cdia901b.bam~ ~override~ + ~iwdification/bam/cdia901c.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdimsm1x.bam~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + ~iwdification/vvc/cdimsm1x.vvc~ ~override~ + + COPY ~iwdification/2da/cdimsum7.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END + +END + +///// \\\\\ +///// arcane spell crosspatching \\\\\ +///// \\\\\ + +OUTER_SET NUM_a411 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_HOPELESSNESS~)) - 2000) +OUTER_SET NUM_a422 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_BELTYNS_BURNING_BLOOD~)) - 2000) +OUTER_SET NUM_a427 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_COURAGE~)) - 2000) +OUTER_SET NUM_a428 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_FEAR~)) - 2000) +OUTER_SET NUM_a429 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_HOPE~)) - 2000) +OUTER_SET NUM_a431 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SHOUT~)) - 2000) +OUTER_SET NUM_a432 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_VITRIOLIC_SPHERE~)) - 2000) +OUTER_SET NUM_a524 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SHROUD_OF_FLAME~)) - 2000) +OUTER_SET NUM_a610 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_ANTIMAGIC_SHELL~)) - 2000) +OUTER_SET NUM_a631 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SOUL_EATER~)) - 2000) +OUTER_SET NUM_a724 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_ACID_STORM~)) - 2000) +OUTER_SET NUM_a726 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_SUFFOCATE~)) - 2000) +OUTER_SET NUM_a814 = ((IDS_OF_SYMBOL (~spell~ ~WIZARD_IRON_BODY~)) - 2000) + +ACTION_IF ((NUM_a411 > 0) AND (NUM_a429 > 0)) BEGIN + + COPY_EXISTING ~spwi%NUM_a411%.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia429 resource = EVAL ~spwi%NUM_a429%~ END + BUT_ONLY + + COPY_EXISTING ~spwi%NUM_a429%.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia411 resource = EVAL ~spwi%NUM_a411%~ END + BUT_ONLY + +END + +ACTION_IF ((NUM_a427 > 0) AND (NUM_a428 > 0)) BEGIN + + COPY_EXISTING ~spwi%NUM_a427%.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia428 resource = EVAL ~spwi%NUM_a428%~ END + BUT_ONLY + + COPY_EXISTING ~spwi%NUM_a428%.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia427 resource = EVAL ~spwi%NUM_a427%~ END + BUT_ONLY + +END + +ACTION_IF NUM_a610 > 0 BEGIN + + COPY_EXISTING ~spwi%NUM_a610%.spl~ ~override~ + PATCH_IF NUM_a726 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia726 resource = EVAL ~spwi%NUM_a726%~ END + END + PATCH_IF NUM_a724 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia724 resource = EVAL ~spwi%NUM_a724%~ END + END + PATCH_IF NUM_a631 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia631 resource = EVAL ~spwi%NUM_a631%~ END + END + PATCH_IF NUM_a524 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia524 resource = EVAL ~spwi%NUM_a524%~ END + END + PATCH_IF NUM_a432 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia432 resource = EVAL ~spwi%NUM_a432%~ END + END + BUT_ONLY + +END + +ACTION_IF NUM_a431 > 0 BEGIN + + COPY_EXISTING ~cdia725y.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia431 resource = EVAL ~spwi%NUM_a431%~ END + BUT_ONLY IF_EXISTS + +END + +ACTION_IF NUM_a814 > 0 BEGIN + + COPY_EXISTING ~spwi%NUM_a814%.spl~ ~override~ + PATCH_IF NUM_a726 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia726 resource = EVAL ~spwi%NUM_a726%~ END + END + PATCH_IF NUM_a422 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdia724 resource = EVAL ~spwi%NUM_a422%~ END + END + BUT_ONLY + +END + +ACTION_IF !ee_game BEGIN + + COPY_EXISTING ~cdidbone.bam~ ~override~ + ~cdideca.bam~ ~override~ + ~cdiibody.bam~ ~override~ + ~cdiltou.bam~ ~override~ + ~cdiplybb.bam~ ~override~ + ~cdiplypb.bam~ ~override~ + ~cdiplyww.bam~ ~override~ + ~cdismcud.bam~ ~override~ + READ_LONG 0x0c frame_off + WRITE_LONG frame_off + 0x04 0 + IF_EXISTS + +END + +///// \\\\\ +///// arcane-divine cross-patching \\\\\ +///// \\\\\ + +ACTION_IF MOD_IS_INSTALLED ~IWDIFICATION/SETUP-IWDIFICATION.TP2~ ~40~ THEN BEGIN + + INCLUDE ~iwdification/lib/cross_patch_both.tpa~ + +END + +///// \\\\\ +///// add scrolls to stores \\\\\ +///// \\\\\ + +COPY_EXISTING_REGEXP GLOB ~^[_h]ighhedg\.sto$~ ~override~ // adds lev 1, 2 scrolls to High Hedge + ~^_?sto0703\.sto$~ ~override~ // adds lev 1, 2 scrolls to Sorcerous Sundries + PATCH_IF FILE_EXISTS_IN_GAME cdia126.itm BEGIN ADD_STORE_ITEM ~cdia126~ AFTER ~scrl84 _scrl84~ #1 #0 #0 ~IDENTIFIED~ #2 END // expeditious retreat + PATCH_IF FILE_EXISTS_IN_GAME cdia204.itm BEGIN ADD_STORE_ITEM ~cdia204~ AFTER ~scrl89 _scrl89~ #1 #0 #0 ~IDENTIFIED~ #2 END // Snilloc's Snowball Swarm + PATCH_IF FILE_EXISTS_IN_GAME cdia216.itm BEGIN ADD_STORE_ITEM ~cdia216~ AFTER ~scrl89 _scrl89~ #1 #0 #0 ~IDENTIFIED~ #2 END // decastave + PATCH_IF FILE_EXISTS_IN_GAME cdia225.itm BEGIN ADD_STORE_ITEM ~cdia225~ AFTER ~scrl89 _scrl89~ #1 #0 #0 ~IDENTIFIED~ #2 END // cats grace + BUT_ONLY IF_EXISTS + +COPY_EXISTING_REGEXP GLOB ~^_?sto0703\.sto$~ ~override~ // adds lev 3, 4 scrolls to Sorcerous Sundries + PATCH_IF FILE_EXISTS_IN_GAME cdia327.itm BEGIN ADD_STORE_ITEM ~cdia327~ AFTER ~scrl1k _scrl1k~ #1 #0 #0 ~IDENTIFIED~ #2 END // Icelance + PATCH_IF FILE_EXISTS_IN_GAME cdia328.itm BEGIN ADD_STORE_ITEM ~cdia328~ AFTER ~scrl1k _scrl1k~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lance of Disruption + PATCH_IF FILE_EXISTS_IN_GAME cdia422.itm BEGIN ADD_STORE_ITEM ~cdia422~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Beltyn's Burning Blood + PATCH_IF FILE_EXISTS_IN_GAME cdia426.itm BEGIN ADD_STORE_ITEM ~cdia426~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shadow Monsters + PATCH_IF FILE_EXISTS_IN_GAME cdia427.itm BEGIN ADD_STORE_ITEM ~cdia427~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Courage + PATCH_IF FILE_EXISTS_IN_GAME cdia428.itm BEGIN ADD_STORE_ITEM ~cdia428~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Fear + PATCH_IF FILE_EXISTS_IN_GAME cdia429.itm BEGIN ADD_STORE_ITEM ~cdia429~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Hope + PATCH_IF FILE_EXISTS_IN_GAME cdia430.itm BEGIN ADD_STORE_ITEM ~cdia430~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // mordenkainen's force missiles + PATCH_IF FILE_EXISTS_IN_GAME cdia432.itm BEGIN ADD_STORE_ITEM ~cdia432~ AFTER ~scrl5i _scrl5i~ #1 #0 #0 ~IDENTIFIED~ #2 END // Vitriolic Sphere + PATCH_IF FILE_EXISTS_IN_GAME cdia524.itm BEGIN ADD_STORE_ITEM ~cdia524~ AFTER ~scrl5k _scrl5k~ #1 #0 #0 ~IDENTIFIED~ #1 END // shroud of flame + PATCH_IF FILE_EXISTS_IN_GAME cdia525.itm BEGIN ADD_STORE_ITEM ~cdia525~ AFTER ~scrl5k _scrl5k~ #1 #0 #0 ~IDENTIFIED~ #1 END // Demi-Shadow Monsters + PATCH_IF FILE_EXISTS_IN_GAME cdia526.itm BEGIN ADD_STORE_ITEM ~cdia526~ AFTER ~scrl5k _scrl5k~ #1 #0 #0 ~IDENTIFIED~ #1 END // Summon Shadow + PATCH_IF FILE_EXISTS_IN_GAME cdia528.itm BEGIN ADD_STORE_ITEM ~cdia528~ AFTER ~scrl5k _scrl5k~ #1 #0 #0 ~IDENTIFIED~ #1 END // contact other plane + BUT_ONLY IF_EXISTS + +COPY_EXISTING ~25spell.sto~ ~override~ // arcana archives + ~25spell2.sto~ ~override~ // arcana archives + PATCH_IF FILE_EXISTS_IN_GAME cdia126.itm BEGIN ADD_STORE_ITEM ~cdia126~ AFTER ~scrl84~ #1 #0 #0 ~IDENTIFIED~ #2 END // expeditious retreat + PATCH_IF FILE_EXISTS_IN_GAME cdia204.itm BEGIN ADD_STORE_ITEM ~cdia204~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // Snilloc's Snowball Swarm + PATCH_IF FILE_EXISTS_IN_GAME cdia216.itm BEGIN ADD_STORE_ITEM ~cdia216~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // decastave + PATCH_IF FILE_EXISTS_IN_GAME cdia225.itm BEGIN ADD_STORE_ITEM ~cdia225~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // cats grace + PATCH_IF FILE_EXISTS_IN_GAME cdia327.itm BEGIN ADD_STORE_ITEM ~cdia327~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Icelance + PATCH_IF FILE_EXISTS_IN_GAME cdia328.itm BEGIN ADD_STORE_ITEM ~cdia328~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lance of Disruption + PATCH_IF FILE_EXISTS_IN_GAME cdia422.itm BEGIN ADD_STORE_ITEM ~cdia422~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Beltyn's Burning Blood + PATCH_IF FILE_EXISTS_IN_GAME cdia426.itm BEGIN ADD_STORE_ITEM ~cdia426~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shadow Monsters + PATCH_IF FILE_EXISTS_IN_GAME cdia427.itm BEGIN ADD_STORE_ITEM ~cdia427~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Courage + PATCH_IF FILE_EXISTS_IN_GAME cdia428.itm BEGIN ADD_STORE_ITEM ~cdia428~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Fear + PATCH_IF FILE_EXISTS_IN_GAME cdia429.itm BEGIN ADD_STORE_ITEM ~cdia429~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Hope + PATCH_IF FILE_EXISTS_IN_GAME cdia430.itm BEGIN ADD_STORE_ITEM ~cdia430~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // mordenkainen's force missiles + PATCH_IF FILE_EXISTS_IN_GAME cdia432.itm BEGIN ADD_STORE_ITEM ~cdia432~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Vitriolic Sphere + PATCH_IF FILE_EXISTS_IN_GAME cdia524.itm BEGIN ADD_STORE_ITEM ~cdia524~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shroud of Flame + PATCH_IF FILE_EXISTS_IN_GAME cdia525.itm BEGIN ADD_STORE_ITEM ~cdia525~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Demi-Shadow Monsters + PATCH_IF FILE_EXISTS_IN_GAME cdia526.itm BEGIN ADD_STORE_ITEM ~cdia526~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Summon Shadow + PATCH_IF FILE_EXISTS_IN_GAME cdia528.itm BEGIN ADD_STORE_ITEM ~cdia528~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Contact Other Plane + PATCH_IF FILE_EXISTS_IN_GAME cdia533.itm BEGIN ADD_STORE_ITEM ~cdia533~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Conjure water elemental + PATCH_IF FILE_EXISTS_IN_GAME cdia610.itm BEGIN ADD_STORE_ITEM ~cdia610~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Antimagic Shell + PATCH_IF FILE_EXISTS_IN_GAME cdia626.itm BEGIN ADD_STORE_ITEM ~cdia626~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lich Touch + PATCH_IF FILE_EXISTS_IN_GAME cdia627.itm BEGIN ADD_STORE_ITEM ~cdia627~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning IV + PATCH_IF FILE_EXISTS_IN_GAME cdia628.itm BEGIN ADD_STORE_ITEM ~cdia628~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Otiluke's Freezing Sphere + PATCH_IF FILE_EXISTS_IN_GAME cdia629.itm BEGIN ADD_STORE_ITEM ~cdia629~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shades + PATCH_IF FILE_EXISTS_IN_GAME cdia630.itm BEGIN ADD_STORE_ITEM ~cdia630~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Darts of Bone + PATCH_IF FILE_EXISTS_IN_GAME cdia631.itm BEGIN ADD_STORE_ITEM ~cdia631~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // soul eater + PATCH_IF FILE_EXISTS_IN_GAME cdia632.itm BEGIN ADD_STORE_ITEM ~cdia632~ AFTER ~scrl7p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Trollish Fortitude + PATCH_IF FILE_EXISTS_IN_GAME cdia706.itm BEGIN ADD_STORE_ITEM ~cdia706~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning V + PATCH_IF FILE_EXISTS_IN_GAME cdia709.itm BEGIN ADD_STORE_ITEM ~cdia709~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Malavon's Rage + PATCH_IF FILE_EXISTS_IN_GAME cdia724.itm BEGIN ADD_STORE_ITEM ~cdia724~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Acid Storm + PATCH_IF FILE_EXISTS_IN_GAME cdia725.itm BEGIN ADD_STORE_ITEM ~cdia725~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // seven eyes + PATCH_IF FILE_EXISTS_IN_GAME cdia726.itm BEGIN ADD_STORE_ITEM ~cdia726~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Suffocate + PATCH_IF FILE_EXISTS_IN_GAME cdia801.itm BEGIN ADD_STORE_ITEM ~cdia801~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning VI + PATCH_IF FILE_EXISTS_IN_GAME cdia802.itm BEGIN ADD_STORE_ITEM ~cdia802~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Mind Blank + PATCH_IF FILE_EXISTS_IN_GAME cdia806.itm BEGIN ADD_STORE_ITEM ~cdia806~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // great shout + PATCH_IF FILE_EXISTS_IN_GAME cdia814.itm BEGIN ADD_STORE_ITEM ~cdia814~ AFTER ~scrl8p~ #1 #0 #0 ~IDENTIFIED~ #2 END // Iron Body + PATCH_IF FILE_EXISTS_IN_GAME cdia901.itm BEGIN ADD_STORE_ITEM ~cdia901~ AFTER ~scrlb4~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning VII + BUT_ONLY IF_EXISTS + +COPY_EXISTING ~scrolls.sto~ ~override~ // yuth + PATCH_IF FILE_EXISTS_IN_GAME cdia126.itm BEGIN ADD_STORE_ITEM ~cdia126~ AFTER ~scrl84~ #1 #0 #0 ~IDENTIFIED~ #2 END // expeditious retreat + PATCH_IF FILE_EXISTS_IN_GAME cdia204.itm BEGIN ADD_STORE_ITEM ~cdia204~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // Snilloc's Snowball Swarm + PATCH_IF FILE_EXISTS_IN_GAME cdia216.itm BEGIN ADD_STORE_ITEM ~cdia216~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // decastave + PATCH_IF FILE_EXISTS_IN_GAME cdia225.itm BEGIN ADD_STORE_ITEM ~cdia225~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // cats grace + PATCH_IF FILE_EXISTS_IN_GAME cdia327.itm BEGIN ADD_STORE_ITEM ~cdia327~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Icelance + PATCH_IF FILE_EXISTS_IN_GAME cdia328.itm BEGIN ADD_STORE_ITEM ~cdia328~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lance of Disruption + PATCH_IF FILE_EXISTS_IN_GAME cdia422.itm BEGIN ADD_STORE_ITEM ~cdia422~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #3 END // Beltyn's Burning Blood + PATCH_IF FILE_EXISTS_IN_GAME cdia426.itm BEGIN ADD_STORE_ITEM ~cdia426~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shadow Monsters + PATCH_IF FILE_EXISTS_IN_GAME cdia427.itm BEGIN ADD_STORE_ITEM ~cdia427~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Courage + PATCH_IF FILE_EXISTS_IN_GAME cdia428.itm BEGIN ADD_STORE_ITEM ~cdia428~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Fear + PATCH_IF FILE_EXISTS_IN_GAME cdia429.itm BEGIN ADD_STORE_ITEM ~cdia429~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Hope + PATCH_IF FILE_EXISTS_IN_GAME cdia430.itm BEGIN ADD_STORE_ITEM ~cdia430~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // mordenkainen's force missiles + PATCH_IF FILE_EXISTS_IN_GAME cdia432.itm BEGIN ADD_STORE_ITEM ~cdia432~ AFTER ~scrl1y~ #1 #0 #0 ~IDENTIFIED~ #2 END // Vitriolic Sphere + PATCH_IF FILE_EXISTS_IN_GAME cdia524.itm BEGIN ADD_STORE_ITEM ~cdia524~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #4 END // Shroud of Flame + PATCH_IF FILE_EXISTS_IN_GAME cdia525.itm BEGIN ADD_STORE_ITEM ~cdia525~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #3 END // Demi-Shadow Monsters + PATCH_IF FILE_EXISTS_IN_GAME cdia526.itm BEGIN ADD_STORE_ITEM ~cdia526~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Summon Shadow + PATCH_IF FILE_EXISTS_IN_GAME cdia528.itm BEGIN ADD_STORE_ITEM ~cdia528~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Contact Other Plane + PATCH_IF FILE_EXISTS_IN_GAME cdia533.itm BEGIN ADD_STORE_ITEM ~cdia533~ AFTER ~scrl6v~ #1 #0 #0 ~IDENTIFIED~ #2 END // Conjure water elemental + PATCH_IF FILE_EXISTS_IN_GAME cdia610.itm BEGIN ADD_STORE_ITEM ~cdia610~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Antimagic Shell + PATCH_IF FILE_EXISTS_IN_GAME cdia626.itm BEGIN ADD_STORE_ITEM ~cdia626~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lich Touch + PATCH_IF FILE_EXISTS_IN_GAME cdia627.itm BEGIN ADD_STORE_ITEM ~cdia627~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning IV + PATCH_IF FILE_EXISTS_IN_GAME cdia628.itm BEGIN ADD_STORE_ITEM ~cdia628~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #3 END // Otiluke's Freezing Sphere + PATCH_IF FILE_EXISTS_IN_GAME cdia629.itm BEGIN ADD_STORE_ITEM ~cdia629~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Shades + PATCH_IF FILE_EXISTS_IN_GAME cdia630.itm BEGIN ADD_STORE_ITEM ~cdia630~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #3 END // Darts of Bone + PATCH_IF FILE_EXISTS_IN_GAME cdia631.itm BEGIN ADD_STORE_ITEM ~cdia631~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // soul eater + PATCH_IF FILE_EXISTS_IN_GAME cdia632.itm BEGIN ADD_STORE_ITEM ~cdia632~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Trollish Fortitude + PATCH_IF FILE_EXISTS_IN_GAME cdia706.itm BEGIN ADD_STORE_ITEM ~cdia706~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning V + PATCH_IF FILE_EXISTS_IN_GAME cdia709.itm BEGIN ADD_STORE_ITEM ~cdia709~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Malavon's Rage + PATCH_IF FILE_EXISTS_IN_GAME cdia724.itm BEGIN ADD_STORE_ITEM ~cdia724~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #3 END // Acid Storm + PATCH_IF FILE_EXISTS_IN_GAME cdia725.itm BEGIN ADD_STORE_ITEM ~cdia725~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // seven eyes + PATCH_IF FILE_EXISTS_IN_GAME cdia726.itm BEGIN ADD_STORE_ITEM ~cdia726~ AFTER ~scrlal~ #1 #0 #0 ~IDENTIFIED~ #2 END // Suffocate + PATCH_IF FILE_EXISTS_IN_GAME cdia901.itm BEGIN ADD_STORE_ITEM ~cdia901~ AFTER ~scrlan~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning VII + PATCH_IF FILE_EXISTS_IN_GAME cdia801.itm BEGIN ADD_STORE_ITEM ~cdia801~ AFTER ~scrlan~ #1 #0 #0 ~IDENTIFIED~ #2 END // Monster Summoning VI + PATCH_IF FILE_EXISTS_IN_GAME cdia802.itm BEGIN ADD_STORE_ITEM ~cdia802~ AFTER ~scrlan~ #1 #0 #0 ~IDENTIFIED~ #3 END // Mind Blank + PATCH_IF FILE_EXISTS_IN_GAME cdia806.itm BEGIN ADD_STORE_ITEM ~cdia806~ AFTER ~scrlan~ #1 #0 #0 ~IDENTIFIED~ #2 END // great shout + PATCH_IF FILE_EXISTS_IN_GAME cdia814.itm BEGIN ADD_STORE_ITEM ~cdia814~ AFTER ~scrlan~ #1 #0 #0 ~IDENTIFIED~ #2 END // Iron Body + BUT_ONLY IF_EXISTS + +COPY_EXISTING ~shop08.sto~ ~override~ // galoomp + PATCH_IF FILE_EXISTS_IN_GAME cdia126.itm BEGIN ADD_STORE_ITEM ~cdia126~ AFTER ~scrl84~ #1 #0 #0 ~IDENTIFIED~ #2 END // expeditious retreat + PATCH_IF FILE_EXISTS_IN_GAME cdia204.itm BEGIN ADD_STORE_ITEM ~cdia204~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #4 END // Snilloc's Snowball Swarm + PATCH_IF FILE_EXISTS_IN_GAME cdia216.itm BEGIN ADD_STORE_ITEM ~cdia216~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // decastave + PATCH_IF FILE_EXISTS_IN_GAME cdia225.itm BEGIN ADD_STORE_ITEM ~cdia225~ AFTER ~scrl93~ #1 #0 #0 ~IDENTIFIED~ #2 END // cats grace + PATCH_IF FILE_EXISTS_IN_GAME cdia327.itm BEGIN ADD_STORE_ITEM ~cdia327~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Icelance + PATCH_IF FILE_EXISTS_IN_GAME cdia328.itm BEGIN ADD_STORE_ITEM ~cdia328~ AFTER ~scrl1e~ #1 #0 #0 ~IDENTIFIED~ #2 END // Lance of Disruption + PATCH_IF FILE_EXISTS_IN_GAME cdia422.itm BEGIN ADD_STORE_ITEM ~cdia422~ AFTER ~scrl5m~ #1 #0 #0 ~IDENTIFIED~ #2 END // Beltyn's Burning Blood + PATCH_IF FILE_EXISTS_IN_GAME cdia426.itm BEGIN ADD_STORE_ITEM ~cdia426~ AFTER ~scrl5m~ #1 #0 #0 ~IDENTIFIED~ #3 END // Shadow Monsters + PATCH_IF FILE_EXISTS_IN_GAME cdia427.itm BEGIN ADD_STORE_ITEM ~cdia427~ AFTER ~scrl5m~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Courage + PATCH_IF FILE_EXISTS_IN_GAME cdia428.itm BEGIN ADD_STORE_ITEM ~cdia428~ AFTER ~scrl5m~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Fear + PATCH_IF FILE_EXISTS_IN_GAME cdia429.itm BEGIN ADD_STORE_ITEM ~cdia429~ AFTER ~scrl5m~ #1 #0 #0 ~IDENTIFIED~ #2 END // Emotion: Hope + PATCH_IF FILE_EXISTS_IN_GAME cdia430.itm BEGIN ADD_STORE_ITEM ~cdia430~ AFTER ~scrl5m~ #1 #0 #0 ~IDENTIFIED~ #2 END // mordenkainen's force missiles + PATCH_IF FILE_EXISTS_IN_GAME cdia432.itm BEGIN ADD_STORE_ITEM ~cdia432~ AFTER ~scrl5m~ #1 #0 #0 ~IDENTIFIED~ #3 END // Vitriolic Sphere + PATCH_IF FILE_EXISTS_IN_GAME cdia524.itm BEGIN ADD_STORE_ITEM ~cdia524~ AFTER ~scrl2f~ #1 #0 #0 ~IDENTIFIED~ #3 END // Shroud of Flame + PATCH_IF FILE_EXISTS_IN_GAME cdia525.itm BEGIN ADD_STORE_ITEM ~cdia525~ AFTER ~scrl2f~ #1 #0 #0 ~IDENTIFIED~ #2 END // Demi-Shadow Monsters + PATCH_IF FILE_EXISTS_IN_GAME cdia526.itm BEGIN ADD_STORE_ITEM ~cdia526~ AFTER ~scrl2f~ #1 #0 #0 ~IDENTIFIED~ #2 END // Summon Shadow + PATCH_IF FILE_EXISTS_IN_GAME cdia528.itm BEGIN ADD_STORE_ITEM ~cdia528~ AFTER ~scrl2f~ #1 #0 #0 ~IDENTIFIED~ #1 END // Contact Other Plane + PATCH_IF FILE_EXISTS_IN_GAME cdia533.itm BEGIN ADD_STORE_ITEM ~cdia533~ AFTER ~scrl2f~ #1 #0 #0 ~IDENTIFIED~ #2 END // Conjure water elemental + BUT_ONLY IF_EXISTS /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ @@ -1334,1578 +2624,2296 @@ END /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ -BEGIN @4000 DESIGNATED 40 +BEGIN @4000 DESIGNATED 40 + +INCLUDE ~iwdification/lib/spell_prep.tpa~ + +///// \\\\\ +///// CLERIC_CURSE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_CURSE~) OR override_divine) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi237.pro~ + + ADD_SPELL ~iwdification/spl/cdid112.spl~ 1 1 CLERIC_CURSE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4010 // name + SAY 0x50 @4011 // descript + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 14406 parameter1 = string_cursed END + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi237 END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdid112 resource = EVAL ~%DEST_RES%~ END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = EVAL ~%DEST_RES%~ END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid112.itm~ + SAY 0x0c @4010 + SAY 0x54 @4011 + LPF cd_scroll INT_VAR target_hdr = 4 range = 40 opcode = 148 target_eff = 1 price = 100 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdid112a.bam~ ~override~ + ~iwdification/bam/cdid112b.bam~ ~override~ + ~iwdification/bam/cdid112c.bam~ ~override~ + ~iwdification/bam/cdiare1x.bam~ ~override~ + ~iwdification/bam/cdicurse.bam~ ~override~ + ~iwdification/vvc/cdibless.vvc~ ~override~ + ~iwdification/vvc/cdicurse.vvc~ ~override~ + ~iwdification/wav/cdiee04.wav~ ~override~ + ~iwdification/wav/cdiep32.wav~ ~override~ + ~iwdification/wav/cdiep99.wav~ ~override~ + +END + +///// \\\\\ +///// CLERIC_CAUSE_LIGHT_WOUNDS \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_CAUSE_LIGHT_WOUNDS~) OR override_divine) BEGIN + + ADD_SPELL ~iwdification/spl/cdid114.spl~ 1 1 CLERIC_CAUSE_LIGHT_WOUNDS + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4020 // name + SAY 0x50 @4021 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid114 resource = EVAL ~%DEST_RES%~ END + PATCH_IF !ee_game BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixd114 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd114 END // general = undead + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 104 opcode = 177 parameter2 = 4 STR_VAR resource = cdixd114 END // race = parameter1 + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid114.itm~ + SAY 0x0c @4020 + SAY 0x54 @4021 + LPF cd_scroll INT_VAR unusable0 = (BIT2 + BIT12 + BIT21 + BIT30) range = 1 price = 100 STR_VAR spell = EVAL ~%current_spell_res%~ END // non-good, cleric + + COPY ~iwdification/bam/cdid114a.bam~ ~override~ + ~iwdification/bam/cdid114b.bam~ ~override~ + ~iwdification/bam/cdid114c.bam~ ~override~ + ~iwdification/bam/cdicldam.bam~ ~override~ + ~iwdification/vvc/cdicldam.vvc~ ~override~ + ~iwdification/wav/cdiem103.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd114.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 + + END + +END + +///// \\\\\ +///// CLERIC_SUNSCORCH \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_SUNSCORCH~) OR override_divine) BEGIN + + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdisunsc.pro~ + + END + + ADD_SPELL ~iwdification/spl/cdid115.spl~ 1 1 CLERIC_SUNSCORCH + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4030 // name + SAY 0x50 @4031 // descript + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37800 parameter1 = string_blinded END + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdisunsc END + END ELSE BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 326 opcode = 177 parameter1 = 4 parameter2 = 3 END // general = undead + LPF ALTER_EFFECT INT_VAR match_opcode = 326 opcode = 177 parameter1 = 164 parameter2 = 4 END // race = myconid + READ_SHORT 0x68 abil_num + FOR (index = 0 ; index < abil_num ; ++index) BEGIN + LPF ALTER_EFFECT INT_VAR header = index match_opcode = 12 parameter1 = ((index + 1) / 2) dicesize = 3 special = 0 END + LPF CLONE_EFFECT INT_VAR header = index match_opcode = 12 parameter1 = ((index + 0) / 2) savingthrow = 0 END + END + PATCH_FOR_EACH res IN cdid1151 cdid1152 cdid1153 cdid1154 BEGIN + LPF ADD_SPELL_EFFECT INT_VAR opcode = 215 target = 2 power = 1 timing = 1 resist_dispel = 3 STR_VAR resource = EVAL ~%res%~ END + END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid115.itm~ + SAY 0x0c @4030 + SAY 0x54 @4031 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) range = 100 price = 100 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid115a.bam~ ~override~ + ~iwdification/bam/cdid115b.bam~ ~override~ + ~iwdification/bam/cdid115c.bam~ ~override~ + ~iwdification/bam/cdisunsc.bam~ ~override~ + ~iwdification/spl/cdid115d.spl~ ~override~ + ~iwdification/wav/cdiep39.wav~ ~override~ + + ACTION_IF ee_game BEGIN + + COPY ~iwdification/vvc/cdisunsc.vvc~ ~override~ + + END ELSE BEGIN + + COPY ~iwdification/vvc/cdid1151.vvc~ ~override~ + ~iwdification/vvc/cdid1152.vvc~ ~override~ + ~iwdification/vvc/cdid1153.vvc~ ~override~ + ~iwdification/vvc/cdid1154.vvc~ ~override~ + + COPY ~iwdification/eff/326.eff~ ~override/cdid115d.eff~ + WRITE_ASCII 0x30 ~cdid115d~ + + END + +END + +///// \\\\\ +///// CLERIC_CURE_MODERATE_WOUNDS \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_CURE_MODERATE_WOUNDS~) OR override_divine) BEGIN + + ADD_SPELL ~iwdification/spl/cdid217.spl~ 1 2 CLERIC_CURE_MODERATE_WOUNDS + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4040 // name + SAY 0x50 @4041 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid217 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 14022 parameter1 = string_healed END + PATCH_IF !ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 61 END + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixd114 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd114 END // general = undead + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 104 opcode = 177 parameter2 = 4 STR_VAR resource = cdixd114 END // race = parameter1 + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid217.itm~ + SAY 0x0c @4040 + SAY 0x54 @4041 + LPF cd_scroll INT_VAR range = 1 price = 200 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdid217a.bam~ ~override~ + ~iwdification/bam/cdid217b.bam~ ~override~ + ~iwdification/bam/cdid217c.bam~ ~override~ + ~iwdification/bam/cdicmwou.bam~ ~override~ + ~iwdification/vvc/cdicmwou.vvc~ ~override~ + ~iwdification/wav/cdiep26.wav~ ~override~ + + // add as option to temples that offer cure light wounds + OUTER_SET desc = RESOLVE_STR_REF(@4042) + APPEND ~speldesc.2da~ ~sppr217 %desc%~ + COPY_EXISTING_REGEXP GLOB ~^.+\.sto$~ ~override~ + READ_LONG 0x70 cure_off + READ_LONG 0x74 cure_num + SET insert_cost = 0 + SET insert_off = 0 + FOR (index = 0 ; index < cure_num ; ++index) BEGIN + READ_ASCII (cure_off + (index * 0x0c)) spell + PATCH_IF ("%spell%" STRING_COMPARE_REGEXP "sppr1[0-9][0-9]" = 0) BEGIN + SET insert_off = (cure_off + ((index + 1) * 0x0c)) + PATCH_IF ("%spell%" STRING_COMPARE_CASE "sppr103" = 0) BEGIN + READ_LONG (cure_off + 0x08 + (index * 0x0c)) insert_cost + END + END + END + PATCH_IF insert_off AND insert_cost BEGIN + INSERT_BYTES (insert_off ) 0x0c + WRITE_ASCIIE (insert_off ) ~%current_spell_res%~ #8 + WRITE_LONG (insert_off + 0x08) (insert_cost * 2) + WRITE_LONG 0x74 (THIS + 1) + PATCH_FOR_EACH off IN 0x2c 0x34 0x4c BEGIN // item, sale, drink offsets + READ_LONG off val // read offset + PATCH_IF val > cure_off BEGIN // if after cure list... + WRITE_LONG off (THIS + 0x0c) // push back for new cure + END + END + END + BUT_ONLY + +END + +///// \\\\\ +///// CLERIC_ALICORN_LANCE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_ALICORN_LANCE~) OR override_divine) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi298.pro~ + + ADD_SPELL ~iwdification/spl/cdid218.spl~ 1 2 CLERIC_ALICORN_LANCE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4050 // name + SAY 0x50 @4051 // descript + SAY 0x2ae @4052 + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi298 END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdid218 resource = EVAL ~%DEST_RES%~ END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF CD_SPLIT_SAVE_DAMAGE END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid218.itm~ + SAY 0x0c @4050 + SAY 0x54 @4051 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) range = 100 price = 200 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid218a.bam~ ~override~ + ~iwdification/bam/cdid218b.bam~ ~override~ + ~iwdification/bam/cdid218c.bam~ ~override~ + ~iwdification/bam/cdilanct.bam~ ~override~ + ~iwdification/wav/cdiee08.wav~ ~override~ + ~iwdification/wav/cditra57.wav~ ~override~ + +END + +///// \\\\\ +///// CLERIC_BEAST_CLAW \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_BEAST_CLAW~) OR override_divine) BEGIN + + ADD_SPELL ~iwdification/spl/cdid219.spl~ 1 2 CLERIC_BEAST_CLAW + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4060 // name + SAY 0x50 @4061 // descript + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid219.itm~ + SAY 0x0c @4060 + SAY 0x54 @4061 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 5 range = 1 price = 200 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/itm/cdibclaw.itm~ ~override~ + SAY 0x08 @4060 + SAY 0x0c @4060 + + COPY ~iwdification/bam/cdid219a.bam~ ~override~ + ~iwdification/bam/cdid219b.bam~ ~override~ + ~iwdification/bam/cdid219c.bam~ ~override~ + ~iwdification/bam/cdialter.bam~ ~override~ + ~iwdification/bam/cdibclaw.bam~ ~override~ + ~iwdification/vvc/cdialter.vvc~ ~override~ + ~iwdification/wav/cdiep07.wav~ ~override~ + +END + +///// \\\\\ +///// CLERIC_CAUSE_MODERATE_WOUNDS \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_CAUSE_MODERATE_WOUNDS~) OR override_divine) BEGIN + + ADD_SPELL ~iwdification/spl/cdid220.spl~ 1 2 CLERIC_CAUSE_MODERATE_WOUNDS + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4070 // name + SAY 0x50 @4071 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid220 resource = EVAL ~%DEST_RES%~ END + PATCH_IF !ee_game BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixd220 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd220 END // general = undead + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 104 opcode = 177 parameter2 = 4 STR_VAR resource = cdixd220 END // race = parameter1 + LPF CD_SPLIT_SAVE_DAMAGE END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid220.itm~ + SAY 0x0c @4070 + SAY 0x54 @4071 + LPF cd_scroll INT_VAR unusable0 = (BIT2 + BIT12 + BIT21 + BIT30) range = 1 price = 200 STR_VAR spell = EVAL ~%current_spell_res%~ END // non-good cleric + + COPY ~iwdification/bam/cdid220a.bam~ ~override~ + ~iwdification/bam/cdid220b.bam~ ~override~ + ~iwdification/bam/cdid220c.bam~ ~override~ + ~iwdification/bam/cdicmdam.bam~ ~override~ + ~iwdification/vvc/cdicmdam.vvc~ ~override~ + ~iwdification/wav/cdiem103.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd220.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 + + END + +END + +///// \\\\\ +///// CLERIC_PRAYER \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_PRAYER~) OR override_divine) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4080) STR_VAR bam_file = cdid316d RET icon END + + ADD_PROJECTILE ~iwdification/pro/cdivrnp.pro~ + ADD_PROJECTILE ~iwdification/pro/cdivrpo.pro~ + + ADD_SPELL ~iwdification/spl/cdid316.spl~ 1 3 CLERIC_PRAYER + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4080 // name + SAY 0x50 @4081 // descript + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid316.itm~ + SAY 0x0c @4080 + SAY 0x54 @4081 + LPF cd_scroll INT_VAR unusable0 = (BIT12 + BIT21 + BIT30) target_hdr = 5 range = 40 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // cleric + + COPY ~iwdification/spl/cdid316b.spl~ ~override~ + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdivrnp END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 40257 parameter1 = RESOLVE_STR_REF(@4082) END + PATCH_IF !ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = cdid316b END + LPF CD_CONVERT_9_255 END + END + + COPY ~iwdification/spl/cdid316g.spl~ ~override~ + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdivrpo END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 40256 parameter1 = RESOLVE_STR_REF(@4083) END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 183 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 183 parameter2 = 18 END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = cdid316g END + LPF CD_CONVERT_9_255 END + END + + COPY ~iwdification/bam/cdid316a.bam~ ~override~ + ~iwdification/bam/cdid316b.bam~ ~override~ + ~iwdification/bam/cdid316c.bam~ ~override~ + ~iwdification/bam/cdid316d.bam~ ~override~ + ~iwdification/bam/cdiprayh.bam~ ~override~ + ~iwdification/vvc/cdiprayg.vvc~ ~override~ + ~iwdification/vvc/cdiprayh.vvc~ ~override~ + ~iwdification/wav/cdiep31.wav~ ~override~ + +END + +///// \\\\\ +///// CLERIC_CAUSE_DISEASE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_CAUSE_DISEASE~) OR override_divine) BEGIN + + ADD_SPELL ~iwdification/spl/cdid320.spl~ 1 3 CLERIC_CAUSE_DISEASE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4090 // name + SAY 0x50 @4091 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid320 resource = EVAL ~%DEST_RES%~ END + PATCH_IF !ee_game BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixd320 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd320 END // general = undead + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 104 opcode = 177 parameter2 = 4 STR_VAR resource = cdixd320 END // race = parameter1 + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid320.itm~ + SAY 0x0c @4090 + SAY 0x54 @4091 + LPF cd_scroll INT_VAR unusable0 = (BIT2 + BIT12 + BIT21 + BIT30) range = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // non-good cleric + + COPY ~iwdification/bam/cdid320a.bam~ ~override~ + ~iwdification/bam/cdid320b.bam~ ~override~ + ~iwdification/bam/cdid320c.bam~ ~override~ + ~iwdification/bam/cdidise.bam~ ~override~ + ~iwdification/vvc/cdidise.vvc~ ~override~ + ~iwdification/wav/cdiep108.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd320.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 + + END + +END + +///// \\\\\ +///// CLERIC_EXALTATION \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_EXALTATION~) OR override_divine) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4100) STR_VAR bam_file = cdid321d RET icon END + + ADD_SPELL ~iwdification/spl/cdid321.spl~ 1 3 CLERIC_EXALTATION + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4100 // name + SAY 0x50 @4101 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid321 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 20568 parameter1 = string_mf_panic END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35484 parameter1 = string_panic END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37340 parameter1 = string_uncon END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37603 parameter1 = string_rthinking END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37604 parameter1 = string_confused END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37605 parameter1 = string_berserk END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37606 parameter1 = string_intoxicated END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37613 parameter1 = string_sleep END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 174 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 174 END + LPF ALTER_EFFECT INT_VAR match_opcode = 324 opcode = 206 target = 1 parameter1 = 0 parameter2 = 0 END // prevent self-cast + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid321.itm~ + SAY 0x0c @4100 + SAY 0x54 @4101 + LPF cd_scroll INT_VAR unusable0 = (BIT12 + BIT21 + BIT30) range = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // cleric + + COPY ~iwdification/bam/cdid321a.bam~ ~override~ + ~iwdification/bam/cdid321b.bam~ ~override~ + ~iwdification/bam/cdid321c.bam~ ~override~ + ~iwdification/bam/cdid321d.bam~ ~override~ + ~iwdification/bam/cdiexalt.bam~ ~override~ + ~iwdification/vvc/cdiexalt.vvc~ ~override~ + ~iwdification/wav/cdiep106.wav~ ~override~ + +END + +///// \\\\\ +///// CLERIC_MOONBLADE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_MOONBLADE~) OR override_divine) BEGIN + + ADD_SPELL ~iwdification/spl/cdid322.spl~ 1 3 CLERIC_MOONBLADE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4110 // name + SAY 0x50 @4111 // descript + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid322.itm~ + SAY 0x0c @4110 + SAY 0x54 @4111 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 5 range = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/itm/cdimoonb.itm~ ~override~ + SAY 0x08 @4110 + SAY 0x0c @4110 + LPF ALTER_EFFECT STR_VAR match_resource = moonbla resource = cdimoonb END + PATCH_IF !ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 12 match_parameter1 = 0 END // delete undead damage, since it's going through an EFF + LPF ALTER_EFFECT INT_VAR match_opcode = 318 opcode = 177 parameter1 = 4 parameter2 = 3 timing = 1 duration = 0 END + END + + COPY ~iwdification/bam/cdid322a.bam~ ~override~ + ~iwdification/bam/cdid322b.bam~ ~override~ + ~iwdification/bam/cdid322c.bam~ ~override~ + ~iwdification/bam/cdiinvoc.bam~ ~override~ + ~iwdification/bam/cdimoonb.bam~ ~override~ + ~iwdification/vvc/cdiinvoc.vvc~ ~override~ + ~iwdification/wav/cdiem06.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/cdimoonb.eff~ ~override~ + + END + +END + +///// \\\\\ +///// CLERIC_CIRCLE_OF_BONES \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_CIRCLE_OF_BONES~) OR override_divine) BEGIN + + ADD_SPELL ~iwdification/spl/cdid323.spl~ 1 3 CLERIC_CIRCLE_OF_BONES + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4120 // name + SAY 0x50 @4121 // descript + LPF ALTER_EFFECT INT_VAR match_opcode = 126 opcode = 176 END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid323.itm~ + SAY 0x0c @4120 + SAY 0x54 @4121 + LPF cd_scroll INT_VAR unusable0 = (BIT2 + BIT12 + BIT21 + BIT30) target_hdr = 5 range = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // non-good cleric + + COPY ~iwdification/bam/cdid323a.bam~ ~override~ + ~iwdification/bam/cdid323b.bam~ ~override~ + ~iwdification/bam/cdid323c.bam~ ~override~ + ~iwdification/bam/cdibone1.bam~ ~override~ + ~iwdification/bam/cdibone2.bam~ ~override~ + ~iwdification/spl/cdid323d.spl~ ~override~ + ~iwdification/vvc/cdibone1.vvc~ ~override~ + ~iwdification/vvc/cdibone2.vvc~ ~override~ + ~iwdification/wav/cdiafp22.wav~ ~override~ + ~iwdification/wav/cdiarp21.wav~ ~override~ + ~iwdification/wav/cdiep101.wav~ ~override~ + +END ///// \\\\\ -///// common resources \\\\\ +///// CLERIC_SPIKE_GROWTH \\\\\ ///// \\\\\ -INCLUDE ~iwdification/lib/common_spell.tpa~ +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_SPIKE_GROWTH~) OR override_divine) BEGIN + + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi300.pro~ + + END ELSE BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi300a.pro~ + + END + + ADD_SPELL ~iwdification/spl/cdid324.spl~ 1 3 CLERIC_SPIKE_GROWTH + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4130 // name + SAY 0x50 @4131 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi300 END + END ELSE BEGIN + LPF DELETE_EFFECT END + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi300a END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 2 timing = 1 parameter2 = 2 STR_VAR resource = cdid324 END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 215 target = 1 parameter2 = 2 timing = 1 STR_VAR resource = cdisgrwa END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid324.itm~ + SAY 0x0c @4130 + SAY 0x54 @4131 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid324a.bam~ ~override~ + ~iwdification/bam/cdid324b.bam~ ~override~ + ~iwdification/bam/cdid324c.bam~ ~override~ + ~iwdification/bam/cdisgrwa.bam~ ~override~ + ~iwdification/bam/cdisgrwx.bam~ ~override~ + ~iwdification/vvc/cdisgrwa.vvc~ ~override~ + ~iwdification/vvc/cdisgrwx.vvc~ ~override~ + ~iwdification/wav/cdiafp24.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 5 cloud_dur = 60 STR_VAR code = cdid324 anim = cdisgrwa END + + COPY ~iwdification/spl/cdid324.spl~ ~override~ + WRITE_LONG 0x08 "-1" // name + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi300a END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 215 target = 2 duration = 3 STR_VAR resource = cdisgrwx END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 2 duration = 6 STR_VAR resource = cdid324 END + + END + +END ///// \\\\\ -///// Curse \\\\\ +///// CLERIC_CLOUDBURST \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/curse.spl~ 1 1 CLERIC_CURSE - SAY 0x08 @4001 - SAY 0x50 @4002 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CURSE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_CLOUDBURST~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_CURSE_RES "%temp%" + ACTION_IF ee_game BEGIN - ADD_PROJECTILE ~iwdification/pro/cdid111.pro~ + ADD_PROJECTILE ~iwdification/pro/cdi301.pro~ - COPY_EXISTING ~%CLERIC_CURSE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid111 END + END ELSE BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi301a.pro~ + + END + + ADD_SPELL ~iwdification/spl/cdid325.spl~ 1 3 CLERIC_CLOUDBURST + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4140 // name + SAY 0x50 @4141 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi301 END + PATCH_FOR_EACH res IN firau1d2 firau3d6 frostd10 spin187 spin128 BEGIN // leftover iwdee references + LPF DELETE_EFFECT STR_VAR match_resource = EVAL ~%res%~ END + END + LPF ALTER_EFFECT STR_VAR match_resource = cdid325 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT STR_VAR match_resource = fsalring resource = cdisalfi END // iwdifcation moves aura visuals to weapons + LPF ALTER_EFFECT STR_VAR match_resource = csalring resource = cdisalfr END // iwdifcation moves aura visuals to weapons + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi301a END + LPF DELETE_EFFECT END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 timing = 1 parameter2 = 2 STR_VAR resource = cdid325 END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid325.itm~ + SAY 0x0c @4140 + SAY 0x54 @4141 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid325a.bam~ ~override~ + ~iwdification/bam/cdid325b.bam~ ~override~ + ~iwdification/bam/cdid325c.bam~ ~override~ + ~iwdification/wav/cdiarp24.wav~ ~override~ + + ACTION_IF ee_game BEGIN - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid111.itm~ - SAY 0x0c @4001 - SAY 0x54 @4002 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_CURSE_RES%~ END - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point + COPY ~iwdification/bam/cdibacld.bam~ ~override~ + ~iwdification/bam/cdibhcld.bam~ ~override~ + ~iwdification/vvc/cdibhcld.vvc~ ~override~ - COPY ~iwdification/bam/cdarea1x.bam~ ~override~ - ~iwdification/bam/cdcurseh.bam~ ~override~ - ~iwdification/bam/cdid111a.bam~ ~override~ - ~iwdification/bam/cdid111b.bam~ ~override~ - ~iwdification/bam/cdid111c.bam~ ~override~ - ~iwdification/vvc/cdbless.vvc~ ~override~ - ~iwdification/vvc/cdcurseh.vvc~ ~override~ - ~iwdification/wav/cdeffp32.wav~ ~override~ - ~iwdification/wav/cdeffp99.wav~ ~override~ + END ELSE BEGIN + + LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 1 cloud_dur = 12 zosa = 1 STR_VAR code = cdid325 anim = cdibacld END + + COPY_EXISTING ~iwdification/spl/cdid325.spl~ ~override~ + WRITE_LONG 0x08 "-1" // name + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi301a END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 318 END + LPF DELETE_EFFECT INT_VAR match_opcode = 206 END + LPF CD_SPLIT_SAVE_DAMAGE END + PATCH_FOR_EACH res IN cdifire6 cdifros6 cdia524 cdia524b BEGIN // leftover iwdee references + LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 2 duration = 6 STR_VAR resource = EVAL ~%res%~ END + END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 2 power = 3 parameter1 = 187 parameter2 = 5 timing = 1 resist_dispel = 1 STR_VAR resource = cdid325c END // extra dam for class: fire elemental + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 2 power = 3 parameter1 = 146 parameter2 = 5 timing = 1 resist_dispel = 1 STR_VAR resource = cdid325c END // extra dam for class: winter wolf + LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 2 duration = 6 STR_VAR resource = cdid325 END + + COPY ~iwdification/bam/cdid325v.bam~ ~override/cdibacld.bam~ + ~iwdification/eff/cdid325c.eff~ ~override~ + + END END ///// \\\\\ -///// Cause Light Wounds \\\\\ +///// CLERIC_MOLD_TOUCH \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/cause_light_wounds.spl~ 1 1 CLERIC_CAUSE_LIGHT_WOUNDS - SAY 0x08 @4003 - SAY 0x50 @4004 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CAUSE_LIGHT_WOUNDS~)) > 0) THEN BEGIN +ACTION_IF (ee_game AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_MOLD_TOUCH~) OR override_divine)) BEGIN - OUTER_SPRINT CLERIC_CAUSE_LIGHT_WOUNDS_RES "%temp%" + ADD_SPELL ~iwdification/spl/cdid326.spl~ 1 3 CLERIC_MOLD_TOUCH + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4150 // name + SAY 0x50 @4151 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid326 resource = EVAL ~%DEST_RES%~ END - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid112.itm~ - SAY 0x0c @4003 - SAY 0x54 @4004 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_CAUSE_LIGHT_WOUNDS_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid112a.bam~ ~override~ - ~iwdification/bam/cdid112b.bam~ ~override~ - ~iwdification/bam/cdid112c.bam~ ~override~ - - COPY ~iwdification/lib/immunity.eff~ ~override/cdim1112.eff~ - WRITE_ASCIIE 0x30 ~%CLERIC_CAUSE_LIGHT_WOUNDS_RES%~ #8 + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid326.itm~ + SAY 0x0c @4150 + SAY 0x54 @4151 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) range = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid326a.bam~ ~override~ + ~iwdification/bam/cdid326b.bam~ ~override~ + ~iwdification/bam/cdid326c.bam~ ~override~ + ~iwdification/bam/cdimoldt.bam~ ~override~ + ~iwdification/vvc/cdimoldt.vvc~ ~override~ + ~iwdification/wav/cdiep107.wav~ ~override~ END ///// \\\\\ -///// Sunscorch \\\\\ +///// CLERIC_STORM_SHELL \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/sunscorch.spl~ 1 1 CLERIC_SUNSCORCH - SAY 0x08 @4005 - SAY 0x50 @4006 - LPF SPELL_ALTER_EFFECT INT_VAR opcode = 206 STR_VAR resource = EVALUATE_BUFFER "%DEST_RES%" END - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SUNSCORCH~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_STORM_SHELL~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_SUNSCORCH_RES "%temp%" + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4160) STR_VAR bam_file = cdid327d RET icon END + + ADD_SPELL ~iwdification/spl/cdid327.spl~ 1 3 CLERIC_STORM_SHELL + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4160 // name + SAY 0x50 @4161 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 140 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 140 END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid327.itm~ + SAY 0x0c @4160 + SAY 0x54 @4161 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 5 range = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid327a.bam~ ~override~ + ~iwdification/bam/cdid327b.bam~ ~override~ + ~iwdification/bam/cdid327c.bam~ ~override~ + ~iwdification/bam/cdid327d.bam~ ~override~ + ~iwdification/bam/cdisshel.bam~ ~override~ + ~iwdification/vvc/cdistorm.vvc~ ~override~ + ~iwdification/wav/cdiafp25.wav~ ~override~ + +END + +///// \\\\\ +///// CLERIC_CAUSE_MEDIUM_WOUNDS \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_CAUSE_MEDIUM_WOUNDS~) OR override_divine) BEGIN + + ADD_SPELL ~iwdification/spl/cdid330.spl~ 1 3 CLERIC_CAUSE_MEDIUM_WOUNDS + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4170 // name + SAY 0x50 @4171 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid330 resource = EVAL ~%DEST_RES%~ END + PATCH_IF !ee_game BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixd330 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd330 END // general = undead + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 104 opcode = 177 parameter2 = 4 STR_VAR resource = cdixd330 END // race = parameter1 + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid330.itm~ + SAY 0x0c @4170 + SAY 0x54 @4171 + LPF cd_scroll INT_VAR unusable0 = (BIT2 + BIT12 + BIT21 + BIT30) range = 1 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // non-good cleric + + COPY ~iwdification/bam/cdid330a.bam~ ~override~ + ~iwdification/bam/cdid330b.bam~ ~override~ + ~iwdification/bam/cdid330c.bam~ ~override~ + ~iwdification/bam/cdicmdam.bam~ ~override~ + ~iwdification/vvc/cdicmdam.vvc~ ~override~ + ~iwdification/wav/cdiem103.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd330.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid113.itm~ - SAY 0x0c @4005 - SAY 0x54 @4006 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_SUNSCORCH_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - - COPY ~iwdification/bam/cdid113a.bam~ ~override~ - ~iwdification/bam/cdid113b.bam~ ~override~ - ~iwdification/bam/cdid113c.bam~ ~override~ - ~iwdification/bam/cdid113v.bam~ ~override~ - ~iwdification/vvc/cdid1131.vvc~ ~override~ - ~iwdification/vvc/cdid1132.vvc~ ~override~ - ~iwdification/vvc/cdid1133.vvc~ ~override~ - ~iwdification/vvc/cdid1134.vvc~ ~override~ - ~iwdification/wav/cdeffp39.wav~ ~override~ - - COPY ~iwdification/lib/immunity.eff~ ~override/cdim1113.eff~ - WRITE_ASCIIE 0x30 ~%CLERIC_SUNSCORCH_RES%~ #8 - - OUTER_FOR (index = 1 ; index < 16 ; ++index) BEGIN - - COPY ~iwdification/eff/cdfire1.eff~ ~override/cdfire%index%.eff~ - WRITE_LONG 0x1c index - END END ///// \\\\\ -///// Alicorn Lance \\\\\ +///// CLERIC_FAVOR_OF_ILMATER \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/alicorn_lance.spl~ 1 2 CLERIC_ALICORN_LANCE - SAY 0x08 @4007 - SAY 0x50 @4008 - SAY 0x2ae @4075 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_ALICORN_LANCE~)) > 0) THEN BEGIN +ACTION_IF (ee_game AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_FAVOR_OF_ILMATER~) OR override_divine)) BEGIN - OUTER_SPRINT CLERIC_ALICORN_LANCE_RES "%temp%" + ADD_SPELL ~iwdification/spl/cdid331.spl~ 1 3 CLERIC_FAVOR_OF_ILMATER + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4180 // name + SAY 0x50 @4181 // descript + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = sppr315 resource = EVAL ~%DEST_RES%~ END // iwdee nightly has bug here + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid331 resource = EVAL ~%DEST_RES%~ END // for when bug is fixed - ADD_PROJECTILE ~iwdification/pro/cdid216.pro~ - - COPY_EXISTING ~%CLERIC_ALICORN_LANCE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid216 END - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid216.itm~ - SAY 0x0c @4007 - SAY 0x54 @4008 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_ALICORN_LANCE_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - - COPY ~iwdification/bam/cdid216a.bam~ ~override~ - ~iwdification/bam/cdid216b.bam~ ~override~ - ~iwdification/bam/cdid216c.bam~ ~override~ - ~iwdification/bam/cdid216v.bam~ ~override~ - ~iwdification/wav/cdtra_57.wav~ ~override~ + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid331.itm~ + SAY 0x0c @4180 + SAY 0x54 @4181 + LPF cd_scroll INT_VAR unusable0 = (BIT1 + BIT12 + BIT21 + BIT30) range = 1 opcode = 146 target_eff = 2 price = 300 STR_VAR spell = EVAL ~%current_spell_res%~ END // non-evil cleric + + COPY ~iwdification/bam/cdid331a.bam~ ~override~ + ~iwdification/bam/cdid331b.bam~ ~override~ + ~iwdification/bam/cdid331c.bam~ ~override~ + ~iwdification/bam/cdicmdam.bam~ ~override~ + ~iwdification/bam/cdicmwou.bam~ ~override~ + ~iwdification/vvc/cdicmdam.vvc~ ~override~ + ~iwdification/vvc/cdicmwou.vvc~ ~override~ + ~iwdification/wav/cdiem103.wav~ ~override~ + ~iwdification/wav/cdiep26.wav~ ~override~ END ///// \\\\\ -///// Beast Claw \\\\\ +///// CLERIC_GIANT_INSECT \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/beast_claw.spl~ 1 2 CLERIC_BEAST_CLAW - SAY 0x08 @4009 - SAY 0x50 @4010 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_BEAST_CLAW~)) > 0) THEN BEGIN +ACTION_IF (anim_beetle AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_GIANT_INSECT~) OR override_divine)) BEGIN // requires beetle animation, either EE or vanilla + infinity animations - OUTER_SPRINT CLERIC_BEAST_CLAW_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdi282.pro~ - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid217.itm~ - SAY 0x0c @4009 - SAY 0x54 @4010 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_BEAST_CLAW_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid217a.bam~ ~override~ - ~iwdification/bam/cdid217b.bam~ ~override~ - ~iwdification/bam/cdid217c.bam~ ~override~ - ~iwdification/bam/cdid217i.bam~ ~override~ - - COPY ~iwdification/itm/cdid217w.itm~ ~override~ - SAY 0x08 @4009 - SAY 0x0c @4009 - SAY 0x50 @4010 - SAY 0x54 @4010 + LAF cd_new_summon_table STR_VAR descript = "Giant_insect" 2da_file = cdiinsct RET table END + + ADD_SPELL ~iwdification/spl/cdid418.spl~ 1 4 CLERIC_GIANT_INSECT + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4190 // name + SAY 0x50 @4191 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 331 parameter2 = table END + END ELSE BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 215 parameter2 = 2 STR_VAR resource = cdimsm1h END + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 probability1 = 49 dicesize = 0 dicenumber = 0 STR_VAR resource = cdiinsct END + LPF CLONE_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdiinsct END + LPF ALTER_EFFECT INT_VAR match_opcode = 331 opcode = 127 parameter1 = 1 parameter2 = 0 dicesize = 0 dicenumber = 0 STR_VAR resource = cdiinsct END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid418.itm~ + SAY 0x0c @4190 + SAY 0x54 @4191 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 opcode = 148 target_eff = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY_EXISTING ~cdi282.pro~ ~override~ + SAY 0x30 @4193 + + COMPILE ~iwdification/baf/cdibbcld.baf~ + + COPY ~iwdification/spl/cdibombb.spl~ ~override~ + SAY 0xce @4193 + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi282 END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 35568 parameter1 = string_stunned END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 14073 parameter1 = string_deafness END + + LAF cd_animation STR_VAR code = e220 END // 57888 MBBM beetle_black + COPY ~iwdification/cre/cdiibomb.cre~ ~override~ + SAY 0x08 @4192 + SAY 0x0c @4192 + WRITE_LONG 0x28 anim_beetle + + COPY ~iwdification/cre/cdiiborb.cre~ ~override~ + SAY 0x08 @3013 + SAY 0x0c @3013 + WRITE_LONG 0x28 anim_beetle + + COPY ~iwdification/itm/cdis5-20.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + + COPY ~iwdification/itm/cdifring.itm~ ~override~ + LPF ALTER_EFFECT STR_VAR match_resource = spin191 resource = cdibombb END + + COPY ~iwdification/bam/cdid418a.bam~ ~override~ + ~iwdification/bam/cdid418b.bam~ ~override~ + ~iwdification/bam/cdid418c.bam~ ~override~ + ~iwdification/bam/cdiasm1x.bam~ ~override~ + ~iwdification/bam/cdimsm1h.bam~ ~override~ + ~iwdification/bam/cdisclda.bam~ ~override~ + ~iwdification/bam/cdiscldr.bam~ ~override~ + ~iwdification/vvc/cdiasm1x.vvc~ ~override~ + ~iwdification/vvc/cdimsm1h.vvc~ ~override~ + ~iwdification/wav/cdiem47.wav~ ~override~ + + COPY ~iwdification/2da/cdiinsct.2da~ ~override~ + PATCH_IF !ee_game BEGIN// delete 2nd & 3rd columns for vanilla summon tables + REPLACE_TEXTUALLY ~[ %TAB%]+HitAnimation[ %TAB%]+AreaHitAnimation~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%]+cdimsm1h[ %TAB%]+.+$~ ~~ + END END ///// \\\\\ -///// Cause Moderate Wounds \\\\\ +///// CLERIC_PRODUCE_FIRE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/cause_moderate_wounds.spl~ 1 2 CLERIC_CAUSE_MODERATE_WOUNDS - SAY 0x08 @4011 - SAY 0x50 @4012 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CAUSE_MODERATE_WOUNDS~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_PRODUCE_FIRE~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_CAUSE_MODERATE_WOUNDS_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdi215.pro~ - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid218.itm~ - SAY 0x0c @4011 - SAY 0x54 @4012 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_CAUSE_MODERATE_WOUNDS_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid218a.bam~ ~override~ // missing - ~iwdification/bam/cdid218b.bam~ ~override~ - ~iwdification/bam/cdid218c.bam~ ~override~ + ADD_SPELL ~iwdification/spl/cdid419.spl~ 1 4 CLERIC_PRODUCE_FIRE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4200 // name + SAY 0x50 @4201 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi215 END + LPF ALTER_EFFECT STR_VAR match_resource = cdid419 resource = EVAL ~%DEST_RES%~ END + PATCH_IF !ee_game BEGIN + LPF ADD_SPELL_EFFECT INT_VAR opcode = 215 target = 1 parameter2 = 2 timing = 1 resist_dispel = 3 STR_VAR resource = cdiprfir END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid419.itm~ + SAY 0x0c @4200 + SAY 0x54 @4201 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 40 opcode = 148 target_eff = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid419a.bam~ ~override~ + ~iwdification/bam/cdid419b.bam~ ~override~ + ~iwdification/bam/cdid419c.bam~ ~override~ + ~iwdification/bam/cdipfira.bam~ ~override~ + ~iwdification/bam/cdipfirx.bam~ ~override~ + ~iwdification/vvc/cdiprfir.vvc~ ~override~ + ~iwdification/wav/cdiarp03.wav~ ~override~ + ~iwdification/wav/cdiep45.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY_EXISTING ~cdi215.pro~ ~override~ + WRITE_BYTE 0x217 255 - COPY ~iwdification/lib/immunity.eff~ ~override/cdim1218.eff~ - WRITE_ASCIIE 0x30 ~%CLERIC_CAUSE_MODERATE_WOUNDS_RES%~ #8 + END END ///// \\\\\ -///// Cure Moderate Wounds \\\\\ +///// CLERIC_STATIC_CHARGE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/cure_moderate_wounds.spl~ 1 2 CLERIC_CURE_MODERATE_WOUNDS - SAY 0x08 @4079 - SAY 0x50 @4080 - SPRINT temp "%DEST_RES%" +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_STATIC_CHARGE~) OR override_divine) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4210) STR_VAR bam_file = cdid420d RET icon END + + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdistatc.pro~ -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CURE_MODERATE_WOUNDS~)) > 0) THEN BEGIN + END - OUTER_SPRINT CLERIC_CURE_MODERATE_WOUNDS_RES "%temp%" + ADD_SPELL ~iwdification/spl/cdid420.spl~ 1 4 CLERIC_STATIC_CHARGE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4210 // name + SAY 0x50 @4211 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid420 resource = EVAL ~%DEST_RES%~ END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 333 STR_VAR resource = cdid420b END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 42 parameter2 = icon END + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR target = 1 projectile = 1 range = 30 END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 42 END + LPF ALTER_EFFECT INT_VAR target = 2 dicenumber = 0 dicesize = 0 END + LPF CD_CONVERT_333 STR_VAR 333spell = cdid420b END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid420.itm~ + SAY 0x0c @4210 + SAY 0x54 @4211 + PATCH_IF ee_game BEGIN + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 5 range = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + END ELSE BEGIN + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 1 range = 30 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + END - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid214.itm~ - SAY 0x0c @4079 - SAY 0x54 @4080 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_CURE_MODERATE_WOUNDS_RES%~ END - WRITE_SHORT 0x80 1 // range + COPY ~iwdification/spl/cdid420b.spl~ ~override~ + SAY 0x9e @4212 + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdistatc END + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR target = 1 projectile = 1 range = 30 END + LPF ALTER_EFFECT INT_VAR match_opcode = 12 dicenumber = 4 dicesize = 8 special = 0 END + LPF CLONE_EFFECT INT_VAR match_opcode = 12 dicenumber = 5 savingthrow = 0 END + LPF CD_EXTEND-O-MATIC INT_VAR base_dur = 0 step_dur = 0 level_cap = 20 min_lev_alt = 7 END + READ_SHORT 0x68 abil_num + FOR (index = 0 ; index < abil_num ; ++index) BEGIN + LPF ALTER_EFFECT INT_VAR header = index match_opcode = 12 match_savingthrow = 0 dicenumber = ((index + 9) / 2) END + LPF ALTER_EFFECT INT_VAR header = index match_opcode = 12 match_savingthrow = BIT0 dicenumber = ((index + 10) / 2) END + END + END - COPY ~iwdification/bam/cdid214a.bam~ ~override~ // missing - ~iwdification/bam/cdid214b.bam~ ~override~ - ~iwdification/bam/cdid214c.bam~ ~override~ + COPY ~iwdification/bam/cdid420a.bam~ ~override~ + ~iwdification/bam/cdid420b.bam~ ~override~ + ~iwdification/bam/cdid420c.bam~ ~override~ + ~iwdification/bam/cdid420d.bam~ ~override~ + ~iwdification/bam/cdistath.bam~ ~override~ + ~iwdification/vvc/cdistath.vvc~ ~override~ + ~iwdification/wav/cdiep42.wav~ ~override~ END ///// \\\\\ -///// Prayer \\\\\ +///// CLERIC_RECITATION \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/prayer.spl~ 1 3 CLERIC_PRAYER - SAY 0x08 @4013 - SAY 0x50 @4014 - READ_LONG 0x08 string - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_PRAYER~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_RECITATION~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_PRAYER_RES "%temp%" + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4220) STR_VAR bam_file = cdid316d RET icon END - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid313.itm~ - SAY 0x0c @4013 - SAY 0x54 @4014 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_PRAYER_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid313a.bam~ ~override~ - ~iwdification/bam/cdid313b.bam~ ~override~ - ~iwdification/bam/cdid313c.bam~ ~override~ - ~iwdification/bam/cdprayrh.bam~ ~override~ - ~iwdification/vvc/cdprayrh.vvc~ ~override~ - - COPY ~iwdification/spl/cdid313b.spl~ ~override~ - ~iwdification/spl/cdid313g.spl~ ~override~ - LPF SPELL_ALTER_EFFECT INT_VAR opcode = 139 parameter1 = string END + ADD_PROJECTILE ~iwdification/pro/cdivrnp.pro~ + ADD_PROJECTILE ~iwdification/pro/cdivrpo.pro~ + + ADD_SPELL ~iwdification/spl/cdid421.spl~ 1 4 CLERIC_RECITATION + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4220 // name + SAY 0x50 @4221 // descript + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid421.itm~ + SAY 0x0c @4220 + SAY 0x54 @4221 + LPF cd_scroll INT_VAR unusable0 = (BIT12 + BIT21 + BIT30) target_hdr = 5 range = 40 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // cleric + + COPY ~iwdification/spl/cdid421b.spl~ ~override~ + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdivrnp END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 40257 parameter1 = RESOLVE_STR_REF(@4082) END + PATCH_IF !ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = cdid421b END + LPF CD_CONVERT_9_255 END + END + + COPY ~iwdification/spl/cdid421g.spl~ ~override~ + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdivrpo END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 40256 parameter1 = RESOLVE_STR_REF(@4083) END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 175 parameter2 = icon END + END ELSE BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 175 parameter2 = 18 END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = cdid421g END + LPF CD_CONVERT_9_255 END + END + + COPY ~iwdification/bam/cdid421a.bam~ ~override~ + ~iwdification/bam/cdid421b.bam~ ~override~ + ~iwdification/bam/cdid421c.bam~ ~override~ + ~iwdification/bam/cdid316d.bam~ ~override~ + ~iwdification/bam/cdirecih.bam~ ~override~ + ~iwdification/vvc/cdirecig.vvc~ ~override~ + ~iwdification/vvc/cdirecih.vvc~ ~override~ + ~iwdification/wav/cdiep44.wav~ ~override~ + +END + +///// \\\\\ +///// CLERIC_BLOOD_RAGE \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_BLOOD_RAGE~) OR override_divine) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4230) STR_VAR bam_file = cdid422d RET icon END + + ADD_SPELL ~iwdification/spl/cdid422.spl~ 1 4 CLERIC_BLOOD_RAGE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4230 // name + SAY 0x50 @4231 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid422 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 1280 parameter1 = string_stunned END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 14022 parameter1 = string_healed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 14043 parameter1 = string_stun END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 14102 parameter1 = string_held END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 17392 parameter1 = string_dcharmed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 20568 parameter1 = string_mf_panic END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35473 parameter1 = string_healed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35484 parameter1 = string_panic END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35542 parameter1 = string_paralyzed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35544 parameter1 = string_dominated END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35606 parameter1 = string_held END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37340 parameter1 = string_uncon END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37603 parameter1 = string_rthinking END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37604 parameter1 = string_confused END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37613 parameter1 = string_sleep END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37801 parameter1 = string_charmed END + PATCH_IF ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 318 STR_VAR match_resource = cdid422 END // should be last + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 176 parameter2 = icon END + LPF CLONE_EFFECT INT_VAR match_opcode = 324 opcode = 318 match_parameter2 = 50 parameter2 = 0 STR_VAR insert = last END // reinserting as last + END ELSE BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 324 opcode = 206 match_parameter2 = 50 parameter2 = 0 STR_VAR insert = last END // reinserting as last + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 324 END + LPF DELETE_EFFECT INT_VAR match_opcode = 328 END + LPF ALTER_EFFECT INT_VAR match_opcode = 318 opcode = 206 parameter1 = 0 parameter2 = 0 END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 176 parameter2 = 4 END + PATCH_FOR_EACH ea IN 0 1 28 29 30 31 126 128 199 200 201 202 254 255 BEGIN // all ea values except charmed, controlled, ally, familiar, pc + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 2 power = 4 parameter1 = ea parameter2 = 2 resist_dispel = 3 duration = 120 insert_point = 0 STR_VAR resource = cdixd422 END + END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 2 power = 4 parameter1 = 16 parameter2 = 8 resist_dispel = 3 duration = 120 insert_point = 0 STR_VAR resource = cdixd422 END // lawful + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid422.itm~ + SAY 0x0c @4230 + SAY 0x54 @4231 + LPF cd_scroll INT_VAR unusable0 = (BIT4 + BIT12 + BIT21 + BIT30) price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // non-lawful cleric + + COPY ~iwdification/bam/cdid422a.bam~ ~override~ + ~iwdification/bam/cdid422b.bam~ ~override~ + ~iwdification/bam/cdid422c.bam~ ~override~ + ~iwdification/bam/cdid422d.bam~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd422.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 + + END END ///// \\\\\ -///// Cause Disease \\\\\ +///// CLERIC_CLOUD_OF_PESTILENCE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/cause_disease.spl~ 1 3 CLERIC_CAUSE_DISEASE - SAY 0x08 @4015 - SAY 0x50 @4016 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CAUSE_DISEASE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_CLOUD_OF_PESTILENCE~) OR override_divine) BEGIN + + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi309.pro~ + + END ELSE BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi309a.pro~ + + END + + ADD_SPELL ~iwdification/spl/cdid423.spl~ 1 4 CLERIC_CLOUD_OF_PESTILENCE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4240 // name + SAY 0x50 @4241 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi309 END + LPF ALTER_EFFECT STR_VAR match_resource = cdid423 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37800 parameter1 = string_blinded END + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi309a END + LPF DELETE_EFFECT END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 timing = 1 parameter2 = 2 STR_VAR resource = cdid423 END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 duration = 24 STR_VAR resource = cdid423 END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid423.itm~ + SAY 0x0c @4240 + SAY 0x54 @4241 + LPF cd_scroll INT_VAR unusable0 = (BIT2 + BIT3 + BIT12 + BIT21 + BIT30) target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // evil cleric - OUTER_SPRINT CLERIC_CAUSE_DISEASE_RES "%temp%" + COPY ~iwdification/bam/cdid423a.bam~ ~override~ + ~iwdification/bam/cdid423b.bam~ ~override~ + ~iwdification/bam/cdid423c.bam~ ~override~ + ~iwdification/bam/cdicopes.bam~ ~override~ + ~iwdification/wav/cdiarp25.wav~ ~override~ - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid315.itm~ - SAY 0x0c @4015 - SAY 0x54 @4016 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_CAUSE_DISEASE_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT2 + BIT12 + BIT21 + BIT30)) // non-good cleric only - add good, fighter/druid, ranger, and druid flags - WRITE_SHORT 0x80 1 // range + ACTION_IF ee_game BEGIN + + APPEND ~clearair.2da~ ~Cloud_of_Pest %cdi309%~ + + END ELSE BEGIN + + APPEND ~clearair.2da~ ~Cloud_of_Pest %cdi309a%~ - COPY ~iwdification/bam/cddiseah.bam~ ~override~ - ~iwdification/bam/cdid315a.bam~ ~override~ - ~iwdification/bam/cdid315b.bam~ ~override~ - ~iwdification/bam/cdid315c.bam~ ~override~ - ~iwdification/vvc/cddiseah.vvc~ ~override~ + LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 9 cloud_dur = 24 zosa = 1 STR_VAR code = cdid423 anim = cdicopes END + + COPY ~iwdification/spl/cdid423.spl~ ~override~ + WRITE_LONG 0x08 "-1" // name + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi309a END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 2 duration = 6 STR_VAR resource = cdid423 END + LPF DELETE_EFFECT INT_VAR match_opcode = 318 END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 39 END // class = paladin, but bg2 paladins don't have disease immunity + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37800 parameter1 = string_blinded END + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 9 opcode = 177 parameter1 = 145 parameter2 = 4 STR_VAR resource = cdixd423 END // race = elemental + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 27 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixd423 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 1 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd423 END // general = undead + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd423.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 + + END END ///// \\\\\ -///// Exaltation \\\\\ +///// CLERIC_UNFAILING_ENDURANCE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/exaltation.spl~ 1 3 CLERIC_EXALTATION - SAY 0x08 @4017 - SAY 0x50 @4018 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_EXALTATION~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_UNFAILING_ENDURANCE~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_EXALTATION_RES "%temp%" + ADD_SPELL ~iwdification/spl/cdid424.spl~ 1 4 CLERIC_UNFAILING_ENDURANCE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4250 // name + SAY 0x50 @4251 // descript - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid316.itm~ - SAY 0x0c @4017 - SAY 0x54 @4018 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_EXALTATION_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdexalth.bam~ ~override~ - ~iwdification/bam/cdid316a.bam~ ~override~ - ~iwdification/bam/cdid316b.bam~ ~override~ - ~iwdification/bam/cdid316c.bam~ ~override~ - ~iwdification/vvc/cdexalth.vvc~ ~override~ - ~iwdification/wav/cdffp106.wav~ ~override~ + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid424.itm~ + SAY 0x0c @4250 + SAY 0x54 @4251 + LPF cd_scroll INT_VAR unusable0 = (BIT12 + BIT21 + BIT30) range = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // cleric + + COPY ~iwdification/bam/cdid424a.bam~ ~override~ + ~iwdification/bam/cdid424b.bam~ ~override~ + ~iwdification/bam/cdid424c.bam~ ~override~ + ~iwdification/bam/cdinecro.bam~ ~override~ + ~iwdification/vvc/cdinecro.vvc~ ~override~ + ~iwdification/wav/cdiep112.wav~ ~override~ END ///// \\\\\ -///// Moonblade \\\\\ +///// CLERIC_STAR_METAL_CUDGEL \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/moonblade.spl~ 1 3 CLERIC_MOONBLADE - SAY 0x08 @4019 - SAY 0x50 @4020 - SPRINT temp "%DEST_RES%" +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_STAR_METAL_CUDGEL~) OR override_divine) BEGIN -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_MOONBLADE~)) > 0) THEN BEGIN + ADD_SPELL ~iwdification/spl/cdid425.spl~ 1 4 CLERIC_STAR_METAL_CUDGEL + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4260 // name + SAY 0x50 @4261 // descript - OUTER_SPRINT CLERIC_MOONBLADE_RES "%temp%" + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid425.itm~ + SAY 0x0c @4260 + SAY 0x54 @4261 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 5 range = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid318.itm~ - SAY 0x0c @4019 - SAY 0x54 @4020 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_MOONBLADE_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid318a.bam~ ~override~ - ~iwdification/bam/cdid318b.bam~ ~override~ - ~iwdification/bam/cdid318c.bam~ ~override~ - ~iwdification/bam/cdid318i.bam~ ~override~ - ~iwdification/eff/cdid318.eff~ ~override~ - - COPY ~iwdification/itm/cdid318w.itm~ ~override~ - SAY 0x08 @4019 - SAY 0x0c @4019 - SAY 0x50 @4020 - SAY 0x54 @4020 + COPY ~iwdification/itm/cdismcud.itm~ ~override~ + SAY 0x08 @4260 + SAY 0x0c @4260 + + COPY ~iwdification/bam/cdid425a.bam~ ~override~ + ~iwdification/bam/cdid425b.bam~ ~override~ + ~iwdification/bam/cdid425c.bam~ ~override~ + ~iwdification/bam/cdiconju.bam~ ~override~ + ~iwdification/bam/cdismcud.bam~ ~override~ + ~iwdification/eff/cdismcud.eff~ ~override~ + ~iwdification/vvc/cdiconju.vvc~ ~override~ + ~iwdification/wav/cdiep02.wav~ ~override~ END ///// \\\\\ -///// Circle of Bones \\\\\ +///// CLERIC_SMASHING_WAVE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/circle_of_bones.spl~ 1 3 CLERIC_CIRCLE_OF_BONES - SAY 0x08 @4021 - SAY 0x50 @4022 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CIRCLE_OF_BONES~)) > 0) THEN BEGIN - - OUTER_SPRINT CLERIC_CIRCLE_OF_BONES_RES "%temp%" - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid319.itm~ - SAY 0x0c @4021 - SAY 0x54 @4022 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_CIRCLE_OF_BONES_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT2 + BIT12 + BIT21 + BIT30)) // non-good cleric only - add good, fighter/druid, ranger, and druid flags - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdbonh1.bam~ ~override~ - ~iwdification/bam/cdbonh2.bam~ ~override~ - ~iwdification/bam/cdid319a.bam~ ~override~ - ~iwdification/bam/cdid319b.bam~ ~override~ - ~iwdification/bam/cdid319c.bam~ ~override~ - ~iwdification/vvc/cdbonh1.vvc~ ~override~ - ~iwdification/vvc/cdbonh2.vvc~ ~override~ - ~iwdification/wav/cdaftp22.wav~ ~override~ - ~iwdification/wav/cdarep21.wav~ ~override~ - - COPY ~iwdification/spl/cdid319.spl~ ~override~ - SAY 0x08 @4021 - SAY 0x50 @4022 +ACTION_IF (ee_game AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_SMASHING_WAVE~) OR override_divine)) BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdiswave.pro~ + + ADD_SPELL ~iwdification/spl/cdid426.spl~ 1 4 CLERIC_SMASHING_WAVE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4270 // name + SAY 0x50 @4271 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdiswave END + LPF ALTER_EFFECT STR_VAR match_resource = cdid426 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 35568 parameter1 = string_stunned END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37340 parameter1 = string_uncon END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 20438 parameter1 = string_uncon END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid426.itm~ + SAY 0x0c @4270 + SAY 0x54 @4271 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid426a.bam~ ~override~ + ~iwdification/bam/cdid426b.bam~ ~override~ + ~iwdification/bam/cdid426c.bam~ ~override~ + ~iwdification/bam/cdiswavh.bam~ ~override~ + ~iwdification/bam/cdiswavx.bam~ ~override~ + ~iwdification/vvc/cdiswavh.vvc~ ~override~ + ~iwdification/wav/cdiep110.wav~ ~override~ + ~iwdification/wav/cditra56.wav~ ~override~ END ///// \\\\\ -///// Spike Growth \\\\\ +///// CLERIC_THORN_SPRAY \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/spike_growth.spl~ 1 3 CLERIC_SPIKE_GROWTH - SAY 0x08 @4023 - SAY 0x50 @4024 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SPIKE_GROWTH~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_THORN_SPRAY~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_SPIKE_GROWTH_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdi303.pro~ - ADD_PROJECTILE ~iwdification/pro/cdid320.pro~ - - COPY_EXISTING ~%CLERIC_SPIKE_GROWTH_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid320 END - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid320.itm~ - SAY 0x0c @4023 - SAY 0x54 @4024 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_SPIKE_GROWTH_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid320a.bam~ ~override~ - ~iwdification/bam/cdid320b.bam~ ~override~ - ~iwdification/bam/cdid320c.bam~ ~override~ - ~iwdification/bam/cdid320x.bam~ ~override~ - ~iwdification/bam/cdid320z.bam~ ~override~ - ~iwdification/vvc/cdid320x.vvc~ ~override~ - ~iwdification/vvc/cdid320z.vvc~ ~override~ // #sgroa - ~iwdification/wav/cdaftp24.wav~ ~override~ - - COPY ~iwdification/spl/cdid320.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid320 END + ADD_SPELL ~iwdification/spl/cdid427.spl~ 1 4 CLERIC_THORN_SPRAY + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4280 // name + SAY 0x50 @4281 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi303 END + PATCH_IF !ee_game BEGIN + LPF CD_SPLIT_SAVE_DAMAGE END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid427.itm~ + SAY 0x0c @4280 + SAY 0x54 @4281 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 30 opcode = 148 target_eff = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid427a.bam~ ~override~ + ~iwdification/bam/cdid427b.bam~ ~override~ + ~iwdification/bam/cdid427c.bam~ ~override~ + ~iwdification/bam/cditspra.bam~ ~override~ + ~iwdification/wav/cditra61.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY_EXISTING ~cdi303.pro~ ~override~ + WRITE_BYTE 0x217 11 // re-use cone of cold + WRITE_BYTE 0x218 0 - LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 5 cloud_dur = 60 STR_VAR code = cdid320 END + END END ///// \\\\\ -///// Cloudburst \\\\\ +///// CLERIC_WALL_OF_MOONLIGHT \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/cloudburst.spl~ 1 3 CLERIC_CLOUDBURST - SAY 0x08 @4025 - SAY 0x50 @4026 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CLOUDBURST~)) > 0) THEN BEGIN +ACTION_IF (ee_game AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_WALL_OF_MOONLIGHT~) OR override_divine)) BEGIN - OUTER_SPRINT CLERIC_CLOUDBURST_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdiwallm.pro~ - ADD_PROJECTILE ~iwdification/pro/cdid321.pro~ - - COPY_EXISTING ~%CLERIC_CLOUDBURST_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid321 END - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid321.itm~ - SAY 0x0c @4025 - SAY 0x54 @4026 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_CLOUDBURST_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdcloubh.bam~ ~override~ - ~iwdification/bam/cdid321a.bam~ ~override~ - ~iwdification/bam/cdid321b.bam~ ~override~ - ~iwdification/bam/cdid321c.bam~ ~override~ - ~iwdification/eff/cdid321c.eff~ ~override~ - ~iwdification/vvc/cdcloubh.vvc~ ~override~ - ~iwdification/vvc/cdid321x.vvc~ ~override~ - ~iwdification/wav/cdarep24.wav~ ~override~ - - COPY ~iwdification/spl/cdid321.spl~ ~override~ // protect from shroud of flame - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid321 END - - LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 1 cloud_dur = 12 zosa = 1 STR_VAR code = cdid321 END + ADD_SPELL ~iwdification/spl/cdid428.spl~ 1 4 CLERIC_WALL_OF_MOONLIGHT + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4290 // name + SAY 0x50 @4291 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdiwallm END + LPF ALTER_EFFECT STR_VAR match_resource = cdid428 resource = EVAL ~%DEST_RES%~ END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid428.itm~ + SAY 0x0c @4290 + SAY 0x54 @4291 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 400 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/bam/cdid428a.bam~ ~override~ + ~iwdification/bam/cdid428b.bam~ ~override~ + ~iwdification/bam/cdid428c.bam~ ~override~ + ~iwdification/bam/cdimoonx.bam~ ~override~ + ~iwdification/spl/cdid428a.spl~ ~override~ + ~iwdification/spl/cdid428b.spl~ ~override~ + ~iwdification/vvc/cdimoonx.vvc~ ~override~ + ~iwdification/wav/cdiafp21.wav~ ~override~ + ~iwdification/wav/cdiarp22.wav~ ~override~ END ///// \\\\\ -///// storm shell \\\\\ +///// CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/storm_shell.spl~ 1 3 CLERIC_STORM_SHELL - SAY 0x08 @4027 - SAY 0x50 @4028 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_STORM_SHELL~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL~) OR override_divine) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4300) STR_VAR bam_file = cdid316d RET icon END - OUTER_SPRINT CLERIC_STORM_SHELL_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdi266.pro~ - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid323.itm~ - SAY 0x0c @4027 - SAY 0x54 @4028 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_STORM_SHELL_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range + ADD_SPELL ~iwdification/spl/cdid518.spl~ 1 5 CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4300 // name + SAY 0x50 @4301 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi266 END + PATCH_IF !ee_game BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 318 END + LPF DELETE_EFFECT INT_VAR match_opcode = 146 STR_VAR match_resource = cdirwf00 END + PATCH_FOR_EACH align IN 17 18 19 33 34 35 49 50 51 BEGIN + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 power = 5 parameter1 = align parameter2 = 8 timing = 1 resist_dispel = 3 STR_VAR resource = EVAL ~cdirwf%align%~ END + END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid518.itm~ + SAY 0x0c @4300 + SAY 0x54 @4301 + LPF cd_scroll INT_VAR unusable0 = (BIT12 + BIT21 + BIT30) target_hdr = 5 range = 40 price = 500 STR_VAR spell = EVAL ~%current_spell_res%~ END // cleric + + COPY ~iwdification/spl/cdirwf00.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 17392 parameter1 = string_dcharmed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35542 parameter1 = string_paralyzed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35544 parameter1 = string_dominated END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35606 parameter1 = string_held END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 36035 parameter1 = string_hasted END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37801 parameter1 = string_charmed END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 184 parameter2 = icon END + END ELSE BEGIN // in non-ee, characters will get 00 AND 99 if matching alignment, so need to strip out anything already covered in 99 + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 184 END + PATCH_FOR_EACH op IN 321 8 174 215 18 93 BEGIN // cosmetics, sound, fatigue, hp bonus + LPF DELETE_EFFECT INT_VAR match_opcode = op END + END + PATCH_FOR_EACH op IN 54 33 34 35 36 37 BEGIN // already get +1 from 99, so only bump another +1 here + LPF ALTER_EFFECT INT_VAR match_opcode = op parameter1 = 1 END + END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = cdirwf00 END + END + + COPY ~iwdification/spl/cdirwf99.spl~ ~override~ + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 184 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 184 END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = cdirwf99 END + LPF CD_CONVERT_9_255 END + END + + COPY ~iwdification/bam/cdid518a.bam~ ~override~ + ~iwdification/bam/cdid518b.bam~ ~override~ + ~iwdification/bam/cdid518c.bam~ ~override~ + ~iwdification/bam/cdid316d.bam~ ~override~ + ~iwdification/bam/cdiabjux.bam~ ~override~ + ~iwdification/bam/cdirwtfh.bam~ ~override~ + ~iwdification/vvc/cdigabju.vvc~ ~override~ + ~iwdification/vvc/cdirwtfg.vvc~ ~override~ + ~iwdification/vvc/cdirwtfh.vvc~ ~override~ + ~iwdification/wav/cdiarm20.wav~ ~override~ + ~iwdification/wav/cdiee01.wav~ ~override~ + ~iwdification/wav/cdiep36.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/cdirwf17.eff~ ~override/cdirwf00.eff~ + WRITE_ASCIIE 0x30 ~cdirwf00~ + + ACTION_FOR_EACH align IN 17 18 19 33 34 35 49 50 51 BEGIN + + COPY ~iwdification/eff/cdirwf17.eff~ ~override/cdirwf%align%.eff~ + WRITE_ASCIIE 0x30 ~cdirwf%align%~ + + COPY ~iwdification/spl/cdirwf17.spl~ ~override/cdirwf%align%.spl~ + WRITE_LONG 0x9e align + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi266 END + + END - COPY ~iwdification/bam/cdid323a.bam~ ~override~ - ~iwdification/bam/cdid323b.bam~ ~override~ - ~iwdification/bam/cdid323c.bam~ ~override~ - ~iwdification/bam/cdid323v.bam~ ~override~ - ~iwdification/vvc/cdid323v.vvc~ ~override~ + END END ///// \\\\\ -///// Giant Insect \\\\\ +///// CLERIC_SPIKE_STONES \\\\\ ///// \\\\\ -ACTION_IF ((MOD_IS_INSTALLED ~INFINITYANIMATIONS/SETUP-INFINITYANIMATIONS.TP2~ ~500~) AND - (IDS_OF_SYMBOL (~animate~ ~BEETLE_BLACK~) > 0) AND - (FILE_EXISTS_IN_GAME ~mbeta1.bam~)) THEN BEGIN - - ADD_SPELL ~iwdification/spl/giant_insect.spl~ 1 4 CLERIC_GIANT_INSECT - SAY 0x08 @4029 - SAY 0x50 @4030 - SPRINT temp "%DEST_RES%" +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_SPIKE_STONES~) OR override_divine) BEGIN - ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_GIANT_INSECT~)) > 0) THEN BEGIN - - OUTER_SPRINT CLERIC_GIANT_INSECT_RES "%temp%" + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi213.pro~ - ADD_PROJECTILE ~iwdification/pro/cdgibomb.pro~ + END ELSE BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdi213a.pro~ + + END + + ADD_SPELL ~iwdification/spl/cdid519.spl~ 1 5 CLERIC_SPIKE_STONES + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4310 // name + SAY 0x50 @4311 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi213 END + LPF DELETE_EFFECT STR_VAR match_resource = ~#sston~ END + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi213a END + LPF DELETE_EFFECT END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 timing = 1 parameter2 = 2 STR_VAR resource = cdid519 END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid519.itm~ + SAY 0x0c @4310 + SAY 0x54 @4311 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 40 opcode = 148 target_eff = 1 price = 1500 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid only + + COPY ~iwdification/bam/cdid519a.bam~ ~override~ + ~iwdification/bam/cdid519b.bam~ ~override~ + ~iwdification/bam/cdid519c.bam~ ~override~ + ~iwdification/bam/cdistone.bam~ ~override~ + ~iwdification/vvc/cdistone.vvc~ ~override~ + ~iwdification/wav/cdiarp04.wav~ ~override~ + ~iwdification/wav/cdicp03.wav~ ~override~ + ~iwdification/wav/cdiep48.wav~ ~override~ + + ACTION_IF ee_game BEGIN + + COPY ~iwdification/vvc/cdistone.vvc~ ~override~ - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid410.itm~ - SAY 0x0c @4029 - SAY 0x54 @4030 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_GIANT_INSECT_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/2da/cdid410.2da~ ~override~ - ~iwdification/bam/cdanisum.bam~ ~override~ - ~iwdification/bam/cdid410a.bam~ ~override~ - ~iwdification/bam/cdid410b.bam~ ~override~ - ~iwdification/bam/cdid410c.bam~ ~override~ - ~iwdification/eff/cdid410.eff~ ~override~ - ~iwdification/itm/cdgibomb.itm~ ~override~ - ~iwdification/itm/s5-20.itm~ ~override~ - ~iwdification/vvc/cdanisum.vvc~ ~override~ - ~iwdification/wav/cdeffm47.wav~ ~override~ - - COPY ~iwdification/cre/cdgibomb.cre~ ~override~ - SAY 0x08 @4076 - SAY 0x0c @4076 - WRITE_LONG 0x28 IDS_OF_SYMBOL (~animate~ ~BEETLE_BLACK~) - - COPY ~iwdification/cre/cdgiborb.cre~ ~override~ - SAY 0x08 @4077 - SAY 0x0c @4077 - WRITE_LONG 0x28 IDS_OF_SYMBOL (~animate~ ~BEETLE_BLACK~) + END ELSE BEGIN - COPY ~iwdification/spl/cdgibomb.spl~ ~override~ // add in 206 vs. iwd bard songs - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdgibomb END + LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 5 cloud_dur = 72 STR_VAR code = cdid519 anim = cdistone END + + COPY ~iwdification/spl/cdid519.spl~ ~override~ + WRITE_LONG 0x08 "-1" // name + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi213a END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 2 duration = 6 STR_VAR resource = cdid519 END + + END + +END + +///// \\\\\ +///// CLERIC_SHIELD_OF_LATHANDER \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_SHIELD_OF_LATHANDER~) OR override_divine) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4320) STR_VAR bam_file = cdid520d RET icon END + + ADD_SPELL ~iwdification/spl/cdid520.spl~ 1 5 CLERIC_SHIELD_OF_LATHANDER + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4320 // name + SAY 0x50 @4321 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 324 STR_VAR resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 164 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 164 END + LPF ALTER_EFFECT INT_VAR match_opcode = 324 opcode = 177 parameter1 = 3 parameter2 = 8 STR_VAR resource = cdixd520 END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid520.itm~ + SAY 0x0c @4320 + SAY 0x54 @4321 + LPF cd_scroll INT_VAR unusable0 = (BIT1 + BIT12 + BIT21 + BIT30) range = 1 price = 500 STR_VAR spell = EVAL ~%current_spell_res%~ END // non-evil cleric + + COPY ~iwdification/bam/cdid520a.bam~ ~override~ + ~iwdification/bam/cdid520b.bam~ ~override~ + ~iwdification/bam/cdid520c.bam~ ~override~ + ~iwdification/bam/cdid520d.bam~ ~override~ + ~iwdification/bam/cdisol1.bam~ ~override~ + ~iwdification/bam/cdisol2.bam~ ~override~ + ~iwdification/vvc/cdilatl1.vvc~ ~override~ + ~iwdification/vvc/cdilatl2.vvc~ ~override~ + ~iwdification/wav/cdiafp20.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd520.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 + + END + +END + +///// \\\\\ +///// CLERIC_UNDEAD_WARD \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_UNDEAD_WARD~) OR override_divine) BEGIN + + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdiuward.pro~ + + END ELSE BEGIN - COMPILE ~iwdification/baf/cdgibomb.baf~ + OUTER_SET cdiuward = 1 END -END + ADD_SPELL ~iwdification/spl/cdid521.spl~ 1 5 CLERIC_UNDEAD_WARD + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4330 // name + SAY 0x50 @4331 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdiuward END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdid521 resource = EVAL ~%DEST_RES%~ END + END ELSE BEGIN + LPF DELETE_EFFECT END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 215 target = 1 power = 5 resist_dispel = 2 duration = 60 STR_VAR resource = cdiuwrdx END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 power = 5 parameter2 = 2 resist_dispel = 2 duration = 60 END + LPF CD_EXTEND-O-MATIC INT_VAR base_dur = 60 step_dur = 0 level_cap = 30 min_lev_alt = 9 END + READ_SHORT 0x68 abil_num + FOR (index = 9 ; index < (abil_num + 9) ; ++index) BEGIN + LPF ALTER_EFFECT INT_VAR header = (index - 9) match_opcode = 177 STR_VAR resource = EVAL ~cdiuwr%index%~ END + END + END -///// \\\\\ -///// Produce Fire \\\\\ -///// \\\\\ + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid521.itm~ + SAY 0x0c @4330 + SAY 0x54 @4331 + LPF cd_scroll INT_VAR unusable0 = (BIT12 + BIT21 + BIT30) target_hdr = 5 range = 1 price = 500 STR_VAR spell = EVAL ~%current_spell_res%~ END // cleric -ADD_SPELL ~iwdification/spl/produce_fire.spl~ 1 4 CLERIC_PRODUCE_FIRE - SAY 0x08 @4031 - SAY 0x50 @4032 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_PRODUCE_FIRE~)) > 0) THEN BEGIN + COPY ~iwdification/bam/cdid521a.bam~ ~override~ + ~iwdification/bam/cdid521b.bam~ ~override~ + ~iwdification/bam/cdid521c.bam~ ~override~ + ~iwdification/bam/cdiuwrdx.bam~ ~override~ + ~iwdification/vvc/cdiuwrdx.vvc~ ~override~ + ~iwdification/wav/cdiafp27.wav~ ~override~ + ~iwdification/wav/cdiarp28.wav~ ~override~ + + ACTION_IF !ee_game BEGIN - OUTER_SPRINT CLERIC_PRODUCE_FIRE_RES "%temp%" + COMPILE ~iwdification/baf/cdid521.baf~ - ADD_PROJECTILE ~iwdification/pro/cdid411.pro~ - - COPY_EXISTING ~%CLERIC_PRODUCE_FIRE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid411 END - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid411.itm~ - SAY 0x0c @4031 - SAY 0x54 @4032 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_PRODUCE_FIRE_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid411a.bam~ ~override~ - ~iwdification/bam/cdid411b.bam~ ~override~ - ~iwdification/bam/cdid411c.bam~ ~override~ - ~iwdification/bam/cdid411v.bam~ ~override~ - ~iwdification/vvc/cdid411v.vvc~ ~override~ - ~iwdification/wav/cdarep03.wav~ ~override~ + OUTER_FOR (index = 9 ; index < 31 ; ++index) BEGIN + + COPY ~iwdification/eff/cdiuwr9.eff~ ~override/cdiuwr%index%.eff~ + WRITE_ASCIIE 0x30 "%DEST_RES%" #8 + + COPY ~iwdification/cre/cdiuwr9.cre~ ~override/cdiuwr%index%.cre~ + WRITE_BYTE 0x234 index + + END + + END END ///// \\\\\ -///// Static Charge \\\\\ +///// CLERIC_ANIMAL_RAGE \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/static_charge.spl~ 1 4 CLERIC_STATIC_CHARGE - SAY 0x08 @4033 - SAY 0x50 @4034 - LPF SPELL_ALTER_EFFECT INT_VAR opcode = 146 duration = 60 STR_VAR resource = EVALUATE_BUFFER "%DEST_RES%" END - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_STATIC_CHARGE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_ANIMAL_RAGE~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_STATIC_CHARGE_RES "%temp%" + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4340) STR_VAR bam_file = cdid522d RET icon END - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid412.itm~ - SAY 0x0c @4033 - SAY 0x54 @4034 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_STATIC_CHARGE_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - - COPY ~iwdification/bam/cdid412a.bam~ ~override~ - ~iwdification/bam/cdid412b.bam~ ~override~ - ~iwdification/bam/cdid412c.bam~ ~override~ - ~iwdification/bam/cdid412v.bam~ ~override~ - ~iwdification/vvc/cdid412v.vvc~ ~override~ + ADD_SPELL ~iwdification/spl/cdid522.spl~ 1 5 CLERIC_ANIMAL_RAGE + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4340 // name + SAY 0x50 @4341 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdid522 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 173 parameter2 = icon END + LPF ALTER_EFFECT INT_VAR match_opcode = 333 STR_VAR resource = cdid522b END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 173 parameter2 = 83 END + LPF CLONE_EFFECT INT_VAR match_opcode = 33 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = EVAL ~%DEST_RES%~ END + LPF CD_CONVERT_333 STR_VAR 333spell = cdid522b END + LPF CD_CONVERT_9_255 END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid522.itm~ + SAY 0x0c @4340 + SAY 0x54 @4341 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) range = 1 price = 500 STR_VAR spell = EVAL ~%current_spell_res%~ END // druid + + COPY ~iwdification/spl/cdid522b.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37605 parameter1 = string_berserk END + + COPY ~iwdification/bam/cdid522a.bam~ ~override~ + ~iwdification/bam/cdid522b.bam~ ~override~ + ~iwdification/bam/cdid522c.bam~ ~override~ + ~iwdification/bam/cdid522d.bam~ ~override~ END ///// \\\\\ -///// recitation \\\\\ +///// CLERIC_MASS_CAUSE_LIGHT_WOUNDS \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/recitation.spl~ 1 4 CLERIC_RECITATION - SAY 0x08 @4035 - SAY 0x50 @4036 - READ_LONG 0x08 string - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_RECITATION~)) > 0) THEN BEGIN - - OUTER_SPRINT CLERIC_RECITATION_RES "%temp%" +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_MASS_CAUSE_LIGHT_WOUNDS~) OR override_divine) BEGIN - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid414.itm~ - SAY 0x0c @4035 - SAY 0x54 @4036 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_RECITATION_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid414a.bam~ ~override~ - ~iwdification/bam/cdid414b.bam~ ~override~ - ~iwdification/bam/cdid414c.bam~ ~override~ - ~iwdification/bam/cdrecith.bam~ ~override~ - ~iwdification/vvc/cdrecith.vvc~ ~override~ - ~iwdification/wav/cdeffe03.wav~ ~override~ - ~iwdification/wav/cdeffp44.wav~ ~override~ - - COPY ~iwdification/spl/cdid414b.spl~ ~override~ - ~iwdification/spl/cdid414g.spl~ ~override~ - LPF SPELL_ALTER_EFFECT INT_VAR opcode = 139 parameter1 = string END + ADD_SPELL ~iwdification/spl/cdid523.spl~ 1 5 CLERIC_MASS_CAUSE_LIGHT_WOUNDS + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4350 // name + SAY 0x50 @4351 // descript + LPF ALTER_EFFECT STR_VAR match_resource = cdid523 resource = EVAL ~%DEST_RES%~ END + PATCH_IF !ee_game BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixd523 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd523 END // general = undead + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 104 opcode = 177 parameter2 = 4 STR_VAR resource = cdixd523 END // race = parameter1 + LPF CD_SPLIT_SAVE_DAMAGE END + END -END + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid523.itm~ + SAY 0x0c @4350 + SAY 0x54 @4351 + LPF cd_scroll INT_VAR unusable0 = (BIT2 + BIT3) target_hdr = 5 range = 20 price = 500 STR_VAR spell = EVAL ~%current_spell_res%~ END // evil only -///// \\\\\ -///// Blood Rage \\\\\ -///// \\\\\ + COPY ~iwdification/bam/cdid523a.bam~ ~override~ + ~iwdification/bam/cdid523b.bam~ ~override~ + ~iwdification/bam/cdid523c.bam~ ~override~ + ~iwdification/bam/cdicldam.bam~ ~override~ + ~iwdification/vvc/cdicldam.vvc~ ~override~ + ~iwdification/wav/cdiem103.wav~ ~override~ -ADD_SPELL ~iwdification/spl/blood_rage.spl~ 1 4 CLERIC_BLOOD_RAGE - SAY 0x08 @4037 - SAY 0x50 @4038 - LPF SPELL_ALTER_EFFECT INT_VAR opcode = 210 opcode_new = 206 STR_VAR resource = EVALUATE_BUFFER ~%DEST_RES%~ END // adds immunity to self in last effect - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_BLOOD_RAGE~)) > 0) THEN BEGIN + ACTION_IF !ee_game BEGIN - OUTER_SPRINT CLERIC_BLOOD_RAGE_RES "%temp%" + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd523.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid415.itm~ - SAY 0x0c @4037 - SAY 0x54 @4038 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_BLOOD_RAGE_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT4 + BIT12 + BIT21 + BIT30)) // non-lawful cleric only - add lawful, fighter/druid, ranger, and druid flags - - COPY ~iwdification/bam/cdid415a.bam~ ~override~ - ~iwdification/bam/cdid415b.bam~ ~override~ - ~iwdification/bam/cdid415c.bam~ ~override~ - - COPY ~iwdification/lib/immunity.eff~ ~override/cdim1415.eff~ - WRITE_ASCIIE 0x30 ~%CLERIC_BLOOD_RAGE_RES%~ #8 + END END ///// \\\\\ -///// cloud of pestilence \\\\\ +///// CLERIC_ENTROPY_SHIELD \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/cloud_of_pestilence.spl~ 1 4 CLERIC_CLOUD_OF_PESTILENCE - SAY 0x08 @4039 - SAY 0x50 @4040 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CLOUD_OF_PESTILENCE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_ENTROPY_SHIELD~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_CLOUD_OF_PESTILENCE_RES "%temp%" + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4360) STR_VAR bam_file = cdid615d RET icon END - ADD_PROJECTILE ~iwdification/pro/cdid417.pro~ - - COPY_EXISTING ~%CLERIC_CLOUD_OF_PESTILENCE_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid417 END - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid417.itm~ - SAY 0x0c @4039 - SAY 0x54 @4040 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_CLOUD_OF_PESTILENCE_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT2 + BIT3 + BIT12 + BIT21 + BIT30)) // evil cleric only - add good, g/e neutral, fighter/druid, ranger, and druid flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid417a.bam~ ~override~ - ~iwdification/bam/cdid417b.bam~ ~override~ - ~iwdification/bam/cdid417c.bam~ ~override~ - ~iwdification/wav/cdarep25.wav~ ~override~ - - COPY ~iwdification/spl/cdid417.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid417 END - - COPY ~iwdification/lib/immunity.eff~ ~override/cdim1417.eff~ - WRITE_ASCII 0x30 cdid417 #8 - - LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 9 cloud_dur = 24 zosa = 1 STR_VAR code = cdid417 END + ADD_SPELL ~iwdification/spl/cdid615.spl~ 1 6 CLERIC_ENTROPY_SHIELD + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4360 // name + SAY 0x50 @4361 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdid615 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 56 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 56 END + LPF ALTER_EFFECT INT_VAR match_opcode = 318 opcode = 206 END + LPF CLONE_EFFECT INT_VAR match_opcode = 30 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = EVAL ~%DEST_RES%~ END + // iwdee/bgee/bg2ee/vanilla all match in projectiles until the 1pp slots for EE, so remove 1pp refs for vanilla (EEs all match, fortunately) + FOR (index = 282 ; index < 319 ; ++index) BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 83 match_parameter2 = index END + END + PATCH_IF FILE_EXISTS_IN_GAME ~1arow01.pro~ BEGIN // if 1pp is installed, re-add the references manually since they still may not sync with EE + PATCH_FOR_EACH proj IN // 1pp stuff + 1stafm0c 1arow01 1arow02 1arow03 1arow04 1arow05 1arow07 1arow10 1arow11 1arow15 1axe05 1axe08 1axe09 1axe10 1axe16 1bolt01 1bolt02 1bolt03 1bolt04 + 1bolt05 1bolt06 1bolt09 1bull02 1bull03 1bull04 1bull05 1bull06 1dagg05 1dagg11 1dagg12 1dagg16 1dart01 1dart02 1dart03 1dart04 1dart05 1dart08 + BEGIN + SET projids = IDS_OF_SYMBOL (~projectl~ ~%proj%~) + PATCH_IF projids > 0 BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 83 match_parameter2 = 1 parameter2 = projids END + END + END + END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid615.itm~ + SAY 0x0c @4360 + SAY 0x54 @4361 + LPF cd_scroll INT_VAR target_hdr = 5 range = 1 price = 600 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdid615a.bam~ ~override~ + ~iwdification/bam/cdid615b.bam~ ~override~ + ~iwdification/bam/cdid615c.bam~ ~override~ + ~iwdification/bam/cdid615d.bam~ ~override~ + ~iwdification/bam/cdiabjur.bam~ ~override~ + ~iwdification/bam/cdieshld.bam~ ~override~ + ~iwdification/vvc/cdiabjur.vvc~ ~override~ + ~iwdification/vvc/cdientro.vvc~ ~override~ + ~iwdification/wav/cdiafp03.wav~ ~override~ END ///// \\\\\ -///// Unfailing Endurance \\\\\ +///// CLERIC_WHIRLWIND \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/unfailing_endurance.spl~ 1 4 CLERIC_UNFAILING_ENDURANCE - SAY 0x08 @4041 - SAY 0x50 @4042 - SPRINT temp "%DEST_RES%" +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_WHIRLWIND~) OR override_divine) BEGIN + + ACTION_IF ee_game BEGIN + + ADD_PROJECTILE ~iwdification/pro/cdiwhirl.pro~ + + END ELSE BEGIN -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_UNFAILING_ENDURANCE~)) > 0) THEN BEGIN + ADD_PROJECTILE ~iwdification/pro/cdiwhira.pro~ - OUTER_SPRINT CLERIC_UNFAILING_ENDURANCE_RES "%temp%" + END - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid419.itm~ - SAY 0x0c @4041 - SAY 0x54 @4042 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_UNFAILING_ENDURANCE_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid419a.bam~ ~override~ - ~iwdification/bam/cdid419b.bam~ ~override~ - ~iwdification/bam/cdid419c.bam~ ~override~ - ~iwdification/wav/cdffp112.wav~ ~override~ + ADD_SPELL ~iwdification/spl/cdid617.spl~ 1 6 CLERIC_WHIRLWIND + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4370 // name + SAY 0x50 @4371 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdiwhirl END + LPF ALTER_EFFECT STR_VAR match_resource = cdid617 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 35568 parameter1 = string_stunned END + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = 1 END + LPF DELETE_EFFECT END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 2 resist_dispel = 2 duration = 120 STR_VAR resource = cdid617 END + END -END + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid617.itm~ + SAY 0x0c @4370 + SAY 0x54 @4371 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 600 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY ~iwdification/bam/cdid617a.bam~ ~override~ + ~iwdification/bam/cdid617b.bam~ ~override~ + ~iwdification/bam/cdid617c.bam~ ~override~ + ~iwdification/bam/cdiwhirx.bam~ ~override~ + ~iwdification/wav/cdiep105.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/spl/cdid617.spl~ ~override/cdid617b.spl~ + WRITE_LONG 0x08 "-1" + LPF DELETE_EFFECT INT_VAR match_opcode = 318 END + LPF DELETE_EFFECT INT_VAR match_opcode = 324 END + LPF ALTER_EFFECT STR_VAR match_resource = cdid617 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 35568 parameter1 = string_stunned END + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdiwhira END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 265 target = 1 parameter1 = 1 timing = 1 insert_point = 0 STR_VAR resource = cdizosa END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 273 target = 1 timing = 1 resist_dispel = 3 insert_point = 0 STR_VAR resource = cdizosa END + PATCH_FOR_EACH race IN 146 118 119 142 101 102 145 144 127 199 BEGIN // dragon, syverns, slimes, giants, ankheg, basilisk, elemental, golem, otyugh, ettin + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 2 parameter1 = race parameter2 = 4 duration = 1 insert_point = 0 STR_VAR resource = cdixd617 END + END -///// \\\\\ -///// Star Metal Cudgel \\\\\ -///// \\\\\ + COMPILE ~iwdification/baf/cdid617.baf~ -ADD_SPELL ~iwdification/spl/star_metal_cudgel.spl~ 1 4 CLERIC_STAR_METAL_CUDGEL - SAY 0x08 @4043 - SAY 0x50 @4044 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_STAR_METAL_CUDGEL~)) > 0) THEN BEGIN + COPY ~iwdification/cre/cdid617.cre~ ~override~ + ~iwdification/eff/cdid617.eff~ ~override~ + ~iwdification/eff/cdid617b.eff~ ~override~ + ~iwdification/vvc/cdiwhirx.vvc~ ~override~ - OUTER_SPRINT CLERIC_STAR_METAL_CUDGEL_RES "%temp%" + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd617.eff~ + WRITE_ASCII 0x30 ~cdid617b~ #8 - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid420.itm~ - SAY 0x0c @4043 - SAY 0x54 @4044 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_STAR_METAL_CUDGEL_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid420a.bam~ ~override~ - ~iwdification/bam/cdid420b.bam~ ~override~ - ~iwdification/bam/cdid420c.bam~ ~override~ - ~iwdification/bam/cdid420i.bam~ ~override~ - ~iwdification/eff/cdid420.eff~ ~override~ - - COPY ~iwdification/itm/cdid420w.itm~ ~override~ - SAY 0x08 @4043 - SAY 0x0c @4043 - SAY 0x50 @4044 - SAY 0x54 @4044 + END END ///// \\\\\ -///// Thorn Spray \\\\\ +///// CLERIC_SPIRITUAL_WRATH \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/thorn_spray.spl~ 1 4 CLERIC_THORN_SPRAY - SAY 0x08 @4045 - SAY 0x50 @4046 - SPRINT temp "%DEST_RES%" +ACTION_IF (ee_game AND (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_SPIRITUAL_WRATH~) OR override_divine)) BEGIN -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_THORN_SPRAY~)) > 0) THEN BEGIN + ADD_PROJECTILE ~iwdification/pro/cdi207.pro~ + ADD_PROJECTILE ~iwdification/pro/cdi312.pro~ - OUTER_SPRINT CLERIC_THORN_SPRAY_RES "%temp%" + ADD_SPELL ~iwdification/spl/cdid618.spl~ 1 6 CLERIC_SPIRITUAL_WRATH + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4380 // name + SAY 0x50 @4381 // descript + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi312 END + LPF ALTER_EFFECT STR_VAR match_resource = cdid618 resource = EVAL ~%DEST_RES%~ END - ADD_PROJECTILE ~iwdification/pro/cdid422.pro~ - - COPY_EXISTING ~%CLERIC_THORN_SPRAY_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid422 END - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid422.itm~ - SAY 0x0c @4045 - SAY 0x54 @4046 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_THORN_SPRAY_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid422a.bam~ ~override~ - ~iwdification/bam/cdid422b.bam~ ~override~ - ~iwdification/bam/cdid422c.bam~ ~override~ - ~iwdification/wav/cdtra_61.wav~ ~override~ + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid618.itm~ + SAY 0x0c @4380 + SAY 0x54 @4381 + LPF cd_scroll INT_VAR unusable0 = (BIT12 + BIT21 + BIT30) target_hdr = 5 range = 100 price = 600 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COPY_EXISTING ~cdi312.pro~ ~override~ + WRITE_SHORT 0x21a cdi207 + + COPY ~iwdification/bam/cdid618a.bam~ ~override~ + ~iwdification/bam/cdid618b.bam~ ~override~ + ~iwdification/bam/cdid618c.bam~ ~override~ + ~iwdification/bam/cdiliten.bam~ ~override~ + ~iwdification/vvc/cdiinvoc.vvc~ ~override~ + ~iwdification/wav/cdiep05.wav~ ~override~ END ///// \\\\\ -///// Righteous Wrath of the Faithful \\\\\ +///// CLERIC_SYMBOL_OF_PAIN \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/righteous_wrath_of_the_faithful.spl~ 1 5 CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL - SAY 0x08 @4047 - SAY 0x50 @4048 - LPF SPELL_ALTER_EFFECT INT_VAR opcode = 215 timing = 0 duration = 3 END - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL~)) > 0) THEN BEGIN - - OUTER_SPRINT CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL_RES "%temp%" - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid511.itm~ - SAY 0x0c @4047 - SAY 0x54 @4048 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid511a.bam~ ~override~ - ~iwdification/bam/cdid511b.bam~ ~override~ - ~iwdification/bam/cdid511c.bam~ ~override~ - ~iwdification/bam/cdrwofah.bam~ ~override~ - ~iwdification/eff/cdid5110.eff~ ~override~ - ~iwdification/vvc/cdrwofah.vvc~ ~override~ - - COPY ~iwdification/spl/cdid5110.spl~ ~override~ - SAY 0x08 @4047 - SAY 0x50 @4048 - - COPY ~iwdification/eff/cdid5111.eff~ ~override/cdid5111.eff~ - ~iwdification/eff/cdid5111.eff~ ~override/cdid5112.eff~ - ~iwdification/eff/cdid5111.eff~ ~override/cdid5113.eff~ - ~iwdification/eff/cdid5111.eff~ ~override/cdid5114.eff~ - ~iwdification/eff/cdid5111.eff~ ~override/cdid5115.eff~ - ~iwdification/eff/cdid5111.eff~ ~override/cdid5116.eff~ - ~iwdification/eff/cdid5111.eff~ ~override/cdid5117.eff~ - ~iwdification/eff/cdid5111.eff~ ~override/cdid5118.eff~ - ~iwdification/eff/cdid5111.eff~ ~override/cdid5119.eff~ - WRITE_ASCIIE 0x30 "%DEST_RES%" #8 - - COPY ~iwdification/spl/cdid5111.spl~ ~override/cdid5111.spl~ - WRITE_LONG 0x9e 17 - - COPY ~iwdification/spl/cdid5111.spl~ ~override/cdid5112.spl~ - WRITE_LONG 0x9e 33 - - COPY ~iwdification/spl/cdid5111.spl~ ~override/cdid5113.spl~ - WRITE_LONG 0x9e 49 - - COPY ~iwdification/spl/cdid5111.spl~ ~override/cdid5114.spl~ - WRITE_LONG 0x9e 18 - - COPY ~iwdification/spl/cdid5111.spl~ ~override/cdid5115.spl~ - WRITE_LONG 0x9e 34 - - COPY ~iwdification/spl/cdid5111.spl~ ~override/cdid5116.spl~ - WRITE_LONG 0x9e 50 - - COPY ~iwdification/spl/cdid5111.spl~ ~override/cdid5117.spl~ - WRITE_LONG 0x9e 19 - - COPY ~iwdification/spl/cdid5111.spl~ ~override/cdid5118.spl~ - WRITE_LONG 0x9e 35 - - COPY ~iwdification/spl/cdid5111.spl~ ~override/cdid5119.spl~ - WRITE_LONG 0x9e 51 +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_SYMBOL_OF_PAIN~) OR override_divine) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4393) STR_VAR bam_file = cdid714d RET icon END + + ADD_SPELL ~iwdification/spl/cdid714.spl~ 1 7 CLERIC_SYMBOL_OF_PAIN + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4390 // name + SAY 0x50 @4391 // descript + SAY 0x21e @4392 + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdid714 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 169 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 142 END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF DELETE_EFFECT INT_VAR match_opcode = 328 END + LPF CLONE_EFFECT INT_VAR match_opcode = 54 opcode = 206 parameter1 = 0 parameter2 = 0 STR_VAR insert = last resource = EVAL ~%DEST_RES%~ END + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid714.itm~ + SAY 0x0c @4390 + SAY 0x54 @4391 + LPF cd_scroll INT_VAR unusable0 = (BIT12 + BIT21 + BIT30) target_hdr = 4 range = 35 opcode = 148 target_eff = 1 price = 700 STR_VAR spell = EVAL ~%current_spell_res%~ END // unusable by druid + + COPY ~iwdification/bam/cdid714a.bam~ ~override~ + ~iwdification/bam/cdid714b.bam~ ~override~ + ~iwdification/bam/cdid714c.bam~ ~override~ + ~iwdification/bam/cdid714d.bam~ ~override~ + ~iwdification/wav/cdiee04.wav~ ~override~ + ~iwdification/wav/cdiep02.wav~ ~override~ END ///// \\\\\ -///// Spike Stones \\\\\ +///// CLERIC_SYMBOL_OF_HOPELESSNESS \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/spike_stones.spl~ 1 5 CLERIC_SPIKE_STONES - SAY 0x08 @4049 - SAY 0x50 @4050 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SPIKE_STONES~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_SYMBOL_OF_HOPELESSNESS~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_SPIKE_STONES_RES "%temp%" + ADD_PROJECTILE ~iwdification/pro/cdi277.pro~ - ADD_PROJECTILE ~iwdification/pro/cdid512.pro~ - - COPY_EXISTING ~%CLERIC_SPIKE_STONES_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid512 END - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid512.itm~ - SAY 0x0c @4049 - SAY 0x54 @4050 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_SPIKE_STONES_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid512a.bam~ ~override~ - ~iwdification/bam/cdid512b.bam~ ~override~ - ~iwdification/bam/cdid512c.bam~ ~override~ - ~iwdification/bam/cdid512v.bam~ ~override~ // sstonea - ~iwdification/vvc/cdid512v.vvc~ ~override~ // #sston - // ~iwdification/vvc/cdaftp24.wav~ ~override~ already added by spike growth - ~iwdification/wav/cdcrep03.wav~ ~override~ - ~iwdification/wav/cdffp111.wav~ ~override~ - - COPY ~iwdification/spl/cdid512.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid512 END - - LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 5 cloud_dur = 72 STR_VAR code = cdid512 END + ADD_SPELL ~iwdification/spl/cdid716.spl~ 1 7 CLERIC_SYMBOL_OF_HOPELESSNESS + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4400 // name + SAY 0x50 @4401 // descript + SAY 0x1be @3003 + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi277 END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 1280 parameter1 = string_stunned END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid716.itm~ + SAY 0x0c @4400 + SAY 0x54 @4401 + LPF cd_scroll INT_VAR unusable0 = (BIT12 + BIT21 + BIT30) target_hdr = 4 opcode = 148 target_eff = 1 price = 700 STR_VAR spell = EVAL ~%current_spell_res%~ END // cleric + + COPY ~iwdification/bam/cdid716a.bam~ ~override~ + ~iwdification/bam/cdid716b.bam~ ~override~ + ~iwdification/bam/cdid716c.bam~ ~override~ + ~iwdification/bam/cdiparal.bam~ ~override~ + ~iwdification/bam/cdishglp.bam~ ~override~ + ~iwdification/bam/cdisohx.bam~ ~override~ + ~iwdification/vvc/cdiparal.vvc~ ~override~ + ~iwdification/vvc/cdishglp.vvc~ ~override~ + ~iwdification/vvc/cdisohx.vvc~ ~override~ + ~iwdification/wav/cdiee04.wav~ ~override~ + ~iwdification/wav/cdiep02.wav~ ~override~ END ///// \\\\\ -///// Shield of Lathander \\\\\ -///// \\\\\ - -ADD_SPELL ~iwdification/spl/shield_of_lathander.spl~ 1 5 CLERIC_SHIELD_OF_LATHANDER - SAY 0x08 @4051 - SAY 0x50 @4052 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SHIELD_OF_LATHANDER~)) > 0) THEN BEGIN +///// CLERIC_IMPERVIOUS_SANCTITY_OF_MIND \\\\\ +///// \\\\\ + +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_IMPERVIOUS_SANCTITY_OF_MIND~) OR override_divine) BEGIN + + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4410) STR_VAR bam_file = cdid733d RET icon END + + ADD_SPELL ~iwdification/spl/cdid733.spl~ 1 7 CLERIC_IMPERVIOUS_SANCTITY_OF_MIND + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4410 // name + SAY 0x50 @4411 // descript + LPF ALTER_EFFECT INT_VAR match_opcode = 206 match_parameter1 = 4742 parameter1 = 0 END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37613 parameter1 = string_sleep END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37340 parameter1 = string_uncon END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37605 parameter1 = string_berserk END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35544 parameter1 = string_dominated END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 17392 parameter1 = string_dcharmed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37801 parameter1 = string_charmed END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 20568 parameter1 = string_mf_panic END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35484 parameter1 = string_panic END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37606 parameter1 = string_intoxicated END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37604 parameter1 = string_confused END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 37603 parameter1 = string_rthinking END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 14102 parameter1 = string_held END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35606 parameter1 = string_held END + LPF ALTER_EFFECT INT_VAR match_opcode = 267 match_parameter1 = 35542 parameter1 = string_paralyzed END + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 170 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 170 END + LPF DELETE_EFFECT INT_VAR match_opcode = 321 END + LPF ALTER_EFFECT INT_VAR match_opcode = 318 opcode = 206 parameter1 = 0 parameter2 = 0 END + END - OUTER_SPRINT CLERIC_SHIELD_OF_LATHANDER_RES "%temp%" + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid733.itm~ + SAY 0x0c @4410 + SAY 0x54 @4411 + LPF cd_scroll INT_VAR target_hdr = 5 price = 700 STR_VAR spell = EVAL ~%current_spell_res%~ END - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid514.itm~ - SAY 0x0c @4051 - SAY 0x54 @4052 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_SHIELD_OF_LATHANDER_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT1 + BIT12 + BIT21 + BIT30)) // non-evil cleric only - add evil, fighter/druid, ranger, and druid flags - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid514a.bam~ ~override~ - ~iwdification/bam/cdid514b.bam~ ~override~ - ~iwdification/bam/cdid514c.bam~ ~override~ - ~iwdification/bam/cdid514y.bam~ ~override~ - ~iwdification/bam/cdid514z.bam~ ~override~ - ~iwdification/vvc/cdid514y.vvc~ ~override~ - ~iwdification/vvc/cdid514z.vvc~ ~override~ - - COPY ~iwdification/lib/immunity.eff~ ~override/cdim1514.eff~ - WRITE_ASCIIE 0x30 ~%CLERIC_SHIELD_OF_LATHANDER_RES%~ #8 + COPY ~iwdification/bam/cdid733a.bam~ ~override~ + ~iwdification/bam/cdid733b.bam~ ~override~ + ~iwdification/bam/cdid733c.bam~ ~override~ + ~iwdification/bam/cdid733d.bam~ ~override~ + ~iwdification/bam/cdiabjur.bam~ ~override~ + ~iwdification/vvc/cdiabjur.vvc~ ~override~ + ~iwdification/wav/cdiee03.wav~ ~override~ + ~iwdification/wav/cdiep01.wav~ ~override~ END ///// \\\\\ -///// Undead Ward \\\\\ +///// CLERIC_DESTRUCTION \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/undead_ward.spl~ 1 5 CLERIC_UNDEAD_WARD - SAY 0x08 @4053 - SAY 0x50 @4054 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_UNDEAD_WARD~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_DESTRUCTION~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_UNDEAD_WARD_RES "%temp%" + ADD_SPELL ~iwdification/spl/cdid734.spl~ 1 7 CLERIC_DESTRUCTION + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4420 // name + SAY 0x50 @4421 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdid734 resource = EVAL ~%DEST_RES%~ END + END ELSE BEGIN + LPF ALTER_EFFECT INT_VAR match_opcode = 324 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd734 END // undead are immune + END + + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid734.itm~ + SAY 0x0c @4420 + SAY 0x54 @4421 + LPF cd_scroll INT_VAR unusable0 = (BIT2 + BIT3) range = 1 price = 700 STR_VAR spell = EVAL ~%current_spell_res%~ END // evil + + COPY ~iwdification/bam/cdid734a.bam~ ~override~ + ~iwdification/bam/cdid734b.bam~ ~override~ + ~iwdification/bam/cdid734c.bam~ ~override~ + ~iwdification/bam/cdidestr.bam~ ~override~ + ~iwdification/vvc/cdidestr.vvc~ ~override~ + ~iwdification/wav/cdiep113.wav~ ~override~ + + ACTION_IF !ee_game BEGIN + + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd734.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid516.itm~ - SAY 0x0c @4053 - SAY 0x54 @4054 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_UNDEAD_WARD_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid516a.bam~ ~override~ - ~iwdification/bam/cdid516b.bam~ ~override~ - ~iwdification/bam/cdid516c.bam~ ~override~ - ~iwdification/bam/cduwardx.bam~ ~override~ - ~iwdification/vvc/cduwardx.vvc~ ~override~ - ~iwdification/wav/cdaftp27.wav~ ~override~ - ~iwdification/wav/cdarep28.wav~ ~override~ - - COMPILE ~iwdification/baf/cdid516.baf~ - - OUTER_FOR (index = 1 ; index < 23 ; ++index) BEGIN - - COPY ~iwdification/eff/cduwar1.eff~ ~override/cduwar%index%.eff~ - WRITE_ASCIIE 0x30 "%DEST_RES%" #8 - - COPY ~iwdification/cre/cduwar1.cre~ ~override/cduwar%index%.cre~ - WRITE_BYTE 0x234 (index + 8) - END END ///// \\\\\ -///// Animal Rage \\\\\ +///// CLERIC_GREATER_SHIELD_OF_LATHANDER \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/animal_rage.spl~ 1 5 CLERIC_ANIMAL_RAGE - SAY 0x08 @4055 - SAY 0x50 @4056 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_ANIMAL_RAGE~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_GREATER_SHIELD_OF_LATHANDER~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_ANIMAL_RAGE_RES "%temp%" + LAF cd_new_portrait_icon INT_VAR string = RESOLVE_STR_REF(@4430) STR_VAR bam_file = cdid735d RET icon END - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid517.itm~ - SAY 0x0c @4055 - SAY 0x54 @4056 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_ANIMAL_RAGE_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid517a.bam~ ~override~ - ~iwdification/bam/cdid517b.bam~ ~override~ - ~iwdification/bam/cdid517c.bam~ ~override~ + ADD_SPELL ~iwdification/spl/cdid735.spl~ 1 7 CLERIC_GREATER_SHIELD_OF_LATHANDER + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4430 // name + SAY 0x50 @4431 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdid735 resource = EVAL ~%DEST_RES%~ END + LPF ALTER_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 165 parameter2 = icon END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR match_opcode = 142 match_parameter2 = 165 END + LPF ALTER_EFFECT INT_VAR match_opcode = 324 opcode = 177 parameter1 = 3 parameter2 = 8 STR_VAR resource = cdixd735 END // evil are immune + END -END + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid735.itm~ + SAY 0x0c @4430 + SAY 0x54 @4431 + LPF cd_scroll INT_VAR unusable0 = (BIT1 + BIT3 + BIT12 + BIT21 + BIT30) range = 1 price = 700 STR_VAR spell = EVAL ~%current_spell_res%~ END // good cleric -///// \\\\\ -///// Whirlwind \\\\\ -///// \\\\\ + COPY ~iwdification/bam/cdid735a.bam~ ~override~ + ~iwdification/bam/cdid735b.bam~ ~override~ + ~iwdification/bam/cdid735c.bam~ ~override~ + ~iwdification/bam/cdid735d.bam~ ~override~ + ~iwdification/bam/cdigsol1.bam~ ~override~ + ~iwdification/bam/cdigsol2.bam~ ~override~ + ~iwdification/vvc/cdilatg1.vvc~ ~override~ + ~iwdification/vvc/cdilatg2.vvc~ ~override~ + ~iwdification/wav/cdiafp26.wav~ ~override~ -ADD_SPELL ~iwdification/spl/whirlwind.spl~ 1 6 CLERIC_WHIRLWIND - SAY 0x08 @4057 - SAY 0x50 @4058 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_WHIRLWIND~)) > 0) THEN BEGIN + ACTION_IF !ee_game BEGIN - OUTER_SPRINT CLERIC_WHIRLWIND_RES "%temp%" + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd735.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 - ADD_PROJECTILE ~iwdification/pro/cdid613.pro~ - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid613.itm~ - SAY 0x0c @4057 - SAY 0x54 @4058 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_WHIRLWIND_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid613a.bam~ ~override~ - ~iwdification/bam/cdid613b.bam~ ~override~ - ~iwdification/bam/cdid613c.bam~ ~override~ - ~iwdification/bam/cdid613v.bam~ ~override~ - ~iwdification/cre/cdid613.cre~ ~override~ - ~iwdification/eff/cdid613.eff~ ~override~ - ~iwdification/eff/cdid613b.eff~ ~override~ - ~iwdification/vvc/cdid613v.vvc~ ~override~ - ~iwdification/wav/cdffp105.wav~ ~override~ - - COPY ~iwdification/spl/cdid613b.spl~ ~override~ - SAY 0x08 @4057 - SAY 0x50 @4058 - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid613 END - - COMPILE ~iwdification/baf/cdid613.baf~ + END END ///// \\\\\ -///// entropy shield \\\\\ +///// CLERIC_MIST_OF_ELDATH \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/entropy_shield.spl~ 1 6 CLERIC_ENTROPY_SHIELD // revisit for projectiles - SAY 0x08 @4059 - SAY 0x50 @4060 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_ENTROPY_SHIELD~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_MIST_OF_ELDATH~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_ENTROPY_SHIELD_RES "%temp%" + ACTION_IF ee_game BEGIN - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid609.itm~ - SAY 0x0c @4059 - SAY 0x54 @4060 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_ENTROPY_SHIELD_RES%~ END - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range + ADD_PROJECTILE ~iwdification/pro/cdi307.pro~ - COPY ~iwdification/bam/cdid609a.bam~ ~override~ - ~iwdification/bam/cdid609b.bam~ ~override~ - ~iwdification/bam/cdid609c.bam~ ~override~ - ~iwdification/bam/cdid609v.bam~ ~override~ - ~iwdification/vvc/cdid609v.vvc~ ~override~ + END ELSE BEGIN -END + ADD_PROJECTILE ~iwdification/pro/cdi307a.pro~ -///// \\\\\ -///// Symbol of Pain \\\\\ -///// \\\\\ + END -ADD_SPELL ~iwdification/spl/symbol_of_pain.spl~ 1 7 CLERIC_SYMBOL_OF_PAIN - SAY 0x08 @4061 - SAY 0x50 @4062 - SAY 0x46e @4078 - READ_LONG 0x46e string - LPF SPELL_ALTER_EFFECT INT_VAR opcode = 139 parameter1 = string END - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SYMBOL_OF_PAIN~)) > 0) THEN BEGIN - - OUTER_SPRINT CLERIC_SYMBOL_OF_PAIN_RES "%temp%" - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid714.itm~ - SAY 0x0c @4061 - SAY 0x54 @4062 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_SYMBOL_OF_PAIN_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid714a.bam~ ~override~ - ~iwdification/bam/cdid714b.bam~ ~override~ - ~iwdification/bam/cdid714c.bam~ ~override~ + ADD_SPELL ~iwdification/spl/cdid736.spl~ 1 7 CLERIC_MIST_OF_ELDATH + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4440 // name + SAY 0x50 @4441 // descript + PATCH_IF ee_game BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi307 END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 14022 parameter1 = string_healed END + END ELSE BEGIN + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi307a END + LPF DELETE_EFFECT END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 timing = 1 parameter2 = 2 STR_VAR resource = cdid736 END + END -END + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid736.itm~ + SAY 0x0c @4440 + SAY 0x54 @4441 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 700 STR_VAR spell = EVAL ~%current_spell_res%~ END -///// \\\\\ -///// Symbol of Hopelessness \\\\\ -///// \\\\\ + COPY ~iwdification/bam/cdid736a.bam~ ~override~ + ~iwdification/bam/cdid736b.bam~ ~override~ + ~iwdification/bam/cdid736c.bam~ ~override~ + ~iwdification/bam/cdimoeld.bam~ ~override~ + ~iwdification/wav/cdiep104.wav~ ~override~ -ADD_SPELL ~iwdification/spl/symbol_of_hopelessness.spl~ 1 7 CLERIC_SYMBOL_OF_HOPELESSNESS - SAY 0x08 @4063 - SAY 0x50 @4064 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SYMBOL_OF_HOPELESSNESS~)) > 0) THEN BEGIN + ACTION_IF !ee_game BEGIN - OUTER_SPRINT CLERIC_SYMBOL_OF_HOPELESSNESS_RES "%temp%" + LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 7 cloud_dur = 6 zosa = 1 STR_VAR code = cdid736 anim = cdimoeld END - ADD_PROJECTILE ~iwdification/pro/cdid715.pro~ - - COPY_EXISTING ~%CLERIC_SYMBOL_OF_HOPELESSNESS_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid715 END - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid715.itm~ - SAY 0x0c @4063 - SAY 0x54 @4064 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_SYMBOL_OF_HOPELESSNESS_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT12 + BIT21 + BIT30)) // cleric only - add fighter/druid, ranger, and druid flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid715a.bam~ ~override~ - ~iwdification/bam/cdid715b.bam~ ~override~ - ~iwdification/bam/cdid715c.bam~ ~override~ + COPY ~iwdification/spl/cdid736.spl~ ~override~ + WRITE_LONG 0x08 "-1" // name + LPF ALTER_SPELL_HEADER INT_VAR projectile = cdi307a END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 14022 parameter1 = string_healed END + LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 2 duration = 6 STR_VAR resource = cdid736 END + + END END ///// \\\\\ -///// Impervious Sanctity of Mind \\\\\ +///// CLERIC_STALKER \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/impervious_sanctity_of_mind.spl~ 1 7 CLERIC_IMPERVIOUS_SANCTITY_OF_MIND - SAY 0x08 @4065 - SAY 0x50 @4066 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_IMPERVIOUS_SANCTITY_OF_MIND~)) > 0) THEN BEGIN +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_STALKER~) OR override_divine) BEGIN - OUTER_SPRINT CLERIC_IMPERVIOUS_SANCTITY_OF_MIND_RES "%temp%" + ADD_SPELL ~iwdification/spl/cdid737.spl~ 1 7 CLERIC_STALKER + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4450 // name + SAY 0x50 @4451 // descript - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid716.itm~ - SAY 0x0c @4065 - SAY 0x54 @4066 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_IMPERVIOUS_SANCTITY_OF_MIND_RES%~ END - WRITE_BYTE 0x7e 5 // target - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid716a.bam~ ~override~ - ~iwdification/bam/cdid716b.bam~ ~override~ - ~iwdification/bam/cdid716c.bam~ ~override~ + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid737.itm~ + SAY 0x0c @4450 + SAY 0x54 @4451 + LPF cd_scroll INT_VAR unusable0 = (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29) target_hdr = 4 range = 100 opcode = 148 target_eff = 1 price = 700 STR_VAR spell = EVAL ~%current_spell_res%~ END + + COMPILE ~iwdification/baf/cdishamb.baf~ + + LAF cd_animation STR_VAR code = 7302 END // 29442 MEAE_SH shambling_mound + COPY ~iwdification/cre/cdishamb.cre~ ~override~ + SAY 0x08 @4452 + SAY 0x0c @4452 + + COPY ~iwdification/itm/cdishmbl.itm~ ~override~ + WRITE_LONG 0x08 string_attack + WRITE_LONG 0x0c string_attack + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = shmblr resource = cdishmbl END + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37709 parameter1 = string_entangled savingthrow = BIT1 END + LPF ALTER_EFFECT INT_VAR match_opcode = 12 savingthrow = BIT1 END + END ELSE BEGIN + LPF DELETE_EFFECT INT_VAR check_globals = 0 END + LPF ADD_ITEM_EFFECT INT_VAR type = 1 opcode = 177 target = 2 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd737 END // general = undead + LPF ADD_ITEM_EFFECT INT_VAR type = 1 opcode = 177 target = 2 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixd737 END // race = golem + LPF ADD_ITEM_EFFECT INT_VAR type = 1 opcode = 177 target = 2 parameter1 = 145 parameter2 = 4 STR_VAR resource = cdixd737 END // race = elemental + LPF ADD_ITEM_EFFECT INT_VAR type = 1 opcode = 177 target = 2 parameter1 = 164 parameter2 = 4 STR_VAR resource = cdixd737 END // race = myconid + LPF ADD_ITEM_EFFECT INT_VAR type = 1 opcode = 146 target = 2 parameter2 = 1 STR_VAR resource = cdishmbl END + END -END + COPY ~iwdification/bam/cdid737a.bam~ ~override~ + ~iwdification/bam/cdid737b.bam~ ~override~ + ~iwdification/bam/cdid737c.bam~ ~override~ + ~iwdification/bam/cdishmbl.bam~ ~override~ -///// \\\\\ -///// Destruction \\\\\ -///// \\\\\ + ACTION_IF !ee_game BEGIN -ADD_SPELL ~iwdification/spl/destruction.spl~ 1 7 CLERIC_DESTRUCTION - SAY 0x08 @4067 - SAY 0x50 @4068 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_DESTRUCTION~)) > 0) THEN BEGIN + COPY ~iwdification/spl/cdishmbl.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_parameter1 = 37709 parameter1 = string_entangled END - OUTER_SPRINT CLERIC_DESTRUCTION_RES "%temp%" + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd737.eff~ + WRITE_ASCII 0x30 ~cdishmbl~ #8 - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid717.itm~ - SAY 0x0c @4067 - SAY 0x54 @4068 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_DESTRUCTION_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT2 + BIT3 + BIT12 + BIT21 + BIT30)) // evil cleric only - add good, g/e neutral, fighter/druid, ranger, and druid flags - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cddestrh.bam~ ~override~ - ~iwdification/bam/cdid717a.bam~ ~override~ - ~iwdification/bam/cdid717b.bam~ ~override~ - ~iwdification/bam/cdid717c.bam~ ~override~ - ~iwdification/vvc/cddestrh.vvc~ ~override~ - ~iwdification/wav/cdffp113.wav~ ~override~ - - COPY ~iwdification/lib/immunity.eff~ ~override/cdim1717.eff~ - WRITE_ASCIIE 0x30 ~%CLERIC_DESTRUCTION_RES%~ #8 + END END ///// \\\\\ -///// Greater Shield of Lathander \\\\\ +///// CLERIC_ENERGY_DRAIN \\\\\ ///// \\\\\ -ADD_SPELL ~iwdification/spl/greater_shield_of_lathander.spl~ 1 7 CLERIC_GREATER_SHIELD_OF_LATHANDER - SAY 0x08 @4069 - SAY 0x50 @4070 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_GREATER_SHIELD_OF_LATHANDER~)) > 0) THEN BEGIN - - OUTER_SPRINT CLERIC_GREATER_SHIELD_OF_LATHANDER_RES "%temp%" +ACTION_IF (!FILE_CONTAINS_EVALUATED(~spell.ids~ ~CLERIC_ENERGY_DRAIN~) OR override_divine) BEGIN - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid718.itm~ - SAY 0x0c @4069 - SAY 0x54 @4070 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_GREATER_SHIELD_OF_LATHANDER_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT1 = BIT3 + BIT12 + BIT21 + BIT30)) // good cleric only - add evil, g/e neutral, fighter/druid, ranger, and druid flags - WRITE_SHORT 0x80 1 // range - - COPY ~iwdification/bam/cdid718a.bam~ ~override~ - ~iwdification/bam/cdid718b.bam~ ~override~ - ~iwdification/bam/cdid718c.bam~ ~override~ - ~iwdification/bam/cdid718y.bam~ ~override~ - ~iwdification/bam/cdid718z.bam~ ~override~ - ~iwdification/vvc/cdid718y.vvc~ ~override~ - ~iwdification/vvc/cdid718z.vvc~ ~override~ - - COPY ~iwdification/lib/immunity.eff~ ~override/cdim1718.eff~ - WRITE_ASCIIE 0x30 ~%CLERIC_GREATER_SHIELD_OF_LATHANDER_RES%~ #8 + ADD_SPELL ~iwdification/spl/cdid739.spl~ 1 7 CLERIC_ENERGY_DRAIN + SPRINT current_spell_res "%DEST_RES%" + SAY 0x08 @4460 // name + SAY 0x50 @4461 // descript + SAY 0x2ae @4462 + PATCH_IF ee_game BEGIN + LPF ALTER_EFFECT STR_VAR match_resource = cdid739 resource = EVAL ~%DEST_RES%~ END + END ELSE BEGIN + LPF CLONE_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 144 parameter2 = 4 STR_VAR resource = cdixd739 END // race = golem + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 55 opcode = 177 parameter1 = 4 parameter2 = 3 STR_VAR resource = cdixd739 END // general = undead + LPF ALTER_EFFECT INT_VAR match_opcode = 324 match_parameter2 = 104 opcode = 177 parameter2 = 4 STR_VAR resource = cdixd739 END // race = parameter1 + END -END + COPY ~iwdification/itm/blankpr.itm~ ~override/cdid739.itm~ + SAY 0x0c @4460 + SAY 0x54 @4461 + LPF cd_scroll INT_VAR unusable0 = (BIT2 + BIT3 + BIT12 + BIT21 + BIT30) range = 1 price = 700 STR_VAR spell = EVAL ~%current_spell_res%~ END -///// \\\\\ -///// Mist of Eldath \\\\\ -///// \\\\\ + COPY ~iwdification/bam/cdid739a.bam~ ~override~ + ~iwdification/bam/cdid739b.bam~ ~override~ + ~iwdification/bam/cdid739c.bam~ ~override~ -ADD_SPELL ~iwdification/spl/mist_of_eldath.spl~ 1 7 CLERIC_MIST_OF_ELDATH - SAY 0x08 @4071 - SAY 0x50 @4072 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_MIST_OF_ELDATH~)) > 0) THEN BEGIN + ACTION_IF !ee_game BEGIN - OUTER_SPRINT CLERIC_MIST_OF_ELDATH_RES "%temp%" + COPY ~iwdification/eff/immunity.eff~ ~override/cdixd739.eff~ + WRITE_ASCIIE 0x30 ~%current_spell_res%~ #8 - ADD_PROJECTILE ~iwdification/pro/cdid720.pro~ - - COPY_EXISTING ~%CLERIC_MIST_OF_ELDATH_RES%.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid720 END - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid720.itm~ - SAY 0x0c @4071 - SAY 0x54 @4072 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_MIST_OF_ELDATH_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid720a.bam~ ~override~ - ~iwdification/bam/cdid720b.bam~ ~override~ - ~iwdification/bam/cdid720c.bam~ ~override~ - ~iwdification/bam/cdid720v.bam~ ~override~ - ~iwdification/wav/cdffp104.wav~ ~override~ - - LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 7 cloud_dur = 6 zosa = 1 STR_VAR code = cdid720 END - - COPY ~iwdification/spl/cdid720.spl~ ~override~ - LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid720 END + END END ///// \\\\\ -///// Stalker \\\\\ -///// \\\\\ - -ADD_SPELL ~iwdification/spl/stalker.spl~ 1 7 CLERIC_STALKER - SAY 0x08 @4073 - SAY 0x50 @4074 - SPRINT temp "%DEST_RES%" - -ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_STALKER~)) > 0) THEN BEGIN - - OUTER_SPRINT CLERIC_STALKER_RES "%temp%" - - COPY ~iwdification/lib/blankpr.itm~ ~override/cdid723.itm~ - SAY 0x0c @4073 - SAY 0x54 @4074 - LPF cd_scroll STR_VAR spell = EVALUATE_BUFFER ~%CLERIC_STALKER_RES%~ END - WRITE_LONG 0x1e (THIS | (BIT7 + BIT8 + BIT9 + BIT14 + BIT15 + BIT20 + BIT29)) // druid only - add cleric, c/m, c/t, f/c, f/m/c, paladin and monk flags - WRITE_SHORT 0xaa 148 // cast-at-point opcode - WRITE_BYTE 0xac 1 // target: self - WRITE_BYTE 0x7e 4 // target: any point - - COPY ~iwdification/bam/cdid723a.bam~ ~override~ - ~iwdification/bam/cdid723b.bam~ ~override~ - ~iwdification/bam/cdid723c.bam~ ~override~ - ~iwdification/itm/cdid723w.itm~ ~override~ +///// joinable spellbook adjustments \\\\\ +///// \\\\\ + +OUTER_SET NUM_d112 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CURSE~)) - 1000) +OUTER_SET NUM_d114 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CAUSE_LIGHT_WOUNDS~)) - 1000) +OUTER_SET NUM_d115 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SUNSCORCH~)) - 1000) +OUTER_SET NUM_d217 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CURE_MODERATE_WOUNDS~)) - 1000) +OUTER_SET NUM_d218 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_ALICORN_LANCE~)) - 1000) +OUTER_SET NUM_d219 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_BEAST_CLAW~)) - 1000) +OUTER_SET NUM_d220 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CAUSE_MODERATE_WOUNDS~)) - 1000) +OUTER_SET NUM_d316 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_PRAYER~)) - 1000) +OUTER_SET NUM_d320 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CAUSE_DISEASE~)) - 1000) +OUTER_SET NUM_d321 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_EXALTATION~)) - 1000) +OUTER_SET NUM_d322 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_MOONBLADE~)) - 1000) +OUTER_SET NUM_d323 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CIRCLE_OF_BONES~)) - 1000) +OUTER_SET NUM_d324 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SPIKE_GROWTH~)) - 1000) +OUTER_SET NUM_d325 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CLOUDBURST~)) - 1000) +OUTER_SET NUM_d326 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_MOLD_TOUCH~)) - 1000) +OUTER_SET NUM_d327 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_STORM_SHELL~)) - 1000) +OUTER_SET NUM_d330 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CAUSE_MEDIUM_WOUNDS~)) - 1000) +OUTER_SET NUM_d331 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_FAVOR_OF_ILMATER~)) - 1000) +OUTER_SET NUM_d418 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_GIANT_INSECT~)) - 1000) +OUTER_SET NUM_d419 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_PRODUCE_FIRE~)) - 1000) +OUTER_SET NUM_d420 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_STATIC_CHARGE~)) - 1000) +OUTER_SET NUM_d421 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_RECITATION~)) - 1000) +OUTER_SET NUM_d422 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_BLOOD_RAGE~)) - 1000) +OUTER_SET NUM_d423 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CLOUD_OF_PESTILENCE~)) - 1000) +OUTER_SET NUM_d424 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_UNFAILING_ENDURANCE~)) - 1000) +OUTER_SET NUM_d425 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_STAR_METAL_CUDGEL~)) - 1000) +OUTER_SET NUM_d426 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SMASHING_WAVE~)) - 1000) +OUTER_SET NUM_d427 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_THORN_SPRAY~)) - 1000) +OUTER_SET NUM_d428 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_WALL_OF_MOONLIGHT~)) - 1000) +OUTER_SET NUM_d518 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL~)) - 1000) +OUTER_SET NUM_d519 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SPIKE_STONES~)) - 1000) +OUTER_SET NUM_d520 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SHIELD_OF_LATHANDER~)) - 1000) +OUTER_SET NUM_d521 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_UNDEAD_WARD~)) - 1000) +OUTER_SET NUM_d522 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_ANIMAL_RAGE~)) - 1000) +OUTER_SET NUM_d523 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_MASS_CAUSE_LIGHT_WOUNDS~)) - 1000) +OUTER_SET NUM_d615 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_ENTROPY_SHIELD~)) - 1000) +OUTER_SET NUM_d617 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_WHIRLWIND~)) - 1000) +OUTER_SET NUM_d618 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SPIRITUAL_WRATH~)) - 1000) +OUTER_SET NUM_d714 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SYMBOL_OF_PAIN~)) - 1000) +OUTER_SET NUM_d716 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_SYMBOL_OF_HOPELESSNESS~)) - 1000) +OUTER_SET NUM_d733 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_IMPERVIOUS_SANCTITY_OF_MIND~)) - 1000) +OUTER_SET NUM_d734 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_DESTRUCTION~)) - 1000) +OUTER_SET NUM_d735 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_GREATER_SHIELD_OF_LATHANDER~)) - 1000) +OUTER_SET NUM_d736 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_MIST_OF_ELDATH~)) - 1000) +OUTER_SET NUM_d737 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_STALKER~)) - 1000) +OUTER_SET NUM_d739 = ((IDS_OF_SYMBOL (~spell~ ~CLERIC_ENERGY_DRAIN~)) - 1000) + +ACTION_FOR_EACH scroll IN + 112 114 115 217 218 219 220 316 320 321 322 323 324 325 326 327 330 331 418 419 420 421 422 423 424 425 426 427 428 518 519 520 521 522 523 615 617 618 714 716 734 735 736 737 738 +BEGIN + + ACTION_IF FILE_EXISTS_IN_GAME ~cdid%scroll%.itm~ BEGIN + + COPY ~iwdification/lib/divine_spellbooks.tpa~ ~iwdification/lib/divine_spellbooks.tpa~ + REPLACE_TEXTUALLY ~//NUM_d%scroll% ~ ~~ // could I be more lazy? maaaaaaybe. - ACTION_IF FILE_EXISTS_IN_GAME smoundsu.cre THEN BEGIN - COPY_EXISTING ~smoundsu.cre~ ~override/cdid723.cre~ - END ELSE BEGIN - COPY ~iwdification/cre/cdid723.cre~ ~override~ END - - COPY_EXISTING ~cdid723.cre~ ~override~ - REPLACE_CRE_ITEM cdid723w #0 #0 #0 NONE WEAPON1 EQUIP END -///// \\\\\ -///// update joinable npc spellbooks \\\\\ -///// \\\\\ +REINCLUDE ~iwdification/lib/divine_spellbooks.tpa~ COPY_EXISTING_REGEXP GLOB ~^.+\.cre$~ ~override~ - READ_LONG 0x1cc bio ELSE 0 - PATCH_IF (bio > 0) BEGIN - READ_BYTE 0x273 class ELSE 0 - READ_LONG 0x2a4 known ELSE 0 - SET level_cleric = 0 - SET level_druid = 0 - PATCH_IF ((class = 3) OR (class = 14) OR (class = 15)) BEGIN // trueclass cleric, c/m, c/t - READ_BYTE 0x234 level_cleric - END ELSE - PATCH_IF (class = 6) BEGIN // paladin - READ_BYTE 0x234 level_cleric - SET level_cleric -= 8 // spells start at level 9 - END ELSE - PATCH_IF (class = 8) BEGIN // f/c - READ_BYTE 0x235 level_cleric - END - PATCH_IF (class = 11) BEGIN // trueclass druid - READ_BYTE 0x234 level_druid - END ELSE - PATCH_IF (class = 12) BEGIN // trueclass ranger - READ_BYTE 0x234 level_druid - SET level_druid -= 7 // spells start at level 8 - END ELSE - PATCH_IF (class = 16) BEGIN // f/d - READ_BYTE 0x235 level_druid - END ELSE - PATCH_IF (class = 17) BEGIN // f/m/c - READ_BYTE 0x236 level_cleric - END ELSE - PATCH_IF (class = 18) BEGIN // c/r - READ_BYTE 0x234 level_cleric - READ_BYTE 0x235 level_druid - END - PATCH_IF ((level_cleric > 0) AND (known > 0)) BEGIN // level 1 spells, known > 0 excludes inquisitors - READ_BYTE 0x27b align // used for various restriction checks below - PATCH_IF VARIABLE_IS_SET CLERIC_CURSE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CURSE_RES%~ #0 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_CAUSE_LIGHT_WOUNDS_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CAUSE_LIGHT_WOUNDS_RES%~ #0 ~priest~ END - PATCH_IF (level_cleric > 2) BEGIN // level spells - PATCH_IF VARIABLE_IS_SET CLERIC_CURE_MODERATE_WOUNDS_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CURE_MODERATE_WOUNDS_RES%~ #1 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_CAUSE_MODERATE_WOUNDS_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CAUSE_MODERATE_WOUNDS_RES%~ #1 ~priest~ END - PATCH_IF (level_cleric > 4) BEGIN // level 3 spells - PATCH_IF VARIABLE_IS_SET CLERIC_PRAYER_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_PRAYER_RES%~ #2 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_EXALTATION_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_EXALTATION_RES%~ #2 ~priest~ END - PATCH_IF ((align != 17) AND (align != 33) AND (align != 49)) BEGIN // not lg, ng, cg - PATCH_IF VARIABLE_IS_SET CLERIC_CAUSE_DISEASE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CAUSE_DISEASE_RES%~ #2 ~priest~ END // restrict from good - PATCH_IF VARIABLE_IS_SET CLERIC_CIRCLE_OF_BONES_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CIRCLE_OF_BONES_RES%~ #2 ~priest~ END // restrict from good - END - PATCH_IF (level_cleric > 6) BEGIN // level 4 spells - PATCH_IF VARIABLE_IS_SET CLERIC_RECITATION_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_RECITATION_RES%~ #3 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_UNFAILING_ENDURANCE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_UNFAILING_ENDURANCE_RES%~ #3 ~priest~ END - PATCH_IF ((align != 17) AND (align != 18) AND (align != 19)) BEGIN // not lg, ln, le - PATCH_IF VARIABLE_IS_SET CLERIC_BLOOD_RAGE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_BLOOD_RAGE_RES%~ #3 ~priest~ END // restrict from lawful - END - PATCH_IF ((align = 19) OR (align = 35) OR (align = 51)) BEGIN // le, ne, ce only - PATCH_IF VARIABLE_IS_SET CLERIC_CLOUD_OF_PESTILENCE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CLOUD_OF_PESTILENCE_RES%~ #3 ~priest~ END // evil-only - END - PATCH_IF ((level_cleric > 8) AND (class != 6)) BEGIN // level 5 spells; exclude paladins from here on - PATCH_IF VARIABLE_IS_SET CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_RIGHTEOUS_WRATH_OF_THE_FAITHFUL_RES%~ #4 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_UNDEAD_WARD_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_UNDEAD_WARD_RES%~ #4 ~priest~ END - PATCH_IF ((align != 19) AND (align != 35) AND (align != 51)) BEGIN // not le, ne, ce - PATCH_IF VARIABLE_IS_SET CLERIC_SHIELD_OF_LATHANDER_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_SHIELD_OF_LATHANDER_RES%~ #4 ~priest~ END // restrict from evil - END - PATCH_IF (level_cleric > 10) BEGIN // level 6 spells - PATCH_IF VARIABLE_IS_SET CLERIC_ENTROPY_SHIELD_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_ENTROPY_SHIELD_RES%~ #5 ~priest~ END - PATCH_IF (level_cleric > 13) BEGIN // level 7 spells - PATCH_IF VARIABLE_IS_SET CLERIC_SYMBOL_OF_PAIN_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_SYMBOL_OF_PAIN_RES%~ #6 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_SYMBOL_OF_HOPELESSNESS_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_SYMBOL_OF_HOPELESSNESS_RES%~ #6 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_IMPERVIOUS_SANCTITY_OF_MIND_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_IMPERVIOUS_SANCTITY_OF_MIND_RES%~ #6 ~priest~ END - PATCH_IF ((align = 19) OR (align = 35) OR (align = 51)) BEGIN // le, ne, ce only - PATCH_IF VARIABLE_IS_SET CLERIC_DESTRUCTION_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_DESTRUCTION_RES%~ #6 ~priest~ END // evil only - END - PATCH_IF ((align = 17) OR (align = 33) OR (align = 49)) BEGIN // lg, ng, cg only - PATCH_IF VARIABLE_IS_SET CLERIC_GREATER_SHIELD_OF_LATHANDER_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_GREATER_SHIELD_OF_LATHANDER_RES%~ #6 ~priest~ END // good only - END - END - END - END - END - END - END - END - PATCH_IF (level_druid > 0) BEGIN // level 1 spells - PATCH_IF VARIABLE_IS_SET CLERIC_CURSE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CURSE_RES%~ #0 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_SUNSCORCH_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_SUNSCORCH_RES%~ #0 ~priest~ END - PATCH_IF (level_druid > 2) BEGIN // level 2 spells - PATCH_IF VARIABLE_IS_SET CLERIC_CURE_MODERATE_WOUNDS_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CURE_MODERATE_WOUNDS_RES%~ #1 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_ALICORN_LANCE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_ALICORN_LANCE_RES%~ #1 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_BEAST_CLAW_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_BEAST_CLAW_RES%~ #1 ~priest~ END - PATCH_IF (level_druid > 4) BEGIN // level 3 spells - PATCH_IF VARIABLE_IS_SET CLERIC_MOONBLADE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_MOONBLADE_RES%~ #2 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_SPIKE_GROWTH_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_SPIKE_GROWTH_RES%~ #2 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_CLOUDBURST_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_CLOUDBURST_RES%~ #2 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_STORM_SHELL_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_STORM_SHELL_RES%~ #2 ~priest~ END - PATCH_IF ((level_druid > 6) AND (class != 12)) BEGIN // level 4 spells; exclude trueclass rangers from here on - PATCH_IF VARIABLE_IS_SET CLERIC_GIANT_INSECT_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_GIANT_INSECT_RES%~ #3 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_PRODUCE_FIRE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_PRODUCE_FIRE_RES%~ #3 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_STATIC_CHARGE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_STATIC_CHARGE_RES%~ #3 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_STAR_METAL_CUDGEL_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_STAR_METAL_CUDGEL_RES%~ #3 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_THORN_SPRAY_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_THORN_SPRAY_RES%~ #3 ~priest~ END - PATCH_IF (level_druid > 8) BEGIN // level 5 spells - PATCH_IF VARIABLE_IS_SET CLERIC_SPIKE_STONES_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_SPIKE_STONES_RES%~ #4 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_ANIMAL_RAGE_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_ANIMAL_RAGE_RES%~ #4 ~priest~ END - PATCH_IF (level_druid > 10) BEGIN // level 6 spells - PATCH_IF VARIABLE_IS_SET CLERIC_WHIRLWIND_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_WHIRLWIND_RES%~ #5 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_ENTROPY_SHIELD_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_ENTROPY_SHIELD_RES%~ #5 ~priest~ END - PATCH_IF (level_druid > 13) BEGIN // level 7 spells - PATCH_IF VARIABLE_IS_SET CLERIC_IMPERVIOUS_SANCTITY_OF_MIND_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_IMPERVIOUS_SANCTITY_OF_MIND_RES%~ #6 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_MIST_OF_ELDATH_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_MIST_OF_ELDATH_RES%~ #6 ~priest~ END - PATCH_IF VARIABLE_IS_SET CLERIC_STALKER_RES BEGIN ADD_KNOWN_SPELL ~%CLERIC_STALKER_RES%~ #6 ~priest~ END - END - END - END - END - END - END - END + READ_LONG 0x1cc bio + PATCH_IF ((bio > 0) AND (bio < 999999)) BEGIN // joinable...ish + LPF CD_IWDIFICATION_SPELLBOOKS END END BUT_ONLY -ACTION_IF FILE_EXISTS_IN_GAME cdlv3na.spl THEN BEGIN // fixpack spell for removing spells from alignment-changing priests +///// \\\\\ +///// divine spell crosspatching \\\\\ +///// \\\\\ - ACTION_IF VARIABLE_IS_SET CLERIC_CAUSE_DISEASE_RES BEGIN +ACTION_IF NUM_d422 > 0 BEGIN - COPY_EXISTING ~cdrmv313.eff~ ~override/cdrmi315.eff~ - WRITE_ASCIIE 0x30 "%CLERIC_CAUSE_DISEASE_RES%" #8 - - COPY_EXISTING ~cdlv3na.spl~ ~override~ - LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 8 timing = 9 - parameter1 = 1 STR_VAR resource = cdrmi315 END // remove cause disease from good - - END + COPY_EXISTING ~sppr%NUM_d422%.spl~ ~override~ + PATCH_IF NUM_d714 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid714 resource = EVAL ~sppr%NUM_d714%~ END + END + PATCH_IF NUM_d716 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid716 resource = EVAL ~sppr%NUM_d716%~ END + END + BUT_ONLY - ACTION_IF VARIABLE_IS_SET CLERIC_CIRCLE_OF_BONES_RES BEGIN + ACTION_IF NUM_d321 > 0 BEGIN - COPY_EXISTING ~cdrmv313.eff~ ~override/cdrmi319.eff~ - WRITE_ASCIIE 0x30 "%CLERIC_CIRCLE_OF_BONES_RES%" #8 - - COPY_EXISTING ~cdlv3na.spl~ ~override~ - LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 8 timing = 9 - parameter1 = 1 STR_VAR resource = cdrmi319 END // remove circle of bones from good + COPY_EXISTING ~sppr%NUM_d321%.spl~ ~override~ + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid422 resource = EVAL ~sppr%NUM_a422%~ END + BUT_ONLY END - ACTION_IF VARIABLE_IS_SET CLERIC_BLOOD_RAGE_RES BEGIN - - COPY_EXISTING ~cdrmv313.eff~ ~override/cdrmi415.eff~ - WRITE_ASCIIE 0x30 "%CLERIC_BLOOD_RAGE_RES%" #8 - - COPY_EXISTING ~cdlv3na.spl~ ~override~ - LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 8 timing = 9 - parameter1 = 16 STR_VAR resource = cdrmi415 END // remove blood rage from lawful - - END +END - ACTION_IF VARIABLE_IS_SET CLERIC_SHIELD_OF_LATHANDER_RES BEGIN - - COPY_EXISTING ~cdrmv313.eff~ ~override/cdrmi514.eff~ - WRITE_ASCIIE 0x30 "%CLERIC_SHIELD_OF_LATHANDER_RES%" #8 - - COPY_EXISTING ~cdlv3na.spl~ ~override~ - LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 8 timing = 9 - parameter1 = 3 STR_VAR resource = cdrmi514 END // remove shield of lathander from evil - - END +ACTION_IF NUM_d733 > 0 BEGIN - ACTION_IF VARIABLE_IS_SET CLERIC_DESTRUCTION_RES BEGIN - - COPY_EXISTING ~cdrmv313.eff~ ~override/cdrmi717.eff~ - WRITE_ASCIIE 0x30 "%CLERIC_DESTRUCTION_RES%" #8 - - COPY_EXISTING ~cdlv3na.spl~ ~override~ - LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 8 timing = 9 - parameter1 = 1 STR_VAR resource = cdrmi717 END // remove greater shield of lathander from good - LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 8 timing = 9 - parameter1 = 2 STR_VAR resource = cdrmi717 END // remove greater shield of lathander from g/e neutral - - END + COPY_EXISTING ~sppr%NUM_d733%.spl~ ~override~ + PATCH_IF NUM_d422 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid422 resource = EVAL ~sppr%NUM_d422%~ END + END + PATCH_IF NUM_d716 > 0 BEGIN + LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = cdid716 resource = EVAL ~sppr%NUM_d716%~ END + END + BUT_ONLY - ACTION_IF VARIABLE_IS_SET CLERIC_GREATER_SHIELD_OF_LATHANDER_RES BEGIN - - COPY_EXISTING ~cdrmv313.eff~ ~override/cdrmi718.eff~ - WRITE_ASCIIE 0x30 "%CLERIC_GREATER_SHIELD_OF_LATHANDER_RES%" #8 - - COPY_EXISTING ~cdlv3na.spl~ ~override~ - LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 8 timing = 9 - parameter1 = 3 STR_VAR resource = cdrmi718 END // remove shield of lathander from evil - LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter2 = 8 timing = 9 - parameter1 = 2 STR_VAR resource = cdrmi718 END // remove greater shield of lathander from g/e neutral - - END +END +ACTION_IF !ee_game BEGIN + + COPY_EXISTING ~cdibclaw.bam~ ~override~ + ~cdimoonb.bam~ ~override~ + ~cdismcud.bam~ ~override~ + READ_LONG 0x0c frame_off + WRITE_LONG frame_off + 0x04 0 + IF_EXISTS + END ///// \\\\\ -///// now go through and correct cross-references \\\\\ +///// arcane-divine cross-patching \\\\\ ///// \\\\\ - -INCLUDE ~iwdification/lib/cross_patch_divine.tpa~ + +ACTION_IF MOD_IS_INSTALLED ~IWDIFICATION/SETUP-IWDIFICATION.TP2~ ~30~ THEN BEGIN + + INCLUDE ~iwdification/lib/cross_patch_both.tpa~ + +END /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ ///// \\\\\ -///// Icewind Dale Casting Graphics \\\\\ +///// bard song \\\\\ ///// \\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ @@ -2991,12 +4999,12 @@ COPY ~iwdification/spl/cdibar6.spl~ ~override~ // War Chant of Sith - Armor Bonu SAY 0x50 @5006 SAY 0x54 @5006 -COPY ~iwdification/lib/immunity.eff~ ~override/cdibara.eff~ - ~iwdification/lib/immunity.eff~ ~override/cdibarb.eff~ - ~iwdification/lib/immunity.eff~ ~override/cdibarc.eff~ - ~iwdification/lib/immunity.eff~ ~override/cdibard.eff~ - ~iwdification/lib/immunity.eff~ ~override/cdibare.eff~ - ~iwdification/lib/immunity.eff~ ~override/cdibarf.eff~ +COPY ~iwdification/eff/immunity.eff~ ~override/cdibara.eff~ + ~iwdification/eff/immunity.eff~ ~override/cdibarb.eff~ + ~iwdification/eff/immunity.eff~ ~override/cdibarc.eff~ + ~iwdification/eff/immunity.eff~ ~override/cdibard.eff~ + ~iwdification/eff/immunity.eff~ ~override/cdibare.eff~ + ~iwdification/eff/immunity.eff~ ~override/cdibarf.eff~ WRITE_ASCIIE 0x30 "%DEST_RES%" #8 /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ @@ -3073,9 +5081,9 @@ COPY ~iwdification/spl/cdax2h6g.spl~ ~override~ SAY 0x50 @6014 SAY 0x54 @6014 READ_LONG 0x08 string2 - + APPEND ~tooltip.2da~ ~cdax2h5 15529 %string1% -1 -cdax2h5 15529 %string2% -1~ +cdax2h6 15529 %string2% -1~ COPY_EXISTING ~tooltip.2da~ ~override~ PRETTY_PRINT_2DA @@ -3132,13 +5140,14 @@ ACTION_IF ((FILE_EXISTS_IN_GAME ~garkla.cre~) OR (FILE_EXISTS_IN_GAME ~_garkla.c END -ACTION_IF FILE_EXISTS_IN_GAME ~ar0602.bcs~ THEN BEGIN // soa +ACTION_IF ((FILE_EXISTS_IN_GAME ~ar0602.bcs~) AND (FILE_EXISTS_IN_GAME ~hlolaf.cre~)) THEN BEGIN // soa EXTEND_BOTTOM ~ar0602.bcs~ ~iwdification/baf/ar0602.baf~ // add generic 2H axe to CI -END -ACTION_IF FILE_EXISTS_IN_GAME ~hlolaf.cre~ THEN BEGIN // Olaf Rasmussen + COPY_EXISTING ~hlolaf.cre~ ~override~ REPLACE_CRE_ITEM ~cdax2h3~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP TWOHANDED // add +2 axe to olaf at guarded compound + IF_EXISTS + END ACTION_IF FILE_EXISTS_IN_GAME ~botsmith.bcs~ THEN BEGIN // tob @@ -3161,3 +5170,17 @@ ACTION_IF FILE_EXISTS_IN_GAME ~botsmith.bcs~ THEN BEGIN // tob REPLACE_CRE_ITEM ~cdax2h5~ #2 #2 #2 ~NONE~ ~WEAPON1~ EQUIP TWOHANDED // add +4 axe to one of gromnir's bodyguards END + +BEGIN ~testing~ DESIGNATED 10000 + + +COPY_EXISTING ~cdibclaw.bam~ ~override~ + ~cdidbone.bam~ ~override~ + ~cdideca.bam~ ~override~ + ~cdiibody.bam~ ~override~ + ~cdiltou.bam~ ~override~ + ~cdimoonb.bam~ ~override~ + ~cdismcud.bam~ ~override~ + ~cdiplybb.bam~ ~override~ + READ_LONG 0x0c frame_off + WRITE_LONG frame_off + 0x04 0 \ No newline at end of file diff --git a/iwdification/spl/cdi3sklm.spl b/iwdification/spl/cdi3sklm.spl new file mode 100644 index 0000000..450f023 Binary files /dev/null and b/iwdification/spl/cdi3sklm.spl differ diff --git a/iwdification/spl/cdia126.spl b/iwdification/spl/cdia126.spl new file mode 100644 index 0000000..6f69ff6 Binary files /dev/null and b/iwdification/spl/cdia126.spl differ diff --git a/iwdification/spl/cdia204.spl b/iwdification/spl/cdia204.spl new file mode 100644 index 0000000..8be151d Binary files /dev/null and b/iwdification/spl/cdia204.spl differ diff --git a/iwdification/spl/cdia216.spl b/iwdification/spl/cdia216.spl new file mode 100644 index 0000000..d8e98e0 Binary files /dev/null and b/iwdification/spl/cdia216.spl differ diff --git a/iwdification/spl/cdia225.spl b/iwdification/spl/cdia225.spl new file mode 100644 index 0000000..8a3cebf Binary files /dev/null and b/iwdification/spl/cdia225.spl differ diff --git a/iwdification/spl/cdia227.spl b/iwdification/spl/cdia227.spl new file mode 100644 index 0000000..433612d Binary files /dev/null and b/iwdification/spl/cdia227.spl differ diff --git a/iwdification/spl/cdia327.spl b/iwdification/spl/cdia327.spl new file mode 100644 index 0000000..5bc6cf2 Binary files /dev/null and b/iwdification/spl/cdia327.spl differ diff --git a/iwdification/spl/cdia328.spl b/iwdification/spl/cdia328.spl new file mode 100644 index 0000000..6881477 Binary files /dev/null and b/iwdification/spl/cdia328.spl differ diff --git a/iwdification/spl/cdia411.spl b/iwdification/spl/cdia411.spl new file mode 100644 index 0000000..cc8c6ca Binary files /dev/null and b/iwdification/spl/cdia411.spl differ diff --git a/iwdification/spl/cdia422.spl b/iwdification/spl/cdia422.spl new file mode 100644 index 0000000..3c7babd Binary files /dev/null and b/iwdification/spl/cdia422.spl differ diff --git a/iwdification/spl/cdia422a.spl b/iwdification/spl/cdia422a.spl new file mode 100644 index 0000000..9ac71db Binary files /dev/null and b/iwdification/spl/cdia422a.spl differ diff --git a/iwdification/spl/cdia426.spl b/iwdification/spl/cdia426.spl new file mode 100644 index 0000000..026032c Binary files /dev/null and b/iwdification/spl/cdia426.spl differ diff --git a/iwdification/spl/cdia427.spl b/iwdification/spl/cdia427.spl new file mode 100644 index 0000000..28cd8f0 Binary files /dev/null and b/iwdification/spl/cdia427.spl differ diff --git a/iwdification/spl/cdia428.spl b/iwdification/spl/cdia428.spl new file mode 100644 index 0000000..54636ee Binary files /dev/null and b/iwdification/spl/cdia428.spl differ diff --git a/iwdification/spl/cdia429.spl b/iwdification/spl/cdia429.spl new file mode 100644 index 0000000..f26111c Binary files /dev/null and b/iwdification/spl/cdia429.spl differ diff --git a/iwdification/spl/cdia430.spl b/iwdification/spl/cdia430.spl new file mode 100644 index 0000000..2733b2c Binary files /dev/null and b/iwdification/spl/cdia430.spl differ diff --git a/iwdification/spl/cdia430b.spl b/iwdification/spl/cdia430b.spl new file mode 100644 index 0000000..2735796 Binary files /dev/null and b/iwdification/spl/cdia430b.spl differ diff --git a/iwdification/spl/cdia431.spl b/iwdification/spl/cdia431.spl new file mode 100644 index 0000000..b622c6c Binary files /dev/null and b/iwdification/spl/cdia431.spl differ diff --git a/iwdification/spl/cdia432.spl b/iwdification/spl/cdia432.spl new file mode 100644 index 0000000..7f62962 Binary files /dev/null and b/iwdification/spl/cdia432.spl differ diff --git a/iwdification/spl/cdia432y.spl b/iwdification/spl/cdia432y.spl new file mode 100644 index 0000000..14a1a19 Binary files /dev/null and b/iwdification/spl/cdia432y.spl differ diff --git a/iwdification/spl/cdia432z.spl b/iwdification/spl/cdia432z.spl new file mode 100644 index 0000000..af996ef Binary files /dev/null and b/iwdification/spl/cdia432z.spl differ diff --git a/iwdification/spl/cdia480.spl b/iwdification/spl/cdia480.spl new file mode 100644 index 0000000..50f8400 Binary files /dev/null and b/iwdification/spl/cdia480.spl differ diff --git a/iwdification/spl/cdia481.spl b/iwdification/spl/cdia481.spl new file mode 100644 index 0000000..cbbfb7b Binary files /dev/null and b/iwdification/spl/cdia481.spl differ diff --git a/iwdification/spl/cdia482.spl b/iwdification/spl/cdia482.spl new file mode 100644 index 0000000..3b0a49d Binary files /dev/null and b/iwdification/spl/cdia482.spl differ diff --git a/iwdification/spl/cdia524.spl b/iwdification/spl/cdia524.spl new file mode 100644 index 0000000..ec5ffed Binary files /dev/null and b/iwdification/spl/cdia524.spl differ diff --git a/iwdification/spl/cdia524b.spl b/iwdification/spl/cdia524b.spl new file mode 100644 index 0000000..21a734c Binary files /dev/null and b/iwdification/spl/cdia524b.spl differ diff --git a/iwdification/spl/cdia525.spl b/iwdification/spl/cdia525.spl new file mode 100644 index 0000000..958681d Binary files /dev/null and b/iwdification/spl/cdia525.spl differ diff --git a/iwdification/spl/cdia526.spl b/iwdification/spl/cdia526.spl new file mode 100644 index 0000000..fe7a39d Binary files /dev/null and b/iwdification/spl/cdia526.spl differ diff --git a/iwdification/spl/cdia528.spl b/iwdification/spl/cdia528.spl new file mode 100644 index 0000000..e4246aa Binary files /dev/null and b/iwdification/spl/cdia528.spl differ diff --git a/iwdification/spl/cdia531.spl b/iwdification/spl/cdia531.spl new file mode 100644 index 0000000..7f1614d Binary files /dev/null and b/iwdification/spl/cdia531.spl differ diff --git a/iwdification/spl/cdia532.spl b/iwdification/spl/cdia532.spl new file mode 100644 index 0000000..3ad6484 Binary files /dev/null and b/iwdification/spl/cdia532.spl differ diff --git a/iwdification/spl/cdia533.spl b/iwdification/spl/cdia533.spl new file mode 100644 index 0000000..3c5bf01 Binary files /dev/null and b/iwdification/spl/cdia533.spl differ diff --git a/iwdification/spl/cdia534.spl b/iwdification/spl/cdia534.spl new file mode 100644 index 0000000..5668799 Binary files /dev/null and b/iwdification/spl/cdia534.spl differ diff --git a/iwdification/spl/cdia610.spl b/iwdification/spl/cdia610.spl new file mode 100644 index 0000000..3b99937 Binary files /dev/null and b/iwdification/spl/cdia610.spl differ diff --git a/iwdification/spl/cdia626.spl b/iwdification/spl/cdia626.spl new file mode 100644 index 0000000..68b6b1f Binary files /dev/null and b/iwdification/spl/cdia626.spl differ diff --git a/iwdification/spl/cdia626a.spl b/iwdification/spl/cdia626a.spl new file mode 100644 index 0000000..7b6c35f Binary files /dev/null and b/iwdification/spl/cdia626a.spl differ diff --git a/iwdification/spl/cdia627.spl b/iwdification/spl/cdia627.spl new file mode 100644 index 0000000..842e66b Binary files /dev/null and b/iwdification/spl/cdia627.spl differ diff --git a/iwdification/spl/cdia628.spl b/iwdification/spl/cdia628.spl new file mode 100644 index 0000000..dfc8769 Binary files /dev/null and b/iwdification/spl/cdia628.spl differ diff --git a/iwdification/spl/cdia629.spl b/iwdification/spl/cdia629.spl new file mode 100644 index 0000000..ec10b86 Binary files /dev/null and b/iwdification/spl/cdia629.spl differ diff --git a/iwdification/spl/cdia630.spl b/iwdification/spl/cdia630.spl new file mode 100644 index 0000000..8d0828e Binary files /dev/null and b/iwdification/spl/cdia630.spl differ diff --git a/iwdification/spl/cdia631.spl b/iwdification/spl/cdia631.spl new file mode 100644 index 0000000..287dfbf Binary files /dev/null and b/iwdification/spl/cdia631.spl differ diff --git a/iwdification/spl/cdia631b.spl b/iwdification/spl/cdia631b.spl new file mode 100644 index 0000000..0b7f12f Binary files /dev/null and b/iwdification/spl/cdia631b.spl differ diff --git a/iwdification/spl/cdia632.spl b/iwdification/spl/cdia632.spl new file mode 100644 index 0000000..5fb8073 Binary files /dev/null and b/iwdification/spl/cdia632.spl differ diff --git a/iwdification/spl/cdia706.spl b/iwdification/spl/cdia706.spl new file mode 100644 index 0000000..d72743b Binary files /dev/null and b/iwdification/spl/cdia706.spl differ diff --git a/iwdification/spl/cdia709.spl b/iwdification/spl/cdia709.spl new file mode 100644 index 0000000..b84f26d Binary files /dev/null and b/iwdification/spl/cdia709.spl differ diff --git a/iwdification/spl/cdia724.spl b/iwdification/spl/cdia724.spl new file mode 100644 index 0000000..f6cdc87 Binary files /dev/null and b/iwdification/spl/cdia724.spl differ diff --git a/iwdification/spl/cdia725.spl b/iwdification/spl/cdia725.spl new file mode 100644 index 0000000..afe0057 Binary files /dev/null and b/iwdification/spl/cdia725.spl differ diff --git a/iwdification/spl/cdia725t.spl b/iwdification/spl/cdia725t.spl new file mode 100644 index 0000000..641f005 Binary files /dev/null and b/iwdification/spl/cdia725t.spl differ diff --git a/iwdification/spl/cdia725u.spl b/iwdification/spl/cdia725u.spl new file mode 100644 index 0000000..0389975 Binary files /dev/null and b/iwdification/spl/cdia725u.spl differ diff --git a/iwdification/spl/cdia725v.spl b/iwdification/spl/cdia725v.spl new file mode 100644 index 0000000..336fb0d Binary files /dev/null and b/iwdification/spl/cdia725v.spl differ diff --git a/iwdification/spl/cdia725w.spl b/iwdification/spl/cdia725w.spl new file mode 100644 index 0000000..2533430 Binary files /dev/null and b/iwdification/spl/cdia725w.spl differ diff --git a/iwdification/spl/cdia725x.spl b/iwdification/spl/cdia725x.spl new file mode 100644 index 0000000..9d01fc0 Binary files /dev/null and b/iwdification/spl/cdia725x.spl differ diff --git a/iwdification/spl/cdia725y.spl b/iwdification/spl/cdia725y.spl new file mode 100644 index 0000000..5e216fb Binary files /dev/null and b/iwdification/spl/cdia725y.spl differ diff --git a/iwdification/spl/cdia725z.spl b/iwdification/spl/cdia725z.spl new file mode 100644 index 0000000..c383044 Binary files /dev/null and b/iwdification/spl/cdia725z.spl differ diff --git a/iwdification/spl/cdia726.spl b/iwdification/spl/cdia726.spl new file mode 100644 index 0000000..eea3380 Binary files /dev/null and b/iwdification/spl/cdia726.spl differ diff --git a/iwdification/spl/cdia801.spl b/iwdification/spl/cdia801.spl new file mode 100644 index 0000000..fafa60f Binary files /dev/null and b/iwdification/spl/cdia801.spl differ diff --git a/iwdification/spl/cdia802.spl b/iwdification/spl/cdia802.spl new file mode 100644 index 0000000..71a91d5 Binary files /dev/null and b/iwdification/spl/cdia802.spl differ diff --git a/iwdification/spl/cdia806.spl b/iwdification/spl/cdia806.spl new file mode 100644 index 0000000..bf026de Binary files /dev/null and b/iwdification/spl/cdia806.spl differ diff --git a/iwdification/spl/cdia814.spl b/iwdification/spl/cdia814.spl new file mode 100644 index 0000000..366eb43 Binary files /dev/null and b/iwdification/spl/cdia814.spl differ diff --git a/iwdification/spl/cdia901.spl b/iwdification/spl/cdia901.spl new file mode 100644 index 0000000..9159262 Binary files /dev/null and b/iwdification/spl/cdia901.spl differ diff --git a/iwdification/spl/cdibara.spl b/iwdification/spl/cdibara.spl index 5510a5a..2d4992e 100644 Binary files a/iwdification/spl/cdibara.spl and b/iwdification/spl/cdibara.spl differ diff --git a/iwdification/spl/cdibarb.spl b/iwdification/spl/cdibarb.spl index a5037c9..2e7f72e 100644 Binary files a/iwdification/spl/cdibarb.spl and b/iwdification/spl/cdibarb.spl differ diff --git a/iwdification/spl/cdibarc.spl b/iwdification/spl/cdibarc.spl index 88a1637..08fd558 100644 Binary files a/iwdification/spl/cdibarc.spl and b/iwdification/spl/cdibarc.spl differ diff --git a/iwdification/spl/cdibard.spl b/iwdification/spl/cdibard.spl index e20b523..89a79fe 100644 Binary files a/iwdification/spl/cdibard.spl and b/iwdification/spl/cdibard.spl differ diff --git a/iwdification/spl/cdibare.spl b/iwdification/spl/cdibare.spl index b1faa9c..5c4095a 100644 Binary files a/iwdification/spl/cdibare.spl and b/iwdification/spl/cdibare.spl differ diff --git a/iwdification/spl/cdibarf.spl b/iwdification/spl/cdibarf.spl index b1d3852..bcd2482 100644 Binary files a/iwdification/spl/cdibarf.spl and b/iwdification/spl/cdibarf.spl differ diff --git a/iwdification/spl/cdibombb.spl b/iwdification/spl/cdibombb.spl new file mode 100644 index 0000000..28d855d Binary files /dev/null and b/iwdification/spl/cdibombb.spl differ diff --git a/iwdification/spl/cdiclout.spl b/iwdification/spl/cdiclout.spl new file mode 100644 index 0000000..a97c7e3 Binary files /dev/null and b/iwdification/spl/cdiclout.spl differ diff --git a/iwdification/spl/cdid112.spl b/iwdification/spl/cdid112.spl new file mode 100644 index 0000000..c969c38 Binary files /dev/null and b/iwdification/spl/cdid112.spl differ diff --git a/iwdification/spl/cdid114.spl b/iwdification/spl/cdid114.spl new file mode 100644 index 0000000..c7ec157 Binary files /dev/null and b/iwdification/spl/cdid114.spl differ diff --git a/iwdification/spl/cdid115.spl b/iwdification/spl/cdid115.spl new file mode 100644 index 0000000..3ac8138 Binary files /dev/null and b/iwdification/spl/cdid115.spl differ diff --git a/iwdification/spl/cdid115d.spl b/iwdification/spl/cdid115d.spl new file mode 100644 index 0000000..94a2fc7 Binary files /dev/null and b/iwdification/spl/cdid115d.spl differ diff --git a/iwdification/spl/cdid217.spl b/iwdification/spl/cdid217.spl new file mode 100644 index 0000000..ed17dc3 Binary files /dev/null and b/iwdification/spl/cdid217.spl differ diff --git a/iwdification/spl/cdid218.spl b/iwdification/spl/cdid218.spl new file mode 100644 index 0000000..1d4578a Binary files /dev/null and b/iwdification/spl/cdid218.spl differ diff --git a/iwdification/spl/cdid219.spl b/iwdification/spl/cdid219.spl new file mode 100644 index 0000000..b7eb995 Binary files /dev/null and b/iwdification/spl/cdid219.spl differ diff --git a/iwdification/spl/cdid220.spl b/iwdification/spl/cdid220.spl new file mode 100644 index 0000000..9b02883 Binary files /dev/null and b/iwdification/spl/cdid220.spl differ diff --git a/iwdification/spl/cdid316.spl b/iwdification/spl/cdid316.spl new file mode 100644 index 0000000..547e450 Binary files /dev/null and b/iwdification/spl/cdid316.spl differ diff --git a/iwdification/spl/cdid316b.spl b/iwdification/spl/cdid316b.spl new file mode 100644 index 0000000..826da21 Binary files /dev/null and b/iwdification/spl/cdid316b.spl differ diff --git a/iwdification/spl/cdid316g.spl b/iwdification/spl/cdid316g.spl new file mode 100644 index 0000000..3b174c8 Binary files /dev/null and b/iwdification/spl/cdid316g.spl differ diff --git a/iwdification/spl/cdid320.spl b/iwdification/spl/cdid320.spl index 73a3658..3ccc33e 100644 Binary files a/iwdification/spl/cdid320.spl and b/iwdification/spl/cdid320.spl differ diff --git a/iwdification/spl/cdid321.spl b/iwdification/spl/cdid321.spl index b8afdb4..2b0501c 100644 Binary files a/iwdification/spl/cdid321.spl and b/iwdification/spl/cdid321.spl differ diff --git a/iwdification/spl/cdid322.spl b/iwdification/spl/cdid322.spl new file mode 100644 index 0000000..0acee87 Binary files /dev/null and b/iwdification/spl/cdid322.spl differ diff --git a/iwdification/spl/cdid323.spl b/iwdification/spl/cdid323.spl new file mode 100644 index 0000000..dd29721 Binary files /dev/null and b/iwdification/spl/cdid323.spl differ diff --git a/iwdification/spl/cdid323d.spl b/iwdification/spl/cdid323d.spl new file mode 100644 index 0000000..8f5f426 Binary files /dev/null and b/iwdification/spl/cdid323d.spl differ diff --git a/iwdification/spl/cdid324.spl b/iwdification/spl/cdid324.spl new file mode 100644 index 0000000..186c4b3 Binary files /dev/null and b/iwdification/spl/cdid324.spl differ diff --git a/iwdification/spl/cdid325.spl b/iwdification/spl/cdid325.spl new file mode 100644 index 0000000..5da1744 Binary files /dev/null and b/iwdification/spl/cdid325.spl differ diff --git a/iwdification/spl/cdid326.spl b/iwdification/spl/cdid326.spl new file mode 100644 index 0000000..8614d66 Binary files /dev/null and b/iwdification/spl/cdid326.spl differ diff --git a/iwdification/spl/cdid327.spl b/iwdification/spl/cdid327.spl new file mode 100644 index 0000000..51b9771 Binary files /dev/null and b/iwdification/spl/cdid327.spl differ diff --git a/iwdification/spl/cdid330.spl b/iwdification/spl/cdid330.spl new file mode 100644 index 0000000..e005561 Binary files /dev/null and b/iwdification/spl/cdid330.spl differ diff --git a/iwdification/spl/cdid331.spl b/iwdification/spl/cdid331.spl new file mode 100644 index 0000000..7d6a4ed Binary files /dev/null and b/iwdification/spl/cdid331.spl differ diff --git a/iwdification/spl/cdid418.spl b/iwdification/spl/cdid418.spl new file mode 100644 index 0000000..8fda624 Binary files /dev/null and b/iwdification/spl/cdid418.spl differ diff --git a/iwdification/spl/cdid419.spl b/iwdification/spl/cdid419.spl new file mode 100644 index 0000000..b4285eb Binary files /dev/null and b/iwdification/spl/cdid419.spl differ diff --git a/iwdification/spl/cdid420.spl b/iwdification/spl/cdid420.spl new file mode 100644 index 0000000..47e573f Binary files /dev/null and b/iwdification/spl/cdid420.spl differ diff --git a/iwdification/spl/cdid420b.spl b/iwdification/spl/cdid420b.spl new file mode 100644 index 0000000..b596b58 Binary files /dev/null and b/iwdification/spl/cdid420b.spl differ diff --git a/iwdification/spl/cdid421.spl b/iwdification/spl/cdid421.spl new file mode 100644 index 0000000..f8a939a Binary files /dev/null and b/iwdification/spl/cdid421.spl differ diff --git a/iwdification/spl/cdid421b.spl b/iwdification/spl/cdid421b.spl new file mode 100644 index 0000000..2bbe9c7 Binary files /dev/null and b/iwdification/spl/cdid421b.spl differ diff --git a/iwdification/spl/cdid421g.spl b/iwdification/spl/cdid421g.spl new file mode 100644 index 0000000..5fa33ff Binary files /dev/null and b/iwdification/spl/cdid421g.spl differ diff --git a/iwdification/spl/cdid422.spl b/iwdification/spl/cdid422.spl new file mode 100644 index 0000000..6bdb814 Binary files /dev/null and b/iwdification/spl/cdid422.spl differ diff --git a/iwdification/spl/cdid423.spl b/iwdification/spl/cdid423.spl new file mode 100644 index 0000000..d2d7296 Binary files /dev/null and b/iwdification/spl/cdid423.spl differ diff --git a/iwdification/spl/cdid424.spl b/iwdification/spl/cdid424.spl new file mode 100644 index 0000000..13f4bcb Binary files /dev/null and b/iwdification/spl/cdid424.spl differ diff --git a/iwdification/spl/cdid425.spl b/iwdification/spl/cdid425.spl new file mode 100644 index 0000000..54ff22c Binary files /dev/null and b/iwdification/spl/cdid425.spl differ diff --git a/iwdification/spl/cdid426.spl b/iwdification/spl/cdid426.spl new file mode 100644 index 0000000..501ebcb Binary files /dev/null and b/iwdification/spl/cdid426.spl differ diff --git a/iwdification/spl/cdid427.spl b/iwdification/spl/cdid427.spl new file mode 100644 index 0000000..252dd98 Binary files /dev/null and b/iwdification/spl/cdid427.spl differ diff --git a/iwdification/spl/cdid428.spl b/iwdification/spl/cdid428.spl new file mode 100644 index 0000000..d8c5635 Binary files /dev/null and b/iwdification/spl/cdid428.spl differ diff --git a/iwdification/spl/cdid428a.spl b/iwdification/spl/cdid428a.spl new file mode 100644 index 0000000..fc3e25b Binary files /dev/null and b/iwdification/spl/cdid428a.spl differ diff --git a/iwdification/spl/cdid428b.spl b/iwdification/spl/cdid428b.spl new file mode 100644 index 0000000..8e8b93d Binary files /dev/null and b/iwdification/spl/cdid428b.spl differ diff --git a/iwdification/spl/cdid518.spl b/iwdification/spl/cdid518.spl new file mode 100644 index 0000000..766e382 Binary files /dev/null and b/iwdification/spl/cdid518.spl differ diff --git a/iwdification/spl/cdid519.spl b/iwdification/spl/cdid519.spl new file mode 100644 index 0000000..d19df0a Binary files /dev/null and b/iwdification/spl/cdid519.spl differ diff --git a/iwdification/spl/cdid520.spl b/iwdification/spl/cdid520.spl new file mode 100644 index 0000000..772ff9d Binary files /dev/null and b/iwdification/spl/cdid520.spl differ diff --git a/iwdification/spl/cdid521.spl b/iwdification/spl/cdid521.spl new file mode 100644 index 0000000..c226d26 Binary files /dev/null and b/iwdification/spl/cdid521.spl differ diff --git a/iwdification/spl/cdid522.spl b/iwdification/spl/cdid522.spl new file mode 100644 index 0000000..887cac3 Binary files /dev/null and b/iwdification/spl/cdid522.spl differ diff --git a/iwdification/spl/cdid522b.spl b/iwdification/spl/cdid522b.spl new file mode 100644 index 0000000..33c955c Binary files /dev/null and b/iwdification/spl/cdid522b.spl differ diff --git a/iwdification/spl/cdid523.spl b/iwdification/spl/cdid523.spl new file mode 100644 index 0000000..d2a8e22 Binary files /dev/null and b/iwdification/spl/cdid523.spl differ diff --git a/iwdification/spl/cdid615.spl b/iwdification/spl/cdid615.spl new file mode 100644 index 0000000..0e8d8e1 Binary files /dev/null and b/iwdification/spl/cdid615.spl differ diff --git a/iwdification/spl/cdid617.spl b/iwdification/spl/cdid617.spl new file mode 100644 index 0000000..46dee85 Binary files /dev/null and b/iwdification/spl/cdid617.spl differ diff --git a/iwdification/spl/cdid618.spl b/iwdification/spl/cdid618.spl new file mode 100644 index 0000000..b5794e1 Binary files /dev/null and b/iwdification/spl/cdid618.spl differ diff --git a/iwdification/spl/cdid714.spl b/iwdification/spl/cdid714.spl new file mode 100644 index 0000000..b9ba8e2 Binary files /dev/null and b/iwdification/spl/cdid714.spl differ diff --git a/iwdification/spl/cdid716.spl b/iwdification/spl/cdid716.spl new file mode 100644 index 0000000..e493578 Binary files /dev/null and b/iwdification/spl/cdid716.spl differ diff --git a/iwdification/spl/cdid733.spl b/iwdification/spl/cdid733.spl new file mode 100644 index 0000000..617f228 Binary files /dev/null and b/iwdification/spl/cdid733.spl differ diff --git a/iwdification/spl/cdid734.spl b/iwdification/spl/cdid734.spl new file mode 100644 index 0000000..68ae10a Binary files /dev/null and b/iwdification/spl/cdid734.spl differ diff --git a/iwdification/spl/cdid735.spl b/iwdification/spl/cdid735.spl new file mode 100644 index 0000000..65c6a0b Binary files /dev/null and b/iwdification/spl/cdid735.spl differ diff --git a/iwdification/spl/cdid736.spl b/iwdification/spl/cdid736.spl new file mode 100644 index 0000000..638bd65 Binary files /dev/null and b/iwdification/spl/cdid736.spl differ diff --git a/iwdification/spl/cdid737.spl b/iwdification/spl/cdid737.spl new file mode 100644 index 0000000..3c37f3a Binary files /dev/null and b/iwdification/spl/cdid737.spl differ diff --git a/iwdification/spl/cdid739.spl b/iwdification/spl/cdid739.spl new file mode 100644 index 0000000..97c3787 Binary files /dev/null and b/iwdification/spl/cdid739.spl differ diff --git a/iwdification/spl/cdideca.spl b/iwdification/spl/cdideca.spl new file mode 100644 index 0000000..0c96442 Binary files /dev/null and b/iwdification/spl/cdideca.spl differ diff --git a/iwdification/spl/cdifire6.spl b/iwdification/spl/cdifire6.spl new file mode 100644 index 0000000..1164cde Binary files /dev/null and b/iwdification/spl/cdifire6.spl differ diff --git a/iwdification/spl/cdifros6.spl b/iwdification/spl/cdifros6.spl new file mode 100644 index 0000000..aff820e Binary files /dev/null and b/iwdification/spl/cdifros6.spl differ diff --git a/iwdification/spl/cdiphase.spl b/iwdification/spl/cdiphase.spl new file mode 100644 index 0000000..ac470f6 Binary files /dev/null and b/iwdification/spl/cdiphase.spl differ diff --git a/iwdification/spl/cdirwf00.spl b/iwdification/spl/cdirwf00.spl new file mode 100644 index 0000000..101e87c Binary files /dev/null and b/iwdification/spl/cdirwf00.spl differ diff --git a/iwdification/spl/cdirwf17.spl b/iwdification/spl/cdirwf17.spl new file mode 100644 index 0000000..a7ab086 Binary files /dev/null and b/iwdification/spl/cdirwf17.spl differ diff --git a/iwdification/spl/cdirwf99.spl b/iwdification/spl/cdirwf99.spl new file mode 100644 index 0000000..dd2de1b Binary files /dev/null and b/iwdification/spl/cdirwf99.spl differ diff --git a/iwdification/spl/cdisalfi.spl b/iwdification/spl/cdisalfi.spl new file mode 100644 index 0000000..3c00d4b Binary files /dev/null and b/iwdification/spl/cdisalfi.spl differ diff --git a/iwdification/spl/cdisalfr.spl b/iwdification/spl/cdisalfr.spl new file mode 100644 index 0000000..32c9a8d Binary files /dev/null and b/iwdification/spl/cdisalfr.spl differ diff --git a/iwdification/spl/cdishdw1.spl b/iwdification/spl/cdishdw1.spl new file mode 100644 index 0000000..417f206 Binary files /dev/null and b/iwdification/spl/cdishdw1.spl differ diff --git a/iwdification/spl/cdishmbl.spl b/iwdification/spl/cdishmbl.spl new file mode 100644 index 0000000..db814e0 Binary files /dev/null and b/iwdification/spl/cdishmbl.spl differ diff --git a/iwdification/spl/cditrdie.spl b/iwdification/spl/cditrdie.spl new file mode 100644 index 0000000..5ce1a85 Binary files /dev/null and b/iwdification/spl/cditrdie.spl differ diff --git a/iwdification/spl/cdiumbr1.spl b/iwdification/spl/cdiumbr1.spl new file mode 100644 index 0000000..21f4419 Binary files /dev/null and b/iwdification/spl/cdiumbr1.spl differ diff --git a/iwdification/spl/cdiumbr2.spl b/iwdification/spl/cdiumbr2.spl new file mode 100644 index 0000000..de1de9b Binary files /dev/null and b/iwdification/spl/cdiumbr2.spl differ diff --git a/iwdification/spl/cloudv.spl b/iwdification/spl/cloudv.spl new file mode 100644 index 0000000..a8e53f0 Binary files /dev/null and b/iwdification/spl/cloudv.spl differ diff --git a/iwdification/vvc/cdi7ey.vvc b/iwdification/vvc/cdi7ey.vvc new file mode 100644 index 0000000..e87b355 Binary files /dev/null and b/iwdification/vvc/cdi7ey.vvc differ diff --git a/iwdification/vvc/cdi7ey1a.vvc b/iwdification/vvc/cdi7ey1a.vvc new file mode 100644 index 0000000..749a236 Binary files /dev/null and b/iwdification/vvc/cdi7ey1a.vvc differ diff --git a/iwdification/vvc/cdi7ey1b.vvc b/iwdification/vvc/cdi7ey1b.vvc new file mode 100644 index 0000000..75e5f74 Binary files /dev/null and b/iwdification/vvc/cdi7ey1b.vvc differ diff --git a/iwdification/vvc/cdi7ey1c.vvc b/iwdification/vvc/cdi7ey1c.vvc new file mode 100644 index 0000000..1d8a920 Binary files /dev/null and b/iwdification/vvc/cdi7ey1c.vvc differ diff --git a/iwdification/vvc/cdi7ey1d.vvc b/iwdification/vvc/cdi7ey1d.vvc new file mode 100644 index 0000000..8f9797b Binary files /dev/null and b/iwdification/vvc/cdi7ey1d.vvc differ diff --git a/iwdification/vvc/cdi7ey1e.vvc b/iwdification/vvc/cdi7ey1e.vvc new file mode 100644 index 0000000..c906c36 Binary files /dev/null and b/iwdification/vvc/cdi7ey1e.vvc differ diff --git a/iwdification/vvc/cdi7ey1f.vvc b/iwdification/vvc/cdi7ey1f.vvc new file mode 100644 index 0000000..c7b2f03 Binary files /dev/null and b/iwdification/vvc/cdi7ey1f.vvc differ diff --git a/iwdification/vvc/cdi7ey1g.vvc b/iwdification/vvc/cdi7ey1g.vvc new file mode 100644 index 0000000..bab89f9 Binary files /dev/null and b/iwdification/vvc/cdi7ey1g.vvc differ diff --git a/iwdification/vvc/cdi7ey2a.vvc b/iwdification/vvc/cdi7ey2a.vvc new file mode 100644 index 0000000..fb2390c Binary files /dev/null and b/iwdification/vvc/cdi7ey2a.vvc differ diff --git a/iwdification/vvc/cdi7ey2b.vvc b/iwdification/vvc/cdi7ey2b.vvc new file mode 100644 index 0000000..5fa05be Binary files /dev/null and b/iwdification/vvc/cdi7ey2b.vvc differ diff --git a/iwdification/vvc/cdi7ey2c.vvc b/iwdification/vvc/cdi7ey2c.vvc new file mode 100644 index 0000000..2e21f9d Binary files /dev/null and b/iwdification/vvc/cdi7ey2c.vvc differ diff --git a/iwdification/vvc/cdi7ey2d.vvc b/iwdification/vvc/cdi7ey2d.vvc new file mode 100644 index 0000000..2165fac Binary files /dev/null and b/iwdification/vvc/cdi7ey2d.vvc differ diff --git a/iwdification/vvc/cdi7ey2e.vvc b/iwdification/vvc/cdi7ey2e.vvc new file mode 100644 index 0000000..21ee1bd Binary files /dev/null and b/iwdification/vvc/cdi7ey2e.vvc differ diff --git a/iwdification/vvc/cdi7ey2f.vvc b/iwdification/vvc/cdi7ey2f.vvc new file mode 100644 index 0000000..d840aa1 Binary files /dev/null and b/iwdification/vvc/cdi7ey2f.vvc differ diff --git a/iwdification/vvc/cdi7ey2g.vvc b/iwdification/vvc/cdi7ey2g.vvc new file mode 100644 index 0000000..be805c5 Binary files /dev/null and b/iwdification/vvc/cdi7ey2g.vvc differ diff --git a/iwdification/vvc/cdia7240.vvc b/iwdification/vvc/cdia7240.vvc new file mode 100644 index 0000000..c4c39b8 Binary files /dev/null and b/iwdification/vvc/cdia7240.vvc differ diff --git a/iwdification/vvc/cdia7241.vvc b/iwdification/vvc/cdia7241.vvc new file mode 100644 index 0000000..1254c8d Binary files /dev/null and b/iwdification/vvc/cdia7241.vvc differ diff --git a/iwdification/vvc/cdia7242.vvc b/iwdification/vvc/cdia7242.vvc new file mode 100644 index 0000000..883c595 Binary files /dev/null and b/iwdification/vvc/cdia7242.vvc differ diff --git a/iwdification/vvc/cdia7243.vvc b/iwdification/vvc/cdia7243.vvc new file mode 100644 index 0000000..e937a76 Binary files /dev/null and b/iwdification/vvc/cdia7243.vvc differ diff --git a/iwdification/vvc/cdia7244.vvc b/iwdification/vvc/cdia7244.vvc new file mode 100644 index 0000000..6a413b5 Binary files /dev/null and b/iwdification/vvc/cdia7244.vvc differ diff --git a/iwdification/vvc/cdia7245.vvc b/iwdification/vvc/cdia7245.vvc new file mode 100644 index 0000000..d3b5358 Binary files /dev/null and b/iwdification/vvc/cdia7245.vvc differ diff --git a/iwdification/vvc/cdia7246.vvc b/iwdification/vvc/cdia7246.vvc new file mode 100644 index 0000000..004c659 Binary files /dev/null and b/iwdification/vvc/cdia7246.vvc differ diff --git a/iwdification/vvc/cdia7247.vvc b/iwdification/vvc/cdia7247.vvc new file mode 100644 index 0000000..575fc83 Binary files /dev/null and b/iwdification/vvc/cdia7247.vvc differ diff --git a/iwdification/vvc/cdia7248.vvc b/iwdification/vvc/cdia7248.vvc new file mode 100644 index 0000000..07c5ded Binary files /dev/null and b/iwdification/vvc/cdia7248.vvc differ diff --git a/iwdification/vvc/cdia7249.vvc b/iwdification/vvc/cdia7249.vvc new file mode 100644 index 0000000..1cc7c17 Binary files /dev/null and b/iwdification/vvc/cdia7249.vvc differ diff --git a/iwdification/vvc/cdia724x.vvc b/iwdification/vvc/cdia724x.vvc new file mode 100644 index 0000000..ee0d2bc Binary files /dev/null and b/iwdification/vvc/cdia724x.vvc differ diff --git a/iwdification/vvc/cdia724y.vvc b/iwdification/vvc/cdia724y.vvc new file mode 100644 index 0000000..4fc6bf4 Binary files /dev/null and b/iwdification/vvc/cdia724y.vvc differ diff --git a/iwdification/vvc/cdia724z.vvc b/iwdification/vvc/cdia724z.vvc new file mode 100644 index 0000000..006f161 Binary files /dev/null and b/iwdification/vvc/cdia724z.vvc differ diff --git a/iwdification/vvc/cdia7260.vvc b/iwdification/vvc/cdia7260.vvc new file mode 100644 index 0000000..202e41c Binary files /dev/null and b/iwdification/vvc/cdia7260.vvc differ diff --git a/iwdification/vvc/cdia7261.vvc b/iwdification/vvc/cdia7261.vvc new file mode 100644 index 0000000..4f5f2dc Binary files /dev/null and b/iwdification/vvc/cdia7261.vvc differ diff --git a/iwdification/vvc/cdia7262.vvc b/iwdification/vvc/cdia7262.vvc new file mode 100644 index 0000000..1603476 Binary files /dev/null and b/iwdification/vvc/cdia7262.vvc differ diff --git a/iwdification/vvc/cdia7263.vvc b/iwdification/vvc/cdia7263.vvc new file mode 100644 index 0000000..9d1c0d0 Binary files /dev/null and b/iwdification/vvc/cdia7263.vvc differ diff --git a/iwdification/vvc/cdia7264.vvc b/iwdification/vvc/cdia7264.vvc new file mode 100644 index 0000000..2755efa Binary files /dev/null and b/iwdification/vvc/cdia7264.vvc differ diff --git a/iwdification/vvc/cdia7265.vvc b/iwdification/vvc/cdia7265.vvc new file mode 100644 index 0000000..73a3505 Binary files /dev/null and b/iwdification/vvc/cdia7265.vvc differ diff --git a/iwdification/vvc/cdiabjur.vvc b/iwdification/vvc/cdiabjur.vvc new file mode 100644 index 0000000..fdb5625 Binary files /dev/null and b/iwdification/vvc/cdiabjur.vvc differ diff --git a/iwdification/vvc/cdiacid.vvc b/iwdification/vvc/cdiacid.vvc new file mode 100644 index 0000000..e42f005 Binary files /dev/null and b/iwdification/vvc/cdiacid.vvc differ diff --git a/iwdification/vvc/cdialter.vvc b/iwdification/vvc/cdialter.vvc new file mode 100644 index 0000000..c24496b Binary files /dev/null and b/iwdification/vvc/cdialter.vvc differ diff --git a/iwdification/vvc/cdiamags.vvc b/iwdification/vvc/cdiamags.vvc new file mode 100644 index 0000000..e1425a5 Binary files /dev/null and b/iwdification/vvc/cdiamags.vvc differ diff --git a/iwdification/vvc/cdiasm1x.vvc b/iwdification/vvc/cdiasm1x.vvc new file mode 100644 index 0000000..ca95be2 Binary files /dev/null and b/iwdification/vvc/cdiasm1x.vvc differ diff --git a/iwdification/vvc/cdibhcld.vvc b/iwdification/vvc/cdibhcld.vvc new file mode 100644 index 0000000..1bcdffa Binary files /dev/null and b/iwdification/vvc/cdibhcld.vvc differ diff --git a/iwdification/vvc/cdibless.vvc b/iwdification/vvc/cdibless.vvc new file mode 100644 index 0000000..02d7634 Binary files /dev/null and b/iwdification/vvc/cdibless.vvc differ diff --git a/iwdification/vvc/cdibone1.vvc b/iwdification/vvc/cdibone1.vvc new file mode 100644 index 0000000..be77ec0 Binary files /dev/null and b/iwdification/vvc/cdibone1.vvc differ diff --git a/iwdification/vvc/cdibone2.vvc b/iwdification/vvc/cdibone2.vvc new file mode 100644 index 0000000..eca1cdd Binary files /dev/null and b/iwdification/vvc/cdibone2.vvc differ diff --git a/iwdification/vvc/cdiceelx.vvc b/iwdification/vvc/cdiceelx.vvc new file mode 100644 index 0000000..597bda5 Binary files /dev/null and b/iwdification/vvc/cdiceelx.vvc differ diff --git a/iwdification/vvc/cdicfelx.vvc b/iwdification/vvc/cdicfelx.vvc new file mode 100644 index 0000000..63fcfb8 Binary files /dev/null and b/iwdification/vvc/cdicfelx.vvc differ diff --git a/iwdification/vvc/cdicldam.vvc b/iwdification/vvc/cdicldam.vvc new file mode 100644 index 0000000..8d0dc85 Binary files /dev/null and b/iwdification/vvc/cdicldam.vvc differ diff --git a/iwdification/vvc/cdicmdam.vvc b/iwdification/vvc/cdicmdam.vvc new file mode 100644 index 0000000..30851f1 Binary files /dev/null and b/iwdification/vvc/cdicmdam.vvc differ diff --git a/iwdification/vvc/cdicmwou.vvc b/iwdification/vvc/cdicmwou.vvc new file mode 100644 index 0000000..c38e1e5 Binary files /dev/null and b/iwdification/vvc/cdicmwou.vvc differ diff --git a/iwdification/vvc/cdiconju.vvc b/iwdification/vvc/cdiconju.vvc new file mode 100644 index 0000000..2c9ee4f Binary files /dev/null and b/iwdification/vvc/cdiconju.vvc differ diff --git a/iwdification/vvc/cdicurse.vvc b/iwdification/vvc/cdicurse.vvc new file mode 100644 index 0000000..f93dc44 Binary files /dev/null and b/iwdification/vvc/cdicurse.vvc differ diff --git a/iwdification/vvc/cdicwelx.vvc b/iwdification/vvc/cdicwelx.vvc new file mode 100644 index 0000000..54de021 Binary files /dev/null and b/iwdification/vvc/cdicwelx.vvc differ diff --git a/iwdification/vvc/cdid1151.vvc b/iwdification/vvc/cdid1151.vvc new file mode 100644 index 0000000..97d5f2a Binary files /dev/null and b/iwdification/vvc/cdid1151.vvc differ diff --git a/iwdification/vvc/cdid1152.vvc b/iwdification/vvc/cdid1152.vvc new file mode 100644 index 0000000..8ba5edb Binary files /dev/null and b/iwdification/vvc/cdid1152.vvc differ diff --git a/iwdification/vvc/cdid1153.vvc b/iwdification/vvc/cdid1153.vvc new file mode 100644 index 0000000..fe73454 Binary files /dev/null and b/iwdification/vvc/cdid1153.vvc differ diff --git a/iwdification/vvc/cdid1154.vvc b/iwdification/vvc/cdid1154.vvc new file mode 100644 index 0000000..028a75c Binary files /dev/null and b/iwdification/vvc/cdid1154.vvc differ diff --git a/iwdification/vvc/cdid3240.vvc b/iwdification/vvc/cdid3240.vvc new file mode 100644 index 0000000..3ca8e3c Binary files /dev/null and b/iwdification/vvc/cdid3240.vvc differ diff --git a/iwdification/vvc/cdid3241.vvc b/iwdification/vvc/cdid3241.vvc new file mode 100644 index 0000000..5e78405 Binary files /dev/null and b/iwdification/vvc/cdid3241.vvc differ diff --git a/iwdification/vvc/cdid3242.vvc b/iwdification/vvc/cdid3242.vvc new file mode 100644 index 0000000..ce4633f Binary files /dev/null and b/iwdification/vvc/cdid3242.vvc differ diff --git a/iwdification/vvc/cdid3243.vvc b/iwdification/vvc/cdid3243.vvc new file mode 100644 index 0000000..db1a4f6 Binary files /dev/null and b/iwdification/vvc/cdid3243.vvc differ diff --git a/iwdification/vvc/cdid3244.vvc b/iwdification/vvc/cdid3244.vvc new file mode 100644 index 0000000..fe4bd69 Binary files /dev/null and b/iwdification/vvc/cdid3244.vvc differ diff --git a/iwdification/vvc/cdid3245.vvc b/iwdification/vvc/cdid3245.vvc new file mode 100644 index 0000000..cd1f929 Binary files /dev/null and b/iwdification/vvc/cdid3245.vvc differ diff --git a/iwdification/vvc/cdid3250.vvc b/iwdification/vvc/cdid3250.vvc new file mode 100644 index 0000000..fe2cdad Binary files /dev/null and b/iwdification/vvc/cdid3250.vvc differ diff --git a/iwdification/vvc/cdid3251.vvc b/iwdification/vvc/cdid3251.vvc new file mode 100644 index 0000000..1bb48fb Binary files /dev/null and b/iwdification/vvc/cdid3251.vvc differ diff --git a/iwdification/vvc/cdid4230.vvc b/iwdification/vvc/cdid4230.vvc new file mode 100644 index 0000000..a833043 Binary files /dev/null and b/iwdification/vvc/cdid4230.vvc differ diff --git a/iwdification/vvc/cdid4231.vvc b/iwdification/vvc/cdid4231.vvc new file mode 100644 index 0000000..fdefd5d Binary files /dev/null and b/iwdification/vvc/cdid4231.vvc differ diff --git a/iwdification/vvc/cdid4232.vvc b/iwdification/vvc/cdid4232.vvc new file mode 100644 index 0000000..ea34625 Binary files /dev/null and b/iwdification/vvc/cdid4232.vvc differ diff --git a/iwdification/vvc/cdid4233.vvc b/iwdification/vvc/cdid4233.vvc new file mode 100644 index 0000000..54b52a9 Binary files /dev/null and b/iwdification/vvc/cdid4233.vvc differ diff --git a/iwdification/vvc/cdid4234.vvc b/iwdification/vvc/cdid4234.vvc new file mode 100644 index 0000000..4773009 Binary files /dev/null and b/iwdification/vvc/cdid4234.vvc differ diff --git a/iwdification/vvc/cdid4235.vvc b/iwdification/vvc/cdid4235.vvc new file mode 100644 index 0000000..954e1ee Binary files /dev/null and b/iwdification/vvc/cdid4235.vvc differ diff --git a/iwdification/vvc/cdid4236.vvc b/iwdification/vvc/cdid4236.vvc new file mode 100644 index 0000000..8ffd335 Binary files /dev/null and b/iwdification/vvc/cdid4236.vvc differ diff --git a/iwdification/vvc/cdid4237.vvc b/iwdification/vvc/cdid4237.vvc new file mode 100644 index 0000000..185616b Binary files /dev/null and b/iwdification/vvc/cdid4237.vvc differ diff --git a/iwdification/vvc/cdid4238.vvc b/iwdification/vvc/cdid4238.vvc new file mode 100644 index 0000000..471e36e Binary files /dev/null and b/iwdification/vvc/cdid4238.vvc differ diff --git a/iwdification/vvc/cdid4239.vvc b/iwdification/vvc/cdid4239.vvc new file mode 100644 index 0000000..044d80a Binary files /dev/null and b/iwdification/vvc/cdid4239.vvc differ diff --git a/iwdification/vvc/cdid5190.vvc b/iwdification/vvc/cdid5190.vvc new file mode 100644 index 0000000..f9cccfb Binary files /dev/null and b/iwdification/vvc/cdid5190.vvc differ diff --git a/iwdification/vvc/cdid5191.vvc b/iwdification/vvc/cdid5191.vvc new file mode 100644 index 0000000..1e22349 Binary files /dev/null and b/iwdification/vvc/cdid5191.vvc differ diff --git a/iwdification/vvc/cdid5192.vvc b/iwdification/vvc/cdid5192.vvc new file mode 100644 index 0000000..f99549f Binary files /dev/null and b/iwdification/vvc/cdid5192.vvc differ diff --git a/iwdification/vvc/cdid5193.vvc b/iwdification/vvc/cdid5193.vvc new file mode 100644 index 0000000..908160b Binary files /dev/null and b/iwdification/vvc/cdid5193.vvc differ diff --git a/iwdification/vvc/cdid5194.vvc b/iwdification/vvc/cdid5194.vvc new file mode 100644 index 0000000..cb04f45 Binary files /dev/null and b/iwdification/vvc/cdid5194.vvc differ diff --git a/iwdification/vvc/cdid5195.vvc b/iwdification/vvc/cdid5195.vvc new file mode 100644 index 0000000..024af6d Binary files /dev/null and b/iwdification/vvc/cdid5195.vvc differ diff --git a/iwdification/vvc/cdid7360.vvc b/iwdification/vvc/cdid7360.vvc new file mode 100644 index 0000000..7d70bf7 Binary files /dev/null and b/iwdification/vvc/cdid7360.vvc differ diff --git a/iwdification/vvc/cdid7361.vvc b/iwdification/vvc/cdid7361.vvc new file mode 100644 index 0000000..3dea338 Binary files /dev/null and b/iwdification/vvc/cdid7361.vvc differ diff --git a/iwdification/vvc/cdid7362.vvc b/iwdification/vvc/cdid7362.vvc new file mode 100644 index 0000000..0cdeed0 Binary files /dev/null and b/iwdification/vvc/cdid7362.vvc differ diff --git a/iwdification/vvc/cdid7363.vvc b/iwdification/vvc/cdid7363.vvc new file mode 100644 index 0000000..2b1d754 Binary files /dev/null and b/iwdification/vvc/cdid7363.vvc differ diff --git a/iwdification/vvc/cdid7364.vvc b/iwdification/vvc/cdid7364.vvc new file mode 100644 index 0000000..ef9b52e Binary files /dev/null and b/iwdification/vvc/cdid7364.vvc differ diff --git a/iwdification/vvc/cdid7365.vvc b/iwdification/vvc/cdid7365.vvc new file mode 100644 index 0000000..9ee4a0b Binary files /dev/null and b/iwdification/vvc/cdid7365.vvc differ diff --git a/iwdification/vvc/cdid7366.vvc b/iwdification/vvc/cdid7366.vvc new file mode 100644 index 0000000..14d3049 Binary files /dev/null and b/iwdification/vvc/cdid7366.vvc differ diff --git a/iwdification/vvc/cdid7367.vvc b/iwdification/vvc/cdid7367.vvc new file mode 100644 index 0000000..eae8785 Binary files /dev/null and b/iwdification/vvc/cdid7367.vvc differ diff --git a/iwdification/vvc/cdidestr.vvc b/iwdification/vvc/cdidestr.vvc new file mode 100644 index 0000000..c4c9ff1 Binary files /dev/null and b/iwdification/vvc/cdidestr.vvc differ diff --git a/iwdification/vvc/cdidise.vvc b/iwdification/vvc/cdidise.vvc new file mode 100644 index 0000000..6fd3634 Binary files /dev/null and b/iwdification/vvc/cdidise.vvc differ diff --git a/iwdification/vvc/cdidivin.vvc b/iwdification/vvc/cdidivin.vvc new file mode 100644 index 0000000..a325997 Binary files /dev/null and b/iwdification/vvc/cdidivin.vvc differ diff --git a/iwdification/vvc/cdidoorh.vvc b/iwdification/vvc/cdidoorh.vvc new file mode 100644 index 0000000..696c2e8 Binary files /dev/null and b/iwdification/vvc/cdidoorh.vvc differ diff --git a/iwdification/vvc/cdiencha.vvc b/iwdification/vvc/cdiencha.vvc new file mode 100644 index 0000000..09b4c40 Binary files /dev/null and b/iwdification/vvc/cdiencha.vvc differ diff --git a/iwdification/vvc/cdientro.vvc b/iwdification/vvc/cdientro.vvc new file mode 100644 index 0000000..06e71e5 Binary files /dev/null and b/iwdification/vvc/cdientro.vvc differ diff --git a/iwdification/vvc/cdiexalt.vvc b/iwdification/vvc/cdiexalt.vvc new file mode 100644 index 0000000..a830721 Binary files /dev/null and b/iwdification/vvc/cdiexalt.vvc differ diff --git a/iwdification/vvc/cdigabju.vvc b/iwdification/vvc/cdigabju.vvc new file mode 100644 index 0000000..bc0da74 Binary files /dev/null and b/iwdification/vvc/cdigabju.vvc differ diff --git a/iwdification/vvc/cdigench.vvc b/iwdification/vvc/cdigench.vvc new file mode 100644 index 0000000..3427532 Binary files /dev/null and b/iwdification/vvc/cdigench.vvc differ diff --git a/iwdification/vvc/cdiinvoc.vvc b/iwdification/vvc/cdiinvoc.vvc new file mode 100644 index 0000000..e7e3e47 Binary files /dev/null and b/iwdification/vvc/cdiinvoc.vvc differ diff --git a/iwdification/vvc/cdilatg1.vvc b/iwdification/vvc/cdilatg1.vvc new file mode 100644 index 0000000..9e9c37e Binary files /dev/null and b/iwdification/vvc/cdilatg1.vvc differ diff --git a/iwdification/vvc/cdilatg2.vvc b/iwdification/vvc/cdilatg2.vvc new file mode 100644 index 0000000..7d907f3 Binary files /dev/null and b/iwdification/vvc/cdilatg2.vvc differ diff --git a/iwdification/vvc/cdilatl1.vvc b/iwdification/vvc/cdilatl1.vvc new file mode 100644 index 0000000..d62d9dd Binary files /dev/null and b/iwdification/vvc/cdilatl1.vvc differ diff --git a/iwdification/vvc/cdilatl2.vvc b/iwdification/vvc/cdilatl2.vvc new file mode 100644 index 0000000..94ab42a Binary files /dev/null and b/iwdification/vvc/cdilatl2.vvc differ diff --git a/iwdification/vvc/cdimalrg.vvc b/iwdification/vvc/cdimalrg.vvc new file mode 100644 index 0000000..a567de7 Binary files /dev/null and b/iwdification/vvc/cdimalrg.vvc differ diff --git a/iwdification/vvc/cdimfmsx.vvc b/iwdification/vvc/cdimfmsx.vvc new file mode 100644 index 0000000..c69f543 Binary files /dev/null and b/iwdification/vvc/cdimfmsx.vvc differ diff --git a/iwdification/vvc/cdimoldt.vvc b/iwdification/vvc/cdimoldt.vvc new file mode 100644 index 0000000..27bf9dc Binary files /dev/null and b/iwdification/vvc/cdimoldt.vvc differ diff --git a/iwdification/vvc/cdimoonx.vvc b/iwdification/vvc/cdimoonx.vvc new file mode 100644 index 0000000..24eb4fe Binary files /dev/null and b/iwdification/vvc/cdimoonx.vvc differ diff --git a/iwdification/vvc/cdimrage.vvc b/iwdification/vvc/cdimrage.vvc new file mode 100644 index 0000000..877fabf Binary files /dev/null and b/iwdification/vvc/cdimrage.vvc differ diff --git a/iwdification/vvc/cdimsm1h.vvc b/iwdification/vvc/cdimsm1h.vvc new file mode 100644 index 0000000..b14733e Binary files /dev/null and b/iwdification/vvc/cdimsm1h.vvc differ diff --git a/iwdification/vvc/cdimsm1x.vvc b/iwdification/vvc/cdimsm1x.vvc new file mode 100644 index 0000000..4e4f9c5 Binary files /dev/null and b/iwdification/vvc/cdimsm1x.vvc differ diff --git a/iwdification/vvc/cdinecro.vvc b/iwdification/vvc/cdinecro.vvc new file mode 100644 index 0000000..30ea3a2 Binary files /dev/null and b/iwdification/vvc/cdinecro.vvc differ diff --git a/iwdification/vvc/cdiparal.vvc b/iwdification/vvc/cdiparal.vvc new file mode 100644 index 0000000..98e8e7d Binary files /dev/null and b/iwdification/vvc/cdiparal.vvc differ diff --git a/iwdification/vvc/cdiprayg.vvc b/iwdification/vvc/cdiprayg.vvc new file mode 100644 index 0000000..f6237e7 Binary files /dev/null and b/iwdification/vvc/cdiprayg.vvc differ diff --git a/iwdification/vvc/cdiprayh.vvc b/iwdification/vvc/cdiprayh.vvc new file mode 100644 index 0000000..2d7a7b8 Binary files /dev/null and b/iwdification/vvc/cdiprayh.vvc differ diff --git a/iwdification/vvc/cdiprfir.vvc b/iwdification/vvc/cdiprfir.vvc new file mode 100644 index 0000000..65f2571 Binary files /dev/null and b/iwdification/vvc/cdiprfir.vvc differ diff --git a/iwdification/vvc/cdirecig.vvc b/iwdification/vvc/cdirecig.vvc new file mode 100644 index 0000000..5223b4e Binary files /dev/null and b/iwdification/vvc/cdirecig.vvc differ diff --git a/iwdification/vvc/cdirecih.vvc b/iwdification/vvc/cdirecih.vvc new file mode 100644 index 0000000..f249b31 Binary files /dev/null and b/iwdification/vvc/cdirecih.vvc differ diff --git a/iwdification/vvc/cdirwtfg.vvc b/iwdification/vvc/cdirwtfg.vvc new file mode 100644 index 0000000..7b1d82b Binary files /dev/null and b/iwdification/vvc/cdirwtfg.vvc differ diff --git a/iwdification/vvc/cdirwtfh.vvc b/iwdification/vvc/cdirwtfh.vvc new file mode 100644 index 0000000..60b28de Binary files /dev/null and b/iwdification/vvc/cdirwtfh.vvc differ diff --git a/iwdification/vvc/cdisalfi.vvc b/iwdification/vvc/cdisalfi.vvc new file mode 100644 index 0000000..3266ca1 Binary files /dev/null and b/iwdification/vvc/cdisalfi.vvc differ diff --git a/iwdification/vvc/cdisalfr.vvc b/iwdification/vvc/cdisalfr.vvc new file mode 100644 index 0000000..5e0267e Binary files /dev/null and b/iwdification/vvc/cdisalfr.vvc differ diff --git a/iwdification/vvc/cdiseata.vvc b/iwdification/vvc/cdiseata.vvc new file mode 100644 index 0000000..3ccf69e Binary files /dev/null and b/iwdification/vvc/cdiseata.vvc differ diff --git a/iwdification/vvc/cdiseath.vvc b/iwdification/vvc/cdiseath.vvc new file mode 100644 index 0000000..08ac8ef Binary files /dev/null and b/iwdification/vvc/cdiseath.vvc differ diff --git a/iwdification/vvc/cdisgrwa.vvc b/iwdification/vvc/cdisgrwa.vvc new file mode 100644 index 0000000..371d61b Binary files /dev/null and b/iwdification/vvc/cdisgrwa.vvc differ diff --git a/iwdification/vvc/cdisgrwx.vvc b/iwdification/vvc/cdisgrwx.vvc new file mode 100644 index 0000000..9d4d319 Binary files /dev/null and b/iwdification/vvc/cdisgrwx.vvc differ diff --git a/iwdification/vvc/cdishglp.vvc b/iwdification/vvc/cdishglp.vvc new file mode 100644 index 0000000..be26960 Binary files /dev/null and b/iwdification/vvc/cdishglp.vvc differ diff --git a/iwdification/vvc/cdisofl.vvc b/iwdification/vvc/cdisofl.vvc new file mode 100644 index 0000000..e870a9b Binary files /dev/null and b/iwdification/vvc/cdisofl.vvc differ diff --git a/iwdification/vvc/cdisohx.vvc b/iwdification/vvc/cdisohx.vvc new file mode 100644 index 0000000..b9caa7b Binary files /dev/null and b/iwdification/vvc/cdisohx.vvc differ diff --git a/iwdification/vvc/cdissswa.vvc b/iwdification/vvc/cdissswa.vvc new file mode 100644 index 0000000..088ee8c Binary files /dev/null and b/iwdification/vvc/cdissswa.vvc differ diff --git a/iwdification/vvc/cdistath.vvc b/iwdification/vvc/cdistath.vvc new file mode 100644 index 0000000..f2f6d84 Binary files /dev/null and b/iwdification/vvc/cdistath.vvc differ diff --git a/iwdification/vvc/cdistone.vvc b/iwdification/vvc/cdistone.vvc new file mode 100644 index 0000000..722aee9 Binary files /dev/null and b/iwdification/vvc/cdistone.vvc differ diff --git a/iwdification/vvc/cdistorm.vvc b/iwdification/vvc/cdistorm.vvc new file mode 100644 index 0000000..4fb74f8 Binary files /dev/null and b/iwdification/vvc/cdistorm.vvc differ diff --git a/iwdification/vvc/cdisuffo.vvc b/iwdification/vvc/cdisuffo.vvc new file mode 100644 index 0000000..cf71013 Binary files /dev/null and b/iwdification/vvc/cdisuffo.vvc differ diff --git a/iwdification/vvc/cdisunsc.vvc b/iwdification/vvc/cdisunsc.vvc new file mode 100644 index 0000000..99ad29b Binary files /dev/null and b/iwdification/vvc/cdisunsc.vvc differ diff --git a/iwdification/vvc/cdiswavh.vvc b/iwdification/vvc/cdiswavh.vvc new file mode 100644 index 0000000..1d15061 Binary files /dev/null and b/iwdification/vvc/cdiswavh.vvc differ diff --git a/iwdification/vvc/cdiuwrdx.vvc b/iwdification/vvc/cdiuwrdx.vvc new file mode 100644 index 0000000..8aef890 Binary files /dev/null and b/iwdification/vvc/cdiuwrdx.vvc differ diff --git a/iwdification/vvc/cdivitsx.vvc b/iwdification/vvc/cdivitsx.vvc new file mode 100644 index 0000000..77f30fa Binary files /dev/null and b/iwdification/vvc/cdivitsx.vvc differ diff --git a/iwdification/vvc/cdiwhirx.vvc b/iwdification/vvc/cdiwhirx.vvc new file mode 100644 index 0000000..2f1d29f Binary files /dev/null and b/iwdification/vvc/cdiwhirx.vvc differ diff --git a/iwdification/wav/cdiafm04.ogg b/iwdification/wav/cdiafm04.ogg new file mode 100644 index 0000000..db02c01 Binary files /dev/null and b/iwdification/wav/cdiafm04.ogg differ diff --git a/iwdification/wav/cdiafm13.ogg b/iwdification/wav/cdiafm13.ogg new file mode 100644 index 0000000..d8980d5 Binary files /dev/null and b/iwdification/wav/cdiafm13.ogg differ diff --git a/iwdification/wav/cdiafm15.ogg b/iwdification/wav/cdiafm15.ogg new file mode 100644 index 0000000..a58a290 Binary files /dev/null and b/iwdification/wav/cdiafm15.ogg differ diff --git a/iwdification/wav/cdiafm16.ogg b/iwdification/wav/cdiafm16.ogg new file mode 100644 index 0000000..0978be2 Binary files /dev/null and b/iwdification/wav/cdiafm16.ogg differ diff --git a/iwdification/wav/cdiafm17.ogg b/iwdification/wav/cdiafm17.ogg new file mode 100644 index 0000000..259e896 Binary files /dev/null and b/iwdification/wav/cdiafm17.ogg differ diff --git a/iwdification/wav/cdiafm18.ogg b/iwdification/wav/cdiafm18.ogg new file mode 100644 index 0000000..11ed995 Binary files /dev/null and b/iwdification/wav/cdiafm18.ogg differ diff --git a/iwdification/wav/cdiafp03.ogg b/iwdification/wav/cdiafp03.ogg new file mode 100644 index 0000000..526db0f Binary files /dev/null and b/iwdification/wav/cdiafp03.ogg differ diff --git a/iwdification/wav/cdiafp20.ogg b/iwdification/wav/cdiafp20.ogg new file mode 100644 index 0000000..56cee87 Binary files /dev/null and b/iwdification/wav/cdiafp20.ogg differ diff --git a/iwdification/wav/cdiafp21.ogg b/iwdification/wav/cdiafp21.ogg new file mode 100644 index 0000000..db0fe32 Binary files /dev/null and b/iwdification/wav/cdiafp21.ogg differ diff --git a/iwdification/wav/cdiafp22.ogg b/iwdification/wav/cdiafp22.ogg new file mode 100644 index 0000000..05156b4 Binary files /dev/null and b/iwdification/wav/cdiafp22.ogg differ diff --git a/iwdification/wav/cdiafp24.ogg b/iwdification/wav/cdiafp24.ogg new file mode 100644 index 0000000..d4c2beb Binary files /dev/null and b/iwdification/wav/cdiafp24.ogg differ diff --git a/iwdification/wav/cdiafp25.ogg b/iwdification/wav/cdiafp25.ogg new file mode 100644 index 0000000..54be08f Binary files /dev/null and b/iwdification/wav/cdiafp25.ogg differ diff --git a/iwdification/wav/cdiafp26.ogg b/iwdification/wav/cdiafp26.ogg new file mode 100644 index 0000000..adb8f26 Binary files /dev/null and b/iwdification/wav/cdiafp26.ogg differ diff --git a/iwdification/wav/cdiafp27.ogg b/iwdification/wav/cdiafp27.ogg new file mode 100644 index 0000000..d6e3d37 Binary files /dev/null and b/iwdification/wav/cdiafp27.ogg differ diff --git a/iwdification/wav/cdiarm02.ogg b/iwdification/wav/cdiarm02.ogg new file mode 100644 index 0000000..c640b5f Binary files /dev/null and b/iwdification/wav/cdiarm02.ogg differ diff --git a/iwdification/wav/cdiarm18.ogg b/iwdification/wav/cdiarm18.ogg new file mode 100644 index 0000000..883858f Binary files /dev/null and b/iwdification/wav/cdiarm18.ogg differ diff --git a/iwdification/wav/cdiarm20.ogg b/iwdification/wav/cdiarm20.ogg new file mode 100644 index 0000000..d4cb450 Binary files /dev/null and b/iwdification/wav/cdiarm20.ogg differ diff --git a/iwdification/wav/cdiarm21.ogg b/iwdification/wav/cdiarm21.ogg new file mode 100644 index 0000000..8cbf28f Binary files /dev/null and b/iwdification/wav/cdiarm21.ogg differ diff --git a/iwdification/wav/cdiarp03.ogg b/iwdification/wav/cdiarp03.ogg new file mode 100644 index 0000000..cb77613 Binary files /dev/null and b/iwdification/wav/cdiarp03.ogg differ diff --git a/iwdification/wav/cdiarp04.ogg b/iwdification/wav/cdiarp04.ogg new file mode 100644 index 0000000..8254663 Binary files /dev/null and b/iwdification/wav/cdiarp04.ogg differ diff --git a/iwdification/wav/cdiarp21.ogg b/iwdification/wav/cdiarp21.ogg new file mode 100644 index 0000000..8354b41 Binary files /dev/null and b/iwdification/wav/cdiarp21.ogg differ diff --git a/iwdification/wav/cdiarp22.ogg b/iwdification/wav/cdiarp22.ogg new file mode 100644 index 0000000..a11bafb Binary files /dev/null and b/iwdification/wav/cdiarp22.ogg differ diff --git a/iwdification/wav/cdiarp24.ogg b/iwdification/wav/cdiarp24.ogg new file mode 100644 index 0000000..6de29af Binary files /dev/null and b/iwdification/wav/cdiarp24.ogg differ diff --git a/iwdification/wav/cdiarp25.ogg b/iwdification/wav/cdiarp25.ogg new file mode 100644 index 0000000..e13beea Binary files /dev/null and b/iwdification/wav/cdiarp25.ogg differ diff --git a/iwdification/wav/cdiarp28.ogg b/iwdification/wav/cdiarp28.ogg new file mode 100644 index 0000000..efe6d6b Binary files /dev/null and b/iwdification/wav/cdiarp28.ogg differ diff --git a/iwdification/wav/cdicp03.ogg b/iwdification/wav/cdicp03.ogg new file mode 100644 index 0000000..876dc69 Binary files /dev/null and b/iwdification/wav/cdicp03.ogg differ diff --git a/iwdification/wav/cdiee01.ogg b/iwdification/wav/cdiee01.ogg new file mode 100644 index 0000000..30f8465 Binary files /dev/null and b/iwdification/wav/cdiee01.ogg differ diff --git a/iwdification/wav/cdiee02.ogg b/iwdification/wav/cdiee02.ogg new file mode 100644 index 0000000..9157599 Binary files /dev/null and b/iwdification/wav/cdiee02.ogg differ diff --git a/iwdification/wav/cdiee03.ogg b/iwdification/wav/cdiee03.ogg new file mode 100644 index 0000000..98de178 Binary files /dev/null and b/iwdification/wav/cdiee03.ogg differ diff --git a/iwdification/wav/cdiee04.ogg b/iwdification/wav/cdiee04.ogg new file mode 100644 index 0000000..72bd0e2 Binary files /dev/null and b/iwdification/wav/cdiee04.ogg differ diff --git a/iwdification/wav/cdiee05.ogg b/iwdification/wav/cdiee05.ogg new file mode 100644 index 0000000..93ac482 Binary files /dev/null and b/iwdification/wav/cdiee05.ogg differ diff --git a/iwdification/wav/cdiee08.ogg b/iwdification/wav/cdiee08.ogg new file mode 100644 index 0000000..ae324f6 Binary files /dev/null and b/iwdification/wav/cdiee08.ogg differ diff --git a/iwdification/wav/cdiem01.ogg b/iwdification/wav/cdiem01.ogg new file mode 100644 index 0000000..36f3687 Binary files /dev/null and b/iwdification/wav/cdiem01.ogg differ diff --git a/iwdification/wav/cdiem02.ogg b/iwdification/wav/cdiem02.ogg new file mode 100644 index 0000000..ee3009b Binary files /dev/null and b/iwdification/wav/cdiem02.ogg differ diff --git a/iwdification/wav/cdiem05.ogg b/iwdification/wav/cdiem05.ogg new file mode 100644 index 0000000..0de94ba Binary files /dev/null and b/iwdification/wav/cdiem05.ogg differ diff --git a/iwdification/wav/cdiem06.ogg b/iwdification/wav/cdiem06.ogg new file mode 100644 index 0000000..234a09b Binary files /dev/null and b/iwdification/wav/cdiem06.ogg differ diff --git a/iwdification/wav/cdiem07.ogg b/iwdification/wav/cdiem07.ogg new file mode 100644 index 0000000..e4933ef Binary files /dev/null and b/iwdification/wav/cdiem07.ogg differ diff --git a/iwdification/wav/cdiem08.ogg b/iwdification/wav/cdiem08.ogg new file mode 100644 index 0000000..bc26024 Binary files /dev/null and b/iwdification/wav/cdiem08.ogg differ diff --git a/iwdification/wav/cdiem100.ogg b/iwdification/wav/cdiem100.ogg new file mode 100644 index 0000000..8ab4c8c Binary files /dev/null and b/iwdification/wav/cdiem100.ogg differ diff --git a/iwdification/wav/cdiem101.ogg b/iwdification/wav/cdiem101.ogg new file mode 100644 index 0000000..fde73e5 Binary files /dev/null and b/iwdification/wav/cdiem101.ogg differ diff --git a/iwdification/wav/cdiem102.ogg b/iwdification/wav/cdiem102.ogg new file mode 100644 index 0000000..84efadf Binary files /dev/null and b/iwdification/wav/cdiem102.ogg differ diff --git a/iwdification/wav/cdiem103.ogg b/iwdification/wav/cdiem103.ogg new file mode 100644 index 0000000..c3e84ec Binary files /dev/null and b/iwdification/wav/cdiem103.ogg differ diff --git a/iwdification/wav/cdiem104.ogg b/iwdification/wav/cdiem104.ogg new file mode 100644 index 0000000..2d470b9 Binary files /dev/null and b/iwdification/wav/cdiem104.ogg differ diff --git a/iwdification/wav/cdiem34.ogg b/iwdification/wav/cdiem34.ogg new file mode 100644 index 0000000..09c7512 Binary files /dev/null and b/iwdification/wav/cdiem34.ogg differ diff --git a/iwdification/wav/cdiem47.ogg b/iwdification/wav/cdiem47.ogg new file mode 100644 index 0000000..9da910d Binary files /dev/null and b/iwdification/wav/cdiem47.ogg differ diff --git a/iwdification/wav/cdiep01.ogg b/iwdification/wav/cdiep01.ogg new file mode 100644 index 0000000..59060a4 Binary files /dev/null and b/iwdification/wav/cdiep01.ogg differ diff --git a/iwdification/wav/cdiep02.ogg b/iwdification/wav/cdiep02.ogg new file mode 100644 index 0000000..ccda563 Binary files /dev/null and b/iwdification/wav/cdiep02.ogg differ diff --git a/iwdification/wav/cdiep05.ogg b/iwdification/wav/cdiep05.ogg new file mode 100644 index 0000000..6007a5a Binary files /dev/null and b/iwdification/wav/cdiep05.ogg differ diff --git a/iwdification/wav/cdiep07.ogg b/iwdification/wav/cdiep07.ogg new file mode 100644 index 0000000..f0a6bdd Binary files /dev/null and b/iwdification/wav/cdiep07.ogg differ diff --git a/iwdification/wav/cdiep101.ogg b/iwdification/wav/cdiep101.ogg new file mode 100644 index 0000000..07d74cb Binary files /dev/null and b/iwdification/wav/cdiep101.ogg differ diff --git a/iwdification/wav/cdiep104.ogg b/iwdification/wav/cdiep104.ogg new file mode 100644 index 0000000..5bed66d Binary files /dev/null and b/iwdification/wav/cdiep104.ogg differ diff --git a/iwdification/wav/cdiep105.ogg b/iwdification/wav/cdiep105.ogg new file mode 100644 index 0000000..fb1d73e Binary files /dev/null and b/iwdification/wav/cdiep105.ogg differ diff --git a/iwdification/wav/cdiep106.ogg b/iwdification/wav/cdiep106.ogg new file mode 100644 index 0000000..f9613ff Binary files /dev/null and b/iwdification/wav/cdiep106.ogg differ diff --git a/iwdification/wav/cdiep107.ogg b/iwdification/wav/cdiep107.ogg new file mode 100644 index 0000000..280b0ef Binary files /dev/null and b/iwdification/wav/cdiep107.ogg differ diff --git a/iwdification/wav/cdiep108.ogg b/iwdification/wav/cdiep108.ogg new file mode 100644 index 0000000..0ea0f56 Binary files /dev/null and b/iwdification/wav/cdiep108.ogg differ diff --git a/iwdification/wav/cdiep110.ogg b/iwdification/wav/cdiep110.ogg new file mode 100644 index 0000000..35336fc Binary files /dev/null and b/iwdification/wav/cdiep110.ogg differ diff --git a/iwdification/wav/cdiep112.ogg b/iwdification/wav/cdiep112.ogg new file mode 100644 index 0000000..d4e06ee Binary files /dev/null and b/iwdification/wav/cdiep112.ogg differ diff --git a/iwdification/wav/cdiep113.ogg b/iwdification/wav/cdiep113.ogg new file mode 100644 index 0000000..7dbd951 Binary files /dev/null and b/iwdification/wav/cdiep113.ogg differ diff --git a/iwdification/wav/cdiep26.ogg b/iwdification/wav/cdiep26.ogg new file mode 100644 index 0000000..5e87cdf Binary files /dev/null and b/iwdification/wav/cdiep26.ogg differ diff --git a/iwdification/wav/cdiep31.ogg b/iwdification/wav/cdiep31.ogg new file mode 100644 index 0000000..6eb2067 Binary files /dev/null and b/iwdification/wav/cdiep31.ogg differ diff --git a/iwdification/wav/cdiep32.ogg b/iwdification/wav/cdiep32.ogg new file mode 100644 index 0000000..8118da4 Binary files /dev/null and b/iwdification/wav/cdiep32.ogg differ diff --git a/iwdification/wav/cdiep36.ogg b/iwdification/wav/cdiep36.ogg new file mode 100644 index 0000000..abe7758 Binary files /dev/null and b/iwdification/wav/cdiep36.ogg differ diff --git a/iwdification/wav/cdiep39.ogg b/iwdification/wav/cdiep39.ogg new file mode 100644 index 0000000..c3aaa05 Binary files /dev/null and b/iwdification/wav/cdiep39.ogg differ diff --git a/iwdification/wav/cdiep42.ogg b/iwdification/wav/cdiep42.ogg new file mode 100644 index 0000000..cc1556e Binary files /dev/null and b/iwdification/wav/cdiep42.ogg differ diff --git a/iwdification/wav/cdiep44.ogg b/iwdification/wav/cdiep44.ogg new file mode 100644 index 0000000..8cead35 Binary files /dev/null and b/iwdification/wav/cdiep44.ogg differ diff --git a/iwdification/wav/cdiep45.ogg b/iwdification/wav/cdiep45.ogg new file mode 100644 index 0000000..0656cc4 Binary files /dev/null and b/iwdification/wav/cdiep45.ogg differ diff --git a/iwdification/wav/cdiep48.ogg b/iwdification/wav/cdiep48.ogg new file mode 100644 index 0000000..3ac90f0 Binary files /dev/null and b/iwdification/wav/cdiep48.ogg differ diff --git a/iwdification/wav/cdiep99.ogg b/iwdification/wav/cdiep99.ogg new file mode 100644 index 0000000..ed9f20a Binary files /dev/null and b/iwdification/wav/cdiep99.ogg differ diff --git a/iwdification/wav/cdirngm2.ogg b/iwdification/wav/cdirngm2.ogg new file mode 100644 index 0000000..b891c0c Binary files /dev/null and b/iwdification/wav/cdirngm2.ogg differ diff --git a/iwdification/wav/cditra08.ogg b/iwdification/wav/cditra08.ogg new file mode 100644 index 0000000..5da095b Binary files /dev/null and b/iwdification/wav/cditra08.ogg differ diff --git a/iwdification/wav/cditra18.ogg b/iwdification/wav/cditra18.ogg new file mode 100644 index 0000000..d9f2689 Binary files /dev/null and b/iwdification/wav/cditra18.ogg differ diff --git a/iwdification/wav/cditra19.ogg b/iwdification/wav/cditra19.ogg new file mode 100644 index 0000000..35b040d Binary files /dev/null and b/iwdification/wav/cditra19.ogg differ diff --git a/iwdification/wav/cditra55.ogg b/iwdification/wav/cditra55.ogg new file mode 100644 index 0000000..fbb1b58 Binary files /dev/null and b/iwdification/wav/cditra55.ogg differ diff --git a/iwdification/wav/cditra56.ogg b/iwdification/wav/cditra56.ogg new file mode 100644 index 0000000..1c5c59c Binary files /dev/null and b/iwdification/wav/cditra56.ogg differ diff --git a/iwdification/wav/cditra57.ogg b/iwdification/wav/cditra57.ogg new file mode 100644 index 0000000..0758243 Binary files /dev/null and b/iwdification/wav/cditra57.ogg differ diff --git a/iwdification/wav/cditra59.ogg b/iwdification/wav/cditra59.ogg new file mode 100644 index 0000000..6269c86 Binary files /dev/null and b/iwdification/wav/cditra59.ogg differ diff --git a/iwdification/wav/cditra60.ogg b/iwdification/wav/cditra60.ogg new file mode 100644 index 0000000..592070e Binary files /dev/null and b/iwdification/wav/cditra60.ogg differ diff --git a/iwdification/wav/cditra61.ogg b/iwdification/wav/cditra61.ogg new file mode 100644 index 0000000..577c34a Binary files /dev/null and b/iwdification/wav/cditra61.ogg differ diff --git a/iwdification/wav/oggdec.exe b/iwdification/wav/oggdec.exe new file mode 100644 index 0000000..e764215 Binary files /dev/null and b/iwdification/wav/oggdec.exe differ diff --git a/iwdification/wav/sox b/iwdification/wav/sox new file mode 100644 index 0000000..4cad299 Binary files /dev/null and b/iwdification/wav/sox differ diff --git a/package_mod.bat b/package_mod.bat index a0f7d18..fda3037 100644 --- a/package_mod.bat +++ b/package_mod.bat @@ -6,7 +6,7 @@ call "%~dp0..\ModPackaging\utilities\ie_games.bat" REM /* MODIFY: set the values of the 3 variables below to reflect the current mod version */ set "mod_name=Iwdification" -set mod_version=Beta_3 +set mod_version=Beta_4 set mod_folder=iwdification REM /* MODIFY: list here which IE games the mod is compatible with, from this list of possibilities: */ @@ -20,7 +20,7 @@ REM /* the tispack_folder is the root directory that contains the win32, osx, an REM /* the iconv_folder is where your iconv.exe utility is stored (leave alone if you are not converting charsets for BGEE) */ REM /* the mod_readme link should point to the online readme and work fine as-is if the mod uses the standard G3 naming scheme */ set ico_folder=%mod_folder%\style -set audio_folder=%mod_folder%\audio +set audio_folder=%mod_folder%\wav set tispack_folder=%mod_folder%\tiz set iconv_folder=%mod_folder%\languages\iconv set mod_readme=http://www.gibberlings3.net/readmes/readme-%mod_folder%.html