diff --git a/iwdification/2da/cdia418.2da b/iwdification/2da/cdia418.2da new file mode 100644 index 0000000..6d27e62 --- /dev/null +++ b/iwdification/2da/cdia418.2da @@ -0,0 +1,11 @@ +2DA V1.0 +0 + RESREF +0 CDS1gob1 +1 CDS1gob2 +2 CDS1gob3 +3 CDS1liz3 +4 CDS1liz4 +5 CDS1trl6 +6 CDS1trl7 +7 CDS1trl8 diff --git a/iwdification/2da/cdia512.2da b/iwdification/2da/cdia512.2da new file mode 100644 index 0000000..1f3184b --- /dev/null +++ b/iwdification/2da/cdia512.2da @@ -0,0 +1,10 @@ +2DA V1.0 +0 + RESREF +0 CDS2gob1 +1 CDS2gob2 +2 CDS2gob3 +3 CDS2gob3 +4 CDS2liz5 +5 CDS2liz6 +6 CDS2liz7 diff --git a/iwdification/2da/cdia513.2da b/iwdification/2da/cdia513.2da new file mode 100644 index 0000000..a33f994 --- /dev/null +++ b/iwdification/2da/cdia513.2da @@ -0,0 +1,4 @@ +2DA V1.0 +0 + RESREF +0 cdia513 diff --git a/iwdification/2da/cdia611.2da b/iwdification/2da/cdia611.2da new file mode 100644 index 0000000..6bbfad8 --- /dev/null +++ b/iwdification/2da/cdia611.2da @@ -0,0 +1,5 @@ +2DA V1.0 +0 + RESREF +0 CDM4ghst +1 CDM4ogr diff --git a/iwdification/2da/cdia613.2da b/iwdification/2da/cdia613.2da new file mode 100644 index 0000000..29c3829 --- /dev/null +++ b/iwdification/2da/cdia613.2da @@ -0,0 +1,14 @@ +2DA V1.0 +0 + RESREF +0 CDS2gob2 +1 CDS2gob2 +2 CDS2gob3 +3 CDS2gob3 +4 CDS2liz5 +5 CDS2liz6 +6 CDS2liz7 +7 CDS3trl7 +8 CDS3trl8 +9 CDS3umb8 +10 CDS3umb9 diff --git a/iwdification/2da/cdia703.2da b/iwdification/2da/cdia703.2da new file mode 100644 index 0000000..2500c1e --- /dev/null +++ b/iwdification/2da/cdia703.2da @@ -0,0 +1,6 @@ +2DA V1.0 +0 + RESREF +0 CDM5gspi +1 CDM5jzom +2 CDM5mino diff --git a/iwdification/2da/cdia803.2da b/iwdification/2da/cdia803.2da new file mode 100644 index 0000000..de2e5af --- /dev/null +++ b/iwdification/2da/cdia803.2da @@ -0,0 +1,7 @@ +2DA V1.0 +0 + RESREF +0 CDM6crwl +1 CDM6pspi +2 CDM6salc +3 CDM6salf diff --git a/iwdification/2da/cdia902.2da b/iwdification/2da/cdia902.2da new file mode 100644 index 0000000..8771005 --- /dev/null +++ b/iwdification/2da/cdia902.2da @@ -0,0 +1,5 @@ +2DA V1.0 +0 + RESREF +0 CDM7bgrd +1 CDM7umbh diff --git a/iwdification/2da/cdid410.2da b/iwdification/2da/cdid410.2da new file mode 100644 index 0000000..346e888 --- /dev/null +++ b/iwdification/2da/cdid410.2da @@ -0,0 +1,5 @@ +2DA V1.0 +0 + RESREF +0 CDGIbomb +1 CDGIborb diff --git a/iwdification/baf/ar0602.baf b/iwdification/baf/ar0602.baf new file mode 100644 index 0000000..475d3bd --- /dev/null +++ b/iwdification/baf/ar0602.baf @@ -0,0 +1,7 @@ +IF + Global("CDIWDItems","MYAREA",0) +THEN + RESPONSE #100 + SetGlobal("CDIWDItems","MYAREA",1) + ActionOverride("JailkeepTable",CreateItem("cdax2h1",0,0,0)) +END diff --git a/iwdification/baf/ar3017.baf b/iwdification/baf/ar3017.baf new file mode 100644 index 0000000..21c3390 --- /dev/null +++ b/iwdification/baf/ar3017.baf @@ -0,0 +1,7 @@ +IF + Global("CDIWDItems","MYAREA",0) +THEN + RESPONSE #100 + SetGlobal("CDIWDItems","MYAREA",1) + ActionOverride("Container14",CreateItem("cdax2h1",0,0,0)) +END diff --git a/iwdification/baf/botsmith.baf b/iwdification/baf/botsmith.baf new file mode 100644 index 0000000..232ec1c --- /dev/null +++ b/iwdification/baf/botsmith.baf @@ -0,0 +1,11 @@ +IF + Global("cdax2h5","LOCALS",1) + Global("ImpForgeStuff","GLOBAL",1) +THEN + RESPONSE #100 + SetGlobal("cdax2h5","LOCALS",0) + SetGlobal("ImpForgeStuff","GLOBAL",0) + GiveItemCreate("cdax2h6",Player1,0,0,0) // enhanced battle standard + SetGlobal("ItemMaker","GLOBAL",1) // this just allows cespy to pick up his usual post-forge dialogue + StartDialogueNoSet(Player1) +END \ No newline at end of file diff --git a/iwdification/baf/cdgibomb.baf b/iwdification/baf/cdgibomb.baf new file mode 100644 index 0000000..3770f11 --- /dev/null +++ b/iwdification/baf/cdgibomb.baf @@ -0,0 +1,23 @@ +IF + !Global("#deactivate_script_bbcloud","LOCALS",1) + Global("Internal4","LOCALS",2) +THEN + RESPONSE #100 + SetGlobal("#deactivate_script_bbcloud","LOCALS",1) +END + +IF + !Global("#deactivate_script_bbcloud","LOCALS",1) + !GlobalTimerNotExpired("#localtimer","LOCALS") + See(NearestEnemyOf(Myself)) + Range(NearestEnemyOf(Myself),7) + IsActive(Myself) +THEN + RESPONSE #100 + IncrementGlobal("Internal4","LOCALS",1) + SetGlobalTimer("#localtimer","LOCALS",21) + ReallyForceSpellRES("CDGIBOMB",Myself) + Wait(2) +END + + diff --git a/iwdification/baf/cdid516.baf b/iwdification/baf/cdid516.baf new file mode 100644 index 0000000..a21977c --- /dev/null +++ b/iwdification/baf/cdid516.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/cdid613.baf b/iwdification/baf/cdid613.baf new file mode 100644 index 0000000..fd1a3b2 --- /dev/null +++ b/iwdification/baf/cdid613.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/cdsalc.baf b/iwdification/baf/cdsalc.baf new file mode 100644 index 0000000..95f75d0 --- /dev/null +++ b/iwdification/baf/cdsalc.baf @@ -0,0 +1,10 @@ +IF + !GlobalTimerNotExpired("CDSALC","LOCALS") + IsActive(Myself) +THEN + RESPONSE #100 + ReallyForceSpellRES("CDSALC",Myself) + SetGlobalTimer("CDSALC","LOCALS",ONE_DAY) +END + + diff --git a/iwdification/baf/cdsalf.baf b/iwdification/baf/cdsalf.baf new file mode 100644 index 0000000..864b29b --- /dev/null +++ b/iwdification/baf/cdsalf.baf @@ -0,0 +1,10 @@ +IF + !GlobalTimerNotExpired("CDSALF","LOCALS") + IsActive(Myself) +THEN + RESPONSE #100 + ReallyForceSpellRES("CDSALF",Myself) + SetGlobalTimer("CDSALF","LOCALS",ONE_DAY) +END + + diff --git a/iwdification/bam/cdabjurh.bam b/iwdification/bam/cdabjurh.bam new file mode 100644 index 0000000..b9b21e6 Binary files /dev/null and b/iwdification/bam/cdabjurh.bam differ diff --git a/iwdification/bam/cdacidh.bam b/iwdification/bam/cdacidh.bam new file mode 100644 index 0000000..f4958e3 Binary files /dev/null and b/iwdification/bam/cdacidh.bam differ diff --git a/iwdification/bam/cdalterh.bam b/iwdification/bam/cdalterh.bam new file mode 100644 index 0000000..0ca08af Binary files /dev/null and b/iwdification/bam/cdalterh.bam differ diff --git a/iwdification/bam/cdanisum.bam b/iwdification/bam/cdanisum.bam new file mode 100644 index 0000000..4bfd7e2 Binary files /dev/null and b/iwdification/bam/cdanisum.bam differ diff --git a/iwdification/bam/cdarea1x.bam b/iwdification/bam/cdarea1x.bam new file mode 100644 index 0000000..6c98450 Binary files /dev/null and b/iwdification/bam/cdarea1x.bam differ diff --git a/iwdification/bam/cdax2h1i.bam b/iwdification/bam/cdax2h1i.bam new file mode 100644 index 0000000..e4ce439 Binary files /dev/null and b/iwdification/bam/cdax2h1i.bam differ diff --git a/iwdification/bam/cdax2h2i.bam b/iwdification/bam/cdax2h2i.bam new file mode 100644 index 0000000..38c7142 Binary files /dev/null and b/iwdification/bam/cdax2h2i.bam differ diff --git a/iwdification/bam/cdax2h3i.bam b/iwdification/bam/cdax2h3i.bam new file mode 100644 index 0000000..70c26c4 Binary files /dev/null and b/iwdification/bam/cdax2h3i.bam differ diff --git a/iwdification/bam/cdax2h4i.bam b/iwdification/bam/cdax2h4i.bam new file mode 100644 index 0000000..af7c655 Binary files /dev/null and b/iwdification/bam/cdax2h4i.bam differ diff --git a/iwdification/bam/cdax2h5i.bam b/iwdification/bam/cdax2h5i.bam new file mode 100644 index 0000000..94da5a4 Binary files /dev/null and b/iwdification/bam/cdax2h5i.bam differ diff --git a/iwdification/bam/cdax2h5s.bam b/iwdification/bam/cdax2h5s.bam new file mode 100644 index 0000000..54b82eb Binary files /dev/null and b/iwdification/bam/cdax2h5s.bam differ diff --git a/iwdification/bam/cdax2h6i.bam b/iwdification/bam/cdax2h6i.bam new file mode 100644 index 0000000..60debf7 Binary files /dev/null and b/iwdification/bam/cdax2h6i.bam differ diff --git a/iwdification/bam/cdbonh1.bam b/iwdification/bam/cdbonh1.bam new file mode 100644 index 0000000..a8cdfaf Binary files /dev/null and b/iwdification/bam/cdbonh1.bam differ diff --git a/iwdification/bam/cdbonh2.bam b/iwdification/bam/cdbonh2.bam new file mode 100644 index 0000000..34d4445 Binary files /dev/null and b/iwdification/bam/cdbonh2.bam differ diff --git a/iwdification/bam/cdcldama.bam b/iwdification/bam/cdcldama.bam new file mode 100644 index 0000000..f3116dc Binary files /dev/null and b/iwdification/bam/cdcldama.bam differ diff --git a/iwdification/bam/cdcloubh.bam b/iwdification/bam/cdcloubh.bam new file mode 100644 index 0000000..1814863 Binary files /dev/null and b/iwdification/bam/cdcloubh.bam differ diff --git a/iwdification/bam/cdcmdama.bam b/iwdification/bam/cdcmdama.bam new file mode 100644 index 0000000..de2fdb4 Binary files /dev/null and b/iwdification/bam/cdcmdama.bam differ diff --git a/iwdification/bam/cdcoldh.bam b/iwdification/bam/cdcoldh.bam new file mode 100644 index 0000000..29dd169 Binary files /dev/null and b/iwdification/bam/cdcoldh.bam differ diff --git a/iwdification/bam/cdconjuh.bam b/iwdification/bam/cdconjuh.bam new file mode 100644 index 0000000..12a5dd4 Binary files /dev/null and b/iwdification/bam/cdconjuh.bam differ diff --git a/iwdification/bam/cdcurseh.bam b/iwdification/bam/cdcurseh.bam new file mode 100644 index 0000000..25eeb03 Binary files /dev/null and b/iwdification/bam/cdcurseh.bam differ diff --git a/iwdification/bam/cddestrh.bam b/iwdification/bam/cddestrh.bam new file mode 100644 index 0000000..02a523a Binary files /dev/null and b/iwdification/bam/cddestrh.bam differ diff --git a/iwdification/bam/cddiseah.bam b/iwdification/bam/cddiseah.bam new file mode 100644 index 0000000..bafa9a3 Binary files /dev/null and b/iwdification/bam/cddiseah.bam differ diff --git a/iwdification/bam/cddivinh.bam b/iwdification/bam/cddivinh.bam new file mode 100644 index 0000000..cdc026d Binary files /dev/null and b/iwdification/bam/cddivinh.bam differ diff --git a/iwdification/bam/cdelecth.bam b/iwdification/bam/cdelecth.bam new file mode 100644 index 0000000..8547572 Binary files /dev/null and b/iwdification/bam/cdelecth.bam differ diff --git a/iwdification/bam/cdenchah.bam b/iwdification/bam/cdenchah.bam new file mode 100644 index 0000000..5e11d2d Binary files /dev/null and b/iwdification/bam/cdenchah.bam differ diff --git a/iwdification/bam/cdexalth.bam b/iwdification/bam/cdexalth.bam new file mode 100644 index 0000000..054705b Binary files /dev/null and b/iwdification/bam/cdexalth.bam differ diff --git a/iwdification/bam/cdfireh.bam b/iwdification/bam/cdfireh.bam new file mode 100644 index 0000000..5cdba46 Binary files /dev/null and b/iwdification/bam/cdfireh.bam differ diff --git a/iwdification/bam/cdgnench.bam b/iwdification/bam/cdgnench.bam new file mode 100644 index 0000000..2d4fe1c Binary files /dev/null and b/iwdification/bam/cdgnench.bam differ diff --git a/iwdification/bam/cdia220a.bam b/iwdification/bam/cdia220a.bam new file mode 100644 index 0000000..13acecd Binary files /dev/null and b/iwdification/bam/cdia220a.bam differ diff --git a/iwdification/bam/cdia220b.bam b/iwdification/bam/cdia220b.bam new file mode 100644 index 0000000..6353480 Binary files /dev/null and b/iwdification/bam/cdia220b.bam differ diff --git a/iwdification/bam/cdia220c.bam b/iwdification/bam/cdia220c.bam new file mode 100644 index 0000000..47e83b0 Binary files /dev/null and b/iwdification/bam/cdia220c.bam differ diff --git a/iwdification/bam/cdia220v.bam b/iwdification/bam/cdia220v.bam new file mode 100644 index 0000000..4c47a78 Binary files /dev/null and b/iwdification/bam/cdia220v.bam differ diff --git a/iwdification/bam/cdia221a.bam b/iwdification/bam/cdia221a.bam new file mode 100644 index 0000000..2c60f5a Binary files /dev/null and b/iwdification/bam/cdia221a.bam differ diff --git a/iwdification/bam/cdia221b.bam b/iwdification/bam/cdia221b.bam new file mode 100644 index 0000000..4c2feab Binary files /dev/null and b/iwdification/bam/cdia221b.bam differ diff --git a/iwdification/bam/cdia221c.bam b/iwdification/bam/cdia221c.bam new file mode 100644 index 0000000..14e57d5 Binary files /dev/null and b/iwdification/bam/cdia221c.bam differ diff --git a/iwdification/bam/cdia221i.bam b/iwdification/bam/cdia221i.bam new file mode 100644 index 0000000..4e563cd Binary files /dev/null and b/iwdification/bam/cdia221i.bam differ diff --git a/iwdification/bam/cdia223a.bam b/iwdification/bam/cdia223a.bam new file mode 100644 index 0000000..2036259 Binary files /dev/null and b/iwdification/bam/cdia223a.bam differ diff --git a/iwdification/bam/cdia223b.bam b/iwdification/bam/cdia223b.bam new file mode 100644 index 0000000..bd3bd43 Binary files /dev/null and b/iwdification/bam/cdia223b.bam differ diff --git a/iwdification/bam/cdia223c.bam b/iwdification/bam/cdia223c.bam new file mode 100644 index 0000000..a2dd9bc Binary files /dev/null and b/iwdification/bam/cdia223c.bam differ diff --git a/iwdification/bam/cdia318a.bam b/iwdification/bam/cdia318a.bam new file mode 100644 index 0000000..42435cb Binary files /dev/null and b/iwdification/bam/cdia318a.bam differ diff --git a/iwdification/bam/cdia318b.bam b/iwdification/bam/cdia318b.bam new file mode 100644 index 0000000..2e99077 Binary files /dev/null and b/iwdification/bam/cdia318b.bam differ diff --git a/iwdification/bam/cdia318c.bam b/iwdification/bam/cdia318c.bam new file mode 100644 index 0000000..5c69252 Binary files /dev/null and b/iwdification/bam/cdia318c.bam differ diff --git a/iwdification/bam/cdia318v.bam b/iwdification/bam/cdia318v.bam new file mode 100644 index 0000000..e7d51fd Binary files /dev/null and b/iwdification/bam/cdia318v.bam differ diff --git a/iwdification/bam/cdia319a.bam b/iwdification/bam/cdia319a.bam new file mode 100644 index 0000000..7642524 Binary files /dev/null and b/iwdification/bam/cdia319a.bam differ diff --git a/iwdification/bam/cdia319b.bam b/iwdification/bam/cdia319b.bam new file mode 100644 index 0000000..114deca Binary files /dev/null and b/iwdification/bam/cdia319b.bam differ diff --git a/iwdification/bam/cdia319c.bam b/iwdification/bam/cdia319c.bam new file mode 100644 index 0000000..b506f7e Binary files /dev/null and b/iwdification/bam/cdia319c.bam differ diff --git a/iwdification/bam/cdia319v.bam b/iwdification/bam/cdia319v.bam new file mode 100644 index 0000000..5126dc0 Binary files /dev/null and b/iwdification/bam/cdia319v.bam differ diff --git a/iwdification/bam/cdia411a.bam b/iwdification/bam/cdia411a.bam new file mode 100644 index 0000000..3bccc52 Binary files /dev/null and b/iwdification/bam/cdia411a.bam differ diff --git a/iwdification/bam/cdia411b.bam b/iwdification/bam/cdia411b.bam new file mode 100644 index 0000000..e322246 Binary files /dev/null and b/iwdification/bam/cdia411b.bam differ diff --git a/iwdification/bam/cdia411c.bam b/iwdification/bam/cdia411c.bam new file mode 100644 index 0000000..9e8a0d8 Binary files /dev/null and b/iwdification/bam/cdia411c.bam differ diff --git a/iwdification/bam/cdia417a.bam b/iwdification/bam/cdia417a.bam new file mode 100644 index 0000000..0167040 Binary files /dev/null and b/iwdification/bam/cdia417a.bam differ diff --git a/iwdification/bam/cdia417b.bam b/iwdification/bam/cdia417b.bam new file mode 100644 index 0000000..30f3803 Binary files /dev/null and b/iwdification/bam/cdia417b.bam differ diff --git a/iwdification/bam/cdia417c.bam b/iwdification/bam/cdia417c.bam new file mode 100644 index 0000000..8566799 Binary files /dev/null and b/iwdification/bam/cdia417c.bam differ diff --git a/iwdification/bam/cdia418a.bam b/iwdification/bam/cdia418a.bam new file mode 100644 index 0000000..02d750e Binary files /dev/null and b/iwdification/bam/cdia418a.bam differ diff --git a/iwdification/bam/cdia418b.bam b/iwdification/bam/cdia418b.bam new file mode 100644 index 0000000..65d049a Binary files /dev/null and b/iwdification/bam/cdia418b.bam differ diff --git a/iwdification/bam/cdia418c.bam b/iwdification/bam/cdia418c.bam new file mode 100644 index 0000000..adfce44 Binary files /dev/null and b/iwdification/bam/cdia418c.bam differ diff --git a/iwdification/bam/cdia419a.bam b/iwdification/bam/cdia419a.bam new file mode 100644 index 0000000..eb2ded1 Binary files /dev/null and b/iwdification/bam/cdia419a.bam differ diff --git a/iwdification/bam/cdia419b.bam b/iwdification/bam/cdia419b.bam new file mode 100644 index 0000000..4fbf8b2 Binary files /dev/null and b/iwdification/bam/cdia419b.bam differ diff --git a/iwdification/bam/cdia419c.bam b/iwdification/bam/cdia419c.bam new file mode 100644 index 0000000..e610ea2 Binary files /dev/null and b/iwdification/bam/cdia419c.bam differ diff --git a/iwdification/bam/cdia420a.bam b/iwdification/bam/cdia420a.bam new file mode 100644 index 0000000..4aedd76 Binary files /dev/null and b/iwdification/bam/cdia420a.bam differ diff --git a/iwdification/bam/cdia420b.bam b/iwdification/bam/cdia420b.bam new file mode 100644 index 0000000..045b0e8 Binary files /dev/null and b/iwdification/bam/cdia420b.bam differ diff --git a/iwdification/bam/cdia420c.bam b/iwdification/bam/cdia420c.bam new file mode 100644 index 0000000..7fff468 Binary files /dev/null and b/iwdification/bam/cdia420c.bam differ diff --git a/iwdification/bam/cdia421a.bam b/iwdification/bam/cdia421a.bam new file mode 100644 index 0000000..e4a0a16 Binary files /dev/null and b/iwdification/bam/cdia421a.bam differ diff --git a/iwdification/bam/cdia421b.bam b/iwdification/bam/cdia421b.bam new file mode 100644 index 0000000..887df83 Binary files /dev/null and b/iwdification/bam/cdia421b.bam differ diff --git a/iwdification/bam/cdia421c.bam b/iwdification/bam/cdia421c.bam new file mode 100644 index 0000000..233113a Binary files /dev/null and b/iwdification/bam/cdia421c.bam differ diff --git a/iwdification/bam/cdia424a.bam b/iwdification/bam/cdia424a.bam new file mode 100644 index 0000000..fcd86b0 Binary files /dev/null and b/iwdification/bam/cdia424a.bam differ diff --git a/iwdification/bam/cdia424b.bam b/iwdification/bam/cdia424b.bam new file mode 100644 index 0000000..52b7e23 Binary files /dev/null and b/iwdification/bam/cdia424b.bam differ diff --git a/iwdification/bam/cdia424c.bam b/iwdification/bam/cdia424c.bam new file mode 100644 index 0000000..baac7e9 Binary files /dev/null and b/iwdification/bam/cdia424c.bam differ diff --git a/iwdification/bam/cdia424p.bam b/iwdification/bam/cdia424p.bam new file mode 100644 index 0000000..2d82f9c Binary files /dev/null and b/iwdification/bam/cdia424p.bam differ diff --git a/iwdification/bam/cdia424v.bam b/iwdification/bam/cdia424v.bam new file mode 100644 index 0000000..e87d3f7 Binary files /dev/null and b/iwdification/bam/cdia424v.bam differ diff --git a/iwdification/bam/cdia511a.bam b/iwdification/bam/cdia511a.bam new file mode 100644 index 0000000..0702b2e Binary files /dev/null and b/iwdification/bam/cdia511a.bam differ diff --git a/iwdification/bam/cdia511b.bam b/iwdification/bam/cdia511b.bam new file mode 100644 index 0000000..3b3cdd2 Binary files /dev/null and b/iwdification/bam/cdia511b.bam differ diff --git a/iwdification/bam/cdia511c.bam b/iwdification/bam/cdia511c.bam new file mode 100644 index 0000000..c722fc7 Binary files /dev/null and b/iwdification/bam/cdia511c.bam differ diff --git a/iwdification/bam/cdia511v.bam b/iwdification/bam/cdia511v.bam new file mode 100644 index 0000000..60a0000 Binary files /dev/null and b/iwdification/bam/cdia511v.bam differ diff --git a/iwdification/bam/cdia512a.bam b/iwdification/bam/cdia512a.bam new file mode 100644 index 0000000..20b9600 Binary files /dev/null and b/iwdification/bam/cdia512a.bam differ diff --git a/iwdification/bam/cdia512b.bam b/iwdification/bam/cdia512b.bam new file mode 100644 index 0000000..d1a45e7 Binary files /dev/null and b/iwdification/bam/cdia512b.bam differ diff --git a/iwdification/bam/cdia512c.bam b/iwdification/bam/cdia512c.bam new file mode 100644 index 0000000..a3fe45d Binary files /dev/null and b/iwdification/bam/cdia512c.bam differ diff --git a/iwdification/bam/cdia513a.bam b/iwdification/bam/cdia513a.bam new file mode 100644 index 0000000..aed8b20 Binary files /dev/null and b/iwdification/bam/cdia513a.bam differ diff --git a/iwdification/bam/cdia513b.bam b/iwdification/bam/cdia513b.bam new file mode 100644 index 0000000..380736f Binary files /dev/null and b/iwdification/bam/cdia513b.bam differ diff --git a/iwdification/bam/cdia513c.bam b/iwdification/bam/cdia513c.bam new file mode 100644 index 0000000..4156ff5 Binary files /dev/null and b/iwdification/bam/cdia513c.bam differ diff --git a/iwdification/bam/cdia517a.bam b/iwdification/bam/cdia517a.bam new file mode 100644 index 0000000..3ab9449 Binary files /dev/null and b/iwdification/bam/cdia517a.bam differ diff --git a/iwdification/bam/cdia517b.bam b/iwdification/bam/cdia517b.bam new file mode 100644 index 0000000..ed45c2f Binary files /dev/null and b/iwdification/bam/cdia517b.bam differ diff --git a/iwdification/bam/cdia517c.bam b/iwdification/bam/cdia517c.bam new file mode 100644 index 0000000..67cbc7e Binary files /dev/null and b/iwdification/bam/cdia517c.bam differ diff --git a/iwdification/bam/cdia601a.bam b/iwdification/bam/cdia601a.bam new file mode 100644 index 0000000..0f0dc4b Binary files /dev/null and b/iwdification/bam/cdia601a.bam differ diff --git a/iwdification/bam/cdia601b.bam b/iwdification/bam/cdia601b.bam new file mode 100644 index 0000000..04e4b50 Binary files /dev/null and b/iwdification/bam/cdia601b.bam differ diff --git a/iwdification/bam/cdia601c.bam b/iwdification/bam/cdia601c.bam new file mode 100644 index 0000000..f6e4a95 Binary files /dev/null and b/iwdification/bam/cdia601c.bam differ diff --git a/iwdification/bam/cdia601v.bam b/iwdification/bam/cdia601v.bam new file mode 100644 index 0000000..b2f8054 Binary files /dev/null and b/iwdification/bam/cdia601v.bam differ diff --git a/iwdification/bam/cdia610a.bam b/iwdification/bam/cdia610a.bam new file mode 100644 index 0000000..85c3f1a Binary files /dev/null and b/iwdification/bam/cdia610a.bam differ diff --git a/iwdification/bam/cdia610b.bam b/iwdification/bam/cdia610b.bam new file mode 100644 index 0000000..e712c57 Binary files /dev/null and b/iwdification/bam/cdia610b.bam differ diff --git a/iwdification/bam/cdia610c.bam b/iwdification/bam/cdia610c.bam new file mode 100644 index 0000000..347957d Binary files /dev/null and b/iwdification/bam/cdia610c.bam differ diff --git a/iwdification/bam/cdia610w.bam b/iwdification/bam/cdia610w.bam new file mode 100644 index 0000000..fea1dd1 Binary files /dev/null and b/iwdification/bam/cdia610w.bam differ diff --git a/iwdification/bam/cdia611a.bam b/iwdification/bam/cdia611a.bam new file mode 100644 index 0000000..d475cb5 Binary files /dev/null and b/iwdification/bam/cdia611a.bam differ diff --git a/iwdification/bam/cdia611b.bam b/iwdification/bam/cdia611b.bam new file mode 100644 index 0000000..f7fc673 Binary files /dev/null and b/iwdification/bam/cdia611b.bam differ diff --git a/iwdification/bam/cdia611c.bam b/iwdification/bam/cdia611c.bam new file mode 100644 index 0000000..a7f2cf8 Binary files /dev/null and b/iwdification/bam/cdia611c.bam differ diff --git a/iwdification/bam/cdia612a.bam b/iwdification/bam/cdia612a.bam new file mode 100644 index 0000000..cced834 Binary files /dev/null and b/iwdification/bam/cdia612a.bam differ diff --git a/iwdification/bam/cdia612b.bam b/iwdification/bam/cdia612b.bam new file mode 100644 index 0000000..ef55595 Binary files /dev/null and b/iwdification/bam/cdia612b.bam differ diff --git a/iwdification/bam/cdia612c.bam b/iwdification/bam/cdia612c.bam new file mode 100644 index 0000000..c5ef46e Binary files /dev/null and b/iwdification/bam/cdia612c.bam differ diff --git a/iwdification/bam/cdia612p.bam b/iwdification/bam/cdia612p.bam new file mode 100644 index 0000000..f4178df Binary files /dev/null and b/iwdification/bam/cdia612p.bam differ diff --git a/iwdification/bam/cdia613a.bam b/iwdification/bam/cdia613a.bam new file mode 100644 index 0000000..b7e19ae Binary files /dev/null and b/iwdification/bam/cdia613a.bam differ diff --git a/iwdification/bam/cdia613b.bam b/iwdification/bam/cdia613b.bam new file mode 100644 index 0000000..97365d8 Binary files /dev/null and b/iwdification/bam/cdia613b.bam differ diff --git a/iwdification/bam/cdia613c.bam b/iwdification/bam/cdia613c.bam new file mode 100644 index 0000000..41e0246 Binary files /dev/null and b/iwdification/bam/cdia613c.bam differ diff --git a/iwdification/bam/cdia618a.bam b/iwdification/bam/cdia618a.bam new file mode 100644 index 0000000..47d25ec Binary files /dev/null and b/iwdification/bam/cdia618a.bam differ diff --git a/iwdification/bam/cdia618b.bam b/iwdification/bam/cdia618b.bam new file mode 100644 index 0000000..b73bed0 Binary files /dev/null and b/iwdification/bam/cdia618b.bam differ diff --git a/iwdification/bam/cdia618c.bam b/iwdification/bam/cdia618c.bam new file mode 100644 index 0000000..3e08588 Binary files /dev/null and b/iwdification/bam/cdia618c.bam differ diff --git a/iwdification/bam/cdia618w.bam b/iwdification/bam/cdia618w.bam new file mode 100644 index 0000000..11f22da Binary files /dev/null and b/iwdification/bam/cdia618w.bam differ diff --git a/iwdification/bam/cdia620a.bam b/iwdification/bam/cdia620a.bam new file mode 100644 index 0000000..ba36af1 Binary files /dev/null and b/iwdification/bam/cdia620a.bam differ diff --git a/iwdification/bam/cdia620b.bam b/iwdification/bam/cdia620b.bam new file mode 100644 index 0000000..643625e Binary files /dev/null and b/iwdification/bam/cdia620b.bam differ diff --git a/iwdification/bam/cdia620c.bam b/iwdification/bam/cdia620c.bam new file mode 100644 index 0000000..c69831a Binary files /dev/null and b/iwdification/bam/cdia620c.bam differ diff --git a/iwdification/bam/cdia703a.bam b/iwdification/bam/cdia703a.bam new file mode 100644 index 0000000..98989f4 Binary files /dev/null and b/iwdification/bam/cdia703a.bam differ diff --git a/iwdification/bam/cdia703b.bam b/iwdification/bam/cdia703b.bam new file mode 100644 index 0000000..bb323ce Binary files /dev/null and b/iwdification/bam/cdia703b.bam differ diff --git a/iwdification/bam/cdia703c.bam b/iwdification/bam/cdia703c.bam new file mode 100644 index 0000000..4403eac Binary files /dev/null and b/iwdification/bam/cdia703c.bam differ diff --git a/iwdification/bam/cdia707a.bam b/iwdification/bam/cdia707a.bam new file mode 100644 index 0000000..89eac66 Binary files /dev/null and b/iwdification/bam/cdia707a.bam differ diff --git a/iwdification/bam/cdia707b.bam b/iwdification/bam/cdia707b.bam new file mode 100644 index 0000000..9487eb3 Binary files /dev/null and b/iwdification/bam/cdia707b.bam differ diff --git a/iwdification/bam/cdia707c.bam b/iwdification/bam/cdia707c.bam new file mode 100644 index 0000000..af58c70 Binary files /dev/null and b/iwdification/bam/cdia707c.bam differ diff --git a/iwdification/bam/cdia707h.bam b/iwdification/bam/cdia707h.bam new file mode 100644 index 0000000..d14a46c Binary files /dev/null and b/iwdification/bam/cdia707h.bam differ diff --git a/iwdification/bam/cdia707x.bam b/iwdification/bam/cdia707x.bam new file mode 100644 index 0000000..116a97d Binary files /dev/null and b/iwdification/bam/cdia707x.bam differ diff --git a/iwdification/bam/cdia708a.bam b/iwdification/bam/cdia708a.bam new file mode 100644 index 0000000..d07b42d Binary files /dev/null and b/iwdification/bam/cdia708a.bam differ diff --git a/iwdification/bam/cdia708b.bam b/iwdification/bam/cdia708b.bam new file mode 100644 index 0000000..36fc7c7 Binary files /dev/null and b/iwdification/bam/cdia708b.bam differ diff --git a/iwdification/bam/cdia708c.bam b/iwdification/bam/cdia708c.bam new file mode 100644 index 0000000..1878941 Binary files /dev/null and b/iwdification/bam/cdia708c.bam differ diff --git a/iwdification/bam/cdia708v.bam b/iwdification/bam/cdia708v.bam new file mode 100644 index 0000000..408ef3a Binary files /dev/null and b/iwdification/bam/cdia708v.bam differ diff --git a/iwdification/bam/cdia711a.bam b/iwdification/bam/cdia711a.bam new file mode 100644 index 0000000..76f2e0c Binary files /dev/null and b/iwdification/bam/cdia711a.bam differ diff --git a/iwdification/bam/cdia711b.bam b/iwdification/bam/cdia711b.bam new file mode 100644 index 0000000..a51932c Binary files /dev/null and b/iwdification/bam/cdia711b.bam differ diff --git a/iwdification/bam/cdia711c.bam b/iwdification/bam/cdia711c.bam new file mode 100644 index 0000000..774ddde Binary files /dev/null and b/iwdification/bam/cdia711c.bam differ diff --git a/iwdification/bam/cdia711v.bam b/iwdification/bam/cdia711v.bam new file mode 100644 index 0000000..c65cdff Binary files /dev/null and b/iwdification/bam/cdia711v.bam differ diff --git a/iwdification/bam/cdia803a.bam b/iwdification/bam/cdia803a.bam new file mode 100644 index 0000000..13cd60e Binary files /dev/null and b/iwdification/bam/cdia803a.bam differ diff --git a/iwdification/bam/cdia803b.bam b/iwdification/bam/cdia803b.bam new file mode 100644 index 0000000..dd3a85f Binary files /dev/null and b/iwdification/bam/cdia803b.bam differ diff --git a/iwdification/bam/cdia803c.bam b/iwdification/bam/cdia803c.bam new file mode 100644 index 0000000..5202058 Binary files /dev/null and b/iwdification/bam/cdia803c.bam differ diff --git a/iwdification/bam/cdia804a.bam b/iwdification/bam/cdia804a.bam new file mode 100644 index 0000000..a39758e Binary files /dev/null and b/iwdification/bam/cdia804a.bam differ diff --git a/iwdification/bam/cdia804b.bam b/iwdification/bam/cdia804b.bam new file mode 100644 index 0000000..c6f305f Binary files /dev/null and b/iwdification/bam/cdia804b.bam differ diff --git a/iwdification/bam/cdia804c.bam b/iwdification/bam/cdia804c.bam new file mode 100644 index 0000000..e5f3420 Binary files /dev/null and b/iwdification/bam/cdia804c.bam differ diff --git a/iwdification/bam/cdia807a.bam b/iwdification/bam/cdia807a.bam new file mode 100644 index 0000000..2785f90 Binary files /dev/null and b/iwdification/bam/cdia807a.bam differ diff --git a/iwdification/bam/cdia807b.bam b/iwdification/bam/cdia807b.bam new file mode 100644 index 0000000..e374920 Binary files /dev/null and b/iwdification/bam/cdia807b.bam differ diff --git a/iwdification/bam/cdia807c.bam b/iwdification/bam/cdia807c.bam new file mode 100644 index 0000000..da99fad Binary files /dev/null and b/iwdification/bam/cdia807c.bam differ diff --git a/iwdification/bam/cdia807w.bam b/iwdification/bam/cdia807w.bam new file mode 100644 index 0000000..b7119be Binary files /dev/null and b/iwdification/bam/cdia807w.bam differ diff --git a/iwdification/bam/cdia902a.bam b/iwdification/bam/cdia902a.bam new file mode 100644 index 0000000..44598ee Binary files /dev/null and b/iwdification/bam/cdia902a.bam differ diff --git a/iwdification/bam/cdia902b.bam b/iwdification/bam/cdia902b.bam new file mode 100644 index 0000000..5f89b18 Binary files /dev/null and b/iwdification/bam/cdia902b.bam differ diff --git a/iwdification/bam/cdia902c.bam b/iwdification/bam/cdia902c.bam new file mode 100644 index 0000000..19fb9a6 Binary files /dev/null and b/iwdification/bam/cdia902c.bam differ diff --git a/iwdification/bam/cdibara.bam b/iwdification/bam/cdibara.bam new file mode 100644 index 0000000..b321714 Binary files /dev/null and b/iwdification/bam/cdibara.bam differ diff --git a/iwdification/bam/cdibarb.bam b/iwdification/bam/cdibarb.bam new file mode 100644 index 0000000..442d9d5 Binary files /dev/null and b/iwdification/bam/cdibarb.bam differ diff --git a/iwdification/bam/cdibarc.bam b/iwdification/bam/cdibarc.bam new file mode 100644 index 0000000..a9643fd Binary files /dev/null and b/iwdification/bam/cdibarc.bam differ diff --git a/iwdification/bam/cdibard.bam b/iwdification/bam/cdibard.bam new file mode 100644 index 0000000..50e71f1 Binary files /dev/null and b/iwdification/bam/cdibard.bam differ diff --git a/iwdification/bam/cdibare.bam b/iwdification/bam/cdibare.bam new file mode 100644 index 0000000..33575d2 Binary files /dev/null and b/iwdification/bam/cdibare.bam differ diff --git a/iwdification/bam/cdibarf.bam b/iwdification/bam/cdibarf.bam new file mode 100644 index 0000000..5f40ca4 Binary files /dev/null and b/iwdification/bam/cdibarf.bam differ diff --git a/iwdification/bam/cdid111a.bam b/iwdification/bam/cdid111a.bam new file mode 100644 index 0000000..250b2f2 Binary files /dev/null and b/iwdification/bam/cdid111a.bam differ diff --git a/iwdification/bam/cdid111b.bam b/iwdification/bam/cdid111b.bam new file mode 100644 index 0000000..6af21ae Binary files /dev/null and b/iwdification/bam/cdid111b.bam differ diff --git a/iwdification/bam/cdid111c.bam b/iwdification/bam/cdid111c.bam new file mode 100644 index 0000000..c5f835e Binary files /dev/null and b/iwdification/bam/cdid111c.bam differ diff --git a/iwdification/bam/cdid112a.bam b/iwdification/bam/cdid112a.bam new file mode 100644 index 0000000..954e269 Binary files /dev/null and b/iwdification/bam/cdid112a.bam differ diff --git a/iwdification/bam/cdid112b.bam b/iwdification/bam/cdid112b.bam new file mode 100644 index 0000000..2ea0512 Binary files /dev/null and b/iwdification/bam/cdid112b.bam differ diff --git a/iwdification/bam/cdid112c.bam b/iwdification/bam/cdid112c.bam new file mode 100644 index 0000000..abe49a7 Binary files /dev/null and b/iwdification/bam/cdid112c.bam differ diff --git a/iwdification/bam/cdid113a.bam b/iwdification/bam/cdid113a.bam new file mode 100644 index 0000000..619bd32 Binary files /dev/null and b/iwdification/bam/cdid113a.bam differ diff --git a/iwdification/bam/cdid113b.bam b/iwdification/bam/cdid113b.bam new file mode 100644 index 0000000..ccd3e24 Binary files /dev/null and b/iwdification/bam/cdid113b.bam differ diff --git a/iwdification/bam/cdid113c.bam b/iwdification/bam/cdid113c.bam new file mode 100644 index 0000000..cb857fd Binary files /dev/null and b/iwdification/bam/cdid113c.bam differ diff --git a/iwdification/bam/cdid113v.bam b/iwdification/bam/cdid113v.bam new file mode 100644 index 0000000..e81ae1e Binary files /dev/null and b/iwdification/bam/cdid113v.bam differ diff --git a/iwdification/bam/cdid214a.bam b/iwdification/bam/cdid214a.bam new file mode 100644 index 0000000..5fea94e Binary files /dev/null and b/iwdification/bam/cdid214a.bam differ diff --git a/iwdification/bam/cdid214b.bam b/iwdification/bam/cdid214b.bam new file mode 100644 index 0000000..84d2c9d Binary files /dev/null and b/iwdification/bam/cdid214b.bam differ diff --git a/iwdification/bam/cdid214c.bam b/iwdification/bam/cdid214c.bam new file mode 100644 index 0000000..593b70f Binary files /dev/null and b/iwdification/bam/cdid214c.bam differ diff --git a/iwdification/bam/cdid216a.bam b/iwdification/bam/cdid216a.bam new file mode 100644 index 0000000..19cb608 Binary files /dev/null and b/iwdification/bam/cdid216a.bam differ diff --git a/iwdification/bam/cdid216b.bam b/iwdification/bam/cdid216b.bam new file mode 100644 index 0000000..2449f4d Binary files /dev/null and b/iwdification/bam/cdid216b.bam differ diff --git a/iwdification/bam/cdid216c.bam b/iwdification/bam/cdid216c.bam new file mode 100644 index 0000000..9801292 Binary files /dev/null and b/iwdification/bam/cdid216c.bam differ diff --git a/iwdification/bam/cdid216v.bam b/iwdification/bam/cdid216v.bam new file mode 100644 index 0000000..5126dc0 Binary files /dev/null and b/iwdification/bam/cdid216v.bam differ diff --git a/iwdification/bam/cdid217a.bam b/iwdification/bam/cdid217a.bam new file mode 100644 index 0000000..ef9d511 Binary files /dev/null and b/iwdification/bam/cdid217a.bam differ diff --git a/iwdification/bam/cdid217b.bam b/iwdification/bam/cdid217b.bam new file mode 100644 index 0000000..01487ca Binary files /dev/null and b/iwdification/bam/cdid217b.bam differ diff --git a/iwdification/bam/cdid217c.bam b/iwdification/bam/cdid217c.bam new file mode 100644 index 0000000..7ab6027 Binary files /dev/null and b/iwdification/bam/cdid217c.bam differ diff --git a/iwdification/bam/cdid217i.bam b/iwdification/bam/cdid217i.bam new file mode 100644 index 0000000..81c058b Binary files /dev/null and b/iwdification/bam/cdid217i.bam differ diff --git a/iwdification/bam/cdid218a.bam b/iwdification/bam/cdid218a.bam new file mode 100644 index 0000000..b65a2d5 Binary files /dev/null and b/iwdification/bam/cdid218a.bam differ diff --git a/iwdification/bam/cdid218b.bam b/iwdification/bam/cdid218b.bam new file mode 100644 index 0000000..0f76d28 Binary files /dev/null and b/iwdification/bam/cdid218b.bam differ diff --git a/iwdification/bam/cdid218c.bam b/iwdification/bam/cdid218c.bam new file mode 100644 index 0000000..21af429 Binary files /dev/null and b/iwdification/bam/cdid218c.bam differ diff --git a/iwdification/bam/cdid313a.bam b/iwdification/bam/cdid313a.bam new file mode 100644 index 0000000..feb51d2 Binary files /dev/null and b/iwdification/bam/cdid313a.bam differ diff --git a/iwdification/bam/cdid313b.bam b/iwdification/bam/cdid313b.bam new file mode 100644 index 0000000..abad0c8 Binary files /dev/null and b/iwdification/bam/cdid313b.bam differ diff --git a/iwdification/bam/cdid313c.bam b/iwdification/bam/cdid313c.bam new file mode 100644 index 0000000..21e9af1 Binary files /dev/null and b/iwdification/bam/cdid313c.bam differ diff --git a/iwdification/bam/cdid315a.bam b/iwdification/bam/cdid315a.bam new file mode 100644 index 0000000..70fceba Binary files /dev/null and b/iwdification/bam/cdid315a.bam differ diff --git a/iwdification/bam/cdid315b.bam b/iwdification/bam/cdid315b.bam new file mode 100644 index 0000000..d8026e8 Binary files /dev/null and b/iwdification/bam/cdid315b.bam differ diff --git a/iwdification/bam/cdid315c.bam b/iwdification/bam/cdid315c.bam new file mode 100644 index 0000000..9a513ff Binary files /dev/null and b/iwdification/bam/cdid315c.bam differ diff --git a/iwdification/bam/cdid316a.bam b/iwdification/bam/cdid316a.bam new file mode 100644 index 0000000..8c984c6 Binary files /dev/null and b/iwdification/bam/cdid316a.bam differ diff --git a/iwdification/bam/cdid316b.bam b/iwdification/bam/cdid316b.bam new file mode 100644 index 0000000..b6654cb Binary files /dev/null and b/iwdification/bam/cdid316b.bam differ diff --git a/iwdification/bam/cdid316c.bam b/iwdification/bam/cdid316c.bam new file mode 100644 index 0000000..d59d7c6 Binary files /dev/null and b/iwdification/bam/cdid316c.bam differ diff --git a/iwdification/bam/cdid318a.bam b/iwdification/bam/cdid318a.bam new file mode 100644 index 0000000..bd084fb Binary files /dev/null and b/iwdification/bam/cdid318a.bam differ diff --git a/iwdification/bam/cdid318b.bam b/iwdification/bam/cdid318b.bam new file mode 100644 index 0000000..a36f0bf Binary files /dev/null and b/iwdification/bam/cdid318b.bam differ diff --git a/iwdification/bam/cdid318c.bam b/iwdification/bam/cdid318c.bam new file mode 100644 index 0000000..4b05512 Binary files /dev/null and b/iwdification/bam/cdid318c.bam differ diff --git a/iwdification/bam/cdid318i.bam b/iwdification/bam/cdid318i.bam new file mode 100644 index 0000000..3c2e5a5 Binary files /dev/null and b/iwdification/bam/cdid318i.bam differ diff --git a/iwdification/bam/cdid319a.bam b/iwdification/bam/cdid319a.bam new file mode 100644 index 0000000..c01ecb6 Binary files /dev/null and b/iwdification/bam/cdid319a.bam differ diff --git a/iwdification/bam/cdid319b.bam b/iwdification/bam/cdid319b.bam new file mode 100644 index 0000000..b892014 Binary files /dev/null and b/iwdification/bam/cdid319b.bam differ diff --git a/iwdification/bam/cdid319c.bam b/iwdification/bam/cdid319c.bam new file mode 100644 index 0000000..e89b30b Binary files /dev/null and b/iwdification/bam/cdid319c.bam differ diff --git a/iwdification/bam/cdid320a.bam b/iwdification/bam/cdid320a.bam new file mode 100644 index 0000000..d1b0517 Binary files /dev/null and b/iwdification/bam/cdid320a.bam differ diff --git a/iwdification/bam/cdid320b.bam b/iwdification/bam/cdid320b.bam new file mode 100644 index 0000000..1a1f9e9 Binary files /dev/null and b/iwdification/bam/cdid320b.bam differ diff --git a/iwdification/bam/cdid320c.bam b/iwdification/bam/cdid320c.bam new file mode 100644 index 0000000..30303ae Binary files /dev/null and b/iwdification/bam/cdid320c.bam differ diff --git a/iwdification/bam/cdid320v.bam b/iwdification/bam/cdid320v.bam new file mode 100644 index 0000000..d1c27f7 Binary files /dev/null and b/iwdification/bam/cdid320v.bam differ diff --git a/iwdification/bam/cdid320x.bam b/iwdification/bam/cdid320x.bam new file mode 100644 index 0000000..b8ddb32 Binary files /dev/null and b/iwdification/bam/cdid320x.bam differ diff --git a/iwdification/bam/cdid320z.bam b/iwdification/bam/cdid320z.bam new file mode 100644 index 0000000..d1c27f7 Binary files /dev/null and b/iwdification/bam/cdid320z.bam differ diff --git a/iwdification/bam/cdid321a.bam b/iwdification/bam/cdid321a.bam new file mode 100644 index 0000000..193921b Binary files /dev/null and b/iwdification/bam/cdid321a.bam differ diff --git a/iwdification/bam/cdid321b.bam b/iwdification/bam/cdid321b.bam new file mode 100644 index 0000000..6ef0797 Binary files /dev/null and b/iwdification/bam/cdid321b.bam differ diff --git a/iwdification/bam/cdid321c.bam b/iwdification/bam/cdid321c.bam new file mode 100644 index 0000000..5acb155 Binary files /dev/null and b/iwdification/bam/cdid321c.bam differ diff --git a/iwdification/bam/cdid321v.bam b/iwdification/bam/cdid321v.bam new file mode 100644 index 0000000..b88bce8 Binary files /dev/null and b/iwdification/bam/cdid321v.bam differ diff --git a/iwdification/bam/cdid323a.bam b/iwdification/bam/cdid323a.bam new file mode 100644 index 0000000..4af73e2 Binary files /dev/null and b/iwdification/bam/cdid323a.bam differ diff --git a/iwdification/bam/cdid323b.bam b/iwdification/bam/cdid323b.bam new file mode 100644 index 0000000..68372ac Binary files /dev/null and b/iwdification/bam/cdid323b.bam differ diff --git a/iwdification/bam/cdid323c.bam b/iwdification/bam/cdid323c.bam new file mode 100644 index 0000000..8806f63 Binary files /dev/null and b/iwdification/bam/cdid323c.bam differ diff --git a/iwdification/bam/cdid323v.bam b/iwdification/bam/cdid323v.bam new file mode 100644 index 0000000..6c2e7ce Binary files /dev/null and b/iwdification/bam/cdid323v.bam differ diff --git a/iwdification/bam/cdid410a.bam b/iwdification/bam/cdid410a.bam new file mode 100644 index 0000000..62aa998 Binary files /dev/null and b/iwdification/bam/cdid410a.bam differ diff --git a/iwdification/bam/cdid410b.bam b/iwdification/bam/cdid410b.bam new file mode 100644 index 0000000..d8fc4ff Binary files /dev/null and b/iwdification/bam/cdid410b.bam differ diff --git a/iwdification/bam/cdid410c.bam b/iwdification/bam/cdid410c.bam new file mode 100644 index 0000000..a30baec Binary files /dev/null and b/iwdification/bam/cdid410c.bam differ diff --git a/iwdification/bam/cdid411a.bam b/iwdification/bam/cdid411a.bam new file mode 100644 index 0000000..125563f Binary files /dev/null and b/iwdification/bam/cdid411a.bam differ diff --git a/iwdification/bam/cdid411b.bam b/iwdification/bam/cdid411b.bam new file mode 100644 index 0000000..21bca64 Binary files /dev/null and b/iwdification/bam/cdid411b.bam differ diff --git a/iwdification/bam/cdid411c.bam b/iwdification/bam/cdid411c.bam new file mode 100644 index 0000000..0649ec3 Binary files /dev/null and b/iwdification/bam/cdid411c.bam differ diff --git a/iwdification/bam/cdid411v.bam b/iwdification/bam/cdid411v.bam new file mode 100644 index 0000000..b031946 Binary files /dev/null and b/iwdification/bam/cdid411v.bam differ diff --git a/iwdification/bam/cdid412a.bam b/iwdification/bam/cdid412a.bam new file mode 100644 index 0000000..1da7de5 Binary files /dev/null and b/iwdification/bam/cdid412a.bam differ diff --git a/iwdification/bam/cdid412b.bam b/iwdification/bam/cdid412b.bam new file mode 100644 index 0000000..26618f1 Binary files /dev/null and b/iwdification/bam/cdid412b.bam differ diff --git a/iwdification/bam/cdid412c.bam b/iwdification/bam/cdid412c.bam new file mode 100644 index 0000000..bc5f11e Binary files /dev/null and b/iwdification/bam/cdid412c.bam differ diff --git a/iwdification/bam/cdid412v.bam b/iwdification/bam/cdid412v.bam new file mode 100644 index 0000000..c3a003e Binary files /dev/null and b/iwdification/bam/cdid412v.bam differ diff --git a/iwdification/bam/cdid414a.bam b/iwdification/bam/cdid414a.bam new file mode 100644 index 0000000..8710574 Binary files /dev/null and b/iwdification/bam/cdid414a.bam differ diff --git a/iwdification/bam/cdid414b.bam b/iwdification/bam/cdid414b.bam new file mode 100644 index 0000000..d6abeaa Binary files /dev/null and b/iwdification/bam/cdid414b.bam differ diff --git a/iwdification/bam/cdid414c.bam b/iwdification/bam/cdid414c.bam new file mode 100644 index 0000000..6359c6a Binary files /dev/null and b/iwdification/bam/cdid414c.bam differ diff --git a/iwdification/bam/cdid415a.bam b/iwdification/bam/cdid415a.bam new file mode 100644 index 0000000..6793746 Binary files /dev/null and b/iwdification/bam/cdid415a.bam differ diff --git a/iwdification/bam/cdid415b.bam b/iwdification/bam/cdid415b.bam new file mode 100644 index 0000000..e270802 Binary files /dev/null and b/iwdification/bam/cdid415b.bam differ diff --git a/iwdification/bam/cdid415c.bam b/iwdification/bam/cdid415c.bam new file mode 100644 index 0000000..683c3f6 Binary files /dev/null and b/iwdification/bam/cdid415c.bam differ diff --git a/iwdification/bam/cdid417a.bam b/iwdification/bam/cdid417a.bam new file mode 100644 index 0000000..a742627 Binary files /dev/null and b/iwdification/bam/cdid417a.bam differ diff --git a/iwdification/bam/cdid417b.bam b/iwdification/bam/cdid417b.bam new file mode 100644 index 0000000..245796e Binary files /dev/null and b/iwdification/bam/cdid417b.bam differ diff --git a/iwdification/bam/cdid417c.bam b/iwdification/bam/cdid417c.bam new file mode 100644 index 0000000..9525dbb Binary files /dev/null and b/iwdification/bam/cdid417c.bam differ diff --git a/iwdification/bam/cdid417v.bam b/iwdification/bam/cdid417v.bam new file mode 100644 index 0000000..2507d58 Binary files /dev/null and b/iwdification/bam/cdid417v.bam differ diff --git a/iwdification/bam/cdid419a.bam b/iwdification/bam/cdid419a.bam new file mode 100644 index 0000000..0dacaee Binary files /dev/null and b/iwdification/bam/cdid419a.bam differ diff --git a/iwdification/bam/cdid419b.bam b/iwdification/bam/cdid419b.bam new file mode 100644 index 0000000..16156fb Binary files /dev/null and b/iwdification/bam/cdid419b.bam differ diff --git a/iwdification/bam/cdid419c.bam b/iwdification/bam/cdid419c.bam new file mode 100644 index 0000000..b4e20c2 Binary files /dev/null and b/iwdification/bam/cdid419c.bam differ diff --git a/iwdification/bam/cdid420a.bam b/iwdification/bam/cdid420a.bam new file mode 100644 index 0000000..6ab188f Binary files /dev/null and b/iwdification/bam/cdid420a.bam differ diff --git a/iwdification/bam/cdid420b.bam b/iwdification/bam/cdid420b.bam new file mode 100644 index 0000000..078b274 Binary files /dev/null and b/iwdification/bam/cdid420b.bam differ diff --git a/iwdification/bam/cdid420c.bam b/iwdification/bam/cdid420c.bam new file mode 100644 index 0000000..99d2eba Binary files /dev/null and b/iwdification/bam/cdid420c.bam differ diff --git a/iwdification/bam/cdid420i.bam b/iwdification/bam/cdid420i.bam new file mode 100644 index 0000000..9055fc0 Binary files /dev/null and b/iwdification/bam/cdid420i.bam differ diff --git a/iwdification/bam/cdid422a.bam b/iwdification/bam/cdid422a.bam new file mode 100644 index 0000000..c44d780 Binary files /dev/null and b/iwdification/bam/cdid422a.bam differ diff --git a/iwdification/bam/cdid422b.bam b/iwdification/bam/cdid422b.bam new file mode 100644 index 0000000..eb70f96 Binary files /dev/null and b/iwdification/bam/cdid422b.bam differ diff --git a/iwdification/bam/cdid422c.bam b/iwdification/bam/cdid422c.bam new file mode 100644 index 0000000..5ac6a95 Binary files /dev/null and b/iwdification/bam/cdid422c.bam differ diff --git a/iwdification/bam/cdid511a.bam b/iwdification/bam/cdid511a.bam new file mode 100644 index 0000000..ca7f8ec Binary files /dev/null and b/iwdification/bam/cdid511a.bam differ diff --git a/iwdification/bam/cdid511b.bam b/iwdification/bam/cdid511b.bam new file mode 100644 index 0000000..fbcdbf8 Binary files /dev/null and b/iwdification/bam/cdid511b.bam differ diff --git a/iwdification/bam/cdid511c.bam b/iwdification/bam/cdid511c.bam new file mode 100644 index 0000000..8fe56bc Binary files /dev/null and b/iwdification/bam/cdid511c.bam differ diff --git a/iwdification/bam/cdid512a.bam b/iwdification/bam/cdid512a.bam new file mode 100644 index 0000000..cab1447 Binary files /dev/null and b/iwdification/bam/cdid512a.bam differ diff --git a/iwdification/bam/cdid512b.bam b/iwdification/bam/cdid512b.bam new file mode 100644 index 0000000..8740b47 Binary files /dev/null and b/iwdification/bam/cdid512b.bam differ diff --git a/iwdification/bam/cdid512c.bam b/iwdification/bam/cdid512c.bam new file mode 100644 index 0000000..cdd9741 Binary files /dev/null and b/iwdification/bam/cdid512c.bam differ diff --git a/iwdification/bam/cdid512v.bam b/iwdification/bam/cdid512v.bam new file mode 100644 index 0000000..7d62564 Binary files /dev/null and b/iwdification/bam/cdid512v.bam differ diff --git a/iwdification/bam/cdid514a.bam b/iwdification/bam/cdid514a.bam new file mode 100644 index 0000000..34ab980 Binary files /dev/null and b/iwdification/bam/cdid514a.bam differ diff --git a/iwdification/bam/cdid514b.bam b/iwdification/bam/cdid514b.bam new file mode 100644 index 0000000..22d667c Binary files /dev/null and b/iwdification/bam/cdid514b.bam differ diff --git a/iwdification/bam/cdid514c.bam b/iwdification/bam/cdid514c.bam new file mode 100644 index 0000000..3f879a8 Binary files /dev/null and b/iwdification/bam/cdid514c.bam differ diff --git a/iwdification/bam/cdid514y.bam b/iwdification/bam/cdid514y.bam new file mode 100644 index 0000000..d491650 Binary files /dev/null and b/iwdification/bam/cdid514y.bam differ diff --git a/iwdification/bam/cdid514z.bam b/iwdification/bam/cdid514z.bam new file mode 100644 index 0000000..68f0fb4 Binary files /dev/null and b/iwdification/bam/cdid514z.bam differ diff --git a/iwdification/bam/cdid516a.bam b/iwdification/bam/cdid516a.bam new file mode 100644 index 0000000..5e0eed3 Binary files /dev/null and b/iwdification/bam/cdid516a.bam differ diff --git a/iwdification/bam/cdid516b.bam b/iwdification/bam/cdid516b.bam new file mode 100644 index 0000000..032328f Binary files /dev/null and b/iwdification/bam/cdid516b.bam differ diff --git a/iwdification/bam/cdid516c.bam b/iwdification/bam/cdid516c.bam new file mode 100644 index 0000000..4683adf Binary files /dev/null and b/iwdification/bam/cdid516c.bam differ diff --git a/iwdification/bam/cdid517a.bam b/iwdification/bam/cdid517a.bam new file mode 100644 index 0000000..46581e3 Binary files /dev/null and b/iwdification/bam/cdid517a.bam differ diff --git a/iwdification/bam/cdid517b.bam b/iwdification/bam/cdid517b.bam new file mode 100644 index 0000000..8141e16 Binary files /dev/null and b/iwdification/bam/cdid517b.bam differ diff --git a/iwdification/bam/cdid517c.bam b/iwdification/bam/cdid517c.bam new file mode 100644 index 0000000..1d53fbb Binary files /dev/null and b/iwdification/bam/cdid517c.bam differ diff --git a/iwdification/bam/cdid609a.bam b/iwdification/bam/cdid609a.bam new file mode 100644 index 0000000..58a454b Binary files /dev/null and b/iwdification/bam/cdid609a.bam differ diff --git a/iwdification/bam/cdid609b.bam b/iwdification/bam/cdid609b.bam new file mode 100644 index 0000000..95db0fc Binary files /dev/null and b/iwdification/bam/cdid609b.bam differ diff --git a/iwdification/bam/cdid609c.bam b/iwdification/bam/cdid609c.bam new file mode 100644 index 0000000..b869e51 Binary files /dev/null and b/iwdification/bam/cdid609c.bam differ diff --git a/iwdification/bam/cdid609v.bam b/iwdification/bam/cdid609v.bam new file mode 100644 index 0000000..84de005 Binary files /dev/null and b/iwdification/bam/cdid609v.bam differ diff --git a/iwdification/bam/cdid613a.bam b/iwdification/bam/cdid613a.bam new file mode 100644 index 0000000..fbd636e Binary files /dev/null and b/iwdification/bam/cdid613a.bam differ diff --git a/iwdification/bam/cdid613b.bam b/iwdification/bam/cdid613b.bam new file mode 100644 index 0000000..4c94a03 Binary files /dev/null and b/iwdification/bam/cdid613b.bam differ diff --git a/iwdification/bam/cdid613c.bam b/iwdification/bam/cdid613c.bam new file mode 100644 index 0000000..0f58e28 Binary files /dev/null and b/iwdification/bam/cdid613c.bam differ diff --git a/iwdification/bam/cdid613v.bam b/iwdification/bam/cdid613v.bam new file mode 100644 index 0000000..dd26f6e Binary files /dev/null and b/iwdification/bam/cdid613v.bam differ diff --git a/iwdification/bam/cdid714a.bam b/iwdification/bam/cdid714a.bam new file mode 100644 index 0000000..baade87 Binary files /dev/null and b/iwdification/bam/cdid714a.bam differ diff --git a/iwdification/bam/cdid714b.bam b/iwdification/bam/cdid714b.bam new file mode 100644 index 0000000..2da9bed Binary files /dev/null and b/iwdification/bam/cdid714b.bam differ diff --git a/iwdification/bam/cdid714c.bam b/iwdification/bam/cdid714c.bam new file mode 100644 index 0000000..0f30d19 Binary files /dev/null and b/iwdification/bam/cdid714c.bam differ diff --git a/iwdification/bam/cdid715a.bam b/iwdification/bam/cdid715a.bam new file mode 100644 index 0000000..655fc35 Binary files /dev/null and b/iwdification/bam/cdid715a.bam differ diff --git a/iwdification/bam/cdid715b.bam b/iwdification/bam/cdid715b.bam new file mode 100644 index 0000000..f7129cb Binary files /dev/null and b/iwdification/bam/cdid715b.bam differ diff --git a/iwdification/bam/cdid715c.bam b/iwdification/bam/cdid715c.bam new file mode 100644 index 0000000..b04a481 Binary files /dev/null and b/iwdification/bam/cdid715c.bam differ diff --git a/iwdification/bam/cdid716a.bam b/iwdification/bam/cdid716a.bam new file mode 100644 index 0000000..6eb75b4 Binary files /dev/null and b/iwdification/bam/cdid716a.bam differ diff --git a/iwdification/bam/cdid716b.bam b/iwdification/bam/cdid716b.bam new file mode 100644 index 0000000..a378828 Binary files /dev/null and b/iwdification/bam/cdid716b.bam differ diff --git a/iwdification/bam/cdid716c.bam b/iwdification/bam/cdid716c.bam new file mode 100644 index 0000000..dea6c83 Binary files /dev/null and b/iwdification/bam/cdid716c.bam differ diff --git a/iwdification/bam/cdid717a.bam b/iwdification/bam/cdid717a.bam new file mode 100644 index 0000000..28b7164 Binary files /dev/null and b/iwdification/bam/cdid717a.bam differ diff --git a/iwdification/bam/cdid717b.bam b/iwdification/bam/cdid717b.bam new file mode 100644 index 0000000..35d92c6 Binary files /dev/null and b/iwdification/bam/cdid717b.bam differ diff --git a/iwdification/bam/cdid717c.bam b/iwdification/bam/cdid717c.bam new file mode 100644 index 0000000..4051e31 Binary files /dev/null and b/iwdification/bam/cdid717c.bam differ diff --git a/iwdification/bam/cdid718a.bam b/iwdification/bam/cdid718a.bam new file mode 100644 index 0000000..70f4d26 Binary files /dev/null and b/iwdification/bam/cdid718a.bam differ diff --git a/iwdification/bam/cdid718b.bam b/iwdification/bam/cdid718b.bam new file mode 100644 index 0000000..9b9993a Binary files /dev/null and b/iwdification/bam/cdid718b.bam differ diff --git a/iwdification/bam/cdid718c.bam b/iwdification/bam/cdid718c.bam new file mode 100644 index 0000000..d9ac193 Binary files /dev/null and b/iwdification/bam/cdid718c.bam differ diff --git a/iwdification/bam/cdid718y.bam b/iwdification/bam/cdid718y.bam new file mode 100644 index 0000000..062f264 Binary files /dev/null and b/iwdification/bam/cdid718y.bam differ diff --git a/iwdification/bam/cdid718z.bam b/iwdification/bam/cdid718z.bam new file mode 100644 index 0000000..e5c8b95 Binary files /dev/null and b/iwdification/bam/cdid718z.bam differ diff --git a/iwdification/bam/cdid720a.bam b/iwdification/bam/cdid720a.bam new file mode 100644 index 0000000..ed932d8 Binary files /dev/null and b/iwdification/bam/cdid720a.bam differ diff --git a/iwdification/bam/cdid720b.bam b/iwdification/bam/cdid720b.bam new file mode 100644 index 0000000..86c5734 Binary files /dev/null and b/iwdification/bam/cdid720b.bam differ diff --git a/iwdification/bam/cdid720c.bam b/iwdification/bam/cdid720c.bam new file mode 100644 index 0000000..c54947c Binary files /dev/null and b/iwdification/bam/cdid720c.bam differ diff --git a/iwdification/bam/cdid720v.bam b/iwdification/bam/cdid720v.bam new file mode 100644 index 0000000..dd7aa91 Binary files /dev/null and b/iwdification/bam/cdid720v.bam differ diff --git a/iwdification/bam/cdid723a.bam b/iwdification/bam/cdid723a.bam new file mode 100644 index 0000000..1c7ae0b Binary files /dev/null and b/iwdification/bam/cdid723a.bam differ diff --git a/iwdification/bam/cdid723b.bam b/iwdification/bam/cdid723b.bam new file mode 100644 index 0000000..78884ff Binary files /dev/null and b/iwdification/bam/cdid723b.bam differ diff --git a/iwdification/bam/cdid723c.bam b/iwdification/bam/cdid723c.bam new file mode 100644 index 0000000..be6194d Binary files /dev/null and b/iwdification/bam/cdid723c.bam differ diff --git a/iwdification/bam/cdillush.bam b/iwdification/bam/cdillush.bam new file mode 100644 index 0000000..80dcfaa Binary files /dev/null and b/iwdification/bam/cdillush.bam differ diff --git a/iwdification/bam/cdinvoch.bam b/iwdification/bam/cdinvoch.bam new file mode 100644 index 0000000..3448407 Binary files /dev/null and b/iwdification/bam/cdinvoch.bam differ diff --git a/iwdification/bam/cdmsum1h.bam b/iwdification/bam/cdmsum1h.bam new file mode 100644 index 0000000..55113f1 Binary files /dev/null and b/iwdification/bam/cdmsum1h.bam differ diff --git a/iwdification/bam/cdmsum1x.bam b/iwdification/bam/cdmsum1x.bam new file mode 100644 index 0000000..c9dce9c Binary files /dev/null and b/iwdification/bam/cdmsum1x.bam differ diff --git a/iwdification/bam/cdnecroh.bam b/iwdification/bam/cdnecroh.bam new file mode 100644 index 0000000..f33cc46 Binary files /dev/null and b/iwdification/bam/cdnecroh.bam differ diff --git a/iwdification/bam/cdparalh.bam b/iwdification/bam/cdparalh.bam new file mode 100644 index 0000000..2377868 Binary files /dev/null and b/iwdification/bam/cdparalh.bam differ diff --git a/iwdification/bam/cdprayrh.bam b/iwdification/bam/cdprayrh.bam new file mode 100644 index 0000000..443ae69 Binary files /dev/null and b/iwdification/bam/cdprayrh.bam differ diff --git a/iwdification/bam/cdrecith.bam b/iwdification/bam/cdrecith.bam new file mode 100644 index 0000000..1872f8d Binary files /dev/null and b/iwdification/bam/cdrecith.bam differ diff --git a/iwdification/bam/cdrwofah.bam b/iwdification/bam/cdrwofah.bam new file mode 100644 index 0000000..44656ff Binary files /dev/null and b/iwdification/bam/cdrwofah.bam differ diff --git a/iwdification/bam/cdsalc.bam b/iwdification/bam/cdsalc.bam new file mode 100644 index 0000000..edd6a5f Binary files /dev/null and b/iwdification/bam/cdsalc.bam differ diff --git a/iwdification/bam/cdsalf.bam b/iwdification/bam/cdsalf.bam new file mode 100644 index 0000000..c3904b8 Binary files /dev/null and b/iwdification/bam/cdsalf.bam differ diff --git a/iwdification/bam/cduwardx.bam b/iwdification/bam/cduwardx.bam new file mode 100644 index 0000000..6f7e07a Binary files /dev/null and b/iwdification/bam/cduwardx.bam differ diff --git a/iwdification/bam/cgabjura.bam b/iwdification/bam/cgabjura.bam new file mode 100644 index 0000000..3b073ac Binary files /dev/null and b/iwdification/bam/cgabjura.bam differ diff --git a/iwdification/bam/cgaltera.bam b/iwdification/bam/cgaltera.bam new file mode 100644 index 0000000..e65434b Binary files /dev/null and b/iwdification/bam/cgaltera.bam differ diff --git a/iwdification/bam/cgconjur.bam b/iwdification/bam/cgconjur.bam new file mode 100644 index 0000000..3aaad83 Binary files /dev/null and b/iwdification/bam/cgconjur.bam differ diff --git a/iwdification/bam/cgdivina.bam b/iwdification/bam/cgdivina.bam new file mode 100644 index 0000000..620ccef Binary files /dev/null and b/iwdification/bam/cgdivina.bam differ diff --git a/iwdification/bam/cgenchan.bam b/iwdification/bam/cgenchan.bam new file mode 100644 index 0000000..9036ac3 Binary files /dev/null and b/iwdification/bam/cgenchan.bam differ diff --git a/iwdification/bam/cgillusi.bam b/iwdification/bam/cgillusi.bam new file mode 100644 index 0000000..1c61e57 Binary files /dev/null and b/iwdification/bam/cgillusi.bam differ diff --git a/iwdification/bam/cginvoca.bam b/iwdification/bam/cginvoca.bam new file mode 100644 index 0000000..37e3c8e Binary files /dev/null and b/iwdification/bam/cginvoca.bam differ diff --git a/iwdification/bam/cgnecrom.bam b/iwdification/bam/cgnecrom.bam new file mode 100644 index 0000000..1311839 Binary files /dev/null and b/iwdification/bam/cgnecrom.bam differ diff --git a/iwdification/cre/cdgibomb.cre b/iwdification/cre/cdgibomb.cre new file mode 100644 index 0000000..b9716cf Binary files /dev/null and b/iwdification/cre/cdgibomb.cre differ diff --git a/iwdification/cre/cdgiborb.cre b/iwdification/cre/cdgiborb.cre new file mode 100644 index 0000000..0eec50e Binary files /dev/null and b/iwdification/cre/cdgiborb.cre differ diff --git a/iwdification/cre/cdia513.cre b/iwdification/cre/cdia513.cre new file mode 100644 index 0000000..26e9359 Binary files /dev/null and b/iwdification/cre/cdia513.cre differ diff --git a/iwdification/cre/cdia517.cre b/iwdification/cre/cdia517.cre new file mode 100644 index 0000000..a860dd8 Binary files /dev/null and b/iwdification/cre/cdia517.cre differ diff --git a/iwdification/cre/cdia711.cre b/iwdification/cre/cdia711.cre new file mode 100644 index 0000000..0668922 Binary files /dev/null and b/iwdification/cre/cdia711.cre differ diff --git a/iwdification/cre/cdid613.cre b/iwdification/cre/cdid613.cre new file mode 100644 index 0000000..af17e1b Binary files /dev/null and b/iwdification/cre/cdid613.cre differ diff --git a/iwdification/cre/cdid723.cre b/iwdification/cre/cdid723.cre new file mode 100644 index 0000000..4a62756 Binary files /dev/null and b/iwdification/cre/cdid723.cre differ diff --git a/iwdification/cre/cdm4ghst.cre b/iwdification/cre/cdm4ghst.cre new file mode 100644 index 0000000..77ad861 Binary files /dev/null and b/iwdification/cre/cdm4ghst.cre differ diff --git a/iwdification/cre/cdm4ogr.cre b/iwdification/cre/cdm4ogr.cre new file mode 100644 index 0000000..e955b13 Binary files /dev/null and b/iwdification/cre/cdm4ogr.cre differ diff --git a/iwdification/cre/cdm4yeti.cre b/iwdification/cre/cdm4yeti.cre new file mode 100644 index 0000000..ac27acd Binary files /dev/null and b/iwdification/cre/cdm4yeti.cre differ diff --git a/iwdification/cre/cdm5gspi.cre b/iwdification/cre/cdm5gspi.cre new file mode 100644 index 0000000..3d7e42e Binary files /dev/null and b/iwdification/cre/cdm5gspi.cre differ diff --git a/iwdification/cre/cdm5jzom.cre b/iwdification/cre/cdm5jzom.cre new file mode 100644 index 0000000..0cb4605 Binary files /dev/null and b/iwdification/cre/cdm5jzom.cre differ diff --git a/iwdification/cre/cdm5mino.cre b/iwdification/cre/cdm5mino.cre new file mode 100644 index 0000000..d241b23 Binary files /dev/null and b/iwdification/cre/cdm5mino.cre differ diff --git a/iwdification/cre/cdm6crwl.cre b/iwdification/cre/cdm6crwl.cre new file mode 100644 index 0000000..1490536 Binary files /dev/null and b/iwdification/cre/cdm6crwl.cre differ diff --git a/iwdification/cre/cdm6pspi.cre b/iwdification/cre/cdm6pspi.cre new file mode 100644 index 0000000..df206c6 Binary files /dev/null and b/iwdification/cre/cdm6pspi.cre differ diff --git a/iwdification/cre/cdm6salc.cre b/iwdification/cre/cdm6salc.cre new file mode 100644 index 0000000..4a3256f Binary files /dev/null and b/iwdification/cre/cdm6salc.cre differ diff --git a/iwdification/cre/cdm6salf.cre b/iwdification/cre/cdm6salf.cre new file mode 100644 index 0000000..e15a54a Binary files /dev/null and b/iwdification/cre/cdm6salf.cre differ diff --git a/iwdification/cre/cdm7bgrd.cre b/iwdification/cre/cdm7bgrd.cre new file mode 100644 index 0000000..dbb2363 Binary files /dev/null and b/iwdification/cre/cdm7bgrd.cre differ diff --git a/iwdification/cre/cdm7umbh.cre b/iwdification/cre/cdm7umbh.cre new file mode 100644 index 0000000..ccd7d3c Binary files /dev/null and b/iwdification/cre/cdm7umbh.cre differ diff --git a/iwdification/cre/cds1gob1.cre b/iwdification/cre/cds1gob1.cre new file mode 100644 index 0000000..2617aa2 Binary files /dev/null and b/iwdification/cre/cds1gob1.cre differ diff --git a/iwdification/cre/cds1gob2.cre b/iwdification/cre/cds1gob2.cre new file mode 100644 index 0000000..1b4efe1 Binary files /dev/null and b/iwdification/cre/cds1gob2.cre differ diff --git a/iwdification/cre/cds1gob3.cre b/iwdification/cre/cds1gob3.cre new file mode 100644 index 0000000..ae0fe4a Binary files /dev/null and b/iwdification/cre/cds1gob3.cre differ diff --git a/iwdification/cre/cds1liz3.cre b/iwdification/cre/cds1liz3.cre new file mode 100644 index 0000000..e00623e Binary files /dev/null and b/iwdification/cre/cds1liz3.cre differ diff --git a/iwdification/cre/cds1liz4.cre b/iwdification/cre/cds1liz4.cre new file mode 100644 index 0000000..e56e4e6 Binary files /dev/null and b/iwdification/cre/cds1liz4.cre differ diff --git a/iwdification/cre/cds1trl6.cre b/iwdification/cre/cds1trl6.cre new file mode 100644 index 0000000..2eb2d45 Binary files /dev/null and b/iwdification/cre/cds1trl6.cre differ diff --git a/iwdification/cre/cds1trl7.cre b/iwdification/cre/cds1trl7.cre new file mode 100644 index 0000000..8f26636 Binary files /dev/null and b/iwdification/cre/cds1trl7.cre differ diff --git a/iwdification/cre/cds1trl8.cre b/iwdification/cre/cds1trl8.cre new file mode 100644 index 0000000..3344f32 Binary files /dev/null and b/iwdification/cre/cds1trl8.cre differ diff --git a/iwdification/cre/cds2gob1.cre b/iwdification/cre/cds2gob1.cre new file mode 100644 index 0000000..c67cdf5 Binary files /dev/null and b/iwdification/cre/cds2gob1.cre differ diff --git a/iwdification/cre/cds2gob2.cre b/iwdification/cre/cds2gob2.cre new file mode 100644 index 0000000..c3a7750 Binary files /dev/null and b/iwdification/cre/cds2gob2.cre differ diff --git a/iwdification/cre/cds2gob3.cre b/iwdification/cre/cds2gob3.cre new file mode 100644 index 0000000..ef07167 Binary files /dev/null and b/iwdification/cre/cds2gob3.cre differ diff --git a/iwdification/cre/cds2liz5.cre b/iwdification/cre/cds2liz5.cre new file mode 100644 index 0000000..5de2140 Binary files /dev/null and b/iwdification/cre/cds2liz5.cre differ diff --git a/iwdification/cre/cds2liz6.cre b/iwdification/cre/cds2liz6.cre new file mode 100644 index 0000000..d235ba0 Binary files /dev/null and b/iwdification/cre/cds2liz6.cre differ diff --git a/iwdification/cre/cds2liz7.cre b/iwdification/cre/cds2liz7.cre new file mode 100644 index 0000000..415b1d1 Binary files /dev/null and b/iwdification/cre/cds2liz7.cre differ diff --git a/iwdification/cre/cds3trl7.cre b/iwdification/cre/cds3trl7.cre new file mode 100644 index 0000000..b0118fb Binary files /dev/null and b/iwdification/cre/cds3trl7.cre differ diff --git a/iwdification/cre/cds3trl8.cre b/iwdification/cre/cds3trl8.cre new file mode 100644 index 0000000..a2838c6 Binary files /dev/null and b/iwdification/cre/cds3trl8.cre differ diff --git a/iwdification/cre/cds3umb8.cre b/iwdification/cre/cds3umb8.cre new file mode 100644 index 0000000..54a1dee Binary files /dev/null and b/iwdification/cre/cds3umb8.cre differ diff --git a/iwdification/cre/cds3umb9.cre b/iwdification/cre/cds3umb9.cre new file mode 100644 index 0000000..0b75ad9 Binary files /dev/null and b/iwdification/cre/cds3umb9.cre differ diff --git a/iwdification/cre/cdsuffo.cre b/iwdification/cre/cdsuffo.cre new file mode 100644 index 0000000..186126c Binary files /dev/null and b/iwdification/cre/cdsuffo.cre differ diff --git a/iwdification/cre/cduwar1.cre b/iwdification/cre/cduwar1.cre new file mode 100644 index 0000000..a61d48b Binary files /dev/null and b/iwdification/cre/cduwar1.cre differ diff --git a/iwdification/desktop.ini b/iwdification/desktop.ini new file mode 100644 index 0000000..2077481 --- /dev/null +++ b/iwdification/desktop.ini @@ -0,0 +1,6 @@ +[.ShellClassInfo] +IconResource=C:\Users\pca222\Desktop\ms\iwdification-Beta1\iwdification\style\g3.ico,0 +[ViewState] +Mode= +Vid= +FolderType=Generic diff --git a/iwdification/dlg/botsmith.d b/iwdification/dlg/botsmith.d new file mode 100644 index 0000000..4b29739 --- /dev/null +++ b/iwdification/dlg/botsmith.d @@ -0,0 +1,23 @@ +EXTEND_BOTTOM BOTSMITH 4 + + IF ~PartyHasItem("cdax2h5")~ THEN GOTO PartyHasAxe + +END + +APPEND BOTSMITH + + IF ~~ THEN BEGIN PartyHasAxe SAY @6015 = @6016 + IF ~PartyGoldLT(5000)~ THEN REPLY #66606 GOTO 10 + IF ~PartyGoldGT(4999)~ THEN DO ~SetGlobal("cdax2h5","LOCALS",1) + TakePartyItemNum("cdax2h5",1) // battle standard +4 + DestroyItem("cdax2h5") + TakePartyGold(5000) + DestroyGold(5000)~ REPLY #66649 GOTO 11 + IF ~~ THEN REPLY #66650 GOTO MovingRightAlong + END + + IF ~~ THEN BEGIN MovingRightAlong SAY @6017 + COPY_TRANS BOTSMITH 4 + END + +END \ No newline at end of file diff --git a/iwdification/dlg/cdia517.d b/iwdification/dlg/cdia517.d new file mode 100644 index 0000000..f4e9787 --- /dev/null +++ b/iwdification/dlg/cdia517.d @@ -0,0 +1,5 @@ +BEGIN CDIA517 + +IF ~True()~ THEN BEGIN opening SAY @3034 + IF ~~ THEN DO ~DestroySelf()~ EXIT +END \ No newline at end of file diff --git a/iwdification/eff/cdfire1.eff b/iwdification/eff/cdfire1.eff new file mode 100644 index 0000000..49b0a7c Binary files /dev/null and b/iwdification/eff/cdfire1.eff differ diff --git a/iwdification/eff/cdia513.eff b/iwdification/eff/cdia513.eff new file mode 100644 index 0000000..6c437d5 Binary files /dev/null and b/iwdification/eff/cdia513.eff differ diff --git a/iwdification/eff/cdia611.eff b/iwdification/eff/cdia611.eff new file mode 100644 index 0000000..6a7e2e4 Binary files /dev/null and b/iwdification/eff/cdia611.eff differ diff --git a/iwdification/eff/cdia703.eff b/iwdification/eff/cdia703.eff new file mode 100644 index 0000000..3820bcc Binary files /dev/null and b/iwdification/eff/cdia703.eff differ diff --git a/iwdification/eff/cdia711.eff b/iwdification/eff/cdia711.eff new file mode 100644 index 0000000..876a785 Binary files /dev/null and b/iwdification/eff/cdia711.eff differ diff --git a/iwdification/eff/cdia803.eff b/iwdification/eff/cdia803.eff new file mode 100644 index 0000000..b00eef8 Binary files /dev/null and b/iwdification/eff/cdia803.eff differ diff --git a/iwdification/eff/cdia902.eff b/iwdification/eff/cdia902.eff new file mode 100644 index 0000000..398a9ec Binary files /dev/null and b/iwdification/eff/cdia902.eff differ diff --git a/iwdification/eff/cdid318.eff b/iwdification/eff/cdid318.eff new file mode 100644 index 0000000..c3848d0 Binary files /dev/null and b/iwdification/eff/cdid318.eff differ diff --git a/iwdification/eff/cdid321c.eff b/iwdification/eff/cdid321c.eff new file mode 100644 index 0000000..4cebeb2 Binary files /dev/null and b/iwdification/eff/cdid321c.eff differ diff --git a/iwdification/eff/cdid410.eff b/iwdification/eff/cdid410.eff new file mode 100644 index 0000000..f0c76e8 Binary files /dev/null and b/iwdification/eff/cdid410.eff differ diff --git a/iwdification/eff/cdid420.eff b/iwdification/eff/cdid420.eff new file mode 100644 index 0000000..8e3cc92 Binary files /dev/null and b/iwdification/eff/cdid420.eff differ diff --git a/iwdification/eff/cdid5110.eff b/iwdification/eff/cdid5110.eff new file mode 100644 index 0000000..ddb7a9f Binary files /dev/null and b/iwdification/eff/cdid5110.eff differ diff --git a/iwdification/eff/cdid5111.eff b/iwdification/eff/cdid5111.eff new file mode 100644 index 0000000..626480d Binary files /dev/null and b/iwdification/eff/cdid5111.eff differ diff --git a/iwdification/eff/cdid613.eff b/iwdification/eff/cdid613.eff new file mode 100644 index 0000000..12e4f71 Binary files /dev/null and b/iwdification/eff/cdid613.eff differ diff --git a/iwdification/eff/cdid613b.eff b/iwdification/eff/cdid613b.eff new file mode 100644 index 0000000..7df7e6f Binary files /dev/null and b/iwdification/eff/cdid613b.eff differ diff --git a/iwdification/eff/cdsalc.eff b/iwdification/eff/cdsalc.eff new file mode 100644 index 0000000..915c769 Binary files /dev/null and b/iwdification/eff/cdsalc.eff differ diff --git a/iwdification/eff/cdsalf.eff b/iwdification/eff/cdsalf.eff new file mode 100644 index 0000000..e13889e Binary files /dev/null and b/iwdification/eff/cdsalf.eff differ diff --git a/iwdification/eff/cduwar1.eff b/iwdification/eff/cduwar1.eff new file mode 100644 index 0000000..fe9d204 Binary files /dev/null and b/iwdification/eff/cduwar1.eff differ diff --git a/iwdification/itm/cd1d7sls.itm b/iwdification/itm/cd1d7sls.itm new file mode 100644 index 0000000..7837aca Binary files /dev/null and b/iwdification/itm/cd1d7sls.itm differ diff --git a/iwdification/itm/cdax2h1.itm b/iwdification/itm/cdax2h1.itm new file mode 100644 index 0000000..09c33f7 Binary files /dev/null and b/iwdification/itm/cdax2h1.itm differ diff --git a/iwdification/itm/cdax2h2.itm b/iwdification/itm/cdax2h2.itm new file mode 100644 index 0000000..34565a4 Binary files /dev/null and b/iwdification/itm/cdax2h2.itm differ diff --git a/iwdification/itm/cdax2h3.itm b/iwdification/itm/cdax2h3.itm new file mode 100644 index 0000000..6848464 Binary files /dev/null and b/iwdification/itm/cdax2h3.itm differ diff --git a/iwdification/itm/cdax2h4.itm b/iwdification/itm/cdax2h4.itm new file mode 100644 index 0000000..4d61dff Binary files /dev/null and b/iwdification/itm/cdax2h4.itm differ diff --git a/iwdification/itm/cdax2h5.itm b/iwdification/itm/cdax2h5.itm new file mode 100644 index 0000000..cbaf9b7 Binary files /dev/null and b/iwdification/itm/cdax2h5.itm differ diff --git a/iwdification/itm/cdax2h6.itm b/iwdification/itm/cdax2h6.itm new file mode 100644 index 0000000..9615c8e Binary files /dev/null and b/iwdification/itm/cdax2h6.itm differ diff --git a/iwdification/itm/cdgibomb.itm b/iwdification/itm/cdgibomb.itm new file mode 100644 index 0000000..5b22e97 Binary files /dev/null and b/iwdification/itm/cdgibomb.itm differ diff --git a/iwdification/itm/cdia221w.itm b/iwdification/itm/cdia221w.itm new file mode 100644 index 0000000..ebe2811 Binary files /dev/null and b/iwdification/itm/cdia221w.itm differ diff --git a/iwdification/itm/cdia513w.itm b/iwdification/itm/cdia513w.itm new file mode 100644 index 0000000..58bd7a7 Binary files /dev/null and b/iwdification/itm/cdia513w.itm differ diff --git a/iwdification/itm/cdia610w.itm b/iwdification/itm/cdia610w.itm new file mode 100644 index 0000000..1abb8f8 Binary files /dev/null and b/iwdification/itm/cdia610w.itm differ diff --git a/iwdification/itm/cdia618w.itm b/iwdification/itm/cdia618w.itm new file mode 100644 index 0000000..3fe74db Binary files /dev/null and b/iwdification/itm/cdia618w.itm differ diff --git a/iwdification/itm/cdia807w.itm b/iwdification/itm/cdia807w.itm new file mode 100644 index 0000000..641bd7f Binary files /dev/null and b/iwdification/itm/cdia807w.itm differ diff --git a/iwdification/itm/cdid217w.itm b/iwdification/itm/cdid217w.itm new file mode 100644 index 0000000..17de4f5 Binary files /dev/null and b/iwdification/itm/cdid217w.itm differ diff --git a/iwdification/itm/cdid318w.itm b/iwdification/itm/cdid318w.itm new file mode 100644 index 0000000..ebcdaa0 Binary files /dev/null and b/iwdification/itm/cdid318w.itm differ diff --git a/iwdification/itm/cdid420w.itm b/iwdification/itm/cdid420w.itm new file mode 100644 index 0000000..50c4ec2 Binary files /dev/null and b/iwdification/itm/cdid420w.itm differ diff --git a/iwdification/itm/cdid723w.itm b/iwdification/itm/cdid723w.itm new file mode 100644 index 0000000..7f32619 Binary files /dev/null and b/iwdification/itm/cdid723w.itm differ diff --git a/iwdification/itm/cdrg1hp2.itm b/iwdification/itm/cdrg1hp2.itm new file mode 100644 index 0000000..48a4b54 Binary files /dev/null and b/iwdification/itm/cdrg1hp2.itm differ diff --git a/iwdification/itm/cdsalc.itm b/iwdification/itm/cdsalc.itm new file mode 100644 index 0000000..8d67713 Binary files /dev/null and b/iwdification/itm/cdsalc.itm differ diff --git a/iwdification/itm/cdsalf.itm b/iwdification/itm/cdsalf.itm new file mode 100644 index 0000000..2134a7f Binary files /dev/null and b/iwdification/itm/cdsalf.itm differ diff --git a/iwdification/itm/cdsumamu.itm b/iwdification/itm/cdsumamu.itm new file mode 100644 index 0000000..8a121a7 Binary files /dev/null and b/iwdification/itm/cdsumamu.itm differ diff --git a/iwdification/itm/cdsumrng.itm b/iwdification/itm/cdsumrng.itm new file mode 100644 index 0000000..857b9c9 Binary files /dev/null and b/iwdification/itm/cdsumrng.itm differ diff --git a/iwdification/itm/cdtran20.itm b/iwdification/itm/cdtran20.itm new file mode 100644 index 0000000..3d31ead Binary files /dev/null and b/iwdification/itm/cdtran20.itm differ diff --git a/iwdification/itm/cdtran40.itm b/iwdification/itm/cdtran40.itm new file mode 100644 index 0000000..d2bcdca Binary files /dev/null and b/iwdification/itm/cdtran40.itm differ diff --git a/iwdification/itm/cdtran60.itm b/iwdification/itm/cdtran60.itm new file mode 100644 index 0000000..e493889 Binary files /dev/null and b/iwdification/itm/cdtran60.itm differ diff --git a/iwdification/itm/s5-20.itm b/iwdification/itm/s5-20.itm new file mode 100644 index 0000000..fb2af33 Binary files /dev/null and b/iwdification/itm/s5-20.itm differ diff --git a/iwdification/languages/english/setup.tra b/iwdification/languages/english/setup.tra new file mode 100644 index 0000000..2ebafc6 --- /dev/null +++ b/iwdification/languages/english/setup.tra @@ -0,0 +1,840 @@ + @0 = ~This functionality is already installed by another mod.~ + + @1000 = ~Icewind Dale Casting Graphics (Andyr)~ + + @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. + +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 + +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. + +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.~ + + @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. + +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/lib/baldur.baf b/iwdification/lib/baldur.baf new file mode 100644 index 0000000..028b33f --- /dev/null +++ b/iwdification/lib/baldur.baf @@ -0,0 +1,15 @@ +IF + Global("CDZOSA","GLOBAL",1) +THEN + RESPONSE #100 + SetGlobalTimer("CDZOSAREBOOT","GLOBAL",6) + SetGlobal("CDZOSA","GLOBAL",2) +END + +IF + Global("CDZOSA","GLOBAL",2) + GlobalTimerExpired("CDZOSAREBOOT","GLOBAL") +THEN + RESPONSE #100 + SetGlobal("CDZOSA","GLOBAL",0) +END \ No newline at end of file diff --git a/iwdification/lib/blank.itm b/iwdification/lib/blank.itm new file mode 100644 index 0000000..6c80dee Binary files /dev/null and b/iwdification/lib/blank.itm differ diff --git a/iwdification/lib/blankpr.itm b/iwdification/lib/blankpr.itm new file mode 100644 index 0000000..ae6d942 Binary files /dev/null and b/iwdification/lib/blankpr.itm differ diff --git a/iwdification/lib/cdcloudt.spl b/iwdification/lib/cdcloudt.spl new file mode 100644 index 0000000..a97c7e3 Binary files /dev/null and b/iwdification/lib/cdcloudt.spl differ diff --git a/iwdification/lib/cdstrimm.eff b/iwdification/lib/cdstrimm.eff new file mode 100644 index 0000000..363ea55 Binary files /dev/null and b/iwdification/lib/cdstrimm.eff differ diff --git a/iwdification/lib/cloud.cre b/iwdification/lib/cloud.cre new file mode 100644 index 0000000..6bdd194 Binary files /dev/null and b/iwdification/lib/cloud.cre differ diff --git a/iwdification/lib/cloud.eff b/iwdification/lib/cloud.eff new file mode 100644 index 0000000..dfb60e8 Binary files /dev/null and b/iwdification/lib/cloud.eff differ diff --git a/iwdification/lib/cloudmn.baf b/iwdification/lib/cloudmn.baf new file mode 100644 index 0000000..09e2a11 --- /dev/null +++ b/iwdification/lib/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/lib/cloudv.spl b/iwdification/lib/cloudv.spl new file mode 100644 index 0000000..a8e53f0 Binary files /dev/null and b/iwdification/lib/cloudv.spl differ diff --git a/iwdification/lib/cloudvs.baf b/iwdification/lib/cloudvs.baf new file mode 100644 index 0000000..52a8cc8 --- /dev/null +++ b/iwdification/lib/cloudvs.baf @@ -0,0 +1,24 @@ +IF + Global("sequence","LOCALS",0) +THEN + RESPONSE #100 + SetGlobal("sequence","LOCALS",1) + ReallyForceSpellRES("cdcloudt",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/lib/common_spell.tpa b/iwdification/lib/common_spell.tpa new file mode 100644 index 0000000..6638358 --- /dev/null +++ b/iwdification/lib/common_spell.tpa @@ -0,0 +1,190 @@ + + + + +/* +// create zosa self-destruct script for cload spells +COPY ~iwdification/lib/zosa.baf~ ~iwdification/lib/cdzosa.baf~ + +COPY_EXISTING_REGEXP GLOB ~^spcl[0-9][0-9][0-9]\.spl$~ ~override~ + ~^spin[0-9][0-9][0-9]\.spl$~ ~override~ + ~^sppr[0-9][0-9][0-9]\.spl$~ ~override~ + ~^spwi[0-9][0-9][0-9]\.spl$~ ~override~ + READ_LONG 0x64 abil_off + READ_SHORT 0x68 abil_num + READ_LONG 0x6a fx_off + SET append = 0 + FOR (index = 0 ; index < abil_num ; ++index) BEGIN // fix existing effects + READ_SHORT (abil_off + 0x1e + (0x28 * index)) abil_fx_num + READ_SHORT (abil_off + 0x20 + (0x28 * 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 = 273) BEGIN // no-save damage + SET append = 1 + SET index = abil_num + SET index2 = abil_fx_num + SPRINT spell "%SOURCE_RES%" + END + END + END + PATCH_IF append = 1 BEGIN + INNER_ACTION BEGIN + + COPY ~iwdification/lib/cdzosa.baf~ ~iwdification/lib/cdzosa.baf~ + REPLACE_EVALUATE ~OR(\([0-9]+\))~ + BEGIN SET "newor" = ("%MATCH1%" + 1) END + ~OR(%newor%) + SpellCast([ANYONE],%spell%)~ + + END + END + BUT_ONLY + +COPY ~iwdification/lib/cdzosa.baf~ ~iwdification/lib/cdzosa.baf~ + REPLACE_TEXTUALLY ~\(SpellCast(\[ANYONE\],\)spwi~ ~\12~ + REPLACE_TEXTUALLY ~SpellCast(\[ANYONE\],sppr~ ~SpellCastPriest([ANYONE],1~ + REPLACE_TEXTUALLY ~SpellCast(\[ANYONE\],spin~ ~SpellCastInnate([ANYONE],3~ + REPLACE_TEXTUALLY ~SpellCast(\[ANYONE\],spcl~ ~SpellCastInnate([ANYONE],4~ + +COMPILE ~iwdification/lib/cdzosa.baf~ +*/ + +COPY ~iwdification/bam/cdabjurh.bam~ ~override~ + ~iwdification/bam/cdacidh.bam~ ~override~ + ~iwdification/bam/cdalterh.bam~ ~override~ + ~iwdification/bam/cdcldama.bam~ ~override~ + ~iwdification/bam/cdcmdama.bam~ ~override~ + ~iwdification/bam/cdcoldh.bam~ ~override~ + ~iwdification/bam/cdconjuh.bam~ ~override~ + ~iwdification/bam/cddivinh.bam~ ~override~ + ~iwdification/bam/cdelecth.bam~ ~override~ + ~iwdification/bam/cdenchah.bam~ ~override~ + ~iwdification/bam/cdfireh.bam~ ~override~ + ~iwdification/bam/cdgnench.bam~ ~override~ + ~iwdification/bam/cdillush.bam~ ~override~ + ~iwdification/bam/cdinvoch.bam~ ~override~ + ~iwdification/bam/cdmsum1h.bam~ ~override~ + ~iwdification/bam/cdmsum1x.bam~ ~override~ + ~iwdification/bam/cdnecroh.bam~ ~override~ + ~iwdification/bam/cdparalh.bam~ ~override~ + ~iwdification/lib/cdstrimm.eff~ ~override~ + ~iwdification/vvc/cdabjurh.vvc~ ~override~ + ~iwdification/vvc/cdacidh.vvc~ ~override~ + ~iwdification/vvc/cdalterh.vvc~ ~override~ + ~iwdification/vvc/cdcldama.vvc~ ~override~ + ~iwdification/vvc/cdcmdama.vvc~ ~override~ + ~iwdification/vvc/cdcoldh.vvc~ ~override~ + ~iwdification/vvc/cdconjuh.vvc~ ~override~ + ~iwdification/vvc/cddivinh.vvc~ ~override~ + ~iwdification/vvc/cdelecth.vvc~ ~override~ + ~iwdification/vvc/cdenchah.vvc~ ~override~ + ~iwdification/vvc/cdfireh.vvc~ ~override~ + ~iwdification/vvc/cdgnench.vvc~ ~override~ + ~iwdification/vvc/cdillush.vvc~ ~override~ + ~iwdification/vvc/cdinvoch.vvc~ ~override~ + ~iwdification/vvc/cdmonsum.vvc~ ~override~ + ~iwdification/vvc/cdnecroh.vvc~ ~override~ + ~iwdification/vvc/cdparalh.vvc~ ~override~ + ~iwdification/wav/cdarem21.wav~ ~override~ + +DEFINE_PATCH_FUNCTION cd_scroll STR_VAR spell = cdnull BEGIN + + 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_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_ASCIIE 0xbe "%spell%" #8 + END + +END + +DEFINE_ACTION_FUNCTION cd_create_cloud INT_VAR cloud_dur = 6 visloop = 5 zosa = 0 STR_VAR code = null BEGIN + + COPY ~iwdification/lib/cloud.eff~ ~override/%code%.eff~ + WRITE_ASCIIE 0x30 ~%code%M~ + + COPY ~iwdification/lib/cloud.cre~ ~override/%code%M.cre~ + ~iwdification/lib/cloud.cre~ ~override/%code%V.cre~ + WRITE_ASCIIE 0x248 ~%DEST_RES%~ + WRITE_ASCIIE 0x280 ~%DEST_RES%~ + + EXTEND_TOP ~%code%M.bcs~ ~iwdification/lib/cloudmn.baf~ EVALUATE_BUFFER + EXTEND_TOP ~%code%V.bcs~ ~iwdification/lib/cloudvs.baf~ EVALUATE_BUFFER + + ACTION_IF zosa = 1 BEGIN + + ACTION_IF NOT FILE_EXISTS ~iwdification/lib/cdzosa.baf~ THEN BEGIN // run only once across both components + + COPY_EXISTING_REGEXP GLOB ~^.+\.spl$~ ~override~ + READ_LONG 0x64 abil_off + READ_SHORT 0x68 abil_num + READ_LONG 0x6a fx_off + SET delta = 0 + FOR (index = 0 ; index < abil_num ; ++index) BEGIN + READ_SHORT (abil_off + 0x1e + (0x28 * index)) abil_fx_num + WRITE_SHORT (abil_off + 0x20 + (0x28 * index)) (THIS + delta) + READ_SHORT (abil_off + 0x20 + (0x28 * index)) abil_fx_idx + FOR (index2 = 0 ; index2 < abil_fx_num ; ++index2) BEGIN + READ_SHORT (fx_off + (0x30 * (abil_fx_idx + index2))) opcode + INSERT_BYTES (fx_off + (0x30 * (abil_fx_idx + index2))) (48) + WRITE_SHORT (fx_off + (0x30 * (abil_fx_idx + index2))) 265 + WRITE_BYTE (fx_off + 0x02 + (0x30 * (abil_fx_idx + index2))) 1 + WRITE_LONG (fx_off + 0x04 + (0x30 * (abil_fx_idx + index2))) 1 + WRITE_BYTE (fx_off + 0x0c + (0x30 * (abil_fx_idx + index2))) 1 + WRITE_BYTE (fx_off + 0x12 + (0x30 * (abil_fx_idx + index2))) 100 + WRITE_ASCII (fx_off + 0x14 + (0x30 * (abil_fx_idx + index2))) CDZOSA + SET delta += 1 + WRITE_SHORT (abil_off + 0x1e + (0x28 * index)) (THIS + 1) + SET index2 = abil_fx_num // kill loop + END + END + BUT_ONLY + + COPY ~iwdification/lib/zosa.baf~ ~iwdification/lib/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/lib/baldur.baf~ + + END + + END + + END + + EXTEND_TOP ~%code%M.bcs~ ~iwdification/lib/cdzosa.baf~ + EXTEND_TOP ~%code%V.bcs~ ~iwdification/lib/cdzosa.baf~ + + END + + ACTION_IF NOT FILE_EXISTS_IN_GAME cdcloudt.spl THEN BEGIN + COPY ~iwdification/lib/cdcloudt.spl~ ~override~ // minions go away + END + + COPY ~iwdification/lib/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 ~%code%V~ +// WRITE_ASCII 0x78 ~CDFFP111~ #8 +// WRITE_ASCII 0x80 ~CDAFTP24~ #8 + END + COPY ~iwdification/bam/%code%V.bam~ ~override~ + +END \ No newline at end of file diff --git a/iwdification/lib/cross_patch_arcane.tpa b/iwdification/lib/cross_patch_arcane.tpa new file mode 100644 index 0000000..ca524c3 --- /dev/null +++ b/iwdification/lib/cross_patch_arcane.tpa @@ -0,0 +1,17 @@ +ACTION_IF ((FILE_EXISTS_IN_GAME ~cdia807w.itm~) AND + (VARIABLE_IS_SET WIZARD_BELTYNS_BURNING_BLOOD_RES)) THEN BEGIN + + COPY_EXISTING ~cdia807w.itm~ ~override~ // add immunity to beltyns burning blood to iron body + LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 206 target = 1 timing = 2 STR_VAR resource = EVALUATE_BUFFER "%WIZARD_BELTYNS_BURNING_BLOOD_RES%" END + +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 \ No newline at end of file diff --git a/iwdification/lib/cross_patch_both.tpa b/iwdification/lib/cross_patch_both.tpa new file mode 100644 index 0000000..95871d0 --- /dev/null +++ b/iwdification/lib/cross_patch_both.tpa @@ -0,0 +1,82 @@ +///// \\\\\ +///// arcane-divine cross-patching \\\\\ +///// \\\\\ + +// 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 + BUT_ONLY + +END + +ACTION_IF NUM_IMPERVIOUS_SANCTITY_OF_MIND > 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 + END + END + +END + +ACTION_IF ((NUM_MIND_BLANK > 0) AND + (NUM_SYMBOL_OF_HOPELESSNESS > 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 + +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 + +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 + END + +END diff --git a/iwdification/lib/cross_patch_divine.tpa b/iwdification/lib/cross_patch_divine.tpa new file mode 100644 index 0000000..dd17090 --- /dev/null +++ b/iwdification/lib/cross_patch_divine.tpa @@ -0,0 +1,35 @@ +ACTION_IF VARIABLE_IS_SET CLERIC_BLOOD_RAGE_RES BEGIN + + COPY_EXISTING ~%CLERIC_BLOOD_RAGE_RES%.spl~ ~override~ + PATCH_IF VARIABLE_IS_SET CLERIC_SYMBOL_OF_PAIN_RES BEGIN + LPF ADD_SPELL_EFFECT INT_VAR insert_point = 3 opcode = 206 target = 2 power = 4 resist_dispel = 3 duration = 120 + STR_VAR resource = EVALUATE_BUFFER "%CLERIC_SYMBOL_OF_PAIN_RES%" END + END + PATCH_IF VARIABLE_IS_SET CLERIC_SYMBOL_OF_PAIN_RES BEGIN + LPF ADD_SPELL_EFFECT INT_VAR insert_point = 3 opcode = 206 target = 2 power = 4 resist_dispel = 3 duration = 120 + STR_VAR resource = EVALUATE_BUFFER "%CLERIC_SYMBOL_OF_HOPELESSNESS_RES%" END + END + BUT_ONLY + +END + +ACTION_IF ((VARIABLE_IS_SET CLERIC_IMPERVIOUS_SANCTITY_OF_MIND_RES) AND + (VARIABLE_IS_SET CLERIC_SYMBOL_OF_HOPELESSNESS_RES)) BEGIN + + COPY_EXISTING ~%CLERIC_IMPERVIOUS_SANCTITY_OF_MIND_RES%.spl~ ~override~ + FOR (index = 1 ; index < 18 ; ++index) BEGIN + LPF ADD_SPELL_EFFECT INT_VAR header = index insert_point = 0 opcode = 206 target = 1 power = 7 resist_dispel = 3 duration = ((index * 60) + 780) + STR_VAR resource = EVALUATE_BUFFER "%CLERIC_SYMBOL_OF_HOPELESSNESS_RES%" END + END + +END + +///// \\\\\ +///// arcane-divine cross-patching \\\\\ +///// \\\\\ + +ACTION_IF MOD_IS_INSTALLED ~IWDIFICATION/SETUP-IWDIFICATION.TP2~ ~30~ THEN BEGIN + + INCLUDE ~iwdification/lib/cross_patch_both.tpa~ + +END \ No newline at end of file diff --git a/iwdification/lib/functions.tpa b/iwdification/lib/functions.tpa new file mode 100644 index 0000000..9ce7a83 --- /dev/null +++ b/iwdification/lib/functions.tpa @@ -0,0 +1,710 @@ +/* +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 +*/ + +///// \\\\\ +///// coding functions \\\\\ +///// \\\\\ + +// 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 + +BEGIN + + 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 + +///// \\\\\ +///// item/spell functions \\\\\ +///// \\\\\ + +DEFINE_PATCH_FUNCTION CONVERT_BG_IWD_DURATION + STR_VAR changeto = "iwd" // iwd changes effects to use round = 7; otherwise use round = 6 + 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 + END + +END + +///// \\\\\ +///// area functions \\\\\ +///// \\\\\ + +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 + + 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 + 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 + + 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 + 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 +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 + END + +END + +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 + + 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 + END + END + 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 + + 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 + END + END + +END + +///// \\\\\ +///// item functions \\\\\ +///// \\\\\ + +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 +BEGIN + + 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 + END + END + PATCH_IF ("%resource%" STRING_COMPARE_CASE "same") BEGIN + WRITE_ASCIIE (fx_off + 0x14 + (index * 0x30)) "%resource%" #8 + 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 + END + END + 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 +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 + END + +END + +DEFINE_PATCH_FUNCTION ITEM_DELETE_HEADER + INT_VAR type = 0 // -1 for all headers, otherwise match type + 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 * 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 \\\\\ +///// \\\\\ + +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 + + 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 + END + END + END + END + 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 +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 + END + END + END + +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/immunity.eff b/iwdification/lib/immunity.eff new file mode 100644 index 0000000..a0bab7a Binary files /dev/null and b/iwdification/lib/immunity.eff differ diff --git a/iwdification/lib/zosa.baf b/iwdification/lib/zosa.baf new file mode 100644 index 0000000..4dd68da --- /dev/null +++ b/iwdification/lib/zosa.baf @@ -0,0 +1,18 @@ +/* +IF + OR(1) + InMyArea("cdid613") +THEN + RESPONSE #100 + DestroySelf() +END +*/ + +IF + OR(2) + InMyArea("cdid613") + !Global("CDZOSA","GLOBAL",0) +THEN + RESPONSE #100 + DestroySelf() +END \ No newline at end of file diff --git a/iwdification/pro/cdgibomb.pro b/iwdification/pro/cdgibomb.pro new file mode 100644 index 0000000..9e747f1 Binary files /dev/null and b/iwdification/pro/cdgibomb.pro differ diff --git a/iwdification/pro/cdia220.pro b/iwdification/pro/cdia220.pro new file mode 100644 index 0000000..cb13838 Binary files /dev/null and b/iwdification/pro/cdia220.pro differ diff --git a/iwdification/pro/cdia318.pro b/iwdification/pro/cdia318.pro new file mode 100644 index 0000000..9d8cd80 Binary files /dev/null and b/iwdification/pro/cdia318.pro differ diff --git a/iwdification/pro/cdia319.pro b/iwdification/pro/cdia319.pro new file mode 100644 index 0000000..8e7da31 Binary files /dev/null and b/iwdification/pro/cdia319.pro differ diff --git a/iwdification/pro/cdia419.pro b/iwdification/pro/cdia419.pro new file mode 100644 index 0000000..9f6a57a Binary files /dev/null and b/iwdification/pro/cdia419.pro differ diff --git a/iwdification/pro/cdia420.pro b/iwdification/pro/cdia420.pro new file mode 100644 index 0000000..71afabd Binary files /dev/null and b/iwdification/pro/cdia420.pro differ diff --git a/iwdification/pro/cdia424.pro b/iwdification/pro/cdia424.pro new file mode 100644 index 0000000..b8e713d Binary files /dev/null and b/iwdification/pro/cdia424.pro differ diff --git a/iwdification/pro/cdia612.pro b/iwdification/pro/cdia612.pro new file mode 100644 index 0000000..59255ef Binary files /dev/null and b/iwdification/pro/cdia612.pro differ diff --git a/iwdification/pro/cdia707.pro b/iwdification/pro/cdia707.pro new file mode 100644 index 0000000..ac4699a Binary files /dev/null and b/iwdification/pro/cdia707.pro differ diff --git a/iwdification/pro/cdia708.pro b/iwdification/pro/cdia708.pro new file mode 100644 index 0000000..ae68b1b Binary files /dev/null and b/iwdification/pro/cdia708.pro differ diff --git a/iwdification/pro/cdia711.pro b/iwdification/pro/cdia711.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdia711.pro differ diff --git a/iwdification/pro/cdid111.pro b/iwdification/pro/cdid111.pro new file mode 100644 index 0000000..56cb767 Binary files /dev/null and b/iwdification/pro/cdid111.pro differ diff --git a/iwdification/pro/cdid216.pro b/iwdification/pro/cdid216.pro new file mode 100644 index 0000000..769062d Binary files /dev/null and b/iwdification/pro/cdid216.pro differ diff --git a/iwdification/pro/cdid320.pro b/iwdification/pro/cdid320.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdid320.pro differ diff --git a/iwdification/pro/cdid321.pro b/iwdification/pro/cdid321.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdid321.pro differ diff --git a/iwdification/pro/cdid411.pro b/iwdification/pro/cdid411.pro new file mode 100644 index 0000000..01281e1 Binary files /dev/null and b/iwdification/pro/cdid411.pro differ diff --git a/iwdification/pro/cdid417.pro b/iwdification/pro/cdid417.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdid417.pro differ diff --git a/iwdification/pro/cdid422.pro b/iwdification/pro/cdid422.pro new file mode 100644 index 0000000..edb5f40 Binary files /dev/null and b/iwdification/pro/cdid422.pro differ diff --git a/iwdification/pro/cdid512.pro b/iwdification/pro/cdid512.pro new file mode 100644 index 0000000..b07ad6d Binary files /dev/null and b/iwdification/pro/cdid512.pro differ diff --git a/iwdification/pro/cdid613.pro b/iwdification/pro/cdid613.pro new file mode 100644 index 0000000..ac62db9 Binary files /dev/null and b/iwdification/pro/cdid613.pro differ diff --git a/iwdification/pro/cdid715.pro b/iwdification/pro/cdid715.pro new file mode 100644 index 0000000..304d893 Binary files /dev/null and b/iwdification/pro/cdid715.pro differ diff --git a/iwdification/pro/cdid720.pro b/iwdification/pro/cdid720.pro new file mode 100644 index 0000000..d7bc3b3 Binary files /dev/null and b/iwdification/pro/cdid720.pro differ diff --git a/iwdification/pro/cdsalc.pro b/iwdification/pro/cdsalc.pro new file mode 100644 index 0000000..950846c Binary files /dev/null and b/iwdification/pro/cdsalc.pro differ diff --git a/iwdification/readme-iwdification.html b/iwdification/readme-iwdification.html new file mode 100644 index 0000000..6b5b9a4 --- /dev/null +++ b/iwdification/readme-iwdification.html @@ -0,0 +1,797 @@ + + + +IWDification, a Gibberlings Three Mod + + + + + +

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

+
+

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.

+
+

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.

+
+

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:

+ +

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

+ +

Version Beta 2 - August 18, 2013

+ +

Version Beta 1 - July 18, 2013

+ +
+ + diff --git a/iwdification/setup-iwdification.tp2 b/iwdification/setup-iwdification.tp2 new file mode 100644 index 0000000..04f9df6 --- /dev/null +++ b/iwdification/setup-iwdification.tp2 @@ -0,0 +1,3162 @@ +// 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 + +VERSION ~Beta 2~ + +README ~iwdification/readme-iwdification.html~ + +ALWAYS + INCLUDE ~iwdification/lib/functions.tpa~ +END + +ASK_EVERY_COMPONENT + +LANGUAGE ~English~ ~english~ + ~iwdification/languages/english/setup.tra~ // English + +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +///// \\\\\ +///// Icewind Dale Casting Graphics \\\\\ +///// \\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ + +BEGIN @1000 DESIGNATED 10 +REQUIRE_PREDICATE NOT MOD_IS_INSTALLED ~bg2_tweaks/bg2_tweaks.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~ + +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +///// \\\\\ +///// Commoners use drab colors \\\\\ +///// \\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ + +BEGIN @2000 DESIGNATED 20 +REQUIRE_PREDICATE NOT MOD_IS_INSTALLED ~bg2_tweaks/bg2_tweaks.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 + BUT_ONLY + +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +///// \\\\\ +///// IWD arcane spell pack \\\\\ +///// \\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ + +BEGIN @3000 DESIGNATED 30 + +///// \\\\\ +///// common resources \\\\\ +///// \\\\\ + +INCLUDE ~iwdification/lib/common_spell.tpa~ + +///// \\\\\ +///// decastave \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_DECASTAVE_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// cats grace \\\\\ +///// \\\\\ + +ACTION_IF MOD_IS_INSTALLED ~TOBEX/TOBEX.TP2~ ~100~ THEN BEGIN + + 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~ + + END + +END + +///// \\\\\ +///// snilloc's snowball swarm \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_SNILLOCS_SNOWBALL_SWARM_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// icelance \\\\\ +///// \\\\\ + +ADD_SPELL ~iwdification/spl/icelance.spl~ 2 3 WIZARD_ICELANCE + 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%" + + ADD_PROJECTILE ~iwdification/pro/cdia318.pro~ + + COPY_EXISTING ~%WIZARD_ICELANCE_RES%.spl~ ~override~ + LPF SPELL_ALTER_HEADER INT_VAR projectile = cdia318 END + + 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 ~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~ + +END + +///// \\\\\ +///// lance of disruption \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_LANCE_OF_DISRUPTION_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Beltyns Burning Blood \\\\\ +///// \\\\\ + +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 ((IDS_OF_SYMBOL (~spell~ ~WIZARD_BELTYNS_BURNING_BLOOD~)) > 0) THEN BEGIN + + OUTER_SPRINT WIZARD_BELTYNS_BURNING_BLOOD_RES "%temp%" + + 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/bam/cdia417a.bam~ ~override~ + ~iwdification/bam/cdia417b.bam~ ~override~ + ~iwdification/bam/cdia417c.bam~ ~override~ + +END + +///// \\\\\ +///// Emotion: hopelessness \\\\\ +///// \\\\\ + +ADD_PROJECTILE ~iwdification/pro/cdia420.pro~ + +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 + +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/bam/cdia411a.bam~ ~override~ + ~iwdification/bam/cdia411b.bam~ ~override~ + ~iwdification/bam/cdia411c.bam~ ~override~ + +///// \\\\\ +///// Emotion: fear \\\\\ +///// \\\\\ + +ADD_SPELL ~iwdification/spl/emotion_fear.spl~ 2 4 WIZARD_EMOTION_FEAR + SAY 0x08 @3017 + SAY 0x50 @3018 + SPRINT temp "%DEST_RES%" + +ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_FEAR~)) > 0) THEN BEGIN + + 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 + + COPY ~iwdification/bam/cdia420a.bam~ ~override~ + ~iwdification/bam/cdia420b.bam~ ~override~ + ~iwdification/bam/cdia420c.bam~ ~override~ + +END + +///// \\\\\ +///// Emotion: courage \\\\\ +///// \\\\\ + +ADD_SPELL ~iwdification/spl/emotion_courage.spl~ 2 4 WIZARD_EMOTION_COURAGE + SAY 0x08 @3015 + SAY 0x50 @3016 + SPRINT temp "%DEST_RES%" + +ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~WIZARD_EMOTION_COURAGE~)) > 0) THEN BEGIN + + OUTER_SPRINT WIZARD_EMOTION_COURAGE_RES "%temp%" + + 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/bam/cdia419a.bam~ ~override~ + ~iwdification/bam/cdia419b.bam~ ~override~ + ~iwdification/bam/cdia419c.bam~ ~override~ + +END + +///// \\\\\ +///// Emotion: hope \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_EMOTION_HOPE_RES "%temp%" + + ACTION_IF NOT VARIABLE_IS_SET cdia419 THEN BEGIN + + 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 + + COPY ~iwdification/bam/cdia421a.bam~ ~override~ + ~iwdification/bam/cdia421b.bam~ ~override~ + ~iwdification/bam/cdia421c.bam~ ~override~ + +END + +///// \\\\\ +///// Vitriolic Sphere \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_VITRIOLIC_SPHERE_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Shadow Monsters \\\\\ +///// \\\\\ + +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~ + +END + +///// \\\\\ +///// Shroud of Flame \\\\\ +///// \\\\\ + +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%" + + 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~ + +END + +///// \\\\\ +///// Demi-shadow Monsters \\\\\ +///// \\\\\ + +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 + +END + +///// \\\\\ +///// Summon Shadow \\\\\ +///// \\\\\ + +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~ + +END + +///// \\\\\ +///// Contact other plane \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_CONTACT_OTHER_PLANE_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// lich touch \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_LICH_TOUCH_RES "%temp%" + + 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 + + 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 + +END + +///// \\\\\ +///// antimagic shell \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_ANTIMAGIC_SHELL_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// monster summoning iv \\\\\ +///// \\\\\ + +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 0x0c @3051 + SAY 0x0c @3051 + WRITE_LONG 0x28 IDS_OF_SYMBOL (~animate~ ~TUNDRA_YETI~) + + APPEND ~cdia611.2da~ ~2 CDM4YETI~ + + END + +END + +///// \\\\\ +///// Otiluke's Freezing Sphere \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_OTILUKES_FREEZING_SPHERE_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Shades \\\\\ +///// \\\\\ + +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~ + +END + +///// \\\\\ +///// darts of bone \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_DARTS_OF_BONE_RES "%temp%" + + 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 + + COPY ~iwdification/bam/cdia618a.bam~ ~override~ + ~iwdification/bam/cdia618b.bam~ ~override~ + ~iwdification/bam/cdia618c.bam~ ~override~ + ~iwdification/bam/cdia618w.bam~ ~override~ + + COPY ~iwdification/itm/cdia618w.itm~ ~override~ + SAY 0x08 @3045 + SAY 0x0c @3045 + SAY 0x50 @3046 + SAY 0x54 @3046 + +END + +///// \\\\\ +///// Trollish Fortitude \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_TROLLISH_FORTITUDE_RES "%temp%" + + 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 + + COPY ~iwdification/bam/cdia620a.bam~ ~override~ + ~iwdification/bam/cdia620b.bam~ ~override~ + ~iwdification/bam/cdia620c.bam~ ~override~ + +END + +///// \\\\\ +///// Monster Summoning V \\\\\ +///// \\\\\ + +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 + +END + +///// \\\\\ +///// Malavon's Rage \\\\\ +///// \\\\\ + +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%" + + 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~ + +END + +///// \\\\\ +///// acid storm \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_ACID_STORM_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// Suffocate \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_SUFFOCATE_RES "%temp%" + + 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%~ + + 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 + +END + +///// \\\\\ +///// Monster Summoning VI \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_MONSTER_SUMMONING_6_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Mind Blank \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_MIND_BLANK_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// iron body \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT WIZARD_IRON_BODY_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// Monster Summoning VII \\\\\ +///// \\\\\ + +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 + +END + +///// \\\\\ +///// now go through and correct cross-references \\\\\ +///// \\\\\ + +INCLUDE ~iwdification/lib/cross_patch_arcane.tpa~ + +///// \\\\\ +///// add scrolls to game \\\\\ +///// \\\\\ + +ACTION_IF ((FILE_EXISTS_IN_GAME ~highhedg.sto~) OR + (FILE_EXISTS_IN_GAME ~_ighhedg.sto~)) BEGIN // bg/bgt/bgee 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 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_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 + +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 + + +END + + +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +///// \\\\\ +///// IWD divine spell pack \\\\\ +///// \\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ + +BEGIN @4000 DESIGNATED 40 + +///// \\\\\ +///// common resources \\\\\ +///// \\\\\ + +INCLUDE ~iwdification/lib/common_spell.tpa~ + +///// \\\\\ +///// Curse \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_CURSE_RES "%temp%" + + ADD_PROJECTILE ~iwdification/pro/cdid111.pro~ + + COPY_EXISTING ~%CLERIC_CURSE_RES%.spl~ ~override~ + LPF SPELL_ALTER_HEADER INT_VAR projectile = cdid111 END + + 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/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 + +///// \\\\\ +///// Cause Light Wounds \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_CAUSE_LIGHT_WOUNDS_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// Sunscorch \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_SUNSCORCH_RES "%temp%" + + 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 \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_ALICORN_LANCE_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Beast Claw \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_BEAST_CLAW_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// Cause Moderate Wounds \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_CAUSE_MODERATE_WOUNDS_RES "%temp%" + + 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~ + + COPY ~iwdification/lib/immunity.eff~ ~override/cdim1218.eff~ + WRITE_ASCIIE 0x30 ~%CLERIC_CAUSE_MODERATE_WOUNDS_RES%~ #8 + +END + +///// \\\\\ +///// Cure Moderate Wounds \\\\\ +///// \\\\\ + +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 ((IDS_OF_SYMBOL (~spell~ ~CLERIC_CURE_MODERATE_WOUNDS~)) > 0) THEN BEGIN + + OUTER_SPRINT CLERIC_CURE_MODERATE_WOUNDS_RES "%temp%" + + 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/bam/cdid214a.bam~ ~override~ // missing + ~iwdification/bam/cdid214b.bam~ ~override~ + ~iwdification/bam/cdid214c.bam~ ~override~ + +END + +///// \\\\\ +///// Prayer \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_PRAYER_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// Cause Disease \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_CAUSE_DISEASE_RES "%temp%" + + 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 + + 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~ + +END + +///// \\\\\ +///// Exaltation \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_EXALTATION_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Moonblade \\\\\ +///// \\\\\ + +ADD_SPELL ~iwdification/spl/moonblade.spl~ 1 3 CLERIC_MOONBLADE + SAY 0x08 @4019 + SAY 0x50 @4020 + SPRINT temp "%DEST_RES%" + +ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_MOONBLADE~)) > 0) THEN BEGIN + + OUTER_SPRINT CLERIC_MOONBLADE_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// Circle of Bones \\\\\ +///// \\\\\ + +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 + +END + +///// \\\\\ +///// Spike Growth \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_SPIKE_GROWTH_RES "%temp%" + + 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 + + LAUNCH_ACTION_FUNCTION cd_create_cloud INT_VAR visloop = 5 cloud_dur = 60 STR_VAR code = cdid320 END + +END + +///// \\\\\ +///// Cloudburst \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_CLOUDBURST_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// storm shell \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_STORM_SHELL_RES "%temp%" + + 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 + + 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 + +///// \\\\\ +///// Giant Insect \\\\\ +///// \\\\\ + +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 ((IDS_OF_SYMBOL (~spell~ ~CLERIC_GIANT_INSECT~)) > 0) THEN BEGIN + + OUTER_SPRINT CLERIC_GIANT_INSECT_RES "%temp%" + + ADD_PROJECTILE ~iwdification/pro/cdgibomb.pro~ + + 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 0x0c @4076 + SAY 0x0c @4076 + WRITE_LONG 0x28 IDS_OF_SYMBOL (~animate~ ~BEETLE_BLACK~) + + COPY ~iwdification/cre/cdgiborb.cre~ ~override~ + SAY 0x0c @4077 + SAY 0x0c @4077 + WRITE_LONG 0x28 IDS_OF_SYMBOL (~animate~ ~BEETLE_BLACK~) + + COPY ~iwdification/spl/cdgibomb.spl~ ~override~ // add in 206 vs. iwd bard songs + LPF SPELL_ALTER_HEADER INT_VAR projectile = cdgibomb END + + COMPILE ~iwdification/baf/cdgibomb.baf~ + + END + +END + +///// \\\\\ +///// Produce Fire \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_PRODUCE_FIRE_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Static Charge \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_STATIC_CHARGE_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// recitation \\\\\ +///// \\\\\ + +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%" + + 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 + +END + +///// \\\\\ +///// Blood Rage \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_BLOOD_RAGE_RES "%temp%" + + 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 + +///// \\\\\ +///// cloud of pestilence \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_CLOUD_OF_PESTILENCE_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// Unfailing Endurance \\\\\ +///// \\\\\ + +ADD_SPELL ~iwdification/spl/unfailing_endurance.spl~ 1 4 CLERIC_UNFAILING_ENDURANCE + SAY 0x08 @4041 + SAY 0x50 @4042 + SPRINT temp "%DEST_RES%" + +ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_UNFAILING_ENDURANCE~)) > 0) THEN BEGIN + + OUTER_SPRINT CLERIC_UNFAILING_ENDURANCE_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Star Metal Cudgel \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_STAR_METAL_CUDGEL_RES "%temp%" + + 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 + +///// \\\\\ +///// Thorn Spray \\\\\ +///// \\\\\ + +ADD_SPELL ~iwdification/spl/thorn_spray.spl~ 1 4 CLERIC_THORN_SPRAY + SAY 0x08 @4045 + SAY 0x50 @4046 + SPRINT temp "%DEST_RES%" + +ACTION_IF ((IDS_OF_SYMBOL (~spell~ ~CLERIC_THORN_SPRAY~)) > 0) THEN BEGIN + + OUTER_SPRINT CLERIC_THORN_SPRAY_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Righteous Wrath of the Faithful \\\\\ +///// \\\\\ + +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 + +END + +///// \\\\\ +///// Spike Stones \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_SPIKE_STONES_RES "%temp%" + + 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 + +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 + + OUTER_SPRINT CLERIC_SHIELD_OF_LATHANDER_RES "%temp%" + + 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 + +END + +///// \\\\\ +///// Undead Ward \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_UNDEAD_WARD_RES "%temp%" + + 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 \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_ANIMAL_RAGE_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Whirlwind \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_WHIRLWIND_RES "%temp%" + + 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 + +///// \\\\\ +///// entropy shield \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_ENTROPY_SHIELD_RES "%temp%" + + 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 + + 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 + +///// \\\\\ +///// Symbol of Pain \\\\\ +///// \\\\\ + +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~ + +END + +///// \\\\\ +///// Symbol of Hopelessness \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_SYMBOL_OF_HOPELESSNESS_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Impervious Sanctity of Mind \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_IMPERVIOUS_SANCTITY_OF_MIND_RES "%temp%" + + 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~ + +END + +///// \\\\\ +///// Destruction \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_DESTRUCTION_RES "%temp%" + + 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 + +///// \\\\\ +///// Greater Shield of Lathander \\\\\ +///// \\\\\ + +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%" + + 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 + +END + +///// \\\\\ +///// Mist of Eldath \\\\\ +///// \\\\\ + +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 + + OUTER_SPRINT CLERIC_MIST_OF_ELDATH_RES "%temp%" + + 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 + +///// \\\\\ +///// 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~ + + 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 \\\\\ +///// \\\\\ + +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 + END + BUT_ONLY + +ACTION_IF FILE_EXISTS_IN_GAME cdlv3na.spl THEN BEGIN // fixpack spell for removing spells from alignment-changing priests + + ACTION_IF VARIABLE_IS_SET CLERIC_CAUSE_DISEASE_RES 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 + + ACTION_IF VARIABLE_IS_SET CLERIC_CIRCLE_OF_BONES_RES 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 + + 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 + + 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 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 + + 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 + +///// \\\\\ +///// now go through and correct cross-references \\\\\ +///// \\\\\ + +INCLUDE ~iwdification/lib/cross_patch_divine.tpa~ + +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +///// \\\\\ +///// Icewind Dale Casting Graphics \\\\\ +///// \\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ + +BEGIN @5000 DESIGNATED 50 + +APPEND ~clabba01.2da~ ~ABILITYX AP_CDIBAR0 **** GA_CDIBAR1 **** **** **** **** **** **** **** **** CDREPLACE +ABILITYY **** **** GA_CDIBAR2 **** GA_CDIBAR3 **** GA_CDIBAR4 **** GA_CDIBAR5 **** GA_CDIBAR6 CDREPLACE~ + +COPY_EXISTING ~clabba01.2da~ ~override~ + COUNT_2DA_COLS cols + FOR (index = 13 ; index < cols ; ++index) BEGIN + REPLACE_TEXTUALLY ~CDREPLACE~ ~**** CDREPLACE~ + END + REPLACE_TEXTUALLY ~CDREPLACE~ ~****~ + SET "ability" = 0 + REPLACE_EVALUATE ~^\(ABILITY[0-9A-Z]+\)[ %TAB%]~ BEGIN + SET "ability" = ("%ability%" + 1) + END + ~ABILITY%ability% ~ + PRETTY_PRINT_2DA + +ACTION_IF FILE_EXISTS_IN_GAME luba0.2da THEN BEGIN + + COPY_EXISTING ~luba0.2da~ ~override~ // remove enhanced bard song from HLAs + REPLACE_TEXTUALLY ~^\([0-9]+[ %TAB%]+AP_SPCL920[ %TAB%]+\*[ %TAB%]+\*[ %TAB%]+[0-9]+[ %TAB%]+[0-9]+[ %TAB%]+[0-9]+[ %TAB%]+\)\*\([ %TAB%]+\*[ %TAB%]+\*\)~ + ~\1SPCL920\2~ // create self-reference, never allowing it to be selected + PRETTY_PRINT_2DA + +END + +COPY ~iwdification/bam/cdibara.bam~ ~override~ + ~iwdification/bam/cdibarb.bam~ ~override~ + ~iwdification/bam/cdibarc.bam~ ~override~ + ~iwdification/bam/cdibard.bam~ ~override~ + ~iwdification/bam/cdibare.bam~ ~override~ + ~iwdification/bam/cdibarf.bam~ ~override~ + ~iwdification/spl/cdibar0.spl~ ~override~ + +COPY ~iwdification/spl/cdibar0.spl~ ~override~ + ~iwdification/spl/cdibar1.spl~ ~override~ // The Ballad of Three Heroes - Combat Bonuses + ~iwdification/spl/cdibara.spl~ ~override~ + SAY 0x08 @5001 + SAY 0x0c @5001 + SAY 0x50 @5001 + SAY 0x54 @5001 + +COPY ~iwdification/spl/cdibar2.spl~ ~override~ // The Tale of Curran Strongheart - Immunity Fear + ~iwdification/spl/cdibarb.spl~ ~override~ + SAY 0x08 @5002 + SAY 0x0c @5002 + SAY 0x50 @5002 + SAY 0x54 @5002 + +COPY ~iwdification/spl/cdibar3.spl~ ~override~ // Tymora's Melody - Luck and Skill Bonuses + ~iwdification/spl/cdibarc.spl~ ~override~ + SAY 0x08 @5003 + SAY 0x0c @5003 + SAY 0x50 @5003 + SAY 0x54 @5003 + +COPY ~iwdification/spl/cdibar4.spl~ ~override~ // The Song of Kaudies - Resistant to Sound Attacks + ~iwdification/spl/cdibard.spl~ ~override~ // includes immunity to dire charm to prevent sirine charm + SAY 0x08 @5004 + SAY 0x0c @5004 + SAY 0x50 @5004 + SAY 0x54 @5004 + +COPY ~iwdification/spl/cdibar5.spl~ ~override~ // The Siren's Yearning - Enthralls Creatures + ~iwdification/spl/cdibare.spl~ ~override~ + SAY 0x08 @5005 + SAY 0x0c @5005 + SAY 0x50 @5005 + SAY 0x54 @5005 + +COPY_EXISTING ~cdibare.spl~ ~override~ + SAY 0x3ce @5007 + +COPY ~iwdification/spl/cdibar6.spl~ ~override~ // War Chant of Sith - Armor Bonuses and Regeneration + ~iwdification/spl/cdibarf.spl~ ~override~ + SAY 0x08 @5006 + SAY 0x0c @5006 + 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~ + WRITE_ASCIIE 0x30 "%DEST_RES%" #8 + +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +///// \\\\\ +///// add two-handed axes \\\\\ +///// \\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ +/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ + +BEGIN @6000 DESIGNATED 60 + +ACTION_IF ((FILE_EXISTS_IN_GAME ~oh1000.are~) OR (FILE_EXISTS_IN_GAME ~oh3000.are~)) THEN BEGIN // bgee or bg2ee +// LOAD_TRA +END + +COPY ~iwdification/bam/cdax2h1i.bam~ ~override~ + ~iwdification/bam/cdax2h2i.bam~ ~override~ + ~iwdification/bam/cdax2h3i.bam~ ~override~ + ~iwdification/bam/cdax2h4i.bam~ ~override~ + ~iwdification/bam/cdax2h5i.bam~ ~override~ + ~iwdification/bam/cdax2h5i.bam~ ~override~ + ~iwdification/bam/cdax2h5i.bam~ ~override~ + ~iwdification/bam/cdax2h5s.bam~ ~override~ + ~iwdification/bam/cdax2h6i.bam~ ~override~ + ~iwdification/spl/cdax2h5b.spl~ ~override~ + +COPY ~iwdification/itm/cdax2h1.itm~ ~override~ // generic 2h axe + SAY 0x08 @6001 + SAY 0x0c @6001 + SAY 0x50 @6002 + SAY 0x54 @6002 + +COPY ~iwdification/itm/cdax2h2.itm~ ~override~ // +1 axe + SAY 0x08 @6001 + SAY 0x0c @6003 + SAY 0x50 @6002 + SAY 0x54 @6004 + +COPY ~iwdification/itm/cdax2h3.itm~ ~override~ // +2 axe + SAY 0x08 @6001 + SAY 0x0c @6005 + SAY 0x50 @6002 + SAY 0x54 @6006 + +COPY ~iwdification/itm/cdax2h4.itm~ ~override~ // +3 axe + SAY 0x08 @6001 + SAY 0x0c @6007 + SAY 0x50 @6002 + SAY 0x54 @6008 + +COPY ~iwdification/itm/cdax2h5.itm~ ~override~ // +4 axe + SAY 0x08 @6001 + SAY 0x0c @6009 + SAY 0x50 @6002 + SAY 0x54 @6010 + +COPY ~iwdification/itm/cdax2h6.itm~ ~override~ // +5 axe + SAY 0x08 @6001 + SAY 0x0c @6011 + SAY 0x50 @6002 + SAY 0x54 @6012 + +COPY ~iwdification/spl/cdax2h5g.spl~ ~override~ + SAY 0x08 @6013 + SAY 0x0c @6013 + SAY 0x50 @6013 + SAY 0x54 @6013 + READ_LONG 0x08 string1 + +COPY ~iwdification/spl/cdax2h6g.spl~ ~override~ + SAY 0x08 @6014 + SAY 0x0c @6014 + SAY 0x50 @6014 + SAY 0x54 @6014 + READ_LONG 0x08 string2 + +APPEND ~tooltip.2da~ ~cdax2h5 15529 %string1% -1 +cdax2h5 15529 %string2% -1~ + +COPY_EXISTING ~tooltip.2da~ ~override~ + PRETTY_PRINT_2DA + +///// \\\\\ +///// places axes in game \\\\\ +///// \\\\\ + +// add generic 2h axes to any store that sells generic 1h axes; same with +1 models +COPY_EXISTING_REGEXP GLOB ~^.+\.sto$~ ~override~ + READ_LONG 0x34 sale_off ELSE 0 + READ_LONG 0x38 sale_num ELSE 0 + SET ax_idx = 0 + SET ax1_idx = 0 + SET delta = 0 + FOR (index = 0 ; index < sale_num ; ++index) BEGIN + READ_ASCII (sale_off + (index * 0x1c)) item + PATCH_IF (("%item%" STRING_COMPARE_CASE "ax1h01" = 0) OR ("%item%" STRING_COMPARE_CASE "_ax1h01" = 0)) BEGIN // 1h axe + READ_ASCII (sale_off + (index * 0x1c)) clone (28) // read entry + SET ax_idx = (index + 1) // sets right after as insert point + END ELSE + PATCH_IF (("%item%" STRING_COMPARE_CASE "ax1h02" = 0) OR ("%item%" STRING_COMPARE_CASE "_ax1h02" = 0)) BEGIN // 1h axe +1 + READ_ASCII (sale_off + (index * 0x1c)) clone1 (28) // read entry + SET ax1_idx = (index + 1) // sets right after as insert point + END + END + PATCH_IF (ax1_idx > 0) BEGIN // if 1h axes present, add in 2h axes + INSERT_BYTES (sale_off + (ax1_idx * 0x1c)) 28 + WRITE_ASCIIE (sale_off + (ax1_idx * 0x1c)) ~%clone1%~ // clones 1h axe +1 entry + WRITE_ASCII (sale_off + (ax1_idx * 0x1c)) ~cdax2h2~ #8 // change to 2h axe +1 + SET delta += 1 + END + PATCH_IF (ax_idx > 0) BEGIN // if 1h axes present, add in 2h axes + INSERT_BYTES (sale_off + (ax_idx * 0x1c)) 28 + WRITE_ASCIIE (sale_off + (ax_idx * 0x1c)) ~%clone%~ // clones 1h axe entry + WRITE_ASCII (sale_off + (ax_idx * 0x1c)) ~cdax2h1~ #8 // change to 2h axe + SET delta += 1 + END + PATCH_IF (delta > 0) BEGIN + WRITE_LONG 0x38 (sale_num + delta) + PATCH_FOR_EACH offset IN 0x2c 0x4c 0x70 BEGIN + READ_LONG offset off + PATCH_IF (off > sale_off) BEGIN + WRITE_LONG offset (THIS + (delta * 0x1c)) + END + END + END + BUT_ONLY + +ACTION_IF ((FILE_EXISTS_IN_GAME ~garkla.cre~) OR (FILE_EXISTS_IN_GAME ~_garkla.cre~)) THEN BEGIN // bgt/bgee/tutu + + COPY_EXISTING_REGEXP GLOB ~_?garkla.cre~ ~override~ // garclax at the bandit camp + REPLACE_CRE_ITEM ~cdax2h3~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP TWOHANDED // add +2 axe to garclax in bandit camp + +END + +ACTION_IF FILE_EXISTS_IN_GAME ~ar0602.bcs~ THEN BEGIN // soa + + EXTEND_BOTTOM ~ar0602.bcs~ ~iwdification/baf/ar0602.baf~ // add generic 2H axe to CI + + COPY_EXISTING ~hlolaf.cre~ ~override~ + REPLACE_CRE_ITEM ~cdax2h3~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP TWOHANDED // add +2 axe to olaf at guarded compound + +END + +ACTION_IF FILE_EXISTS_IN_GAME ~botsmith.bcs~ THEN BEGIN // tob + + EXTEND_BOTTOM ~ar3017.bcs~ ~iwdification/baf/ar3017.baf~ // add generic 2H axe to wk (pile of normal weapons for magic golems) + + EXTEND_BOTTOM ~botsmith.bcs~ ~iwdification/baf/botsmith.baf~ // cespy's upgrade of the +4 axe to +5 + COMPILE ~iwdification/dlg/botsmith.d~ + + // add +3 2h axes to any store that sells generic +3 1h axes (opening stores in ToB) + COPY_EXISTING ~amsmug01.sto~ ~override~ + ~amsmug02.sto~ ~override~ + ADD_STORE_ITEM ~cdax2h4~ AFTER ~ax1h17~ #0 #0 #0 ~IDENTIFIED~ #1 // +3 2h axe + + // add +3 2h axes to any store that sells generic +3 1h axes (opening stores in ToB) + COPY_EXISTING ~sarbar01.sto~ ~override~ + ADD_STORE_ITEM ~cdax2h4~ AFTER ~ax1h17~ #0 #0 #0 ~IDENTIFIED~ #3 // +3 2h axe + + COPY_EXISTING ~gromg04.cre~ ~override~ + REPLACE_CRE_ITEM ~cdax2h5~ #2 #2 #2 ~NONE~ ~WEAPON1~ EQUIP TWOHANDED // add +4 axe to one of gromnir's bodyguards + +END diff --git a/iwdification/spl/acid_storm.spl b/iwdification/spl/acid_storm.spl new file mode 100644 index 0000000..16bc9fb Binary files /dev/null and b/iwdification/spl/acid_storm.spl differ diff --git a/iwdification/spl/alicorn_lance.spl b/iwdification/spl/alicorn_lance.spl new file mode 100644 index 0000000..1fad4df Binary files /dev/null and b/iwdification/spl/alicorn_lance.spl differ diff --git a/iwdification/spl/animal_rage.spl b/iwdification/spl/animal_rage.spl new file mode 100644 index 0000000..45af004 Binary files /dev/null and b/iwdification/spl/animal_rage.spl differ diff --git a/iwdification/spl/antimagic_shell.spl b/iwdification/spl/antimagic_shell.spl new file mode 100644 index 0000000..62ba9b0 Binary files /dev/null and b/iwdification/spl/antimagic_shell.spl differ diff --git a/iwdification/spl/beast_claw.spl b/iwdification/spl/beast_claw.spl new file mode 100644 index 0000000..81605bc Binary files /dev/null and b/iwdification/spl/beast_claw.spl differ diff --git a/iwdification/spl/beltyns_burning_blood.spl b/iwdification/spl/beltyns_burning_blood.spl new file mode 100644 index 0000000..9a19dad Binary files /dev/null and b/iwdification/spl/beltyns_burning_blood.spl differ diff --git a/iwdification/spl/blood_rage.spl b/iwdification/spl/blood_rage.spl new file mode 100644 index 0000000..a3e5c97 Binary files /dev/null and b/iwdification/spl/blood_rage.spl differ diff --git a/iwdification/spl/cats_grace.spl b/iwdification/spl/cats_grace.spl new file mode 100644 index 0000000..b564911 Binary files /dev/null and b/iwdification/spl/cats_grace.spl differ diff --git a/iwdification/spl/cause_disease.spl b/iwdification/spl/cause_disease.spl new file mode 100644 index 0000000..92d6445 Binary files /dev/null and b/iwdification/spl/cause_disease.spl differ diff --git a/iwdification/spl/cause_light_wounds.spl b/iwdification/spl/cause_light_wounds.spl new file mode 100644 index 0000000..03d3da6 Binary files /dev/null and b/iwdification/spl/cause_light_wounds.spl differ diff --git a/iwdification/spl/cause_moderate_wounds.spl b/iwdification/spl/cause_moderate_wounds.spl new file mode 100644 index 0000000..151e4e9 Binary files /dev/null and b/iwdification/spl/cause_moderate_wounds.spl differ diff --git a/iwdification/spl/cdax2h5b.spl b/iwdification/spl/cdax2h5b.spl new file mode 100644 index 0000000..2a1c9e9 Binary files /dev/null and b/iwdification/spl/cdax2h5b.spl differ diff --git a/iwdification/spl/cdax2h5g.spl b/iwdification/spl/cdax2h5g.spl new file mode 100644 index 0000000..ec1fb24 Binary files /dev/null and b/iwdification/spl/cdax2h5g.spl differ diff --git a/iwdification/spl/cdax2h6g.spl b/iwdification/spl/cdax2h6g.spl new file mode 100644 index 0000000..8ad6942 Binary files /dev/null and b/iwdification/spl/cdax2h6g.spl differ diff --git a/iwdification/spl/cdgibomb.spl b/iwdification/spl/cdgibomb.spl new file mode 100644 index 0000000..6650655 Binary files /dev/null and b/iwdification/spl/cdgibomb.spl differ diff --git a/iwdification/spl/cdia221.spl b/iwdification/spl/cdia221.spl new file mode 100644 index 0000000..818b087 Binary files /dev/null and b/iwdification/spl/cdia221.spl differ diff --git a/iwdification/spl/cdia417.spl b/iwdification/spl/cdia417.spl new file mode 100644 index 0000000..7872ebe Binary files /dev/null and b/iwdification/spl/cdia417.spl differ diff --git a/iwdification/spl/cdia424y.spl b/iwdification/spl/cdia424y.spl new file mode 100644 index 0000000..dd18b6d Binary files /dev/null and b/iwdification/spl/cdia424y.spl differ diff --git a/iwdification/spl/cdia424z.spl b/iwdification/spl/cdia424z.spl new file mode 100644 index 0000000..1814142 Binary files /dev/null and b/iwdification/spl/cdia424z.spl differ diff --git a/iwdification/spl/cdia511a.spl b/iwdification/spl/cdia511a.spl new file mode 100644 index 0000000..d8939b3 Binary files /dev/null and b/iwdification/spl/cdia511a.spl differ diff --git a/iwdification/spl/cdia511b.spl b/iwdification/spl/cdia511b.spl new file mode 100644 index 0000000..f759993 Binary files /dev/null and b/iwdification/spl/cdia511b.spl differ diff --git a/iwdification/spl/cdia707.spl b/iwdification/spl/cdia707.spl new file mode 100644 index 0000000..9180bc5 Binary files /dev/null and b/iwdification/spl/cdia707.spl differ diff --git a/iwdification/spl/cdia708a.spl b/iwdification/spl/cdia708a.spl new file mode 100644 index 0000000..d220f6b Binary files /dev/null and b/iwdification/spl/cdia708a.spl differ diff --git a/iwdification/spl/cdia708b.spl b/iwdification/spl/cdia708b.spl new file mode 100644 index 0000000..0c92382 Binary files /dev/null and b/iwdification/spl/cdia708b.spl differ diff --git a/iwdification/spl/cdia708c.spl b/iwdification/spl/cdia708c.spl new file mode 100644 index 0000000..126d1aa Binary files /dev/null and b/iwdification/spl/cdia708c.spl differ diff --git a/iwdification/spl/cdia711.spl b/iwdification/spl/cdia711.spl new file mode 100644 index 0000000..4ef5ce6 Binary files /dev/null and b/iwdification/spl/cdia711.spl differ diff --git a/iwdification/spl/cdibar0.spl b/iwdification/spl/cdibar0.spl new file mode 100644 index 0000000..ad02374 Binary files /dev/null and b/iwdification/spl/cdibar0.spl differ diff --git a/iwdification/spl/cdibar1.spl b/iwdification/spl/cdibar1.spl new file mode 100644 index 0000000..eecf35a Binary files /dev/null and b/iwdification/spl/cdibar1.spl differ diff --git a/iwdification/spl/cdibar2.spl b/iwdification/spl/cdibar2.spl new file mode 100644 index 0000000..901bcea Binary files /dev/null and b/iwdification/spl/cdibar2.spl differ diff --git a/iwdification/spl/cdibar3.spl b/iwdification/spl/cdibar3.spl new file mode 100644 index 0000000..ea355c1 Binary files /dev/null and b/iwdification/spl/cdibar3.spl differ diff --git a/iwdification/spl/cdibar4.spl b/iwdification/spl/cdibar4.spl new file mode 100644 index 0000000..b020943 Binary files /dev/null and b/iwdification/spl/cdibar4.spl differ diff --git a/iwdification/spl/cdibar5.spl b/iwdification/spl/cdibar5.spl new file mode 100644 index 0000000..68abb93 Binary files /dev/null and b/iwdification/spl/cdibar5.spl differ diff --git a/iwdification/spl/cdibar6.spl b/iwdification/spl/cdibar6.spl new file mode 100644 index 0000000..74579b2 Binary files /dev/null and b/iwdification/spl/cdibar6.spl differ diff --git a/iwdification/spl/cdibara.spl b/iwdification/spl/cdibara.spl new file mode 100644 index 0000000..5510a5a Binary files /dev/null and b/iwdification/spl/cdibara.spl differ diff --git a/iwdification/spl/cdibarb.spl b/iwdification/spl/cdibarb.spl new file mode 100644 index 0000000..a5037c9 Binary files /dev/null and b/iwdification/spl/cdibarb.spl differ diff --git a/iwdification/spl/cdibarc.spl b/iwdification/spl/cdibarc.spl new file mode 100644 index 0000000..88a1637 Binary files /dev/null and b/iwdification/spl/cdibarc.spl differ diff --git a/iwdification/spl/cdibard.spl b/iwdification/spl/cdibard.spl new file mode 100644 index 0000000..e20b523 Binary files /dev/null and b/iwdification/spl/cdibard.spl differ diff --git a/iwdification/spl/cdibare.spl b/iwdification/spl/cdibare.spl new file mode 100644 index 0000000..b1faa9c Binary files /dev/null and b/iwdification/spl/cdibare.spl differ diff --git a/iwdification/spl/cdibarf.spl b/iwdification/spl/cdibarf.spl new file mode 100644 index 0000000..b1d3852 Binary files /dev/null and b/iwdification/spl/cdibarf.spl differ diff --git a/iwdification/spl/cdid313b.spl b/iwdification/spl/cdid313b.spl new file mode 100644 index 0000000..12f22e2 Binary files /dev/null and b/iwdification/spl/cdid313b.spl differ diff --git a/iwdification/spl/cdid313g.spl b/iwdification/spl/cdid313g.spl new file mode 100644 index 0000000..691ee4e Binary files /dev/null and b/iwdification/spl/cdid313g.spl differ diff --git a/iwdification/spl/cdid319.spl b/iwdification/spl/cdid319.spl new file mode 100644 index 0000000..3941a4b Binary files /dev/null and b/iwdification/spl/cdid319.spl differ diff --git a/iwdification/spl/cdid320.spl b/iwdification/spl/cdid320.spl new file mode 100644 index 0000000..73a3658 Binary files /dev/null and b/iwdification/spl/cdid320.spl differ diff --git a/iwdification/spl/cdid321.spl b/iwdification/spl/cdid321.spl new file mode 100644 index 0000000..b8afdb4 Binary files /dev/null and b/iwdification/spl/cdid321.spl differ diff --git a/iwdification/spl/cdid414b.spl b/iwdification/spl/cdid414b.spl new file mode 100644 index 0000000..ec6db73 Binary files /dev/null and b/iwdification/spl/cdid414b.spl differ diff --git a/iwdification/spl/cdid414g.spl b/iwdification/spl/cdid414g.spl new file mode 100644 index 0000000..1b0c296 Binary files /dev/null and b/iwdification/spl/cdid414g.spl differ diff --git a/iwdification/spl/cdid417.spl b/iwdification/spl/cdid417.spl new file mode 100644 index 0000000..a37e669 Binary files /dev/null and b/iwdification/spl/cdid417.spl differ diff --git a/iwdification/spl/cdid417v.spl b/iwdification/spl/cdid417v.spl new file mode 100644 index 0000000..1f93d95 Binary files /dev/null and b/iwdification/spl/cdid417v.spl differ diff --git a/iwdification/spl/cdid5110.spl b/iwdification/spl/cdid5110.spl new file mode 100644 index 0000000..4a1f754 Binary files /dev/null and b/iwdification/spl/cdid5110.spl differ diff --git a/iwdification/spl/cdid5111.spl b/iwdification/spl/cdid5111.spl new file mode 100644 index 0000000..e660b85 Binary files /dev/null and b/iwdification/spl/cdid5111.spl differ diff --git a/iwdification/spl/cdid512.spl b/iwdification/spl/cdid512.spl new file mode 100644 index 0000000..bd90306 Binary files /dev/null and b/iwdification/spl/cdid512.spl differ diff --git a/iwdification/spl/cdid613b.spl b/iwdification/spl/cdid613b.spl new file mode 100644 index 0000000..8e5adea Binary files /dev/null and b/iwdification/spl/cdid613b.spl differ diff --git a/iwdification/spl/cdid720.spl b/iwdification/spl/cdid720.spl new file mode 100644 index 0000000..4ced09a Binary files /dev/null and b/iwdification/spl/cdid720.spl differ diff --git a/iwdification/spl/cdsalc.spl b/iwdification/spl/cdsalc.spl new file mode 100644 index 0000000..41f0d67 Binary files /dev/null and b/iwdification/spl/cdsalc.spl differ diff --git a/iwdification/spl/cdsalc1.spl b/iwdification/spl/cdsalc1.spl new file mode 100644 index 0000000..45edcea Binary files /dev/null and b/iwdification/spl/cdsalc1.spl differ diff --git a/iwdification/spl/cdsalc2.spl b/iwdification/spl/cdsalc2.spl new file mode 100644 index 0000000..b96fd79 Binary files /dev/null and b/iwdification/spl/cdsalc2.spl differ diff --git a/iwdification/spl/cdsalf.spl b/iwdification/spl/cdsalf.spl new file mode 100644 index 0000000..23cfbca Binary files /dev/null and b/iwdification/spl/cdsalf.spl differ diff --git a/iwdification/spl/cdsalf1.spl b/iwdification/spl/cdsalf1.spl new file mode 100644 index 0000000..4161c1b Binary files /dev/null and b/iwdification/spl/cdsalf1.spl differ diff --git a/iwdification/spl/cdsalf2.spl b/iwdification/spl/cdsalf2.spl new file mode 100644 index 0000000..2163a89 Binary files /dev/null and b/iwdification/spl/cdsalf2.spl differ diff --git a/iwdification/spl/cdsof1.spl b/iwdification/spl/cdsof1.spl new file mode 100644 index 0000000..5d95016 Binary files /dev/null and b/iwdification/spl/cdsof1.spl differ diff --git a/iwdification/spl/cdsof2.spl b/iwdification/spl/cdsof2.spl new file mode 100644 index 0000000..cd3a405 Binary files /dev/null and b/iwdification/spl/cdsof2.spl differ diff --git a/iwdification/spl/cdsof3.spl b/iwdification/spl/cdsof3.spl new file mode 100644 index 0000000..8843c65 Binary files /dev/null and b/iwdification/spl/cdsof3.spl differ diff --git a/iwdification/spl/cdsuffo.spl b/iwdification/spl/cdsuffo.spl new file mode 100644 index 0000000..1dc0a68 Binary files /dev/null and b/iwdification/spl/cdsuffo.spl differ diff --git a/iwdification/spl/cdsuffot.spl b/iwdification/spl/cdsuffot.spl new file mode 100644 index 0000000..5b65ff7 Binary files /dev/null and b/iwdification/spl/cdsuffot.spl differ diff --git a/iwdification/spl/circle_of_bones.spl b/iwdification/spl/circle_of_bones.spl new file mode 100644 index 0000000..ac1f923 Binary files /dev/null and b/iwdification/spl/circle_of_bones.spl differ diff --git a/iwdification/spl/cloud_of_pestilence.spl b/iwdification/spl/cloud_of_pestilence.spl new file mode 100644 index 0000000..0b171b0 Binary files /dev/null and b/iwdification/spl/cloud_of_pestilence.spl differ diff --git a/iwdification/spl/cloudburst.spl b/iwdification/spl/cloudburst.spl new file mode 100644 index 0000000..b557f8c Binary files /dev/null and b/iwdification/spl/cloudburst.spl differ diff --git a/iwdification/spl/contact_other_plane.spl b/iwdification/spl/contact_other_plane.spl new file mode 100644 index 0000000..077b43b Binary files /dev/null and b/iwdification/spl/contact_other_plane.spl differ diff --git a/iwdification/spl/cure_moderate_wounds.spl b/iwdification/spl/cure_moderate_wounds.spl new file mode 100644 index 0000000..f8fe9a8 Binary files /dev/null and b/iwdification/spl/cure_moderate_wounds.spl differ diff --git a/iwdification/spl/curse.spl b/iwdification/spl/curse.spl new file mode 100644 index 0000000..787c9f3 Binary files /dev/null and b/iwdification/spl/curse.spl differ diff --git a/iwdification/spl/darts_of_bone.spl b/iwdification/spl/darts_of_bone.spl new file mode 100644 index 0000000..2b0ef7f Binary files /dev/null and b/iwdification/spl/darts_of_bone.spl differ diff --git a/iwdification/spl/decastave.spl b/iwdification/spl/decastave.spl new file mode 100644 index 0000000..28a32ba Binary files /dev/null and b/iwdification/spl/decastave.spl differ diff --git a/iwdification/spl/demishadow_monsters.spl b/iwdification/spl/demishadow_monsters.spl new file mode 100644 index 0000000..8971956 Binary files /dev/null and b/iwdification/spl/demishadow_monsters.spl differ diff --git a/iwdification/spl/destruction.spl b/iwdification/spl/destruction.spl new file mode 100644 index 0000000..e4be122 Binary files /dev/null and b/iwdification/spl/destruction.spl differ diff --git a/iwdification/spl/emotion_courage.spl b/iwdification/spl/emotion_courage.spl new file mode 100644 index 0000000..63e0242 Binary files /dev/null and b/iwdification/spl/emotion_courage.spl differ diff --git a/iwdification/spl/emotion_fear.spl b/iwdification/spl/emotion_fear.spl new file mode 100644 index 0000000..913b20e Binary files /dev/null and b/iwdification/spl/emotion_fear.spl differ diff --git a/iwdification/spl/emotion_hope.spl b/iwdification/spl/emotion_hope.spl new file mode 100644 index 0000000..7b20fc1 Binary files /dev/null and b/iwdification/spl/emotion_hope.spl differ diff --git a/iwdification/spl/emotion_hopelessness.spl b/iwdification/spl/emotion_hopelessness.spl new file mode 100644 index 0000000..095f27c Binary files /dev/null and b/iwdification/spl/emotion_hopelessness.spl differ diff --git a/iwdification/spl/entropy_shield.spl b/iwdification/spl/entropy_shield.spl new file mode 100644 index 0000000..e9d26e4 Binary files /dev/null and b/iwdification/spl/entropy_shield.spl differ diff --git a/iwdification/spl/exaltation.spl b/iwdification/spl/exaltation.spl new file mode 100644 index 0000000..ffb6860 Binary files /dev/null and b/iwdification/spl/exaltation.spl differ diff --git a/iwdification/spl/giant_insect.spl b/iwdification/spl/giant_insect.spl new file mode 100644 index 0000000..7b05143 Binary files /dev/null and b/iwdification/spl/giant_insect.spl differ diff --git a/iwdification/spl/greater_shield_of_lathander.spl b/iwdification/spl/greater_shield_of_lathander.spl new file mode 100644 index 0000000..76a88aa Binary files /dev/null and b/iwdification/spl/greater_shield_of_lathander.spl differ diff --git a/iwdification/spl/icelance.spl b/iwdification/spl/icelance.spl new file mode 100644 index 0000000..8676808 Binary files /dev/null and b/iwdification/spl/icelance.spl differ diff --git a/iwdification/spl/impervious_sanctity_of_mind.spl b/iwdification/spl/impervious_sanctity_of_mind.spl new file mode 100644 index 0000000..0438a93 Binary files /dev/null and b/iwdification/spl/impervious_sanctity_of_mind.spl differ diff --git a/iwdification/spl/iron_body.spl b/iwdification/spl/iron_body.spl new file mode 100644 index 0000000..0e3bec5 Binary files /dev/null and b/iwdification/spl/iron_body.spl differ diff --git a/iwdification/spl/lance_o_disruption.spl b/iwdification/spl/lance_o_disruption.spl new file mode 100644 index 0000000..1213825 Binary files /dev/null and b/iwdification/spl/lance_o_disruption.spl differ diff --git a/iwdification/spl/lich_touch.spl b/iwdification/spl/lich_touch.spl new file mode 100644 index 0000000..80449bb Binary files /dev/null and b/iwdification/spl/lich_touch.spl differ diff --git a/iwdification/spl/malavons_rage.spl b/iwdification/spl/malavons_rage.spl new file mode 100644 index 0000000..8e5e085 Binary files /dev/null and b/iwdification/spl/malavons_rage.spl differ diff --git a/iwdification/spl/mind_blank.spl b/iwdification/spl/mind_blank.spl new file mode 100644 index 0000000..6f6a4ec Binary files /dev/null and b/iwdification/spl/mind_blank.spl differ diff --git a/iwdification/spl/mist_of_eldath.spl b/iwdification/spl/mist_of_eldath.spl new file mode 100644 index 0000000..77aed30 Binary files /dev/null and b/iwdification/spl/mist_of_eldath.spl differ diff --git a/iwdification/spl/monster_summoning_iv.spl b/iwdification/spl/monster_summoning_iv.spl new file mode 100644 index 0000000..e4da6ad Binary files /dev/null and b/iwdification/spl/monster_summoning_iv.spl differ diff --git a/iwdification/spl/monster_summoning_v.spl b/iwdification/spl/monster_summoning_v.spl new file mode 100644 index 0000000..81871b5 Binary files /dev/null and b/iwdification/spl/monster_summoning_v.spl differ diff --git a/iwdification/spl/monster_summoning_vi.spl b/iwdification/spl/monster_summoning_vi.spl new file mode 100644 index 0000000..db87619 Binary files /dev/null and b/iwdification/spl/monster_summoning_vi.spl differ diff --git a/iwdification/spl/monster_summoning_vii.spl b/iwdification/spl/monster_summoning_vii.spl new file mode 100644 index 0000000..cc231ab Binary files /dev/null and b/iwdification/spl/monster_summoning_vii.spl differ diff --git a/iwdification/spl/moonblade.spl b/iwdification/spl/moonblade.spl new file mode 100644 index 0000000..e2c3921 Binary files /dev/null and b/iwdification/spl/moonblade.spl differ diff --git a/iwdification/spl/otilukes_freezing_sphere.spl b/iwdification/spl/otilukes_freezing_sphere.spl new file mode 100644 index 0000000..1f4c991 Binary files /dev/null and b/iwdification/spl/otilukes_freezing_sphere.spl differ diff --git a/iwdification/spl/prayer.spl b/iwdification/spl/prayer.spl new file mode 100644 index 0000000..647bf43 Binary files /dev/null and b/iwdification/spl/prayer.spl differ diff --git a/iwdification/spl/produce_fire.spl b/iwdification/spl/produce_fire.spl new file mode 100644 index 0000000..898961b Binary files /dev/null and b/iwdification/spl/produce_fire.spl differ diff --git a/iwdification/spl/recitation.spl b/iwdification/spl/recitation.spl new file mode 100644 index 0000000..6f581b2 Binary files /dev/null and b/iwdification/spl/recitation.spl differ diff --git a/iwdification/spl/righteous_wrath_of_the_faithful.spl b/iwdification/spl/righteous_wrath_of_the_faithful.spl new file mode 100644 index 0000000..8a4d822 Binary files /dev/null and b/iwdification/spl/righteous_wrath_of_the_faithful.spl differ diff --git a/iwdification/spl/shades.spl b/iwdification/spl/shades.spl new file mode 100644 index 0000000..e2862b8 Binary files /dev/null and b/iwdification/spl/shades.spl differ diff --git a/iwdification/spl/shadow_monsters.spl b/iwdification/spl/shadow_monsters.spl new file mode 100644 index 0000000..5f7c955 Binary files /dev/null and b/iwdification/spl/shadow_monsters.spl differ diff --git a/iwdification/spl/shield_of_lathander.spl b/iwdification/spl/shield_of_lathander.spl new file mode 100644 index 0000000..d83a732 Binary files /dev/null and b/iwdification/spl/shield_of_lathander.spl differ diff --git a/iwdification/spl/shroud_of_flame.spl b/iwdification/spl/shroud_of_flame.spl new file mode 100644 index 0000000..9eb19dd Binary files /dev/null and b/iwdification/spl/shroud_of_flame.spl differ diff --git a/iwdification/spl/snillocs_snowball_swarm.spl b/iwdification/spl/snillocs_snowball_swarm.spl new file mode 100644 index 0000000..58f75c9 Binary files /dev/null and b/iwdification/spl/snillocs_snowball_swarm.spl differ diff --git a/iwdification/spl/spike_growth.spl b/iwdification/spl/spike_growth.spl new file mode 100644 index 0000000..e5b562c Binary files /dev/null and b/iwdification/spl/spike_growth.spl differ diff --git a/iwdification/spl/spike_stones.spl b/iwdification/spl/spike_stones.spl new file mode 100644 index 0000000..62f1135 Binary files /dev/null and b/iwdification/spl/spike_stones.spl differ diff --git a/iwdification/spl/stalker.spl b/iwdification/spl/stalker.spl new file mode 100644 index 0000000..5ca6ad5 Binary files /dev/null and b/iwdification/spl/stalker.spl differ diff --git a/iwdification/spl/star_metal_cudgel.spl b/iwdification/spl/star_metal_cudgel.spl new file mode 100644 index 0000000..5751e47 Binary files /dev/null and b/iwdification/spl/star_metal_cudgel.spl differ diff --git a/iwdification/spl/static_charge.spl b/iwdification/spl/static_charge.spl new file mode 100644 index 0000000..48701ba Binary files /dev/null and b/iwdification/spl/static_charge.spl differ diff --git a/iwdification/spl/storm_shell.spl b/iwdification/spl/storm_shell.spl new file mode 100644 index 0000000..9a3e3bf Binary files /dev/null and b/iwdification/spl/storm_shell.spl differ diff --git a/iwdification/spl/suffocate.spl b/iwdification/spl/suffocate.spl new file mode 100644 index 0000000..c6c8c18 Binary files /dev/null and b/iwdification/spl/suffocate.spl differ diff --git a/iwdification/spl/summon_shadow.spl b/iwdification/spl/summon_shadow.spl new file mode 100644 index 0000000..26c46f6 Binary files /dev/null and b/iwdification/spl/summon_shadow.spl differ diff --git a/iwdification/spl/sunscorch.spl b/iwdification/spl/sunscorch.spl new file mode 100644 index 0000000..488dfd8 Binary files /dev/null and b/iwdification/spl/sunscorch.spl differ diff --git a/iwdification/spl/symbol_of_hopelessness.spl b/iwdification/spl/symbol_of_hopelessness.spl new file mode 100644 index 0000000..d6d0b73 Binary files /dev/null and b/iwdification/spl/symbol_of_hopelessness.spl differ diff --git a/iwdification/spl/symbol_of_pain.spl b/iwdification/spl/symbol_of_pain.spl new file mode 100644 index 0000000..f64cf8c Binary files /dev/null and b/iwdification/spl/symbol_of_pain.spl differ diff --git a/iwdification/spl/thorn_spray.spl b/iwdification/spl/thorn_spray.spl new file mode 100644 index 0000000..f7a9134 Binary files /dev/null and b/iwdification/spl/thorn_spray.spl differ diff --git a/iwdification/spl/trollish_fortitude.spl b/iwdification/spl/trollish_fortitude.spl new file mode 100644 index 0000000..b6ade51 Binary files /dev/null and b/iwdification/spl/trollish_fortitude.spl differ diff --git a/iwdification/spl/undead_ward.spl b/iwdification/spl/undead_ward.spl new file mode 100644 index 0000000..31199ac Binary files /dev/null and b/iwdification/spl/undead_ward.spl differ diff --git a/iwdification/spl/unfailing_endurance.spl b/iwdification/spl/unfailing_endurance.spl new file mode 100644 index 0000000..d34ea7a Binary files /dev/null and b/iwdification/spl/unfailing_endurance.spl differ diff --git a/iwdification/spl/vitriolic_sphere.spl b/iwdification/spl/vitriolic_sphere.spl new file mode 100644 index 0000000..9915856 Binary files /dev/null and b/iwdification/spl/vitriolic_sphere.spl differ diff --git a/iwdification/spl/whirlwind.spl b/iwdification/spl/whirlwind.spl new file mode 100644 index 0000000..03b1a61 Binary files /dev/null and b/iwdification/spl/whirlwind.spl differ diff --git a/iwdification/style/g3.ico b/iwdification/style/g3.ico new file mode 100644 index 0000000..5356edf Binary files /dev/null and b/iwdification/style/g3.ico differ diff --git a/iwdification/style/g3readme_cam.css b/iwdification/style/g3readme_cam.css new file mode 100644 index 0000000..49aaef8 --- /dev/null +++ b/iwdification/style/g3readme_cam.css @@ -0,0 +1,118 @@ +body { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + text-align: left; + color: #000; + background-color: #f2f2fc; + margin: 35px 50px 35px 50px; + padding: 0; + } +img {border : 0;} +h1, h2, h3, h4, h5, h6 { + font-size: 17px; + font-weight: bold; + color: #0000cd; + font-variant: small-caps; + position: relative; + background-color: #fff; + z-index:10; + } +h1, h2 { + margin-right: 20px; + margin-left: 20px; + padding: 5px; + border:1px solid #888; + z-index:10; + } +h3, h4, h5, h6 { + border-left:10px solid #0000cd; + padding-left:5px; + border-bottom:1px dotted #0000cd; + } +h2 {font-size : 16px;} +h3 {font-size : 15px;} +h4 {font-size : 14px;} +h5 {font-size : 13px;} +h6 {font-size : 12px;} +p, ul, table {clear:left;} +a, a:link, a:visited, a:hover, a:active { + color: #0012ff; + margin: 0; + padding: 0; + border-width: 0; + } +a:visited {color : #0000cd;} +table { + width: 100%; + padding: 20px; + } +td, th { + font-size: 11px; + text-align: center; + vertical-align: baseline; + padding: 5px; + border: 1px outset #aaa; + } +th { + background-color: #0000cd; + color: #fff; + font-weight: bold; + } +hr { + display: block; + clear: both; + margin: 0; + visibility: hidden; + } +.leftalign, table.leftalign tr th, table.leftalign tr td {text-align: left;} +.section { + position: relative; + border: 1px dotted #bbb; + background-color: #fff; + margin: -30px 0px 30px 0px; + padding: 20px 20px 10px 20px; + } +.kit_description { + position: relative; + display: block; + background-color: #f0f0f0; + border-left: 4px solid #ccc; + border-top: 1px dotted #ccc; + } +.spell_description, .spell_description_cleric, .spell_description_druid { + position: relative; + display: block; + background-color: #ddd; + border-left: 4px solid #bbb; + border-top: 1px dotted #bbb; + padding:10px; + margin:20px; + } +.spell_description_druid {border-color:#005a13;background-color:#ccded0;} +.spell_description_cleric {border-color:#000676;background-color:#cccde4;} +.portrait_thumb { + float: left; + width: 125px; + height: 125px; + padding: 5px; + text-align: center; + overflow: auto; + } +a.spoiler, a:link.spoiler, a:active.spoiler, a:visited.spoiler, a:hover.spoiler { + color: #ccc; + background-color: #ccc; + border: 1px dotted #888; + text-decoration: none; + } +a:hover.spoiler { + color: #000; + border: 1px dotted #ccc; + } +.code { + font-family: 'Courier New', Courier, mono; + border: 1px solid #555; + border-left: 10px solid #555; + background-color: #eee; + padding: 5px; + } +.deprecated {color:#666;} \ No newline at end of file diff --git a/iwdification/vvc/cdabjurh.vvc b/iwdification/vvc/cdabjurh.vvc new file mode 100644 index 0000000..10f3ce3 Binary files /dev/null and b/iwdification/vvc/cdabjurh.vvc differ diff --git a/iwdification/vvc/cdacidh.vvc b/iwdification/vvc/cdacidh.vvc new file mode 100644 index 0000000..8803501 Binary files /dev/null and b/iwdification/vvc/cdacidh.vvc differ diff --git a/iwdification/vvc/cdalterh.vvc b/iwdification/vvc/cdalterh.vvc new file mode 100644 index 0000000..259e76c Binary files /dev/null and b/iwdification/vvc/cdalterh.vvc differ diff --git a/iwdification/vvc/cdanisum.vvc b/iwdification/vvc/cdanisum.vvc new file mode 100644 index 0000000..c4fd7f6 Binary files /dev/null and b/iwdification/vvc/cdanisum.vvc differ diff --git a/iwdification/vvc/cdbless.vvc b/iwdification/vvc/cdbless.vvc new file mode 100644 index 0000000..0124ad6 Binary files /dev/null and b/iwdification/vvc/cdbless.vvc differ diff --git a/iwdification/vvc/cdbonh1.vvc b/iwdification/vvc/cdbonh1.vvc new file mode 100644 index 0000000..c663df1 Binary files /dev/null and b/iwdification/vvc/cdbonh1.vvc differ diff --git a/iwdification/vvc/cdbonh2.vvc b/iwdification/vvc/cdbonh2.vvc new file mode 100644 index 0000000..e755268 Binary files /dev/null and b/iwdification/vvc/cdbonh2.vvc differ diff --git a/iwdification/vvc/cdcldama.vvc b/iwdification/vvc/cdcldama.vvc new file mode 100644 index 0000000..44944f3 Binary files /dev/null and b/iwdification/vvc/cdcldama.vvc differ diff --git a/iwdification/vvc/cdcloubh.vvc b/iwdification/vvc/cdcloubh.vvc new file mode 100644 index 0000000..80055df Binary files /dev/null and b/iwdification/vvc/cdcloubh.vvc differ diff --git a/iwdification/vvc/cdcmdama.vvc b/iwdification/vvc/cdcmdama.vvc new file mode 100644 index 0000000..10b2f62 Binary files /dev/null and b/iwdification/vvc/cdcmdama.vvc differ diff --git a/iwdification/vvc/cdcoldh.vvc b/iwdification/vvc/cdcoldh.vvc new file mode 100644 index 0000000..928e993 Binary files /dev/null and b/iwdification/vvc/cdcoldh.vvc differ diff --git a/iwdification/vvc/cdconjuh.vvc b/iwdification/vvc/cdconjuh.vvc new file mode 100644 index 0000000..b324627 Binary files /dev/null and b/iwdification/vvc/cdconjuh.vvc differ diff --git a/iwdification/vvc/cdcurseh.vvc b/iwdification/vvc/cdcurseh.vvc new file mode 100644 index 0000000..829b68e Binary files /dev/null and b/iwdification/vvc/cdcurseh.vvc differ diff --git a/iwdification/vvc/cddestrh.vvc b/iwdification/vvc/cddestrh.vvc new file mode 100644 index 0000000..3097ae6 Binary files /dev/null and b/iwdification/vvc/cddestrh.vvc differ diff --git a/iwdification/vvc/cddiseah.vvc b/iwdification/vvc/cddiseah.vvc new file mode 100644 index 0000000..b1daa17 Binary files /dev/null and b/iwdification/vvc/cddiseah.vvc differ diff --git a/iwdification/vvc/cddivinh.vvc b/iwdification/vvc/cddivinh.vvc new file mode 100644 index 0000000..703f95b Binary files /dev/null and b/iwdification/vvc/cddivinh.vvc differ diff --git a/iwdification/vvc/cdelecth.vvc b/iwdification/vvc/cdelecth.vvc new file mode 100644 index 0000000..9824bf1 Binary files /dev/null and b/iwdification/vvc/cdelecth.vvc differ diff --git a/iwdification/vvc/cdenchah.vvc b/iwdification/vvc/cdenchah.vvc new file mode 100644 index 0000000..92191e9 Binary files /dev/null and b/iwdification/vvc/cdenchah.vvc differ diff --git a/iwdification/vvc/cdexalth.vvc b/iwdification/vvc/cdexalth.vvc new file mode 100644 index 0000000..3522388 Binary files /dev/null and b/iwdification/vvc/cdexalth.vvc differ diff --git a/iwdification/vvc/cdfireh.vvc b/iwdification/vvc/cdfireh.vvc new file mode 100644 index 0000000..96a433d Binary files /dev/null and b/iwdification/vvc/cdfireh.vvc differ diff --git a/iwdification/vvc/cdgnench.vvc b/iwdification/vvc/cdgnench.vvc new file mode 100644 index 0000000..11a082e Binary files /dev/null and b/iwdification/vvc/cdgnench.vvc differ diff --git a/iwdification/vvc/cdia424.vvc b/iwdification/vvc/cdia424.vvc new file mode 100644 index 0000000..5aa40bf Binary files /dev/null and b/iwdification/vvc/cdia424.vvc differ diff --git a/iwdification/vvc/cdia511v.vvc b/iwdification/vvc/cdia511v.vvc new file mode 100644 index 0000000..c0c04c4 Binary files /dev/null and b/iwdification/vvc/cdia511v.vvc differ diff --git a/iwdification/vvc/cdia601v.vvc b/iwdification/vvc/cdia601v.vvc new file mode 100644 index 0000000..52f3621 Binary files /dev/null and b/iwdification/vvc/cdia601v.vvc differ diff --git a/iwdification/vvc/cdia707h.vvc b/iwdification/vvc/cdia707h.vvc new file mode 100644 index 0000000..4ec3366 Binary files /dev/null and b/iwdification/vvc/cdia707h.vvc differ diff --git a/iwdification/vvc/cdia707x.vvc b/iwdification/vvc/cdia707x.vvc new file mode 100644 index 0000000..c6a6c14 Binary files /dev/null and b/iwdification/vvc/cdia707x.vvc differ diff --git a/iwdification/vvc/cdia7080.vvc b/iwdification/vvc/cdia7080.vvc new file mode 100644 index 0000000..ce8c498 Binary files /dev/null and b/iwdification/vvc/cdia7080.vvc differ diff --git a/iwdification/vvc/cdia7081.vvc b/iwdification/vvc/cdia7081.vvc new file mode 100644 index 0000000..7d6e7a4 Binary files /dev/null and b/iwdification/vvc/cdia7081.vvc differ diff --git a/iwdification/vvc/cdia7082.vvc b/iwdification/vvc/cdia7082.vvc new file mode 100644 index 0000000..810d02e Binary files /dev/null and b/iwdification/vvc/cdia7082.vvc differ diff --git a/iwdification/vvc/cdia7083.vvc b/iwdification/vvc/cdia7083.vvc new file mode 100644 index 0000000..e4b16b2 Binary files /dev/null and b/iwdification/vvc/cdia7083.vvc differ diff --git a/iwdification/vvc/cdia7084.vvc b/iwdification/vvc/cdia7084.vvc new file mode 100644 index 0000000..0ebe9ec Binary files /dev/null and b/iwdification/vvc/cdia7084.vvc differ diff --git a/iwdification/vvc/cdia7085.vvc b/iwdification/vvc/cdia7085.vvc new file mode 100644 index 0000000..1b06f74 Binary files /dev/null and b/iwdification/vvc/cdia7085.vvc differ diff --git a/iwdification/vvc/cdia7086.vvc b/iwdification/vvc/cdia7086.vvc new file mode 100644 index 0000000..7c0d92a Binary files /dev/null and b/iwdification/vvc/cdia7086.vvc differ diff --git a/iwdification/vvc/cdia7087.vvc b/iwdification/vvc/cdia7087.vvc new file mode 100644 index 0000000..e893493 Binary files /dev/null and b/iwdification/vvc/cdia7087.vvc differ diff --git a/iwdification/vvc/cdia7088.vvc b/iwdification/vvc/cdia7088.vvc new file mode 100644 index 0000000..20cfe0d Binary files /dev/null and b/iwdification/vvc/cdia7088.vvc differ diff --git a/iwdification/vvc/cdia7089.vvc b/iwdification/vvc/cdia7089.vvc new file mode 100644 index 0000000..023a11a Binary files /dev/null and b/iwdification/vvc/cdia7089.vvc differ diff --git a/iwdification/vvc/cdia708x.vvc b/iwdification/vvc/cdia708x.vvc new file mode 100644 index 0000000..2f75fae Binary files /dev/null and b/iwdification/vvc/cdia708x.vvc differ diff --git a/iwdification/vvc/cdia708y.vvc b/iwdification/vvc/cdia708y.vvc new file mode 100644 index 0000000..26adbfe Binary files /dev/null and b/iwdification/vvc/cdia708y.vvc differ diff --git a/iwdification/vvc/cdia708z.vvc b/iwdification/vvc/cdia708z.vvc new file mode 100644 index 0000000..0053a2b Binary files /dev/null and b/iwdification/vvc/cdia708z.vvc differ diff --git a/iwdification/vvc/cdia7110.vvc b/iwdification/vvc/cdia7110.vvc new file mode 100644 index 0000000..202e41c Binary files /dev/null and b/iwdification/vvc/cdia7110.vvc differ diff --git a/iwdification/vvc/cdia7111.vvc b/iwdification/vvc/cdia7111.vvc new file mode 100644 index 0000000..4f5f2dc Binary files /dev/null and b/iwdification/vvc/cdia7111.vvc differ diff --git a/iwdification/vvc/cdia7112.vvc b/iwdification/vvc/cdia7112.vvc new file mode 100644 index 0000000..1603476 Binary files /dev/null and b/iwdification/vvc/cdia7112.vvc differ diff --git a/iwdification/vvc/cdia7113.vvc b/iwdification/vvc/cdia7113.vvc new file mode 100644 index 0000000..9d1c0d0 Binary files /dev/null and b/iwdification/vvc/cdia7113.vvc differ diff --git a/iwdification/vvc/cdia7114.vvc b/iwdification/vvc/cdia7114.vvc new file mode 100644 index 0000000..2755efa Binary files /dev/null and b/iwdification/vvc/cdia7114.vvc differ diff --git a/iwdification/vvc/cdia7115.vvc b/iwdification/vvc/cdia7115.vvc new file mode 100644 index 0000000..73a3505 Binary files /dev/null and b/iwdification/vvc/cdia7115.vvc differ diff --git a/iwdification/vvc/cdid1131.vvc b/iwdification/vvc/cdid1131.vvc new file mode 100644 index 0000000..19b8489 Binary files /dev/null and b/iwdification/vvc/cdid1131.vvc differ diff --git a/iwdification/vvc/cdid1132.vvc b/iwdification/vvc/cdid1132.vvc new file mode 100644 index 0000000..5ce57be Binary files /dev/null and b/iwdification/vvc/cdid1132.vvc differ diff --git a/iwdification/vvc/cdid1133.vvc b/iwdification/vvc/cdid1133.vvc new file mode 100644 index 0000000..cd8416b Binary files /dev/null and b/iwdification/vvc/cdid1133.vvc differ diff --git a/iwdification/vvc/cdid1134.vvc b/iwdification/vvc/cdid1134.vvc new file mode 100644 index 0000000..4c9b0cd Binary files /dev/null and b/iwdification/vvc/cdid1134.vvc differ diff --git a/iwdification/vvc/cdid3200.vvc b/iwdification/vvc/cdid3200.vvc new file mode 100644 index 0000000..5c9f85c Binary files /dev/null and b/iwdification/vvc/cdid3200.vvc differ diff --git a/iwdification/vvc/cdid3201.vvc b/iwdification/vvc/cdid3201.vvc new file mode 100644 index 0000000..2c7531b Binary files /dev/null and b/iwdification/vvc/cdid3201.vvc differ diff --git a/iwdification/vvc/cdid3202.vvc b/iwdification/vvc/cdid3202.vvc new file mode 100644 index 0000000..a1d0904 Binary files /dev/null and b/iwdification/vvc/cdid3202.vvc differ diff --git a/iwdification/vvc/cdid3203.vvc b/iwdification/vvc/cdid3203.vvc new file mode 100644 index 0000000..597a32a Binary files /dev/null and b/iwdification/vvc/cdid3203.vvc differ diff --git a/iwdification/vvc/cdid3204.vvc b/iwdification/vvc/cdid3204.vvc new file mode 100644 index 0000000..67cccc2 Binary files /dev/null and b/iwdification/vvc/cdid3204.vvc differ diff --git a/iwdification/vvc/cdid3205.vvc b/iwdification/vvc/cdid3205.vvc new file mode 100644 index 0000000..102165f Binary files /dev/null and b/iwdification/vvc/cdid3205.vvc differ diff --git a/iwdification/vvc/cdid320x.vvc b/iwdification/vvc/cdid320x.vvc new file mode 100644 index 0000000..25b1aa0 Binary files /dev/null and b/iwdification/vvc/cdid320x.vvc differ diff --git a/iwdification/vvc/cdid320z.vvc b/iwdification/vvc/cdid320z.vvc new file mode 100644 index 0000000..cd47f85 Binary files /dev/null and b/iwdification/vvc/cdid320z.vvc differ diff --git a/iwdification/vvc/cdid3210.vvc b/iwdification/vvc/cdid3210.vvc new file mode 100644 index 0000000..0b9a74b Binary files /dev/null and b/iwdification/vvc/cdid3210.vvc differ diff --git a/iwdification/vvc/cdid3211.vvc b/iwdification/vvc/cdid3211.vvc new file mode 100644 index 0000000..566a29b Binary files /dev/null and b/iwdification/vvc/cdid3211.vvc differ diff --git a/iwdification/vvc/cdid321x.vvc b/iwdification/vvc/cdid321x.vvc new file mode 100644 index 0000000..5899db8 Binary files /dev/null and b/iwdification/vvc/cdid321x.vvc differ diff --git a/iwdification/vvc/cdid323v.vvc b/iwdification/vvc/cdid323v.vvc new file mode 100644 index 0000000..6f7246d Binary files /dev/null and b/iwdification/vvc/cdid323v.vvc differ diff --git a/iwdification/vvc/cdid411v.vvc b/iwdification/vvc/cdid411v.vvc new file mode 100644 index 0000000..dc684f5 Binary files /dev/null and b/iwdification/vvc/cdid411v.vvc differ diff --git a/iwdification/vvc/cdid412v.vvc b/iwdification/vvc/cdid412v.vvc new file mode 100644 index 0000000..f385260 Binary files /dev/null and b/iwdification/vvc/cdid412v.vvc differ diff --git a/iwdification/vvc/cdid4170.vvc b/iwdification/vvc/cdid4170.vvc new file mode 100644 index 0000000..5ef1765 Binary files /dev/null and b/iwdification/vvc/cdid4170.vvc differ diff --git a/iwdification/vvc/cdid4171.vvc b/iwdification/vvc/cdid4171.vvc new file mode 100644 index 0000000..3c5854e Binary files /dev/null and b/iwdification/vvc/cdid4171.vvc differ diff --git a/iwdification/vvc/cdid4172.vvc b/iwdification/vvc/cdid4172.vvc new file mode 100644 index 0000000..976c1f5 Binary files /dev/null and b/iwdification/vvc/cdid4172.vvc differ diff --git a/iwdification/vvc/cdid4173.vvc b/iwdification/vvc/cdid4173.vvc new file mode 100644 index 0000000..1ab3ee9 Binary files /dev/null and b/iwdification/vvc/cdid4173.vvc differ diff --git a/iwdification/vvc/cdid4174.vvc b/iwdification/vvc/cdid4174.vvc new file mode 100644 index 0000000..fa8722b Binary files /dev/null and b/iwdification/vvc/cdid4174.vvc differ diff --git a/iwdification/vvc/cdid4175.vvc b/iwdification/vvc/cdid4175.vvc new file mode 100644 index 0000000..7b5ec16 Binary files /dev/null and b/iwdification/vvc/cdid4175.vvc differ diff --git a/iwdification/vvc/cdid4176.vvc b/iwdification/vvc/cdid4176.vvc new file mode 100644 index 0000000..282418b Binary files /dev/null and b/iwdification/vvc/cdid4176.vvc differ diff --git a/iwdification/vvc/cdid4177.vvc b/iwdification/vvc/cdid4177.vvc new file mode 100644 index 0000000..ed6c0f6 Binary files /dev/null and b/iwdification/vvc/cdid4177.vvc differ diff --git a/iwdification/vvc/cdid4178.vvc b/iwdification/vvc/cdid4178.vvc new file mode 100644 index 0000000..4d1aa71 Binary files /dev/null and b/iwdification/vvc/cdid4178.vvc differ diff --git a/iwdification/vvc/cdid4179.vvc b/iwdification/vvc/cdid4179.vvc new file mode 100644 index 0000000..1d86722 Binary files /dev/null and b/iwdification/vvc/cdid4179.vvc differ diff --git a/iwdification/vvc/cdid417v.vvc b/iwdification/vvc/cdid417v.vvc new file mode 100644 index 0000000..155e884 Binary files /dev/null and b/iwdification/vvc/cdid417v.vvc differ diff --git a/iwdification/vvc/cdid5120.vvc b/iwdification/vvc/cdid5120.vvc new file mode 100644 index 0000000..7cd016f Binary files /dev/null and b/iwdification/vvc/cdid5120.vvc differ diff --git a/iwdification/vvc/cdid5121.vvc b/iwdification/vvc/cdid5121.vvc new file mode 100644 index 0000000..1324181 Binary files /dev/null and b/iwdification/vvc/cdid5121.vvc differ diff --git a/iwdification/vvc/cdid5122.vvc b/iwdification/vvc/cdid5122.vvc new file mode 100644 index 0000000..c7e7295 Binary files /dev/null and b/iwdification/vvc/cdid5122.vvc differ diff --git a/iwdification/vvc/cdid5123.vvc b/iwdification/vvc/cdid5123.vvc new file mode 100644 index 0000000..bb8ac73 Binary files /dev/null and b/iwdification/vvc/cdid5123.vvc differ diff --git a/iwdification/vvc/cdid5124.vvc b/iwdification/vvc/cdid5124.vvc new file mode 100644 index 0000000..29429e8 Binary files /dev/null and b/iwdification/vvc/cdid5124.vvc differ diff --git a/iwdification/vvc/cdid5125.vvc b/iwdification/vvc/cdid5125.vvc new file mode 100644 index 0000000..d55e9aa Binary files /dev/null and b/iwdification/vvc/cdid5125.vvc differ diff --git a/iwdification/vvc/cdid512v.vvc b/iwdification/vvc/cdid512v.vvc new file mode 100644 index 0000000..b8af8a7 Binary files /dev/null and b/iwdification/vvc/cdid512v.vvc differ diff --git a/iwdification/vvc/cdid514y.vvc b/iwdification/vvc/cdid514y.vvc new file mode 100644 index 0000000..559c297 Binary files /dev/null and b/iwdification/vvc/cdid514y.vvc differ diff --git a/iwdification/vvc/cdid514z.vvc b/iwdification/vvc/cdid514z.vvc new file mode 100644 index 0000000..429398e Binary files /dev/null and b/iwdification/vvc/cdid514z.vvc differ diff --git a/iwdification/vvc/cdid609v.vvc b/iwdification/vvc/cdid609v.vvc new file mode 100644 index 0000000..c84082a Binary files /dev/null and b/iwdification/vvc/cdid609v.vvc differ diff --git a/iwdification/vvc/cdid613v.vvc b/iwdification/vvc/cdid613v.vvc new file mode 100644 index 0000000..619e3b5 Binary files /dev/null and b/iwdification/vvc/cdid613v.vvc differ diff --git a/iwdification/vvc/cdid718y.vvc b/iwdification/vvc/cdid718y.vvc new file mode 100644 index 0000000..cda6f05 Binary files /dev/null and b/iwdification/vvc/cdid718y.vvc differ diff --git a/iwdification/vvc/cdid718z.vvc b/iwdification/vvc/cdid718z.vvc new file mode 100644 index 0000000..50618ef Binary files /dev/null and b/iwdification/vvc/cdid718z.vvc differ diff --git a/iwdification/vvc/cdid7200.vvc b/iwdification/vvc/cdid7200.vvc new file mode 100644 index 0000000..7d70bf7 Binary files /dev/null and b/iwdification/vvc/cdid7200.vvc differ diff --git a/iwdification/vvc/cdid7201.vvc b/iwdification/vvc/cdid7201.vvc new file mode 100644 index 0000000..3dea338 Binary files /dev/null and b/iwdification/vvc/cdid7201.vvc differ diff --git a/iwdification/vvc/cdid7202.vvc b/iwdification/vvc/cdid7202.vvc new file mode 100644 index 0000000..0cdeed0 Binary files /dev/null and b/iwdification/vvc/cdid7202.vvc differ diff --git a/iwdification/vvc/cdid7203.vvc b/iwdification/vvc/cdid7203.vvc new file mode 100644 index 0000000..2b1d754 Binary files /dev/null and b/iwdification/vvc/cdid7203.vvc differ diff --git a/iwdification/vvc/cdid7204.vvc b/iwdification/vvc/cdid7204.vvc new file mode 100644 index 0000000..ef9b52e Binary files /dev/null and b/iwdification/vvc/cdid7204.vvc differ diff --git a/iwdification/vvc/cdid7205.vvc b/iwdification/vvc/cdid7205.vvc new file mode 100644 index 0000000..9ee4a0b Binary files /dev/null and b/iwdification/vvc/cdid7205.vvc differ diff --git a/iwdification/vvc/cdid7206.vvc b/iwdification/vvc/cdid7206.vvc new file mode 100644 index 0000000..14d3049 Binary files /dev/null and b/iwdification/vvc/cdid7206.vvc differ diff --git a/iwdification/vvc/cdid7207.vvc b/iwdification/vvc/cdid7207.vvc new file mode 100644 index 0000000..eae8785 Binary files /dev/null and b/iwdification/vvc/cdid7207.vvc differ diff --git a/iwdification/vvc/cdillush.vvc b/iwdification/vvc/cdillush.vvc new file mode 100644 index 0000000..8200d4c Binary files /dev/null and b/iwdification/vvc/cdillush.vvc differ diff --git a/iwdification/vvc/cdinvoch.vvc b/iwdification/vvc/cdinvoch.vvc new file mode 100644 index 0000000..63e8481 Binary files /dev/null and b/iwdification/vvc/cdinvoch.vvc differ diff --git a/iwdification/vvc/cdmonsum.vvc b/iwdification/vvc/cdmonsum.vvc new file mode 100644 index 0000000..56ebc94 Binary files /dev/null and b/iwdification/vvc/cdmonsum.vvc differ diff --git a/iwdification/vvc/cdnecroh.vvc b/iwdification/vvc/cdnecroh.vvc new file mode 100644 index 0000000..4e57089 Binary files /dev/null and b/iwdification/vvc/cdnecroh.vvc differ diff --git a/iwdification/vvc/cdparalh.vvc b/iwdification/vvc/cdparalh.vvc new file mode 100644 index 0000000..0e65ea8 Binary files /dev/null and b/iwdification/vvc/cdparalh.vvc differ diff --git a/iwdification/vvc/cdprayrh.vvc b/iwdification/vvc/cdprayrh.vvc new file mode 100644 index 0000000..1360b46 Binary files /dev/null and b/iwdification/vvc/cdprayrh.vvc differ diff --git a/iwdification/vvc/cdrecith.vvc b/iwdification/vvc/cdrecith.vvc new file mode 100644 index 0000000..8d92f25 Binary files /dev/null and b/iwdification/vvc/cdrecith.vvc differ diff --git a/iwdification/vvc/cdrwofah.vvc b/iwdification/vvc/cdrwofah.vvc new file mode 100644 index 0000000..7757b1a Binary files /dev/null and b/iwdification/vvc/cdrwofah.vvc differ diff --git a/iwdification/vvc/cdsalc.vvc b/iwdification/vvc/cdsalc.vvc new file mode 100644 index 0000000..2a48a84 Binary files /dev/null and b/iwdification/vvc/cdsalc.vvc differ diff --git a/iwdification/vvc/cdsalf.vvc b/iwdification/vvc/cdsalf.vvc new file mode 100644 index 0000000..1914f46 Binary files /dev/null and b/iwdification/vvc/cdsalf.vvc differ diff --git a/iwdification/vvc/cduwardx.vvc b/iwdification/vvc/cduwardx.vvc new file mode 100644 index 0000000..2be34e1 Binary files /dev/null and b/iwdification/vvc/cduwardx.vvc differ diff --git a/iwdification/wav/cdaftp22.wav b/iwdification/wav/cdaftp22.wav new file mode 100644 index 0000000..b0b67e1 Binary files /dev/null and b/iwdification/wav/cdaftp22.wav differ diff --git a/iwdification/wav/cdaftp24.wav b/iwdification/wav/cdaftp24.wav new file mode 100644 index 0000000..0c919f1 Binary files /dev/null and b/iwdification/wav/cdaftp24.wav differ diff --git a/iwdification/wav/cdaftp27.wav b/iwdification/wav/cdaftp27.wav new file mode 100644 index 0000000..880df89 Binary files /dev/null and b/iwdification/wav/cdaftp27.wav differ diff --git a/iwdification/wav/cdarem21.wav b/iwdification/wav/cdarem21.wav new file mode 100644 index 0000000..694a152 Binary files /dev/null and b/iwdification/wav/cdarem21.wav differ diff --git a/iwdification/wav/cdarep03.wav b/iwdification/wav/cdarep03.wav new file mode 100644 index 0000000..0652d71 Binary files /dev/null and b/iwdification/wav/cdarep03.wav differ diff --git a/iwdification/wav/cdarep21.wav b/iwdification/wav/cdarep21.wav new file mode 100644 index 0000000..4089b09 Binary files /dev/null and b/iwdification/wav/cdarep21.wav differ diff --git a/iwdification/wav/cdarep24.wav b/iwdification/wav/cdarep24.wav new file mode 100644 index 0000000..fa6f564 Binary files /dev/null and b/iwdification/wav/cdarep24.wav differ diff --git a/iwdification/wav/cdarep25.wav b/iwdification/wav/cdarep25.wav new file mode 100644 index 0000000..de8e8dd Binary files /dev/null and b/iwdification/wav/cdarep25.wav differ diff --git a/iwdification/wav/cdarep28.wav b/iwdification/wav/cdarep28.wav new file mode 100644 index 0000000..5f53717 Binary files /dev/null and b/iwdification/wav/cdarep28.wav differ diff --git a/iwdification/wav/cdcrep03.wav b/iwdification/wav/cdcrep03.wav new file mode 100644 index 0000000..0835ef1 Binary files /dev/null and b/iwdification/wav/cdcrep03.wav differ diff --git a/iwdification/wav/cdeffe03.wav b/iwdification/wav/cdeffe03.wav new file mode 100644 index 0000000..1347e8c Binary files /dev/null and b/iwdification/wav/cdeffe03.wav differ diff --git a/iwdification/wav/cdeffm47.wav b/iwdification/wav/cdeffm47.wav new file mode 100644 index 0000000..d6c574a Binary files /dev/null and b/iwdification/wav/cdeffm47.wav differ diff --git a/iwdification/wav/cdeffp32.wav b/iwdification/wav/cdeffp32.wav new file mode 100644 index 0000000..2d190fe Binary files /dev/null and b/iwdification/wav/cdeffp32.wav differ diff --git a/iwdification/wav/cdeffp39.wav b/iwdification/wav/cdeffp39.wav new file mode 100644 index 0000000..6097608 Binary files /dev/null and b/iwdification/wav/cdeffp39.wav differ diff --git a/iwdification/wav/cdeffp44.wav b/iwdification/wav/cdeffp44.wav new file mode 100644 index 0000000..104b835 Binary files /dev/null and b/iwdification/wav/cdeffp44.wav differ diff --git a/iwdification/wav/cdeffp99.wav b/iwdification/wav/cdeffp99.wav new file mode 100644 index 0000000..c096dc0 Binary files /dev/null and b/iwdification/wav/cdeffp99.wav differ diff --git a/iwdification/wav/cdffp103.wav b/iwdification/wav/cdffp103.wav new file mode 100644 index 0000000..e237555 Binary files /dev/null and b/iwdification/wav/cdffp103.wav differ diff --git a/iwdification/wav/cdffp104.wav b/iwdification/wav/cdffp104.wav new file mode 100644 index 0000000..5f5b23f Binary files /dev/null and b/iwdification/wav/cdffp104.wav differ diff --git a/iwdification/wav/cdffp105.wav b/iwdification/wav/cdffp105.wav new file mode 100644 index 0000000..5f1697c Binary files /dev/null and b/iwdification/wav/cdffp105.wav differ diff --git a/iwdification/wav/cdffp106.wav b/iwdification/wav/cdffp106.wav new file mode 100644 index 0000000..d9ceb18 Binary files /dev/null and b/iwdification/wav/cdffp106.wav differ diff --git a/iwdification/wav/cdffp111.wav b/iwdification/wav/cdffp111.wav new file mode 100644 index 0000000..7e5ea1f Binary files /dev/null and b/iwdification/wav/cdffp111.wav differ diff --git a/iwdification/wav/cdffp112.wav b/iwdification/wav/cdffp112.wav new file mode 100644 index 0000000..64b8341 Binary files /dev/null and b/iwdification/wav/cdffp112.wav differ diff --git a/iwdification/wav/cdffp113.wav b/iwdification/wav/cdffp113.wav new file mode 100644 index 0000000..b2f2520 Binary files /dev/null and b/iwdification/wav/cdffp113.wav differ diff --git a/iwdification/wav/cdtra_16.wav b/iwdification/wav/cdtra_16.wav new file mode 100644 index 0000000..1fb1321 Binary files /dev/null and b/iwdification/wav/cdtra_16.wav differ diff --git a/iwdification/wav/cdtra_19.wav b/iwdification/wav/cdtra_19.wav new file mode 100644 index 0000000..76f0577 Binary files /dev/null and b/iwdification/wav/cdtra_19.wav differ diff --git a/iwdification/wav/cdtra_57.wav b/iwdification/wav/cdtra_57.wav new file mode 100644 index 0000000..a146e76 Binary files /dev/null and b/iwdification/wav/cdtra_57.wav differ diff --git a/iwdification/wav/cdtra_59.wav b/iwdification/wav/cdtra_59.wav new file mode 100644 index 0000000..04e409f Binary files /dev/null and b/iwdification/wav/cdtra_59.wav differ diff --git a/iwdification/wav/cdtra_60.wav b/iwdification/wav/cdtra_60.wav new file mode 100644 index 0000000..6a42772 Binary files /dev/null and b/iwdification/wav/cdtra_60.wav differ diff --git a/iwdification/wav/cdtra_61.wav b/iwdification/wav/cdtra_61.wav new file mode 100644 index 0000000..5bcae91 Binary files /dev/null and b/iwdification/wav/cdtra_61.wav differ diff --git a/iwdification/xml/c-rifle.xml b/iwdification/xml/c-rifle.xml new file mode 100644 index 0000000..e583995 --- /dev/null +++ b/iwdification/xml/c-rifle.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iwdification/xml/c-swim.xml b/iwdification/xml/c-swim.xml new file mode 100644 index 0000000..8b634c6 --- /dev/null +++ b/iwdification/xml/c-swim.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iwdification/xml/c-xc.xml b/iwdification/xml/c-xc.xml new file mode 100644 index 0000000..a285ef0 --- /dev/null +++ b/iwdification/xml/c-xc.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iwdification/xml/index.xml b/iwdification/xml/index.xml new file mode 100644 index 0000000..5b7d4d6 --- /dev/null +++ b/iwdification/xml/index.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + 1 + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + \ No newline at end of file diff --git a/iwdification/xml/m-golf.xml b/iwdification/xml/m-golf.xml new file mode 100644 index 0000000..7763169 --- /dev/null +++ b/iwdification/xml/m-golf.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iwdification/xml/m-soccer.xml b/iwdification/xml/m-soccer.xml new file mode 100644 index 0000000..7ab201a --- /dev/null +++ b/iwdification/xml/m-soccer.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + 2 + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + \ No newline at end of file diff --git a/iwdification/xml/w-golf.xml b/iwdification/xml/w-golf.xml new file mode 100644 index 0000000..5d421b1 --- /dev/null +++ b/iwdification/xml/w-golf.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iwdification/xml/w-soccer.xml b/iwdification/xml/w-soccer.xml new file mode 100644 index 0000000..cf8068b --- /dev/null +++ b/iwdification/xml/w-soccer.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 11 + 4 + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + \ No newline at end of file diff --git a/iwdification/xml/w-volley.xml b/iwdification/xml/w-volley.xml new file mode 100644 index 0000000..d2dfd59 --- /dev/null +++ b/iwdification/xml/w-volley.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 18 + 2 + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + \ No newline at end of file