/************************************************************************* * Tactics Mod Pack * * http://www.cs.berkeley.edu/~weimer/bgate *************************************************************************/ BACKUP ~tactics2/backup~ // where should we put backup files? // where should tell the user to send email if something goes wrong? AUTHOR "weimer@cs.berkeley.edu (http://www.cs.berkeley.edu/~weimer/bgate)" README ~tactics2/README-Tactics.txt~ VERSION ~v26~ AUTO_TRA ~tactics2/%s~ /////////////////////////////////////////////////////////////////////// // Always // This block is run just before any component is installed. We need // this to make sure that we can compile the BAF files. /////////////////////////////////////////////////////////////////////// ALWAYS // [Azazello] ACTION_IF NOT FILE_EXISTS ~override/action.ids~ THEN BEGIN COPY ~tactics2/ids/action.ids~ ~override/action.ids~ END ACTION_IF NOT FILE_EXISTS ~override/trigger.ids~ THEN BEGIN COPY ~tactics2/ids/trigger.ids~ ~override/trigger.ids~ END ACTION_IF NOT FILE_EXISTS ~override/spell.ids~ THEN BEGIN COPY ~tactics2/ids/spell.ids~ ~override/spell.ids~ END ACTION_IF NOT FILE_EXISTS ~override/race.ids~ THEN BEGIN COPY ~tactics2/ids/race.ids~ ~override/race.ids~ END END /////////////////////////////////////////////////////////////////////// // Language Options // // This section is optional. If you list more than one language, the // user gets a choice. The first argument is the name of the language // as presented to the user, the second is the translation directory // name, and any others are translation files that should be loaded // immediately (e.g., because they contain the translated names of the // modules the user will install). /////////////////////////////////////////////////////////////////////// LANGUAGE ~American English~ ~american~ ~tactics2/american/setup.tra~ ~tactics2/american/ritual.tra~ ~tactics2/american/ilysetup.tra~ ~tactics2/american/titles.tra~ LANGUAGE ~Italiano Linguaggio (tradotto da Luciana Stella Boscaratto)~ ~italian~ ~tactics2/american/setup.tra~ ~tactics2/italian/setup.tra~ ~tactics2/american/ritual.tra~ ~tactics2/italian/ritual.tra~ ~tactics2/american/ilysetup.tra~ ~tactics2/italian/ilysetup.tra~ ~tactics2/american/titles.tra~ ~tactics2/italian/titles.tra~ LANGUAGE ~Deutsche Sprache (Übersetzung durch Falk Swoboda & Max Winkelmann & Tanis Eichenblatt)~ ~german~ ~tactics2/american/setup.tra~ ~tactics2/german/setup.tra~ ~tactics2/american/ritual.tra~ ~tactics2/german/ritual.tra~ ~tactics2/american/ilysetup.tra~ ~tactics2/german/ilysetup.tra~ ~tactics2/american/titles.tra~ ~tactics2/german/titles.tra~ LANGUAGE ~Francais (traduction de Ly Meng, Laurent Duvernet et Cocobard)~ ~french~ ~tactics2/american/setup.tra~ ~tactics2/french/setup.tra~ ~tactics2/american/ritual.tra~ ~tactics2/french/ritual.tra~ ~tactics2/american/ilysetup.tra~ ~tactics2/french/ilysetup.tra~ ~tactics2/american/titles.tra~ ~tactics2/french/titles.tra~ LANGUAGE ~Traducción al Espańol (hecha por Clan REO)~ "spanish" ~tactics2/american/setup.tra~ ~tactics2/spanish/setup.tra~ ~tactics2/american/ritual.tra~ ~tactics2/spanish/ritual.tra~ ~tactics2/american/ilysetup.tra~ ~tactics2/spanish/ilysetup.tra~ ~tactics2/american/titles.tra~ ~tactics2/spanish/titles.tra~ LANGUAGE ~Jezyk polski (tlumaczenie Damian Staniszewski)~ ~polski~ ~tactics2/american/setup.tra~ ~tactics2/polski/setup.tra~ ~tactics2/american/ritual.tra~ ~tactics2/polski/ritual.tra~ ~tactics2/american/ilysetup.tra~ ~tactics2/polski/ilysetup.tra~ ~tactics2/american/titles.tra~ ~tactics2/polski/titles.tra~ LANGUAGE ~Chinese (translation by kalabaka, KillMercy)~ ~chinese~ ~tactics2/american/setup.tra~ ~tactics2/chinese/setup.tra~ ~tactics2/american/ritual.tra~ ~tactics2/chinese/ritual.tra~ ~tactics2/american/ilysetup.tra~ ~tactics2/chinese/ilysetup.tra~ ~tactics2/american/titles.tra~ ~tactics2/chinese/titles.tra~ LANGUAGE ~Russian (translation by Serdrick, Alina, AERIE.ru)~ ~russian~ ~tactics2/american/setup.tra~ ~tactics2/russian/setup.tra~ ~tactics2/american/ritual.tra~ ~tactics2/russian/ritual.tra~ ~tactics2/american/ilysetup.tra~ ~tactics2/russian/ilysetup.tra~ ~tactics2/american/titles.tra~ ~tactics2/russian/titles.tra~ /////////////////////////////////////////////////////////////////////// // Now list the packages within this module. Each package starts with // BEGIN ~name~ and then a list of commands. If the user decides to // install this package, the commands are executed. /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Improved Ilyich /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4000 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPILYICH.SPL" ~Skipping Component installation -- already included with Big Picture mod~ // [Azazello] Prevent installation if BGT is installed REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BGT/bg1.tra" ~Skipping Component installation -- this conflicts with BG Trilogy (BGT)~ ACTION_IF NOT FILE_EXISTS ~Data/25Dialog.bif~ THEN BEGIN PRINT @4001 END ELSE BEGIN UNINSTALL ~SETUP-ILYICH.TP2~ 0 COPY ~tactics2/ilyich/ily6.cre~ ~override/ily6.cre~ ~tactics2/ilyich/ulvaryl.cre~ ~override/ulvaryl.cre~ /* ~tactics2/ilyich/ilythf1.cre~ ~override/ilyth.cre~ ~tactics2/ilyich/ilythf1.cre~ ~override/ilythf01.cre~ */ ~tactics2/ilyich/iotyugh.cre~ ~override/iotyugh.cre~ ~tactics2/ilyich/ilymoose.cre~ ~override/ilymoose.cre~ COPY ~tactics2/ilyich/ilyprole.cre~ ~override/ilyth.cre~ ~tactics2/ilyich/ilyprole.cre~ ~override/ilythf01.cre~ SAY NAME1 @5011 SAY NAME2 @5011 WRITE_LONG 0x14 2000 WRITE_ASCII 0x268 ~ilyprole~ #8 COMPILE ~tactics2/ilyich/ilyprole.baf~ COPY ~tactics2/ilyich/ilyparty.cre~ ~override/ilyparty.cre~ SAY NAME1 @5012 SAY NAME2 @5012 WRITE_LONG 0x14 2000 COPY ~tactics2/ilyich/ilyhamm.itm~ ~override/ilyhamm.itm~ SAY 0x54 @5013 COMPILE ~tactics2/ilyich/mephsp01.baf~ ~tactics2/ilyich/mephsp02.baf~ ~tactics2/ilyich/mephsp03.baf~ ~tactics2/ilyich/mephsp04.baf~ ~tactics2/ilyich/ily1.baf~ ~tactics2/ilyich/ily2.baf~ ~tactics2/ilyich/ily3.baf~ ~tactics2/ilyich/iotyugh.baf~ ~tactics2/ilyich/ilythf1.baf~ ~tactics2/ilyich/ilypat.baf~ ~tactics2/ilyich/ilygroup.baf~ COPY_EXISTING ~dogwar01.cre~ ~override/ilydogsu.cre~ WRITE_ASCII 0x248 ~ilygroup~ #8 COPY ~tactics2/ilyich/ily1.cre~ ~override/ily1.cre~ SAY NAME1 @5001 SAY NAME2 @5001 WRITE_ASCII 0x2cc ~ily1~ #8 WRITE_ASCII 0x34 ~~ #8 COPY ~tactics2/ilyich/ily2.cre~ ~override/ily2.cre~ SAY NAME1 @5002 SAY NAME2 @5002 WRITE_ASCII 0x2cc ~ily2~ #8 WRITE_ASCII 0x34 ~~ #8 COPY ~tactics2/ilyich/ily3.cre~ ~override/ily3.cre~ SAY NAME1 @5003 SAY NAME2 @5003 WRITE_ASCII 0x2cc ~ily3~ #8 WRITE_ASCII 0x34 ~~ #8 COPY ~tactics2/ilyich/ily4.cre~ ~override/ily4.cre~ SAY NAME1 @5004 SAY NAME2 @5004 WRITE_ASCII 0x2cc ~ily4~ #8 WRITE_ASCII 0x34 ~~ #8 COPY ~tactics2/ilyich/ily5.cre~ ~override/ily5.cre~ SAY NAME1 @5005 SAY NAME2 @5005 WRITE_ASCII 0x2cc ~ily5~ #8 WRITE_ASCII 0x34 ~~ #8 COPY ~tactics2/ilyich/ily1.spl~ ~override/ily1.spl~ SAY NAME1 @5006 SAY NAME2 @5006 COMPILE ~tactics2/ilyich/ily.d~ USING ~tactics2/american/ily.tra~ ~tactics2/%s/ily.tra~ ACTION_IF FILE_EXISTS ~override/AR0602.ARE~ AND ( NOT FILE_SIZE ~override/AR0602.ARE~ 47628 ) THEN BEGIN PRINT @4002 COPY_EXISTING ~ar0602.are~ ~override/ar0602.are~ REPLACE_TEXTUALLY ~rdgob~ ~ilyth~ WRITE_ASCII 0xb2c ~ily1~ #8 WRITE_ASCII 0xc3c ~ily2~ #8 WRITE_ASCII 0xd4c ~ily3~ #8 WRITE_ASCII 0xe5c ~ily4~ #8 WRITE_ASCII 0x129c ~ily5~ #8 WRITE_ASCII 0x13ac ~ily6~ #8 END ELSE BEGIN COPY_EXISTING ~ar0602.are~ ~override/ar0602.are~ WRITE_ASCII 0xb2c ~ily1~ #8 WRITE_ASCII 0xc3c ~ily2~ #8 WRITE_ASCII 0xd4c ~ily3~ #8 WRITE_ASCII 0xe5c ~ily4~ #8 WRITE_ASCII 0x129c ~ily5~ #8 WRITE_ASCII 0x13ac ~ily6~ #8 // spawn point rewrites // WRITE_ASCII 0x41e8 ~ilythf01ilythf01~ WRITE_ASCII 0x41e8 ~ilydogsuilydogsu~ WRITE_SHORT 0x4238 2 WRITE_SHORT 0x424a 2 // WRITE_ASCII 0x42b0 ~ilythf01ilythf01~ WRITE_ASCII 0x42b0 ~ilydogsuilydogsu~ WRITE_SHORT 0x4300 2 WRITE_SHORT 0x4312 2 // WRITE_ASCII 0x4440 ~ilythf01ilythf01~ WRITE_ASCII 0x4440 ~ilydogsuilydogsu~ WRITE_SHORT 0x4490 2 WRITE_SHORT 0x44a2 2 // WRITE_ASCII 0x4698 ~ilythf01ilythf01~ WRITE_ASCII 0x4698 ~ilydogsuilydogsu~ WRITE_SHORT 0x46e8 2 WRITE_SHORT 0x46fa 2 // WRITE_ASCII 0x4760 ~ilythf01ilythf01~ WRITE_ASCII 0x4760 ~ilydogsuilydogsu~ WRITE_SHORT 0x47b0 2 WRITE_SHORT 0x47c2 2 // doors! WRITE_ASCII 0x8900 ~ilydoor~ #8 WRITE_ASCII 0x89c8 ~ilydoor~ #8 WRITE_ASCII 0x8a90 ~ilydoor~ #8 WRITE_ASCII 0x8b58 ~ilydoor~ #8 WRITE_ASCII 0x8c20 ~ilydoor~ #8 WRITE_ASCII 0x8ce8 ~ilydoor~ #8 WRITE_ASCII 0x8db0 ~ilydoor~ #8 WRITE_ASCII 0x8e78 ~ilydoor~ #8 WRITE_ASCII 0x8f40 ~ilydoor~ #8 WRITE_ASCII 0x9008 ~ilydoor~ #8 WRITE_ASCII 0x90d0 ~ilydoor~ #8 WRITE_ASCII 0x9198 ~ilydoor~ #8 WRITE_ASCII 0x9260 ~ilydoor~ #8 WRITE_ASCII 0x9328 ~ilydoor~ #8 WRITE_ASCII 0x93f0 ~ilydoor~ #8 WRITE_ASCII 0x94b8 ~ilydoor~ #8 WRITE_ASCII 0x9580 ~ilydoor~ #8 WRITE_ASCII 0x9648 ~ilydoor~ #8 WRITE_ASCII 0x9710 ~ilydoor~ #8 WRITE_ASCII 0x97d8 ~ilydoor~ #8 WRITE_ASCII 0x98a0 ~ilydoor~ #8 COMPILE ~tactics2/ilyich/ilydoor.baf~ END ACTION_IF FILE_EXISTS ~override/AR0603.ARE~ AND ( NOT FILE_SIZE ~override/AR0603.ARE~ 35608 ) THEN BEGIN PRINT @4003 COPY_EXISTING ~ar0603.are~ ~override/ar0603.are~ REPLACE_TEXTUALLY ~rdgob~ ~ilyth~ END ELSE BEGIN COPY_EXISTING ~ar0603.are~ ~override/ar0603.are~ // spawn point rewrites // WRITE_ASCII 0x457c ~ilythf01ilythf01~ WRITE_ASCII 0x457c ~ilythf01ilyparty~ WRITE_SHORT 0x45cc 2 WRITE_SHORT 0x45de 2 // spawn point rewrites // WRITE_ASCII 0x470c ~ilythf01ilythf01~ WRITE_ASCII 0x470c ~ilythf01ilyparty~ WRITE_SHORT 0x475c 2 WRITE_SHORT 0x476e 2 END EXTEND_BOTTOM ~AR0602.BCS~ ~tactics2/ilyich/norest.baf~ EXTEND_BOTTOM ~AR0602.BCS~ ~tactics2/ilyich/arrows.baf~ EXTEND_BOTTOM ~AR0603.BCS~ ~tactics2/ilyich/norest.baf~ COMPILE ~tactics2/ilyich/devaevil.baf~ COPY_EXISTING ~devaevil.cre~ ~override/devaevil.cre~ WRITE_ASCII 0x248 ~devaevil~ #8 WRITE_ASCII 0x480 ~SPWI508~ // Remove Fear -> Chaos WRITE_ASCII 0x48c ~SPWI508~ // Remove Fear -> Chaos WRITE_ASCII 0x498 ~SPWI508~ // Remove Fear -> Chaos WRITE_ASCII 0x4a4 ~SPPR514~ // Remove Curse -> Mass Cure WRITE_ASCII 0x4b0 ~SPPR514~ // Remove Curse -> Mass Cure WRITE_ASCII 0x4bc ~SPPR514~ // Remove Curse -> Mass Cure WRITE_ASCII 0x4c8 ~SPPR610~ // Cure Disease -> Dolorous Decay WRITE_ASCII 0x4d4 ~SPPR610~ // Cure Disease -> Dolorous Decay WRITE_ASCII 0x4e0 ~SPPR610~ // Cure Disease -> Dolorous Decay WRITE_ASCII 0x4ec ~SPPR314~ // Dispel Magic -> Unholy Blight WRITE_ASCII 0x4f8 ~SPPR314~ // Dispel Magic -> Unholy Blight WRITE_ASCII 0x504 ~SPPR314~ // Dispel Magic -> Unholy Blight WRITE_ASCII 0x510 ~SPPR405~ // Neutralize Poison -> Mental Dom WRITE_ASCII 0x51c ~SPPR405~ // Neutralize Poison -> Mental Dom WRITE_ASCII 0x528 ~SPPR405~ // Neutralize Poison -> Mental Dom WRITE_ASCII 0x534 ~SPPR514~ // CCW -> Mass Cure WRITE_ASCII 0x540 ~SPPR514~ // CCW -> Mass Cure WRITE_ASCII 0x54c ~SPPR514~ // CCW -> Mass Cure WRITE_ASCII 0x558 ~SPPR705~ // GOB -> Firestorm WRITE_ASCII 0x564 ~SPPR705~ // GOB -> Firestorm WRITE_ASCII 0x570 ~SPPR705~ // GOB -> Firestorm COPY ~tactics2/ilyich/misc4n.itm~ ~override/misc4n.itm~ SAY DESC @5010 END /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // The Ritual /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4004 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "ar0088.are" ~Skipping Component installation -- already included with Big Picture mod~ ACTION_IF NOT FILE_EXISTS ~Data/25Dialog.bif~ THEN BEGIN PRINT @4001 END ELSE BEGIN UNINSTALL ~SETUP-RITUAL.TP2~ 0 COMPILE ~tactics2/ritual/ritkt1.baf~ ~tactics2/ritual/ritac1.baf~ ~tactics2/ritual/ritkm1.baf~ ~tactics2/ritual/ritd1.baf~ ~tactics2/ritual/ritend.baf~ ~tactics2/ritual/ritb1.baf~ ~tactics2/ritual/ritd1.baf~ ~tactics2/ritual/ritw1.baf~ ~tactics2/ritual/riti1.baf~ ~tactics2/ritual/rits1.baf~ ~tactics2/ritual/ritskul1.baf~ ~tactics2/ritual/ritpont.baf~ ~tactics2/ritual/ritdrag.baf~ ~tactics2/ritual/ar0086.baf~ ~tactics2/ritual/ritual.baf~ ~tactics2/ritual/ritcount.baf~ ~tactics2/ritual/ritguard.baf~ COPY ~tactics2/ritual/ritskul1.spl~ ~override/ritskul1.spl~ ~tactics2/ritual/ar0086.are~ ~override/ar0086.are~ ~tactics2/ritual/ritwolf.cre~ ~override/ritwolf.cre~ ~tactics2/ritual/ritbear.cre~ ~override/ritbear.cre~ ~tactics2/ritual/ritlion.cre~ ~override/ritlion.cre~ ~tactics2/ritual/ritgol.itm~ ~override/ritgol.itm~ ~tactics2/ritual/ritgol3.cre~ ~override/ritgol3.cre~ ~tactics2/ritual/ritamul.spl~ ~override/ritamul.spl~ COPY ~tactics2/ritual/ritkt1.cre~ ~override/ritkt1.cre~ SAY NAME1 @8881 SAY NAME2 @8881 COPY ~tactics2/ritual/ritac1.cre~ ~override/ritac1.cre~ SAY NAME1 @8882 SAY NAME2 @8882 COPY ~tactics2/ritual/ritkm1.cre~ ~override/ritkm1.cre~ SAY NAME1 @8883 SAY NAME2 @8883 COPY ~tactics2/ritual/ritd1.cre~ ~override/ritd1.cre~ SAY NAME1 @8884 SAY NAME2 @8884 COPY ~tactics2/ritual/ritend.cre~ ~override/ritend.cre~ SAY NAME1 @8885 SAY NAME2 @8885 COPY ~tactics2/ritual/ritb1.cre~ ~override/ritb1.cre~ SAY NAME1 @8886 SAY NAME2 @8886 COPY ~tactics2/ritual/ritw1.cre~ ~override/ritw1.cre~ SAY NAME1 @8887 SAY NAME2 @8887 COPY ~tactics2/ritual/ritsf1.cre~ ~override/ritsf1.cre~ SAY NAME1 @8888 SAY NAME2 @8888 COPY ~tactics2/ritual/riti1.cre~ ~override/riti1.cre~ SAY NAME1 @8889 SAY NAME2 @8889 COPY ~tactics2/ritual/ritm1.cre~ ~override/ritm1.cre~ SAY NAME1 @88810 SAY NAME2 @88810 COPY ~tactics2/ritual/rits1.cre~ ~override/rits1.cre~ SAY NAME1 @88811 SAY NAME2 @88811 COPY ~tactics2/ritual/ritskul1.cre~ ~override/ritskul1.cre~ SAY NAME1 @88812 SAY NAME2 @88812 COPY ~tactics2/ritual/ritpont.cre~ ~override/ritpont.cre~ SAY NAME1 @88813 SAY NAME2 @88813 COPY ~tactics2/ritual/ritguard.cre~ ~override/ritguard.cre~ SAY NAME1 @88814 SAY NAME2 @88814 COPY ~tactics2/ritual/ritcount.cre~ ~override/ritcount.cre~ SAY NAME1 @88820 SAY NAME2 @88820 COPY ~tactics2/ritual/ritgol0.cre~ ~override/ritgol0.cre~ SAY NAME1 @88817 SAY NAME2 @88817 COPY ~tactics2/ritual/ritgol1.cre~ ~override/ritgol1.cre~ SAY NAME1 @88818 SAY NAME2 @88818 COPY ~tactics2/ritual/ritgol2.cre~ ~override/ritgol2.cre~ SAY NAME1 @88819 SAY NAME2 @88819 COPY ~tactics2/ritual/ritual.spl~ ~override/ritual.spl~ SAY NAME1 @88824 SAY NAME2 @88824 COPY ~tactics2/ritual/ritdrag.cre~ ~override/ritdrag.cre~ SAY NAME1 @88826 SAY NAME2 @88826 COPY ~tactics2/ritual/ritamul.itm~ ~override/ritamul.itm~ SAY NAME2 @88850 SAY DESC @88851 WRITE_SHORT 0x42 0 COPY ~tactics2/ritual/ritdrag.spl~ ~override/ritdrag.spl~ COPY ~tactics2/ritual/mysboot.itm~ ~override/mysboot.itm~ SAY NAME2 @888802 SAY DESC @888803 COPY ~tactics2/ritual/ritdrag.itm~ ~override/ritdrag.itm~ SAY NAME2 @888110 SAY DESC @888111 COMPILE ~tactics2/ritual/ritpont.d~ USING ~tactics2/american/ritpont.tra~ ~tactics2/%s/ritpont.tra~ COMPILE ~tactics2/ritual/ritcount.d~ USING ~tactics2/american/ritcount.tra~ ~tactics2/%s/ritcount.tra~ COMPILE ~tactics2/ritual/ritlead.d~ USING ~tactics2/american/ritlead.tra~ ~tactics2/%s/ritlead.tra~ EXTEND_BOTTOM ~ar3000.bcs~ ~tactics2/ritual/rit3000.baf~ COPY_EXISTING ~wolfspir.itm~ ~override/wolfspir.itm~ ~bearspir.itm~ ~override/bearspir.itm~ ~lionspir.itm~ ~override/lionspir.itm~ WRITE_BYTE 0xbc 0 // no blur -- bugfix BUT_ONLY_IF_IT_CHANGES END /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Improved TorGal~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4005 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 //COPY ~tactics2/torgal/copy~ ~override~ COPY ~tactics2/torgal/copy/trolsi01.cre~ ~override~ COPY ~tactics2/torgal/copy/torgal.cre~ ~override~ COPY_EXISTING ~AR1300.are~ ~override~ READ_LONG 0x60 "spawns_offset" READ_LONG 0x64 "spawns_num" FOR( cnt=0; cnt<"%spawns_num%"; cnt=cnt+1 ) BEGIN //spawns loop READ_ASCII ("%spawns_offset%"+0xc8*cnt) "spawn_name" (13) PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 2")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 3")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) WRITE_ASCII offset+0x2c ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 4")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) WRITE_ASCII offset+0x2c ~~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 5")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 6")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END END BUT_ONLY COPY_EXISTING ~AR1301.are~ ~override~ READ_LONG 0x54 "actors_offset" READ_SHORT 0x58 "actors_num" FOR( cnt=0; cnt<"%actors_num%"; cnt=cnt+1 ) BEGIN //actors loop READ_ASCII ("%actors_offset%"+0x110*cnt) "actor_name" (13) PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Troll")=1) BEGIN SET offset = ("%actors_offset%"+0x110*cnt) WRITE_ASCII offset+0x80 ~TROLSI01~ (8) END PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Giant Troll")=1) BEGIN SET offset = ("%actors_offset%"+0x110*cnt) WRITE_ASCII offset+0x68 ~~ (8) WRITE_ASCII offset+0x78 ~~ (8) WRITE_ASCII offset+0x80 ~TROLSI01~ (8) END END BUT_ONLY COPY_EXISTING ~AR1302.are~ ~override~ READ_LONG 0x60 "spawns_offset" READ_LONG 0x64 "spawns_num" FOR( cnt=0; cnt<"%spawns_num%"; cnt=cnt+1 ) BEGIN //spawns loop READ_ASCII ("%spawns_offset%"+0xc8*cnt) "spawn_name" (13) PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 1")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 4")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END END BUT_ONLY COPY_EXISTING ~AR1303.are~ ~override~ READ_LONG 0x60 "spawns_offset" READ_LONG 0x64 "spawns_num" FOR( cnt=0; cnt<"%spawns_num%"; cnt=cnt+1 ) BEGIN //spawns loop READ_ASCII ("%spawns_offset%"+0xc8*cnt) "spawn_name" (13) PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 1")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 3")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 4")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 5")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 6")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 7")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 8")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~TROLSI01~ (8) END END BUT_ONLY COMPILE ~tactics2/torgal/scripts~ COPY ~tactics2/torgal/trolltor.itm~ ~override/trolltor.itm~ SAY NAME2 @120 SAY DESC @121 EXTEND_TOP ~AR1301.BCS~ ~tactics2/torgal/ar1301.baf~ // adjust XP values COPY_EXISTING ~TROLGI02.CRE~ ~override/trolgi02.cre~ WRITE_LONG 0x14 5000 COPY_EXISTING ~TROLSI02.CRE~ ~override/trolsi02.cre~ WRITE_LONG 0x14 12000 /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Improved Sahuagin City~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4006 UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COPY ~tactics2/sahu/copy~ ~override~ COMPILE ~tactics2/sahu/impsahp.baf~ ~tactics2/sahu/impsaha.baf~ ~tactics2/sahu/impsahu.baf~ COPY ~tactics2/sahu/impsaha.itm~ ~override/impsaha.itm~ SAY 0x1fe @201 // swallowed whole! COPY ~tactics2/sahu/impsaha.cre~ ~override/impsaha.cre~ SAY NAME1 @202 SAY NAME2 @202 /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Improved Bodhi /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4007 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 9 COPY ~tactics2/bodhi/c6bodhi.cre~ ~override/c6bodhi.cre~ ~tactics2/bodhi/bodhi2.cre~ ~override/bodhi2.cre~ ~tactics2/bodhi/bodhi.itm~ ~override/bodhi.itm~ COMPILE ~tactics2/bodhi/c6bodhi.baf~ COPY ~tactics2/bodhi/ibodhi1.spl~ ~override/ibodhi1.spl~ SAY NAME1 @101 SAY NAME2 @101 COPY ~tactics2/bodhi/ibodhi2.spl~ ~override/ibodhi2.spl~ SAY NAME1 @102 SAY NAME2 @102 COPY ~tactics2/bodhi/ibodhi3.spl~ ~override/ibodhi3.spl~ SAY NAME1 @103 SAY NAME2 @103 COPY ~tactics2/bodhi/ibodhi4.spl~ ~override/ibodhi4.spl~ SAY NAME1 @104 SAY NAME2 @104 COPY ~tactics2/bodhi/ibodhi5.spl~ ~override/ibodhi5.spl~ SAY NAME1 @105 SAY NAME2 @105 COPY ~tactics2/bodhi/ibodhi6.spl~ ~override/ibodhi6.spl~ SAY NAME1 @106 SAY NAME2 @106 COPY ~tactics2/bodhi/ibodhi7d.spl~ ~override/ibodhi7d.spl~ SAY NAME1 @107 SAY NAME2 @107 COPY ~tactics2/bodhi/ibodhi8.spl~ ~override/ibodhi8.spl~ SAY NAME1 @999110 SAY NAME2 @999110 COMPILE ~tactics2/bodhi/impbodhi.d~ USING ~tactics2/american/impbodhi.tra~ ~tactics2/%s/impbodhi.tra~ COPY_EXISTING ~BODTAN.cre~ ~override/impbod1.cre~ SAY NAME1 @108 SAY NAME2 @108 WRITE_ASCII 0x248 ~MAGE16C~ #8 WRITE_ASCII 0x250 ~VAMPIR01~ COPY_EXISTING ~BODTAN.cre~ ~override/impbod2.cre~ SAY NAME1 @109 SAY NAME2 @109 WRITE_ASCII 0x248 ~MAGE16C~ #8 WRITE_ASCII 0x250 ~VAMPIR01~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Improved Irenicus /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4008 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 11 COPY ~tactics2/ii/spl/ii0.spl~ ~override/ii0.spl~ SAY NAME1 @142 SAY NAME2 @142 SAY 0xfe @143 COPY ~tactics2/ii/spl/ii1.spl~ ~override/ii1.spl~ SAY NAME1 @144 SAY NAME2 @144 COPY ~tactics2/ii/cre/ii0.cre~ ~override/ii0.cre~ COPY ~tactics2/ii/cre/ii1.cre~ ~override/ii1.cre~ SAY NAME1 @145 SAY NAME2 @145 COPY ~tactics2/ii/cre/ii2.cre~ ~override/ii2.cre~ SAY NAME1 @146 SAY NAME2 @146 COPY ~tactics2/ii/cre/ii3.cre~ ~override/ii3.cre~ SAY NAME1 @147 SAY NAME2 @147 COPY ~tactics2/ii/cre/ii4.cre~ ~override/ii4.cre~ SAY NAME1 @148 SAY NAME2 @148 COPY ~tactics2/ii/cre/ii5.cre~ ~override/ii5.cre~ SAY NAME1 @149 SAY NAME2 @149 COPY ~tactics2/ii/cre/ii6.cre~ ~override/ii6.cre~ SAY NAME1 @150 SAY NAME2 @150 EXTEND_TOP ~ar2900.bcs~ ~tactics2/ii/bcs/ar2900.baf~ EXTEND_TOP ~sujon.bcs~ ~tactics2/ii/bcs/sujon.baf~ COMPILE ~tactics2/ii/bcs/cut85a.baf~ ~tactics2/ii/bcs/cut85b.baf~ ~tactics2/ii/bcs/cut85c.baf~ ~tactics2/ii/bcs/cutii0.baf~ ~tactics2/ii/bcs/cutii1.baf~ ~tactics2/ii/bcs/cutii2.baf~ ~tactics2/ii/bcs/ii0.baf~ ~tactics2/ii/bcs/ii1.baf~ ~tactics2/ii/bcs/ii2.baf~ ~tactics2/ii/bcs/ii3.baf~ ~tactics2/ii/bcs/ii4.baf~ ~tactics2/ii/bcs/ii5.baf~ ~tactics2/ii/bcs/ii6.baf~ COPY ~tactics2/ii/itm~ ~override~ COMPILE ~tactics2/ii/helljon.d~ ~tactics2/ii/ii5.d~ USING ~tactics2/american/ii5.tra~ ~tactics2/%s/ii5.tra~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Improved Guarded Compound /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4009 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 2 COMPILE ~tactics2/gc/hlketta.baf~ ~tactics2/gc/hlsion.baf~ ~tactics2/gc/hlstal.baf~ ~tactics2/gc/hlthug.baf~ ~tactics2/gc/hlkoshi.baf~ ~tactics2/gc/ar0907.baf~ COPY ~tactics2/gc/hlmafer.cre~ ~override/hlmafer.cre~ ~tactics2/gc/hlkoshi.cre~ ~override/hlkoshi.cre~ ~tactics2/gc/hlolaf.cre~ ~override/hlolaf.cre~ ~tactics2/gc/hlsion.cre~ ~override/hlsion.cre~ ~tactics2/gc/hlstal.cre~ ~override/hlstal.cre~ ~tactics2/gc/scrl3i.itm~ ~override/scrl3i.itm~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Improved Twisted Rune /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4010 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 3 COMPILE ~tactics2/rune/hlshang.baf~ ~tactics2/rune/hllayen.baf~ ~tactics2/rune/hlrevan.baf~ ~tactics2/rune/ar1008.baf~ COPY ~tactics2/rune/hllayen.cre~ ~override/hllayen.cre~ ~tactics2/rune/hlrevan.cre~ ~override/hlrevan.cre~ ~tactics2/rune/spcl998.spl~ ~override/spcl998.spl~ // SOTM Spell Trap COPY_EXISTING ~hlshang.cre~ ~override/hlshang.cre~ WRITE_BYTE 0x54 8 WRITE_BYTE 0x55 3 WRITE_BYTE 0x56 5 WRITE_BYTE 0x57 7 WRITE_BYTE 0x58 4 WRITE_ASCII 0x250 ~HLSHANG~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // "Kuroisan", the Acid Kensai~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4011 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "solak1.cre" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COPY ~tactics2/kuroisan/solak1b.itm~ ~override/solak1b.itm~ COMPILE ~tactics2/kuroisan/solak1.baf~ COPY ~tactics2/kuroisan/solak1.cre~ ~override/solak1.cre~ SAY NAME1 @70 SAY NAME2 @70 COPY ~tactics2/kuroisan/solak1.spl~ ~override/solak1.spl~ SAY NAME1 @71 SAY NAME2 @71 COPY ~tactics2/kuroisan/solak1.itm~ ~override/solak1.itm~ SAY NAME2 @72 SAY DESC @9973 EXTEND_TOP ~baldur.bcs~ ~tactics2/kuroisan/solak1me.baf~ ACTION_IF FILE_EXISTS ~Data/25Dialog.bif~ THEN BEGIN EXTEND_TOP ~baldur25.bcs~ ~tactics2/kuroisan/solak1me.baf~ END COMPILE ~tactics2/kuroisan/solak1.d~ USING ~tactics2/american/solak1.tra~ ~tactics2/%s/solak1.tra~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // "Red Badge" Poison-Based Encounter~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4012 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "SOLA0002.ARE" ~Skipping Component installation -- already included with Big Picture mod~ ACTION_IF NOT FILE_EXISTS ~Data/25Dialog.bif~ THEN BEGIN PRINT @4001 END ELSE BEGIN UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COMPILE ~tactics2/redbadge/solasna1.baf~ ~tactics2/redbadge/solasna2.baf~ ~tactics2/redbadge/solasna3.baf~ ~tactics2/redbadge/solasna4.baf~ ~tactics2/redbadge/sola0002.baf~ COPY ~tactics2/redbadge/solasna1.itm~ ~override/solasna1.itm~ ~tactics2/redbadge/solasna3.itm~ ~override/solasna3.itm~ ~tactics2/redbadge/solasna4.itm~ ~override/solasna4.itm~ ~tactics2/redbadge/sola0002.are~ ~override/sola0002.are~ // The Red Badge Foes COPY ~tactics2/redbadge/solasna1.cre~ ~override/solasna1.cre~ SAY NAME1 @60 SAY NAME2 @60 COPY ~tactics2/redbadge/solasna2.cre~ ~override/solasna2.cre~ SAY NAME1 @61 SAY NAME2 @61 COPY ~tactics2/redbadge/solasna3.cre~ ~override/solasna3.cre~ SAY NAME1 @62 SAY NAME2 @62 COPY ~tactics2/redbadge/solasna4.cre~ ~override/solasna4.cre~ SAY NAME1 @63 SAY NAME2 @63 COPY ~tactics2/redbadge/solasna5.cre~ ~override/solasna5.cre~ SAY NAME1 @64 SAY NAME2 @64 COPY ~tactics2/redbadge/solasna5.itm~ ~override/solasna5.itm~ SAY NAME2 @65 SAY DESC @66 COMPILE ~tactics2/redbadge/solasna1.d~ USING ~tactics2/american/solasna1.tra~ ~tactics2/%s/solasna1.tra~ EXTEND_TOP ~ar3000.bcs~ ~tactics2/redbadge/solasnak.baf~ // red badge END /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Gebhard Blucher's Improved Mae'Var~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4013 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 EXTEND_TOP ~AR0301.bcs~ ~tactics2/gbmaevar/add0301.baf~ COPY ~tactics2/gbmaevar/copy~ ~override~ COMPILE ~tactics2/gbmaevar/scripts~ COPY ~tactics2/gbmaevar/TSMaePet.cre~ ~override/TSMaePet.cre~ SAY NAME1 @93 SAY NAME2 @93 /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Gebhard Blucher's Lich in the Docks~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4014 // [Azazello] FORBID_COMPONENT ~SETUP-BPV180.TP2~ ~9~ ~Do not install this Component - already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COPY ~tactics2/gblich/copy~ ~override~ ~tactics2/mages/wwundead.spl~ ~override/wwundead.spl~ COMPILE ~tactics2/gblich/scripts~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Gebhard Blucher's Improved Demon Knights~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4015 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COPY ~tactics2/gbdemon/copy~ ~override~ COMPILE ~tactics2/gbdemon/scripts~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Kensai Ryu's Tougher Kangaxx~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4016 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "KRDUALWF.cre" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COPY ~tactics2/krkang/copy~ ~override~ ~tactics2/mages/wwundead.spl~ ~override/wwundead.spl~ ACTION_IF FILE_EXISTS ~override/ar0330.bcs~ THEN BEGIN EXTEND_TOP ~AR0330.bcs~ ~tactics2/krkang/ar0330.bcs~ END ELSE BEGIN COPY ~tactics2/krkang/ar0330.bcs~ ~override/ar0330.bcs~ END /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Kensai Ryu's Gnome Fighter/Illusionist in the Docks~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4017 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "KRFAM01.cre" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 ACTION_IF FILE_EXISTS ~override/ar0326.bcs~ THEN BEGIN EXTEND_TOP ~AR0326.bcs~ ~tactics2/krgnome/ar0326.baf~ END ELSE BEGIN COMPILE ~tactics2/krgnome/ar0326.baf~ END COMPILE ~tactics2/krgnome/scripts~ COPY ~tactics2/krgnome/copy~ ~override~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Kensai Ryu's Improved Crypt King~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4018 // [Azazello] FORBID_COMPONENT ~SETUP-BPV180.TP2~ ~6~ ~Do not install this Component: already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COMPILE ~tactics2/krcrypt~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Ishan's "Always Toughest Random Spawns in Dungeons"~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4019 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COMPILE ~tactics2/ishan/spawn~ // Ellis suggests these changes: COPY_EXISTING ~c6behold.bcs~ ~override/c6behold.bcs~ ~c6goljug.bcs~ ~override/c6goljug.bcs~ ~c6rakraj.bcs~ ~override/c6rakraj.bcs~ ~c6mindul.bcs~ ~override/c6mindul.bcs~ ~c6vamp.bcs~ ~override/c6vamp.bcs~ ~c6vamver.bcs~ ~override/c6vamver.bcs~ ~c6weregr.bcs~ ~override/c6weregr.bcs~ REPLACE_TEXTUALLY ~16399 6 0 0 0 "GLOBALChapter" ""~ // OB // Global("Chapter","GLOBAL",6) ~16419 0 0 0 0 "" ""~ // OB // True() /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Gebhard Blucher's Random City Encounters~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4020 // [Azazello] FORBID_COMPONENT ~SETUP-BPV180.TP2~ ~8~ ~Do not install this Component: already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COPY ~tactics2/gbrand/copy~ ~override~ COPY_EXISTING ~ar0041.bcs~ ~override/ar0041.bcs~ REPLACE_BCS_BLOCK ~tactics2/gbrand/scripts/oldrand.baf~ ~tactics2/gbrand/scripts/newrand.baf~ COPY_EXISTING ~ar0045.bcs~ ~override/ar0045.bcs~ REPLACE_BCS_BLOCK ~tactics2/gbrand/scripts/oldrand.baf~ ~tactics2/gbrand/scripts/newrand.baf~ COPY_EXISTING ~ar0046.bcs~ ~override/ar0046.bcs~ REPLACE_BCS_BLOCK ~tactics2/gbrand/scripts/oldrand.baf~ ~tactics2/gbrand/scripts/newrand.baf~ COMPILE ~tactics2/gbrand/aiscripts~ COPY_EXISTING ~AMNCEN1.CRE~ ~override~ REPLACE_TEXTUALLY ~SPER01~ ~SPER06~ REPLACE_TEXTUALLY ~PLAT04~ ~PLAT19~ // more armor, less money BUT_ONLY_IF_IT_CHANGES /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Kensai Ryu's Random Wilderness Encounters~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4021 // [Azazello] FORBID_COMPONENT ~SETUP-BPV180.TP2~ ~8~ ~Do not install this Component: already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COPY_EXISTING ~ar0042.bcs~ ~override/ar0042.bcs~ REPLACE_BCS_BLOCK ~tactics2/krwild/oldrand.baf~ ~tactics2/krwild/newrand.baf~ COPY_EXISTING ~ar0043.bcs~ ~override/ar0043.bcs~ REPLACE_BCS_BLOCK ~tactics2/krwild/oldrand.baf~ ~tactics2/krwild/newrand.baf~ COPY_EXISTING ~ar0044.bcs~ ~override/ar0044.bcs~ REPLACE_BCS_BLOCK ~tactics2/krwild/oldrand.baf~ ~tactics2/krwild/newrand.baf~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Improved Undead /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4022 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 EXTEND_TOP ~wtasight.bcs~ ~tactics2/undead/undead.baf~ EXTEND_TOP ~wtarsgt.bcs~ ~tactics2/undead/undead.baf~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Slightly Smarter Golems /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4030 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 1 COPY ~tactics2/golem~ ~override~ COMPILE ~tactics2/golem/scripts~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // GB's Improved Mind Flayers /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4023 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 8 COPY ~tactics2/flayers/copy~ ~override~ COMPILE ~tactics2/flayers/scripts~ COPY ~override/flayer01.bcs~ ~override/flayer02.bcs~ COPY ~override/flayer01.bcs~ ~override/gormind.bcs~ COPY ~override/flayer01.bcs~ ~override/mindal01.bcs~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Smarter Dragons /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4024 // [Azazello] //REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 4 COMPILE ~tactics2/dragons/dragred.baf~ ~tactics2/dragons/shadra01.baf~ ~tactics2/dragons/dragsilv.baf~ ~tactics2/dragons/dragblac.baf~ ~tactics2/dragons/draghell.baf~ COPY ~tactics2/dragons/udsilver.itm~ ~override/udsilver.itm~ ~tactics2/dragons/spin832.spl~ ~override/spin832.spl~ // silver breath ~tactics2/dragons/spin833.spl~ ~override/spin833.spl~ ~tactics2/dragons/spin691.spl~ ~override/spin691.spl~ // black breath ~tactics2/dragons/hdragred.cre~ ~override/hdragred.cre~ ~tactics2/dragons/dragring.itm~ ~override/dragring.itm~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Smarter Beholders /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4025 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 5 COPY ~tactics2/behold/copy~ ~override~ COMPILE ~tactics2/behold/bcs~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Smarter Vampires /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4026 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 6 COMPILE ~tactics2/vampire/vampir01.baf~ ~tactics2/vampire/vamemi01.baf~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Smarter Mages /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4027 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 7 // Note that one source script is copied to many destination scripts. COPY_EXISTING ~mage18d.bcs~ ~override/t#orig.bcs~ COMPILE ~tactics2/mages/mage18d.baf~ COPY ~override/mage18d.bcs~ ~override/mage10a.bcs~ ~override/mage18d.bcs~ ~override/mage10b.bcs~ ~override/mage18d.bcs~ ~override/mage10c.bcs~ ~override/mage18d.bcs~ ~override/mage12a.bcs~ ~override/mage18d.bcs~ ~override/mage12b.bcs~ ~override/mage18d.bcs~ ~override/mage12c.bcs~ ~override/mage18d.bcs~ ~override/mage12d.bcs~ ~override/mage18d.bcs~ ~override/mage12e.bcs~ ~override/mage18d.bcs~ ~override/mage14a.bcs~ ~override/mage18d.bcs~ ~override/mage14b.bcs~ ~override/mage18d.bcs~ ~override/mage14c.bcs~ ~override/mage18d.bcs~ ~override/mage14d.bcs~ ~override/mage18d.bcs~ ~override/mage16a.bcs~ ~override/mage18d.bcs~ ~override/mage16b.bcs~ ~override/mage18d.bcs~ ~override/mage16c.bcs~ ~override/mage18d.bcs~ ~override/mage16m.bcs~ ~override/mage18d.bcs~ ~override/mage18b.bcs~ ~override/mage18d.bcs~ ~override/mage18a.bcs~ ~override/mage18d.bcs~ ~override/mage18b.bcs~ ~override/mage18d.bcs~ ~override/mage20a.bcs~ ~override/mage18d.bcs~ ~override/mage20b.bcs~ ~override/mage18d.bcs~ ~override/mage20c.bcs~ ~override/mage18d.bcs~ ~override/gpmage1.bcs~ ~override/mage18d.bcs~ ~override/gpmage2.bcs~ ~override/mage18d.bcs~ ~override/mage18c.bcs~ ~override/mage18d.bcs~ ~override/cmage20a.bcs~ ~override/mage18d.bcs~ ~override/cmage20b.bcs~ ~override/mage18d.bcs~ ~override/kuomag01.bcs~ ~tactics2/mages/wwundead.spl~ ~override/wwundead.spl~ COPY_EXISTING ~ppsanik.cre~ ~override/ppsanik.cre~ WRITE_ASCII 0x250 ~WTASIGHT~ #8 COPY_EXISTING ~lich01.cre~ ~override/lich01.cre~ WRITE_BYTE 0x234 25 // liches are high level COPY_EXISTING ~KPSHAM01.cre~ ~override/KPSHAM01.cre~ WRITE_ASCII 0x248 ~SHOUTDLG~ #8 WRITE_ASCII 0x250 ~MAGE12D~ #8 COPY_EXISTING ~BODTAN.cre~ ~override/BODTAN.cre~ WRITE_ASCII 0x248 ~MAGE16C~ #8 WRITE_ASCII 0x250 ~VAMPIR01~ COPY_EXISTING ~LAVOK01.cre~ ~override/LAVOK01.cre~ WRITE_ASCII 0x250 ~SHOUTDLG~ WRITE_ASCII 0x258 ~MAGE16A~ #8 COPY_EXISTING ~ppwanev.cre~ ~override/ppwanev.cre~ ~ppwanev2.cre~ ~override/ppwanev2.cre~ ~ppdra2.cre~ ~override/ppdra2.cre~ WRITE_ASCII 0x258 ~T#ORIG~ #8 COPY_EXISTING ~ppaphril.cre~ ~override/ppaphril.cre~ ~ppaph2.cre~ ~override/ppaph2.cre~ ~ppdradee.cre~ ~override/ppdradee.cre~ WRITE_ASCII 0x260 ~T#ORIG~ #8 //~pptiax.cre~ ~override/pptiax.cre~ //~pptiax2.cre~ ~override/pptiax2.cre~ //~ppnalj.cre~ ~override/ppnalj.cre~ //~ppnalj2.cre~ ~override/ppnalj2.cre~ //~ppdili.cre~ ~override/ppdili.cre~ //~ppdili2.cre~ ~override/ppdili2.cre~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Generic Archer Kit /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4028 UNINSTALL ~SETUP-SOLAUFEIN.TP2~ 10 ADD_KIT ~WWARCH~ /* this is the "internal" name of your kit, like * BERSERKER or LATHANDER */ /* this line is appened to CLASWEAP.2DA */ ~WWARCH 1 1 1 1 1 1 1 1~ /* this string is appened column-wise to WEAPPROF.2DA, starting with the * third line*/ ~WWARCH 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 2 2 2 3 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2~ /* this line is appened to ABCLASRQ.2DA */ ~WWARCH 9 0 0 0 0 0~ /* this line is appened to ABCLSMOD.2DA */ ~WWARCH 0 0 0 0 0 0~ /* this line is appened to ABDCDSRQ.2DA */ ~WWARCH 17 0 0 0 0 0~ /* this line is appened to ABDCSCRQ.2DA */ ~WWARCH 15 0 0 0 0 0~ /* this line is appened to ALIGNMNT.2DA */ ~WWARCH 1 1 1 1 1 1 1 1 1~ /* this line goes to DUALCLAS.2DA */ ~WWARCH 0 1 1 1 1 0~ /* this is the name of your abilities 2DA file, in the style of * clabrn02.2da */ ~tactics2/archer/wwarch.2da~ /* These are the 2da files listed in KITTABLE.2DA that you want your kit to * be a part of. List as many as you like. This particular layout allows * the Generic Archer to a kit for any race of fighter. */ ~K_F_H K_F_D K_F_G K_F_E K_F_HE K_F_HL K_F_HO~ /* This is the "unusable" value you want for you kit and also the class * value. These would normally appear at the end of KITLIST.2DA */ ~0x00008000 2~ /* This is the High Level Ability Abbreviation (see LUABBR.2DA) * Normal values are Fi0, Pa0, etc. */ ~Fi0~ /* This is the TOB starting equipment list. Put a * if you don't want * something. See 25STWEAP.2DA. */ ~LEAT20 DART03,40 HELM07 BAG26 RING06 RING31 CLCK27 BOOT01 AMUL19 BRAC10 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN04,2 POTN14,5 BOW11 BOW19 XBOW06~ /* These are the strings you want for the lower, mixed and help * descriptions for your kit. */ SAY @110 SAY @111 SAY @112 /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Anti-Paladin Kit /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4029 UNINSTALL ~SETUP-VALEN.TP2~ 1 COPY ~tactics2/anti/wwanti.spl~ ~override/wwanti.spl~ ~tactics2/anti/wwantid.spl~ ~override/wwantid.spl~ ~tactics2/anti/wwanti.eff~ ~override/wwanti.eff~ ADD_KIT ~WWANTI~ /* this is the "internal" name of your kit, like * BERSERKER or LATHANDER */ /* this line is appened to CLASWEAP.2DA */ ~WWANTI 1 1 1 1 1 1 1 1~ /* this string is appened column-wise to WEAPPROF.2DA, starting with the * third line*/ ~WWANTI 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 2 3 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2~ /* this line is appened to ABCLASRQ.2DA */ ~WWANTI 12 0 0 0 13 17~ /* this line is appened to ABCLSMOD.2DA */ ~WWANTI 0 0 0 0 0 0~ /* this line is appened to ABDCDSRQ.2DA */ ~WWANTI 17 0 0 0 0 0~ /* this line is appened to ABDCSCRQ.2DA */ ~WWANTI 15 0 0 0 0 0~ /* this line is appened to ALIGNMNT.2DA */ ~WWANTI 0 0 1 0 0 1 0 0 1~ /* this line goes to DUALCLAS.2DA */ ~WWANTI 0 1 1 1 1 0~ /* this is the name of your abilities 2DA file, in the style of * clabrn02.2da */ ~tactics2/anti/wwanti.2da~ /* These are the 2da files listed in KITTABLE.2DA that you want your kit to * be a part of. List as many as you like. This particular layout allows * the Generic Archer to a kit for any race of fighter. */ ~K_F_H K_F_D K_F_G K_F_E K_F_HE K_F_HL K_F_HO~ /* This is the "unusable" value you want for you kit and also the class * value. These would normally appear at the end of KITLIST.2DA */ ~0x00000001 2~ /* This is the High Level Ability Abbreviation (see LUABBR.2DA) * Normal values are Fi0, Pa0, etc. */ ~WWANTI~ /* This is the TOB starting equipment list. Put a * if you don't want * something. See 25STWEAP.2DA. */ ~LEAT21 HAMM07 HELM07 BAG26 RING06 RING31 CLCK30 BOOT01 AMUL19 BRAC10 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN04,2 POTN14,5 SW2H10 SW2H08 MISCBC~ /* These are the strings you want for the lower, mixed and help * descriptions for your kit. */ SAY @2900 SAY @2901 SAY @2902 COPY ~tactics2/anti/luwwanti.2da~ ~override/luwwanti.2da~ // hl abil list ~tactics2/anti/wwantide.spl~ ~override/wwantide.spl~ // summon fallen deva ~tactics2/anti/ABRACERQ.2DA~ ~override/ABRACERQ.2DA~ // dwarf bugfix COPY ~tactics2/anti/reaver.itm~ ~override/reaver.itm~ SAY NAME2 @2904 SAY DESC @2905 COPY ~tactics2/anti/gith03.cre~ ~override/gith03.cre~ COMPILE ~tactics2/anti/scripts/gith03.baf~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Göran Rimén's Improved Nymph /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4031 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ COMPILE ~tactics2/nymph/nymph.baf~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Kensai Ryu's Improved Copper Coronet /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4032 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ EXTEND_TOP ~AR0406.BCS~ ~tactics2/copper/new.baf~ COMPILE ~tactics2/copper/gorf.baf~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // SimDing0's Improved Oasis - This is NOT the D0-QuestPack version /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4033 ACTION_IF NOT FILE_EXISTS ~Data/25Dialog.bif~ THEN BEGIN PRINT @4001 END ELSE BEGIN COPY ~tactics2/oasis/copy~ ~override~ END /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Mike Barnes's Improved Small Teeth Pass /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4034 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "bpdragtp.cre" ~Skipping Component installation -- already included with Big Picture mod~ ACTION_IF NOT FILE_EXISTS ~Data/25Dialog.bif~ THEN BEGIN PRINT @4001 END ELSE BEGIN //COPY ~tactics2/stp/copy~ ~override~ COPY ~tactics2/stp/copy/DRAGRED.CRE~ ~override~ COPY_EXISTING ~AR1700.are~ ~override~ READ_LONG 0x54 "actors_offset" READ_SHORT 0x58 "actors_num" READ_SHORT 0x5a "infotrig_num" READ_LONG 0x5c "infotrig_offset" READ_LONG 0x60 "spawns_offset" READ_LONG 0x64 "spawns_num" READ_LONG 0x68 "entrances_offset" READ_LONG 0x6c "entrances_num" READ_LONG 0x70 "cont_offset" READ_SHORT 0x74 "cont_num" READ_SHORT 0x76 "items_num" READ_LONG 0x78 "items_offset" READ_LONG 0x7c "vert_offset" READ_SHORT 0x80 "vert_num" READ_SHORT 0x82 "amb_num" READ_LONG 0x84 "amb_offset" READ_LONG 0x88 "vars_offset" READ_LONG 0x8c "vars_num" READ_LONG 0xa0 "expbmp_offset" READ_LONG 0xa4 "doors_num" READ_LONG 0xa8 "doors_offset" READ_LONG 0xac "anim_num" READ_LONG 0xb0 "anim_offset" READ_LONG 0xb4 "tiled_num" READ_LONG 0xb8 "tiled_offset" READ_LONG 0xbc "songs_offset" READ_LONG 0xc0 "rest_spawns_offset" READ_LONG 0xc4 "automap_offset" READ_LONG 0xc8 "automap_num" READ_LONG 0xcc "projectile_traps_offset" READ_LONG 0xd0 "projectile_traps_num" SET actor_1=1 FOR( cnt=0; cnt<"%actors_num%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%actors_offset%"+0x110*cnt) "actor_name" (13) PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Red Dragon")=0) BEGIN actor_1=0 END END PATCH_IF (actor_1=1) BEGIN SET offset = ("%actors_offset%"+0x110*"%actors_num%") INSERT_BYTES offset 0x110 WRITE_ASCII offset ~Red Dragon~ WRITE_SHORT (offset+0x20) 1154 WRITE_SHORT (offset+0x22) 2639 WRITE_SHORT (offset+0x24) 1154 WRITE_SHORT (offset+0x26) 2639 WRITE_LONG (offset+0x28) 1 WRITE_LONG (offset+0x34) 0 WRITE_LONG (offset+0x38) 0xffffffff WRITE_LONG (offset+0x40) 0xffffffff WRITE_ASCII (offset+0x80) ~DRAGRED~ SET "actors_num"="%actors_num%"+1 WRITE_SHORT 0x58 "%actors_num%" END SET "info_ext"=0x110*actor_1 PATCH_IF ("%infotrig_offset%">"%actors_offset%") OR (("%infotrig_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "infotrig_offset"="%infotrig_offset%"+"%info_ext%" WRITE_LONG 0x5c "%infotrig_offset%" END PATCH_IF ("%spawns_offset%">"%actors_offset%") OR (("%spawns_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "spawns_offset"="%spawns_offset%"+"%info_ext%" WRITE_LONG 0x60 "%spawns_offset%" END PATCH_IF ("%entrances_offset%">"%actors_offset%") OR (("%entrances_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "entrances_offset"="%entrances_offset%"+"%info_ext%" WRITE_LONG 0x68 "%entrances_offset%" END PATCH_IF ("%cont_offset%">"%actors_offset%") OR (("%cont_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "cont_offset"="%cont_offset%"+"%info_ext%" WRITE_LONG 0x70 "%cont_offset%" END PATCH_IF ("%items_offset%">"%actors_offset%") OR (("%items_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "items_offset"="%items_offset%"+"%info_ext%" WRITE_LONG 0x78 "%items_offset%" END PATCH_IF ("%vert_offset%">"%actors_offset%") OR (("%vert_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "vert_offset"="%vert_offset%"+"%info_ext%" WRITE_LONG 0x7c "%vert_offset%" END PATCH_IF ("%amb_offset%">"%actors_offset%") OR (("%amb_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "amb_offset"="%amb_offset%"+"%info_ext%" WRITE_LONG 0x84 "%amb_offset%" END PATCH_IF ("%vars_offset%">"%actors_offset%") OR (("%vars_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "vars_offset"="%vars_offset%"+"%info_ext%" WRITE_LONG 0x88 "%vars_offset%" END PATCH_IF ("%expbmp_offset%">"%actors_offset%") OR (("%expbmp_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "expbmp_offset"="%expbmp_offset%"+"%info_ext%" WRITE_LONG 0xa0 "%expbmp_offset%" END PATCH_IF ("%doors_offset%">"%actors_offset%") OR (("%doors_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "doors_offset"="%doors_offset%"+"%info_ext%" WRITE_LONG 0xa8 "%doors_offset%" END PATCH_IF ("%anim_offset%">"%actors_offset%") OR (("%anim_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "anim_offset"="%anim_offset%"+"%info_ext%" WRITE_LONG 0xb0 "%anim_offset%" END PATCH_IF ("%tiled_offset%">"%actors_offset%") OR (("%tiled_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "tiled_offset"="%tiled_offset%"+"%info_ext%" WRITE_LONG 0xb8 "%tiled_offset%" END PATCH_IF ("%songs_offset%">"%actors_offset%") OR (("%songs_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "songs_offset"="%songs_offset%"+"%info_ext%" WRITE_LONG 0xbc "%songs_offset%" END PATCH_IF ("%rest_spawns_offset%">"%actors_offset%") OR (("%rest_spawns_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "rest_spawns_offset"="%rest_spawns_offset%"+"%info_ext%" WRITE_LONG 0xc0 "%rest_spawns_offset%" END PATCH_IF ("%automap_offset%">"%actors_offset%") OR (("%automap_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "automap_offset"="%automap_offset%"+"%info_ext%" WRITE_LONG 0xc4 "%automap_offset%" END PATCH_IF ("%projectile_traps_offset%">"%actors_offset%") OR (("%projectile_traps_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "projectile_traps_offset"="%projectile_traps_offset%"+"%info_ext%" WRITE_LONG 0xcc "%projectile_traps_offset%" END SET actor_1=1 FOR( cnt=0; cnt<"%actors_num%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%actors_offset%"+0x110*cnt) "actor_name" (13) PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Brown Dragon")=0) BEGIN actor_1=0 END END PATCH_IF (actor_1=1) BEGIN SET offset = ("%actors_offset%"+0x110*"%actors_num%") INSERT_BYTES offset 0x110 WRITE_ASCII offset ~Brown Dragon~ WRITE_SHORT (offset+0x20) 2201 WRITE_SHORT (offset+0x22) 1464 WRITE_SHORT (offset+0x24) 2201 WRITE_SHORT (offset+0x26) 1464 WRITE_LONG (offset+0x28) 1 WRITE_LONG (offset+0x34) 0 WRITE_LONG (offset+0x38) 0xffffffff WRITE_LONG (offset+0x40) 0xffffffff WRITE_ASCII (offset+0x80) ~DRAGBROW~ SET "actors_num"="%actors_num%"+1 WRITE_SHORT 0x58 "%actors_num%" END SET "info_ext"=0x110*actor_1 PATCH_IF ("%infotrig_offset%">"%actors_offset%") OR (("%infotrig_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "infotrig_offset"="%infotrig_offset%"+"%info_ext%" WRITE_LONG 0x5c "%infotrig_offset%" END PATCH_IF ("%spawns_offset%">"%actors_offset%") OR (("%spawns_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "spawns_offset"="%spawns_offset%"+"%info_ext%" WRITE_LONG 0x60 "%spawns_offset%" END PATCH_IF ("%entrances_offset%">"%actors_offset%") OR (("%entrances_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "entrances_offset"="%entrances_offset%"+"%info_ext%" WRITE_LONG 0x68 "%entrances_offset%" END PATCH_IF ("%cont_offset%">"%actors_offset%") OR (("%cont_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "cont_offset"="%cont_offset%"+"%info_ext%" WRITE_LONG 0x70 "%cont_offset%" END PATCH_IF ("%items_offset%">"%actors_offset%") OR (("%items_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "items_offset"="%items_offset%"+"%info_ext%" WRITE_LONG 0x78 "%items_offset%" END PATCH_IF ("%vert_offset%">"%actors_offset%") OR (("%vert_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "vert_offset"="%vert_offset%"+"%info_ext%" WRITE_LONG 0x7c "%vert_offset%" END PATCH_IF ("%amb_offset%">"%actors_offset%") OR (("%amb_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "amb_offset"="%amb_offset%"+"%info_ext%" WRITE_LONG 0x84 "%amb_offset%" END PATCH_IF ("%vars_offset%">"%actors_offset%") OR (("%vars_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "vars_offset"="%vars_offset%"+"%info_ext%" WRITE_LONG 0x88 "%vars_offset%" END PATCH_IF ("%expbmp_offset%">"%actors_offset%") OR (("%expbmp_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "expbmp_offset"="%expbmp_offset%"+"%info_ext%" WRITE_LONG 0xa0 "%expbmp_offset%" END PATCH_IF ("%doors_offset%">"%actors_offset%") OR (("%doors_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "doors_offset"="%doors_offset%"+"%info_ext%" WRITE_LONG 0xa8 "%doors_offset%" END PATCH_IF ("%anim_offset%">"%actors_offset%") OR (("%anim_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "anim_offset"="%anim_offset%"+"%info_ext%" WRITE_LONG 0xb0 "%anim_offset%" END PATCH_IF ("%tiled_offset%">"%actors_offset%") OR (("%tiled_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "tiled_offset"="%tiled_offset%"+"%info_ext%" WRITE_LONG 0xb8 "%tiled_offset%" END PATCH_IF ("%songs_offset%">"%actors_offset%") OR (("%songs_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "songs_offset"="%songs_offset%"+"%info_ext%" WRITE_LONG 0xbc "%songs_offset%" END PATCH_IF ("%rest_spawns_offset%">"%actors_offset%") OR (("%rest_spawns_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "rest_spawns_offset"="%rest_spawns_offset%"+"%info_ext%" WRITE_LONG 0xc0 "%rest_spawns_offset%" END PATCH_IF ("%automap_offset%">"%actors_offset%") OR (("%automap_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "automap_offset"="%automap_offset%"+"%info_ext%" WRITE_LONG 0xc4 "%automap_offset%" END PATCH_IF ("%projectile_traps_offset%">"%actors_offset%") OR (("%projectile_traps_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "projectile_traps_offset"="%projectile_traps_offset%"+"%info_ext%" WRITE_LONG 0xcc "%projectile_traps_offset%" END SET actor_1=1 FOR( cnt=0; cnt<"%actors_num%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%actors_offset%"+0x110*cnt) "actor_name" (13) PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Purple Dragon")=0) BEGIN actor_1=0 END END PATCH_IF (actor_1=1) BEGIN SET offset = ("%actors_offset%"+0x110*"%actors_num%") INSERT_BYTES offset 0x110 WRITE_ASCII offset ~Purple Dragon~ WRITE_SHORT (offset+0x20) 3097 WRITE_SHORT (offset+0x22) 397 WRITE_SHORT (offset+0x24) 3097 WRITE_SHORT (offset+0x26) 397 WRITE_LONG (offset+0x28) 1 WRITE_LONG (offset+0x34) 0 WRITE_LONG (offset+0x38) 0xffffffff WRITE_LONG (offset+0x40) 0xffffffff WRITE_ASCII (offset+0x80) ~DRAGPURP~ SET "actors_num"="%actors_num%"+1 WRITE_SHORT 0x58 "%actors_num%" END SET "info_ext"=0x110*actor_1 PATCH_IF ("%infotrig_offset%">"%actors_offset%") OR (("%infotrig_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "infotrig_offset"="%infotrig_offset%"+"%info_ext%" WRITE_LONG 0x5c "%infotrig_offset%" END PATCH_IF ("%spawns_offset%">"%actors_offset%") OR (("%spawns_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "spawns_offset"="%spawns_offset%"+"%info_ext%" WRITE_LONG 0x60 "%spawns_offset%" END PATCH_IF ("%entrances_offset%">"%actors_offset%") OR (("%entrances_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "entrances_offset"="%entrances_offset%"+"%info_ext%" WRITE_LONG 0x68 "%entrances_offset%" END PATCH_IF ("%cont_offset%">"%actors_offset%") OR (("%cont_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "cont_offset"="%cont_offset%"+"%info_ext%" WRITE_LONG 0x70 "%cont_offset%" END PATCH_IF ("%items_offset%">"%actors_offset%") OR (("%items_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "items_offset"="%items_offset%"+"%info_ext%" WRITE_LONG 0x78 "%items_offset%" END PATCH_IF ("%vert_offset%">"%actors_offset%") OR (("%vert_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "vert_offset"="%vert_offset%"+"%info_ext%" WRITE_LONG 0x7c "%vert_offset%" END PATCH_IF ("%amb_offset%">"%actors_offset%") OR (("%amb_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "amb_offset"="%amb_offset%"+"%info_ext%" WRITE_LONG 0x84 "%amb_offset%" END PATCH_IF ("%vars_offset%">"%actors_offset%") OR (("%vars_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "vars_offset"="%vars_offset%"+"%info_ext%" WRITE_LONG 0x88 "%vars_offset%" END PATCH_IF ("%expbmp_offset%">"%actors_offset%") OR (("%expbmp_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "expbmp_offset"="%expbmp_offset%"+"%info_ext%" WRITE_LONG 0xa0 "%expbmp_offset%" END PATCH_IF ("%doors_offset%">"%actors_offset%") OR (("%doors_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "doors_offset"="%doors_offset%"+"%info_ext%" WRITE_LONG 0xa8 "%doors_offset%" END PATCH_IF ("%anim_offset%">"%actors_offset%") OR (("%anim_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "anim_offset"="%anim_offset%"+"%info_ext%" WRITE_LONG 0xb0 "%anim_offset%" END PATCH_IF ("%tiled_offset%">"%actors_offset%") OR (("%tiled_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "tiled_offset"="%tiled_offset%"+"%info_ext%" WRITE_LONG 0xb8 "%tiled_offset%" END PATCH_IF ("%songs_offset%">"%actors_offset%") OR (("%songs_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "songs_offset"="%songs_offset%"+"%info_ext%" WRITE_LONG 0xbc "%songs_offset%" END PATCH_IF ("%rest_spawns_offset%">"%actors_offset%") OR (("%rest_spawns_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "rest_spawns_offset"="%rest_spawns_offset%"+"%info_ext%" WRITE_LONG 0xc0 "%rest_spawns_offset%" END PATCH_IF ("%automap_offset%">"%actors_offset%") OR (("%automap_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "automap_offset"="%automap_offset%"+"%info_ext%" WRITE_LONG 0xc4 "%automap_offset%" END PATCH_IF ("%projectile_traps_offset%">"%actors_offset%") OR (("%projectile_traps_offset%" == "%actors_offset%") AND ("%actors_num%" == 0)) BEGIN "projectile_traps_offset"="%projectile_traps_offset%"+"%info_ext%" WRITE_LONG 0xcc "%projectile_traps_offset%" END BUT_ONLY END /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Mike Barnes's Improved North Forest /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4035 //COPY ~tactics2/nforest/copy~ ~override~ COPY ~tactics2/nforest/copy/AR18ARCH.CRE~ ~override~ COPY ~tactics2/nforest/copy/AR18DWAF.CRE~ ~override~ COPY ~tactics2/nforest/copy/AR18FIG.CRE~ ~override~ COPY ~tactics2/nforest/copy/AR18MAGE.CRE~ ~override~ COPY ~tactics2/nforest/copy/AR18PRIE.CRE~ ~override~ COPY ~tactics2/nforest/copy/AR18SKEL.CRE~ ~override~ COPY ~tactics2/nforest/copy/AR18THIF.CRE~ ~override~ COPY ~tactics2/nforest/copy/drake01.CRE~ ~override~ COPY ~tactics2/nforest/copy/drake01.SPL~ ~override~ COPY ~tactics2/nforest/copy/drake.ITM~ ~override~ COPY ~tactics2/nforest/copy/drakring.ITM~ ~override~ COPY_EXISTING ~AR1800.are~ ~override~ READ_LONG 0x54 "actors_offset" READ_SHORT 0x58 "actors_num" READ_LONG 0x60 "spawns_offset" READ_LONG 0x64 "spawns_num" FOR( cnt=0; cnt<"%actors_num%"; cnt=cnt+1 ) BEGIN //actors loop READ_ASCII ("%actors_offset%"+0x110*cnt) "actor_name" (13) PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Efreeti")=1) BEGIN SET offset = ("%actors_offset%"+0x110*cnt) WRITE_ASCII offset ~Noble Efreeti~ (13) WRITE_ASCII offset+0x80 ~GENEFN01~ (8) END PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Dao")=1) BEGIN SET offset = ("%actors_offset%"+0x110*cnt) WRITE_ASCII offset ~Noble Djinni~ (12) WRITE_ASCII offset+0x80 ~GENDJN01~ (8) END PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Mist Mephit")=1) BEGIN SET offset = ("%actors_offset%"+0x110*cnt) WRITE_ASCII offset ~Drake~ (11) WRITE_ASCII offset+0x80 ~DRAKE01~ (8) END END FOR( cnt=0; cnt<"%spawns_num%"; cnt=cnt+1 ) BEGIN //spawns loop READ_ASCII ("%spawns_offset%"+0xc8*cnt) "spawn_name" (13) PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 6")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~OBSFIR01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 8")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~MUMGRE01~ (8) END PATCH_IF (("%spawn_name%" STRING_COMPARE_CASE "Spawn Point 9")=0) BEGIN SET offset = ("%spawns_offset%"+0xc8*cnt) WRITE_ASCII offset+0x24 ~GORFIR01~ (8) END END BUT_ONLY COMPILE ~tactics2/nforest/scripts~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Mike Barnes's Marching Mountains /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4036 ACTION_IF NOT FILE_EXISTS ~Data/25Dialog.bif~ THEN BEGIN PRINT @4001 END ELSE BEGIN //COPY ~tactics2/mmount~ ~override~ COPY_EXISTING ~AR5200.are~ ~override~ READ_LONG 0x54 "actors_offset" READ_SHORT 0x58 "actors_num" FOR( cnt=0; cnt<"%actors_num%"; cnt=cnt+1 ) BEGIN //actors loop READ_ASCII ("%actors_offset%"+0x110*cnt) "actor_name" (13) PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Chinchilla")=1) BEGIN SET offset = ("%actors_offset%"+0x110*cnt) WRITE_ASCII offset ~Skeleton Cleric~ (15) WRITE_ASCII offset+0x60 ~PRIES18C~ (8) WRITE_ASCII offset+0x80 ~HGSKL01~ (8) END PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Tibbit")=1) BEGIN SET offset = ("%actors_offset%"+0x110*cnt) WRITE_ASCII offset ~Skeleton Mage~ (13) WRITE_ASCII offset+0x60 ~MAGE18D~ (8) WRITE_ASCII offset+0x80 ~HGSKL03~ (8) END PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Merlinious")=1) BEGIN SET offset = ("%actors_offset%"+0x110*cnt) WRITE_ASCII offset ~Skeleton Warrior~ (16) WRITE_ASCII offset+0x80 ~HGSKL04~ (8) END PATCH_IF (("%actor_name%" STRING_COMPARE_CASE "Toop the Brave")=1) BEGIN SET offset = ("%actors_offset%"+0x110*cnt) WRITE_ASCII offset ~Skeleton Assassin~ (17) WRITE_ASCII offset+0x60 ~TSMVBSC~ (8) WRITE_ASCII offset+0x80 ~HGSKL02~ (8) END END BUT_ONLY END /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Slightly Tougher Demons AI /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4037 COMPILE ~tactics2/demonai/scripts~ COPY ~tactics2/demonai/copy~ ~override~ COPY ~tactics2/demonai/cre/imppit.cre~ ~override/dempit.cre~ WRITE_ASCII 0x248 ~DEMPIT~ #8 WRITE_BYTE 0x270 4 // ALLY WRITE_ASCII 0x280 ~DEMPIT~ #32 // death variable COPY ~tactics2/demonai/cre/imppit.cre~ ~override/dempit01.cre~ WRITE_ASCII 0x248 ~DEMPIT~ #8 WRITE_BYTE 0x270 255 // ENEMY WRITE_ASCII 0x268 ~WTASIGHT~ #8 WRITE_ASCII 0x280 ~DEMPIT01~ #32 // death variable COPY ~tactics2/demonai/cre/imppit.cre~ ~override/dempitsu.cre~ WRITE_ASCII 0x248 ~DEMPITSU~ #8 WRITE_BYTE 0x270 255 // ENEMY WRITE_ASCII 0x280 ~DEMPIT~ #32 // death variable COPY ~tactics2/demonai/cre/imppit.cre~ ~override/telpit1.cre~ WRITE_ASCII 0x248 ~DEMPIT~ #8 WRITE_BYTE 0x270 255 // ENEMY WRITE_ASCII 0x280 ~TELPIT1~ #32 // death variable COPY ~tactics2/demonai/cre/imppit.cre~ ~override/telpit2.cre~ WRITE_ASCII 0x248 ~DEMPIT~ #8 WRITE_BYTE 0x270 255 // ENEMY WRITE_ASCII 0x280 ~TELPIT2~ #32 // death variable EXTEND_TOP_REGEXP ~MAGE[12]...BCS~ ~tactics2/demonai/lichdem.baf~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Tougher Druid Grove /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4038 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ COPY ~tactics2/faldorn/cefald01.cre~ ~override/cefald01.cre~ WRITE_ASCII 0x280 ~CEFALD01~ #32 COMPILE ~tactics2/faldorn/scripts~ COPY ~tactics2/faldorn/impshad.cre~ ~override/cefgt01.cre~ WRITE_ASCII 0x280 ~CEFGT01~ #32 // death var WRITE_ASCII 0x2cc ~CEFGT01~ #8 WRITE_ASCII 0x260 ~DRDSHT01~ #8 COPY ~tactics2/faldorn/impshad.cre~ ~override/cefgt02.cre~ WRITE_ASCII 0x280 ~CEFGT02~ #32 // death var WRITE_ASCII 0x2cc ~CEFGT02~ #8 WRITE_ASCII 0x260 ~DRDSHT01~ #8 COPY ~tactics2/faldorn/impshad.cre~ ~override/tdr10b.cre~ ~tactics2/faldorn/impshad.cre~ ~override/tdr6a.cre~ ~tactics2/faldorn/impshad.cre~ ~override/tdr8a.cre~ ~tactics2/faldorn/impshad.cre~ ~override/tdr8b.cre~ WRITE_ASCII 0x260 ~DRDSHT01~ #8 COPY ~tactics2/faldorn/impshad.cre~ ~override/tdr10a.cre~ SAY NAME1 #49022 // Kyland Lind SAY NAME2 #49024 WRITE_ASCII 0x34 ~~ #8 WRITE_ASCII 0x250 ~TDR10A~ #8 WRITE_ASCII 0x2cc ~TDR10A~ #8 WRITE_ASCII 0x260 ~DRDSHT01~ #8 COPY ~tactics2/ritual/ritwolf.cre~ ~override/shadwolf.cre~ ~tactics2/ritual/ritbear.cre~ ~override/shadbear.cre~ ~tactics2/ritual/ritlion.cre~ ~override/shadlion.cre~ WRITE_BYTE 0x270 128 // NEUTRAL WRITE_ASCII 0x248 ~DRDSHT01~ #8 WRITE_ASCII 0x268 ~WTASIGHT~ #8 COPY_EXISTING ~wolfspir.itm~ ~override/wolfspir.itm~ ~bearspir.itm~ ~override/bearspir.itm~ ~lionspir.itm~ ~override/lionspir.itm~ WRITE_BYTE 0xbc 0 // no blur -- bugfix BUT_ONLY_IF_IT_CHANGES EXTEND_TOP ~ar1900.bcs~ ~tactics2/faldorn/imp1900.baf~ /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Tougher Fire Giants /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4039 // [Azazello] REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME "BPBAG04.ITM" ~Skipping Component installation -- already included with Big Picture mod~ COPY ~tactics2/fgiant/giafir.itm~ ~override/giafir.itm~ COPY ~tactics2/fgiant/giafir.itm~ ~override/giafir2.itm~ WRITE_SHORT 0x1c 25 // axe WRITE_ASCII 0x22 "AX" #2 WRITE_SHORT 0x8e 3 // slashing COPY_EXISTING ~hgmag01.cre~ ~override/hgmag01.cre~ WRITE_ASCII 0x5dc ~GIAFIR~ #8 COPY_EXISTING ~hgmag02.cre~ ~override/hgmag02.cre~ WRITE_ASCII 0x6b4 ~GIAFIR~ #8 /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Streamlined Trolls /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// BEGIN @4040 COPY_EXISTING_REGEXP GLOB ~.*\.cre~ ~override~ PATCH_IF SOURCE_SIZE > 0x70 THEN BEGIN READ_SHORT 0x28 anim PATCH_IF (anim = 32512) OR // troll (anim = 32527) OR // troll_small (anim = 57520) // ic_troll1 THEN BEGIN FOR (i=0;i<5;i=i+1) BEGIN READ_BYTE (0x60+i) resist PATCH_IF (resist < 66) OR (resist = 100) THEN BEGIN WRITE_BYTE 0x60+i 66 END END REPLACE_TEXTUALLY ~MONHP1~ "" (6) REPLACE_TEXTUALLY ~MINHP1~ "" (6) REPLACE_TEXTUALLY ~TROLLDIE~ "" (8) END END BUT_ONLY_IF_IT_CHANGES