/////////////////////////////////////////////////////// // BGT-WeiDU installation tp2 file /////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// // Compatibility /////////////////////////////////////////////////////////////////////////////////////////// // BG2 Fixpack - checks for cdbehbla.pro in game // CtB - checks for AR3540.are in game // NeJ: Continuous and Custom Imoen Kit - checks for SPIN506.SPL in game // NeJ: Priest of Sylvanus (Druid) Kit and Improved Character Jaheira - checks for SPIN518.SPL in game // NeJ: Minsc's Familiar - checks for boo.itm in game // NeJ: Part 1 - checks for bag02nej.itm in game // NeJ: Part 2 - checks for eyebite.itm in game // SoS - checks for AR4230.are in game // TDD - checks for DD0012.are in game // TS - checks for kachi01.wav in game /////////////////////////////////////////////////////////////////////////////////////////// BACKUP ~bgt/backup~ AUTHOR ~http://forums.spellholdstudios.net/index.php?showforum=261~ VERSION ~1.15 (5 Feb 12)~ README ~bgt/help/[%LANGUAGE%]bgtreadme.htm~ ~bgt/help/[english]bgtreadme.htm~ //MODDER setup_tra none area_variables warn missing_extern none missing_resref none ict2_actions none missing_eval warn overwriting_file warn LANGUAGE ~English~ ~english~ ~bgt/language/english/prompts.tra~ ~bgt/language/english/setup.tra~ ~bgt/language/english/dialog.tra~ ~bgt/language/english/journal.tra~ ~bgt/language/english/scripts.tra~ LANGUAGE ~International English~ ~international~ ~bgt/language/english/prompts.tra~ ~bgt/language/english/setup.tra~ ~bgt/language/english/dialog.tra~ ~bgt/language/english/journal.tra~ ~bgt/language/english/scripts.tra~ LANGUAGE ~Castellano (Castilian/Spanish)~ ~castilian~ ~bgt/language/castilian/prompts-%WEIDU_OS%.tra~ ~bgt/language/castilian/setup.tra~ ~bgt/language/castilian/dialog.tra~ ~bgt/language/castilian/journal.tra~ ~bgt/language/castilian/scripts.tra~ LANGUAGE ~Francais (French)~ ~french~ ~bgt/language/french/prompts.tra~ ~bgt/language/french/setup.tra~ ~bgt/language/french/dialog.tra~ ~bgt/language/french/journal.tra~ ~bgt/language/french/scripts.tra~ LANGUAGE ~Deutsch (German)~ ~german~ ~bgt/language/german/prompts.tra~ ~bgt/language/german/setup.tra~ ~bgt/language/german/dialog.tra~ ~bgt/language/german/journal.tra~ ~bgt/language/german/scripts.tra~ LANGUAGE ~Italiano (Italian)~ ~italian~ ~bgt/language/italian/prompts.tra~ ~bgt/language/italian/setup.tra~ ~bgt/language/italian/dialog.tra~ ~bgt/language/italian/journal.tra~ ~bgt/language/italian/scripts.tra~ LANGUAGE ~ѱ (Korean)~ ~korean~ ~bgt/language/korean/prompts-%WEIDU_OS%.tra~ ~bgt/language/korean/setup.tra~ ~bgt/language/korean/dialog.tra~ ~bgt/language/korean/journal.tra~ ~bgt/language/korean/scripts.tra~ LANGUAGE ~Polski (Polish)~ ~polish~ ~bgt/language/polish/prompts.tra~ ~bgt/language/polish/setup.tra~ ~bgt/language/polish/dialog.tra~ ~bgt/language/polish/journal.tra~ ~bgt/language/polish/scripts.tra~ LANGUAGE ~᪨ (Russian)~ ~russian~ ~bgt/language/russian/prompts-%WEIDU_OS%.tra~ ~bgt/language/russian/setup.tra~ ~bgt/language/russian/dialog.tra~ ~bgt/language/russian/journal.tra~ ~bgt/language/russian/scripts.tra~ LANGUAGE ~ (Chinese - Simplified)~ ~schinese~ ~bgt/language/schinese/prompts-%WEIDU_OS%.tra~ ~bgt/language/schinese/setup.tra~ ~bgt/language/schinese/dialog.tra~ ~bgt/language/schinese/journal.tra~ ~bgt/language/schinese/scripts.tra~ LANGUAGE %c餤 (Chinese - Traditional)% ~tchinese~ ~bgt/language/tchinese/prompts-%WEIDU_OS%.tra~ ~bgt/language/tchinese/setup.tra~ ~bgt/language/tchinese/dialog.tra~ ~bgt/language/tchinese/journal.tra~ ~bgt/language/tchinese/scripts.tra~ LANGUAGE ~Cestina (Czech)~ ~czech~ ~bgt/language/czech/prompts.tra~ ~bgt/language/czech/setup.tra~ ~bgt/language/czech/dialog.tra~ ~bgt/language/czech/journal.tra~ ~bgt/language/czech/scripts.tra~ BEGIN @100000 REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~xnewarea.2da~ @100021 //////////////////////////////////////////////////////////// // Uninstall info //////////////////////////////////////////////////////////// <<<<<<<>>>>>>> ACTION_IF ("%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ = 0) BEGIN AT_UNINSTALL ~bgt/install/win32/delend.bat~ END ELSE BEGIN AT_UNINSTALL ~sh bgt/install/unix/delend.sh~ END /////////////////////////////////////////////////////// // Initialise installation /////////////////////////////////////////////////////// ACTION_IF "%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ BEGIN //not Win32 AT_NOW ~mkdir /tmp/bgt-weidu 2>/dev/null~ AT_EXIT ~rm -f bgt/bash.debug~ COPY + ~bgt/placeholder.txt~ ~bgt/bash.debug~ REPLACE_TEXTUALLY CASE_SENSITIVE EXACT_MATCH ~aaa~ ~Unix-like OS detected. Logging of shell commands enabled.%LNL%%LNL%~ //@100044 AT_NOW ~cp bgt/install/%WEIDU_OS%/bin/* /tmp/bgt-weidu/ 2>>bgt/bash.debug~//this comment is because my text editor believes the wildcard is a comment*/ AT_NOW ~chmod +x /tmp/bgt-weidu/* 2>>bgt/bash.debug~//*/ OUTER_SPRINT mosunpack ~/tmp/bgt-weidu/mosunpack~ OUTER_SPRINT tisunpack ~/tmp/bgt-weidu/tisunpack~ //tisunpack required OUTER_SPRINT mv ~mv~ OUTER_SPRINT debug ~ 2>>bgt/bash.debug | tee -a bgt/bash.debug~ OUTER_SPRINT slash ~/~ OUTER_SPRINT quote ~"~ ACTION_IF (~%WEIDU_OS%~ STRING_EQUAL_CASE ~unix~) BEGIN AT_EXIT ~rm -f bgt/weidu~ AT_NOW ~ln -s "$(readlink -f "$(which "%WEIDU_EXECUTABLE%"|head -n 1)")" bgt/weidu 2>&1|tee -a bgt/bash.debug~ EXACT //fails if W_E is a relative path OUTER_SPRINT WEIDU_EXECUTABLE ~bgt/weidu~ END END ELSE BEGIN //Win32 AT_EXIT ~del bgt\bash.debug~ AT_NOW ~bgt/install/win32/vertest.bat~ ACTION_IF FILE_EXISTS ~bgt/bash.debug~ BEGIN OUTER_SPRINT debug ~ 2>&1|bgt\install\win32\mtee.exe bgt\bash.debug /A~ END ELSE BEGIN OUTER_SPRINT debug ~~ COPY + ~bgt/placeholder.txt~ ~bgt/bash.debug~ REPLACE_TEXTUALLY CASE_SENSITIVE EXACT_MATCH ~aaa~ ~An old version of Windows has been detected. Limited logging will be available.%WNL%%WNL%~ //@100045 END OUTER_SPRINT mosunpack ~bgt\install\win32\mosunpack~ OUTER_SPRINT tisunpack ~bgt\install\win32\tisunpack~ //tisunpack required OUTER_SPRINT mv ~ren~ OUTER_SPRINT WEIDU_EXECUTABLE ~setup-bgt.exe~ OUTER_SPRINT slash ~\~ OUTER_SPRINT quote ~~ END DEFINE_ACTION_MACRO bash_log BEGIN //whenever this macro is invoked, it moves the contents of bgt/bash.debug to the real log. LOCAL_SET ln=0 LOCAL_SPRINT log ~~ ACTION_IF FILE_EXISTS ~bgt/bash.debug~ AND NOT FILE_SIZE ~bgt/bash.debug~ 0 BEGIN //don't do this if no log is available now. COPY + ~bgt/bash.debug~ ~bgt/bash.debug~ ln=BUFFER_LENGTH READ_ASCII 0 log (ln) DELETE_BYTES 0 ln END LOG ~%log%~ END DEFINE_ACTION_MACRO linkbg1 BEGIN ACTION_IF "%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ BEGIN //Linux AT_NOW ~sh bgt/install/%WEIDU_OS%/linkbg1.sh "%bg1_dir%" %debug%~ EXACT LAM bash_log ACTION_IF ~%WEIDU_OS%~ STRING_EQUAL_CASE ~unix~ BEGIN COPY + ~linux.ini~ ~bgt/bg1/linux.ini~ REPLACE_TEXTUALLY ~%WNL%~ ~%LNL%~ REPLACE_TEXTUALLY ~%MNL%~ ~%LNL%~ REPLACE_TEXTUALLY ~%LNL%.*$~ ~~//delete all lines but the first offset = BUFFER_LENGTH INSERT_BYTES offset 8 WRITE_ASCII offset ~bgt/bg1/~ SPRINT bg1_dir ~bgt/bg1~ //use new BG1 folder END END END //macro LAM bash_log //logs the header /////////////////////////////////////////////////////// // Get location of BG:TotSC installation /////////////////////////////////////////////////////// OUTER_SET valid_dir = 0 OUTER_SET first_prompt = 1 OUTER_SPRINT bg1_dir ~~ //detect for a valid auto-installation path ACTION_IF (~%argv[0]%~ STRING_CONTAINS_REGEXP ~[Pp]~ = 0) BEGIN OUTER_SPRINT bg1_dir ~%argv[1]%~ OUTER_SET first_prompt = 2 END //detect and prompt for valid BG1 path from registry ACTION_IF (STRING_LENGTH ~%REGISTRY_BG1_PATH%~ AND %first_prompt% = 1) BEGIN OUTER_INNER_PATCH_SAVE ~bg1_dir~ ~%REGISTRY_BG1_PATH%~ BEGIN REPLACE_TEXTUALLY CASE_INSENSITIVE ~.BGMain\.exe$~ ~~ END OUTER_SPRINT bg1_prompt ~a~ OUTER_WHILE (~%bg1_prompt%~ STRING_MATCHES_REGEXP ~[YyNn]~) BEGIN PRINT @100042 //Detected Baldur's Gate I directory as %bg1_dir%.\nIs this correct? [Y]es or [N]o ACTION_READLN ~bg1_prompt~ END ACTION_IF (~%bg1_prompt%~ STRING_EQUAL_CASE ~y~) BEGIN OUTER_SET first_prompt = 2 END END ACTION_IF (%first_prompt% = 1) BEGIN PRINT ~~ PRINT @100028 ACTION_READLN ~bg1_dir~ END //prompt and check for valid BG1 path OUTER_WHILE (%valid_dir% = 0) BEGIN ACTION_IF (%first_prompt% = 0) BEGIN PRINT ~~ PRINT @100029 PRINT @100028 ACTION_READLN ~bg1_dir~ END ELSE BEGIN OUTER_SET first_prompt = 0 END OUTER_INNER_PATCH_SAVE ~bg1_dir~ ~%bg1_dir%~ BEGIN PATCH_IF ~%WEIDU_OS%~ STRING_EQUAL_CASE ~win32~ BEGIN //Win32 REPLACE_TEXTUALLY ~[*?"<>|]~ ~~ //invalid characters in a path REPLACE_TEXTUALLY ~/~ ~\~ //change slashes REPLACE_TEXTUALLY ~[\\/]*$~ ~~ //remove terminal slashes END ELSE BEGIN REPLACE_TEXTUALLY ~\\~ ~~ //remove quotes REPLACE_TEXTUALLY ~^"\(.*\)"$~ ~\1~ //if the whole text is quoted, remove quotes REPLACE_TEXTUALLY ~/*$~ ~~ //remove terminal slashes//*/ END END LAUNCH_ACTION_MACRO linkbg1 ACTION_IF (FILE_EXISTS ~%bg1_dir%/data/area000a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area000b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area000c.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area000d.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area000e.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area000f.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area000g.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area000h.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area010a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area010b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area020a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area020b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area030a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area030b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area040x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area050d.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area060a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area070a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area080a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area080b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area090x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area0100.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area110a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area110b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area110c.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area120a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area120b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area130a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area140a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area140b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area160x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area180a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area180b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area180c.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area180d.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area180e.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area190x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area0200.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area210x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area220x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area230a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area230b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area260a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area260b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area260c.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area0300.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area320x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area330a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area330b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area330c.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area330d.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area340x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area360x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area380x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area390x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area0400.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area400x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area410x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area420x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area440x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area450x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area470x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area480x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area490x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area500x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area510x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area520x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area540a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area540b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area540c.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area540d.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area550x.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area0600.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area0700.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area0800.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area0900.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1100.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1200.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1300.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1400.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1600.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1700.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1800.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1900.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area2100.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area2200.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area2300.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area2400.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area2600.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area2700.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area2800.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area2900.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3000.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3100.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3200.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3300.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3400.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3500.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3600.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3700.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3800.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area3900.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4000.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4100.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4200.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4300.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4400.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4500.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4600.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4700.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4800.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area4900.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area5000.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area5100.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area5200.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area5300.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area5400.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area5500.bif~ AND FILE_EXISTS ~%bg1_dir%/data/areas.bif~ AND FILE_EXISTS ~%bg1_dir%/data/armisc.bif~ AND FILE_EXISTS ~%bg1_dir%/data/chaanim.bif~ AND FILE_EXISTS ~%bg1_dir%/data/chasound.bif~ AND FILE_EXISTS ~%bg1_dir%/data/creanim.bif~ AND FILE_EXISTS ~%bg1_dir%/data/creature.bif~ AND FILE_EXISTS ~%bg1_dir%/data/cresound.bif~ AND FILE_EXISTS ~%bg1_dir%/data/default.bif~ AND FILE_EXISTS ~%bg1_dir%/data/dialog.bif~ AND FILE_EXISTS ~%bg1_dir%/data/effects.bif~ AND FILE_EXISTS ~%bg1_dir%/data/gui.bif~ AND FILE_EXISTS ~%bg1_dir%/data/items.bif~ AND FILE_EXISTS ~%bg1_dir%/data/mpcreanm.bif~ AND FILE_EXISTS ~%bg1_dir%/data/mpgui.bif~ AND FILE_EXISTS ~%bg1_dir%/data/mpsounds.bif~ AND FILE_EXISTS ~%bg1_dir%/data/npcsound.bif~ AND FILE_EXISTS ~%bg1_dir%/data/objanim.bif~ AND FILE_EXISTS ~%bg1_dir%/data/rndencnt.bif~ AND FILE_EXISTS ~%bg1_dir%/data/scripts.bif~ AND FILE_EXISTS ~%bg1_dir%/data/sfxsound.bif~ AND FILE_EXISTS ~%bg1_dir%/data/spells.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area050a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area050b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area050c.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area100a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area150a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area200a.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area200b.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area0500.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1000.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area1500.bif~ AND FILE_EXISTS ~%bg1_dir%/data/area2000.bif~ AND FILE_EXISTS ~%bg1_dir%/data/exarmaps.bif~ AND FILE_EXISTS ~%bg1_dir%/data/expareas.bif~ AND FILE_EXISTS ~%bg1_dir%/chitin.key~ AND FILE_EXISTS ~%bg1_dir%/bgmain2.exe~) BEGIN OUTER_SET ~valid_dir~ = 1 END ELSE BEGIN ACTION_IF "%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ BEGIN //not Win32 AT_NOW ~rm -rf bgt/bg1 %debug%~ LAM bash_log END END END //B (biff all) or O (biff some) ACTION_IF (~%argv[0]%~ STRING_CONTAINS_REGEXP ~[BbOo]~ = 0) BEGIN OUTER_SET biff = NOT (~%argv[0]%~ STRING_CONTAINS_REGEXP ~[Bb]~) END ELSE BEGIN OUTER_SPRINT biff_prompt ~a~ OUTER_WHILE (~%biff_prompt%~ STRING_MATCHES_REGEXP ~[YyNn]~) BEGIN PRINT @100043 //Do you want to biff all new resources? (recommended, except for mega-modification installations)\n[Y]es or [N]o ACTION_READLN ~biff_prompt~ END OUTER_SET biff = (~%biff_prompt%~ STRING_EQUAL_CASE ~y~) END ACTION_IF "%WEIDU_OS%" STRING_EQUAL_CASE ~win32~ BEGIN //not Linux or Mac AT_NOW ~ren "%bg1_dir%%slash%baldur.ini" baldur.bgt %debug%~ EXACT LAM bash_log //needed to be sure that it will be restored even if installation fails AT_EXIT ~ren "%bg1_dir%%slash%baldur.bgt" baldur.ini %debug%~ EXACT END /////////////////////////////////////////////////////// // Extraction creatures from BG1 /////////////////////////////////////////////////////// PRINT ~~ PRINT @100030 MKDIR ~bg1cre~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bg1cre --biff-get-rest ".*\.cre$"~ LAM bash_log //Overwriting with BG override CREs COPY + ~%bg1_dir%/override/baresh.cre~ ~bg1cre/baresh.cre~ ~%bg1_dir%/override/delain.cre~ ~bg1cre/delain.cre~ ~%bg1_dir%/override/durlyl.cre~ ~bg1cre/durlyl.cre~ ~%bg1_dir%/override/galkin.cre~ ~bg1cre/galkin.cre~ ~%bg1_dir%/override/karoug.cre~ ~bg1cre/karoug.cre~ ~%bg1_dir%/override/kirinh.cre~ ~bg1cre/kirinh.cre~ ~%bg1_dir%/override/tanar.cre~ ~bg1cre/tanar.cre~ //deleting unused CRE ACTION_IF ("%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ = 0) BEGIN AT_NOW ~bgt\install\win32\delcre.bat %debug%~ EXACT END ELSE BEGIN AT_NOW ~sh bgt/install/unix/delcre.sh~ END LAM bash_log //TS compatibility renaming creatures MOVE + ~bg1cre/basill.cre~ ~bg1cre/bgbasill.cre~ ~bg1cre/bishop.cre~ ~bg1cre/bgbishop.cre~ ~bg1cre/king.cre~ ~bg1cre/bgking.cre~ ~bg1cre/knight.cre~ ~bg1cre/bgknight.cre~ ~bg1cre/pawn.cre~ ~bg1cre/bgpawn.cre~ ~bg1cre/queen.cre~ ~bg1cre/bgqueen.cre~ ~bg1cre/rook.cre~ ~bg1cre/bgrook.cre~ ~bg1cre/wolf.cre~ ~bg1cre/bgwolf.cre~ //Renamed creatures MOVE + ~bg1cre/calaha.cre~ ~bg1cre/bgcalaha.cre~ ~bg1cre/carbos.cre~ ~bg1cre/bgcarbos.cre~ ~bg1cre/ftown2.cre~ ~bg1cre/bgftown2.cre~ ~bg1cre/ftown3.cre~ ~bg1cre/bgftown3.cre~ ~bg1cre/ftown4.cre~ ~bg1cre/bgftown4.cre~ ~bg1cre/gorf.cre~ ~bg1cre/bggorf.cre~ ~bg1cre/igibber.cre~ ~bg1cre/bgigibb.cre~ ~bg1cre/knight1.cre~ ~bg1cre/bgknigh1.cre~ ~bg1cre/mtown2.cre~ ~bg1cre/bgmtown2.cre~ ~bg1cre/mtown3.cre~ ~bg1cre/bgmtown3.cre~ ~bg1cre/mtown4.cre~ ~bg1cre/bgmtown4.cre~ ~bg1cre/mtown5.cre~ ~bg1cre/bgmtown5.cre~ ~bg1cre/neb.cre~ ~bg1cre/bgneb.cre~ ~bg1cre/roger.cre~ ~bg1cre/bgroger.cre~ ~bg1cre/sendai.cre~ ~bg1cre/bgsendai.cre~ ~bg1cre/shank.cre~ ~bg1cre/bgshank.cre~ ~bg1cre/shop01.cre~ ~bg1cre/bgshop01.cre~ ~bg1cre/shop03.cre~ ~bg1cre/bgshop03.cre~ ~bg1cre/shop04.cre~ ~bg1cre/bgshop04.cre~ ~bg1cre/shop06.cre~ ~bg1cre/bgshop06.cre~ ~bg1cre/shop07.cre~ ~bg1cre/bgshop07.cre~ ~bg1cre/shop08.cre~ ~bg1cre/bgshop08.cre~ ~bg1cre/skelwa.cre~ ~bg1cre/bgskelwa.cre~ ~bg1cre/skelwa02.cre~ ~bg1cre/bgskel02.cre~ ~bg1cre/skelwa03.cre~ ~bg1cre/bgskel03.cre~ ~bg1cre/tarnor.cre~ ~bg1cre/bgtarnor.cre~ ~bg1cre/tazok.cre~ ~bg1cre/bgtazok.cre~ ~bg1cre/towncr.cre~ ~bg1cre/bgtowncr.cre~ ~bg1cre/willia.cre~ ~bg1cre/bgwillia.cre~ ~bg1cre/william.cre~ ~bg1cre/william1.cre~ ACTION_IF (NOT FILE_EXISTS ~bg1cre/d2isl.cre~) BEGIN FAIL @100015 END /////////////////////////////////////////////////////// // Extraction of TLK from BG1 /////////////////////////////////////////////////////// PRINT ~~ PRINT @100031 ACTION_IF NOT FILE_EXISTS ~bgt/install/%LANGUAGE%/bg1.tra~ BEGIN AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --traify-tlk --out bgt/bg1.tra~ LAM bash_log ACTION_IF (NOT FILE_EXISTS ~bgt/bg1.tra~) BEGIN FAIL @100015 END END /////////////////////////////////////////////////////// // dialog.tlk patches /////////////////////////////////////////////////////// PRINT ~~ PRINT @100003 MKDIR ~bgt/dialog.bak~ ACTION_IF FILE_EXISTS ~bgt/dialog.bak/dialog.tlk~ BEGIN ACTION_IF ~%WEIDU_OS%~ STRING_EQUAL_CASE ~win32~ BEGIN ACTION_IF ( ~%LANGUAGE%~ STRING_COMPARE_CASE ~international~ ) = 0 BEGIN AT_UNINSTALL_EXIT ~bgt/install/win32/uninstal.bat english~ END ELSE BEGIN AT_UNINSTALL_EXIT ~bgt/install/win32/uninstal.bat %LANGUAGE%~ END END ELSE BEGIN ACTION_IF ( ~%LANGUAGE%~ STRING_COMPARE_CASE ~international~ ) = 0 BEGIN AT_UNINSTALL_EXIT ~sh bgt/install/unix/uninstal.sh english~ END ELSE BEGIN AT_UNINSTALL_EXIT ~sh bgt/install/unix/uninstal.sh %LANGUAGE%~ END END END ELSE BEGIN COPY_LARGE + ~dialog.tlk~ ~bgt/dialog.bak/dialog.tlk~ //For foreign versions ACTION_IF FILE_EXISTS ~dialogf.tlk~ BEGIN COPY_LARGE + ~dialogf.tlk~ ~bgt/dialog.bak/dialogf.tlk~ END END /////////////////////////////////////////////////////// // journal, sound, and [] update of bg1.tra /////////////////////////////////////////////////////// OUTER_SET tra_updated = 0 ACTION_IF FILE_EXISTS ~bgt/install/%LANGUAGE%/bg1.tra~ BEGIN COPY ~bgt/install/%LANGUAGE%/bg1.tra~ ~bgt/install/%LANGUAGE%/bg1.tra~ PATCH_INCLUDE ~bgt/include/tra_update.tpp~ PATCH_IF ("%LANGUAGE%" STRING_EQUAL ~english~) BEGIN PATCH_INCLUDE ~bgt/include/tra_mod_eng.tpp~ END SET tra_updated = 1 LOAD_TRA ~bgt/install/%LANGUAGE%/bg1.tra~ END ACTION_IF "%tra_updated%" = 0 THEN BEGIN COPY + ~bgt/bg1.tra~ ~bgt/bg1.tra~ PATCH_INCLUDE ~bgt/include/tra_update.tpp~ PATCH_IF ("%LANGUAGE%" STRING_EQUAL ~international~) BEGIN PATCH_INCLUDE ~bgt/include/tra_mod_eng.tpp~ END PATCH_IF (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~french~ ) = 0) BEGIN //more to come REPLACE_TEXTUALLY "\(@14837[ ]*=[ ]*\)\(~[^~]*~\)[ ]*~[^~]*~" "\1\2 \2" //fix for female "Fumier d'assassin ! Le Poing Enflamm ne vous ratera pas !" END PATCH_IF (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~korean~ ) = 0) BEGIN REPLACE_TEXTUALLY "\(@4101.*\[\)BGMNSC19\(\]\)" "\1BGMNSC20\2" //correct Minsc soundset sound REPLACE_TEXTUALLY "\(@4112.*\[\)BGMNSC30\(\]\)" "\1BGMNSC31\2" //correct Minsc soundset sound END LOAD_TRA ~bgt/bg1.tra~ END ////////////////////// // Soundset changes ////////////////////// //Black Lily -- BLACK## to BLACKL## STRING_SET ~4798~ @4798 STRING_SET ~4799~ @4799 STRING_SET ~12493~ @12493 STRING_SET ~12494~ @12494 //Priestess of Umberlee -- UMBER## (actually no sound in BG2) to PUMBER## STRING_SET ~4973~ @4973 STRING_SET ~4975~ @4975 STRING_SET ~5467~ @5467 STRING_SET ~5468~ @5468 STRING_SET ~12600~ @12600 STRING_SET ~12601~ @12601 /////////////////////////////////////////////////// // Soundsets: Incorrect sound entry/No entry at all /////////////////////////////////////////////////// STRING_SET ~3437~ @3437 STRING_SET ~3665~ @3665 STRING_SET ~4898~ @4898 STRING_SET ~4986~ @4986 STRING_SET ~11109~ @11109 STRING_SET ~11618~ @11618 STRING_SET ~11725~ @11725 STRING_SET ~11856~ @11856 STRING_SET ~23804~ @23804 STRING_SET ~23805~ @23805 STRING_SET ~23806~ @23806 STRING_SET ~23807~ @23807 STRING_SET ~23808~ @23808 STRING_SET ~23814~ @23814 STRING_SET ~23815~ @23815 STRING_SET ~23816~ @23816 STRING_SET ~23817~ @23817 STRING_SET ~23818~ @23818 STRING_SET ~23819~ @23819 STRING_SET ~23820~ @23820 STRING_SET ~23822~ @23822 STRING_SET ~23823~ @23823 STRING_SET ~23824~ @23824 STRING_SET ~23825~ @23825 STRING_SET ~23826~ @23826 STRING_SET ~23827~ @23827 STRING_SET ~23828~ @23828 STRING_SET ~23829~ @23829 STRING_SET ~23830~ @23830 STRING_SET ~23831~ @23831 STRING_SET ~23832~ @23832 STRING_SET ~23833~ @23833 STRING_SET ~23834~ @23834 STRING_SET ~23835~ @23835 STRING_SET ~23836~ @23836 STRING_SET ~23837~ @23837 STRING_SET ~23840~ @23840 STRING_SET ~23841~ @23841 STRING_SET ~23842~ @23842 STRING_SET ~23843~ @23843 STRING_SET ~23844~ @23844 STRING_SET ~23846~ @23846 STRING_SET ~23847~ @23847 STRING_SET ~23848~ @23848 STRING_SET ~23849~ @23849 STRING_SET ~23850~ @23850 STRING_SET ~23852~ @23852 STRING_SET ~23853~ @23853 STRING_SET ~23854~ @23854 STRING_SET ~23855~ @23855 STRING_SET ~23856~ @23856 STRING_SET ~23857~ @23857 STRING_SET ~23858~ @23858 STRING_SET ~23859~ @23859 STRING_SET ~23860~ @23860 STRING_SET ~23861~ @23861 STRING_SET ~23862~ @23862 STRING_SET ~23863~ @23863 STRING_SET ~23864~ @23864 STRING_SET ~23865~ @23865 STRING_SET ~23866~ @23866 STRING_SET ~23867~ @23867 STRING_SET ~23868~ @23868 STRING_SET ~23870~ @23870 STRING_SET ~23871~ @23871 STRING_SET ~23872~ @23872 STRING_SET ~23873~ @23873 STRING_SET ~23880~ @23880 STRING_SET ~23881~ @23881 STRING_SET ~23882~ @23882 STRING_SET ~23883~ @23883 STRING_SET ~23884~ @23884 STRING_SET ~23885~ @23885 STRING_SET ~23886~ @23886 STRING_SET ~23888~ @23888 STRING_SET ~23889~ @23889 STRING_SET ~23890~ @23890 STRING_SET ~23891~ @23891 STRING_SET ~23892~ @23892 STRING_SET ~23893~ @23893 STRING_SET ~23894~ @23894 STRING_SET ~23895~ @23895 STRING_SET ~23896~ @23896 STRING_SET ~23897~ @23897 STRING_SET ~23898~ @23898 STRING_SET ~23899~ @23899 STRING_SET ~23900~ @23900 STRING_SET ~23901~ @23901 STRING_SET ~23902~ @23902 STRING_SET ~23903~ @23903 STRING_SET ~23904~ @23904 STRING_SET ~23905~ @23905 STRING_SET ~23907~ @23907 STRING_SET ~23908~ @23908 STRING_SET ~23909~ @23909 STRING_SET ~23910~ @23910 STRING_SET ~23911~ @23911 STRING_SET ~23912~ @23912 STRING_SET ~23913~ @23913 STRING_SET ~23914~ @23914 STRING_SET ~23915~ @23915 STRING_SET ~23916~ @23916 STRING_SET ~23918~ @23918 STRING_SET ~23919~ @23919 STRING_SET ~23920~ @23920 STRING_SET ~23921~ @23921 STRING_SET ~23922~ @23922 STRING_SET ~23924~ @23924 STRING_SET ~23925~ @23925 STRING_SET ~23926~ @23926 STRING_SET ~23927~ @23927 STRING_SET ~23928~ @23928 STRING_SET ~23929~ @23929 STRING_SET ~23930~ @23930 STRING_SET ~23931~ @23931 STRING_SET ~23932~ @23932 STRING_SET ~23933~ @23933 STRING_SET ~23934~ @23934 STRING_SET ~23935~ @23935 STRING_SET ~23936~ @23936 STRING_SET ~23937~ @23937 STRING_SET ~23938~ @23938 STRING_SET ~23939~ @23939 STRING_SET ~23944~ @23944 STRING_SET ~23945~ @23945 STRING_SET ~23946~ @23946 STRING_SET ~23947~ @23947 STRING_SET ~23948~ @23948 STRING_SET ~23949~ @23949 STRING_SET ~23987~ @23987 STRING_SET ~23988~ @23988 STRING_SET ~23989~ @23989 STRING_SET ~23990~ @23990 STRING_SET ~23991~ @23991 STRING_SET ~23992~ @23992 STRING_SET ~23993~ @23993 STRING_SET ~23994~ @23994 STRING_SET ~23995~ @23995 STRING_SET ~23996~ @23996 //cannot do these three since they overwrite Mazzy strings //STRING_SET ~24002~ @24002 //STRING_SET ~24003~ @24003 //STRING_SET ~24004~ @24004 ///////////////////////////////////////////////// // Soundset: Biography additions to empty strings ///////////////////////////////////////////////// STRING_SET ~10171~ @10171 STRING_SET ~10172~ @10172 STRING_SET ~10181~ @10181 STRING_SET ~10183~ @10183 STRING_SET ~10192~ @10192 STRING_SET ~10195~ @10195 STRING_SET ~10196~ @10196 STRING_SET ~10197~ @10197 STRING_SET ~10198~ @10198 STRING_SET ~10200~ @10200 STRING_SET ~10201~ @10201 STRING_SET ~10202~ @10202 STRING_SET ~10204~ @10204 STRING_SET ~10207~ @10207 STRING_SET ~10208~ @10208 STRING_SET ~10213~ @10213 STRING_SET ~10214~ @10214 STRING_SET ~10215~ @10215 /////////////////// // GUI text changes /////////////////// STRING_SET ~19669~ @900037 /* Baldur's Gate Introduction movie description */ STRING_SET ~33093~ @900039 /* Changes TUTORIAL button */ STRING_SET ~44200~ @900040 /* Changes message after clicking TUTORIAL button */ STRING_SET ~62097~ @900038 /* Shadows of Amn Introduction movie description */ STRING_SET ~73247~ @900042 /* Changes SHADOWS OF AMN button at the start screen */ //Changes description under the SHADOWS OF AMN button ************************************ COPY_EXISTING ~bgt/title.tr~ ~bgt/title.tra~ SPRINT str "" SPRINT bgt "" SPRINT tdd "" SPRINT sos "" SPRINT ts "" SPRINT nej "" SPRINT rot "" SPRINT ctb "" SPRINT bp "" SPRINT separator " " SPRINT namets @900043 SPRINT nametdd @900044 SPRINT namesos @900045 SPRINT namenej @900046 SPRINT namerot @900047 SPRINT namebp @900048 SPRINT namectb @900049 SPRINT namestr1 @900050 SPRINT namestr2 @900051 SPRINT bgt @900052 SPRINT namestr3 "" PATCH_IF (FILE_EXISTS_IN_GAME ~kachi01.wav~) BEGIN SPRINT ts ~%separator%%namets%~ SPRINT namestr3 @900053 END PATCH_IF (FILE_EXISTS_IN_GAME ~DD0012.are~) BEGIN SPRINT tdd ~%separator%%nametdd%~ SPRINT namestr3 @900053 END PATCH_IF (FILE_EXISTS_IN_GAME ~AR4230.are~) BEGIN SPRINT sos ~%separator%%namesos%~ SPRINT namestr3 @900053 END PATCH_IF (FILE_EXISTS_IN_GAME ~bag02nej.itm~) OR (FILE_EXISTS_IN_GAME ~eyebite.itm~) BEGIN SPRINT nej ~%separator%%namenej%~ SPRINT namestr3 @900053 END PATCH_IF FILE_EXISTS_IN_GAME ~ra4600.are~ BEGIN SPRINT rot ~%separator%%namerot%~ SPRINT namestr3 @900053 END PATCH_IF FILE_EXISTS_IN_GAME ~ar8050.are~ BEGIN //ar8050 SPRINT bp ~%separator%%namebp%~ SPRINT namestr3 @900053 END PATCH_IF FILE_EXISTS_IN_GAME ~AR3540.are~ BEGIN SPRINT ctb ~%separator%%namectb%~ SPRINT namestr3 @900053 END SPRINT str ~%namestr1%%bgt%%namestr2%%namestr3%%ts%%tdd%%sos%%nej%%rot%%bp%%ctb%~ REPLACE_TEXTUALLY ~game prompt~ "%str%" STRING_SET ~73245~ @123456789 USING ~bgt/title.tra~ //////////////////////////// // Chapters: Textscreen text //////////////////////////// //STRING_SET ~11898~ Exists:'The dawn is especially cool...' //STRING_SET ~11899~ Exists:'You will not last long...' STRING_SET ~15836~ @15836 STRING_SET ~15837~ @15837 STRING_SET ~15838~ @15838 //STRING_SET ~15839~ Exists:'You have dealt a great blow...' STRING_SET ~15840~ @15840 STRING_SET ~15841~ @15841 //STRING_SET ~15879~ See foreign language compatibility section //STRING_SET ~15880~ See foreign language compatibility section STRING_SET ~15896~ @15896 STRING_SET ~15898~ @15898 STRING_SET ~16190~ @16190 STRING_SET ~16214~ @16214 /* Welcome to Candlekeep text */ ////////////////////////// // Dreams: Textscreen text ////////////////////////// STRING_SET ~19267~ @19267 STRING_SET ~19268~ @19268 STRING_SET ~19269~ @19269 STRING_SET ~19270~ @19270 STRING_SET ~19271~ @19271 STRING_SET ~19273~ @19273 STRING_SET ~19274~ @19274 STRING_SET ~19275~ @19275 STRING_SET ~19276~ @19276 STRING_SET ~19278~ @19278 STRING_SET ~19279~ @19279 STRING_SET ~19280~ @19280 //////////////////////// // Miscellaneous changes //////////////////////// STRING_SET ~23809~ @23809 /* Die! + sound */ STRING_SET ~23810~ @23810 /* Stun! + sound */ STRING_SET ~23811~ @23811 /* Pain! + sound */ STRING_SET ~23812~ @23812 /* Fear! + sound */ STRING_SET ~23972~ @23972 /* Crypt Crawler Name 1 */ STRING_SET ~23973~ @23973 /* Crypt Crawler Name 2 */ //////////////////////// // Protagonist biography //////////////////////// OUTER_INNER_PATCH "1234" BEGIN //initialize special characters WRITE_BYTE 0x0 0xD WRITE_BYTE 0x1 0xA READ_ASCII 0x0 CHAR_LINERETURN (2) //store and retrieve separate paragraphs SAY 0x0 @15881 //FIGHTER_ALL READ_LONG 0x0 index_0 SAY 0x0 @15888 //RANGER_ALL READ_LONG 0x0 index_1 SAY 0x0 @15887 //PALADIN_ALL READ_LONG 0x0 index_2 SAY 0x0 @15884 //CLERIC_ALL READ_LONG 0x0 index_3 SAY 0x0 @15885 //DRUID_ALL READ_LONG 0x0 index_4 SAY 0x0 @15882 //MAGE_ALL READ_LONG 0x0 index_5 SAY 0x0 @15883 //THIEF_ALL READ_LONG 0x0 index_6 SAY 0x0 @15886 //BARD_ALL READ_LONG 0x0 index_7 SAY 0x0 @15884 //MONK READ_LONG 0x0 index_8 SAY 0x0 @15889 //CLERIC_RANGER; CLERIC_MAGE; CLERIC_THIEF; FIGHTER_CLERIC; FIGHTER_DRUID; FIGHTER_MAGE; FIGHTER_MAGE_CLERIC; FIGHTER_MAGE_THIEF; FIGHTER_THIEF; MAGE_THIEF READ_LONG 0x0 index_9 SAY 0x0 @15895 //HUMAN READ_LONG 0x0 index_10 SAY 0x0 @15891 //ELF READ_LONG 0x0 index_11 SAY 0x0 @15892 //HALF-ELF READ_LONG 0x0 index_12 SAY 0x0 @15894 //GNOME READ_LONG 0x0 index_13 SAY 0x0 @15893 //HALFLING READ_LONG 0x0 index_14 SAY 0x0 @15890 //DWARF READ_LONG 0x0 index_15 SAY 0x0 @900000 //HALF-ORC READ_LONG 0x0 index_16 //concatenate and store strings INNER_ACTION BEGIN COPY ~bgt/modify/baf/a6bio.baf~ ~bgt/base/baf/a6bio.baf~ FOR (i = 0; i < 10; i += 1 ) BEGIN SPRINT index_par1 ~index_~^~%i%~ SET index_par1 = EVALUATE_BUFFER ~%index_par1%~ GET_STRREF %index_par1% string_par1 FOR (j = 10; j < 17; j +=1 ) BEGIN SPRINT index_par2 ~index_~^~%j%~ SET index_par2 = EVALUATE_BUFFER ~%index_par2%~ GET_STRREF %index_par2% string_par2 SPRINT string_full ~%string_par1%~^~%CHAR_LINERETURN%~^~%CHAR_LINERETURN%~^~%string_par2%~ SET location = (%i% * 7) + (%j% - 10) REPLACE ~,A6#%location%,~ ~%string_full%~ REPLACE_TEXTUALLY ~\(Myself\)\([0-9]*\)\(EXISTANCE5\)~ ~\1,\2,\3~ END END GET_STRREF 33347 string_bg2 END END COPY ~bgt/title.tr~ ~bgt/bio.tra~ REPLACE_TEXTUALLY ~game prompt~ ~%string_bg2%~ STRING_SET ~15881~ @123456789 USING ~bgt/bio.tra~ STRING_SET ~33347~ ~~ ///////////////////////////////// // Foreign language compatibility ///////////////////////////////// ACTION_IF (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~castilian~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~czech~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~english~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~international~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~italian~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~korean~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~polish~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~russian~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~schinese~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~tchinese~ ) = 0) THEN BEGIN STRING_SET ~15879~ @15879 STRING_SET ~15880~ @15880 END ACTION_IF ( ~%LANGUAGE%~ STRING_COMPARE_CASE ~french~ ) = 0 THEN BEGIN STRING_SET ~10898~ @10898 //Warder STRING_SET ~11026~ @11026 //Warder STRING_SET ~15879~ @300000 STRING_SET ~15880~ @300001 END ACTION_IF ( ~%LANGUAGE%~ STRING_COMPARE_CASE ~german~ ) = 0 THEN BEGIN STRING_SET ~15879~ @300000 STRING_SET ~15880~ @300001 STRING_SET ~8918~ @300029 END /////////////////////////////////////////////////////// // Ruleset Changes /////////////////////////////////////////////////////// PRINT ~~ PRINT @100005 APPEND ~arealink.2da~ ~AREA3100 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA3200 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA3300 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA3400 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA3499 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA3498 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA3700 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA3800 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA3900 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA4100 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA4200 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA4300 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA4400 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA4600 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA4700 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA4800 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA4900 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA5100 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA5300 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA5400 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA6600 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA6700 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA6800 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA6900 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7000 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7100 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7200 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7300 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7400 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7500 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7600 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7700 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7800 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA7900 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8000 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8100 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8200 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8300 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8400 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8500 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8600 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8700 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8800 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA8900 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9000 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9100 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9200 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9300 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9400 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9500 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9600 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9700 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9799 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREA9900 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREAA000 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREAA100 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREAAM00 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREAD000 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREAU000 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREAW000 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA AREAW500 0 NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA NO_AREA~ APPEND ~interdia.2da~ ~KAGAIN BKAGAI NONE KIVAN BKIVAN NONE SHARTEEL BSHART NONE YESLICK BYESLI NONE XZAR BXZAR NONE MONTARON BMONTA NONE CORAN BCORAN NONE DYNAHEIR BDYNA NONE ALORA BALORA NONE AJANTIS BAJANT NONE KHALID BKHALI NONE GARRICK BGARRI NONE SAFANA BSAFAN NONE FALDORN BFALDO NONE BRANWEN BBRANW NONE QUAYLE BQUAYL NONE XAN BXANNN NONE SKIE BSKIE NONE ELDOTH BELDOT NONE TIAX BTIAX NONE~ APPEND ~haterace.2da~ ~GNOLL 6627 110 6627~ UNLESS ~GNOLL~ APPEND ~itemexcl.2da~ ~PLAT08 1~ UNLESS ~PLAT08~ APPEND ~mastarea.2da~ ~AR7200 value AR7300 value AR7400 value AR7500 value ARD000 value ARD011 value ARD012 value ARD013 value ARD014 value ARD015 value ARD016 value AR7600 value AR7700 value AR7800 value AR7900 value ARU000 value AR8000 value AR8100 value AR8200 value AR8300 value ARW500 value AR8400 value AR8500 value AR8600 value AR8700 value ARW000 value AR8800 value AR7000 value AR6800 value AR8900 value AR0015 value AR6526 value AR6600 value AR6900 value AR9000 value AR9100 value AR9200 value AR9100 value AR6700 value AR9300 value AR9400 value AR9500 value AR9600 value AR9700 value AR9799 value AR9900 value ARA100 value AR3100 value AR3200 value AR3300 value AR3400 value AR3499 value AR3498 value AR3700 value AR3800 value AR3900 value AR4100 value AR4200 value AR4300 value AR4400 value AR4600 value AR7326 value AR7325 value AR7324 value AR7223 value AR7225 value AR7246 value AR8601 value AR8602 value AR8603 value AR8604 value AR6515 value AR6519 value AR6804 value AR6805 value AR6806 value AR6508 value AR6509 value AR6510 value AR6511 value AR6512 value AR6513 value AR6514 value AR4401 value AR4402 value AR4403 value AR4404 value AR4405 value~ //AR5506 value -unused, but has equivalent bg1ar2660 (bgtar6560) //AR2500 value -does not exist COPY_EXISTING ~movidesc.2da~ ~override/movidesc.2da~ REPLACE_TEXTUALLY ~Intro15f~ ~SoAIntro~ BUT_ONLY APPEND ~movidesc.2da~ ~BEREGOST 19659 BGENTER 19660 BHAAL 19661 CAMP 19662 CNDLKEEP 19663 DUNGEON 19664 ELDRCITY 19665 ENDMOVIE 19666 FRARMINN 19667 GNOLL 19668 BGINTRO 19669 IRONTHRN 19670 MINEFLOD 19671 NASHKELL 19672 PALACE 19673 SEWER 19674 TAVERN 19675 WYVERN 19676 DURLAG 22854 WRECK 22838~ UNLESS ~BGENTER~ APPEND ~pdialog.2da~ ~KAGAIN KAGAIP KAGAIJ *** KAGAIP KAGAIJ *** *** KIVAN KIVANP KIVANJ *** KIVANP KIVANJ *** *** SHARTEEL SHARTP SHARTJ *** SHARTP SHARTJ *** *** YESLICK YESLIP YESLIJ *** YESLIP YESLIJ *** *** XZAR XZARP XZARJ *** XZARP XZARJ *** *** MONTARON MONTAP MONTAJ *** MONTAP MONTAJ *** *** ALORA ALORAP ALORAJ *** ALORAP ALORAJ *** *** AJANTIS AJANTP AJANTJ *** AJANTP AJANTJ *** *** KHALID KHALIP KHALIJ *** KHALIP KHALIJ *** *** GARRICK GARRIP GARRIJ *** *** *** *** *** SAFANA SAFANP SAFANJ *** *** *** *** *** FALDORN FALDOP FALDOJ *** *** *** *** *** BRANWEN BRANWP BRANWJ *** BRANWP BRANWJ *** *** QUAYLE QUAYLP QUAYLJ *** *** *** *** *** XAN XANP XANJ *** XANP XANJ *** *** SKIE SKIEP SKIEJ *** SKIEP SKIEJ *** *** ELDOTH ELDOTP ELDOTJ *** ELDOTP ELDOTJ *** *** TIAX TIAXP TIAXJ *** TIAXP TIAXJ *** ***~ APPEND ~pdialog.2da~ ~DYNAHEIR DYNAP DYNAJ *** *** *** *** ***~ UNLESS ~DYNAHEIR~ APPEND ~pdialog.2da~ ~CORAN CORANP CORANJ *** *** *** *** ***~ UNLESS ~CORAN~ //Random treasure patching much later in installation COPY_EXISTING ~xnewarea.2da~ ~override/xnewarea.2da~ COUNT_2DA_ROWS 15 "rows_cnt" FOR(cnt=0; cnt<"%rows_cnt%"; cnt=cnt+1 ) BEGIN READ_2DA_ENTRY cnt 1 15 "name" PATCH_IF( ("%name%" STRING_COMPARE_CASE "AR3000")=0 ) BEGIN SET_2DA_ENTRY cnt 4 15 "90" SET_2DA_ENTRY cnt 6 15 "1260" END END //using inlined files reduces disk access, which is very time demanding COPY_EXISTING - ~spawngrp.2da~ ~inlined/spawngrp.2da~ old_size = %SOURCE_SIZE% INCLUDE ~bgt/include/patch_spawn.tpa~ //some 800 lines of code COPY - ~inlined/spawngrp.2da~ ~inlined/spawngrp.2da~ PATCH_IF %SOURCE_SIZE% != %old_size% BEGIN //something has been appended; write on disk INNER_ACTION BEGIN COPY ~inlined/spawngrp.2da~ ~override~ PRETTY_PRINT_2DA END END APPEND ~strtgold.2da~ ~CLERIC_RANGER 4 5 0 10 SORCERER 4 1 1 10 MONK 4 5 0 10~ COPY_EXISTING ~action.ids~ ~override/action.ids~ REPLACE_TEXTUALLY ~AddJournalEntry(I:Entry~ ~AddJournalEntry(I:StrRef~ BUT_ONLY_IF_IT_CHANGES APPEND ~gtimes.ids~ ~6 ONE_ROUND~ UNLESS ~ONE_ROUND~ APPEND ~gtimes.ids~ ~12 TWO_ROUNDS~ UNLESS ~TWO_ROUNDS~ APPEND ~gtimes.ids~ ~18 THREE_ROUNDS~ UNLESS ~THREE_ROUNDS~ APPEND ~gtimes.ids~ ~24 FOUR_ROUNDS~ UNLESS ~FOUR_ROUNDS~ APPEND ~gtimes.ids~ ~30 FIVE_ROUNDS~ UNLESS ~FIVE_ROUNDS~ APPEND ~gtimes.ids~ ~36 SIX_ROUNDS~ UNLESS ~SIX_ROUNDS~ APPEND ~gtimes.ids~ ~42 SEVEN_ROUNDS~ UNLESS ~SEVEN_ROUNDS~ APPEND ~gtimes.ids~ ~48 EIGHT_ROUNDS~ UNLESS ~EIGHT_ROUNDS~ APPEND ~gtimes.ids~ ~54 NINE_ROUNDS~ UNLESS ~NINE_ROUNDS~ APPEND ~gtimes.ids~ ~60 TEN_ROUNDS~ UNLESS ~TEN_ROUNDS~ APPEND ~gtimes.ids~ ~60 ONE_TURN~ UNLESS ~ONE_TURN~ APPEND ~gtimes.ids~ ~120 TWO_TURNS~ UNLESS ~TWO_TURNS~ APPEND ~gtimes.ids~ ~180 THREE_TURNS~ UNLESS ~THREE_TURNS~ APPEND ~gtimes.ids~ ~240 FOUR_TURNS~ UNLESS ~FOUR_TURNS~ APPEND ~gtimes.ids~ ~300 FIVE_TURNS~ UNLESS ~FIVE_TURNS~ APPEND ~gtimes.ids~ ~300 ONE_HOUR~ UNLESS ~ONE_HOUR~ APPEND ~gtimes.ids~ ~360 SIX_TURNS~ UNLESS ~SIX_TURNS~ APPEND ~gtimes.ids~ ~420 SEVEN_TURNS~ UNLESS ~SEVEN_TURNS~ APPEND ~gtimes.ids~ ~480 EIGHT_TURNS~ UNLESS ~EIGHT_TURNS~ APPEND ~gtimes.ids~ ~540 NINE_TURNS~ UNLESS ~NINE_TURNS~ APPEND ~gtimes.ids~ ~600 TEN_TURNS~ UNLESS ~TEN_TURNS~ APPEND ~gtimes.ids~ ~600 TWO_HOURS~ UNLESS ~TWO_HOURS~ APPEND ~gtimes.ids~ ~900 FIFTEEN_TURNS~ UNLESS ~FIFTEEN_TURNS~ APPEND ~gtimes.ids~ ~900 THREE_HOURS~ UNLESS ~THREE_HOURS~ APPEND ~gtimes.ids~ ~1200 FOUR_HOURS~ UNLESS ~FOUR_HOURS~ APPEND ~gtimes.ids~ ~1500 FIVE_HOURS~ UNLESS ~FIVE_HOURS~ APPEND ~gtimes.ids~ ~1800 SIX_HOURS~ UNLESS ~SIX_HOURS~ APPEND ~gtimes.ids~ ~2100 SEVEN_HOURS~ UNLESS ~SEVEN_HOURS~ APPEND ~gtimes.ids~ ~2400 EIGHT_HOURS~ UNLESS ~EIGHT_HOURS~ APPEND ~gtimes.ids~ ~2700 NINE_HOURS~ UNLESS ~NINE_HOURS~ APPEND ~gtimes.ids~ ~3000 TEN_HOURS~ UNLESS ~TEN_HOURS~ APPEND ~gtimes.ids~ ~3300 ELEVEN_HOURS~ UNLESS ~ELEVEN_HOURS~ APPEND ~gtimes.ids~ ~3600 TWELVE_HOURS~ UNLESS ~TWELVE_HOURS~ ACTION_IF FILE_EXISTS ~script compiler/aicompile.exe~ THEN BEGIN COPY_EXISTING ~gtimes.ids~ ~script compiler~ ~action.ids~ ~script compiler~ END /////////////////////////////////////////////////////// // Areas /////////////////////////////////////////////////////// PRINT ~~ PRINT @100011 COPY ~bgt/base/are~ ~override~ /* Note Color key: Gray - Caves & Dungeon Entrances Violet - Inns & Taverns Green - Temples Orange - Info points Red - Open space locations (i.e. city squares) Blue - Buildings of note Dk Blue - People Lt Gray - Stores */ COPY ~bgt/modify/are/ar3100.are~ ~override/ar3100.are~ // Fisherman's Lake ADD_MAP_NOTE #1379 #714 ~orange~ @600020 COPY ~bgt/modify/are/ar3300.are~ ~override/ar3300.are~ // Lonely Peaks ADD_MAP_NOTE #1485 #1199 ~gray~ #193 ADD_MAP_NOTE #2711 #2694 ~orange~ @600020 COPY ~bgt/modify/are/ar3400.are~ ~override/ar3400.are~ // Firewine Bridge ADD_MAP_NOTE #4027 #1983 ~gray~ @600024 COPY ~bgt/modify/are/ar3401.are~ ~override/ar3401.are~ // Firewine Ruins ADD_MAP_NOTE #2256 #1673 ~gray~ #48376 ADD_MAP_NOTE #538 #215 ~gray~ #48376 ADD_MAP_NOTE #1052 #1655 ~gray~ #48376 COPY ~bgt/modify/are/ar3498.are~ ~override/ar3498.are~ // Xvart Village ADD_MAP_NOTE #4217 #1025 ~gray~ #193 COPY ~bgt/modify/are/ar3700.are~ ~override/ar3700.are~ // Nashkel ADD_MAP_NOTE #2725 #949 ~green~ @11703 ADD_MAP_NOTE #1308 #674 ~violet~ @11683 ADD_MAP_NOTE #1665 #902 ~lightgray~ @11687 ADD_MAP_NOTE #2689 #2441 ~violet~ @11764 ADD_MAP_NOTE #4765 #558 ~violet~ @16481 ADD_MAP_NOTE #3331 #1780 ~blue~ @20658 COPY ~bgt/modify/are/ar3900.are~ ~override/ar3900.are~ // Valley of the Tombs ADD_MAP_NOTE #944 #1793 ~gray~ #193 ADD_MAP_NOTE #1868 #2897 ~gray~ #193 ADD_MAP_NOTE #4494 #2855 ~gray~ #193 ADD_MAP_NOTE #1771 #886 ~orange~ @600036 COPY ~bgt/modify/are/ar4100.are~ ~override/ar4100.are~ // Gnoll Stronghold ADD_MAP_NOTE #591 #2147 ~gray~ #193 ADD_MAP_NOTE #152 #3376 ~gray~ #193 ADD_MAP_NOTE #818 #2420 ~gray~ #193 ADD_MAP_NOTE #2564 #2341 ~red~ @10709 COPY ~bgt/modify/are/ar4200.are~ ~override/ar4200.are~ // Cloudpeak Mountains ADD_MAP_NOTE #3163 #2674 ~gray~ #193 COPY ~bgt/modify/are/ar4400.are~ ~override/ar4400.are~ // Nashkel Mines Exterior ADD_MAP_NOTE #1202 #717 ~gray~ @600018 ADD_MAP_NOTE #2796 #430 ~blue~ #195 ADD_MAP_NOTE #641 #2713 ~orange~ @600019 COPY ~bgt/modify/are/ar4401.are~ ~override/ar4401.are~ // Nashkel Mines Lvl 1 ADD_MAP_NOTE #1333 #187 ~gray~ #48376 ADD_MAP_NOTE #2076 #1884 ~gray~ @600021 COPY ~bgt/modify/are/ar4402.are~ ~override/ar4402.are~ // Nashkel Mines Lvl 2 ADD_MAP_NOTE #2306 #2710 ~gray~ @600022 ADD_MAP_NOTE #3610 #2516 ~gray~ @600021 COPY ~bgt/modify/are/ar4403.are~ ~override/ar4403.are~ // Nashkel Mines Lvl 3 ADD_MAP_NOTE #1593 #120 ~gray~ @600022 ADD_MAP_NOTE #3357 #2416 ~gray~ @600021 COPY ~bgt/modify/are/ar4404.are~ ~override/ar4404.are~ // Nashkel Mines Lvl 4 ADD_MAP_NOTE #424 #1893 ~gray~ @600022 ADD_MAP_NOTE #1416 #1211 ~gray~ #193 ADD_MAP_NOTE #2975 #908 ~gray~ #48376 COPY ~bgt/modify/are/ar6515.are~ ~override/ar6515.are~ // Candlekeep Catacombs Lvl 1 ADD_MAP_NOTE #4026 #1712 ~gray~ #48376 ADD_MAP_NOTE #3826 #921 ~gray~ #48376 COPY ~bgt/modify/are/ar6519.are~ ~override/ar6519.are~ // Candlekeep Catacombs Lvl 2 ADD_MAP_NOTE #3552 #2308 ~gray~ #48376 ADD_MAP_NOTE #240 #1040 ~gray~ #48376 COPY ~bgt/modify/are/ar0015.are~ ~override/ar0015.are~ // Candlekeep Prologue ~bgt/modify/are/ar6526.are~ ~override/ar6526.are~ // Candlekeep Chapter 6 ADD_MAP_NOTE #1071 #557 ~violet~ @11676 ADD_MAP_NOTE #2959 #464 ~blue~ @17229 ADD_MAP_NOTE #3843 #728 ~green~ @14157 ADD_MAP_NOTE #4303 #1410 ~blue~ @16995 ADD_MAP_NOTE #4396 #2561 ~red~ @600010 ADD_MAP_NOTE #2607 #1679 ~blue~ @600011 ADD_MAP_NOTE #2053 #2696 ~blue~ @14892 ADD_MAP_NOTE #1569 #2487 ~blue~ @16545 ADD_MAP_NOTE #3531 #2916 ~blue~ @600012 ADD_MAP_NOTE #3063 #2981 ~blue~ @600013 COPY ~bgt/modify/are/ar6560.are~ ~override/ar6560.are~ // Candlekeep Catacombs Lvl 3 ADD_MAP_NOTE #689 #124 ~gray~ #48376 ADD_MAP_NOTE #279 #2107 ~gray~ #48405 COPY ~bgt/modify/are/ar6700.are~ ~override/ar6700.are~ // Beregost ADD_MAP_NOTE #3711 #3754 ~violet~ @11678 ADD_MAP_NOTE #1470 #2731 ~violet~ @14938 ADD_MAP_NOTE #4612 #2906 ~lightgray~ @14181 ADD_MAP_NOTE #3403 #2039 ~violet~ @14937 ADD_MAP_NOTE #2596 #2189 ~violet~ @11679 ADD_MAP_NOTE #3643 #993 ~blue~ @16481 COPY ~bgt/modify/are/ar6800.are~ ~override/ar6800.are~ // Friendly Arm Inn ADD_MAP_NOTE #1550 #2970 ~red~ @600010 ADD_MAP_NOTE #3511 #1903 ~violet~ @6660 ADD_MAP_NOTE #3873 #2463 ~green~ @11700 COPY ~bgt/modify/are/ar6900.are~ ~override/ar6900.are~ // Coast Way ADD_MAP_NOTE #2359 #3335 ~orange~ @600014 COPY ~bgt/modify/are/ar7000.are~ ~override/ar7000.are~ // Cloakwood Lodge ADD_MAP_NOTE #2477 #1790 ~blue~ #195 COPY ~bgt/modify/are/ar7100.are~ ~override/ar7100.are~ // High Hedge ADD_MAP_NOTE #2893 #2671 ~lightgray~ @10925 ADD_MAP_NOTE #1732 #1583 ~blue~ @600016 COPY ~bgt/modify/are/ar7200.are~ ~override/ar7200.are~ // NW Baldur's Gate ADD_MAP_NOTE #1230 #1706 ~blue~ @14985 ADD_MAP_NOTE #3610 #3007 ~violet~ @11672 ADD_MAP_NOTE #2940 #1716 ~violet~ #57205 COPY ~bgt/modify/are/ar7223.are~ ~override/ar7223.are~ // Temple of Bhaal ADD_MAP_NOTE #1668 #1297 ~blue~ @600037 COPY ~bgt/modify/are/ar7246.are~ ~override/ar7246.are~ // Thieves' Maze ADD_MAP_NOTE #583 #1148 ~gray~ #48376 ADD_MAP_NOTE #414 #2763 ~gray~ #48376 COPY ~bgt/modify/are/ar7300.are~ ~override/ar7300.are~ // N Baldur's Gate SAY 0x43f0 @15601 ADD_MAP_NOTE #1550 #1123 ~green~ @15028 ADD_MAP_NOTE #200 #1462 ~red~ @11677 ADD_MAP_NOTE #3581 #1464 ~blue~ @15601 ADD_MAP_NOTE #1963 #2795 ~blue~ @15027 ADD_MAP_NOTE #3782 #2418 ~violet~ @11673 COPY ~bgt/modify/are/ar7400.are~ ~override/ar7400.are~ // NE Baldur's Gate SAY 0x342c @20647 ADD_MAP_NOTE #144 #1799 ~violet~ @11692 ADD_MAP_NOTE #541 #2854 ~violet~ @11670 ADD_MAP_NOTE #1215 #1345 ~green~ @15031 ADD_MAP_NOTE #2276 #3134 ~blue~ @20647 COPY ~bgt/modify/are/ar7500.are~ ~override/ar7500.are~ // Zombie Farm ADD_MAP_NOTE #638 #454 ~blue~ @600028 COPY ~bgt/modify/are/ar7600.are~ ~override/ar7600.are~ // W Baldur's Gate SAY 0x46f4 @15603 ADD_MAP_NOTE #1110 #1080 ~green~ @15032 ADD_MAP_NOTE #1520 #2289 ~blue~ @15033 ADD_MAP_NOTE #3869 #789 ~blue~ @15034 ADD_MAP_NOTE #2914 #551 ~blue~ @15603 COPY ~bgt/modify/are/ar7700.are~ ~override/ar7700.are~ // Central Baldur's Gate ADD_MAP_NOTE #2536 #873 ~blue~ @15035 ADD_MAP_NOTE #730 #567 ~lightgray~ @20634 ADD_MAP_NOTE #1729 #1230 ~violet~ @20635 ADD_MAP_NOTE #1993 #720 ~blue~ @20660 ADD_MAP_NOTE #3011 #1097 ~blue~ @15604 ADD_MAP_NOTE #2281 #1401 ~blue~ @15604 ADD_MAP_NOTE #3350 #135 ~blue~ @600039 COPY ~bgt/modify/are/ar7800.are~ ~override/ar7800.are~ // E Baldur's Gate ADD_MAP_NOTE #1780 #2451 ~green~ @14972 ADD_MAP_NOTE #1055 #2015 ~lightgray~ @9917 ADD_MAP_NOTE #3151 #1093 ~lightgray~ @11818 ADD_MAP_NOTE #1073 #3017 ~lightgray~ @11782 ADD_MAP_NOTE #1728 #1354 ~violet~ @20638 ADD_MAP_NOTE #3259 #1974 ~lightgray~ @20639 COPY ~bgt/modify/are/ar7900.are~ ~override/ar7900.are~ // Wyrm's Crossing ADD_MAP_NOTE #2342 #2028 ~gray~ @11765 ADD_MAP_NOTE #4093 #708 ~blue~ @600016 COPY ~bgt/modify/are/ar8000.are~ ~override/ar8000.are~ // SW Baldur's Gate ADD_MAP_NOTE #3535 #1327 ~blue~ @14973 ADD_MAP_NOTE #1556 #1385 ~blue~ @14974 ADD_MAP_NOTE #3255 #2534 ~blue~ @15600 ADD_MAP_NOTE #2742 #1063 ~lightgray~ @11685 ADD_MAP_NOTE #2487 #2377 ~lightgray~ @11685 ADD_MAP_NOTE #2526 #823 ~violet~ @20659 COPY ~bgt/modify/are/ar8100.are~ ~override/ar8100.are~ // S Baldur's Gate ADD_MAP_NOTE #2568 #1858 ~blue~ @14982 ADD_MAP_NOTE #3654 #2976 ~violet~ @14976 ADD_MAP_NOTE #931 #2415 ~green~ @14977 ADD_MAP_NOTE #400 #677 ~blue~ @14983 ADD_MAP_NOTE #2624 #588 ~violet~ @20640 COPY ~bgt/modify/are/ar8200.are~ ~override/ar8200.are~ // SE Baldur's Gate ADD_MAP_NOTE #166 #729 ~violet~ @11671 ADD_MAP_NOTE #2135 #316 ~lightgray~ @11685 ADD_MAP_NOTE #960 #2561 ~lightgray~ @11685 ADD_MAP_NOTE #1699 #2399 ~lightgray~ @11675 COPY ~bgt/modify/are/ar8300.are~ ~override/ar8300.are~ // Fishing Village ADD_MAP_NOTE #1899 #2402 ~gray~ @600027 ADD_MAP_NOTE #3504 #2233 ~blue~ @600028 COPY ~bgt/modify/are/ar8400.are~ ~override/ar8400.are~ // Cloakwood Druids ADD_MAP_NOTE #2194 #1001 ~gray~ #193 ADD_MAP_NOTE #804 #2174 ~blue~ @600031 COPY ~bgt/modify/are/ar8500.are~ ~override/ar8500.are~ // Cloakwood Wyverns ADD_MAP_NOTE #4222 #1709 ~gray~ #193 COPY ~bgt/modify/are/ar8600.are~ ~override/ar8600.are~ // Cloakwood Mines Exterior ADD_MAP_NOTE #3247 #793 ~blue~ @600018 ADD_MAP_NOTE #1375 #1852 ~blue~ @16545 ADD_MAP_NOTE #1904 #1554 ~blue~ @16995 COPY ~bgt/modify/are/ar8601.are~ ~override/ar8601.are~ // Cloakwood Mines Lvl 1 SAY 0x2728 @600005 ADD_MAP_NOTE #1975 #71 ~orange~ @600032 ADD_MAP_NOTE #341 #133 ~gray~ @600033 ADD_MAP_NOTE #1406 #1563 ~gray~ @600021 COPY ~bgt/modify/are/ar8602.are~ ~override/ar8602.are~ // Cloakwood Mines Lvl 3 ADD_MAP_NOTE #2612 #2916 ~gray~ @600021 ADD_MAP_NOTE #756 #1219 ~gray~ @600022 COPY ~bgt/modify/are/ar8603.are~ ~override/ar8603.are~ // Cloakwood Mines Lvl 4 ADD_MAP_NOTE #205 #1177 ~orange~ @600033 ADD_MAP_NOTE #1711 #209 ~gray~ @600022 COPY ~bgt/modify/are/ar8604.are~ ~override/ar8604.are~ // Cloakwood Mines Lvl 2 ADD_MAP_NOTE #436 #1564 ~gray~ @600021 ADD_MAP_NOTE #1157 #110 ~gray~ @600022 COPY ~bgt/modify/are/ar8700.are~ ~override/ar8700.are~ // Bandit Camp ADD_MAP_NOTE #2326 #773 ~gray~ #193 ADD_MAP_NOTE #3655 #957 ~blue~ @600029 COPY ~bgt/modify/are/ar8800.are~ ~override/ar8800.are~ // Cloakwood Spider Nest ADD_MAP_NOTE #1817 #1240 ~blue~ @600030 COPY ~bgt/modify/are/ar9200.are~ ~override/ar9200.are~ // Shipwreck Coast ADD_MAP_NOTE #958 #1646 ~orange~ @600025 COPY ~bgt/modify/are/ar9300.are~ ~override/ar9300.are~ // Beregost Temple ADD_MAP_NOTE #414 #916 ~green~ @14962 ADD_MAP_NOTE #1463 #893 ~green~ @10454 COPY ~bgt/modify/are/ar9500.are~ ~override/ar9500.are~ // Lighthouse ADD_MAP_NOTE #393 #991 ~gray~ #193 ADD_MAP_NOTE #883 #2702 ~orange~ @600026 COPY ~bgt/modify/are/ar9700.are~ ~override/ar9700.are~ // South Beregost Road SAY 0x1cd4 @16342 ADD_MAP_NOTE #1861 #2269 ~gray~ #193 ADD_MAP_NOTE #3172 #1447 ~orange~ @600017 COPY ~bgt/modify/are/ar9799.are~ ~override/ar9799.are~ // Ulcaster Ruins SAY 0x1784 @14969 SAY 0x1848 @14969 ADD_MAP_NOTE #3159 #663 ~gray~ @600038 COPY ~bgt/modify/are/ar9900.are~ ~override/ar9900.are~ // Gullykin ADD_MAP_NOTE #333 #342 ~lightgray~ @11875 ADD_MAP_NOTE #882 #721 ~orange~ @600023 COPY ~bgt/modify/are/ara100.are~ ~override/ara100.are~ // Archaelogical Dig ADD_MAP_NOTE #3035 #1285 ~gray~ #193 ADD_MAP_NOTE #3751 #2173 ~orange~ @600014 COPY ~bgt/modify/are/ard000.are~ ~override/ard000.are~ // Durlag's Tower Exterior ADD_MAP_NOTE #2703 #2163 ~gray~ @600035 COPY ~bgt/modify/are/ard011.are~ ~override/ard011.are~ SAY 0x2cc4 @22997 COPY ~bgt/modify/are/ard014.are~ ~override/ard014.are~ SAY 0x3594 @24078 SAY 0x3658 @24078 SAY 0x371c @24109 COPY ~bgt/modify/are/aru000.are~ ~override/aru000.are~ // Ulgoth's Beard SAY 0x2818 @23976 SAY 0x28dc @24095 ADD_MAP_NOTE #2310 #612 ~blue~ @24095 ADD_MAP_NOTE #350 #626 ~blue~ @600034 COPY ~bgt/modify/are/aru002.are~ ~override/aru002.are~ SAY 0x244 @23796 SAY 0x308 @23796 SAY 0x3cc @23796 SAY 0x490 @23796 COPY ~bgt/modify/are/aru009.are~ ~override/aru009.are~ // Ice Island Dungeon ADD_MAP_NOTE #2389 #1670 ~gray~ #48405 ADD_MAP_NOTE #620 #170 ~gray~ #48405 COPY ~bgt/modify/are/arw500.are~ ~override/arw500.are~ // N Werewolf Island ADD_MAP_NOTE #4200 #1683 ~blue~ #195 ADD_MAP_NOTE #3697 #1143 ~red~ @600025 COPY ~bgt/modify/are/arw012.are~ ~override/arw012.are~ // Werewolf Caverns ADD_MAP_NOTE #974 #1392 ~gray~ #48405 ADD_MAP_NOTE #2977 #401 ~gray~ #48405 /////////////////////////////////////////////////////////////////////////////////// // New songlist - update for ToB areas referencing to unexisting and replaced songs /////////////////////////////////////////////////////////////////////////////////// COPY_EXISTING ~ar0509.are~ ~override/ar0509.are~ READ_LONG 0xbc "song_offset" WRITE_LONG ("%song_offset%") 41 //day song - Tavern1 WRITE_LONG ("%song_offset%"+4) 41 //night song - Tavern1 COPY_EXISTING ~ar0513.are~ ~override/ar0513.are~ READ_LONG 0xbc "song_offset" WRITE_LONG ("%song_offset%") 44 //day song - Tavern4 WRITE_LONG ("%song_offset%"+4) 44 //night song - Tavern4 COPY_EXISTING ~ar1602.are~ ~override/ar1602.are~ READ_LONG 0xbc "song_offset" WRITE_LONG ("%song_offset%") 42 //day song - Tavern2 WRITE_LONG ("%song_offset%"+4) 42 //night song - Tavern2 COPY_EXISTING ~ar2010.are~ ~override/ar2010.are~ READ_LONG 0xbc "song_offset" WRITE_LONG ("%song_offset%") 43 //day song - Tavern3 WRITE_LONG ("%song_offset%"+4) 43 //night song - Tavern3 COPY_EXISTING ~ar2202.are~ ~override/ar2202.are~ READ_LONG 0xbc "song_offset" WRITE_LONG ("%song_offset%") 0 //day song - no sound, drow WRITE_LONG ("%song_offset%"+4) 0 //night song - no sound, drow COPY_EXISTING ~ar2203.are~ ~override/ar2203.are~ READ_LONG 0xbc "song_offset" WRITE_LONG ("%song_offset%") 0 //day song - no sound, drow WRITE_LONG ("%song_offset%"+4) 0 //night song - no sound, drow COPY_EXISTING ~ar5003.are~ ~override/ar5003.are~ READ_LONG 0xbc "song_offset" WRITE_LONG ("%song_offset%") 0 //day song - no sound WRITE_LONG ("%song_offset%"+4) 0 //night song - no sound COPY_EXISTING ~ar5501.are~ ~override/ar5501.are~ READ_LONG 0xbc "song_offset" WRITE_LONG ("%song_offset%") 44 //day song - Tavern4 WRITE_LONG ("%song_offset%"+4) 44 //night song - Tavern4 /////////////////////////////////////////////////////// // Scripts /////////////////////////////////////////////////////// PRINT ~~ PRINT @100006 //////////////////////// // Compatibility scripts //////////////////////// // Compatibility with TDD ACTION_IF FILE_EXISTS_IN_GAME ~DD0012.are~ THEN BEGIN //****** Multiple *************************************************************** COPY_EXISTING ~baldur.bcs~ ~override/baldur.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("harperxzarfued","GLOBAL",0)~ //prevent Harpers attacking Xzar in BG1 ~Gloxbal("harperxzarfued","GLOBAL",0) Global("ENDOFBG1","GLOBAL",2)~ REPLACE_TEXTUALLY ~Gloxbal("harperxzarfued","GLOBAL",0)~ ~Global("harperxzarfued","GLOBAL",0)~ REPLACE_TEXTUALLY ~InParty("kagaindd")[^!]*InParty("yeslicdd")~ //prevent Kagain and Yeslick attacking in BG1 ~InParty("kagaindd") Global("ENDOFBG1","GLOBAL",2) InParty("yeslicdd")~ REPLACE_TEXTUALLY ~"kagaindd"~ ~"Kagain"~ //change DeathVar check REPLACE_TEXTUALLY ~"yeslicdd"~ ~"Yeslick"~ //change DeathVar check REPLACE_TEXTUALLY ~"montydd"~ ~"Montaron"~ //change DeathVar check REPLACE_TEXTUALLY ~"xzardd"~ ~"Xzar"~ //change DeathVar check COMPILE_BAF_TO_BCS //******************************************************************************** //****** Kivan ****************************************************************** EXTEND_TOP ~ar1100.bcs~ ~bgt/compat/tdd/replace/xar1100.baf~ //BAF modified COPY_EXISTING ~ddkiv1.bcs~ ~override/ddkiv1.bcs~ //TDD script DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"kivandd"~ ~"Kivan"~ //change DeathVar check COMPILE_BAF_TO_BCS //******************************************************************************** //****** Kagain ****************************************************************** EXTEND_TOP ~ar0020.bcs~ ~bgt/compat/tdd/replace/xar0020.baf~ //BAF modified //******************************************************************************** //****** Yeslick ***************************************************************** EXTEND_TOP ~ar0900.bcs~ ~bgt/compat/tdd/replace/xar0900.baf~ //BAF modified //******************************************************************************** //****** Shar-Teel *************************************************************** EXTEND_TOP ~ar1005.bcs~ ~bgt/compat/tdd/replace/xar1005.baf~ COPY_EXISTING ~ar0400.bcs~ ~override/ar0400.bcs~ //TDD scripts ~sharfit1.bcs~ ~override/sharfit1.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"shartedd"~ ~"Sharteel"~ //change DeathVar check COMPILE_BAF_TO_BCS COPY_EXISTING ~sharwins.dlg~ ~override/sharwins.dlg~ //TDD dialogue DECOMPILE_DLG_TO_D REPLACE_TEXTUALLY ~"shartedd"~ ~"Sharteel"~ //change DeathVar check COMPILE_D_TO_DLG //******************************************************************************** //****** Montaron **************************************************************** // as far as he's going to be resurrected there's no continuation - his new location is unknown // based on montar13.cre from TDD //******************************************************************************** //****** Xzar ******************************************************************** COPY_EXISTING ~ar0300.bcs~ ~override/ar0300.bcs~ REPLACE_BCS_BLOCK ~bgt/compat/tdd/replace/rar0300.baf~ ~bgt/compat/tdd/replace/xar0300.baf~ //find BAF COPY_EXISTING ~montyras.bcs~ ~override/montyras.bcs~ //TDD scripts ~dplayer2.bcs~ ~override/dplayer2.bcs~ //TDD scripts ~harpass2.bcs~ ~override/harpass2.bcs~ //TDD scripts DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"xzardd"~ ~"Xzar"~ //change DeathVar check COMPILE_BAF_TO_BCS COPY_EXISTING ~montap.dlg~ ~override/montap.dlg~ //TDD dialogue ~xzardd.dlg~ ~override/xzardd.dlg~ ~xzarthxb.dlg~ ~override/xzarthxb.dlg~ DECOMPILE_DLG_TO_D REPLACE_TEXTUALLY ~"xzardd"~ ~"Xzar"~ //change DeathVar check COMPILE_D_TO_DLG //******************************************************************************** END ELSE BEGIN COMPILE ~bgt/compat/bgt/montaron.baf~ COMPILE ~bgt/compat/bgt/sharteel.baf~ COMPILE ~bgt/compat/bgt/xzar.baf~ END // Compatibility with TS ACTION_IF FILE_EXISTS_IN_GAME ~kachi01.wav~ THEN BEGIN EXTEND_TOP ~ar2600.bcs~ ~bgt/compat/ts/replace/xar2600.baf~ EXTEND_BOTTOM ~coran.bcs~ ~bgt/compat/ts/replace/xcoran.baf~ EXTEND_BOTTOM ~dynaheir.bcs~ ~bgt/compat/bgt/dynaheir.baf~ END ELSE BEGIN COMPILE ~bgt/compat/bgt/dynaheir.baf~ END ////////////////////////////////////////////////////////////////////////// // Script Installation: BG1 scripts existing in BG2 but needs modification ////////////////////////////////////////////////////////////////////////// ///////////////// //Chapter Changes ///////////////// COPY_EXISTING ~amnish3.bcs~ ~override/amnish3.bcs~ ~amnish4.bcs~ ~override/amnish4.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",3)~ ~Global("Chapter","GLOBAL",4)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~brilla.bcs~ ~override/brilla.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",7)~ ~Global("Chapter","GLOBAL",8)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~emerson.bcs~ ~override/emerson.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",3)~ ~Global("Chapter","GLOBAL",4)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~fergus.bcs~ ~override/fergus.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",7)~ ~Global("Chapter","GLOBAL",8)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~gateward.bcs~ ~override/gateward.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",0)~ ~Global("Chapter","GLOBAL",1)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~leavech7.bcs~ ~override/leavech7.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",7)~ ~Global("Chapter","GLOBAL",8)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~poghma8.bcs~ ~override/poghma8.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",0)~ ~Global("Chapter","GLOBAL",1)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~reader6.bcs~ ~override/reader6.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",0)~ ~Global("Chapter","GLOBAL",1)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~tethtorl.bcs~ ~override/tethtorl.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",0)~ ~Global("Chapter","GLOBAL",1)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~watch3.bcs~ ~override/watch3.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",0)~ ~Global("Chapter","GLOBAL",1)~ COMPILE_BAF_TO_BCS ////////////// //Area Changes ////////////// COPY_EXISTING ~andris.bcs~ ~override/andris.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR1009"~ ~"ARU009"~ COMPILE_BAF_TO_BCS COPY_EXISTING ~bragecut.bcs~ ~override/bragecut.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR4802"~ ~"AR3702"~ REPLACE_TEXTUALLY ~"AR4800"~ ~"AR3700"~ REPLACE_TEXTUALLY ~TRBRACAP~ ~~ COMPILE_BAF_TO_BCS COPY_EXISTING ~capcut01.bcs~ ~override/capcut01.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR0607"~ ~"AR7607"~ REPLACE_TEXTUALLY ~"AR1100"~ ~"AR8000"~ REPLACE_TEXTUALLY ~TRFSTCAP~ ~~ COMPILE_BAF_TO_BCS COPY_EXISTING ~capcut02.bcs~ ~override/capcut02.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR1100"~ ~"AR8000"~ REPLACE_TEXTUALLY ~TRCDJAIL~ ~~ COMPILE_BAF_TO_BCS COPY_EXISTING ~davaeorn.bcs~ ~override/davaeorn.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR1803"~ ~"AR8603"~ REPLACE_TEXTUALLY ~"AR0116"~ ~"AR7216"~ COMPILE_BAF_TO_BCS COPY_EXISTING ~digcut01.bcs~ ~override/digcut01.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR4101"~ ~"ARA101"~ REPLACE_TEXTUALLY ~"AR4100"~ ~"ARA100"~ REPLACE_TEXTUALLY ~"Door4101a"~ ~"DoorA101a"~ REPLACE_TEXTUALLY ~TRCHRSTN~ ~~ COMPILE_BAF_TO_BCS COPY_EXISTING ~scarcut.bcs~ ~override/scarcut.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR0608"~ ~"AR7608"~ REPLACE_TEXTUALLY ~"AR1100"~ ~"AR8000"~ COMPILE_BAF_TO_BCS COPY_EXISTING ~tranzig.bcs~ ~override/tranzig.bcs~ // ~tranzi.bcs~ ~override/tranzi.bcs~ //unused script DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR1900"~ ~"AR8700"~ COMPILE_BAF_TO_BCS //////////////////////////////// //BG1->BG2 Compatibility Changes //////////////////////////////// COPY_EXISTING ~actboun.bcs~ ~override/actboun.bcs~ ~actnesto.bcs~ ~override/actnesto.bcs~ ~acttelan.bcs~ ~override/acttelan.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ReputationLT(LastTrigger,4)~ ~OR(6) ReputationLT(Player1,4) ReputationLT(Player2,4) ReputationLT(Player3,4) ReputationLT(Player4,4) ReputationLT(Player5,4) ReputationLT(Player6,4)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~actflam.bcs~ ~override/actflam.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ReputationLT(LastTrigger,3)~ ~OR(6) ReputationLT(Player1,3) ReputationLT(Player2,3) ReputationLT(Player3,3) ReputationLT(Player4,3) ReputationLT(Player5,3) ReputationLT(Player6,3)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~bancut01.bcs~ ~override/bancut01.bcs~ ~bancut02.bcs~ ~override/bancut02.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR1900"~ ~"AR8700"~ REPLACE_TEXTUALLY ~CreateCreature("TAZOK"~ ~CreateCreature("BGTAZOK"~ REPLACE_TEXTUALLY ~trcarvan~ ~~ REPLACE_TEXTUALLY ~ChangeAIScript("bandct",OVERRIDE)~ ~~ //seems like a typo REPLACE_TEXTUALLY ~CutSceneId(Player1)[^!]*LeaveAreaLUAPanic("AR8700","",\[1095\.1380\],10)~ ~CutSceneId(Player1) SetGlobal("EnteredBanditCamp","GLOBAL",1) LeaveAreaLUAPanic("AR8700","",[1095.1380],10)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~belt.bcs~ ~override/belt.bcs~ EXTEND_TOP ~belt.bcs~ ~bgt/modify/baf/abelt.baf~ COPY_EXISTING ~ch4end.bcs~ ~override/ch4end.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR1800"~ ~"AR8600"~ REPLACE_TEXTUALLY ~19717~ ~11108~ COMPILE_BAF_TO_BCS COPY_EXISTING ~davcut01.bcs~ ~override/davcut01.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~RevealAreaOnMap("AR0900")[^!]*IncrementChapter("Chptxt5")[^!]*AddJournalEntry(15839,USER)~ ~RevealAreaOnMap("AR7900") SetGlobal("Chapter","GLOBAL",4) IncrementChapter("Chptxt-5") SetGlobal("Chapter","GLOBAL",6) AddJournalEntry(15839,INFO)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~endch4.bcs~ ~override/endch4.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",4)~ ~Global("Chapter","GLOBAL",5)~ REPLACE_TEXTUALLY ~RevealAreaOnMap("AR0900")[^!]*IncrementChapter("Chptxt5")[^!]*AddJournalEntry(15839,USER)~ ~RevealAreaOnMap("AR7900") SetGlobal("Chapter","GLOBAL",4) IncrementChapter("Chptxt-5") SetGlobal("Chapter","GLOBAL",6) AddJournalEntry(15839,INFO)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~endcut01.bcs~ ~override/endcut01.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ForceSpell("Sarevok",DRYAD_TELEPORT)[^!]*ForceSpell(Myself,DRYAD_TELEPORT)~ ~ForceSpell("Sarevok",DRYAD_TELEPORT) SetGlobal("SarevokBehavior","GLOBAL",1) ForceSpell(Myself,DRYAD_TELEPORT)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~erik.bcs~ ~override/erik.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~HitBy(\[PC\],CRUSHING)[^!]*Global("JonHit","GLOBAL",0)~ ~OR(2) HitBy([PC],CRUSHING) HitBy([FAMILIAR],CRUSHING) Global("JonHit","GLOBAL",0)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~flam10.bcs~ ~override/flam10.bcs~ EXTEND_TOP ~flam10.bcs~ ~bgt/modify/baf/aflam10.baf~ COPY_EXISTING ~ftowbaz.bcs~ ~override/ftowbaz.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",7)~ ~GlobalLT("ENDOFBG1","GLOBAL",2) Global("Chapter","GLOBAL",8)~ REPLACE_TEXTUALLY ~Global("DukeThanks","GLOBAL",1)~ ~GlobalLT("ENDOFBG1","GLOBAL",2) Gloxbal("DukeThanks","GLOBAL",1)~ REPLACE_TEXTUALLY ~Gloxbal("DukeThanks","GLOBAL",1)~ ~Global("DukeThanks","GLOBAL",1)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~ftowbez.bcs~ ~override/ftowbez.bcs~ ~ftownaz.bcs~ ~override/ftownaz.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",3)~ ~GlobalLT("ENDOFBG1","GLOBAL",2) Global("Chapter","GLOBAL",4)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~jondalar.bcs~ ~override/jondalar.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~HitBy(\[PC\],CRUSHING)[^!]*Global("JonHit","GLOBAL",0)~ ~OR(2) HitBy([PC],CRUSHING) HitBy([FAMILIAR],CRUSHING) Global("JonHit","GLOBAL",0)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~kaisha.bcs~ ~override/kaisha.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ForceSpell(Myself,KAISHAS_CHANGE)~ ~ForceSpellRES("BGWI925",Myself)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~mtowbaz.bcs~ ~override/mtowbaz.bcs~ EXTEND_BOTTOM ~mtowbaz.bcs~ ~bgt/modify/baf/amtowbaz.baf~ COPY_EXISTING ~mtowbez.bcs~ ~override/mtowbez.bcs~ ~mtownaz.bcs~ ~override/mtownaz.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",3)~ ~GlobalLT("ENDOFBG1","GLOBAL",2) Global("Chapter","GLOBAL",4)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~noblbaz.bcs~ ~override/noblbaz.bcs~ ~nobwbaz.bcs~ ~override/nobwbaz.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Chapter","GLOBAL",7)~ ~GlobalLT("ENDOFBG1","GLOBAL",2) Global("Chapter","GLOBAL",8)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~semaj.bcs~ ~override/semaj.bcs~ DECOMPILE_BCS_TO_BAF REPLACE ~24097~ @401112 REPLACE ~24098~ @401113 REPLACE ~24099~ @401114 COMPILE_BAF_TO_BCS COPY_EXISTING ~ship.bcs~ ~override/ship.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR1000"~ ~"ARU000"~ REPLACE ~24016~ @401100 COMPILE_BAF_TO_BCS //in connection to thiefg.dlg COPY_EXISTING ~thief.bcs~ ~override/thief.bcs~ ~thieves.bcs~ ~override/thieves.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AttackedThieves"~ ~"BG_AttackedThieves"~ COMPILE_BAF_TO_BCS COPY_EXISTING ~ttarnor.bcs~ ~override/ttarnor.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"TARNOR"~ ~"BGTARNOR"~ COMPILE_BAF_TO_BCS //changes to script ResRef COPY_EXISTING ~tanari.bcs~ ~override/bgtanari.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ForceSpell(\([^,]*\),TANARI_DEATH_GAZE)~ ~ForceSpellRES("BGIN996",\1)~ COMPILE_BAF_TO_BCS /////////////////////////////////// // Script Installation: BG2 scripts /////////////////////////////////// COPY ~bgt/base/bs/agen.bs~ ~scripts/agen.bs~ ~bgt/base/bs/apass.bs~ ~scripts/apass.bs~ //BG1 and BG2 both use these area numbers //Scripts in BG2 contain BG1 stuff //Therefore, remove the BG1 stuff from these scripts ACTION_IF NOT FILE_EXISTS_IN_GAME ~cdbehbla.pro~ THEN BEGIN //Compatibility with BG2 Fixpack COPY_EXISTING ~ar0512.bcs~ ~override/ar0512.bcs~ REPLACE_BCS_BLOCK ~bgt/modify/replace/rar0512.baf~ ~bgt/modify/replace/empty.baf~ COPY_EXISTING ~ar0514.bcs~ ~override/ar0514.bcs~ REPLACE_BCS_BLOCK ~bgt/modify/replace/rar0514.baf~ ~bgt/modify/replace/empty.baf~ COPY_EXISTING ~ar1700.bcs~ ~override/ar1700.bcs~ REPLACE_BCS_BLOCK ~bgt/modify/replace/rar1700.baf~ ~bgt/modify/replace/empty.baf~ COPY_EXISTING ~ar1800.bcs~ ~override/ar1800.bcs~ REPLACE_BCS_BLOCK ~bgt/modify/replace/rar1800.baf~ ~bgt/modify/replace/empty.baf~ COPY_EXISTING ~ar2001.bcs~ ~override/ar2001.bcs~ REPLACE_BCS_BLOCK ~bgt/modify/replace/rar2001.baf~ ~bgt/modify/replace/empty.baf~ END COPY_EXISTING ~ar0304.bcs~ ~override/ar0304.bcs~ EXTEND_TOP ~ar0304.bcs~ ~bgt/modify/baf/aar0304.baf~ COPY_EXISTING ~ar0602.bcs~ ~override/ar0602.bcs~ REPLACE_BCS_BLOCK ~bgt/compat/bgt/replace/rar0602.baf~ ~bgt/compat/bgt/replace/xar0602.baf~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("TakeImportItems","AR0602",0)~ ~Gloxbal("TakeImportItems","AR0602",0) Global("MinscImport","GLOBAL",2) Global("JaheiraImport","GLOBAL",2) Global("ImoenImport","GLOBAL",2) Global("BGImportIncomplete","AR0602",0)~ //works if CtB installed previously as well REPLACE_TEXTUALLY ~Gloxbal("TakeImportItems","AR0602",0)~ ~Global("TakeImportItems","AR0602",0)~ REPLACE_TEXTUALLY ~InParty("Imoen")~ ~InParty("Imoen2")~ PATCH_IF FILE_EXISTS_IN_GAME ~cdbehbla.pro~ THEN BEGIN //Compatibility with BG2 Fixpack REPLACE_TEXTUALLY ~ActionOverride(Player[1-6],MakeUnselectable(2147483647))~ ~~ END REPLACE ~401118~ @401118 COMPILE_BAF_TO_BCS COPY_EXISTING ~ar1000.bcs~ ~override/ar1000.bcs~ EXTEND_BOTTOM ~ar1000.bcs~ ~bgt/modify/baf/aar1000.baf~ COPY_EXISTING ~ar4000.bcs~ ~override/ar4000.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~SetGlobal("TurnDay","AR4000",1)~ ~SetGloxbal("TurnDay","AR4000",1) SetGlobal("ENDOFBG1","GLOBAL",2)~ REPLACE_TEXTUALLY ~SetGloxbal("TurnDay","AR4000",1)~ ~SetGlobal("TurnDay","AR4000",1)~ COMPILE_BAF_TO_BCS //BGT Credits COPY_EXISTING ~ar6200.bcs~ ~override/ar6200.bcs~ REPLACE_BCS_BLOCK ~bgt/modify/replace/rar6200.baf~ ~bgt/modify/replace/xar6200.baf~ COPY_EXISTING ~bear.bcs~ ~override/bear.bcs~ REPLACE_BCS_BLOCK ~bgt/modify/replace/rbear.baf~ ~bgt/modify/replace/xbear.baf~ COPY_EXISTING ~dplayer2.bcs~ ~override/dplayer2.bcs~ EXTEND_BOTTOM ~dplayer2.bcs~ ~bgt/modify/baf/adplayer2.baf~ EXTEND_BOTTOM ~dplayer2.bcs~ ~bgt/modify/baf/adplayerx.baf~ COPY_EXISTING ~dplayer3.bcs~ ~override/dplayer3.bcs~ EXTEND_BOTTOM ~dplayer3.bcs~ ~bgt/modify/baf/adplayer3.baf~ EXTEND_BOTTOM ~dplayer3.bcs~ ~bgt/modify/baf/adplayerx.baf~ COPY_EXISTING ~jaheira.bcs~ ~override/jaheira.bcs~ EXTEND_BOTTOM ~jaheira.bcs~ ~bgt/modify/baf/ajaheira.baf~ //different from BG1, used by garrick.cre (in BG2) COPY_EXISTING ~mage2.bcs~ ~override/bg2mage2.bcs~ COPY_EXISTING ~player1d.bcs~ ~override/player1d.bcs~ EXTEND_TOP ~player1d.bcs~ ~bgt/modify/baf/aplayer1d.baf~ COPY_EXISTING ~runenemy.bcs~ ~override/runenemy.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~See(\[ENEMY\])~ ~Global("ENDOFBG1","GLOBAL",2) Seex([ENEMY])~ REPLACE_TEXTUALLY ~Seex(\[ENEMY\])~ ~See([ENEMY])~ COMPILE_BAF_TO_BCS EXTEND_TOP ~runenemy.bcs~ ~bgt/modify/baf/arunenemy.baf~ ////////////////////////////// //Imoen death variable changes ////////////////////////////// //Compatibility with NeJ: Custom Imoen Kit ACTION_IF NOT FILE_EXISTS_IN_GAME ~SPIN506.SPL~ THEN BEGIN EXTEND_TOP ~ar1512.bcs~ ~bgt/compat/bgt/replace/aar1512.baf~ COPY_EXISTING ~clonroom.bcs~ ~override/clonroom.bcs~ ~elleroom.bcs~ ~override/elleroom.bcs~ ~library.bcs~ ~override/library.bcs~ ~newgame.bcs~ ~override/newgame.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"Imoen"~ ~"Imoen2"~ COMPILE_BAF_TO_BCS COPY_EXISTING ~cut01.bcs~ ~override/cut01.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"Imoen"~ ~"Imoen2"~ REPLACE_TEXTUALLY ~"None"~ ~""~ COMPILE_BAF_TO_BCS COPY_EXISTING ~tele0700.bcs~ ~override/tele0700.bcs~ REPLACE_BCS_BLOCK ~bgt/compat/bgt/replace/rtele0700.baf~ ~bgt/compat/bgt/replace/xtele0700.baf~ COMPILE ~bgt/compat/bgt/cut01bgt.baf~ END ELSE BEGIN COPY_EXISTING ~ar0602.bcs~ ~override/ar0602.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ActionOverride("Imoen2",CreateItem("Imoenhp1",1,0,0))~ ~~ REPLACE_TEXTUALLY ~ActionOverride("Imoen2",FillSlot(SLOT_BELT))~ ~~ COMPILE_BAF_TO_BCS COPY_EXISTING ~newgame.bcs~ ~override/newgame.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ActionOverride("Imoen2",DestroySelf())~ ~~ REPLACE_TEXTUALLY ~CreateCreature("Imoen10",\[3198\.2837\],0)~ ~~ COMPILE_BAF_TO_BCS COPY_EXISTING ~cut01.bcs~ ~override/cut01.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ActionOverride("Imoen2",SetDialogu?e?("IMOEN2"))[^!]*ActionOverride("Imoen2",ChangeAIScript("",DEFAULT))~ ~ActionOverride("Imoen2",SetDialog("IMOEN2")) ActionOverride("Imoen2",SetNumTimesTalkedTo(0)) ActionOverride("Imoen2",ChangeAIScript("",DEFAULT))~ COMPILE_BAF_TO_BCS END //////////////////////////////////////////////////////////////////////////////// COMPILE ~bgt/base/baf~ //////////////////////////////////////////////////////////////////////////////// // Script Installation: stone death checks //////////////////////////////////////////////////////////////////////////////// EXTEND_TOP ~ajantis.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~alora.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~bgbranw.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~coran.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~bgedwin.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~dynaheir.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~bgfaldrn.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~eldoth.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~bggarrik.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~bgimoen.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~bgjheira.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~kagain.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~khalid.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~kivan.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~bgminsc.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~montaron.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~quayle.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~safana.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~sharteel.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~bgskie.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~tiax.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~bgvicnia.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~xan.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~xzar.bcs~ ~bgt/modify/baf/apetrify.baf~ EXTEND_TOP ~yeslick.bcs~ ~bgt/modify/baf/apetrify.baf~ /////////////////////////////////////////////////////// //Transition Compatibility /////////////////////////////////////////////////////// // Compatibility with TDD ACTION_IF FILE_EXISTS_IN_GAME ~DD0012.are~ THEN BEGIN COPY_EXISTING ~aram00.bcs~ ~override/aram00.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ActionOverride("Kivan",LeaveParty())[^!]*ActionOverride("Kivan",ChangeAIScript("",DEFAULT))[^!]*ActionOverride("Kivan",ClearAllActions())[^!]*ActionOverride("Kivan",DestroySelf())~ ~ActionOverride("Kivan",LeaveParty()) ActionOverride("Kivan",ChangeAIScript("",DEFAULT)) ActionOverride("Kivan",ClearAllActions()) SetGlobal("KivanPartyBG1","GLOBAL",1) ActionOverride("Kivan",ChangeAIScript("SBTKIV",CLASS)) ActionOverride("Kivan",MoveBetweenAreas("AR1100",[4172.1239],4))~ REPLACE_TEXTUALLY ~ActionOverride("Kagain",LeaveParty())[^!]*ActionOverride("Kagain",ChangeAIScript("",DEFAULT))[^!]*ActionOverride("Kagain",ClearAllActions())[^!]*ActionOverride("Kagain",DestroySelf())~ ~ActionOverride("Kagain",LeaveParty()) ActionOverride("Kagain",ChangeAIScript("",DEFAULT)) ActionOverride("Kagain",ClearAllActions()) SetGlobal("KagainPartyBG1","GLOBAL",1) ActionOverride("Kagain",ChangeAIScript("SBTKAG",CLASS)) ActionOverride("Kagain",MoveBetweenAreas("AR0020",[547.494],12))~ REPLACE_TEXTUALLY ~ActionOverride("Yeslick",LeaveParty())[^!]*ActionOverride("Yeslick",ChangeAIScript("",DEFAULT))[^!]*ActionOverride("Yeslick",ClearAllActions())[^!]*ActionOverride("Yeslick",DestroySelf())~ ~ActionOverride("Yeslick",LeaveParty()) ActionOverride("Yeslick",ChangeAIScript("",DEFAULT)) ActionOverride("Yeslick",ClearAllActions()) SetGlobal("YeslickPartyBG1","GLOBAL",1) ActionOverride("Yeslick",ChangeAIScript("SBTYES",RACE)) ActionOverride("Yeslick",MoveBetweenAreas("AR0900",[3445.1896],4))~ REPLACE_TEXTUALLY ~ActionOverride("Sharteel",LeaveParty())[^!]*ActionOverride("Sharteel",ChangeAIScript("",DEFAULT))[^!]*ActionOverride("Sharteel",ClearAllActions())[^!]*ActionOverride("Sharteel",DestroySelf())~ ~ActionOverride("Sharteel",LeaveParty() ActionOverride("Sharteel",ChangeAIScript("",DEFAULT)) ActionOverride("Sharteel",ClearAllActions()) SetGlobal("SharteelPartyBG1","GLOBAL",1) ActionOverride("Sharteel",ChangeAIScript("SBTSHR",CLASS)) ActionOverride("Sharteel",MoveBetweenAreas("AR1005",[1131.335],8))~ REPLACE_TEXTUALLY ~ActionOverride("Xzar",LeaveParty())[^!]*ActionOverride("Xzar",ChangeAIScript("",DEFAULT))[^!]*ActionOverride("Xzar",ClearAllActions())[^!]*ActionOverride("Xzar",DestroySelf())~ ~ActionOverride("Xzar",LeaveParty()) ActionOverride("Xzar",ChangeAIScript("",DEFAULT)) ActionOverride("Xzar",ClearAllActions()) SetGlobal("XzarPartyBG1","GLOBAL",1) ActionOverride("Xzar",ChangeAIScript("SBTXZR",RACE)) ActionOverride("Xzar",MoveBetweenAreas("AR0300",[2372.2475],0))~ COMPILE_BAF_TO_BCS END // Compatibility with TS ACTION_IF FILE_EXISTS_IN_GAME ~kachi01.wav~ THEN BEGIN COPY_EXISTING ~aram00.bcs~ ~override/aram00.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ActionOverride("Coran",LeaveParty())[^!]*ActionOverride("Coran",ChangeAIScript("",DEFAULT))[^!]*ActionOverride("Coran",ClearAllActions())[^!]*ActionOverride("Coran",DestroySelf())~ ~ActionOverride("Coran",LeaveParty()) ActionOverride("Coran",ChangeAIScript("",DEFAULT)) ActionOverride("Coran",ClearAllActions()) SetGlobal("CoranPartyBG1","GLOBAL",1) ActionOverride("Coran",MoveBetweenAreas("AR2600",[826.1135],0))~ COMPILE_BAF_TO_BCS END /////////////////////////////////////////////////////// // Dialogue /////////////////////////////////////////////////////// PRINT ~~ PRINT @100007 MKDIR ~bg1d~ COPY + ~bgt/base/d~ ~bg1d~ ~bgt/base/d_bg1~ ~bg1d~ // Compatibility with TDD ACTION_IF FILE_EXISTS_IN_GAME ~DD0012.are~ THEN BEGIN COPY + ~bgt/compat/tdd/kagaip.d~ ~bg1d/kagaip.d~ ~bgt/compat/tdd/kivanp.d~ ~bg1d/kivanp.d~ ~bgt/compat/tdd/montap.d~ ~bg1d/montap.d~ ~bgt/compat/tdd/shartp.d~ ~bg1d/shartp.d~ ~bgt/compat/tdd/xzarp.d~ ~bg1d/xzarp.d~ ~bgt/compat/tdd/yeslip.d~ ~bg1d/yeslip.d~ END ELSE BEGIN COPY + ~bgt/compat/bgt/kagaip.d~ ~bg1d/kagaip.d~ ~bgt/compat/bgt/kivanp.d~ ~bg1d/kivanp.d~ ~bgt/compat/bgt/montap.d~ ~bg1d/montap.d~ ~bgt/compat/bgt/shartp.d~ ~bg1d/shartp.d~ ~bgt/compat/bgt/xzarp.d~ ~bg1d/xzarp.d~ ~bgt/compat/bgt/yeslip.d~ ~bg1d/yeslip.d~ END // Compatibility with SoS ACTION_IF FILE_EXISTS_IN_GAME ~AR4230.are~ THEN BEGIN COPY + ~bgt/compat/sos/sosreplace.d~ ~bg1d/sosreplace.d~ END // Compatibility with TS ACTION_IF FILE_EXISTS_IN_GAME ~kachi01.wav~ THEN BEGIN COPY + ~bgt/compat/ts/replace/xbcoran.d~ ~bg1d/xbcoran.d~ ~bgt/compat/ts/replace/xcoran.d~ ~bg1d/xcoran.d~ ~bgt/compat/ts/replace/xcoranj.d~ ~bg1d/xcoranj.d~ ~bgt/compat/ts/replace/xcoranp.d~ ~bg1d/xcoranp.d~ ~bgt/compat/ts/replace/xdynaj.d~ ~bg1d/xdynaj.d~ ~bgt/compat/ts/replace/xdynap.d~ ~bg1d/xdynap.d~ ~bgt/compat/ts/replace/xchess.d~ ~bg1d/xchess.d~ END ELSE BEGIN COPY + ~bgt/compat/bgt/bcoran.d~ ~bg1d/bcoran.d~ ~bgt/compat/bgt/coran.d~ ~bg1d/coran.d~ ~bgt/compat/bgt/coranj.d~ ~bg1d/coranj.d~ ~bgt/compat/bgt/coranp.d~ ~bg1d/coranp.d~ ~bgt/compat/bgt/dynaj.d~ ~bg1d/dynaj.d~ ~bgt/compat/bgt/dynap.d~ ~bg1d/dynap.d~ ~bgt/compat/bgt/chess.d~ ~bg1d/chess.d~ END // Compatibility with NeJ: Custom Imoen Kit ACTION_IF NOT FILE_EXISTS_IN_GAME ~SPIN506.SPL~ THEN BEGIN COPY_EXISTING ~imoen2j.dlg~ ~override/imoen2j.dlg~ READ_LONG 0x8 num_states BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~idryad1.dlg~ ~override/idryad1.dlg~ //updates IMOENJ to IMOEN2J dialogue trans ~igolem2.dlg~ ~override/igolem2.dlg~ ~ishadmt1.dlg~ ~override/ishadmt1.dlg~ ~jaheira.dlg~ ~override/jaheira.dlg~ ~jaheiraj.dlg~ ~override/jaheiraj.dlg~ ~minsca.dlg~ ~override/minsca.dlg~ ~rielev.dlg~ ~override/rielev.dlg~ ~yoshimo.dlg~ ~override/yoshimo.dlg~ READ_LONG 0x14 off_response READ_SHORT 0x10 num_response FOR( i=0;i<%num_response%;i+=1 ) BEGIN READ_ASCII (%off_response% + %i%*0x20 + 0x14) next_dialog READ_LONG (%off_response% + %i%*0x20 + 0x1c) next_state PATCH_IF (("%next_dialog%" STRING_COMPARE_CASE "IMOENJ")=0) BEGIN WRITE_ASCII (%off_response% + %i%*0x20 + 0x14) "IMOEN2J" SET %next_state% = %next_state% + %num_states% WRITE_LONG (%off_response% + %i%*0x20 + 0x1c) %next_state% END END BUT_ONLY_IF_IT_CHANGES //compile first instead of copy to BG1D for BG1NPC compatibility //otherwise imoen2j and imoen2p appended twice, not knowing which appendage goes first COMPILE ~bgt/compat/bgt/replace/aimoen2j.d~ COMPILE ~bgt/compat/bgt/replace/aimoen2p.d~ END // Compatibility with NeJ2 ACTION_IF FILE_EXISTS_IN_GAME ~eyebite.itm~ THEN BEGIN COPY + ~bgt/compat/nej2/replace/ajaheirap.d~ ~bg1d/ajaheirap.d~ COPY + ~bgt/compat/nej2/replace/xxan.d~ ~bg1d/xxan.d~ END ELSE BEGIN COPY + ~bgt/compat/bgt/ajaheirap.d~ ~bg1d/ajaheirap.d~ COPY + ~bgt/compat/bgt/xan.d~ ~bg1d/xan.d~ END //BG1NPC Fluid State Compatibility COPY_EXISTING ~bedwin.dlg~ ~bgt/compat/bg1npc/bedwin.dlg~ ~bjaheir.dlg~ ~bgt/compat/bg1npc/bjahei.dlg~ ~bminsc.dlg~ ~bgt/compat/bg1npc/bminsc.dlg~ ~bviconi.dlg~ ~bgt/compat/bg1npc/bvicon.dlg~ ~edwin.dlg~ ~bgt/compat/bg1npc/edwin.dlg~ ~edwinj.dlg~ ~bgt/compat/bg1npc/edwinj.dlg~ ~edwinp.dlg~ ~bgt/compat/bg1npc/edwinp.dlg~ ~imoen2.dlg~ ~bgt/compat/bg1npc/imoen2.dlg~ ~imoen2j.dlg~ ~bgt/compat/bg1npc/imoenj.dlg~ ~imoen2p.dlg~ ~bgt/compat/bg1npc/imoenp.dlg~ ~jaheiraj.dlg~ ~bgt/compat/bg1npc/jaheij.dlg~ ~jaheirap.dlg~ ~bgt/compat/bg1npc/jaheip.dlg~ ~minscj.dlg~ ~bgt/compat/bg1npc/minscj.dlg~ ~minscp.dlg~ ~bgt/compat/bg1npc/minscp.dlg~ ~viconij.dlg~ ~bgt/compat/bg1npc/viconj.dlg~ ~viconip.dlg~ ~bgt/compat/bg1npc/viconp.dlg~ READ_LONG 0x8 BG1NPC_num_states SPRINT BG1NPC_dlg_name EVALUATE_BUFFER "%DEST_RES%" INNER_ACTION BEGIN COPY ~bgt/compat/bg1npc/fluidstates.tpa~ ~bgt/compat/bg1npc/fluidstates.tpa~ REPLACE_TEXTUALLY ~\(BGT%BG1NPC_dlg_name%State0 = \)0~ ~\1%BG1NPC_num_states%~ END // Compatibility with NeJ2 ACTION_IF FILE_EXISTS_IN_GAME ~eyebite.itm~ THEN BEGIN COPY_EXISTING ~xan.dlg~ ~bgt/compat/bg1npc/xan.dlg~ READ_LONG 0x8 BG1NPC_num_states SPRINT BG1NPC_dlg_name EVALUATE_BUFFER "%DEST_RES%" INNER_ACTION BEGIN COPY ~bgt/compat/bg1npc/fluidstates.tpa~ ~bgt/compat/bg1npc/fluidstates.tpa~ REPLACE_TEXTUALLY ~\(BGT%BG1NPC_dlg_name%State0 = \)0~ ~\1%BG1NPC_num_states%~ END BUT_ONLY END // Compatibility with TDD ACTION_IF FILE_EXISTS_IN_GAME ~DD0012.are~ THEN BEGIN COPY_EXISTING ~kagaip.dlg~ ~bgt/compat/bg1npc/kagaip.dlg~ ~kivanp.dlg~ ~bgt/compat/bg1npc/kivanp.dlg~ ~shartp.dlg~ ~bgt/compat/bg1npc/shartp.dlg~ ~xzarp.dlg~ ~bgt/compat/bg1npc/xzarp.dlg~ ~yeslip.dlg~ ~bgt/compat/bg1npc/yeslip.dlg~ READ_LONG 0x8 BG1NPC_num_states SPRINT BG1NPC_dlg_name EVALUATE_BUFFER "%DEST_RES%" INNER_ACTION BEGIN COPY ~bgt/compat/bg1npc/fluidstates.tpa~ ~bgt/compat/bg1npc/fluidstates.tpa~ REPLACE_TEXTUALLY ~\(BGT%BG1NPC_dlg_name%State0 = \)0~ ~\1%BG1NPC_num_states%~ END BUT_ONLY END // Compatibility with TS ACTION_IF FILE_EXISTS_IN_GAME ~kachi01.wav~ THEN BEGIN COPY_EXISTING ~bcoran.dlg~ ~bgt/compat/bg1npc/bcoran.dlg~ ~coran.dlg~ ~bgt/compat/bg1npc/coran.dlg~ ~coranj.dlg~ ~bgt/compat/bg1npc/coranj.dlg~ ~coranp.dlg~ ~bgt/compat/bg1npc/coranp.dlg~ ~dynaj.dlg~ ~bgt/compat/bg1npc/dynahj.dlg~ ~dynap.dlg~ ~bgt/compat/bg1npc/dynahp.dlg~ READ_LONG 0x8 BG1NPC_num_states SPRINT BG1NPC_dlg_name EVALUATE_BUFFER "%DEST_RES%" INNER_ACTION BEGIN COPY ~bgt/compat/bg1npc/fluidstates.tpa~ ~bgt/compat/bg1npc/fluidstates.tpa~ REPLACE_TEXTUALLY ~\(BGT%BG1NPC_dlg_name%State0 = \)0~ ~\1%BG1NPC_num_states%~ END BUT_ONLY END ///////////////////////////////////// ///////////////////////////////////// // Dialogue Installation: Compilation ///////////////////////////////////// COMPILE ~bg1d~ ~bgt/modify/d/familiar.d~ //familiar shut-ups ~bgt/modify/d/replace.d~ //other "Imoen2" substitution // Compatibility with NeJ: Custom Imoen Kit ACTION_IF NOT FILE_EXISTS_IN_GAME ~SPIN506.SPL~ THEN BEGIN COMPILE ~bgt/compat/bgt/replace/replace.d~ END ELSE BEGIN COMPILE ~bgt/compat/nejimoen/replace/aimoen2p.d~ END /////////////////////////////////////////////////////// // Stores /////////////////////////////////////////////////////// PRINT ~~ PRINT @100008 COPY ~bgt/base/sto~ ~override~ /////////////////////////////////////////////////////// // Items /////////////////////////////////////////////////////// PRINT ~~ PRINT @100009 //Item shattering component COPY_EXISTING ~ax1h01.itm~ ~override/ax1h01.itm~ ~blun02.itm~ ~override/blun02.itm~ ~blun04.itm~ ~override/blun04.itm~ ~blun06.itm~ ~override/blun06.itm~ ~dagg01.itm~ ~override/dagg01.itm~ ~dagg06.itm~ ~override/dagg06.itm~ ~dagg07.itm~ ~override/dagg07.itm~ ~halb01.itm~ ~override/halb01.itm~ ~sper01.itm~ ~override/sper01.itm~ ~sw1h01.itm~ ~override/sw1h01.itm~ ~sw1h04.itm~ ~override/sw1h04.itm~ ~sw1h07.itm~ ~override/sw1h07.itm~ ~sw1h12.itm~ ~override/sw1h12.itm~ ~sw1h17.itm~ ~override/sw1h17.itm~ ~sw1h20.itm~ ~override/sw1h20.itm~ ~sw1h43.itm~ ~override/sw1h43.itm~ ~sw1h46.itm~ ~override/sw1h46.itm~ ~sw1h48.itm~ ~override/sw1h48.itm~ ~sw2h01.itm~ ~override/sw2h01.itm~ LPF ~ADD_ITEM_EFFECT~ INT_VAR opcode = 309 //set local variable target = 1 //self parameter1 = 1 //value timing = 1 probability1 = 1 header = 1 //add to first header type = 1 //melee STR_VAR resource = EVALUATE_BUFFER "%SOURCE_RES%" END //////////////////////////////////////////////// // BG1 items existing in BG2 but not used by BG2 //////////////////////////////////////////////// // patching method: use the present items and directly adjust them // sole exception: scrl5r.itm is copied in from bgt/modify/itm as it does not exist in BG2 COPY_EXISTING ~amul18.itm~ ~override/amul18.itm~ SAY IDENTIFIED_DESC @22261 COPY_EXISTING ~blun11.itm~ ~override/blun11.itm~ SAY NAME2 @23966 SAY IDENTIFIED_DESC @200001 COPY_EXISTING ~book87.itm~ ~override/book87.itm~ SAY UNIDENTIFIED_DESC @22840 COPY_EXISTING ~book88.itm~ ~override/book88.itm~ READ_BYTE 0x18 flags WRITE_BYTE 0x18 (%flags% BXOR 0b00000001) //Remove Unsellable flag STRING_SET ~7350~ @200002 //correct Long Bow of Marksmanship identified description COPY_EXISTING ~bow07.itm~ ~override/bow07.itm~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_BYTE (%abil_off% + %i% * 0x38) abil_type PATCH_IF (%abil_type% = 4) BEGIN //Launcher WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x1A) 2 //Ability damage bonus END END STRING_SET ~7351~ @200003 //correct Eagle Bow identified description COPY_EXISTING ~bow08.itm~ ~override/bow08.itm~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_BYTE (%abil_off% + %i% * 0x38) abil_type PATCH_IF (%abil_type% = 4) BEGIN //Launcher WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x1A) 2 //Ability damage bonus END END //also implements BG2 Fixpack fix COPY_EXISTING ~clck08.itm~ ~override/clck08.itm~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off INSERT_BYTES "%abil_off%" 0x38 SET abil_num += 1 WRITE_SHORT 0x68 "%abil_num%" SET fx_off += 0x38 WRITE_LONG 0x6a "%fx_off%" WRITE_BYTE "%abil_off%" 3 //Ability type WRITE_BYTE ("%abil_off%" + 0x2) 3 //Ability location = ITEM_SLOT WRITE_ASCII ("%abil_off%" + 0x4) ICLCK08 //Ability icon WRITE_BYTE ("%abil_off%" + 0xC) 1 //Ability target = LIVING_ACTOR WRITE_SHORT ("%abil_off%" + 0xE) 100 //Ability range WRITE_SHORT ("%abil_off%" + 0x1C) 1 //Ability damage type = PIERCING WRITE_BYTE ("%abil_off%" + 0x24) 3 //Ability when drained = RECHARGE_DAILY WRITE_SHORT ("%abil_off%" + 0x2A) 1 //Ability projectile type WRITE_SHORT ("%abil_off%" + 0x2C) 34 //Ability animation overhand % WRITE_SHORT ("%abil_off%" + 0x2E) 33 //Ability animation backhand % WRITE_SHORT ("%abil_off%" + 0x30) 33 //Ability animation thrust % READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END INSERT_BYTES ("%fx_off%" + "%fx_global_num%" * 0x30) 0x30 WRITE_SHORT ("%fx_off%" + "%fx_global_num%" * 0x30) 5 //Effect type = CHARM_CREATURE WRITE_BYTE ("%fx_off%" + "%fx_global_num%" * 0x30 + 0x2) 2 //Effect target = PRESET_TARGET WRITE_BYTE ("%fx_off%" + "%fx_global_num%" * 0x30 + 0x3) 3 //Power WRITE_BYTE ("%fx_off%" + "%fx_global_num%" * 0x30 + 0xD) 1 //Dispel/Resistance = YES/YES WRITE_LONG ("%fx_off%" + "%fx_global_num%" * 0x30 + 0xE) 3600 //Duration WRITE_LONG ("%fx_off%" + "%fx_global_num%" * 0x30 + 0x12) 100 //Probability 1 WRITE_BYTE ("%fx_off%" + "%fx_global_num%" * 0x30 + 0x24) 0b00000010 //Savetype = VS_BREATH WRITE_LONG ("%fx_off%" + "%fx_global_num%" * 0x30 + 0x28) 0xFFFFFFFF //Save bonus = -1 WRITE_SHORT ("%abil_off%" + 0x1E) 1 //New ability #FX WRITE_SHORT ("%abil_off%" + 0x20) "%fx_global_num%" //New ability FX index FOR (i = 1; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x20) fx_abil_idx WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x20) ("%fx_abil_idx%" + 1) END COPY_EXISTING ~dagg09.itm~ ~override/dagg09.itm~ SAY IDENTIFIED_DESC @200004 COPY_EXISTING ~dagg10.itm~ ~override/dagg10.itm~ WRITE_SHORT 0x1C 16 //Category = DAGGERS COPY_EXISTING ~gibberil.itm~ ~override/gibberil.itm~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_BYTE (%abil_off% + %i% * 0x38) abil_type PATCH_IF (%abil_type% = 1) BEGIN //Melee //the following stops the training practice gibberlings from dealing damage to unarmed players WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x1c) 0 //Damage type = NONE END END COPY_EXISTING ~helm14.itm~ ~override/helm14.itm~ SAY IDENTIFIED_DESC @21408 COPY_EXISTING ~misc1f.itm~ ~override/misc1f.itm~ SAY UNIDENTIFIED_DESC @22257 COPY_EXISTING ~misc1h.itm~ ~override/misc1h.itm~ READ_BYTE 0x18 flags WRITE_BYTE 0x18 (%flags% BOR 0b00000001) //Add Unsellable flag COPY_EXISTING ~misc1j.itm~ ~override/misc1j.itm~ SAY UNIDENTIFIED_DESC @22720 COPY_EXISTING ~misc2h.itm~ ~override/misc2h.itm~ SAY NAME2 @23956 SAY IDENTIFIED_DESC @23957 COPY_EXISTING ~misc2m.itm~ ~override/misc2m.itm~ SAY NAME2 @22222 SAY IDENTIFIED_DESC @22223 COPY_EXISTING ~misc2n.itm~ ~override/misc2n.itm~ SAY NAME2 @22224 SAY IDENTIFIED_DESC @22225 COPY_EXISTING ~misc2p.itm~ ~override/misc2p.itm~ READ_BYTE 0x21 flags WRITE_BYTE 0x21 (%flags% BOR 0b00100000) //BGT correction: Add Unusable by Monk flag SAY NAME1 @23983 SAY NAME2 @23984 SAY UNIDENTIFIED_DESC @10376 SAY IDENTIFIED_DESC @23985 COPY_EXISTING ~misc87.itm~ ~override/misc87.itm~ SAY NAME1 @10253 COPY_EXISTING ~misc94.itm~ ~override/misc94.itm~ READ_BYTE 0x18 flags WRITE_BYTE 0x18 (%flags% BOR 0b00000001) //Add Unsellable flag COPY_EXISTING ~misc95.itm~ ~override/misc95.itm~ READ_BYTE 0x18 flags WRITE_BYTE 0x18 (%flags% BOR 0b00000001) //Add Unsellable flag COPY_EXISTING ~misc98.itm~ ~override/misc98.itm~ SAY NAME2 @21994 COPY_EXISTING ~plat08.itm~ ~override/plat08.itm~ WRITE_BYTE 0x26 11 //Minimum strength SAY NAME2 @23974 SAY IDENTIFIED_DESC @23975 COPY_EXISTING ~ringjoia.itm~ ~override/ringjoia.itm~ SAY NAME1 @24123 SAY NAME2 @24122 COPY_EXISTING ~scrl2j.itm~ ~override/scrl2j.itm~ SAY UNIDENTIFIED_DESC @6484 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2k.itm~ ~override/scrl2k.itm~ SAY UNIDENTIFIED_DESC @8921 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2l.itm~ ~override/scrl2l.itm~ SAY UNIDENTIFIED_DESC @8919 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2m.itm~ ~override/scrl2m.itm~ SAY UNIDENTIFIED_DESC @8920 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2n.itm~ ~override/scrl2n.itm~ SAY UNIDENTIFIED_DESC @8922 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2o.itm~ ~override/scrl2o.itm~ SAY UNIDENTIFIED_DESC @8923 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2p.itm~ ~override/scrl2p.itm~ SAY UNIDENTIFIED_DESC @8924 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2q.itm~ ~override/scrl2q.itm~ SAY UNIDENTIFIED_DESC @8925 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2r.itm~ ~override/scrl2r.itm~ SAY NAME2 @13195 SAY UNIDENTIFIED_DESC @8926 WRITE_LONG 0x54 0xFFFFFFFF //BGT correction: identified description WRITE_SHORT 0x38 1 //Max in stack READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2s.itm~ ~override/scrl2s.itm~ SAY UNIDENTIFIED_DESC @6491 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2t.itm~ ~override/scrl2t.itm~ SAY UNIDENTIFIED_DESC @6492 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2u.itm~ ~override/scrl2u.itm~ SAY UNIDENTIFIED_DESC @6493 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2v.itm~ ~override/scrl2v.itm~ SAY UNIDENTIFIED_DESC @6488 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2w.itm~ ~override/scrl2w.itm~ SAY UNIDENTIFIED_DESC @6489 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2x.itm~ ~override/scrl2x.itm~ SAY UNIDENTIFIED_DESC @6490 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2y.itm~ ~override/scrl2y.itm~ SAY UNIDENTIFIED_DESC @8914 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl2z.itm~ ~override/scrl2z.itm~ SAY UNIDENTIFIED_DESC @8915 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl3a.itm~ ~override/scrl3a.itm~ SAY UNIDENTIFIED_DESC @8917 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl3b.itm~ ~override/scrl3b.itm~ SAY UNIDENTIFIED_DESC @8913 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl3c.itm~ ~override/scrl3c.itm~ SAY UNIDENTIFIED_DESC @8916 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 //only to get rid of ability COPY_EXISTING ~scrl3d.itm~ ~override/scrl3d.itm~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl3e.itm~ ~override/scrl3e.itm~ SAY UNIDENTIFIED_DESC @6486 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrl3f.itm~ ~override/scrl3f.itm~ SAY UNIDENTIFIED_DESC @8918 COPY_EXISTING ~scrl3z.itm~ ~override/scrl3z.itm~ SAY UNIDENTIFIED_DESC @16230 //BG1 resource missing from BG2 COPY ~bgt/modify/itm/scrl5r.itm~ ~override/scrl5r.itm~ SAY NAME2 @24000 SAY UNIDENTIFIED_DESC @23997 WRITE_LONG 0x54 0xFFFFFFFF //set identified description to None COPY_EXISTING ~scrl5s.itm~ ~override/scrl5s.itm~ SAY NAME2 @24001 SAY UNIDENTIFIED_DESC @23998 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrldra.itm~ ~override/scrldra.itm~ SAY UNIDENTIFIED_DESC @17931 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrljala.itm~ ~override/scrljala.itm~ READ_BYTE 0x18 flags WRITE_BYTE 0x18 (%flags% BXOR 0b00000001) //Remove Unsellable flag COPY_EXISTING ~scrlkar.itm~ ~override/scrlkar.itm~ SAY UNIDENTIFIED_DESC @17912 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrlnei.itm~ ~override/scrlnei.itm~ SAY UNIDENTIFIED_DESC @17923 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrltar.itm~ ~override/scrltar.itm~ SAY UNIDENTIFIED_DESC @17904 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrlvail.itm~ ~override/scrlvail.itm~ SAY UNIDENTIFIED_DESC @10580 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 COPY_EXISTING ~scrlzha.itm~ ~override/scrlzha.itm~ SAY UNIDENTIFIED_DESC @17941 READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 //BGT correction COPY_EXISTING ~sw1h13.itm~ ~override/sw1h13.itm~ READ_BYTE 0x18 flags WRITE_BYTE 0x18 (%flags% BOR 0b00000100) //Add Droppable flag WRITE_LONG 0x1e 0xff7bffe7 //Main Unusable data WRITE_BYTE 0x26 13 //Minimum strength WRITE_BYTE 0x29 0x7f //Unusability data WRITE_BYTE 0x2a 17 //Minimum intelligence WRITE_BYTE 0x2b 0xff //Unusability data WRITE_BYTE 0x2c 16 //Minimum dexterity WRITE_BYTE 0x2d 0x80 //Unusability data WRITE_BYTE 0x2e 14 //Minimum wisdom WRITE_BYTE 0x2f 0xbf //Unusability data WRITE_BYTE 0x30 7 //Minimum constitution WRITE_BYTE 0x31 96 //Weapon proficiency WRITE_BYTE 0x32 16 //Minimum charisma COPY_EXISTING ~sw1h18.itm~ ~override/sw1h18.itm~ SAY IDENTIFIED_DESC @200005 READ_BYTE 0x19 flags WRITE_BYTE 0x19 (%flags% BOR 0b00000001) //Add Silver Weapon flag WRITE_BYTE 0x26 12 //Minimum strength WRITE_BYTE 0x31 89 //Weapon proficiency WRITE_ASCII 0x3a ~ISW1HBAL~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_BYTE (%abil_off% + %i% * 0x38) abil_type PATCH_IF (%abil_type% = 1) BEGIN //Melee WRITE_ASCII (%abil_off% + %i% * 0x38 + 0x4) ~ISW1HBAL~ END END COPY_EXISTING ~sw1h19.itm~ ~override/sw1h19.itm~ LPF ~ADD_ITEM_EFFECT~ INT_VAR opcode = 3 //berserk target = 1 //self duration = 60 header = 1 //add to first header type = 1 //melee END COPY_EXISTING ~tasloiil.itm~ ~override/tasloiil.itm~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_BYTE (%abil_off% + %i% * 0x38) abil_type PATCH_IF (%abil_type% = 1) BEGIN //Melee //stops training practice taslois from dealing damage to unarmed players WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x1c) 0 //Damage type = NONE END END COPY_EXISTING ~xvartil.itm~ ~override/xvartil.itm~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_BYTE (%abil_off% + %i% * 0x38) abil_type PATCH_IF (%abil_type% = 1) BEGIN //Melee //stops training practice hobgoblins, kobolds, skeletons, and xvarts from dealing damage to unarmed players WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x1c) 0 //Damage type = NONE END END ///////////////////////////////////////////// // BG1 items existing and used in BG2; rename ///////////////////////////////////////////// COPY ~bgt/modify/itm/helm15.itm~ ~override/bghelm15.itm~ COPY ~bgt/modify/itm/misc56.itm~ ~override/bgmisc56.itm~ SAY UNIDENTIFIED_DESC @17263 COPY ~bgt/modify/itm/misc79.itm~ ~override/bgmisc79.itm~ SAY NAME1 @17307 SAY NAME2 @17308 SAY UNIDENTIFIED_DESC @19344 WRITE_LONG 0x4c 130 //set weight as per BG1 COPY ~bgt/modify/itm/ring08.itm~ ~override/bgring08.itm~ READ_BYTE 0x21 flags WRITE_BYTE 0x21 (%flags% BOR 0b00100000) //add Unusable by Monk flag SAY IDENTIFIED_DESC @7366 WRITE_LONG 0x34 18000 //Price READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END DELETE_BYTES 0x72 ("%abil_num%" * 0x38 + "%fx_total_num%" * 0x30) WRITE_LONG 0x64 0x72 WRITE_SHORT 0x68 0 WRITE_LONG 0x6a 0x72 WRITE_SHORT 0x70 0 INSERT_BYTES "%fx_off%" 0x30 WRITE_SHORT "%fx_off%" 42 //Effect type = BONUS_SPELLS_WIZARD WRITE_BYTE ("%fx_off%" + 0x2) 1 //Effect target = SELF //Defualt Param2[Spell Levels] is DOUBLE_SPELLS WRITE_BYTE ("%fx_off%" + 0x4) 1 //Param1 [Number spells to add] WRITE_BYTE ("%fx_off%" + 0xC) 2 //Timing mode = INSTANT/EQUIPPED WRITE_LONG ("%fx_off%" + 0x12) 100 //Probability 1 WRITE_SHORT 0x70 1 //New global effect COPY ~bgt/modify/itm/scrl1v.itm~ ~override/bgscrl1v.itm~ COPY ~bgt/modify/itm/staf04.itm~ ~override/bgstaf04.itm~ READ_BYTE 0x18 flags WRITE_BYTE 0x18 (%flags% BXOR 0b00000100) //Remove Droppable flag WRITE_BYTE 0x26 0 //Minimum strength READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_BYTE (%abil_off% + %i% * 0x38) abil_type PATCH_IF (%abil_type% = 1) BEGIN //Melee WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x16) 2 //Ability dicesize WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x18) 0 //Ability #Dice //stops staff from dealing damage to unarmed players WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x1c) 0 //Damage type = NONE END END COPY ~bgt/modify/itm/sw2h07.itm~ ~override/bgsw2h07.itm~ SAY NAME2 @23964 SAY IDENTIFIED_DESC @200006 WRITE_ASCII 0x3a ~BGISW2H7~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_BYTE (%abil_off% + %i% * 0x38) abil_type PATCH_IF (%abil_type% = 1) BEGIN //Melee WRITE_ASCII (%abil_off% + %i% * 0x38 + 0x4) ~BGISW2H7~ END END COPY ~bgt/modify/itm/wand12.itm~ ~override/bgwand12.itm~ ///////////////////////////////////////////// // BG1 items existing and used in BG2; bugfix ///////////////////////////////////////////// //Change Drizzt Boots of Speed to act like normal BG2 Boots of Speed COPY_EXISTING ~bootdriz.itm~ ~override/bootdriz.itm~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_global_num SET fx_total_num = %fx_global_num% FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x1E) fx_abil_num SET fx_total_num += %fx_abil_num% END FOR (i = 0; i < "%fx_total_num%"; i += 1) BEGIN READ_SHORT (%fx_off% + %i% * 0x30) fx_type PATCH_IF (%fx_type% = 126) BEGIN //Movement rate bonus WRITE_SHORT (%fx_off% + %i% * 0x30) 16 //Effect type = HASTE WRITE_BYTE (%fx_off% + %i% * 0x30 + 0x2) 1 //Effect target = SELF WRITE_BYTE (%fx_off% + %i% * 0x30 + 0x3) 0 //Power WRITE_LONG (%fx_off% + %i% * 0x30 + 0x4) 0 //Param1 WRITE_LONG (%fx_off% + %i% * 0x30 + 0x8) 0 //Param2 WRITE_BYTE (%fx_off% + %i% * 0x30 + 0xc) 2 //Timing mode = Instant/While Equipped WRITE_BYTE (%fx_off% + %i% * 0x30 + 0xd) 2 //Dispel/Resistance - NO/NO WRITE_LONG (%fx_off% + %i% * 0x30 + 0xe) 0 //Duration WRITE_BYTE (%fx_off% + %i% * 0x30 + 0x12) 100 //Probability 1 WRITE_BYTE (%fx_off% + %i% * 0x30 + 0x13) 0 //Probability 2 WRITE_ASCII (%fx_off% + %i% * 0x30 + 0x14) "" #8 //ResRef WRITE_LONG (%fx_off% + %i% * 0x30 + 0x1c) 0 //Max level WRITE_LONG (%fx_off% + %i% * 0x30 + 0x20) 0 //Min level WRITE_LONG (%fx_off% + %i% * 0x30 + 0x24) 0 //Savetype = NONE WRITE_LONG (%fx_off% + %i% * 0x30 + 0x28) 0 //Save bonus = 0 END END INSERT_BYTES ("%fx_off%" + "%fx_global_num%" * 0x30) 0x30 WRITE_SHORT ("%fx_off%" + "%fx_global_num%" * 0x30) 162 //Effect type = DISPLAY_PORTRAIT_ICON WRITE_BYTE ("%fx_off%" + "%fx_global_num%" * 0x30 + 0x2) 1 //Effect target = SELF WRITE_LONG ("%fx_off%" + "%fx_global_num%" * 0x30 + 0x8) 38 //Param2 [Icon] = Haste WRITE_BYTE ("%fx_off%" + "%fx_global_num%" * 0x30 + 0xC) 2 //Timing mode = Instant/While Equipped WRITE_BYTE ("%fx_off%" + "%fx_global_num%" * 0x30 + 0xD) 2 //Dispel/Resistance = NO/NO WRITE_LONG ("%fx_off%" + "%fx_global_num%" * 0x30 + 0x12) 100 //Probability 1 FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x38 + 0x20) fx_abil_idx WRITE_SHORT (%abil_off% + %i% * 0x38 + 0x20) ("%fx_abil_idx%" + 1) END SET fx_global_num += 1 WRITE_SHORT 0x70 %fx_global_num% //BG2 erroneously set long bow proficiency and zero enchantment level COPY_EXISTING ~bow06.itm~ ~override/bow06.itm~ WRITE_BYTE 0x31 105 //Proficiency WRITE_LONG 0x60 1 //Enchantment level //BG2 erroneously set short bow proficiency COPY_EXISTING ~bow07.itm~ ~override/bow07.itm~ WRITE_BYTE 0x31 104 //Proficiency //BG2 erroneously omits the not copyable flag COPY_EXISTING ~scrl83.itm~ ~override/scrl83.itm~ READ_BYTE 0x18 flags WRITE_BYTE 0x18 (%flags% BOR 0b00100000) //Add Uncopyable flag ///////////////////////////////////////////////// // Renaming for compatibility with BG2 Baldurdash ///////////////////////////////////////////////// COPY ~bgt/modify/itm/misc83.itm~ ~override/bgmisc83.itm~ ~bgt/modify/itm/scrl3i.itm~ ~override/bgscrl3i.itm~ ///////////////////////////////////////////// // Item description corrections: English only ///////////////////////////////////////////// ACTION_IF (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~english~ ) = 0) OR (( ~%LANGUAGE%~ STRING_COMPARE_CASE ~international~ ) = 0) THEN BEGIN OUTER_INNER_PATCH "1234" BEGIN WRITE_LONG 0x0 21379 //Identified description: Kiel's Morningstar READ_STRREF 0x0 string INNER_PATCH_SAVE modstring "%string%" BEGIN REPLACE_TEXTUALLY ~Spiked Weapons~ ~Flail/Morningstar~ END INNER_ACTION BEGIN STRING_SET_EVALUATE ~21379~ "%modstring%" END WRITE_LONG 0x0 22721 //Identified description: Soultaker Dagger READ_STRREF 0x0 string INNER_PATCH_SAVE modstring "%string%" BEGIN REPLACE_TEXTUALLY ~Small Sword~ ~Dagger~ END INNER_ACTION BEGIN STRING_SET_EVALUATE ~22721~ "%modstring%" END WRITE_LONG 0x0 22966 //General description: The Vampire's Revenge READ_STRREF 0x0 string INNER_PATCH_SAVE modstring "%string%" BEGIN REPLACE_TEXTUALLY ~Large Sword~ ~Long Sword~ END INNER_ACTION BEGIN STRING_SET_EVALUATE ~22966~ "%modstring%" END WRITE_LONG 0x0 22695 //Identified description: The Vampire's Revenge READ_STRREF 0x0 string INNER_PATCH_SAVE modstring "%string%" BEGIN REPLACE_TEXTUALLY ~Large Sword~ ~Long Sword~ END INNER_ACTION BEGIN STRING_SET_EVALUATE ~22695~ "%modstring%" END WRITE_LONG 0x0 10292 //Identified description: Spider's Bane READ_STRREF 0x0 string INNER_PATCH_SAVE modstring "%string%" BEGIN REPLACE_TEXTUALLY ~Large Sword~ ~Two Handed Sword~ END INNER_ACTION BEGIN STRING_SET_EVALUATE ~10292~ "%modstring%" END END END /////////////////////////////////////////////////////// // Spells /////////////////////////////////////////////////////// PRINT ~~ PRINT @100010 COPY ~bgt/base/spl~ ~override~ COPY ~bgt/modify/spl/baddrm2.spl~ ~override/baddrm2.spl~ SAY 0xce @400000 COPY ~bgt/modify/spl/baddrm4.spl~ ~override/baddrm4.spl~ SAY 0xce @400001 COPY ~bgt/modify/spl/baddrm6.spl~ ~override/baddrm6.spl~ SAY 0xce @400002 COPY ~bgt/modify/spl/gooddrm2.spl~ ~override/gooddrm2.spl~ SAY 0xce @400003 COPY ~bgt/modify/spl/gooddrm4.spl~ ~override/gooddrm4.spl~ SAY 0xce @400004 COPY ~bgt/modify/spl/gooddrm6.spl~ ~override/gooddrm6.spl~ SAY 0xce @400005 //Patch for snares so that they work from level 5 downwards COPY_EXISTING ~spcl412.spl~ ~override/spcl412.spl~ ~spcl414.spl~ ~override/spcl414.spl~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT ("%abil_off%" + "%i%" * 0x28 + 0x20) abil_fx_idx READ_SHORT ("%abil_off%" + "%i%" * 0x28 + 0x1e) abil_fx_num FOR (j = "%abil_fx_idx%"; j < "%abil_fx_num%"; j += 1) BEGIN READ_SHORT ("%fx_off%" + "%j%" * 0x30) abil_fx_type PATCH_IF ("%abil_fx_type%" = 252) BEGIN //Set trap WRITE_LONG ("%fx_off%" + "%j%" * 0x30 + 0x20) 0 //minimum level END END END BUT_ONLY_IF_IT_CHANGES //Correct BG2 spin115 COPY_EXISTING ~spin115.spl~ ~override/spin115.spl~ READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num READ_LONG 0x6a fx_off FOR (i = 0; i < "%abil_num%"; i += 1) BEGIN READ_SHORT ("%abil_off%" + "%i%" * 0x28 + 0x20) abil_fx_idx READ_SHORT ("%abil_off%" + "%i%" * 0x28 + 0x1e) abil_fx_num FOR (j = "%abil_fx_idx%"; j < "%abil_fx_num%"; j += 1) BEGIN READ_SHORT ("%fx_off%" + "%j%" * 0x30) abil_fx_type PATCH_IF ("%abil_fx_type%" = 67) BEGIN //Summon creature WRITE_ASCII ("%fx_off%" + "%j%" * 0x30 + 0x14) ~GHASTS~ #8 //Resource END END END /////////////////////////////////////////////////////// // Characters: Import from BG1 /////////////////////////////////////////////////////// PRINT ~~ PRINT @100032 COPY ~%bg1_dir%/characters/cleric.chr~ ~characters/bgcleric.chr~ ~%bg1_dir%/characters/fighter.chr~ ~characters/bgfighte.chr~ ~%bg1_dir%/characters/mage.chr~ ~characters/bgmage.chr~ ~%bg1_dir%/characters/multi.chr~ ~characters/bgmulti.chr~ ~%bg1_dir%/characters/thief.chr~ ~characters/bgthief.chr~ ///////////////////////////////////////////////////////// // Creatures - process all files in BG1CRE then copy over ///////////////////////////////////////////////////////// PRINT ~~ PRINT @100013 /////////////////////////////////////////////////////////////////////// // Creature Installation: Modification of BG1 files non-existant in BG2 /////////////////////////////////////////////////////////////////////// COPY + ~bgt/base/cre~ ~bg1cre~ /////////////////////////////////////////////////////////////////////// // Creature Installation: Modification of BG1 files non-existant in BG2 /////////////////////////////////////////////////////////////////////// COPY + ~bg1cre/amnis.cre~ ~bg1cre/amnis.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/amnis3.cre~ ~bg1cre/amnis3.cre~ SAY 0xec @12570 BUT_ONLY COPY + ~bg1cre/amnis4.cre~ ~bg1cre/amnis4.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/amnise.cre~ ~bg1cre/amnise.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/amnise2.cre~ ~bg1cre/amnise2.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/amsleep.cre~ ~bg1cre/amsleep.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/arkush.cre~ ~bg1cre/arkush.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/arlin.cre~ ~bg1cre/arlin.cre~ WRITE_ASCII 0x248 "" #8 // Override script BUT_ONLY COPY + ~bg1cre/banditcy.cre~ ~bg1cre/banditcy.cre~ WRITE_ASCII 0x248 "" #8 // Override script BUT_ONLY COPY + ~bg1cre/bardol.cre~ ~bg1cre/bardol.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/bayard.cre~ ~bg1cre/bayard.cre~ SAY NAME1 @24083 SAY NAME2 @24083 WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/berrun.cre~ ~bg1cre/berrun.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/bhobgob.cre~ ~bg1cre/bhobgob.cre~ SAY NAME1 #15973 SAY NAME2 #15973 BUT_ONLY COPY + ~bg1cre/borda.cre~ ~bg1cre/borda.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/bouncer.cre~ ~bg1cre/bouncer.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/brenda.cre~ ~bg1cre/brenda.cre~ SAY 0xec @5350 SAY 0xf0 @5351 BUT_ONLY COPY + ~bg1cre/catura.cre~ ~bg1cre/catura.cre~ WRITE_ASCII 0x248 "" #8 // Override script BUT_ONLY COPY + ~bg1cre/chimp5.cre~ ~bg1cre/chimp5.cre~ SAY 0xa4 #4985 SAY 0x1b8 #4985 BUT_ONLY COPY + ~bg1cre/daitel.cre~ ~bg1cre/daitel.cre~ SAY 0x110 @11393 SAY 0x130 @11393 SAY 0x1c0 @11393 BUT_ONLY COPY + ~bg1cre/dandal.cre~ ~bg1cre/dandal.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/degrod.cre~ ~bg1cre/degrod.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/denak.cre~ ~bg1cre/denak.cre~ SAY 0xec @5350 SAY 0xf0 @5351 WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/drelik.cre~ ~bg1cre/drelik.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/erik.cre~ ~bg1cre/erik.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "STAF04")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGSTAF04" #8 END END BUT_ONLY COPY + ~bg1cre/faizah.cre~ ~bg1cre/faizah.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/fatman.cre~ ~bg1cre/fatman.cre~ SAY NAME1 #9428 SAY NAME2 #9429 BUT_ONLY COPY + ~bg1cre/forthe.cre~ ~bg1cre/forthe.cre~ WRITE_ASCII 0x34 "" #8 //small portrait WRITE_ASCII 0x3c "" #8 //large portrait BUT_ONLY COPY + ~bg1cre/garan.cre~ ~bg1cre/garan.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" (6) PATCH_IF (("%name%" STRING_COMPARE_CASE "SCRL1V")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGSCRL1V" END END BUT_ONLY COPY + ~bg1cre/gatewere.cre~ ~bg1cre/gatewere.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/gazib.cre~ ~bg1cre/gazib.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/glart.cre~ ~bg1cre/glart.cre~ SAY NAME1 #15973 SAY NAME2 #15973 BUT_ONLY COPY + ~bg1cre/gnoll_c.cre~ ~bg1cre/gnoll_c.cre~ SAY NAME2 #19693 BUT_ONLY COPY + ~bg1cre/gretek.cre~ ~bg1cre/gretek.cre~ WRITE_ASCII 0x248 "" #8 // Override script BUT_ONLY COPY + ~bg1cre/halfmiri.cre~ ~bg1cre/halfmiri.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" (6) PATCH_IF (("%name%" STRING_COMPARE_CASE "SCRL3I")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGSCRL3I" END END BUT_ONLY COPY + ~bg1cre/halfg3.cre~ ~bg1cre/halfg3.cre~ ~bg1cre/halfg4.cre~ ~bg1cre/halfg4.cre~ ~bg1cre/halfg5.cre~ ~bg1cre/halfg5.cre~ ~bg1cre/halfg6.cre~ ~bg1cre/halfg6.cre~ ~bg1cre/halfgu.cre~ ~bg1cre/halfgu.cre~ SAY NAME1 #47111 SAY NAME2 #47111 BUT_ONLY COPY + ~bg1cre/hick.cre~ ~bg1cre/hick.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/hobelite.cre~ ~bg1cre/hobelite.cre~ SAY NAME1 #17560 BUT_ONLY COPY + ~bg1cre/hobgo5.cre~ ~bg1cre/hobgo5.cre~ ~bg1cre/hobgoa_a.cre~ ~bg1cre/hobgoa_a.cre~ ~bg1cre/hobgoa_b.cre~ ~bg1cre/hobgoa_b.cre~ ~bg1cre/hobgoa_c.cre~ ~bg1cre/hobgoa_c.cre~ ~bg1cre/hobgoa_d.cre~ ~bg1cre/hobgoa_d.cre~ ~bg1cre/hobgoa_e.cre~ ~bg1cre/hobgoa_e.cre~ ~bg1cre/hobgob.cre~ ~bg1cre/hobgob.cre~ ~bg1cre/hobgoba.cre~ ~bg1cre/hobgoba.cre~ ~bg1cre/hobgob_a.cre~ ~bg1cre/hobgob_a.cre~ ~bg1cre/hobgob_b.cre~ ~bg1cre/hobgob_b.cre~ ~bg1cre/hobgob_c.cre~ ~bg1cre/hobgob_c.cre~ ~bg1cre/hobgob_d.cre~ ~bg1cre/hobgob_d.cre~ ~bg1cre/hobgob_e.cre~ ~bg1cre/hobgob_e.cre~ ~bg1cre/hobgzhur.cre~ ~bg1cre/hobgzhur.cre~ ~bg1cre/hobjoia.cre~ ~bg1cre/hobjoia.cre~ ~bg1cre/ihobgob.cre~ ~bg1cre/ihobgob.cre~ SAY NAME1 #15973 SAY NAME2 #15973 BUT_ONLY COPY + ~bg1cre/hobgobc.cre~ ~bg1cre/hobgobc.cre~ SAY NAME2 #15973 BUT_ONLY COPY + ~bg1cre/housg3.cre~ ~bg1cre/housg3.cre~ WRITE_ASCII 0x260 ~BGGUARD3~ // general script BUT_ONLY COPY + ~bg1cre/ike.cre~ ~bg1cre/ike.cre~ ~bg1cre/ike2.cre~ ~bg1cre/ike2.cre~ SAY 0x1b8 @24002 BUT_ONLY COPY + ~bg1cre/ikobold.cre~ ~bg1cre/ikobold.cre~ WRITE_BYTE 0x14 0 //make XP Value equal to zero BUT_ONLY COPY + ~bg1cre/iskelet.cre~ ~bg1cre/iskelet.cre~ LPF ~ADD_CRE_ITEM_FLAGS~ STR_VAR item_to_change = "ISHLD18" flags = "UNDROPPABLE" END BUT_ONLY COPY + ~bg1cre/isla.cre~ ~bg1cre/isla.cre~ SAY NAME1 #21299 SAY NAME2 #21300 BUT_ONLY COPY + ~bg1cre/jamie.cre~ ~bg1cre/jamie.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/jellspa.cre~ ~bg1cre/jellspa.cre~ SAY NAME1 #2310 SAY NAME2 #2311 BUT_ONLY COPY + ~bg1cre/jorin.cre~ ~bg1cre/jorin.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/kahrk.cre~ ~bg1cre/kahrk.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/knight2.cre~ ~bg1cre/knight2.cre~ ~bg1cre/knight3.cre~ ~bg1cre/knight3.cre~ ~bg1cre/knight4.cre~ ~bg1cre/knight4.cre~ ~bg1cre/knight5.cre~ ~bg1cre/knight5.cre~ ~bg1cre/knight6.cre~ ~bg1cre/knight6.cre~ SAY 0x110 @11393 SAY 0x130 @11393 SAY 0x1b8 @11393 WRITE_ASCII 0x2cc ~BGKNIGHT~ // dialogue BUT_ONLY COPY + ~bg1cre/mordai.cre~ ~bg1cre/mordai.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" (6) PATCH_IF (("%name%" STRING_COMPARE_CASE "WAND12")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGWAND12" END END BUT_ONLY COPY + ~bg1cre/mtbe2.cre~ ~bg1cre/mtbe2.cre~ ~bg1cre/mtbe3.cre~ ~bg1cre/mtbe3.cre~ ~bg1cre/mtbe4.cre~ ~bg1cre/mtbe4.cre~ ~bg1cre/mtbe5.cre~ ~bg1cre/mtbe5.cre~ ~bg1cre/mtbe6.cre~ ~bg1cre/mtbe6.cre~ ~bg1cre/mtbe7.cre~ ~bg1cre/mtbe7.cre~ ~bg1cre/mtbe8.cre~ ~bg1cre/mtbe8.cre~ ~bg1cre/mtob2.cre~ ~bg1cre/mtob2.cre~ ~bg1cre/mtob3.cre~ ~bg1cre/mtob3.cre~ ~bg1cre/mtob6.cre~ ~bg1cre/mtob6.cre~ ~bg1cre/mtob7.cre~ ~bg1cre/mtob7.cre~ ~bg1cre/mtowbast.cre~ ~bg1cre/mtowbast.cre~ ~bg1cre/mtowbax.cre~ ~bg1cre/mtowbax.cre~ ~bg1cre/mtownasc.cre~ ~bg1cre/mtownasc.cre~ ~bg1cre/mtownast.cre~ ~bg1cre/mtownast.cre~ ~bg1cre/mtowna_a.cre~ ~bg1cre/mtowna_a.cre~ ~bg1cre/mtowub_c.cre~ ~bg1cre/mtowub_c.cre~ ~bg1cre/mtowwi_b.cre~ ~bg1cre/mtowwi_b.cre~ ~bg1cre/mtowwi_c.cre~ ~bg1cre/mtowwi_c.cre~ ~bg1cre/mtowwi_d.cre~ ~bg1cre/mtowwi_d.cre~ SAY NAME1 #9428 SAY NAME2 #9428 BUT_ONLY COPY + ~bg1cre/mtowubsc.cre~ ~bg1cre/mtowubsc.cre~ SAY NAME1 #9428 SAY NAME2 #9428 SAY 0x1b8 @24004 BUT_ONLY COPY + ~bg1cre/mtowwi_a.cre~ ~bg1cre/mtowwi_a.cre~ SAY 0x1b8 @24003 BUT_ONLY COPY + ~bg1cre/mutami.cre~ ~bg1cre/mutami.cre~ SAY 0xec @5350 SAY 0xf0 @5351 WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/naaman.cre~ ~bg1cre/naaman.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" (6) PATCH_IF (("%name%" STRING_COMPARE_CASE "SCRL1V")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGSCRL1V" END END BUT_ONLY COPY + ~bg1cre/nader.cre~ ~bg1cre/nader.cre~ WRITE_ASCII 0x248 "" #8 // Override script BUT_ONLY COPY + ~bg1cre/nantri.cre~ ~bg1cre/nantri.cre~ SAY 0xec @12570 SAY 0xf0 @12571 BUT_ONLY COPY + ~bg1cre/narrat.cre~ ~bg1cre/narrat.cre~ WRITE_LONG 0x8 0xffffffff WRITE_LONG 0xc 0xffffffff BUT_ONLY COPY + ~bg1cre/nestor.cre~ ~bg1cre/nestor.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/niemai.cre~ ~bg1cre/niemai.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/ogremiri.cre~ ~bg1cre/ogremiri.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" (6) PATCH_IF (("%name%" STRING_COMPARE_CASE "SCRL3I")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGSCRL3I" END END BUT_ONLY COPY + ~bg1cre/pargus.cre~ ~bg1cre/pargus.cre~ WRITE_ASCII 0x248 "" #8 // Override script BUT_ONLY COPY + ~bg1cre/prosba_b.cre~ ~bg1cre/prosba_b.cre~ ~bg1cre/prosba_c.cre~ ~bg1cre/prosba_c.cre~ ~bg1cre/proslay.cre~ ~bg1cre/proslay.cre~ ~bg1cre/prost2.cre~ ~bg1cre/prost2.cre~ ~bg1cre/prost3.cre~ ~bg1cre/prost3.cre~ ~bg1cre/prost4.cre~ ~bg1cre/prost4.cre~ ~bg1cre/prost5.cre~ ~bg1cre/prost5.cre~ ~bg1cre/prost6.cre~ ~bg1cre/prost6.cre~ ~bg1cre/prost7.cre~ ~bg1cre/prost7.cre~ ~bg1cre/prost8.cre~ ~bg1cre/prost8.cre~ ~bg1cre/prsbax_a.cre~ ~bg1cre/prsbax_a.cre~ ~bg1cre/prsbax_b.cre~ ~bg1cre/prsbax_b.cre~ ~bg1cre/prsbax_c.cre~ ~bg1cre/prsbax_c.cre~ SAY NAME1 #19710 SAY NAME2 #19710 BUT_ONLY COPY + ~bg1cre/sarevo.cre~ ~bg1cre/sarevo.cre~ ~bg1cre/sarevo2.cre~ ~bg1cre/sarevo2.cre~ WRITE_ASCII 0x248 ~BGSARVOK~ // Override script BUT_ONLY COPY + ~bg1cre/sewerf5.cre~ ~bg1cre/sewerf5.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/spidphas.cre~ ~bg1cre/spidphas.cre~ SAY NAME1 @23958 SAY NAME2 @23958 BUT_ONLY COPY + ~bg1cre/stepha.cre~ ~bg1cre/stepha.cre~ SAY 0xa4 @11618 SAY 0xa8 @11618 BUT_ONLY COPY + ~bg1cre/sunin.cre~ ~bg1cre/sunin.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "RING08")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGRING08" #8 END END WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/tamah.cre~ ~bg1cre/tamah.cre~ WRITE_ASCII 0x248 "" #8 // Override script BUT_ONLY COPY + ~bg1cre/tanar.cre~ ~bg1cre/tanar.cre~ WRITE_ASCII 0x248 "BGTANARI" #8 // Override script BUT_ONLY COPY + ~bg1cre/venkt.cre~ ~bg1cre/venkt.cre~ WRITE_ASCII 0x34 "" #8 //small portrait WRITE_ASCII 0x3c "" #8 //large portrait BUT_ONLY COPY + ~bg1cre/wilf.cre~ ~bg1cre/wilf.cre~ WRITE_ASCII 0x248 "" #8 // Override script BUT_ONLY COPY + ~bg1cre/winski.cre~ ~bg1cre/winski.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "RING08")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGRING08" #8 END END BUT_ONLY COPY + ~bg1cre/wiven.cre~ ~bg1cre/wiven.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY COPY + ~bg1cre/wolfwe.cre~ ~bg1cre/wolfwe.cre~ ~bg1cre/wolfwegl.cre~ ~bg1cre/wolfwegl.cre~ SAY NAME2 #22778 BUT_ONLY COPY + ~bg1cre/zordra.cre~ ~bg1cre/zordra.cre~ WRITE_ASCII 0x34 "" #8 WRITE_ASCII 0x3c "" #8 BUT_ONLY //helm15->bghelm15 change COPY + ~bg1cre/daitel.cre~ ~bg1cre/daitel.cre~ ~bg1cre/deathk.cre~ ~bg1cre/deathk.cre~ ~bg1cre/drizzt.cre~ ~bg1cre/drizzt.cre~ ~bg1cre/gooddeat.cre~ ~bg1cre/gooddeat.cre~ ~bg1cre/sarevo.cre~ ~bg1cre/sarevo.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "HELM15")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGHELM15" #8 END END BUT_ONLY /////////////////////////////////////////////////////////////////////////// // Creature Installation: Modification of renamed BG1 files existant in BG2 /////////////////////////////////////////////////////////////////////////// //Other renamed creatures COPY + ~bg1cre/bgcalaha.cre~ ~bg1cre/bgcalaha.cre~ WRITE_ASCII 0x2cc ~BGCALAHA~ // dialogue file COPY + ~bg1cre/bgcarbos.cre~ ~bg1cre/bgcarbos.cre~ WRITE_ASCII 0x2cc ~BGCARBOS~ // dialogue file COPY + ~bg1cre/bgftown2.cre~ ~bg1cre/bgftown2.cre~ WRITE_ASCII 0x2cc ~BGFTOWN2~ // dialogue file COPY + ~bg1cre/bgftown3.cre~ ~bg1cre/bgftown3.cre~ WRITE_ASCII 0x2cc ~BGFTOWN3~ // dialogue file COPY + ~bg1cre/bgftown4.cre~ ~bg1cre/bgftown4.cre~ WRITE_ASCII 0x2cc ~BGFTOWN4~ // dialogue file COPY + ~bg1cre/bggorf.cre~ ~bg1cre/bggorf.cre~ COPY + ~bg1cre/bgigibb.cre~ ~bg1cre/bgigibb.cre~ // from IGIBBER COPY + ~bg1cre/bgking.cre~ ~bg1cre/bgking.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "SW2H07")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGSW2H07" #8 END END COPY + ~bg1cre/bgknigh1.cre~ ~bg1cre/bgknigh1.cre~ SAY 0x110 @11393 SAY 0x130 @11393 SAY 0x1bc @11393 WRITE_ASCII 0x2cc ~BGKNIGHT~ // dialogue file COPY + ~bg1cre/bgmtown2.cre~ ~bg1cre/bgmtown2.cre~ SAY NAME1 #9428 SAY NAME2 #9429 WRITE_ASCII 0x2cc ~BGMTOWN2~ // dialogue file COPY + ~bg1cre/bgmtown3.cre~ ~bg1cre/bgmtown3.cre~ SAY NAME1 #9428 SAY NAME2 #9429 WRITE_ASCII 0x2cc ~BGMTOWN3~ // dialogue file COPY + ~bg1cre/bgmtown4.cre~ ~bg1cre/bgmtown4.cre~ SAY NAME1 #9428 SAY NAME2 #9429 WRITE_ASCII 0x2cc ~BGMTOWN4~ // dialogue file COPY + ~bg1cre/bgmtown5.cre~ ~bg1cre/bgmtown5.cre~ SAY NAME1 #9428 SAY NAME2 #9429 WRITE_ASCII 0x2cc ~BGMTOWN5~ // dialogue file COPY + ~bg1cre/bgneb.cre~ ~bg1cre/bgneb.cre~ WRITE_ASCII 0x2cc ~BGNEB~ // dialogue file COPY + ~bg1cre/bgroger.cre~ ~bg1cre/bgroger.cre~ WRITE_ASCII 0x2cc ~BGROGER~ // dialogue file COPY + ~bg1cre/bgsendai.cre~ ~bg1cre/bgsendai.cre~ WRITE_ASCII 0x250 ~BGSENDAI~ // class script WRITE_ASCII 0x2cc ~BGSENDAI~ // dialogue file COPY + ~bg1cre/bgshank.cre~ ~bg1cre/bgshank.cre~ WRITE_ASCII 0x2cc ~BGSHANK~ // dialogue file COPY + ~bg1cre/bgshop01.cre~ ~bg1cre/bgshop01.cre~ WRITE_ASCII 0x2cc ~BGSHOP01~ // dialogue file COPY + ~bg1cre/bgshop03.cre~ ~bg1cre/bgshop03.cre~ WRITE_ASCII 0x2cc ~BGSHOP03~ // dialogue file COPY + ~bg1cre/bgshop04.cre~ ~bg1cre/bgshop04.cre~ WRITE_ASCII 0x2cc ~BGSHOP04~ // dialogue file COPY + ~bg1cre/bgshop06.cre~ ~bg1cre/bgshop06.cre~ WRITE_ASCII 0x2cc ~BGSHOP06~ // dialogue file COPY + ~bg1cre/bgshop07.cre~ ~bg1cre/bgshop07.cre~ WRITE_ASCII 0x2cc ~BGSHOP07~ // dialogue file COPY + ~bg1cre/bgshop08.cre~ ~bg1cre/bgshop08.cre~ WRITE_ASCII 0x2cc ~BGSHOP07~ // dialogue file COPY + ~bg1cre/bgskelwa.cre~ ~bg1cre/bgskelwa.cre~ WRITE_ASCII 0x40c ~HELM09~ // Item COPY + ~bg1cre/bgskel02.cre~ ~bg1cre/bgskel02.cre~ WRITE_ASCII 0x40c ~HELM09~ // Item COPY + ~bg1cre/bgskel03.cre~ ~bg1cre/bgskel03.cre~ WRITE_ASCII 0x448 ~HELM09~ // Item COPY + ~bg1cre/bgtarnor.cre~ ~bg1cre/bgtarnor.cre~ WRITE_ASCII 0x2cc ~BGTARNOR~ // dialogue file COPY + ~bg1cre/bgtazok.cre~ ~bg1cre/bgtazok.cre~ WRITE_ASCII 0x2cc ~BGTAZOK~ // dialogue file COPY + ~bg1cre/bgtowncr.cre~ ~bg1cre/bgtowncr.cre~ COPY + ~bg1cre/bgwillia.cre~ ~bg1cre/bgwillia.cre~ WRITE_ASCII 0x2cc ~BGWILLIA~ // dialogue file COPY + ~bg1cre/william1.cre~ ~bg1cre/william1.cre~ // from WILLIAM /////////////////////////////////////////////////////////////////////////// // Creature Installation: Modification of existing BG2 files to BG1 format /////////////////////////////////////////////////////////////////////////// COPY_EXISTING + ~bearbl.cre~ ~bg1cre/bearbl.cre~ ~bearblsu.cre~ ~bg1cre/bearblsu.cre~ SAY 0xc8 #5618 SAY 0xcc #5619 SAY 0xdc #5620 SAY 0xe0 #5621 SAY 0xec #5623 SAY 0xf0 #5624 SAY 0x10c #5617 WRITE_ASCII 0x258 ~BEAR~ // Race script WRITE_ASCII 0x268 ~WDASIGHT~ // Default script COPY_EXISTING + ~bearbr.cre~ ~bg1cre/bearbr.cre~ SAY 0xc8 #5627 SAY 0xcc #5628 SAY 0xdc #5629 SAY 0xe0 #5630 SAY 0xec #5632 SAY 0xf0 #5633 SAY 0x10c #5625 SAY 0x110 #5626 COPY_EXISTING + ~bearbrsu.cre~ ~bg1cre/bearbrsu.cre~ SAY 0xc8 #5627 SAY 0xcc #5628 SAY 0xdc #5629 SAY 0xe0 #5630 SAY 0xec #5632 SAY 0xf0 #5633 SAY 0x10c #5625 SAY 0x110 #5626 WRITE_ASCII 0x258 ~BEAR~ // Race script WRITE_BYTE 0x270 ~0x80~ // Enemy-Ally flag COPY_EXISTING + ~bearcasu.cre~ ~bg1cre/bearcasu.cre~ SAY 0xc8 #5636 SAY 0xcc #5637 SAY 0xdc #5638 SAY 0xe0 #5639 SAY 0xec #5641 SAY 0xf0 #5642 SAY 0x10c #5634 SAY 0x110 #5635 WRITE_ASCII 0x258 ~CBEAR~ // Race script WRITE_ASCII 0x268 ~WDASIGHT~ // Default script COPY_EXISTING + ~bird.cre~ ~bg1cre/bird.cre~ SAY 0x1b8 #20292 SAY 0x1bc #20294 SAY 0x1c0 #20295 SAY 0x1c4 #20312 SAY 0x1c8 #20313 COPY_EXISTING + ~bjorni.cre~ ~bg1cre/bjorni.cre~ // different colours WRITE_BYTE 0x2c 27 //metal WRITE_BYTE 0x2d 55 //minor WRITE_BYTE 0x2e 38 //major WRITE_BYTE 0x2f 12 //skin WRITE_BYTE 0x30 57 //leather WRITE_BYTE 0x31 28 //armor WRITE_BYTE 0x32 3 //hair SAY 0xa4 #11077 SAY 0xc8 #4976 SAY 0xec #12602 SAY 0xf0 #12603 SAY 0x10c #11077 SAY 0x110 #4977 COPY_EXISTING + ~boyba1.cre~ ~bg1cre/boyba1.cre~ // different colours WRITE_BYTE 0x2c 27 //metal WRITE_BYTE 0x2d 38 //minor WRITE_BYTE 0x2e 36 //major WRITE_BYTE 0x2f 12 //skin WRITE_BYTE 0x30 22 //leather WRITE_BYTE 0x31 20 //armor WRITE_BYTE 0x32 0 //hair SAY 0xa4 #4856 SAY 0xec #12546 SAY 0xf0 #12547 SAY 0x10c #4856 WRITE_LONG 0x110 0xffffffff WRITE_LONG 0x114 0xffffffff WRITE_LONG 0x118 0xffffffff SAY 0x198 #13223 SAY 0x1b8 #11856 COPY_EXISTING + ~cat.cre~ ~bg1cre/cat.cre~ SAY 0xec #20289 SAY 0xf0 #20290 SAY 0x10c #20316 SAY 0x110 #20317 SAY 0x1b8 #20289 SAY 0x1bc #20290 SAY 0x1c0 #20289 SAY 0x1c4 #20289 SAY 0x1c8 #20290 WRITE_BYTE 0x272 ~0xff~ // Race flag COPY_EXISTING + ~catdead.cre~ ~bg1cre/catdead.cre~ SAY 0xec #20289 SAY 0xf0 #20290 SAY 0x10c #20316 SAY 0x110 #20317 SAY 0x1b8 #20289 SAY 0x1bc #20290 SAY 0x1c0 #20289 SAY 0x1c4 #20289 SAY 0x1c8 #20290 COPY_EXISTING + ~catp.cre~ ~bg1cre/catp.cre~ SAY 0xec #20289 SAY 0xf0 #20290 SAY 0x10c #20316 SAY 0x110 #20317 SAY 0x1b8 #20289 SAY 0x1bc #20290 SAY 0x1c0 #20289 SAY 0x1c4 #20289 SAY 0x1c8 #20290 COPY_EXISTING + ~cowh.cre~ ~bg1cre/cowh.cre~ SAY 0xec #19851 SAY 0xf0 #11761 SAY 0x10c #20318 SAY 0x110 #20319 SAY 0x1b8 #19851 SAY 0x1bc #20281 SAY 0x1c0 #19851 SAY 0x1c4 #20281 SAY 0x1c8 #20281 SAY 0x1cc #11791 COPY_EXISTING + ~davaeo.cre~ ~bg1cre/davaeo.cre~ SAY 0xa4 #4473 READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "MISC83")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGMISC83" #8 END END COPY_EXISTING + ~dogwasu.cre~ ~bg1cre/dogwasu.cre~ SAY 0xc8 #5530 SAY 0xcc #5531 SAY 0xdc #5532 SAY 0xe0 #5533 SAY 0xec #5535 SAY 0xf0 #5536 SAY 0x10c #5528 SAY 0x110 #5529 WRITE_ASCII 0x248 ~WARDOG~ // Override script COPY_EXISTING + ~dogwisu.cre~ ~bg1cre/dogwisu.cre~ SAY 0xc8 #5521 SAY 0xcc #5522 SAY 0xdc #5523 SAY 0xe0 #5524 SAY 0xec #5526 SAY 0xf0 #5527 SAY 0x10c #5519 SAY 0x110 #5520 WRITE_ASCII 0x248 ~WILDDOG~ // Override script COPY_EXISTING + ~dreppi.cre~ ~bg1cre/dreppi.cre~ SAY 0xa4 #11078 SAY 0xb8 #11078 SAY 0xc8 #11078 SAY 0xec #12544 SAY 0xf0 #12545 SAY 0x10c #11078 SAY 0x110 #11078 SAY 0x114 #11078 SAY 0x118 #11078 SAY 0x198 #13209 COPY_EXISTING + ~dreppi2.cre~ ~bg1cre/dreppi2.cre~ SAY 0xa4 #11078 SAY 0xb8 #11078 SAY 0xc8 #11078 SAY 0xec #12544 SAY 0xf0 #12545 SAY 0x10c #11078 SAY 0x110 #11078 SAY 0x114 #11078 SAY 0x118 #11078 COPY_EXISTING + ~dreppi3.cre~ ~bg1cre/dreppi3.cre~ SAY 0xa4 #11078 SAY 0xb8 #11078 SAY 0xc8 #11078 SAY 0xec #12544 SAY 0xf0 #12545 SAY 0x10c #11078 SAY 0x110 #11078 SAY 0x114 #11078 SAY 0x118 #11078 COPY_EXISTING + ~fireb1.cre~ ~bg1cre/fireb1.cre~ SAY 0xa4 #11758 SAY 0xec #11759 SAY 0xf0 #11760 SAY 0x10c #11758 WRITE_LONG 0x110 0xffffffff WRITE_LONG 0x114 0xffffffff COPY_EXISTING + ~firebe.cre~ ~bg1cre/firebe.cre~ // different colours WRITE_BYTE 0x2c 102 //metal WRITE_BYTE 0x2d 58 //minor WRITE_BYTE 0x2e 53 //major WRITE_BYTE 0x2f 84 //skin WRITE_BYTE 0x30 99 //leather WRITE_BYTE 0x31 102 //armor WRITE_BYTE 0x32 110 //hair SAY 0xa4 #11758 SAY 0xec #11759 SAY 0xf0 #11760 SAY 0x10c #11758 WRITE_LONG 0x110 0xffffffff WRITE_LONG 0x114 0xffffffff COPY_EXISTING + ~ghoulsu.cre~ ~bg1cre/ghoulsu.cre~ SAY 0xc8 #5646 SAY 0xcc #5652 SAY 0xdc #5653 SAY 0xe0 #5655 SAY 0xec #5657 SAY 0xf0 #5658 SAY 0x10c #5654 SAY 0x110 #5142 COPY_EXISTING + ~gibbersu.cre~ ~bg1cre/gibbersu.cre~ SAY 0xc8 #5503 SAY 0xcc #5504 SAY 0xdc #5505 SAY 0xe0 #5506 SAY 0xec #5508 SAY 0xf0 #5509 SAY 0x10c #5501 SAY 0x110 #5502 COPY_EXISTING + ~gnollsu.cre~ ~bg1cre/gnollsu.cre~ SAY 0xc8 #5512 SAY 0xcc #5513 SAY 0xec #5517 SAY 0xf0 #5518 SAY 0x10c #5510 SAY 0x110 #5511 WRITE_ASCII 0x258 ~GNOLLF~ // Race script COPY_EXISTING + ~gorion.cre~ ~bg1cre/gorion.cre~ SAY 0x170 #1185 SAY 0x174 #1185 SAY 0x198 #4445 SAY 0x19c #4446 SAY 0x1a0 #4447 SAY 0x1a4 #4448 SAY 0x1a8 #1185 SAY 0x1ac #1185 COPY_EXISTING + ~gorion3.cre~ ~bg1cre/gorion3.cre~ SAY 0xb8 #11388 SAY 0xc8 #5170 SAY 0xec #5890 SAY 0xf0 #5891 SAY 0x10c #4342 SAY 0x110 #4342 SAY 0x114 #4342 SAY 0x118 #4342 SAY 0x120 #4342 COPY_EXISTING + ~hobgobsu.cre~ ~bg1cre/hobgobsu.cre~ SAY 0xc8 #5137 SAY 0xcc #5138 SAY 0xec #5499 SAY 0xf0 #5500 SAY 0x10c #5135 SAY 0x110 #5136 SAY 0x1b8 #10483 WRITE_ASCII 0x258 ~HOBGOBA~ // Race script COPY_EXISTING + ~jellgr.cre~ ~bg1cre/jellgr.cre~ SAY 0xc8 #5975 SAY 0xcc #5976 SAY 0xdc #5977 SAY 0xe0 #5978 SAY 0xec #5980 SAY 0xf0 #5981 SAY 0x10c #5973 SAY 0x110 #5974 SAY 0x1b8 #10481 COPY_EXISTING + ~jellmu.cre~ ~bg1cre/jellmu.cre~ SAY 0xc8 #5956 SAY 0xcc #5957 SAY 0xdc #5958 SAY 0xe0 #5959 SAY 0xec #5962 SAY 0xf0 #5964 SAY 0x10c #5954 SAY 0x110 #5955 COPY_EXISTING + ~jelloc.cre~ ~bg1cre/jelloc.cre~ SAY 0xc8 #5956 SAY 0xcc #5957 SAY 0xdc #5958 SAY 0xe0 #5959 SAY 0xec #5962 SAY 0xf0 #5964 SAY 0x10c #5954 SAY 0x110 #5955 COPY_EXISTING + ~jellygr.cre~ ~bg1cre/jellygr.cre~ SAY 0xc8 #5984 SAY 0xcc #5985 SAY 0xdc #5986 SAY 0xe0 #5988 SAY 0xec #5989 SAY 0xf0 #5990 SAY 0x10c #5982 SAY 0x110 #5983 COPY_EXISTING + ~jondal.cre~ ~bg1cre/jondal.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "STAF04")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGSTAF04" #8 END END COPY_EXISTING + ~jondalw.cre~ ~bg1cre/jondalw.cre~ SAY 0xa4 #5554 SAY 0xc8 #5555 SAY 0xec #5558 SAY 0xf0 #5559 SAY 0x10c #5554 COPY_EXISTING + ~koboldsu.cre~ ~bg1cre/koboldsu.cre~ SAY 0xc8 #4995 SAY 0xcc #4996 SAY 0xec #5480 SAY 0xf0 #5481 SAY 0x10c #4993 SAY 0x130 #4994 COPY_EXISTING + ~ogregrsu.cre~ ~bg1cre/ogregrsu.cre~ SAY 0xc8 #5163 SAY 0xcc #5164 SAY 0xdc #5867 SAY 0xe0 #5868 SAY 0xec #5870 SAY 0xf0 #5871 SAY 0x10c #5161 SAY 0x130 #5162 WRITE_BYTE 0x270 ~0xFF~ // Enemy-Ally flag COPY_EXISTING + ~plyogre.cre~ ~bg1cre/plyogre.cre~ SAY 0xc8 #5148 SAY 0xcc #5149 SAY 0xec #5855 SAY 0xf0 #5856 SAY 0x10c #5147 SAY 0x110 #5851 SAY 0x1b8 #10484 COPY_EXISTING + ~plyspid.cre~ ~bg1cre/plyspid.cre~ SAY 0xc8 #5921 SAY 0xcc #5922 SAY 0xdc #5923 SAY 0xe0 #5924 SAY 0xec #5926 SAY 0xf0 #5927 SAY 0x10c #5919 SAY 0x110 #5920 SAY 0x1b8 #10489 COPY_EXISTING + ~plywolf.cre~ ~bg1cre/plywolf.cre~ SAY 0xc8 #5601 SAY 0xcc #5602 SAY 0xdc #5576 SAY 0xe0 #5604 SAY 0xec #5606 SAY 0xf0 #5607 SAY 0x10c #5599 SAY 0x110 #5600 COPY_EXISTING + ~poghm10.cre~ ~bg1cre/poghm10.cre~ SAY 0xa4 #4982 SAY 0x110 #4982 COPY_EXISTING + ~poghm9.cre~ ~bg1cre/poghm9.cre~ ~poghma4.cre~ ~bg1cre/poghma4.cre~ ~poghma5.cre~ ~bg1cre/poghma5.cre~ ~poghma7.cre~ ~bg1cre/poghma7.cre~ SAY 0xa4 #4982 SAY 0x110 #4982 COPY_EXISTING + ~rat2.cre~ ~bg1cre/rat2.cre~ WRITE_BYTE 0x53 0 //number of attacks SAY 0xc8 #20285 SAY 0xcc #20286 SAY 0xd0 #20320 SAY 0x10c #20321 SAY 0x110 #20322 SAY 0x1b8 #20285 SAY 0x1bc #20286 SAY 0x1c0 #20320 SAY 0x1c4 #20285 SAY 0x1c8 #20286 COPY_EXISTING + ~reevor.cre~ ~bg1cre/reevor.cre~ SAY 0xa4 #4934 SAY 0xc8 #4940 SAY 0x10c #4934 SAY 0x110 #4934 SAY 0x114 #4934 COPY_EXISTING + ~reevor2.cre~ ~bg1cre/reevor2.cre~ SAY 0xa4 #4934 SAY 0xc8 #4940 SAY 0x10c #4934 SAY 0x110 #4934 SAY 0x114 #4934 COPY_EXISTING + ~reevor3.cre~ ~bg1cre/reevor3.cre~ SAY 0xa4 #4934 SAY 0xc8 #5169 SAY 0xec #5884 SAY 0xf0 #5885 SAY 0x10c #4934 SAY 0x110 #4934 SAY 0x114 #4934 COPY_EXISTING + ~schlum.cre~ ~bg1cre/schlum.cre~ SAY 0xc8 #5984 SAY 0xcc #5985 SAY 0xdc #5986 SAY 0xe0 #5988 SAY 0xec #5989 SAY 0xf0 #5990 SAY 0x10c #5982 SAY 0x110 #5983 COPY_EXISTING + ~seagul.cre~ ~bg1cre/seagul.cre~ SAY 0x1b8 #20288 SAY 0x1bc #20288 SAY 0x1c0 #20288 SAY 0x1c4 #20288 COPY_EXISTING + ~skele2.cre~ ~bg1cre/skele2.cre~ SAY 0xc8 #5539 SAY 0xcc #5540 SAY 0xdc #5541 SAY 0xe0 #5542 SAY 0xe4 #5543 SAY 0xec #5544 SAY 0xf0 #5545 SAY 0x10c #5537 SAY 0x110 #5538 COPY_EXISTING + ~squirr.cre~ ~bg1cre/squirr.cre~ SAY 0x1b8 #20285 SAY 0x1bc #20286 SAY 0x1c0 #20320 COPY_EXISTING + ~stalke.cre~ ~bg1cre/stalke.cre~ SAY 0xc8 #11391 SAY 0xcc #11392 SAY 0xd0 #11416 SAY 0xd4 #11417 SAY 0xec #5587 SAY 0xf0 #5601 SAY 0x10c #11391 SAY 0x110 #11392 SAY 0x114 #11416 SAY 0x118 #11417 SAY 0x1b8 #11391 SAY 0x1bc #11392 SAY 0x1c0 #11416 SAY 0x1c4 #11417 COPY_EXISTING + ~tasloisu.cre~ ~bg1cre/tasloisu.cre~ SAY 0xc8 #5484 SAY 0xcc #5485 SAY 0xdc #5486 SAY 0xe0 #5487 SAY 0xec #5489 SAY 0xf0 #5490 SAY 0x10c #5482 SAY 0x110 #5483 COPY_EXISTING + ~voieas.cre~ ~bg1cre/voieas.cre~ // different colours WRITE_BYTE 0x2c 27 //metal WRITE_BYTE 0x2d 63 //minor WRITE_BYTE 0x2e 47 //major WRITE_BYTE 0x2f 13 //skin WRITE_BYTE 0x30 25 //leather WRITE_BYTE 0x31 28 //armor WRITE_BYTE 0x32 1 //hair COPY_EXISTING + ~voinor.cre~ ~bg1cre/voinor.cre~ // different colours WRITE_BYTE 0x2c 27 //metal WRITE_BYTE 0x2d 63 //minor WRITE_BYTE 0x2e 60 //major WRITE_BYTE 0x2f 13 //skin WRITE_BYTE 0x30 25 //leather WRITE_BYTE 0x31 28 //armor WRITE_BYTE 0x32 3 //hair COPY_EXISTING + ~voisou.cre~ ~bg1cre/voisou.cre~ // different colours WRITE_BYTE 0x2c 27 //metal WRITE_BYTE 0x2d 63 //minor WRITE_BYTE 0x2e 54 //major WRITE_BYTE 0x2f 13 //skin WRITE_BYTE 0x30 25 //leather WRITE_BYTE 0x31 28 //armor WRITE_BYTE 0x32 4 //hair COPY_EXISTING + ~voiwes.cre~ ~bg1cre/voiwes.cre~ // different colours WRITE_BYTE 0x2c 27 //metal WRITE_BYTE 0x2d 63 //minor WRITE_BYTE 0x2e 58 //major WRITE_BYTE 0x2f 13 //skin WRITE_BYTE 0x30 25 //leather WRITE_BYTE 0x31 28 //armor WRITE_BYTE 0x32 6 //hair COPY_EXISTING + ~voltin.cre~ ~bg1cre/voltin.cre~ // different colours WRITE_BYTE 0x2c 24 //metal WRITE_BYTE 0x2d 61 //minor WRITE_BYTE 0x2e 53 //major WRITE_BYTE 0x2f 12 //skin WRITE_BYTE 0x30 21 //leather WRITE_BYTE 0x31 24 //armor WRITE_BYTE 0x32 0 //hair SAY 0xa4 #11107 SAY 0xc8 #11131 SAY 0xec #12357 SAY 0xf0 #12351 SAY 0x10c #11107 WRITE_LONG 0x110 0xffffffff WRITE_LONG 0x114 0xffffffff WRITE_LONG 0x118 0xffffffff COPY_EXISTING + ~watch2.cre~ ~bg1cre/watch2.cre~ // different colours WRITE_BYTE 0x2c 27 //metal WRITE_BYTE 0x2d 66 //minor WRITE_BYTE 0x2e 66 //major WRITE_BYTE 0x2f 12 //skin WRITE_BYTE 0x30 21 //leather WRITE_BYTE 0x31 33 //armor WRITE_BYTE 0x32 0 //hair SAY 0xa4 #4963 WRITE_LONG 0xb8 0xffffffff WRITE_LONG 0xc8 0xffffffff SAY 0xec #12596 SAY 0xf0 #12597 SAY 0x10c #4963 WRITE_LONG 0x110 0xffffffff WRITE_LONG 0x114 0xffffffff WRITE_LONG 0x118 0xffffffff SAY 0x198 #13678 SAY 0x1b8 #11186 COPY_EXISTING + ~watch3.cre~ ~bg1cre/watch3.cre~ // different colours WRITE_BYTE 0x2c 27 //metal WRITE_BYTE 0x2d 66 //minor WRITE_BYTE 0x2e 66 //major WRITE_BYTE 0x2f 12 //skin WRITE_BYTE 0x30 21 //leather WRITE_BYTE 0x31 33 //armor WRITE_BYTE 0x32 0 //hair SAY 0xa4 #4966 WRITE_LONG 0xb8 0xffffffff WRITE_LONG 0xc8 0xffffffff SAY 0xec #12596 SAY 0xf0 #12597 SAY 0x10c #4966 WRITE_LONG 0x110 0xffffffff WRITE_LONG 0x114 0xffffffff WRITE_LONG 0x118 0xffffffff SAY 0x198 #13678 COPY_EXISTING + ~watch6.cre~ ~bg1cre/watch6.cre~ // different colours ~watch9.cre~ ~bg1cre/watch9.cre~ // different colours WRITE_BYTE 0x2c 27 //metal WRITE_BYTE 0x2d 66 //minor WRITE_BYTE 0x2e 66 //major WRITE_BYTE 0x2f 12 //skin WRITE_BYTE 0x30 21 //leather WRITE_BYTE 0x31 33 //armor WRITE_BYTE 0x32 0 //hair SAY 0xa4 #4964 WRITE_LONG 0xb8 0xffffffff WRITE_LONG 0xc8 0xffffffff SAY 0xec #12596 SAY 0xf0 #12597 SAY 0x10c #4963 SAY 0x110 #4964 WRITE_LONG 0x114 0xffffffff WRITE_LONG 0x118 0xffffffff COPY_EXISTING + ~winthr2.cre~ ~bg1cre/winthr2.cre~ SAY 0xa4 #4951 SAY 0x10c #4951 SAY 0x110 #4951 SAY 0x114 #4951 SAY 0x118 #4951 SAY 0x19c #13445 COPY_EXISTING + ~winthr3.cre~ ~bg1cre/winthr3.cre~ SAY 0xa4 #4951 SAY 0xc8 #5165 SAY 0xcc #5169 SAY 0xec #5884 SAY 0xf0 #5885 SAY 0x10c #4951 SAY 0x110 #4951 SAY 0x114 #4951 SAY 0x118 #4951 SAY 0x138 #4952 SAY 0x19c #13445 COPY_EXISTING + ~wolfchar.cre~ ~bg1cre/wolfchar.cre~ SAY 0xc8 #5601 SAY 0xcc #5602 SAY 0xdc #5576 SAY 0xe0 #5604 SAY 0xec #5606 SAY 0xf0 #5607 SAY 0x10c #5599 SAY 0x110 #5600 COPY_EXISTING + ~wolfdi.cre~ ~bg1cre/wolfdi.cre~ ~wolfdisu.cre~ ~bg1cre/wolfdisu.cre~ SAY 0xc8 #5574 SAY 0xcc #5575 SAY 0xdc #5576 SAY 0xe0 #5577 SAY 0xec #5579 SAY 0xf0 #5580 SAY 0x10c #5572 SAY 0x110 #5573 COPY_EXISTING + ~wolfsu.cre~ ~bg1cre/wolfsu.cre~ SAY 0xc8 #5556 SAY 0xcc #5557 SAY 0xdc #5558 SAY 0xe0 #5559 SAY 0xec #5561 SAY 0xf0 #5562 SAY 0x10c #5554 SAY 0x110 #5555 COPY_EXISTING + ~worgsu.cre~ ~bg1cre/worgsu.cre~ SAY 0xc8 #5565 SAY 0xcc #5566 SAY 0xdc #5567 SAY 0xe0 #5568 SAY 0xec #5570 SAY 0xf0 #5571 SAY 0x10c #5563 SAY 0x110 #5564 COPY_EXISTING + ~xvartsu.cre~ ~bg1cre/xvartsu.cre~ SAY 0xc8 #5133 SAY 0xcc #5134 SAY 0xdc #5491 SAY 0xe0 #5492 SAY 0xec #5494 SAY 0xf0 #5495 SAY 0x10c #5002 SAY 0x110 #5004 ///////////////////////////////////// // Modification of BG2 only creatures ///////////////////////////////////// COPY_EXISTING ~bystand2.cre~ ~override/bystand2.cre~ WRITE_ASCII 0x250 ~~ #8 //class script COPY_EXISTING ~imoen6.cre~ ~override/imoen6.cre~ ~imoen10.cre~ ~override/imoen10.cre~ ~imoendrm.cre~ ~override/imoendrm.cre~ WRITE_ASCII 0x280 ~Imoen2~ //death variable BUT_ONLY COPY_EXISTING ~garrick.cre~ ~override/garrick.cre~ WRITE_ASCII 0x250 ~BG2MAGE2~ //class script //////////////////////////// // Patching of package files //////////////////////////// COPY_EXISTING + ~bgt/modify/cre/ajanti.cre~ ~bg1cre/ajanti.cre~ ~bgt/modify/cre/ajanti4.cre~ ~bg1cre/ajanti4.cre~ ~bgt/modify/cre/ajanti6.cre~ ~bg1cre/ajanti6.cre~ SAY 0xA4 @3502 SAY 0xA8 @3503 SAY 0xAC @3505 SAY 0xB0 @3506 SAY 0xB4 @3507 SAY 0xB8 @3508 SAY 0xBC @3509 SAY 0xC0 @3510 SAY 0xC4 @3511 SAY 0xC8 @3504 SAY 0xEC @5262 SAY 0xF0 @5263 SAY 0xF4 @3512 SAY 0xF8 @3513 SAY 0xFC @3514 SAY 0x100 @3515 SAY 0x104 @5258 SAY 0x108 @5260 SAY 0x10C @3516 SAY 0x110 @3517 SAY 0x114 @3518 SAY 0x124 @3519 SAY 0x128 @3521 SAY 0x12C @3522 SAY 0x130 @3523 SAY 0x134 @3525 SAY 0x138 @3526 SAY 0x13C @3527 SAY 0x140 @3528 SAY 0x144 @3529 SAY 0x148 @3530 SAY 0x14C @3531 SAY 0x150 @3532 SAY 0x154 @3538 SAY 0x160 @3537 SAY 0x16C @3536 SAY 0x178 @3539 SAY 0x17C @3540 SAY 0x180 @3535 SAY 0x18C @3533 SAY 0x190 @3534 SAY 0x198 @5243 SAY 0x19C @1185 SAY 0x1CC @10197 COPY_EXISTING + ~bgt/modify/cre/alora.cre~ ~bg1cre/alora.cre~ ~bgt/modify/cre/alora6.cre~ ~bg1cre/alora6.cre~ SAY 0xA4 @3376 SAY 0xA8 @3378 SAY 0xAC @3380 SAY 0xB0 @3381 SAY 0xB4 @3382 SAY 0xB8 @3383 SAY 0xBC @3384 SAY 0xC0 @3385 SAY 0xC4 @3386 SAY 0xC8 @3379 SAY 0xEC @5337 SAY 0xF0 @5338 SAY 0xF4 @3387 SAY 0xF8 @3388 SAY 0xFC @3389 SAY 0x100 @3390 SAY 0x104 @3391 SAY 0x108 @3392 SAY 0x10C @3393 SAY 0x110 @3394 SAY 0x114 @3395 SAY 0x124 @3396 SAY 0x128 @3397 SAY 0x12C @3398 SAY 0x130 @3399 SAY 0x134 @3400 SAY 0x138 @3401 SAY 0x13C @3402 SAY 0x140 @3403 SAY 0x144 @3404 SAY 0x148 @3405 SAY 0x14C @3406 SAY 0x150 @3407 SAY 0x154 @3411 SAY 0x158 @3412 SAY 0x15C @3413 SAY 0x178 @3416 SAY 0x17C @3417 SAY 0x180 @3409 SAY 0x18C @3408 SAY 0x190 @3410 SAY 0x1CC @10183 COPY_EXISTING + ~bgt/modify/cre/branwe.cre~ ~bg1cre/branwe.cre~ ~bgt/modify/cre/branwe5.cre~ ~bg1cre/branwe5.cre~ SAY 0xA4 @3856 SAY 0xA8 @3857 SAY 0xAC @3859 SAY 0xB0 @3860 SAY 0xB4 @3861 SAY 0xB8 @3862 SAY 0xBC @3863 SAY 0xC0 @3864 SAY 0xC4 @3865 SAY 0xC8 @3858 SAY 0xEC @5327 SAY 0xF0 @5328 SAY 0xF4 @3866 SAY 0x10C @3867 SAY 0x110 @3868 SAY 0x114 @3869 SAY 0x124 @3870 SAY 0x128 @3871 SAY 0x12C @3872 SAY 0x130 @3873 SAY 0x134 @3874 SAY 0x138 @3875 SAY 0x13C @3876 SAY 0x140 @3877 SAY 0x144 @3878 SAY 0x148 @3879 SAY 0x14C @3880 SAY 0x150 @3881 SAY 0x154 @3887 SAY 0x158 @3885 SAY 0x160 @3886 SAY 0x178 @3888 SAY 0x17C @3889 SAY 0x180 @3883 SAY 0x18C @3882 SAY 0x190 @3884 SAY 0x19C @13230 SAY 0x1CC @10203 COPY_EXISTING + ~bgt/modify/cre/coran.cre~ ~bg1cre/coran.cre~ ~bgt/modify/cre/coran5.cre~ ~bg1cre/coran5.cre~ SAY 0xA4 @3823 SAY 0xA8 @3824 SAY 0xAC @3825 SAY 0xB0 @3826 SAY 0xB4 @3827 SAY 0xB8 @3828 SAY 0xBC @3829 SAY 0xC0 @3830 SAY 0xC4 @3831 SAY 0xC8 @5314 SAY 0xEC @5320 SAY 0xF0 @5321 SAY 0xF4 @3832 SAY 0xF8 @5315 SAY 0xFC @5316 SAY 0x100 @5317 SAY 0x104 @5318 SAY 0x108 @5319 SAY 0x10C @3833 SAY 0x110 @3834 SAY 0x114 @3835 SAY 0x124 @3836 SAY 0x128 @3837 SAY 0x12C @3838 SAY 0x130 @3839 SAY 0x134 @3840 SAY 0x138 @3841 SAY 0x13C @3842 SAY 0x140 @3843 SAY 0x144 @3844 SAY 0x148 @3845 SAY 0x14C @3846 SAY 0x150 @3847 SAY 0x160 @3851 SAY 0x164 @3852 SAY 0x168 @3853 SAY 0x178 @3854 SAY 0x17C @3855 SAY 0x180 @3850 SAY 0x18C @3848 SAY 0x190 @3849 SAY 0x198 @13244 SAY 0x19C @13243 SAY 0x1CC @10196 COPY_EXISTING + ~bgt/modify/cre/dynahe.cre~ ~bg1cre/dynahe.cre~ ~bgt/modify/cre/dynahe2.cre~ ~bg1cre/dynahe2.cre~ ~bgt/modify/cre/dynahe4.cre~ ~bg1cre/dynahe4.cre~ ~bgt/modify/cre/dynahe6.cre~ ~bg1cre/dynahe6.cre~ SAY 0xA4 @3960 SAY 0xA8 @3929 SAY 0xAC @3931 SAY 0xB0 @3932 SAY 0xB4 @3933 SAY 0xB8 @3934 SAY 0xBC @3935 SAY 0xC0 @3936 SAY 0xC4 @3937 SAY 0xC8 @3930 SAY 0xEC @5343 SAY 0xF0 @5344 SAY 0xF4 @3938 SAY 0xF8 @5339 SAY 0xFC @3939 SAY 0x100 @5340 SAY 0x104 @5341 SAY 0x108 @5342 SAY 0x10C @3940 SAY 0x110 @3941 SAY 0x114 @3942 SAY 0x124 @3943 SAY 0x128 @3944 SAY 0x12C @3945 SAY 0x130 @3946 SAY 0x134 @3947 SAY 0x138 @3948 SAY 0x13C @3949 SAY 0x140 @3950 SAY 0x144 @3951 SAY 0x148 @3952 SAY 0x14C @3953 SAY 0x150 @3954 SAY 0x154 @3958 SAY 0x160 @3960 SAY 0x16C @3959 SAY 0x178 @3961 SAY 0x17C @3962 SAY 0x180 @3956 SAY 0x184 @3957 SAY 0x18C @3955 SAY 0x1CC @10192 COPY_EXISTING + ~bgt/modify/cre/edwin.cre~ ~bg1cre/edwin.cre~ ~bgt/modify/cre/edwin2.cre~ ~bg1cre/edwin2.cre~ ~bgt/modify/cre/edwin4.cre~ ~bg1cre/edwin4.cre~ ~bgt/modify/cre/edwin6.cre~ ~bg1cre/edwin6.cre~ SAY 0xA4 @3965 SAY 0xA8 @3966 SAY 0xAC @3968 SAY 0xB0 @3969 SAY 0xB4 @3970 SAY 0xB8 @3971 SAY 0xBC @3972 SAY 0xC0 @3973 SAY 0xC4 @3974 SAY 0xC8 @3967 SAY 0xEC @5350 SAY 0xF0 @5351 SAY 0xF4 @3975 SAY 0xF8 @5345 SAY 0xFC @5346 SAY 0x100 @5347 SAY 0x104 @5348 SAY 0x108 @5349 SAY 0x10C @3976 SAY 0x110 @3977 SAY 0x114 @3978 SAY 0x124 @3979 SAY 0x128 @3980 SAY 0x12C @3981 SAY 0x130 @3982 SAY 0x134 @3984 SAY 0x138 @3985 SAY 0x13C @3986 SAY 0x140 @3987 SAY 0x144 @3988 SAY 0x148 @3989 SAY 0x14C @3990 SAY 0x150 @3996 SAY 0x154 @4001 SAY 0x158 @4002 SAY 0x15C @4003 SAY 0x178 @4005 SAY 0x17C @4006 SAY 0x180 @3999 SAY 0x18C @3998 SAY 0x1CC @10216 COPY_EXISTING + ~bgt/modify/cre/eldoth.cre~ ~bg1cre/eldoth.cre~ ~bgt/modify/cre/eldoth5.cre~ ~bg1cre/eldoth5.cre~ SAY 0xA4 @3776 SAY 0xA8 @3777 SAY 0xAC @3779 SAY 0xB0 @3780 SAY 0xB4 @3781 SAY 0xB8 @3782 SAY 0xBC @3783 SAY 0xC0 @3784 SAY 0xC4 @3785 SAY 0xC8 @3778 SAY 0xEC @5312 SAY 0xF0 @5313 SAY 0xF4 @3786 SAY 0xF8 @5307 SAY 0xFC @5308 SAY 0x100 @5309 SAY 0x104 @5310 SAY 0x108 @5311 SAY 0x10C @3787 SAY 0x110 @3788 SAY 0x114 @3789 SAY 0x124 @3790 SAY 0x128 @3791 SAY 0x12C @3792 SAY 0x130 @3793 SAY 0x134 @3794 SAY 0x138 @3795 SAY 0x13C @3796 SAY 0x140 @3810 SAY 0x144 @3811 SAY 0x148 @3812 SAY 0x14C @3813 SAY 0x150 @3814 SAY 0x154 @3819 SAY 0x158 @3820 SAY 0x160 @3818 SAY 0x178 @3821 SAY 0x17C @3822 SAY 0x180 @3816 SAY 0x18C @3815 SAY 0x190 @3817 SAY 0x198 @13272 SAY 0x1CC @10208 COPY_EXISTING + ~bgt/modify/cre/faldor.cre~ ~bg1cre/faldor.cre~ ~bgt/modify/cre/faldor5.cre~ ~bg1cre/faldor5.cre~ SAY 0xA4 @3737 SAY 0xA8 @3738 SAY 0xAC @3739 SAY 0xB0 @3741 SAY 0xB4 @3742 SAY 0xB8 @3743 SAY 0xBC @3744 SAY 0xC0 @3745 SAY 0xC4 @3746 SAY 0xC8 @5300 SAY 0xEC @5304 SAY 0xF0 @5306 SAY 0xF4 @3747 SAY 0xF8 @3748 SAY 0xFC @3749 SAY 0x100 @5301 SAY 0x104 @5302 SAY 0x108 @5303 SAY 0x10C @3750 SAY 0x110 @3751 SAY 0x114 @3752 SAY 0x124 @3753 SAY 0x128 @3754 SAY 0x12C @3755 SAY 0x130 @3756 SAY 0x134 @3757 SAY 0x138 @3758 SAY 0x13C @3759 SAY 0x140 @3760 SAY 0x144 @3761 SAY 0x148 @3762 SAY 0x14C @3763 SAY 0x150 @3765 SAY 0x154 @3773 SAY 0x160 @3770 SAY 0x164 @3771 SAY 0x178 @3774 SAY 0x17C @3775 SAY 0x180 @3768 SAY 0x18C @3766 SAY 0x190 @3767 SAY 0x19C @13277 SAY 0x1CC @10202 COPY_EXISTING + ~bgt/modify/cre/garric.cre~ ~bg1cre/garric.cre~ ~bgt/modify/cre/garric2.cre~ ~bg1cre/garric2.cre~ ~bgt/modify/cre/garric4.cre~ ~bg1cre/garric4.cre~ ~bgt/modify/cre/garric6.cre~ ~bg1cre/garric6.cre~ SAY 0xA4 @3651 SAY 0xA8 @3652 SAY 0xAC @3655 SAY 0xB0 @3656 SAY 0xB4 @3657 SAY 0xB8 @3659 SAY 0xBC @3662 SAY 0xC0 @3663 SAY 0xC4 @3664 SAY 0xC8 @3653 SAY 0xEC @5289 SAY 0xF0 @5290 SAY 0xF4 @3665 SAY 0xF8 @3667 SAY 0xFC @3668 SAY 0x100 @5286 SAY 0x104 @5287 SAY 0x108 @5288 SAY 0x10C @3669 SAY 0x110 @3670 SAY 0x114 @3671 SAY 0x124 @3672 SAY 0x128 @3673 SAY 0x12C @3674 SAY 0x130 @3675 SAY 0x134 @3676 SAY 0x138 @3678 SAY 0x13C @3679 SAY 0x140 @3681 SAY 0x144 @3682 SAY 0x148 @3683 SAY 0x14C @11034 SAY 0x150 @3685 SAY 0x154 @3692 SAY 0x160 @3689 SAY 0x16C @3690 SAY 0x178 @3694 SAY 0x17C @3695 SAY 0x180 @3686 SAY 0x18C @3687 SAY 0x190 @3688 SAY 0x1CC @10200 //Compatibility with NeJ: Custom Imoen Kit ACTION_IF NOT FILE_EXISTS_IN_GAME ~SPIN506.SPL~ THEN BEGIN COPY_EXISTING + ~bgt/modify/cre/imoen.cre~ ~bg1cre/imoen.cre~ ~bgt/modify/cre/imoen1.cre~ ~bg1cre/imoen1.cre~ ~bgt/modify/cre/imoen2.cre~ ~bg1cre/imoen2.cre~ ~bgt/modify/cre/imoen4.cre~ ~bg1cre/imoen4.cre~ ~bgt/modify/cre/imoen61.cre~ ~bg1cre/imoen61.cre~ SAY 0xA4 @4341 SAY 0xA8 @11037 SAY 0xB0 @4338 SAY 0xBC @4337 SAY 0xC0 @4339 SAY 0xC4 @4333 SAY 0xC8 @11035 SAY 0xEC @5395 SAY 0xF0 @5396 SAY 0xF4 @4330 SAY 0x100 @11036 SAY 0x10C @4334 SAY 0x110 @4332 SAY 0x114 @4331 SAY 0x118 @11041 SAY 0x124 @11038 SAY 0x128 @4335 SAY 0x12C @11039 SAY 0x130 @4336 SAY 0x134 @11043 SAY 0x138 @11042 SAY 0x13C @11045 SAY 0x178 @4340 SAY 0x1a0 @500040 SAY 0x1CC @10233 END ELSE BEGIN COPY_EXISTING ~kitlist.2da~ ~override/kitlist.2da~ COUNT_2DA_ROWS 9 kit_rows FOR ( i=0;i<%kit_rows%;i+=1 ) BEGIN READ_2DA_ENTRY %i% 1 9 kit_name PATCH_IF (("%kit_name%" STRING_COMPARE_CASE "CHARMING_ROGUE")= 0) BEGIN SET kit_bit = %i% END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING + ~bgt/modify/cre/imoen.cre~ ~bg1cre/imoen.cre~ ~bgt/modify/cre/imoen1.cre~ ~bg1cre/imoen1.cre~ ~bgt/modify/cre/imoen2.cre~ ~bg1cre/imoen2.cre~ ~bgt/modify/cre/imoen4.cre~ ~bg1cre/imoen4.cre~ ~bgt/modify/cre/imoen61.cre~ ~bg1cre/imoen61.cre~ SAY 0xA4 @4341 SAY 0xA8 @11037 SAY 0xB0 @4338 SAY 0xBC @4337 SAY 0xC0 @4339 SAY 0xC4 @4333 SAY 0xC8 @11035 SAY 0xEC @5395 SAY 0xF0 @5396 SAY 0xF4 @4330 SAY 0x100 @11036 SAY 0x10C @4334 SAY 0x110 @4332 SAY 0x114 @4331 SAY 0x118 @11041 SAY 0x124 @11038 SAY 0x128 @4335 SAY 0x12C @11039 SAY 0x130 @4336 SAY 0x134 @11043 SAY 0x138 @11042 SAY 0x13C @11045 SAY 0x178 @4340 SAY 0x1a0 @500040 SAY 0x1CC @10233 WRITE_SHORT 0x244 0 //unused in kitlist.2da designation WRITE_SHORT 0x246 0x4000 + ~%kit_bit%~ //change to Charming Rogue Kit as per kitlist.2da row END //Compatibility with NeJ: Custom Jaheira Kit ACTION_IF NOT FILE_EXISTS_IN_GAME ~SPIN518.SPL~ THEN BEGIN COPY_EXISTING + ~bgt/compat/bgt/jaheir.cre~ ~bg1cre/jaheir.cre~ ~bgt/compat/bgt/jaheir2.cre~ ~bg1cre/jaheir2.cre~ ~bgt/compat/bgt/jaheir4.cre~ ~bg1cre/jaheir4.cre~ ~bgt/compat/bgt/jaheir6.cre~ ~bg1cre/jaheir6.cre~ SAY 0xA4 @4007 SAY 0xA8 @4008 SAY 0xAC @4010 SAY 0xB0 @4011 SAY 0xB4 @4012 SAY 0xB8 @4013 SAY 0xBC @4014 SAY 0xC0 @4015 SAY 0xC4 @4016 SAY 0xC8 @4009 SAY 0xEC @5353 SAY 0xF0 @5354 SAY 0xF4 @4017 SAY 0xF8 @4018 SAY 0xFC @4019 SAY 0x100 @4020 SAY 0x104 @5352 SAY 0x108 @4021 SAY 0x10C @4022 SAY 0x110 @4023 SAY 0x114 @4024 SAY 0x124 @4025 SAY 0x128 @4026 SAY 0x12C @4027 SAY 0x130 @4028 SAY 0x134 @4029 SAY 0x138 @4030 SAY 0x13C @4031 SAY 0x140 @4032 SAY 0x144 @4033 SAY 0x148 @4034 SAY 0x14C @4035 SAY 0x150 @4036 SAY 0x154 @4040 SAY 0x158 @4042 SAY 0x160 @4041 SAY 0x178 @4043 SAY 0x17C @4044 SAY 0x18C @4037 SAY 0x190 @4038 SAY 0x194 @4039 SAY 0x1CC @10199 END ELSE BEGIN COPY_EXISTING ~kitlist.2da~ ~override/kitlist.2da~ COUNT_2DA_ROWS 9 kit_rows FOR ( i=0;i<%kit_rows%;i+=1 ) BEGIN READ_2DA_ENTRY %i% 1 9 kit_name PATCH_IF (("%kit_name%" STRING_COMPARE_CASE "PRIEST_OF_SYLVANUS")= 0) BEGIN SET kit_bit = %i% END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING + ~bgt/compat/nejjahei/jaheir.cre~ ~bg1cre/jaheir.cre~ ~bgt/compat/nejjahei/jaheir2.cre~ ~bg1cre/jaheir2.cre~ ~bgt/compat/nejjahei/jaheir4.cre~ ~bg1cre/jaheir4.cre~ ~bgt/compat/nejjahei/jaheir6.cre~ ~bg1cre/jaheir6.cre~ SAY 0xA4 @4007 SAY 0xA8 @4008 SAY 0xAC @4010 SAY 0xB0 @4011 SAY 0xB4 @4012 SAY 0xB8 @4013 SAY 0xBC @4014 SAY 0xC0 @4015 SAY 0xC4 @4016 SAY 0xC8 @4009 SAY 0xEC @5353 SAY 0xF0 @5354 SAY 0xF4 @4017 SAY 0xF8 @4018 SAY 0xFC @4019 SAY 0x100 @4020 SAY 0x104 @5352 SAY 0x108 @4021 SAY 0x10C @4022 SAY 0x110 @4023 SAY 0x114 @4024 SAY 0x124 @4025 SAY 0x128 @4026 SAY 0x12C @4027 SAY 0x130 @4028 SAY 0x134 @4029 SAY 0x138 @4030 SAY 0x13C @4031 SAY 0x140 @4032 SAY 0x144 @4033 SAY 0x148 @4034 SAY 0x14C @4035 SAY 0x150 @4036 SAY 0x154 @4040 SAY 0x158 @4042 SAY 0x160 @4041 SAY 0x178 @4043 SAY 0x17C @4044 SAY 0x18C @4037 SAY 0x190 @4038 SAY 0x194 @4039 SAY 0x1CC @10199 WRITE_SHORT 0x244 0 //unused in kitlist.2da designation WRITE_SHORT 0x246 0x4000 + ~%kit_bit%~ //change to Priest of Sylvanus as per kitlist.2da row END //Compatibility with BG2 Fixpack //Deletes Zone of Sweet Air from known and memorized spells, adds cure disease to known spells ACTION_IF FILE_EXISTS_IN_GAME ~cdbehbla.pro~ THEN BEGIN COPY + ~bg1cre/jaheir6.cre~ ~bg1cre/jaheir6.cre~ PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files READ_LONG 0x2a0 "known_off" READ_LONG 0x2a4 "known_num" READ_LONG 0x2a8 "meminfo_off" READ_LONG 0x2b0 "mem_off" READ_LONG 0x2b4 "mem_num" READ_LONG 0x2b8 "slot_off" READ_LONG 0x2bc "item_off" READ_LONG 0x2c4 "fx_off" FOR (index2 = 0 ; index2 < mem_num ; index2 = index2 + 1) BEGIN // spellbook adjustments READ_ASCII ("%mem_off%" + ("%index2%" * 0x0C)) "spell" PATCH_IF ("sppr318" STRING_COMPARE_CASE "%spell%" = 0) BEGIN // summon insects for ZoSA WRITE_ASCII ("%mem_off%" + ("%index2%" * 0x0C)) ~sppr319~ #8 END END FOR (index = 0 ; index < known_num ; index = index + 1) BEGIN // spellbook adjustments READ_ASCII ("%known_off%" + ("%index%" * 0x0C)) "spell" PATCH_IF ("sppr318" STRING_COMPARE_CASE "%spell%" = 0) BEGIN DELETE_BYTES ("%known_off%" + ("%index%" * 0x0C)) 0x0C SET "known_num" = ("%known_num%" - 1) SET "index" = ("%index%" - 1) PATCH_IF ("%meminfo_off%" >= "%known_off%") BEGIN SET "meminfo_off" = ("%meminfo_off%" - 0x0C) END PATCH_IF ("%mem_off%" >= "%known_off%") BEGIN SET "mem_off" = ("%mem_off%" - 0x0C) END PATCH_IF ("%slot_off%" >= "%known_off%") BEGIN SET "slot_off" = ("%slot_off%" - 0x0C) END PATCH_IF ("%item_off%" >= "%known_off%") BEGIN SET "item_off" = ("%item_off%" - 0x0C) END PATCH_IF ("%fx_off%" >= "%known_off%") BEGIN SET "fx_off" = ("%fx_off%" - 0x0C) END END END WRITE_LONG 0x2a4 "%known_num%" WRITE_LONG 0x2a8 "%meminfo_off%" WRITE_LONG 0x2b0 "%mem_off%" WRITE_LONG 0x2b8 "%slot_off%" WRITE_LONG 0x2bc "%item_off%" WRITE_LONG 0x2c4 "%fx_off%" ADD_KNOWN_SPELL ~sppr317~ #2 ~priest~ //cure disease END BUT_ONLY END COPY_EXISTING + ~bgt/modify/cre/kagain.cre~ ~bg1cre/kagain.cre~ ~bgt/modify/cre/kagain2.cre~ ~bg1cre/kagain2.cre~ ~bgt/modify/cre/kagain4.cre~ ~bg1cre/kagain4.cre~ ~bgt/modify/cre/kagain6.cre~ ~bg1cre/kagain6.cre~ SAY 0xA4 @3541 SAY 0xA8 @3542 SAY 0xAC @5264 SAY 0xB0 @3544 SAY 0xB4 @3545 SAY 0xB8 @3546 SAY 0xBC @3547 SAY 0xC0 @3548 SAY 0xC4 @3549 SAY 0xC8 @3543 SAY 0xEC @5268 SAY 0xF0 @5269 SAY 0xF4 @3550 SAY 0xF8 @3551 SAY 0xFC @5265 SAY 0x100 @3552 SAY 0x104 @5266 SAY 0x108 @5267 SAY 0x10C @3553 SAY 0x110 @3554 SAY 0x114 @3555 SAY 0x124 @3556 SAY 0x128 @3557 SAY 0x12C @3558 SAY 0x130 @3559 SAY 0x134 @3560 SAY 0x138 @3561 SAY 0x13C @3562 SAY 0x140 @3563 SAY 0x144 @3564 SAY 0x148 @3565 SAY 0x14C @3566 SAY 0x150 @3567 SAY 0x154 @3571 SAY 0x158 @3573 SAY 0x16C @3572 SAY 0x178 @3574 SAY 0x17C @3575 SAY 0x18C @3568 SAY 0x190 @3569 SAY 0x194 @3570 SAY 0x1CC @10214 COPY_EXISTING + ~bgt/modify/cre/khalid.cre~ ~bg1cre/khalid.cre~ ~bgt/modify/cre/khalid2.cre~ ~bg1cre/khalid2.cre~ ~bgt/modify/cre/khalid4.cre~ ~bg1cre/khalid4.cre~ ~bgt/modify/cre/khalid6.cre~ ~bg1cre/khalid6.cre~ SAY 0xA4 @4045 SAY 0xA8 @4046 SAY 0xAC @4048 SAY 0xB0 @4049 SAY 0xB4 @4050 SAY 0xB8 @4051 SAY 0xBC @4052 SAY 0xC0 @4053 SAY 0xC4 @4054 SAY 0xC8 @4047 SAY 0xEC @5355 SAY 0xF0 @5356 SAY 0xF4 @4055 SAY 0xF8 @4056 SAY 0xFC @4057 SAY 0x100 @4058 SAY 0x104 @4059 SAY 0x108 @4060 SAY 0x10C @4061 SAY 0x110 @4062 SAY 0x114 @4063 SAY 0x124 @4064 SAY 0x128 @4065 SAY 0x12C @4066 SAY 0x130 @4067 SAY 0x134 @4068 SAY 0x138 @4069 SAY 0x13C @4070 SAY 0x140 @4071 SAY 0x144 @4072 SAY 0x148 @4073 SAY 0x14C @4074 SAY 0x150 @4075 SAY 0x154 @4079 SAY 0x160 @4081 SAY 0x16C @4080 SAY 0x178 @4082 SAY 0x17C @4083 SAY 0x180 @4078 SAY 0x18C @4076 SAY 0x190 @4077 SAY 0x1CC @10198 COPY_EXISTING + ~bgt/modify/cre/kivan.cre~ ~bg1cre/kivan.cre~ ~bgt/modify/cre/kivan4.cre~ ~bg1cre/kivan4.cre~ ~bgt/modify/cre/kivan6.cre~ ~bg1cre/kivan6.cre~ SAY 0xA4 @3464 SAY 0xA8 @3465 SAY 0xAC @3466 SAY 0xB0 @3467 SAY 0xB4 @3468 SAY 0xB8 @3469 SAY 0xBC @3470 SAY 0xC0 @3471 SAY 0xC4 @3472 SAY 0xC8 @5248 SAY 0xEC @5255 SAY 0xF0 @5256 SAY 0xF4 @3473 SAY 0xF8 @5249 SAY 0xFC @3474 SAY 0x100 @3475 SAY 0x104 @5250 SAY 0x108 @5252 SAY 0x10C @3476 SAY 0x110 @3477 SAY 0x114 @3478 SAY 0x124 @5253 SAY 0x128 @3479 SAY 0x12C @3480 SAY 0x130 @3481 SAY 0x134 @3482 SAY 0x138 @3484 SAY 0x13C @3486 SAY 0x140 @3488 SAY 0x144 @3489 SAY 0x148 @3490 SAY 0x14C @3492 SAY 0x150 @3493 SAY 0x154 @3499 SAY 0x160 @3497 SAY 0x164 @3498 SAY 0x16C @1185 SAY 0x178 @3500 SAY 0x17C @3501 SAY 0x180 @3496 SAY 0x18C @3494 SAY 0x190 @3495 SAY 0x1CC @10181 COPY_EXISTING + ~bgt/modify/cre/minsc.cre~ ~bg1cre/minsc.cre~ ~bgt/modify/cre/minsc2.cre~ ~bg1cre/minsc2.cre~ ~bgt/modify/cre/minsc4.cre~ ~bg1cre/minsc4.cre~ ~bgt/modify/cre/minsc6.cre~ ~bg1cre/minsc6.cre~ SAY 0xA4 @4084 SAY 0xA8 @4085 SAY 0xAC @4087 SAY 0xB0 @4088 SAY 0xB4 @4089 SAY 0xB8 @4090 SAY 0xBC @4091 SAY 0xC0 @4092 SAY 0xC4 @4093 SAY 0xC8 @4086 SAY 0xEC @5359 SAY 0xF0 @5360 SAY 0xF4 @4094 SAY 0xF8 @4095 SAY 0xFC @5357 SAY 0x100 @4096 SAY 0x104 @5358 SAY 0x108 @4097 SAY 0x10C @4098 SAY 0x110 @4099 SAY 0x114 @4100 SAY 0x124 @4101 SAY 0x128 @4102 SAY 0x12C @4103 SAY 0x130 @4104 SAY 0x134 @4105 SAY 0x138 @4106 SAY 0x13C @4107 SAY 0x140 @4108 SAY 0x144 @4109 SAY 0x148 @4110 SAY 0x14C @4111 SAY 0x150 @4112 SAY 0x154 @4116 SAY 0x158 @4117 SAY 0x160 @4118 SAY 0x178 @4119 SAY 0x17C @4120 SAY 0x18C @4115 SAY 0x190 @4113 SAY 0x194 @4114 SAY 0x1CC @10185 //Compatibility with NeJ: Minsc's Familiar PATCH_IF FILE_EXISTS_IN_GAME ~boo.itm~ BEGIN READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "MISC84")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BOO" #8 END END END COPY_EXISTING + ~bgt/modify/cre/montar.cre~ ~bg1cre/montar.cre~ ~bgt/modify/cre/montar2.cre~ ~bg1cre/montar2.cre~ ~bgt/modify/cre/montar4.cre~ ~bg1cre/montar4.cre~ ~bgt/modify/cre/montar6.cre~ ~bg1cre/montar6.cre~ SAY 0xA4 @4121 SAY 0xA8 @4122 SAY 0xAC @4124 SAY 0xB0 @4125 SAY 0xB4 @4126 SAY 0xB8 @4127 SAY 0xBC @4128 SAY 0xC0 @4129 SAY 0xC4 @4130 SAY 0xC8 @4123 SAY 0xEC @5363 SAY 0xF0 @5364 SAY 0xF4 @4131 SAY 0xF8 @4132 SAY 0xFC @5361 SAY 0x100 @4133 SAY 0x104 @4134 SAY 0x108 @5362 SAY 0x10C @4135 SAY 0x110 @4136 SAY 0x114 @4137 SAY 0x124 @4138 SAY 0x128 @4139 SAY 0x12C @4140 SAY 0x130 @4141 SAY 0x134 @4142 SAY 0x138 @4143 SAY 0x13C @4144 SAY 0x140 @4145 SAY 0x144 @4146 SAY 0x148 @4147 SAY 0x14C @4148 SAY 0x150 @4149 SAY 0x154 @4153 SAY 0x158 @4154 SAY 0x15C @4155 SAY 0x178 @4156 SAY 0x17C @4157 SAY 0x180 @4151 SAY 0x18C @4150 SAY 0x190 @4152 SAY 0x1CC @10171 COPY_EXISTING + ~bgt/modify/cre/bgquayle.cre~ ~bg1cre/bgquayle.cre~ ~bgt/modify/cre/quayle4.cre~ ~bg1cre/quayle4.cre~ ~bgt/modify/cre/quayle6.cre~ ~bg1cre/quayle6.cre~ SAY 0xA4 @4158 SAY 0xA8 @4159 SAY 0xAC @4160 SAY 0xB0 @4161 SAY 0xB4 @4162 SAY 0xB8 @4163 SAY 0xBC @4164 SAY 0xC0 @4165 SAY 0xC4 @4166 SAY 0xC8 @5365 SAY 0xEC @5368 SAY 0xF0 @5369 SAY 0xF4 @4167 SAY 0xF8 @4168 SAY 0xFC @5366 SAY 0x100 @4169 SAY 0x104 @5367 SAY 0x108 @4170 SAY 0x10C @4171 SAY 0x110 @4172 SAY 0x114 @4173 SAY 0x120 @1185 SAY 0x124 @4174 SAY 0x128 @4175 SAY 0x12C @4176 SAY 0x130 @4177 SAY 0x134 @4178 SAY 0x138 @4179 SAY 0x13C @4180 SAY 0x140 @4181 SAY 0x144 @4182 SAY 0x148 @4183 SAY 0x14C @4184 SAY 0x150 @4185 SAY 0x154 @4192 SAY 0x158 @4190 SAY 0x160 @4191 SAY 0x178 @4194 SAY 0x17C @4195 SAY 0x18C @4187 SAY 0x190 @4186 SAY 0x194 @4189 SAY 0x19C @13592 SAY 0x1CC @10204 COPY_EXISTING + ~bgt/modify/cre/safana.cre~ ~bg1cre/safana.cre~ ~bgt/modify/cre/safana4.cre~ ~bg1cre/safana4.cre~ ~bgt/modify/cre/safana6.cre~ ~bg1cre/safana6.cre~ SAY 0xA4 @3696 SAY 0xA8 @3697 SAY 0xAC @3699 SAY 0xB0 @3700 SAY 0xB4 @3701 SAY 0xB8 @3702 SAY 0xBC @3703 SAY 0xC0 @3704 SAY 0xC4 @3705 SAY 0xC8 @5291 SAY 0xEC @5298 SAY 0xF0 @5299 SAY 0xF4 @3706 SAY 0xF8 @5294 SAY 0xFC @3707 SAY 0x100 @5295 SAY 0x104 @5296 SAY 0x108 @5297 SAY 0x10C @3708 SAY 0x110 @3709 SAY 0x114 @3710 SAY 0x120 @1185 SAY 0x124 @3711 SAY 0x128 @3712 SAY 0x12C @3714 SAY 0x130 @3715 SAY 0x134 @3717 SAY 0x138 @3718 SAY 0x13C @3719 SAY 0x140 @3721 SAY 0x144 @3723 SAY 0x148 @3724 SAY 0x14C @3726 SAY 0x150 @3727 SAY 0x154 @3734 SAY 0x160 @3731 SAY 0x164 @3732 SAY 0x178 @3735 SAY 0x17C @3736 SAY 0x180 @3730 SAY 0x18C @3728 SAY 0x190 @3729 SAY 0x1CC @10201 COPY_EXISTING + ~bgt/modify/cre/sharte.cre~ ~bg1cre/sharte.cre~ ~bgt/modify/cre/sharte4.cre~ ~bg1cre/sharte4.cre~ ~bgt/modify/cre/sharte6.cre~ ~bg1cre/sharte6.cre~ SAY 0xA4 @3576 SAY 0xA8 @3577 SAY 0xAC @3579 SAY 0xB0 @3580 SAY 0xB4 @3581 SAY 0xB8 @3582 SAY 0xBC @3583 SAY 0xC0 @3584 SAY 0xC4 @3585 SAY 0xC8 @3578 SAY 0xEC @5276 SAY 0xF0 @5280 SAY 0xF4 @3588 SAY 0xF8 @5270 SAY 0xFC @5272 SAY 0x100 @5273 SAY 0x104 @5274 SAY 0x108 @5275 SAY 0x10C @3589 SAY 0x110 @3590 SAY 0x114 @3591 SAY 0x124 @3592 SAY 0x128 @3593 SAY 0x12C @3594 SAY 0x130 @3595 SAY 0x134 @3596 SAY 0x138 @3597 SAY 0x13C @3598 SAY 0x140 @3599 SAY 0x144 @3600 SAY 0x148 @3601 SAY 0x14C @3602 SAY 0x150 @3603 SAY 0x154 @3607 SAY 0x158 @3608 SAY 0x160 @3609 SAY 0x178 @3610 SAY 0x17C @3611 SAY 0x180 @3604 SAY 0x18C @3605 SAY 0x190 @3606 SAY 0x1CC @10215 COPY_EXISTING + ~bgt/modify/cre/skie.cre~ ~bg1cre/skie.cre~ ~bgt/modify/cre/skie6.cre~ ~bg1cre/skie6.cre~ SAY 0xA8 @3891 SAY 0xAC @3924 SAY 0xB0 @3893 SAY 0xB4 @3894 SAY 0xB8 @3896 SAY 0xBC @3897 SAY 0xC0 @3898 SAY 0xC4 @3900 SAY 0xC8 @5329 SAY 0xEC @5335 SAY 0xF0 @5336 SAY 0xF4 @3901 SAY 0xF8 @5330 SAY 0xFC @5331 SAY 0x100 @5332 SAY 0x104 @5333 SAY 0x108 @5334 SAY 0x10C @3902 SAY 0x110 @3903 SAY 0x114 @3904 SAY 0x120 @1185 SAY 0x124 @3905 SAY 0x128 @3906 SAY 0x12C @3907 SAY 0x130 @3908 SAY 0x134 @3909 SAY 0x138 @3910 SAY 0x13C @3911 SAY 0x140 @3912 SAY 0x144 @3913 SAY 0x148 @3914 SAY 0x14C @3916 SAY 0x150 @3917 SAY 0x160 @3921 SAY 0x164 @3922 SAY 0x168 @3923 SAY 0x178 @3924 SAY 0x17C @3926 SAY 0x180 @3920 SAY 0x18C @3918 SAY 0x190 @3919 SAY 0x1CC @10207 COPY_EXISTING + ~bgt/modify/cre/tiax.cre~ ~bg1cre/tiax.cre~ ~bgt/modify/cre/tiax4.cre~ ~bg1cre/tiax4.cre~ ~bgt/modify/cre/tiax6.cre~ ~bg1cre/tiax6.cre~ SAY 0xA4 @4196 SAY 0xA8 @4197 SAY 0xAC @4199 SAY 0xB0 @4202 SAY 0xB4 @4203 SAY 0xB8 @4204 SAY 0xBC @4205 SAY 0xC0 @4206 SAY 0xC4 @4208 SAY 0xC8 @4198 SAY 0xEC @5370 SAY 0xF0 @5371 SAY 0xF4 @4209 SAY 0xF8 @4210 SAY 0xFC @4211 SAY 0x100 @4213 SAY 0x104 @4214 SAY 0x108 @4215 SAY 0x10C @4216 SAY 0x110 @4217 SAY 0x114 @4218 SAY 0x124 @4219 SAY 0x128 @4221 SAY 0x12C @4222 SAY 0x130 @4223 SAY 0x134 @4224 SAY 0x138 @4225 SAY 0x13C @4226 SAY 0x140 @4227 SAY 0x144 @4228 SAY 0x148 @4229 SAY 0x14C @4230 SAY 0x150 @4231 SAY 0x154 @4235 SAY 0x16C @4236 SAY 0x170 @4237 SAY 0x178 @4238 SAY 0x17C @4239 SAY 0x18C @4232 SAY 0x190 @4233 SAY 0x194 @4234 SAY 0x1CC @10213 COPY_EXISTING + ~bgt/modify/cre/viconi.cre~ ~bg1cre/viconi.cre~ ~bgt/modify/cre/viconi4.cre~ ~bg1cre/viconi4.cre~ ~bgt/modify/cre/viconi61.cre~ ~bg1cre/viconi61.cre~ SAY 0xA4 @3612 SAY 0xA8 @3613 SAY 0xAC @3615 SAY 0xB0 @3616 SAY 0xB4 @3617 SAY 0xB8 @3618 SAY 0xBC @3619 SAY 0xC0 @3620 SAY 0xC4 @3621 SAY 0xC8 @3614 SAY 0xEC @5284 SAY 0xF0 @5285 SAY 0xF4 @3622 SAY 0xF8 @3623 SAY 0xFC @5281 SAY 0x100 @5283 SAY 0x104 @3624 SAY 0x108 @3625 SAY 0x10C @3626 SAY 0x110 @3627 SAY 0x114 @3628 SAY 0x124 @3630 SAY 0x128 @3631 SAY 0x12C @3632 SAY 0x130 @3633 SAY 0x134 @3634 SAY 0x138 @3635 SAY 0x13C @3636 SAY 0x140 @3637 SAY 0x144 @3638 SAY 0x148 @3639 SAY 0x14C @3640 SAY 0x150 @3641 SAY 0x154 @3647 SAY 0x160 @3646 SAY 0x16C @3648 SAY 0x178 @3649 SAY 0x17C @3650 SAY 0x180 @3643 SAY 0x18C @3642 SAY 0x190 @3645 SAY 0x19C @13675 SAY 0x1CC @10217 //Compatibility with BG2 Fixpack //Adds Flame Blade to known spells PATCH_IF (FILE_EXISTS_IN_GAME ~cdbehbla.pro~) AND ("%SOURCE_RES%" STRING_COMPARE_CASE "viconi4" = 0) BEGIN ADD_KNOWN_SPELL ~sppr206~ #1 ~priest~ // flame blade END ELSE //Compatibility with BG2 Fixpack //Deletes Holy Smite from known and memorized spells //Adds Flame Blade to known spells PATCH_IF (FILE_EXISTS_IN_GAME ~cdbehbla.pro~) AND ("%SOURCE_RES%" STRING_COMPARE_CASE "viconi61" = 0) BEGIN READ_LONG 0x2a0 "known_off" READ_LONG 0x2a4 "known_num" READ_LONG 0x2a8 "meminfo_off" READ_LONG 0x2b0 "mem_off" READ_LONG 0x2b4 "mem_num" READ_LONG 0x2b8 "slot_off" READ_LONG 0x2bc "item_off" READ_LONG 0x2c4 "fx_off" FOR (index = known_num ; index > 0 ; index = index - 1) BEGIN // spellbook adjustments READ_ASCII ("%known_off%" + (("%index%" - 1) * 0x0C)) "spell" PATCH_IF ("SPPR313" STRING_COMPARE_CASE "%spell%" = 0) BEGIN DELETE_BYTES ("%known_off%" + (("%index%" - 1) * 0x0C)) 0x0C SET "known_num" = ("%known_num%" - 1) PATCH_IF ("%meminfo_off%" >= "%known_off%") BEGIN SET "meminfo_off" = ("%meminfo_off%" - 0x0C) END PATCH_IF ("%mem_off%" >= "%known_off%") BEGIN SET "mem_off" = ("%mem_off%" - 0x0C) END PATCH_IF ("%slot_off%" >= "%known_off%") BEGIN SET "slot_off" = ("%slot_off%" - 0x0C) END PATCH_IF ("%item_off%" >= "%known_off%") BEGIN SET "item_off" = ("%item_off%" - 0x0C) END PATCH_IF ("%fx_off%" >= "%known_off%") BEGIN SET "fx_off" = ("%fx_off%" - 0x0C) END END END FOR (index = mem_num ; index > 0 ; index = index - 1) BEGIN // spellbook adjustments READ_ASCII ("%mem_off%" + (("%index%" - 1) * 0x0C)) "spell" PATCH_IF ("SPPR313" STRING_COMPARE_CASE "%spell%" = 0) BEGIN WRITE_ASCII ("%mem_off%" + (("%index%" - 1) * 0x0C)) ~sppr314~ #8 END END WRITE_LONG 0x2a0 "%known_off%" WRITE_LONG 0x2a4 "%known_num%" WRITE_LONG 0x2a8 "%meminfo_off%" WRITE_LONG 0x2b0 "%mem_off%" WRITE_LONG 0x2b8 "%slot_off%" WRITE_LONG 0x2bc "%item_off%" WRITE_LONG 0x2c4 "%fx_off%" ADD_KNOWN_SPELL ~sppr206~ #1 ~priest~ // flame blade END COPY_EXISTING + ~bgt/modify/cre/bgxan.cre~ ~bg1cre/bgxan.cre~ ~bgt/modify/cre/xan4.cre~ ~bg1cre/xan4.cre~ ~bgt/modify/cre/xan6.cre~ ~bg1cre/xan6.cre~ SAY 0xA4 @3420 SAY 0xA8 @3426 SAY 0xAC @3428 SAY 0xB0 @3429 SAY 0xB4 @3430 SAY 0xB8 @3431 SAY 0xBC @3432 SAY 0xC0 @3433 SAY 0xC4 @3434 SAY 0xC8 @3427 SAY 0xEC @5246 SAY 0xF0 @5247 SAY 0xF4 @3435 SAY 0xF8 @3436 SAY 0xFC @3437 SAY 0x100 @5244 SAY 0x104 @3438 SAY 0x108 @5245 SAY 0x10C @3439 SAY 0x110 @3440 SAY 0x114 @3441 SAY 0x124 @3442 SAY 0x128 @3443 SAY 0x12C @3444 SAY 0x130 @3445 SAY 0x134 @3446 SAY 0x138 @3447 SAY 0x13C @3448 SAY 0x140 @3449 SAY 0x144 @3450 SAY 0x148 @3451 SAY 0x14C @3452 SAY 0x150 @3453 SAY 0x154 @3459 SAY 0x158 @3460 SAY 0x160 @3461 SAY 0x178 @3462 SAY 0x17C @3463 SAY 0x18C @3454 SAY 0x190 @3456 SAY 0x194 @3455 SAY 0x1CC @10206 COPY_EXISTING + ~bgt/modify/cre/bgxzar.cre~ ~bg1cre/bgxzar.cre~ ~bgt/modify/cre/xzar2.cre~ ~bg1cre/xzar2.cre~ ~bgt/modify/cre/xzar4.cre~ ~bg1cre/xzar4.cre~ ~bgt/modify/cre/xzar6.cre~ ~bg1cre/xzar6.cre~ SAY 0xA4 @4240 SAY 0xA8 @4241 SAY 0xAC @4243 SAY 0xB0 @4244 SAY 0xB4 @4245 SAY 0xB8 @4246 SAY 0xBC @4247 SAY 0xC0 @4248 SAY 0xC4 @4249 SAY 0xC8 @4242 SAY 0xEC @5372 SAY 0xF0 @5387 SAY 0xF4 @4250 SAY 0xF8 @4251 SAY 0xFC @4252 SAY 0x100 @4253 SAY 0x104 @4254 SAY 0x108 @4255 SAY 0x10C @4256 SAY 0x110 @4257 SAY 0x114 @4258 SAY 0x124 @4259 SAY 0x128 @4260 SAY 0x12C @4261 SAY 0x130 @4263 SAY 0x134 @4264 SAY 0x138 @4265 SAY 0x13C @4266 SAY 0x140 @4267 SAY 0x144 @4268 SAY 0x148 @4269 SAY 0x14C @4270 SAY 0x150 @4271 SAY 0x16C @4275 SAY 0x170 @4276 SAY 0x174 @4277 SAY 0x178 @4278 SAY 0x17C @4279 SAY 0x180 @4274 SAY 0x18C @4272 SAY 0x190 @4273 SAY 0x1CC @10172 COPY_EXISTING + ~bgt/modify/cre/yeslic.cre~ ~bg1cre/yeslic.cre~ ~bgt/modify/cre/yeslic5.cre~ ~bg1cre/yeslic5.cre~ SAY 0xA4 @4280 SAY 0xA8 @4281 SAY 0xAC @4283 SAY 0xB0 @4284 SAY 0xB4 @4285 SAY 0xB8 @4286 SAY 0xBC @4287 SAY 0xC0 @4288 SAY 0xC4 @4289 SAY 0xC8 @4282 SAY 0xEC @5392 SAY 0xF0 @5393 SAY 0xF4 @4290 SAY 0xF8 @5389 SAY 0xFC @5390 SAY 0x100 @4291 SAY 0x104 @4293 SAY 0x108 @5391 SAY 0x10C @4295 SAY 0x110 @4296 SAY 0x114 @4298 SAY 0x124 @4302 SAY 0x128 @4303 SAY 0x12C @4304 SAY 0x130 @4305 SAY 0x134 @4307 SAY 0x138 @4309 SAY 0x140 @4312 SAY 0x144 @4313 SAY 0x148 @4314 SAY 0x14C @4315 SAY 0x150 @4316 SAY 0x154 @4325 SAY 0x160 @4321 SAY 0x16C @4320 SAY 0x178 @4326 SAY 0x17C @4327 SAY 0x180 @4319 SAY 0x18C @4317 SAY 0x190 @4318 SAY 0x1CC @10195 //////////////////////////////////////// // Random Treasure Patching of Creatures //////////////////////////////////////// ACTION_IF FILE_EXISTS_IN_GAME ~AR3540.are~ THEN BEGIN //CtB compatibility COPY_EXISTING ~rndwep.2da~ ~override/rndwep.2da~ SET next_idx_weapon = 0 SPRINT dest_scr1 "" SPRINT dest_scr2 "" SPRINT dest_scr3 "" SET rows=2 SET rows_prev=0 SET col_cnt=0 WHILE "%rows%">1 BEGIN col_cnt += 1 rows_prev = rows COUNT_2DA_ROWS col_cnt rows END col_cnt = col_cnt - 1 SET next_idx_weapon = rows_prev+1 FOR(i=1; i<=3; i+=1) BEGIN //determine new row numbers for rndwep.2da lines PATCH_IF (next_idx_weapon < 10) BEGIN PATCH_IF(i=1) BEGIN SPRINT dest_scr1 "rndwep0%next_idx_weapon%" END PATCH_IF(i=2) BEGIN SPRINT dest_scr2 "rndwep0%next_idx_weapon%" END PATCH_IF(i=3) BEGIN SPRINT dest_scr3 "rndwep0%next_idx_weapon%" END END SET next_idx_weapon += 1 END COPY_EXISTING ~rndmagic.2da~ ~override/rndmagic.2da~ SET next_idx_magic = 0 SPRINT dest_scr4 "" SPRINT dest_mag1 "" SPRINT dest_mag2 "" SPRINT dest_tre1 "" SET rows=2 SET rows_prev=0 SET col_cnt=0 WHILE "%rows%">1 BEGIN col_cnt += 1 rows_prev = rows COUNT_2DA_ROWS col_cnt rows END col_cnt = col_cnt - 1 SET next_idx_magic = rows_prev+1 FOR(i=1; i<=4; i+=1) BEGIN //determine new row numbers for rndmagic.2da lines PATCH_IF (next_idx_magic < 10) BEGIN PATCH_IF(i=1) BEGIN SPRINT dest_scr4 "rndmag0%next_idx_magic%" END PATCH_IF(i=2) BEGIN SPRINT dest_mag1 "rndmag0%next_idx_magic%" END PATCH_IF(i=3) BEGIN SPRINT dest_mag2 "rndmag0%next_idx_magic%" END PATCH_IF(i=4) BEGIN SPRINT dest_tre1 "rndmag0%next_idx_magic%" END END SET next_idx_magic += 1 END COPY_EXISTING ~rndequip.2da~ ~override/rndequip.2da~ SET next_idx_equip = 0 SPRINT dest_mag3 "" SPRINT dest_tre2 "" SPRINT dest_tre3 "" SPRINT dest_tre4 "" SPRINT dest_tre5 "" SET rows=2 SET rows_prev=0 SET col_cnt=0 WHILE "%rows%">1 BEGIN col_cnt += 1 rows_prev = rows COUNT_2DA_ROWS col_cnt rows END col_cnt = col_cnt - 1 SET next_idx_equip = rows_prev+1 FOR(i=1; i<=5; i+=1) BEGIN //determine new row numbers for rndequip.2da lines PATCH_IF (next_idx_equip < 10) BEGIN PATCH_IF(i=1) BEGIN SPRINT dest_mag3 "rndequ0%next_idx_equip%" END PATCH_IF(i=2) BEGIN SPRINT dest_tre2 "rndequ0%next_idx_equip%" END PATCH_IF(i=3) BEGIN SPRINT dest_tre3 "rndequ0%next_idx_equip%" END PATCH_IF(i=4) BEGIN SPRINT dest_tre4 "rndequ0%next_idx_equip%" END PATCH_IF(i=5) BEGIN SPRINT dest_tre5 "rndequ0%next_idx_equip%" END END SET next_idx_equip += 1 END APPEND ~rndwep.2da~ //three SCROL lines ~1stBG SCRL84 SCRL70 SCRL70 SCRL66 SCRL66 SCRL67 SCRL68 SCRL69 SCRL71 SCRL72 SCRL73 SCRL75 SCRL76 SCRL77 SCRL78 SCRL79 SCRL80 SCRL81 SCRL82 SCRL83 2ndBG SCRL85 SCRL85 SCRL86 SCRL86 SCRL87 SCRL88 SCRL89 SCRL90 SCRL91 SCRL92 SCRL93 SCRL94 SCRL95 SCRL96 SCRL97 SCRL98 SCRL99 SCRL1B SCRL1C SCRL2I 3rdBG SCRL1D SCRL1E SCRL1F SCRL1G SCRL1H SCRL1I SCRL1J SCRL1K SCRL1L SCRL1M SCRL1N SCRL1O SCRL1P SCRL1Q SCRL1S SCRL1S SCRL1T SCRL1E SCRL1M SCRL1I~ APPEND ~rndmagic.2da~ //one SCROL line, two MAGIC lines, one TREAS line ~4thBG SCRL5A SCRL5B SCRL5C SCRL5D SCRL5G SCRL5H SCRL5I SCRL5J SCRL5K SCRL5M SCRL5M SCRL1Z SCRL2A SCRL1U SCRL1T SCRL56 SCRL58 SCRL59 SCRL5J LOWBG AROW07 BOLT05 BULL03*3 POTN31 %dest_scr2% %dest_scr1% SCRL06 SCRL04 POTN08 POTN43 POTN44 POTN37 POTN19 POTN28 BULL02*5 AROW02*5 BOLT02*5 AROW11*3 BOLT06*3 HIGHBG POTN09 POTN05 POTN03 SCRL08 SCRL09 %dest_scr3% SCRL16 POTN17 POTN08 POTN10 AROW04 AROW09 BOLT04 BOLT03 AROW06 AROW08 WAND03*10 WAND05*10 WAND06*10 POOR_BG1 MISC19 004 002 001 %dest_scr1% 001 001 * * * 001 001 001 001 002 002 003 003 MISC16~ APPEND ~rndequip.2da~ //one MAGIC line, four TREAS lines ~POOPBG * POTN08 POTN13 POTN08 POTN36 POTN08 %dest_scr3% POTN08 SCRL91 POTN08 POTN18 POTN08 BOLT04*4 POTN08 AROW09*2 POTN08 WAND07*4 %dest_scr4% POTN08 SW1H22 AVRG_BG1 * %dest_mag1% MISC23 AMUL05 MISC17 015 012 010 008 006 003 * 001 007 009 %dest_scr1% MISC18 MISC22 AMUL06 RING12 WELL_BG1 * %dest_mag1% MISC31 AMUL08 MISC20 034 AMUL09 %dest_scr1% 008 009 RING11 023 %dest_scr1% RING14 MISC26 MISC25 057 MISC27 MISC28 AMUL04 WEAL_BG1 * %dest_mag1% RING18 MISC37 MISC35 RING16 AMUL07 %dest_scr2% 047 038 029 AMUL09 RING10 RING15 %dest_scr2% RING13 RING17 MISC34 MISC36 %dest_mag2% RICH_BG1 * %dest_mag2% %dest_mag1% MISC43 AMUL11 AMUL12 AMUL13 AMUL10 MISC29 MISC21 073 MISC24 %dest_scr3% MISC34 MISC38 %dest_scr3% MISC40 MISC42 %dest_mag1% %dest_mag2%~ END ELSE BEGIN COPY_EXISTING ~rndscrol.2da~ ~override/rndscrol.2da~ SET next_idx_scroll = 0 SPRINT dest_scr1 "" SPRINT dest_scr2 "" SPRINT dest_scr3 "" SPRINT dest_scr4 "" SET rows=2 SET rows_prev=0 SET col_cnt=0 WHILE "%rows%">1 BEGIN col_cnt += 1 rows_prev = rows COUNT_2DA_ROWS col_cnt rows END col_cnt = col_cnt - 1 SET next_idx_scroll = rows_prev+1 FOR(i=1; i<=4; i+=1) BEGIN //determine new row numbers for rndscrol.2da lines PATCH_IF (next_idx_scroll < 10) BEGIN PATCH_IF(i=1) BEGIN SPRINT dest_scr1 "rndscr0%next_idx_scroll%" END PATCH_IF(i=2) BEGIN SPRINT dest_scr2 "rndscr0%next_idx_scroll%" END PATCH_IF(i=3) BEGIN SPRINT dest_scr3 "rndscr0%next_idx_scroll%" END PATCH_IF(i=4) BEGIN SPRINT dest_scr4 "rndscr0%next_idx_scroll%" END END SET next_idx_scroll += 1 END COPY_EXISTING ~rndmagic.2da~ ~override/rndmagic.2da~ SET next_idx_magic = 0 SPRINT dest_tre1 "" SPRINT dest_mag1 "" SPRINT dest_mag2 "" SPRINT dest_mag3 "" SET rows=2 SET rows_prev=0 SET col_cnt=0 WHILE "%rows%">1 BEGIN col_cnt += 1 rows_prev = rows COUNT_2DA_ROWS col_cnt rows END col_cnt = col_cnt - 1 SET next_idx_magic = rows_prev+1 FOR(j=1; j<=4; j+=1) BEGIN //determine new row numbers for rndmagic.2da lines PATCH_IF (next_idx_magic < 10) BEGIN PATCH_IF(j=1) BEGIN SPRINT dest_mag1 "rndmag0%next_idx_magic%" END PATCH_IF(j=2) BEGIN SPRINT dest_mag2 "rndmag0%next_idx_magic%" END PATCH_IF(j=3) BEGIN SPRINT dest_mag3 "rndmag0%next_idx_magic%" END PATCH_IF(j=4) BEGIN SPRINT dest_tre1 "rndmag0%next_idx_magic%" END END SET next_idx_magic += 1 END COPY_EXISTING ~rndtreas.2da~ ~override/rndtreas.2da~ SET next_idx_treas = 0 SPRINT dest_tre2 "" SPRINT dest_tre3 "" SPRINT dest_tre4 "" SPRINT dest_tre5 "" SET rows=2 SET rows_prev=0 SET col_cnt=0 WHILE "%rows%">1 BEGIN col_cnt += 1 rows_prev = rows COUNT_2DA_ROWS col_cnt rows END col_cnt = col_cnt - 1 SET next_idx_treas = rows_prev+1 FOR(l=1; l<=4; l+=1) BEGIN //determine new row numbers for rndtreas.2da lines PATCH_IF (next_idx_treas < 10) BEGIN PATCH_IF(l=1) BEGIN SPRINT dest_tre2 "rndtre0%next_idx_treas%" END PATCH_IF(l=2) BEGIN SPRINT dest_tre3 "rndtre0%next_idx_treas%" END PATCH_IF(l=3) BEGIN SPRINT dest_tre4 "rndtre0%next_idx_treas%" END PATCH_IF(l=4) BEGIN SPRINT dest_tre5 "rndtre0%next_idx_treas%" END END SET next_idx_treas += 1 END APPEND ~rndscrol.2da~ //four SCROL lines ~1stBG SCRL84 SCRL70 SCRL70 SCRL66 SCRL66 SCRL67 SCRL68 SCRL69 SCRL71 SCRL72 SCRL73 SCRL75 SCRL76 SCRL77 SCRL78 SCRL79 SCRL80 SCRL81 SCRL82 SCRL83 2ndBG SCRL85 SCRL85 SCRL86 SCRL86 SCRL87 SCRL88 SCRL89 SCRL90 SCRL91 SCRL92 SCRL93 SCRL94 SCRL95 SCRL96 SCRL97 SCRL98 SCRL99 SCRL1B SCRL1C SCRL2I 3rdBG SCRL1D SCRL1E SCRL1F SCRL1G SCRL1H SCRL1I SCRL1J SCRL1K SCRL1L SCRL1M SCRL1N SCRL1O SCRL1P SCRL1Q SCRL1S SCRL1S SCRL1T SCRL1E SCRL1M SCRL1I 4thBG SCRL5A SCRL5B SCRL5C SCRL5D SCRL5G SCRL5H SCRL5I SCRL5J SCRL5K SCRL5M SCRL5M SCRL1Z SCRL2A SCRL1U SCRL1T SCRL5M SCRL56 SCRL58 SCRL59 SCRL5J~ APPEND ~rndmagic.2da~ //three MAGIC lines, one TREAS line ~LOWBG AROW07 BOLT05 BULL03*3 POTN31 %dest_scr2% %dest_scr1% SCRL06 SCRL04 POTN08 POTN43 POTN44 POTN37 POTN19 POTN28 BULL02*5 AROW02*5 BOLT02*5 AROW11*3 BOLT06*3 HIGHBG POTN09 POTN05 POTN03 SCRL08 SCRL09 %dest_scr3% SCRL16 POTN17 POTN08 POTN10 AROW04 AROW09 BOLT04 BOLT03 AROW06 AROW08 WAND03*10 WAND05*10 WAND06*10 POOPBG POTN08 POTN13 POTN08 POTN36 POTN08 %dest_scr3% POTN08 SCRL91 POTN08 POTN18 POTN08 BOLT04*4 POTN08 AROW09*2 POTN08 WAND07*4 %dest_scr4% POTN08 SW1H22 POOR_BG1 MISC19 004 002 001 RNDSCR04 001 001 * * * 001 001 001 001 002 002 003 003 MISC16~ APPEND ~rndtreas.2da~ //four TREAS lines ~AVRG_BG1 %dest_mag1% MISC23 AMUL05 MISC17 015 012 010 008 006 003 * 001 007 009 %dest_scr1% MISC18 MISC22 AMUL06 RING12 WELL_BG1 %dest_mag1% MISC31 AMUL08 MISC20 034 AMUL09 %dest_scr1% 008 009 RING11 023 %dest_scr1% RING14 MISC26 MISC25 057 MISC27 MISC28 AMUL04 WEAL_BG1 %dest_mag1% RING18 MISC37 MISC35 RING16 AMUL07 %dest_scr2% 047 038 029 AMUL09 RING10 RING15 %dest_scr2% RING13 RING17 MISC34 MISC36 %dest_mag2% RICH_BG1 %dest_mag2% %dest_mag1% MISC43 AMUL11 AMUL12 AMUL13 AMUL10 MISC29 MISC21 073 MISC24 %dest_scr3% MISC34 MISC38 %dest_scr3% MISC40 MISC42 %dest_mag1% %dest_mag2%~ END COPY ~bgt/modify/itm/treasure/rndtre.itm~ ~override/%dest_tre1%.itm~ ~bgt/modify/itm/treasure/rndtre.itm~ ~override/%dest_tre2%.itm~ ~bgt/modify/itm/treasure/rndtre.itm~ ~override/%dest_tre3%.itm~ ~bgt/modify/itm/treasure/rndtre.itm~ ~override/%dest_tre4%.itm~ ~bgt/modify/itm/treasure/rndtre.itm~ ~override/%dest_tre5%.itm~ ~bgt/modify/itm/treasure/rndtre.itm~ ~override/%dest_mag3%.itm~ COPY + ~bg1cre~ ~bg1cre~ REPLACE_TEXTUALLY "RNDTRE01" "%dest_tre1%" REPLACE_TEXTUALLY "RNDTRE02" "%dest_tre2%" REPLACE_TEXTUALLY "RNDTRE03" "%dest_tre3%" REPLACE_TEXTUALLY "RNDTRE04" "%dest_tre4%" REPLACE_TEXTUALLY "RNDTRE05" "%dest_tre5%" BUT_ONLY_IF_IT_CHANGES COPY_EXISTING + ~skelded.cre~ ~bg1cre/skelded.cre~ REPLACE_TEXTUALLY "RNDMAG03" "%dest_mag3%" ////////////////////////// //Copy creature files over ////////////////////////// COPY ~bg1cre~ ~override~ /////////////////////////////////////////////////////// // 2DA files /////////////////////////////////////////////////////// PRINT ~~ PRINT @100012 COPY ~bgt/base/2da~ ~override~ COPY ~bgt/modify/2da/bgintro.2da~ ~override/bgintro.2da~ REPLACE ~*1~ @700020 REPLACE ~*2~ @700021 REPLACE ~*3~ @700022 REPLACE ~*4~ @700023 REPLACE ~*5~ @700024 PATCH_IF ("%LANGUAGE%" STRING_EQUAL_CASE ~castilian~) BEGIN SET_2DA_ENTRY 0 1 3 ~30~ SET_2DA_ENTRY 1 1 3 ~229~ SET_2DA_ENTRY 2 1 3 ~433~ SET_2DA_ENTRY 3 1 3 ~461~ SET_2DA_ENTRY 4 1 3 ~471~ SET_2DA_ENTRY 5 1 3 ~601~ SET_2DA_ENTRY 6 1 3 ~617~ SET_2DA_ENTRY 7 1 3 ~696~ SET_2DA_ENTRY 8 0 3 ~6~ SET_2DA_ENTRY 8 1 3 ~1400~ SET_2DA_ENTRY 9 1 3 ~1546~ INSERT_2DA_ROW 8 3 ~5 946 *5~ INSERT_2DA_ROW 9 3 ~BLANK 993 0~ REPLACE ~*5~ @700025 END PATCH_IF ("%LANGUAGE%" STRING_EQUAL_CASE ~french~) BEGIN SET_2DA_ENTRY 0 1 3 ~30~ SET_2DA_ENTRY 1 1 3 ~229~ SET_2DA_ENTRY 2 1 3 ~425~ SET_2DA_ENTRY 3 1 3 ~465~ SET_2DA_ENTRY 4 1 3 ~470~ SET_2DA_ENTRY 5 1 3 ~600~ SET_2DA_ENTRY 6 1 3 ~610~ SET_2DA_ENTRY 7 1 3 ~696~ SET_2DA_ENTRY 8 1 3 ~1400~ SET_2DA_ENTRY 9 1 3 ~1546~ END PATCH_IF ("%LANGUAGE%" STRING_EQUAL_CASE ~german~) BEGIN SET_2DA_ENTRY 0 1 3 ~30~ SET_2DA_ENTRY 1 1 3 ~229~ SET_2DA_ENTRY 2 1 3 ~436~ SET_2DA_ENTRY 3 1 3 ~456~ SET_2DA_ENTRY 4 1 3 ~466~ SET_2DA_ENTRY 5 1 3 ~607~ SET_2DA_ENTRY 6 1 3 ~617~ SET_2DA_ENTRY 7 1 3 ~696~ SET_2DA_ENTRY 8 1 3 ~1400~ SET_2DA_ENTRY 9 1 3 ~1546~ END PATCH_IF ("%LANGUAGE%" STRING_EQUAL_CASE ~italian~) BEGIN SET_2DA_ENTRY 0 1 3 ~30~ SET_2DA_ENTRY 1 1 3 ~229~ SET_2DA_ENTRY 2 1 3 ~434~ SET_2DA_ENTRY 3 1 3 ~466~ SET_2DA_ENTRY 4 1 3 ~476~ SET_2DA_ENTRY 5 1 3 ~585~ SET_2DA_ENTRY 6 1 3 ~625~ SET_2DA_ENTRY 7 1 3 ~696~ SET_2DA_ENTRY 8 1 3 ~1400~ SET_2DA_ENTRY 9 1 3 ~1546~ END //BGT Credits COPY ~bgt/modify/2da/bgtcred.2da~ ~override/bgtcred.2da~ REPLACE ~999~ @700037 REPLACE ~888~ @700038 COPY ~bgt/modify/2da/chptxt-0.2da~ ~override/chptxt-0.2da~ REPLACE ~16202~ @700000 COPY ~bgt/modify/2da/chptxt-1.2da~ ~override/chptxt-1.2da~ REPLACE ~16203~ @700005 COPY ~bgt/modify/2da/chptxt-2.2da~ ~override/chptxt-2.2da~ REPLACE ~16204~ @700009 COPY ~bgt/modify/2da/chptxt-3.2da~ ~override/chptxt-3.2da~ REPLACE ~16205~ @700011 COPY ~bgt/modify/2da/chptxt-4.2da~ ~override/chptxt-4.2da~ REPLACE ~16206~ @700013 COPY ~bgt/modify/2da/chptxt-5.2da~ ~override/chptxt-5.2da~ REPLACE ~16207~ @700015 COPY ~bgt/modify/2da/chptxt-6.2da~ ~override/chptxt-6.2da~ REPLACE ~16208~ @700017 COPY ~bgt/modify/2da/chptxt-7.2da~ ~override/chptxt-7.2da~ REPLACE ~16209~ @700019 COPY_EXISTING ~import01.2da~ ~override/import01.2da~ ~import03.2da~ ~override/import03.2da~ SET_2DA_ENTRY 1 0 1 ~*~ BUT_ONLY_IF_IT_CHANGES COPY ~bgt/modify/2da/isloff.2da~ ~override/isloff.2da~ REPLACE ~23356~ @23356 COPY ~bgt/modify/2da/islon.2da~ ~override/islon.2da~ REPLACE ~23355~ @23355 COPY ~bgt/modify/2da/toscend.2da~ ~override/toscend.2da~ REPLACE ~24117~ @24117 /////////////////////////////////////////////////////// // Miscellaneous files -- worldmap v6 support included /////////////////////////////////////////////////////// PRINT ~~ PRINT @100014 COPY ~bgt/base/misc~ ~override~ ~bgt/base/mus~ ~music~ ACTION_IF FILE_EXISTS ~worldmap/map_mods_areas.tbl~ THEN BEGIN COPY ~worldmap/map_mods_areas.tbl~ ~worldmap~ APPEND_FILE ~bgt/worldmap/areas.tbl~ COPY ~worldmap/map_mods_links.tbl~ ~worldmap~ APPEND_FILE ~bgt/worldmap/links.tbl~ //preliminary step - making LANGUAGE temporary file until the new WeiDU COPY - ~bgt/worldmap/%LANGUAGE%/worldmap.tra~ ~tmp_worldmap.tra~ COPY ~worldmap/map_mods_trans.tra~ ~worldmap~ APPEND_FILE ~tmp_worldmap.tra~ END ELSE BEGIN MKDIR ~worldmap~ COPY ~bgt/worldmap/areas.tbl~ ~worldmap/map_mods_areas.tbl~ COPY ~bgt/worldmap/links.tbl~ ~worldmap/map_mods_links.tbl~ COPY ~bgt/worldmap/%LANGUAGE%/worldmap.tra~ ~worldmap/map_mods_trans.tra~ COPY ~bgt/base/map~ ~override~ END /////////////////////////////////////////////////////// // XP Patcher /////////////////////////////////////////////////////// PRINT ~~ PRINT @100016 COPY ~bgmain.exe~ ~bgmain.exe~ SET i = 1 WHILE (i>0) BEGIN SET i += 4 READ_LONG (0x6b0000 + "%i%" - 1) long_value //start at offset 0x6b0000 READ_LONG (0x6b0000 + "%i%" - 5) long_before_value READ_LONG (0x6b0000 + "%i%" + 3) long_after_value PATCH_IF ("%long_before_value%" = 0) AND ("%long_after_value%" = 161000) /*AND ("%long_value%" = 89000)*/ THEN BEGIN //look only for a long value bounded by a previous value of 0, and a next value of 161000 WRITE_LONG (0x6b0000 + "%i%" - 1) 1 //setting to zero causes thieving skills to isolate from proficiencies and screws up skill types END PATCH_IF ("%i%" = 0x10001) BEGIN //span a region of 0x10000 bytes SET i = 0 END END //Movie fix REPLACE_TEXTUALLY ~DAYNITE~ "" (8) REPLACE_TEXTUALLY ~NITEDAY~ "" (8) BUT_ONLY_IF_IT_CHANGES //BG1 EXTEND_BOTTOM ~ar7200.bcs~ ~bgt/modify/baf/abg1mov.baf~ EXTEND_BOTTOM ~ar7300.bcs~ ~bgt/modify/baf/abg1mov.baf~ EXTEND_BOTTOM ~ar7400.bcs~ ~bgt/modify/baf/abg1mov.baf~ EXTEND_BOTTOM ~ar7600.bcs~ ~bgt/modify/baf/abg1mov.baf~ EXTEND_BOTTOM ~ar7700.bcs~ ~bgt/modify/baf/abg1mov.baf~ EXTEND_BOTTOM ~ar7800.bcs~ ~bgt/modify/baf/abg1mov.baf~ EXTEND_BOTTOM ~ar8000.bcs~ ~bgt/modify/baf/abg1mov.baf~ EXTEND_BOTTOM ~ar8100.bcs~ ~bgt/modify/baf/abg1mov.baf~ EXTEND_BOTTOM ~ar8200.bcs~ ~bgt/modify/baf/abg1mov.baf~ //BG2 EXTEND_BOTTOM ~ar0020.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar0041.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar0045.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar0046.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar0300.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar0400.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar0500.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar0700.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar0900.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar1000.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar1400.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar2000.bcs~ ~bgt/modify/baf/abg2mov.baf~ EXTEND_BOTTOM ~ar2800.bcs~ ~bgt/modify/baf/abg2mov.baf~ //////////////////////////////////////////////////////// //Fixpack //////////////////////////////////////////////////////// PRINT ~~ PRINT @100022 //////////////////////////////////////////////////////// //Creatures //////////////////////////////////////////////////////// COPY_EXISTING ~aasim.cre~ ~override/aasim.cre~ ~alai.cre~ ~override/alai.cre~ ~andris.cre~ ~override/andris.cre~ ~basilmut.cre~ ~override/basilmut.cre~ ~beyn.cre~ ~override/beyn.cre~ ~bggorf.cre~ ~override/bggorf.cre~ ~bor.cre~ ~override/bor.cre~ ~carsto.cre~ ~override/carsto.cre~ ~cuchol.cre~ ~override/cuchol.cre~ ~cult3.cre~ ~override/cult3.cre~ ~dezkie.cre~ ~override/dezkie.cre~ ~diyab.cre~ ~override/diyab.cre~ ~drakar.cre~ ~override/drakar.cre~ ~drasus.cre~ ~override/drasus.cre~ ~droth.cre~ ~override/droth.cre~ ~garan.cre~ ~override/garan.cre~ ~gardus.cre~ ~override/gardus.cre~ ~gentho.cre~ ~override/gentho.cre~ ~halaca.cre~ ~override/halaca.cre~ ~haseo.cre~ ~override/haseo.cre~ ~knightsk.cre~ ~override/knightsk.cre~ ~kysus.cre~ ~override/kysus.cre~ ~lamalh.cre~ ~override/lamalh.cre~ ~maneir.cre~ ~override/maneir.cre~ ~marcel.cre~ ~override/marcel.cre~ ~molkar.cre~ ~override/molkar.cre~ ~morvin.cre~ ~override/morvin.cre~ ~naaman.cre~ ~override/naaman.cre~ ~ogrema02.cre~ ~override/ogrema02.cre~ ~prat.cre~ ~override/prat.cre~ ~rahvin.cre~ ~override/rahvin.cre~ ~rezdan.cre~ ~override/rezdan.cre~ ~sakul.cre~ ~override/sakul.cre~ ~sarevo.cre~ ~override/sarevo.cre~ ~shaldr.cre~ ~override/shaldr.cre~ ~sirine.cre~ ~override/sirine.cre~ ~tam.cre~ ~override/tam.cre~ ~tazok2.cre~ ~override/tazok2.cre~ ~telka.cre~ ~override/telka.cre~ ~tellan.cre~ ~override/tellan.cre~ ~wudei.cre~ ~override/wudei.cre~ ~zeela.cre~ ~override/zeela.cre~ ~zhalim.cre~ ~override/zhalim.cre~ WRITE_BYTE 0x270 128 //switch from ENEMY to NEUTRAL - script enemy activation by Enemy() BUT_ONLY COPY_EXISTING ~arghai.cre~ ~override/arghai.cre~ ~bandcap.cre~ ~override/bandcap.cre~ ~bandcr.cre~ ~override/bandcr.cre~ ~bandic.cre~ ~override/bandic.cre~ ~bandit.cre~ ~override/bandit.cre~ ~bandit2.cre~ ~override/bandit2.cre~ //previously unused file made used ~bandita.cre~ ~override/bandita.cre~ ~banditc.cre~ ~override/banditc.cre~ ~banditcy.cre~ ~override/banditcy.cre~ ~billy.cre~ ~override/billy.cre~ ~canto.cre~ ~override/canto.cre~ ~dribbe.cre~ ~override/dribbe.cre~ ~hobgobc.cre~ ~override/hobgobc.cre~ ~jemby.cre~ ~override/jemby.cre~ ~knott.cre~ ~override/knott.cre~ ~nevill.cre~ ~override/nevill.cre~ ~raemon.cre~ ~override/raemon.cre~ ~teynga.cre~ ~override/teynga.cre~ ~zekar.cre~ ~override/zekar.cre~ READ_LONG 0x2b8 "slots_off" READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" SET index=0 FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "MISC86")=0) BEGIN SET index=cnt //find scalp index in items list END END FOR( cnt=0; cnt<38; cnt=cnt+1 ) BEGIN READ_SHORT ("%slots_off%"+2*cnt) nnn PATCH_IF (nnn=index) BEGIN WRITE_SHORT ("%slots_off%"+2*cnt) 0xffff //remove scalp from any slot END END WRITE_SHORT ("%slots_off%"+2*3) index //put scalp to Gloves slot to avoid pickpocketing BUT_ONLY COPY_EXISTING ~addy.cre~ ~override/addy.cre~ ~brenna.cre~ ~override/brenna.cre~ ~caedmo.cre~ ~override/caedmo.cre~ ~elmin3.cre~ ~override/elmin3.cre~ ~ivanne.cre~ ~override/ivanne.cre~ ~jonavi.cre~ ~override/jonavi.cre~ ~kaella.cre~ ~override/kaella.cre~ ~karan1.cre~ ~override/karan1.cre~ ~lamalh.cre~ ~override/lamalh.cre~ ~parda1.cre~ ~override/parda1.cre~ ~slavfree.cre~ ~override/slavfree.cre~ ~sorrel.cre~ ~override/sorrel.cre~ ~sugar.cre~ ~override/sugar.cre~ WRITE_EVALUATED_ASCII 0x280 ~%SOURCE_RES%~ #18 //script name BUT_ONLY COPY_EXISTING ~aasim.cre~ ~override/aasim.cre~ ~alai.cre~ ~override/alai.cre~ ~bart6.cre~ ~override/bart6.cre~ ~destus.cre~ ~override/destus.cre~ ~diyab.cre~ ~override/diyab.cre~ ~dratan.cre~ ~override/dratan.cre~ ~gardus.cre~ ~override/gardus.cre~ ~ironm2.cre~ ~override/ironm2.cre~ ~ironm3.cre~ ~override/ironm3.cre~ ~ironm4.cre~ ~override/ironm4.cre~ ~ironme.cre~ ~override/ironme.cre~ ~naaman.cre~ ~override/naaman.cre~ ~nortua.cre~ ~override/nortua.cre~ ~thaldo.cre~ ~override/thaldo.cre~ ~triado.cre~ ~override/triado.cre~ ~zhalim.cre~ ~override/zhalim.cre~ WRITE_ASCII 0x260 ~LEAVECH7~ #8 //general script BUT_ONLY COPY_EXISTING ~aasim.cre~ ~override/aasim.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "SHIELD04")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "SHLD04" WRITE_BYTE ("%it_off%"+0x14*cnt+6) 0 END END BUT_ONLY COPY_EXISTING ~amaran.cre~ ~override/amaran.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "MAGE2")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "MAGE02" WRITE_BYTE ("%it_off%"+0x14*cnt+6) 0 END END BUT_ONLY COPY_EXISTING ~avaricem.cre~ ~override/avaricem.cre~ ~fearm.cre~ ~override/fearm.cre~ ~pridem.cre~ ~override/pridem.cre~ WRITE_EVALUATED_ASCII 0x280 "%SOURCE_RES%" #8 WRITE_BYTE 0x27b 35 //Alignment BUT_ONLY COPY_EXISTING ~bassil.cre~ ~override/bassil.cre~ WRITE_BYTE 0x27b 51 //Alignment BUT_ONLY COPY_EXISTING ~flamang.cre~ ~override/flamang.cre~ ~flampun.cre~ ~override/flampun.cre~ ~flampun2.cre~ ~override/flampun2.cre~ ~flamsco.cre~ ~override/flamsco.cre~ ~flamwiz.cre~ ~override/flamwiz.cre~ ~kent.cre~ ~override/kent.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "SW1HO4")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "SW1H04" END END BUT_ONLY COPY_EXISTING ~bhobgob.cre~ ~override/bhobgob.cre~ ~hobelite.cre~ ~override/hobelite.cre~ ~hobgoa_a.cre~ ~override/hobgoa_a.cre~ ~hobgoa_b.cre~ ~override/hobgoa_b.cre~ ~hobgoa_c.cre~ ~override/hobgoa_c.cre~ ~hobgoa_d.cre~ ~override/hobgoa_d.cre~ ~hobgoa_e.cre~ ~override/hobgoa_e.cre~ ~hobgob.cre~ ~override/hobgob.cre~ ~hobgob_a.cre~ ~override/hobgob_a.cre~ ~hobgob_b.cre~ ~override/hobgob_b.cre~ ~hobgob_c.cre~ ~override/hobgob_c.cre~ ~hobgob_d.cre~ ~override/hobgob_d.cre~ ~hobgob_e.cre~ ~override/hobgob_e.cre~ ~hobgoba.cre~ ~override/hobgoba.cre~ ~hobgo5.cre~ ~override/hobgo5.cre~ ~hobgzhur.cre~ ~override/hobgzhur.cre~ ~hobjoia.cre~ ~override/hobjoia.cre~ WRITE_BYTE 0x27b 19 //Alignment BUT_ONLY COPY_EXISTING ~brage.cre~ ~override/brage.cre~ LPF ~ADD_CRE_ITEM_FLAGS~ STR_VAR item_to_change = "MISC65" flags = "UNSTEALABLE" END BUT_ONLY COPY_EXISTING ~cander.cre~ ~override/cander.cre~ ADD_KNOWN_SPELL ~SPPR110~ #0 ~priest~ WRITE_BYTE 0x54 10 WRITE_BYTE 0x55 14 WRITE_BYTE 0x56 13 WRITE_BYTE 0x57 16 WRITE_BYTE 0x58 15 BUT_ONLY COPY_EXISTING ~claird.cre~ ~override/claird.cre~ WRITE_BYTE 0x237 2 //Sex WRITE_ASCII 0x268 "WTARSGT" #8 //default script WRITE_BYTE 0x275 2 //Gender ADD_CRE_ITEM ~BOW04~ #0 #0 #0 ~NONE~ ~WEAPON1~ ADD_CRE_ITEM ~AROW02~ #20 #0 #0 ~NONE~ ~QUIVER1~ REMOVE_CRE_ITEM ~SW1H05~ ADD_CRE_ITEM ~SW1H05~ #0 #0 #0 ~NONE~ ~WEAPON2~ BUT_ONLY COPY_EXISTING ~cult3.cre~ ~override/cult3.cre~ WRITE_ASCII 0x250 "CULTSHT" #8 //change class script BUT_ONLY COPY_EXISTING ~daese.cre~ ~override/daese.cre~ ~daesewlf.cre~ ~override/daesewlf.cre~ WRITE_BYTE 0x237 2 //Sex WRITE_BYTE 0x275 2 //Gender BUT_ONLY COPY_EXISTING ~daese.cre~ ~override/daese.cre~ WRITE_LONG 0x14 1700 //XP value BUT_ONLY COPY_EXISTING ~daesewlf.cre~ ~override/daesewlf.cre~ SAY 0x8 #22778 SAY 0xc #22778 BUT_ONLY COPY_EXISTING ~dead2.cre~ ~override/dead2.cre~ ~deadfuck.cre~ ~override/deadfuck.cre~ ~jamie.cre~ ~override/jamie.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "SWIH04")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "SW1H04" END END BUT_ONLY COPY_EXISTING ~fahrin.cre~ ~override/fahrin.cre~ WRITE_SHORT 0x24 16 //current HP WRITE_SHORT 0x26 16 //max HP WRITE_BYTE 0x234 3 //Level (class 1) WRITE_BYTE 0x27b 17 //Alignment BUT_ONLY COPY_EXISTING ~farm.cre~ ~override/farm.cre~ // ~farm2.cre~ ~override/farm2.cre~ ~farm3.cre~ ~override/farm3.cre~ ~farm4.cre~ ~override/farm4.cre~ // ~farmbe.cre~ ~override/farmbe.cre~ ~farmer.cre~ ~override/farmer.cre~ // ~farmwe.cre~ ~override/farmwe.cre~ SAY 0x8 @500000 SAY 0xc @500000 BUT_ONLY COPY_EXISTING ~farmbr.cre~ ~override/farmbr.cre~ ~gerde.cre~ ~override/gerde.cre~ WRITE_ASCII 0x248 "" #8 //override script BUT_ONLY COPY_EXISTING ~flam.cre~ ~override/flam.cre~ WRITE_BYTE 0x270 0xff BUT_ONLY COPY_EXISTING ~flam2.cre~ ~override/flam2.cre~ WRITE_BYTE 0x52 14 //THAC0 WRITE_BYTE 0x235 5 //Level (class 2) WRITE_BYTE 0x27b 33 //Alignment WRITE_BYTE 0x54 6 WRITE_BYTE 0x55 10 WRITE_BYTE 0x56 9 WRITE_BYTE 0x57 12 WRITE_BYTE 0x58 11 BUT_ONLY COPY_EXISTING ~forthe.cre~ ~override/forthe.cre~ WRITE_LONG 0x1c 200 //Gold BUT_ONLY COPY_EXISTING ~gellan.cre~ ~override/gellan.cre~ WRITE_BYTE 0x52 16 //THAC0 WRITE_BYTE 0x234 10 //Level (class 1) WRITE_BYTE 0x273 8 //Class WRITE_BYTE 0x27b 18 //Alignment WRITE_BYTE 0x54 9 WRITE_BYTE 0x55 13 WRITE_BYTE 0x56 12 WRITE_BYTE 0x57 15 WRITE_BYTE 0x58 14 BUT_ONLY COPY_EXISTING ~golemf.cre~ ~override/golemf.cre~ ~golemf2.cre~ ~override/golemf2.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "B2-16")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "GOLFLE" END END BUT_ONLY COPY_EXISTING ~gorion.cre~ ~override/gorion.cre~ WRITE_BYTE 0x273 1 //change Class to Mage BUT_ONLY COPY_EXISTING ~gorion3.cre~ ~override/gorion3.cre~ READ_LONG 0x10 flags WRITE_LONG 0x10 (flags & 0b00000100) BUT_ONLY COPY_EXISTING ~hareis.cre~ ~override/hareis.cre~ WRITE_BYTE 0x27b 19 //Alignment BUT_ONLY COPY_EXISTING ~housen.cre~ ~override/housen.cre~ WRITE_ASCII 0x248 ~GUARDS~ #8 // override script WRITE_ASCII 0x260 ~INITINV~ #8 // general script BUT_ONLY COPY_EXISTING ~hunter.cre~ ~override/hunter.cre~ SAY NAME1 @500001 SAY NAME2 @500001 BUT_ONLY COPY_EXISTING ~iron13.cre~ ~override/iron13.cre~ ~iron14.cre~ ~override/iron14.cre~ WRITE_ASCII 0x248 "" #8 //override script BUT_ONLY COPY_EXISTING ~jalant.cre~ ~override/jalant.cre~ READ_LONG 0x2b8 "slots_off" READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" SET index=0 FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "MISC54")=0) BEGIN SET index=cnt //find Child's Body index in items list END END FOR( cnt=0; cnt<38; cnt=cnt+1 ) BEGIN READ_SHORT ("%slots_off%"+2*cnt) nnn PATCH_IF (nnn=index) BEGIN WRITE_SHORT ("%slots_off%"+2*cnt) 0xffff //remove Child's Body from any slot END END WRITE_SHORT ("%slots_off%"+2*3) index //put Child's Body to Gloves slot to avoid pickpocketing BUT_ONLY COPY_EXISTING ~islsir.cre~ ~override/islsir.cre~ WRITE_BYTE 0x275 2 //general parameter BUT_ONLY COPY_EXISTING ~jebado.cre~ ~override/jebado.cre~ ~sonner.cre~ ~override/sonner.cre~ ~telmen.cre~ ~override/telmen.cre~ WRITE_ASCII 0x250 "" #8 //class script BUT_ONLY COPY_EXISTING ~kaish2.cre~ ~override/kaish2.cre~ WRITE_ASCII 0x250 "" #8 //kaisha.bcs to None BUT_ONLY COPY_EXISTING ~kaishwlf.cre~ ~override/kaishwlf.cre~ WRITE_BYTE 0x237 2 //Sex WRITE_BYTE 0x275 2 //Gender BUT_ONLY COPY_EXISTING ~karan1.cre~ ~override/karan1.cre~ WRITE_BYTE 0x27b 18 //Alignment BUT_ONLY COPY_EXISTING ~keldda.cre~ ~override/keldda.cre~ WRITE_BYTE 0x52 10 //THAC0 WRITE_BYTE 0x234 16 //Level (class 1) WRITE_BYTE 0x54 4 WRITE_BYTE 0x55 8 WRITE_BYTE 0x56 7 WRITE_BYTE 0x57 10 WRITE_BYTE 0x58 9 BUT_ONLY COPY_EXISTING ~leaggu4.cre~ ~override/leaggu4.cre~ SAY 0xa4 #4964 SAY 0xec #12566 SAY 0xf0 #12567 SAY 0x10c #4964 BUT_ONLY COPY_EXISTING ~lothan.cre~ ~override/lothan.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "B00T01")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BOOT01" END END BUT_ONLY COPY_EXISTING ~natash.cre~ ~override/natash.cre~ WRITE_BYTE 0x27b 19 //Alignment BUT_ONLY COPY_EXISTING ~nobl9.cre~ ~override/nobl9.cre~ WRITE_LONG 0x1c 2 //Gold BUT_ONLY COPY_EXISTING ~ogrmba.cre~ ~override/ogrmba.cre~ WRITE_BYTE 0x27b 19 //Alignment BUT_ONLY COPY_EXISTING ~ramazi.cre~ ~override/ramazi.cre~ READ_LONG 0x2b8 "slots_off" READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" SET index=0 FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "RING07")=0) BEGIN SET index=cnt //find Ring of Prot+2 index in items list END END FOR( cnt=0; cnt<38; cnt=cnt+1 ) BEGIN READ_SHORT ("%slots_off%"+2*cnt) nnn PATCH_IF (nnn=index) BEGIN WRITE_SHORT ("%slots_off%"+2*cnt) 0xffff //remove ring from any slot END END WRITE_SHORT ("%slots_off%"+2*3) index //put ring to Gloves slot to avoid pickpocketing BUT_ONLY COPY_EXISTING ~silenc.cre~ ~override/silenc.cre~ WRITE_SHORT 0x28 25360 //Animation ID WRITE_BYTE 0x237 2 //Sex WRITE_BYTE 0x275 2 //Gender BUT_ONLY COPY_EXISTING ~silke.cre~ ~override/silke.cre~ WRITE_ASCII 0x248 "" #8 //override script BUT_ONLY COPY_EXISTING ~skelets.cre~ ~override/skelets.cre~ ADD_CRE_ITEM ~RING99~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~LRING~ BUT_ONLY COPY_EXISTING ~taerom.cre~ ~override/taerom.cre~ WRITE_BYTE 0x52 16 //THAC0 WRITE_BYTE 0x234 5 //Level (class 1) WRITE_BYTE 0x54 11 WRITE_BYTE 0x55 13 WRITE_BYTE 0x56 12 WRITE_BYTE 0x57 13 WRITE_BYTE 0x58 14 BUT_ONLY COPY_EXISTING ~tamah.cre~ ~override/tamah.cre~ WRITE_BYTE 0x237 2 //Sex WRITE_BYTE 0x275 2 //Gender COPY_EXISTING ~mutami.cre~ ~override/mutami.cre~ WRITE_ASCII 0x248 ~~ #8 //override script BUT_ONLY COPY_EXISTING ~tethto.cre~ ~override/tethto.cre~ // ~override/tethto2.cre~ ~override/tethto2.cre~ //not imported WRITE_BYTE 0x234 18 //Level (class 1) BUT_ONLY COPY_EXISTING ~thalan.cre~ ~override/thalan.cre~ WRITE_BYTE 0x52 15 //THAC0 WRITE_BYTE 0x234 17 //Level (class 1) WRITE_LONG 0x244 128 //Kit WRITE_BYTE 0x54 19 WRITE_BYTE 0x55 5 WRITE_BYTE 0x56 7 WRITE_BYTE 0x57 9 WRITE_BYTE 0x58 6 BUT_ONLY COPY_EXISTING ~ulraun.cre~ ~override/ulraun.cre~ WRITE_BYTE 0x27b 18 //Alignment BUT_ONLY COPY_EXISTING ~volo.cre~ ~override/volo.cre~ WRITE_BYTE 0x27b 49 //Alignment BUT_ONLY COPY_EXISTING ~voltin.cre~ ~override/voltin.cre~ WRITE_BYTE 0x234 9 //Level (class 1) WRITE_BYTE 0x27b 34 //Alignment BUT_ONLY COPY_EXISTING ~vayya.cre~ ~override/vayya.cre~ WRITE_BYTE 0x275 0x02 //Gender flag BUT_ONLY //alsao prevents talking if BP installed COPY_EXISTING ~wolfva.cre~ ~override/wolfva.cre~ WRITE_BYTE 0x271 4 //General: UNDEAD WRITE_BYTE 0x272 117 //Race: WOLF WRITE_BYTE 0x273 147 //Class: WOLF_VAMPIRIC BUT_ONLY COPY_EXISTING ~xvart.cre~ ~override/xvart.cre~ ~xvart2.cre~ ~override/xvart2.cre~ ~xvart_a.cre~ ~override/xvart_a.cre~ ~xvart_b.cre~ ~override/xvart_b.cre~ ~xvart_c.cre~ ~override/xvart_c.cre~ ~xvarth.cre~ ~override/xvarth.cre~ WRITE_BYTE 0x27b 35 //Alignment BUT_ONLY COPY_EXISTING ~zombie.cre~ ~override/zombie.cre~ ~zombie_a.cre~ ~override/zombie_a.cre~ ~zombieb.cre~ ~override/zombieb.cre~ SAY 0xec #18085 //damage sound SAY 0xf0 #18086 //dying sound BUT_ONLY COPY_EXISTING ~bgcarbos.cre~ ~override/bgcarbos.cre~ WRITE_ASCII 0x280 ~CARBOS~ #18 //script name BUT_ONLY COPY_EXISTING ~bgshank.cre~ ~override/bgshank.cre~ WRITE_ASCII 0x280 ~SHANK~ #18 //script name BUT_ONLY STRING_SET ~12874~ @12874 //"Oberan" -> "Oberon" STRING_SET ~12850~ @12850 //"Oberan" -> "Oberon" ////////////////////////////////////////////////////////////////// //Dialogue ////////////////////////////////////////////////////////////////// //hardcoded ////////////////////////////////////////////////////////////////// //Items ////////////////////////////////////////////////////////////////// COPY_EXISTING ~arow05.itm~ ~override/arow05.itm~ ~arow12.itm~ ~override/arow12.itm~ ~arow14.itm~ ~override/arow14.itm~ WRITE_BYTE 0x98 0 //not allow STR bonus to damage COPY_EXISTING ~book07.itm~ ~override/book07.itm~ ~book08.itm~ ~override/book08.itm~ WRITE_SHORT 0x1c 0x0000 COPY_EXISTING ~brac06.itm~ ~override/brac06.itm~ READ_LONG 0x1e "unus" WRITE_LONG 0x1e ("%unus%" BAND 0xffffffbf) //resetting unusable flag for bards COPY_EXISTING ~dagg09.itm~ ~override/dagg09.itm~ ~sw1h18.itm~ ~override/sw1h18.itm~ READ_BYTE 0x18 "flag1" WRITE_BYTE 0x18 ("%flag1%" - 1) //removing unsellable flag COPY_EXISTING ~ishld02.itm~ ~override/ishld02.itm~ WRITE_SHORT 0x42 0 //Lore to identify COPY_EXISTING ~misc1b.itm~ ~override/misc1b.itm~ WRITE_ASCII 0x58 ~CMISC1B~ #8 // Carried icon COPY_EXISTING ~misc70.itm~ ~override/misc70.itm~ SAY 0x8 @200000 SAY 0xc @200000 COPY_EXISTING ~scrl3f.itm~ ~override/scrl3f.itm~ WRITE_SHORT 0x1c 37 //correct Item type: Books (was Scrolls) COPY_EXISTING ~scrlauto.itm~ ~override/scrlauto.itm~ ~scrljala.itm~ ~override/scrljala.itm~ WRITE_SHORT 0x38 1 //change stack size COPY_EXISTING ~sw1h20.itm~ ~override/sw1h20.itm~ ~sw1h22.itm~ ~override/sw1h22.itm~ ~sw1h23.itm~ ~override/sw1h23.itm~ WRITE_BYTE 0x2b 0x02 //setting unusable flag for beastmaster ////////////////////////////////////////////////////////////////// //Scripts ////////////////////////////////////////////////////////////////// COMPILE ~bgt/fixpack/act01.baf~ ~bgt/fixpack/act02.baf~ ~bgt/fixpack/act03.baf~ ~bgt/fixpack/act04.baf~ ~bgt/fixpack/act05.baf~ ~bgt/fixpack/act06.baf~ ~bgt/fixpack/act08.baf~ ~bgt/fixpack/act10.baf~ ~bgt/fixpack/act11.baf~ ~bgt/fixpack/act12.baf~ COPY_EXISTING ~alora.bcs~ ~override/alora.bcs~ REPLACE_BCS_BLOCK ~bgt/fixpack/ralora.baf~ ~bgt/fixpack/empty.baf~ COPY_EXISTING ~amnisna.bcs~ ~override/amnisna.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ReputationLT(LastSeenBy(Myself),5)~ ~ReputationLT(Player1,5)~ COMPILE_BAF_TO_BCS <<<<<<<>>>>>>> COMPILE ~bgt/ch6end.baf~ COPY_EXISTING ~bancut01.bcs~ ~override/bancut01.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ActionOverride("Raiken",DestroySelf())~ ~ActionOverride("Raiken",Shout(2)) ActionxOverride("Raiken",DestroySelf())~ REPLACE_TEXTUALLY ~ActionxOverride("Raiken",DestroySelf())~ ~ActionOverride("Raiken",DestroySelf())~ COMPILE_BAF_TO_BCS COPY_EXISTING ~bancut02.bcs~ ~override/bancut02.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ActionOverride("Teven",DestroySelf())~ ~ActionOverride("Teven",Shout(2)) ActionxOverride("Teven",DestroySelf())~ REPLACE_TEXTUALLY ~ActionxOverride("Teven",DestroySelf())~ ~ActionOverride("Teven",DestroySelf())~ COMPILE_BAF_TO_BCS COPY_EXISTING ~bandit2.bcs~ ~override/bandit2.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~banditcr~ ~Teven~ //this is the change for the Combination fix REPLACE_TEXTUALLY ~Heard("Raiken",2)~ ~OR(2) Heardx("Raiken",2) Heard("Teven",2)~ REPLACE_TEXTUALLY ~Heardx("Raiken",2)~ ~Heard("Raiken",2)~ COMPILE_BAF_TO_BCS EXTEND_BOTTOM ~bhostile.bcs~ ~bgt/fixpack/abhostile.baf~ COPY_EXISTING ~ch1cut01.bcs~ ~override/ch1cut01.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~"AR2700"~ ~"AR6600"~ REPLACE_TEXTUALLY ~TRGORION~ ~~ REPLACE_TEXTUALLY ~ClearAllActions()[^!]*DayNight(MIDNIGHT)~ ~ClearAllActions() FadeToColor([0.0],0) DayNight(MIDNIGHT)~ REPLACE_TEXTUALLY ~VerbalConstant(Myself,61)~ ~DisplayStringHead(Myself,4445)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~ch1cut02.bcs~ ~override/ch1cut02.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~CutSceneId("Gorion")[^!]*VerbalConstant(Myself,62)[^!]*MoveToPoint(\[3103\.1410\])[^!]*VerbalConstant(Myself,BATTLE_CRY)~ ~CutSceneId("Gorion") MoveViewPoint([2400.1471],INSTANT) FadeFromColor([10.0],0) VerbalConstant(Myself,62) Wait(5) MoveToPoint([3103.1410]) Wait(3) VerbalConstant(Myself,BATTLE_CRY) Wait(3) CreateCreature("M05PCspy",[3150.1440],1)~ REPLACE_TEXTUALLY ~MoveViewObject(Player1,INSTANT)[^!]*MoveViewPoint(\[3204\.1353\],VERY_FAST)~ ~MoveViewObject(Player1,INSTANT) Wait(5) MoveViewPoint([3204.1353],VERY_FAST)~ REPLACE_TEXTUALLY ~"None"~ ~""~ REPLACE_TEXTUALLY ~VerbalConstant(Myself,62)~ ~DisplayStringHead(Myself,4446)~ REPLACE_TEXTUALLY ~VerbalConstant(Myself,BATTLE_CRY)~ ~DisplayStringHead(Myself,4440)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~ch1cut04.bcs~ ~override/ch1cut04.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ForceSpell("Tamoko",WIZARD_SLEEP)~ ~ForceSpellRES("BGCH1CUT","Tamoko")~ REPLACE_TEXTUALLY ~3089\.1650~ ~3171.1887~ REPLACE_TEXTUALLY ~IncrementChapter("Chptxt1")[^!]*AddJournalEntry(16190,USER)~ ~ActionOverride("M05PCspy",DestroySelf()) RevealAreaOnMap("AR6526") HideAreaOnMap("AR0015") SetGlobal("Chapter","GLOBAL",0) IncrementChapter("Chptxt-1") SetGlobal("Chapter","GLOBAL",2) AddJournalEntry(16190,INFO)~ REPLACE_TEXTUALLY ~VerbalConstant(Myself,UNHAPPY_BREAKING_POINT)~ ~DisplayStringHead(Myself,4439)~ COMPILE_BAF_TO_BCS DECOMPILE_BCS_TO_BAF REPLACE ~16190~ @310733 COMPILE_BAF_TO_BCS COPY_EXISTING ~digger.bcs~ ~override/digger.bcs~ REPLACE_BCS_BLOCK ~bgt/fixpack/rdigger.baf~ ~bgt/fixpack/xdigger.baf~ EXTEND_TOP ~dopkie.bcs~ ~bgt/fixpack/adopkie.baf~ COPY_EXISTING ~drizzt.bcs~ ~override/drizzt.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~See(\[0\.0\.GNOLL\])[^!]*THEN~ ~See([0.0.GNOLL]) Global("DrizztFight","GLOBAL",1) !NumTimesTalkedTo(0) THEN~ COMPILE_BAF_TO_BCS COPY_EXISTING ~fgolem.bcs~ ~override/fgolem.bcs~ REPLACE_BCS_BLOCK ~bgt/fixpack/rfgolem.baf~ ~bgt/fixpack/xfgolem.baf~ COPY_EXISTING ~gtwerewo.bcs~ ~override/gtwerewo.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~END~ ~Wait(300) END~ COMPILE_BAF_TO_BCS COPY_EXISTING ~kagain.bcs~ ~override/kagain.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~GlobalTimerExpired("Kagain","GLOBAL")~ ~InParty(Myself) GloxbalTimerExpired("Kagain","GLOBAL")~ REPLACE_TEXTUALLY ~GloxbalTimerExpired("Kagain","GLOBAL")~ ~GlobalTimerExpired("Kagain","GLOBAL")~ COMPILE_BAF_TO_BCS EXTEND_TOP ~larys.bcs~ ~bgt/fixpack/alarys.baf~ EXTEND_BOTTOM ~melicamp.bcs~ ~bgt/fixpack/amelicamp.baf~ COPY_EXISTING ~narlen.bcs~ ~override/narlen.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("NarlenMove","GLOBAL",7)[^!]*Global("ResarAttack","GLOBAL",1)~ ~Global("NarlenMove","GLOBAL",7) !Dead("Resar") Global("ResarAttack","GLOBAL",1)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~pheoarch.bcs~ ~override/pheoarch.bcs~ ~pheogurd.bcs~ ~override/pheogurd.bcs~ ~phoenix.bcs~ ~override/phoenix.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ReallyForceSpell(Myself~ ~ReallyForceSpellDead(Myself~ COMPILE_BAF_TO_BCS COPY_EXISTING ~rufcut01.bcs~ ~override/rufcut01.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ForceSpellPoint(\[4732\.3747\],WIZARD_DIMENSION_DOOR)[^!]*EndCutSceneMode()[^!]*Wait(1)[^!]*SetInterrupt(TRUE)[^!]*DestroySelf()~ ~EndCutSceneMode()~ COMPILE_BAF_TO_BCS COPY_EXISTING ~semaj.bcs~ ~override/semaj.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("SemajBehavior","GLOBAL",0)~ ~Gloxbal("SemajBehavior","GLOBAL",0) Allegiance(Myself,ENEMY)~ REPLACE_TEXTUALLY ~Gloxbal("SemajBehavior","GLOBAL",0)~ ~Global("SemajBehavior","GLOBAL",0)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~ship.bcs~ ~override/ship.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~RESPONSE #100[^!]*ActionOverride(Player1,~ ~RESPONSE #100 ClearAllActions() ActionOverride(Player1,~ COMPILE_BAF_TO_BCS COPY_EXISTING ~shoal.bcs~ ~override/shoal.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~HitBy~ ~!Dead("Droth") HitxBy~ REPLACE_TEXTUALLY ~HitxBy~ ~HitBy~ COMPILE_BAF_TO_BCS COPY_EXISTING ~thalantr.bcs~ ~override/thalantr.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~SetGlobal("AttackThalantyr","GLOBAL",1)~ ~SetGloxbal("AttackThalantyr","GLOBAL",1) ActionOverride("FGOLEM",Enemy())~ REPLACE_TEXTUALLY ~SetGloxbal("AttackThalantyr","GLOBAL",1)~ ~SetGlobal("AttackThalantyr","GLOBAL",1)~ REPLACE_TEXTUALLY ~EndCutSceneMode()~ ~Wait(1) Dialogue([PC]) EndCutSceneMoxde()~ REPLACE_TEXTUALLY ~EndCutSceneMoxde()~ ~EndCutSceneMode()~ COMPILE_BAF_TO_BCS COMPILE ~bgt/fixpack/trapdis.baf~ ////////////////////////////////////////////////////////////////// //Ruleset ////////////////////////////////////////////////////////////////// COPY_EXISTING ~alignmnt.2da~ ~override/alignmnt.2da~ FOR( cnt=0; cnt<50; cnt=cnt+1 ) BEGIN //standard SoA 51 rows READ_2DA_ENTRY cnt 0 10 "row_name" PATCH_IF( (("%row_name%" STRING_COMPARE_CASE "FIGHTER_THIEF")=0) OR (("%row_name%" STRING_COMPARE_CASE "FIGHTER_MAGE_THIEF")=0) OR (("%row_name%" STRING_COMPARE_CASE "MAGE_THIEF")=0) OR (("%row_name%" STRING_COMPARE_CASE "CLERIC_THIEF")=0)) BEGIN SET_2DA_ENTRY cnt 2 10 ~1~ SET_2DA_ENTRY cnt 3 10 ~1~ END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~lorebon.2da~ ~override/lorebon.2da~ SET_2DA_ENTRY 15 1 2 ~3~ // Wisdom 15 correction BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~skillrac.2da~ ~override/skillrac.2da~ SET_2DA_ENTRY 2 4 8 ~15~ // Elf Move Silently correction SET_2DA_ENTRY 4 4 8 ~10~ // Half-Elf Move Silently correction SET_2DA_ENTRY 5 4 8 ~20~ // Halfling Move Silently correction BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~skillrng.2da~ ~override/skillrng.2da~ SET_2DA_ENTRY 2 1 2 ~21~ BUT_ONLY_IF_IT_CHANGES ////////////////////////////////////////////////////////////////// //Spells ////////////////////////////////////////////////////////////////// COPY_EXISTING ~spwi003.spl~ ~override/spwi003.spl~ ~spwi112.spl~ ~override/spwi112.spl~ READ_LONG 0x64 "ability_offset" READ_SHORT 0x68 "abil_cnt" READ_LONG 0x6a "eff_offset" FOR( cnt=0; cnt<"%abil_cnt%"; cnt=cnt+1 ) BEGIN READ_BYTE ("%ability_offset%"+cnt*0x28) "type" PATCH_IF("%type%"=2) BEGIN //found Ranged ability READ_SHORT ("%ability_offset%"+0x28*cnt+0x1e) eff_number READ_SHORT ("%ability_offset%"+0x28*cnt+0x20) eff_idx FOR( cnt2=0; cnt2>>>>>>> COPY - ~bgt/string.txt~ ~bgt/string.txt~ SAY 0 #12160 READ_STRREF 0 DetectEvil <<<<<<<>>>>>>> COPY - ~bgt/string.tra~ ~bgt/string.tra~ REPLACE_TEXTUALLY ~1111~ ~%DetectEvil%~ REPLACE_TEXTUALLY ~1~ ~2~ LOAD_TRA ~bgt/string.tra~ COPY_EXISTING ~spwi202.spl~ ~override/spwi202.spl~ SAY 0x50 @99999999 ////////////////////////////////////////////////////////////////// //Stores ////////////////////////////////////////////////////////////////// COPY_EXISTING ~stosilen.sto~ ~override/stosilen.sto~ SAY 0xc #20639 COPY_EXISTING ~tav0721.sto~ ~override/tav0721.sto~ SAY 0xc #57205 COPY_EXISTING ~tem0002.sto~ ~override/tem0002.sto~ SAY 0xc #11703 ////////////////////////////////////////////////////////////////// //Combination ////////////////////////////////////////////////////////////////// COPY_EXISTING ~ajantis.bcs~ ~override/ajantis.bcs~ ~ar6801.bcs~ ~override/ar6801.bcs~ ~ar9600.bcs~ ~override/ar9600.bcs~ ~bandit.bcs~ ~override/bandit.bcs~ ~bandit2.bcs~ ~override/bandit2.bcs~ ~bandit3.bcs~ ~override/bandit3.bcs~ ~capcut02.bcs~ ~override/capcut02.bcs~ ~druid3.bcs~ ~override/druid3.bcs~ //~gnoll5.bcs~ ~override/gnoll5.bcs~ /*a hard-coded combination change is made below*/ ~gnoll5a.bcs~ ~override/gnoll5a.bcs~ ~greywolf.bcs~ ~override/greywolf.bcs~ ~guard1.bcs~ ~override/guard1.bcs~ ~guard2.bcs~ ~override/guard2.bcs~ ~hobgobc.bcs~ ~override/hobgobc.bcs~ ~kescape.bcs~ ~override/kescape.bcs~ ~sarrun.bcs~ ~override/sarrun.bcs~ ~shadow.bcs~ ~override/shadow.bcs~ ~thief.bcs~ ~override/thief.bcs~ ~watchen2.bcs~ ~override/watchen2.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~EscapeArea()~ ~EscapeAreaDestroy(90)~ COMPILE_BAF_TO_BCS COMPILE ~bgt/fixpack/escape.d~ //SHARTE.D hardcoded EXTEND_TOP ~shartel2.bcs~ ~bgt/fixpack/ashartel2.baf~ COPY ~bgt/fixpack/sharthp1.itm~ ~override/sharthp1.itm~ COMPILE ~bgt/fixpack/rgorpel.d~ COMPILE ~bgt/fixpack/rfaber.d~ COPY ~bgt/fixpack/iron15.cre~ ~override/iron15.cre~ COPY_EXISTING ~misc86.itm~ ~override/misc86.itm~ WRITE_BYTE 0x1c 0x0d //changes Bandit Scalp itemtype to Food(13) COPY_EXISTING ~stovai.sto~ ~override/stovai.sto~ WRITE_BYTE 0x9c 0x0d //changes Vai store to buy only itemtypes of Food(13) COPY_EXISTING ~thiefg.cre~ ~override/thiefg.cre~ WRITE_ASCII 0x248 ~THIEFG~ #8 //override script COMPILE ~bgt/fixpack/thiefg.baf~ COPY_EXISTING ~flamvai.cre~ ~override/flamvai.cre~ WRITE_ASCII 0x258 ~FLAMVAI~ #8 //race script COMPILE ~bgt/fixpack/flamvai.baf~ COPY_EXISTING ~jalant.cre~ ~override/jalant.cre~ WRITE_ASCII 0x260 ~JALANT~ #8 //general script COMPILE ~bgt/fixpack/jalant.baf~ COPY_EXISTING ~belt.bcs~ ~override/belt.bcs~ ~liia.bcs~ ~override/liia.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~See(\[ENEMY\])~ ~Seex([ENEMY]) Global("SarevokBehavior","GLOBAL",0) Global("NobleDopple","GLOBAL",1)~ REPLACE_TEXTUALLY ~Seex(\[ENEMY\])~ ~See([ENEMY])~ //belt.bcs only REPLACE_TEXTUALLY ~Range(\[PC\],15)[^!]*Num\(berOf\)*TimesTalkedTo(0)~ ~Range([PC],15) !Allegiance(Myself,ENEMY) NumTimesTalkedTo(0)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~oopah.cre~ ~override/oopah.cre~ WRITE_ASCII 0x280 ~Oopah~ #32 //script name COPY_EXISTING ~arkion.cre~ ~override/arkion.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "AMUL13")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGAMUL13" END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~nemphr.cre~ ~override/nemphr.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "RING12")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGRING12" END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~amul13.itm~ ~override/bgamul13.itm~ COPY_EXISTING ~ring12.itm~ ~override/bgring12.itm~ COPY_EXISTING ~ring16.itm~ ~override/bgring16.itm~ COPY_EXISTING ~catp.cre~ ~override/catp.cre~ WRITE_ASCII 0x248 ~CATP~ #8 //override script COMPILE ~bgt/fixpack/catp.baf~ COPY_EXISTING ~ara005.are~ ~override/ara005.are~ READ_LONG 0x78 "it_off" READ_SHORT 0x76 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "RING16")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGRING16" END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~misc45.itm~ ~override/bgmisc45.itm~ COPY_EXISTING ~ar8213.are~ ~override/ar8213.are~ READ_LONG 0x78 "it_off" READ_SHORT 0x76 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "MISC45")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGMISC45" END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~tersus.cre~ ~override/tersus.cre~ WRITE_ASCII 0x258 ~TERSUS~ #8 COMPILE ~bgt/fixpack/tersus.baf~ COPY ~bgt/fixpack/bgtersus.spl~ ~override/bgtersus.spl~ COPY_EXISTING ~ffhunt.bcs~ ~override/ffhunt.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~Global("Captured","GLOBAL",0)~ ~!AreaCheck("AR7228") Gloxbal("Captured","GLOBAL",0)~ REPLACE_TEXTUALLY ~Gloxbal("Captured","GLOBAL",0)~ ~Global("Captured","GLOBAL",0)~ COMPILE_BAF_TO_BCS COPY ~bgt/fixpack/flamal.cre~ ~override/flamal.cre~ COMPILE ~bgt/fixpack/flamal.baf~ COPY_EXISTING ~loupgar.cre~ ~override/loupgar.cre~ WRITE_ASCII 0x248 ~LOUPGAR2~ #8 //override script COMPILE ~bgt/fixpack/loupgar2.baf~ EXTEND_TOP ~xvarth.bcs~ ~bgt/fixpack/axvarth.baf~ COPY_EXISTING ~hulrik.cre~ ~override/hulrik.cre~ WRITE_ASCII 0x280 ~Hulrik~ #32 //script name COMPILE ~bgt/fixpack/gnoll5.baf~ COPY_EXISTING ~gnoll5a.bcs~ ~override/gnoll5a.bcs~ REPLACE_BCS_BLOCK ~bgt/fixpack/rgnoll5a.baf~ ~bgt/fixpack/xgnoll5a.baf~ COPY_EXISTING ~sarevo.cre~ ~override/sarevo.cre~ ~sarevo2.cre~ ~override/sarevo2.cre~ ADD_CRE_ITEM ~BGMINHP1~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~AMULET~ COPY ~bgt/fixpack/bgminhp1.itm~ ~override/bgminhp1.itm~ COPY_EXISTING ~tem4802.sto~ ~override/tem4003.sto~ SAY 0xc @550000 COPY ~bgt/fixpack/bgsleepp.spl~ ~override/bgsleepp.spl~ COPY_EXISTING ~gnolld.cre~ ~override/gnolld.cre~ WRITE_ASCII 0x280 ~GnollD~ #32 //script name COPY_EXISTING ~gnolldr.bcs~ ~override/gnolldr.bcs~ REPLACE_BCS_BLOCK ~bgt/fixpack/rgnolldr.baf~ ~bgt/fixpack/empty.baf~ COPY_EXISTING ~rat2.cre~ ~override/rat2.cre~ WRITE_ASCII 0x250 ~~ #8 //class script WRITE_ASCII 0x280 ~Rat2~ #32 //script name COPY_EXISTING ~emitar.cre~ ~override/emitar.cre~ WRITE_ASCII 0x280 ~EmiTar~ #32 //script name COPY ~bgt/fixpack/bgghast.cre~ ~override/bgghast.cre~ COPY_EXISTING ~bgin996.spl~ ~override/bgin996.spl~ //renamed from spin996 READ_LONG 0x6a fx_off READ_SHORT 0x70 fx_num_global READ_LONG 0x64 abil_off READ_SHORT 0x68 abil_num SET fx_num_total = fx_num_global FOR (i = 0; i < %abil_num%; i += 1) BEGIN READ_SHORT (%abil_off% + %i% * 0x28 + 0x1e) abil_fx_num SET fx_num_total += abil_fx_num END FOR (i = 0; i < %fx_num_total%; i += 1) BEGIN READ_SHORT (%fx_off% + %i% * 0x30) fx_type PATCH_IF (%fx_type% = 151) BEGIN //Type: Replace self WRITE_ASCII (%fx_off% +%i% * 0x30 + 0x14) ~BGGHAST~ #8 END END //compatibility with BG1NPC COPY_EXISTING ~wyvern.cre~ ~override/x#corwyv.cre~ WRITE_ASCII 0x280 ~X#CoranWyvern~ #32 //script name COPY_EXISTING ~ar8501.are~ ~override/ar8501.are~ READ_LONG 0x54 actors_off READ_SHORT 0x58 actors_num FOR (i = 0; i < %actors_num%; i += 1) BEGIN READ_ASCII (%actors_off% + %i% * 0x110 + 0x80) actor_resref PATCH_IF !("%actor_resref%" STRING_COMPARE_CASE "WYVERN") BEGIN WRITE_ASCII (%actors_off% + %i% * 0x110 + 0x80) X#CORWYV (8) END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~coran.bcs~ ~override/coran.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~!Dead("wyvern")~ ~!Dead("X#CoranWyvern")~ COMPILE_BAF_TO_BCS BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~shandal2.cre~ ~override/shandal2.cre~ READ_LONG 0x2b8 "slots_off" READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" SET index=0 FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "MISC2H")=0) BEGIN SET index=cnt //find wardstone index in items list END END FOR( cnt=0; cnt<38; cnt=cnt+1 ) BEGIN READ_SHORT ("%slots_off%"+2*cnt) nnn PATCH_IF (nnn=index) BEGIN WRITE_SHORT ("%slots_off%"+2*cnt) 0xffff //remove wardstone from any slot END END WRITE_SHORT ("%slots_off%"+2*3) index //put wardstone to Gloves slot to avoid pickpocketing BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~fireb1.cre~ ~override/fireb1.cre~ ~firebe.cre~ ~override/firebe.cre~ WRITE_BYTE 0x6f 2 //Small sword proficiency WRITE_EVALUATED_ASCII 0x280 ~%SOURCE_RES%~ #32 EXTEND_BOTTOM ~gg300.bcs~ ~bgt/fixpack/agg300.baf~ COPY_EXISTING ~potn14.itm~ ~override/bgpotn14.itm~ COPY_EXISTING ~deder.cre~ ~override/deder.cre~ READ_LONG 0x2bc "it_off" READ_LONG 0x2c0 "it_cnt" FOR( cnt=0; cnt<"%it_cnt%"; cnt=cnt+1 ) BEGIN READ_ASCII ("%it_off%"+0x14*cnt) "name" PATCH_IF (("%name%" STRING_COMPARE_CASE "POTN14")=0) BEGIN WRITE_ASCII ("%it_off%"+0x14*cnt) "BGPOTN14" END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~zombiew.cre~ ~override/zombiew.cre~ WRITE_ASCII 0x258 ~~ #8 //race script WRITE_ASCII 0x280 ~ZombieW~ #32 //script name COPY_EXISTING ~xvarth.cre~ ~override/xvarth.cre~ WRITE_ASCII 0x280 ~XvartH~ #32 //script name COPY_EXISTING ~xvarth.bcs~ ~override/xvarth.bcs~ REPLACE_BCS_BLOCK ~bgt/fixpack/rxvarth.baf~ ~bgt/fixpack/empty.baf~ COPY_EXISTING ~ogrebjor.cre~ ~override/ogrebjor.cre~ WRITE_ASCII 0x250 ~~ #8 //class script WRITE_ASCII 0x280 ~OgreBjor~ #32 //script name COPY_EXISTING ~ogres.cre~ ~override/ogres.cre~ WRITE_ASCII 0x248 ~~ #8 //coverride script WRITE_ASCII 0x280 ~OgreS~ #32 //script name COPY_EXISTING ~cult1.cre~ ~override/cult1.cre~ WRITE_ASCII 0x280 "CultGuard1" #32 COPY_EXISTING ~cult2.cre~ ~override/cult2.cre~ WRITE_ASCII 0x280 "CultWizard1" #32 COPY_EXISTING ~cult3.cre~ ~override/cult3.cre~ WRITE_ASCII 0x280 "CultWizard2" #32 COPY_EXISTING ~cultt1.cre~ ~override/cultt1.cre~ WRITE_ASCII 0x280 "CultWizard" #32 COPY_EXISTING ~cultt2.cre~ ~override/cultt2.cre~ WRITE_ASCII 0x280 "CultGuard" #32 COPY_EXISTING ~cultt3.cre~ ~override/cultt3.cre~ WRITE_ASCII 0x280 "CultAssassin" #32 COPY_EXISTING ~cultt4.cre~ ~override/cultt4.cre~ WRITE_ASCII 0x280 "CultArcher" #32 COPY ~override/flam6.cre~ ~override/bgflam6.cre~ WRITE_ASCII 0x248 ~GUARDS~ #8 WRITE_ASCII 0x250 ~SHOUT~ #8 WRITE_ASCII 0x258 ~FLAM6~ #8 WRITE_ASCII 0x260 ~INITINV~ #8 WRITE_ASCII 0x268 ~WDASIGHT~ #8 WRITE_ASCII 0x2CC ~FLAMEN~ #8 COPY ~override/flam6.cre~ ~override/bgflam62.cre~ WRITE_ASCII 0x248 ~GUARDS~ #8 WRITE_ASCII 0x250 ~SHOUT~ #8 WRITE_ASCII 0x258 ~FLAM6~ #8 WRITE_ASCII 0x260 ~~ #8 WRITE_ASCII 0x268 ~WDASIGHT~ #8 WRITE_ASCII 0x2CC ~FLAMEN~ #8 COMPILE ~bgt/fixpack/bgact06.baf~ COPY ~bgt/fixpack/tazokhp1.itm~ ~override/tazokhp1.itm~ COPY_EXISTING ~teven.bcs~ ~override/teven.bcs~ ~raiken.bcs~ ~override/raiken.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~DestroySelf()~ ~EscapeAreaDestroy(90)~ COMPILE_BAF_TO_BCS COPY_EXISTING ~doppss.cre~ ~override/doppss.cre~ WRITE_ASCII 0x250 ~~ #8 //class script WRITE_ASCII 0x280 ~DoppSS~ #32 //script name COPY_EXISTING ~doppss.bcs~ ~override/doppss.bcs~ REPLACE_BCS_BLOCK ~bgt/fixpack/rdoppss.baf~ ~bgt/fixpack/empty.baf~ COPY_EXISTING ~dopzorl.cre~ ~override/dopzorl.cre~ WRITE_ASCII 0x250 ~~ #8 //class script WRITE_ASCII 0x280 ~DopZorl~ #32 //script name COPY_EXISTING ~druid3.bcs~ ~override/druid3.bcs~ ~seniyad.bcs~ ~override/seniyad.bcs~ REPLACE_BCS_BLOCK ~bgt/fixpack/rdruid3.baf~ ~bgt/fixpack/empty.baf~ COPY_EXISTING ~ankhegg.cre~ ~override/ankhegg.cre~ WRITE_ASCII 0x250 ~~ #8 //class script WRITE_ASCII 0x280 ~AnkhegG~ #32 //script name COPY_EXISTING ~worgar.cre~ ~override/worgar.cre~ WRITE_ASCII 0x248 ~~ #8 //override script WRITE_ASCII 0x280 ~WorgAr~ #32 //script name COPY ~override/wolfwegr.cre~ ~override/bgwowegr.cre~ REMOVE_CRE_ITEM ~MISC96~ //Peladan COPY_EXISTING ~spwi946.spl~ ~override/spwi946.spl~ REPLACE_TEXTUALLY ~WOLFWEGR~ ~BGWOWEGR~ /////////////////////////////////////////////////////// // GUI Switcher v2.0 /////////////////////////////////////////////////////// PRINT ~~ PRINT @100004 <<<<<<<>>>>>>> <<<<<<<>>>>>>> <<<<<<<>>>>>>> <<<<<<<>>>>>>> <<<<<<<>>>>>>> DEFINE_ACTION_FUNCTION copy_missing STR_VAR origin=~~ destination=~~ BEGIN ACTION_IF NOT FILE_EXISTS ~%destination%~ BEGIN COPY ~%origin%~ ~%destination%~ END END //this block goes outside the IF because it must also solve problems of GUIs already installed but for Windows only. ACTION_MATCH ~%WEIDU_OS%~ WITH ~win32~ BEGIN LAF copy_missing STR_VAR origin=~Setup-BGT.exe~ destination=~Setup-GUI.exe~ END END ~unix~ BEGIN //if the user is using setup-bgt, create a similar file for the GUI installer ACTION_IF FILE_EXISTS ~setup-bgt~ BEGIN LAF copy_missing STR_VAR origin=~setup-bgt~ destination=~setup-gui~ END END END ~osx~ BEGIN ACTION_IF FILE_EXISTS ~setup-bgt.command~ BEGIN LAF copy_missing STR_VAR origin=~setup-bgt.command~ destination=~Setup-GUI.command~ END END END DEFAULT //should never trigger WARN ~OS was not correctly detected. You might experience problems with the GUI mod.~ END ACTION_IF NOT FILE_EXISTS ~Setup-GUI.tp2~ THEN BEGIN MKDIR ~GUI_Mods~ COPY ~bgt/GUI_Mods.2DA~ ~GUI_Mods/GUI_Mods.2DA~ COPY ~bgt/new_gui_switcher.tp2~ ~Setup-GUI.tp2~ APPEND_FILE ~bgt/orig_gui.tp2~ END ELSE BEGIN COPY ~Setup-GUI.tp2~ ~Setup-GUI.tp2~ //linux and OSX compatibility REPLACE_TEXTUALLY CASE_INSENSITIVE EXACT_MATCH "AT_EXIT ~Setup-GUI.exe --uninstall~" ~~~~~ACTION_IF ~#%#WEIDU_OS#%#~ STRING_EQUAL_CASE ~win32~ BEGIN AT_EXIT ~Setup-GUI.exe --noautoupdate --skip-at-view --uninstall~ END ELSE BEGIN AT_EXIT ~"#%#WEIDU_EXECUTABLE#%#" setup-gui.tp2 --noautoupdate --no-auto-tp2 --autolog --logapp --skip-at-view --uninstall~ END~~~~~ REPLACE_TEXTUALLY CASE_SENSITIVE EXACT_MATCH ~#%#~ ~%~ //otherwise, variables would be evaluated during BGT installation, instead of during GUI instalation. REPLACE_TEXTUALLY CASE_SENSITIVE EVALUATE_REGEXP "AUTHOR ~\([^~]*\)~" "AUTHOR ~\1 - non-windows version by Turambar.~" UNLESS ~WEIDU_OS~ //already OS-sensitive // remove following 2 /* */ comments to revert to original behaviour /* ACTION_IF NOT FILE_CONTAINS ~Setup-GUI.tp2~ ~LANGUAGE~ THEN BEGIN*/ COPY ~Setup-GUI.tp2~ ~Setup-GUI.tp2~ REPLACE_TEXTUALLY "AUTHOR ~\([^~]*\)~" "AUTHOR ~\1~ LANGUAGE ~English~ ~english~ ~bgt/language/english/prompts.tra~ LANGUAGE ~Castellano (Castilian/Spanish)~ ~castilian~ ~bgt/language/castilian/prompts-%WEIDU_OS%.tra~ LANGUAGE ~Francais (French)~ ~french~ ~bgt/language/french/prompts.tra~ LANGUAGE ~Deutsch (German)~ ~german~ ~bgt/language/german/prompts.tra~ LANGUAGE ~Italiano (Italian)~ ~italian~ ~bgt/language/italian/prompts.tra~ LANGUAGE ~ѱ (Korean)~ ~korean~ ~bgt/language/korean/prompts-%WEIDU_OS%.tra~ LANGUAGE ~Polski (Polish)~ ~polish~ ~bgt/language/polish/prompts.tra~ LANGUAGE ~᪨ (Russian)~ ~russian~ ~bgt/language/russian/prompts-%WEIDU_OS%.tra~ LANGUAGE ~ (Chinese - Simplified)~ ~schinese~ ~bgt/language/schinese/prompts-%WEIDU_OS%.tra~ LANGUAGE %c餤 (Chinese - Traditional)% ~tchinese~ ~bgt/language/tchinese/prompts-%WEIDU_OS%.tra~ LANGUAGE ~eka (Czech)~ ~czech~ ~bgt/language/czech/prompts.tra~" /* BUT_ONLY_IF_IT_CHANGES END // */ UNLESS ~LANGUAGE~ OUTER_SET active_gui=0 COPY_EXISTING - ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~ READ_2DA_ENTRY 1 1 2 "active_gui" //CURRENT_ACTIVE_MOD_GUI ACTION_IF ("%active_gui%">0) THEN BEGIN UNINSTALL ~Setup-GUI.tp2~ ~%active_gui%~ END END COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~ READ_2DA_ENTRY 0 1 2 gui_slot_name SET_2DA_ENTRY 0 1 2 gui_slot_name+2 //NEXT_AVAILABLE_MOD_SLOT MKDIR ~GUI_Mods/%gui_slot_name%~ COPY_EXISTING ~Setup-GUI.tp2~ ~Setup-GUI.tp2~ APPEND_FILE_EVALUATE ~bgt/mod_gui1.tp2~ COPY ~bgt/bgt_menu/common~ ~GUI_Mods/%gui_slot_name%~ COPY ~bgt/bgt_menu/startold.mos~ ~GUI_Mods/%gui_slot_name%~ OUTER_SET gui_slot_name = gui_slot_name + 1 MKDIR ~GUI_Mods/%gui_slot_name%~ COPY_EXISTING ~Setup-GUI.tp2~ ~Setup-GUI.tp2~ APPEND_FILE_EVALUATE ~bgt/mod_gui2.tp2~ COPY ~bgt/bgt_menu/common~ ~GUI_Mods/%gui_slot_name%~ COPY ~bgt/bgt_menu/startold_alternate.mos~ ~GUI_Mods/%gui_slot_name%/startold.mos~ /////////////////////////////////////////////////////// // Music /////////////////////////////////////////////////////// PRINT ~~ PRINT @100033 ACTION_MATCH ~%WEIDU_OS%~ WITH ~win32~ BEGIN COPY ~Setup-BGT.exe~ ~setup-bgtmusic.exe~ END ~unix~ BEGIN //if the user is using setup-bgt, create a similar file for the music installer ACTION_IF FILE_EXISTS ~setup-bgt~ BEGIN COPY ~setup-bgt~ ~setup-bgtmusic~ END END ~osx~ BEGIN ACTION_IF FILE_EXISTS ~setup-bgt.command~ BEGIN COPY ~setup-bgt.command~ ~setup-bgtmusic~ END END DEFAULT END //MATCH COPY ~bgt/songlist/music.tp2~ ~setup-bgtmusic.tp2~ ACTION_IF ~%WEIDU_OS%~ STRING_EQUAL_CASE ~win32~ BEGIN AT_UNINSTALL ~bgt\install\win32\delsongs.bat~ END ELSE BEGIN AT_UNINSTALL ~sh bgt/install/unix/delsongs.sh~ END MKDIR ~music/bgtheme~ ~music/bc3~ ~music/bc4~ ~music/bd4~ ~music/bd5~ ~music/bf3~ ~music/bf4~ ~music/bl1~ ~music/bl2~ ~music/bp3~ ~music/bp4~ ~music/bw1~ ~music/cday1~ ~music/cday2~ ~music/cnite~ ~music/chants~ ~music/dream~ ~music/dung1~ ~music/dung2~ ~music/dung3~ ~music/fday~ ~music/fnite~ ~music/fort~ ~music/pday~ ~music/pnite~ ~music/tav5~ ~music/tav6~ ~music/tav7~ ~music/tav8~ ~music/tday1~ ~music/tday2~ ~music/tnite~ ~music/temple~ COPY ~%bg1_dir%/music/bc1/bc1a1.acm~ ~music/bc3/bc3a1.acm~ ~%bg1_dir%/music/bc1/bc1a2.acm~ ~music/bc3/bc3a2.acm~ ~%bg1_dir%/music/bc1/bc1a3.acm~ ~music/bc3/bc3a3.acm~ ~%bg1_dir%/music/bc1/bc1a4.acm~ ~music/bc3/bc3a4.acm~ ~%bg1_dir%/music/bc1/bc1b1.acm~ ~music/bc3/bc3b1.acm~ ~%bg1_dir%/music/bc1/bc1b2.acm~ ~music/bc3/bc3b2.acm~ ~%bg1_dir%/music/bc1/bc1b3.acm~ ~music/bc3/bc3b3.acm~ ~%bg1_dir%/music/bc1/bc1c1.acm~ ~music/bc3/bc3c1.acm~ ~%bg1_dir%/music/bc1/bc1d1.acm~ ~music/bc3/bc3d1.acm~ ~%bg1_dir%/music/bc1/bc1d1a.acm~ ~music/bc3/bc3d1a.acm~ ~%bg1_dir%/music/bc1/bc1d2.acm~ ~music/bc3/bc3d2.acm~ ~%bg1_dir%/music/bc1/bc1d2a.acm~ ~music/bc3/bc3d2a.acm~ ~%bg1_dir%/music/bc1/bc1d3.acm~ ~music/bc3/bc3d3.acm~ ~%bg1_dir%/music/bc1/bc1d4.acm~ ~music/bc3/bc3d4.acm~ ~%bg1_dir%/music/bc1/bc1e1.acm~ ~music/bc3/bc3e1.acm~ ~%bg1_dir%/music/bc1/bc1e2.acm~ ~music/bc3/bc3e2.acm~ ~%bg1_dir%/music/bc1/bc1e3.acm~ ~music/bc3/bc3e3.acm~ ~%bg1_dir%/music/bc1/bc1e4.acm~ ~music/bc3/bc3e4.acm~ ~%bg1_dir%/music/bc1/bc1enda1.acm~ ~music/bc3/bc3enda1.acm~ ~%bg1_dir%/music/bc1/bc1enda4.acm~ ~music/bc3/bc3enda4.acm~ ~%bg1_dir%/music/bc1/bc1endb1.acm~ ~music/bc3/bc3endb1.acm~ ~%bg1_dir%/music/bc1/bc1endb2.acm~ ~music/bc3/bc3endb2.acm~ ~%bg1_dir%/music/bc1/bc1endb3.acm~ ~music/bc3/bc3endb3.acm~ ~%bg1_dir%/music/bc1/bc1endc1.acm~ ~music/bc3/bc3endc1.acm~ ~%bg1_dir%/music/bc1/bc1endd1.acm~ ~music/bc3/bc3endd1.acm~ ~%bg1_dir%/music/bc1/bc1endd2.acm~ ~music/bc3/bc3endd2.acm~ ~%bg1_dir%/music/bc1/bc1endd4.acm~ ~music/bc3/bc3endd4.acm~ ~%bg1_dir%/music/bc1/bc1ende1.acm~ ~music/bc3/bc3ende1.acm~ ~%bg1_dir%/music/bc1/bc1ende2.acm~ ~music/bc3/bc3ende2.acm~ ~%bg1_dir%/music/bc1/bc1ende4.acm~ ~music/bc3/bc3ende4.acm~ ~%bg1_dir%/music/bc1/bc1endf2.acm~ ~music/bc3/bc3endf2.acm~ ~%bg1_dir%/music/bc1/bc1endf4.acm~ ~music/bc3/bc3endf4.acm~ ~%bg1_dir%/music/bc1/bc1endg2.acm~ ~music/bc3/bc3endg2.acm~ ~%bg1_dir%/music/bc1/bc1endg3.acm~ ~music/bc3/bc3endg3.acm~ ~%bg1_dir%/music/bc1/bc1endh2.acm~ ~music/bc3/bc3endh2.acm~ ~%bg1_dir%/music/bc1/bc1endh3.acm~ ~music/bc3/bc3endh3.acm~ ~%bg1_dir%/music/bc1/bc1endh4.acm~ ~music/bc3/bc3endh4.acm~ ~%bg1_dir%/music/bc1/bc1f1.acm~ ~music/bc3/bc3f1.acm~ ~%bg1_dir%/music/bc1/bc1f2.acm~ ~music/bc3/bc3f2.acm~ ~%bg1_dir%/music/bc1/bc1f3.acm~ ~music/bc3/bc3f3.acm~ ~%bg1_dir%/music/bc1/bc1f4.acm~ ~music/bc3/bc3f4.acm~ ~%bg1_dir%/music/bc1/bc1g1.acm~ ~music/bc3/bc3g1.acm~ ~%bg1_dir%/music/bc1/bc1g2.acm~ ~music/bc3/bc3g2.acm~ ~%bg1_dir%/music/bc1/bc1g3.acm~ ~music/bc3/bc3g3.acm~ ~%bg1_dir%/music/bc1/bc1h1.acm~ ~music/bc3/bc3h1.acm~ ~%bg1_dir%/music/bc1/bc1h2.acm~ ~music/bc3/bc3h2.acm~ ~%bg1_dir%/music/bc1/bc1h3.acm~ ~music/bc3/bc3h3.acm~ ~%bg1_dir%/music/bc1/bc1h4.acm~ ~music/bc3/bc3h4.acm~ ~%bg1_dir%/music/bc1/bc1i1.acm~ ~music/bc3/bc3i1.acm~ COPY ~%bg1_dir%/music/bc2/bc2a1.acm~ ~music/bc4/bc4a1.acm~ ~%bg1_dir%/music/bc2/bc2a2.acm~ ~music/bc4/bc4a2.acm~ ~%bg1_dir%/music/bc2/bc2a3.acm~ ~music/bc4/bc4a3.acm~ ~%bg1_dir%/music/bc2/bc2b1.acm~ ~music/bc4/bc4b1.acm~ ~%bg1_dir%/music/bc2/bc2b2.acm~ ~music/bc4/bc4b2.acm~ ~%bg1_dir%/music/bc2/bc2c1.acm~ ~music/bc4/bc4c1.acm~ ~%bg1_dir%/music/bc2/bc2c2.acm~ ~music/bc4/bc4c2.acm~ ~%bg1_dir%/music/bc2/bc2d1.acm~ ~music/bc4/bc4d1.acm~ ~%bg1_dir%/music/bc2/bc2d2.acm~ ~music/bc4/bc4d2.acm~ ~%bg1_dir%/music/bc2/bc2e1.acm~ ~music/bc4/bc4e1.acm~ ~%bg1_dir%/music/bc2/bc2e2.acm~ ~music/bc4/bc4e2.acm~ ~%bg1_dir%/music/bc2/bc2enda.acm~ ~music/bc4/bc4enda.acm~ ~%bg1_dir%/music/bc2/bc2endb.acm~ ~music/bc4/bc4endb.acm~ ~%bg1_dir%/music/bc2/bc2endc.acm~ ~music/bc4/bc4endc.acm~ ~%bg1_dir%/music/bc2/bc2f1.acm~ ~music/bc4/bc4f1.acm~ ~%bg1_dir%/music/bc2/bc2f2.acm~ ~music/bc4/bc4f2.acm~ ~%bg1_dir%/music/bc2/bc2g1.acm~ ~music/bc4/bc4g1.acm~ ~%bg1_dir%/music/bc2/bc2g2.acm~ ~music/bc4/bc4g2.acm~ ~%bg1_dir%/music/bc2/bc2g3.acm~ ~music/bc4/bc4g3.acm~ ~%bg1_dir%/music/bc2/bc2h1.acm~ ~music/bc4/bc4h1.acm~ ~%bg1_dir%/music/bc2/bc2h2.acm~ ~music/bc4/bc4h2.acm~ ~%bg1_dir%/music/bc2/bc2h3.acm~ ~music/bc4/bc4h3.acm~ ~%bg1_dir%/music/bc2/bc2h4.acm~ ~music/bc4/bc4h4.acm~ ~%bg1_dir%/music/bc2/bc2i1.acm~ ~music/bc4/bc4i1.acm~ ~%bg1_dir%/music/bc2/bc2i2.acm~ ~music/bc4/bc4i2.acm~ ~%bg1_dir%/music/bc2/bc2i3.acm~ ~music/bc4/bc4i3.acm~ ~%bg1_dir%/music/bc2/bc2i4.acm~ ~music/bc4/bc4i4.acm~ ~%bg1_dir%/music/bc2/bc2j1.acm~ ~music/bc4/bc4j1.acm~ ~%bg1_dir%/music/bc2/bc2j2.acm~ ~music/bc4/bc4j2.acm~ ~%bg1_dir%/music/bc2/bc2j3.acm~ ~music/bc4/bc4j3.acm~ ~%bg1_dir%/music/bc2/bc2j4.acm~ ~music/bc4/bc4j4.acm~ ~%bg1_dir%/music/bc2/bc2k1.acm~ ~music/bc4/bc4k1.acm~ ~%bg1_dir%/music/bc2/bc2k2.acm~ ~music/bc4/bc4k2.acm~ ~%bg1_dir%/music/bc2/bc2k3.acm~ ~music/bc4/bc4k3.acm~ ~%bg1_dir%/music/bc2/bc2xa1.acm~ ~music/bc4/bc4xa1.acm~ COPY ~%bg1_dir%/music/bd1/bd1a1.acm~ ~music/bd4/bd4a1.acm~ ~%bg1_dir%/music/bd1/bd1a2.acm~ ~music/bd4/bd4a2.acm~ ~%bg1_dir%/music/bd1/bd1b1.acm~ ~music/bd4/bd4b1.acm~ ~%bg1_dir%/music/bd1/bd1b2.acm~ ~music/bd4/bd4b2.acm~ ~%bg1_dir%/music/bd1/bd1b3.acm~ ~music/bd4/bd4b3.acm~ ~%bg1_dir%/music/bd1/bd1b4.acm~ ~music/bd4/bd4b4.acm~ ~%bg1_dir%/music/bd1/bd1c1.acm~ ~music/bd4/bd4c1.acm~ ~%bg1_dir%/music/bd1/bd1c2.acm~ ~music/bd4/bd4c2.acm~ ~%bg1_dir%/music/bd1/bd1d1.acm~ ~music/bd4/bd4d1.acm~ ~%bg1_dir%/music/bd1/bd1d2.acm~ ~music/bd4/bd4d2.acm~ ~%bg1_dir%/music/bd1/bd1d3.acm~ ~music/bd4/bd4d3.acm~ ~%bg1_dir%/music/bd1/bd1e1.acm~ ~music/bd4/bd4e1.acm~ ~%bg1_dir%/music/bd1/bd1e2.acm~ ~music/bd4/bd4e2.acm~ ~%bg1_dir%/music/bd1/bd1e3.acm~ ~music/bd4/bd4e3.acm~ ~%bg1_dir%/music/bd1/bd1e4.acm~ ~music/bd4/bd4e4.acm~ ~%bg1_dir%/music/bd1/bd1enda.acm~ ~music/bd4/bd4enda.acm~ ~%bg1_dir%/music/bd1/bd1endb.acm~ ~music/bd4/bd4endb.acm~ ~%bg1_dir%/music/bd1/bd1endc.acm~ ~music/bd4/bd4endc.acm~ ~%bg1_dir%/music/bd1/bd1f1.acm~ ~music/bd4/bd4f1.acm~ ~%bg1_dir%/music/bd1/bd1f2.acm~ ~music/bd4/bd4f2.acm~ ~%bg1_dir%/music/bd1/bd1f3.acm~ ~music/bd4/bd4f3.acm~ ~%bg1_dir%/music/bd1/bd1g1.acm~ ~music/bd4/bd4g1.acm~ ~%bg1_dir%/music/bd1/bd1g2.acm~ ~music/bd4/bd4g2.acm~ ~%bg1_dir%/music/bd1/bd1g3a.acm~ ~music/bd4/bd4g3a.acm~ ~%bg1_dir%/music/bd1/bd1g4a.acm~ ~music/bd4/bd4g4a.acm~ ~%bg1_dir%/music/bd1/bd1h1.acm~ ~music/bd4/bd4h1.acm~ ~%bg1_dir%/music/bd1/bd1h2.acm~ ~music/bd4/bd4h2.acm~ ~%bg1_dir%/music/bd1/bd1h3.acm~ ~music/bd4/bd4h3.acm~ ~%bg1_dir%/music/bd1/bd1i12.acm~ ~music/bd4/bd4i12.acm~ ~%bg1_dir%/music/bd1/bd1xa1.acm~ ~music/bd4/bd4xa1.acm~ COPY ~%bg1_dir%/music/bd2/bd2a1.acm~ ~music/bd5/bd5a1.acm~ ~%bg1_dir%/music/bd2/bd2a2.acm~ ~music/bd5/bd5a2.acm~ ~%bg1_dir%/music/bd2/bd2a3.acm~ ~music/bd5/bd5a3.acm~ ~%bg1_dir%/music/bd2/bd2b1.acm~ ~music/bd5/bd5b1.acm~ ~%bg1_dir%/music/bd2/bd2b2.acm~ ~music/bd5/bd5b2.acm~ ~%bg1_dir%/music/bd2/bd2b2b.acm~ ~music/bd5/bd5b2b.acm~ ~%bg1_dir%/music/bd2/bd2c1.acm~ ~music/bd5/bd5c1.acm~ ~%bg1_dir%/music/bd2/bd2c2.acm~ ~music/bd5/bd5c2.acm~ ~%bg1_dir%/music/bd2/bd2c3.acm~ ~music/bd5/bd5c3.acm~ ~%bg1_dir%/music/bd2/bd2c4.acm~ ~music/bd5/bd5c4.acm~ ~%bg1_dir%/music/bd2/bd2d1.acm~ ~music/bd5/bd5d1.acm~ ~%bg1_dir%/music/bd2/bd2d2.acm~ ~music/bd5/bd5d2.acm~ ~%bg1_dir%/music/bd2/bd2d3.acm~ ~music/bd5/bd5d3.acm~ ~%bg1_dir%/music/bd2/bd2d4.acm~ ~music/bd5/bd5d4.acm~ ~%bg1_dir%/music/bd2/bd2e1.acm~ ~music/bd5/bd5e1.acm~ ~%bg1_dir%/music/bd2/bd2e2.acm~ ~music/bd5/bd5e2.acm~ ~%bg1_dir%/music/bd2/bd2e3.acm~ ~music/bd5/bd5e3.acm~ ~%bg1_dir%/music/bd2/bd2e4.acm~ ~music/bd5/bd5e4.acm~ ~%bg1_dir%/music/bd2/bd2enda1.acm~ ~music/bd5/bd5enda1.acm~ ~%bg1_dir%/music/bd2/bd2enda2.acm~ ~music/bd5/bd5enda2.acm~ ~%bg1_dir%/music/bd2/bd2endb1.acm~ ~music/bd5/bd5endb1.acm~ ~%bg1_dir%/music/bd2/bd2endb2.acm~ ~music/bd5/bd5endb2.acm~ ~%bg1_dir%/music/bd2/bd2endd1.acm~ ~music/bd5/bd5endd1.acm~ ~%bg1_dir%/music/bd2/bd2ende1.acm~ ~music/bd5/bd5ende1.acm~ ~%bg1_dir%/music/bd2/bd2endg3.acm~ ~music/bd5/bd5endg3.acm~ ~%bg1_dir%/music/bd2/bd2f1.acm~ ~music/bd5/bd5f1.acm~ ~%bg1_dir%/music/bd2/bd2f2.acm~ ~music/bd5/bd5f2.acm~ ~%bg1_dir%/music/bd2/bd2f3.acm~ ~music/bd5/bd5f3.acm~ ~%bg1_dir%/music/bd2/bd2f4.acm~ ~music/bd5/bd5f4.acm~ ~%bg1_dir%/music/bd2/bd2g1a.acm~ ~music/bd5/bd5g1a.acm~ ~%bg1_dir%/music/bd2/bd2g2b.acm~ ~music/bd5/bd5g2b.acm~ ~%bg1_dir%/music/bd2/bd2g3.acm~ ~music/bd5/bd5g3.acm~ COPY ~%bg1_dir%/music/bf1/bf1a1.acm~ ~music/bf3/bf3a1.acm~ ~%bg1_dir%/music/bf1/bf1a2.acm~ ~music/bf3/bf3a2.acm~ ~%bg1_dir%/music/bf1/bf1a3.acm~ ~music/bf3/bf3a3.acm~ ~%bg1_dir%/music/bf1/bf1b1.acm~ ~music/bf3/bf3b1.acm~ ~%bg1_dir%/music/bf1/bf1b2.acm~ ~music/bf3/bf3b2.acm~ ~%bg1_dir%/music/bf1/bf1c1.acm~ ~music/bf3/bf3c1.acm~ ~%bg1_dir%/music/bf1/bf1d1.acm~ ~music/bf3/bf3d1.acm~ ~%bg1_dir%/music/bf1/bf1d2.acm~ ~music/bf3/bf3d2.acm~ ~%bg1_dir%/music/bf1/bf1e1.acm~ ~music/bf3/bf3e1.acm~ ~%bg1_dir%/music/bf1/bf1e2.acm~ ~music/bf3/bf3e2.acm~ ~%bg1_dir%/music/bf1/bf1enda.acm~ ~music/bf3/bf3enda.acm~ ~%bg1_dir%/music/bf1/bf1endb.acm~ ~music/bf3/bf3endb.acm~ ~%bg1_dir%/music/bf1/bf1endc.acm~ ~music/bf3/bf3endc.acm~ ~%bg1_dir%/music/bf1/bf1endd.acm~ ~music/bf3/bf3endd.acm~ ~%bg1_dir%/music/bf1/bf1ende.acm~ ~music/bf3/bf3ende.acm~ ~%bg1_dir%/music/bf1/bf1endf.acm~ ~music/bf3/bf3endf.acm~ ~%bg1_dir%/music/bf1/bf1endg.acm~ ~music/bf3/bf3endg.acm~ ~%bg1_dir%/music/bf1/bf1f1.acm~ ~music/bf3/bf3f1.acm~ ~%bg1_dir%/music/bf1/bf1f2.acm~ ~music/bf3/bf3f2.acm~ ~%bg1_dir%/music/bf1/bf1f3.acm~ ~music/bf3/bf3f3.acm~ ~%bg1_dir%/music/bf1/bf1g1.acm~ ~music/bf3/bf3g1.acm~ ~%bg1_dir%/music/bf1/bf1g2.acm~ ~music/bf3/bf3g2.acm~ ~%bg1_dir%/music/bf1/bf1g3.acm~ ~music/bf3/bf3g3.acm~ ~%bg1_dir%/music/bf1/bf1h1.acm~ ~music/bf3/bf3h1.acm~ ~%bg1_dir%/music/bf1/bf1h2.acm~ ~music/bf3/bf3h2.acm~ ~%bg1_dir%/music/bf1/bf1i1.acm~ ~music/bf3/bf3i1.acm~ ~%bg1_dir%/music/bf1/bf1i2.acm~ ~music/bf3/bf3i2.acm~ ~%bg1_dir%/music/bf1/bf1i3.acm~ ~music/bf3/bf3i3.acm~ ~%bg1_dir%/music/bf1/bf1j1.acm~ ~music/bf3/bf3j1.acm~ ~%bg1_dir%/music/bf1/bf1j2.acm~ ~music/bf3/bf3j2.acm~ ~%bg1_dir%/music/bf1/bf1j3.acm~ ~music/bf3/bf3j3.acm~ ~%bg1_dir%/music/bf1/bf1j4.acm~ ~music/bf3/bf3j4.acm~ ~%bg1_dir%/music/bf1/bf1j5.acm~ ~music/bf3/bf3j5.acm~ COPY ~%bg1_dir%/music/bf2/bf2a1.acm~ ~music/bf4/bf4a1.acm~ ~%bg1_dir%/music/bf2/bf2a2.acm~ ~music/bf4/bf4a2.acm~ ~%bg1_dir%/music/bf2/bf2a3.acm~ ~music/bf4/bf4a3.acm~ ~%bg1_dir%/music/bf2/bf2a4.acm~ ~music/bf4/bf4a4.acm~ ~%bg1_dir%/music/bf2/bf2b1.acm~ ~music/bf4/bf4b1.acm~ ~%bg1_dir%/music/bf2/bf2b2.acm~ ~music/bf4/bf4b2.acm~ ~%bg1_dir%/music/bf2/bf2b3.acm~ ~music/bf4/bf4b3.acm~ ~%bg1_dir%/music/bf2/bf2b4.acm~ ~music/bf4/bf4b4.acm~ ~%bg1_dir%/music/bf2/bf2c1.acm~ ~music/bf4/bf4c1.acm~ ~%bg1_dir%/music/bf2/bf2c2.acm~ ~music/bf4/bf4c2.acm~ ~%bg1_dir%/music/bf2/bf2c3.acm~ ~music/bf4/bf4c3.acm~ ~%bg1_dir%/music/bf2/bf2c4.acm~ ~music/bf4/bf4c4.acm~ ~%bg1_dir%/music/bf2/bf2d1.acm~ ~music/bf4/bf4d1.acm~ ~%bg1_dir%/music/bf2/bf2d2.acm~ ~music/bf4/bf4d2.acm~ ~%bg1_dir%/music/bf2/bf2d3.acm~ ~music/bf4/bf4d3.acm~ ~%bg1_dir%/music/bf2/bf2d4.acm~ ~music/bf4/bf4d4.acm~ ~%bg1_dir%/music/bf2/bf2e1.acm~ ~music/bf4/bf4e1.acm~ ~%bg1_dir%/music/bf2/bf2e2.acm~ ~music/bf4/bf4e2.acm~ ~%bg1_dir%/music/bf2/bf2enda1.acm~ ~music/bf4/bf4enda1.acm~ ~%bg1_dir%/music/bf2/bf2enda2.acm~ ~music/bf4/bf4enda2.acm~ ~%bg1_dir%/music/bf2/bf2enda3.acm~ ~music/bf4/bf4enda3.acm~ ~%bg1_dir%/music/bf2/bf2enda4.acm~ ~music/bf4/bf4enda4.acm~ ~%bg1_dir%/music/bf2/bf2endc1.acm~ ~music/bf4/bf4endc1.acm~ ~%bg1_dir%/music/bf2/bf2endd1.acm~ ~music/bf4/bf4endd1.acm~ ~%bg1_dir%/music/bf2/bf2endd2.acm~ ~music/bf4/bf4endd2.acm~ ~%bg1_dir%/music/bf2/bf2endd4.acm~ ~music/bf4/bf4endd4.acm~ ~%bg1_dir%/music/bf2/bf2endf1.acm~ ~music/bf4/bf4endf1.acm~ ~%bg1_dir%/music/bf2/bf2endf2.acm~ ~music/bf4/bf4endf2.acm~ ~%bg1_dir%/music/bf2/bf2endf3.acm~ ~music/bf4/bf4endf3.acm~ ~%bg1_dir%/music/bf2/bf2endg3.acm~ ~music/bf4/bf4endg3.acm~ ~%bg1_dir%/music/bf2/bf2endg4.acm~ ~music/bf4/bf4endg4.acm~ ~%bg1_dir%/music/bf2/bf2f1.acm~ ~music/bf4/bf4f1.acm~ ~%bg1_dir%/music/bf2/bf2f2.acm~ ~music/bf4/bf4f2.acm~ ~%bg1_dir%/music/bf2/bf2f3.acm~ ~music/bf4/bf4f3.acm~ ~%bg1_dir%/music/bf2/bf2f4.acm~ ~music/bf4/bf4f4.acm~ ~%bg1_dir%/music/bf2/bf2g1.acm~ ~music/bf4/bf4g1.acm~ ~%bg1_dir%/music/bf2/bf2g2.acm~ ~music/bf4/bf4g2.acm~ ~%bg1_dir%/music/bf2/bf2g3.acm~ ~music/bf4/bf4g3.acm~ ~%bg1_dir%/music/bf2/bf2g4.acm~ ~music/bf4/bf4g4.acm~ ~%bg1_dir%/music/bf2/bf2h1.acm~ ~music/bf4/bf4h1.acm~ ~%bg1_dir%/music/bf2/bf2h2.acm~ ~music/bf4/bf4h2.acm~ ~%bg1_dir%/music/bf2/bf2h3.acm~ ~music/bf4/bf4h3.acm~ ~%bg1_dir%/music/bf2/bf2h4.acm~ ~music/bf4/bf4h4.acm~ COPY ~%bg1_dir%/music/bl1/bl1a1.acm~ ~music/bl1/bl1a1.acm~ ~%bg1_dir%/music/bl1/bl1a3.acm~ ~music/bl1/bl1a3.acm~ ~%bg1_dir%/music/bl1/bl1a4.acm~ ~music/bl1/bl1a4.acm~ ~%bg1_dir%/music/bl1/bl1b1.acm~ ~music/bl1/bl1b1.acm~ ~%bg1_dir%/music/bl1/bl1b2.acm~ ~music/bl1/bl1b2.acm~ ~%bg1_dir%/music/bl1/bl1b3.acm~ ~music/bl1/bl1b3.acm~ ~%bg1_dir%/music/bl1/bl1b4.acm~ ~music/bl1/bl1b4.acm~ ~%bg1_dir%/music/bl1/bl1c1.acm~ ~music/bl1/bl1c1.acm~ ~%bg1_dir%/music/bl1/bl1c2.acm~ ~music/bl1/bl1c2.acm~ ~%bg1_dir%/music/bl1/bl1c3.acm~ ~music/bl1/bl1c3.acm~ ~%bg1_dir%/music/bl1/bl1c4.acm~ ~music/bl1/bl1c4.acm~ ~%bg1_dir%/music/bl1/bl1d1.acm~ ~music/bl1/bl1d1.acm~ ~%bg1_dir%/music/bl1/bl1d2.acm~ ~music/bl1/bl1d2.acm~ ~%bg1_dir%/music/bl1/bl1d3.acm~ ~music/bl1/bl1d3.acm~ ~%bg1_dir%/music/bl1/bl1e1.acm~ ~music/bl1/bl1e1.acm~ ~%bg1_dir%/music/bl1/bl1e2.acm~ ~music/bl1/bl1e2.acm~ ~%bg1_dir%/music/bl1/bl1e3.acm~ ~music/bl1/bl1e3.acm~ ~%bg1_dir%/music/bl1/bl1e4a.acm~ ~music/bl1/bl1e4a.acm~ ~%bg1_dir%/music/bl1/bl1enda1.acm~ ~music/bl1/bl1enda1.acm~ ~%bg1_dir%/music/bl1/bl1enda4.acm~ ~music/bl1/bl1enda4.acm~ ~%bg1_dir%/music/bl1/bl1endb1.acm~ ~music/bl1/bl1endb1.acm~ ~%bg1_dir%/music/bl1/bl1endb2.acm~ ~music/bl1/bl1endb2.acm~ ~%bg1_dir%/music/bl1/bl1endb3.acm~ ~music/bl1/bl1endb3.acm~ ~%bg1_dir%/music/bl1/bl1endc1.acm~ ~music/bl1/bl1endc1.acm~ ~%bg1_dir%/music/bl1/bl1ende4.acm~ ~music/bl1/bl1ende4.acm~ ~%bg1_dir%/music/bl1/bl1f1a.acm~ ~music/bl1/bl1f1a.acm~ ~%bg1_dir%/music/bl1/bl1f2.acm~ ~music/bl1/bl1f2.acm~ ~%bg1_dir%/music/bl1/bl1f3.acm~ ~music/bl1/bl1f3.acm~ ~%bg1_dir%/music/bl1/bl1f4.acm~ ~music/bl1/bl1f4.acm~ ~%bg1_dir%/music/bl1/bl1g1.acm~ ~music/bl1/bl1g1.acm~ ~%bg1_dir%/music/bl1/bl1g2.acm~ ~music/bl1/bl1g2.acm~ ~%bg1_dir%/music/bl1/bl1g3.acm~ ~music/bl1/bl1g3.acm~ ~%bg1_dir%/music/bl1/bl1h1.acm~ ~music/bl1/bl1h1.acm~ ~%bg1_dir%/music/bl1/bl1h2.acm~ ~music/bl1/bl1h2.acm~ ~%bg1_dir%/music/bl1/bl1xa4.acm~ ~music/bl1/bl1xa4.acm~ COPY ~%bg1_dir%/music/bl2/bl2a1.acm~ ~music/bl2/bl2a1.acm~ ~%bg1_dir%/music/bl2/bl2a2.acm~ ~music/bl2/bl2a2.acm~ ~%bg1_dir%/music/bl2/bl2a3.acm~ ~music/bl2/bl2a3.acm~ ~%bg1_dir%/music/bl2/bl2a4.acm~ ~music/bl2/bl2a4.acm~ ~%bg1_dir%/music/bl2/bl2b1.acm~ ~music/bl2/bl2b1.acm~ ~%bg1_dir%/music/bl2/bl2b2.acm~ ~music/bl2/bl2b2.acm~ ~%bg1_dir%/music/bl2/bl2b3.acm~ ~music/bl2/bl2b3.acm~ ~%bg1_dir%/music/bl2/bl2b4.acm~ ~music/bl2/bl2b4.acm~ ~%bg1_dir%/music/bl2/bl2c1.acm~ ~music/bl2/bl2c1.acm~ ~%bg1_dir%/music/bl2/bl2c2.acm~ ~music/bl2/bl2c2.acm~ ~%bg1_dir%/music/bl2/bl2c3.acm~ ~music/bl2/bl2c3.acm~ ~%bg1_dir%/music/bl2/bl2c4.acm~ ~music/bl2/bl2c4.acm~ ~%bg1_dir%/music/bl2/bl2d1.acm~ ~music/bl2/bl2d1.acm~ ~%bg1_dir%/music/bl2/bl2d2.acm~ ~music/bl2/bl2d2.acm~ ~%bg1_dir%/music/bl2/bl2e1.acm~ ~music/bl2/bl2e1.acm~ ~%bg1_dir%/music/bl2/bl2enda.acm~ ~music/bl2/bl2enda.acm~ ~%bg1_dir%/music/bl2/bl2endb.acm~ ~music/bl2/bl2endb.acm~ ~%bg1_dir%/music/bl2/bl2endc.acm~ ~music/bl2/bl2endc.acm~ ~%bg1_dir%/music/bl2/bl2endd.acm~ ~music/bl2/bl2endd.acm~ ~%bg1_dir%/music/bl2/bl2ende.acm~ ~music/bl2/bl2ende.acm~ ~%bg1_dir%/music/bl2/bl2f1.acm~ ~music/bl2/bl2f1.acm~ ~%bg1_dir%/music/bl2/bl2f2.acm~ ~music/bl2/bl2f2.acm~ ~%bg1_dir%/music/bl2/bl2g1.acm~ ~music/bl2/bl2g1.acm~ ~%bg1_dir%/music/bl2/bl2g2.acm~ ~music/bl2/bl2g2.acm~ ~%bg1_dir%/music/bl2/bl2g3.acm~ ~music/bl2/bl2g3.acm~ ~%bg1_dir%/music/bl2/bl2h1.acm~ ~music/bl2/bl2h1.acm~ ~%bg1_dir%/music/bl2/bl2h2.acm~ ~music/bl2/bl2h2.acm~ ~%bg1_dir%/music/bl2/bl2h3.acm~ ~music/bl2/bl2h3.acm~ ~%bg1_dir%/music/bl2/bl2h4.acm~ ~music/bl2/bl2h4.acm~ ~%bg1_dir%/music/bl2/bl2h5.acm~ ~music/bl2/bl2h5.acm~ ~%bg1_dir%/music/bl2/bl2h6.acm~ ~music/bl2/bl2h6.acm~ COPY ~%bg1_dir%/music/bp1/bp1a1.acm~ ~music/bp3/bp3a1.acm~ ~%bg1_dir%/music/bp1/bp1a2.acm~ ~music/bp3/bp3a2.acm~ ~%bg1_dir%/music/bp1/bp1a3.acm~ ~music/bp3/bp3a3.acm~ ~%bg1_dir%/music/bp1/bp1b1.acm~ ~music/bp3/bp3b1.acm~ ~%bg1_dir%/music/bp1/bp1b2.acm~ ~music/bp3/bp3b2.acm~ ~%bg1_dir%/music/bp1/bp1b3.acm~ ~music/bp3/bp3b3.acm~ ~%bg1_dir%/music/bp1/bp1c1.acm~ ~music/bp3/bp3c1.acm~ ~%bg1_dir%/music/bp1/bp1c2.acm~ ~music/bp3/bp3c2.acm~ ~%bg1_dir%/music/bp1/bp1d1.acm~ ~music/bp3/bp3d1.acm~ ~%bg1_dir%/music/bp1/bp1d2.acm~ ~music/bp3/bp3d2.acm~ ~%bg1_dir%/music/bp1/bp1d3.acm~ ~music/bp3/bp3d3.acm~ ~%bg1_dir%/music/bp1/bp1enda1.acm~ ~music/bp3/bp3enda1.acm~ ~%bg1_dir%/music/bp1/bp1enda2.acm~ ~music/bp3/bp3enda2.acm~ ~%bg1_dir%/music/bp1/bp1endb1.acm~ ~music/bp3/bp3endb1.acm~ ~%bg1_dir%/music/bp1/bp1endb2.acm~ ~music/bp3/bp3endb2.acm~ ~%bg1_dir%/music/bp1/bp1endc2.acm~ ~music/bp3/bp3endc2.acm~ ~%bg1_dir%/music/bp1/bp1endd1.acm~ ~music/bp3/bp3endd1.acm~ ~%bg1_dir%/music/bp1/bp1endd2.acm~ ~music/bp3/bp3endd2.acm~ ~%bg1_dir%/music/bp1/bp1endz1.acm~ ~music/bp3/bp3endz1.acm~ COPY ~%bg1_dir%/music/bp2/bp2a1.acm~ ~music/bp4/bp4a1.acm~ ~%bg1_dir%/music/bp2/bp2a2.acm~ ~music/bp4/bp4a2.acm~ ~%bg1_dir%/music/bp2/bp2a3.acm~ ~music/bp4/bp4a3.acm~ ~%bg1_dir%/music/bp2/bp2b1.acm~ ~music/bp4/bp4b1.acm~ ~%bg1_dir%/music/bp2/bp2b2.acm~ ~music/bp4/bp4b2.acm~ ~%bg1_dir%/music/bp2/bp2c1.acm~ ~music/bp4/bp4c1.acm~ ~%bg1_dir%/music/bp2/bp2c2.acm~ ~music/bp4/bp4c2.acm~ ~%bg1_dir%/music/bp2/bp2d1.acm~ ~music/bp4/bp4d1.acm~ ~%bg1_dir%/music/bp2/bp2d2.acm~ ~music/bp4/bp4d2.acm~ ~%bg1_dir%/music/bp2/bp2d3.acm~ ~music/bp4/bp4d3.acm~ ~%bg1_dir%/music/bp2/bp2d4.acm~ ~music/bp4/bp4d4.acm~ ~%bg1_dir%/music/bp2/bp2e1.acm~ ~music/bp4/bp4e1.acm~ ~%bg1_dir%/music/bp2/bp2e2.acm~ ~music/bp4/bp4e2.acm~ ~%bg1_dir%/music/bp2/bp2e3.acm~ ~music/bp4/bp4e3.acm~ ~%bg1_dir%/music/bp2/bp2e4.acm~ ~music/bp4/bp4e4.acm~ ~%bg1_dir%/music/bp2/bp2e5.acm~ ~music/bp4/bp4e5.acm~ ~%bg1_dir%/music/bp2/bp2enda1.acm~ ~music/bp4/bp4enda1.acm~ ~%bg1_dir%/music/bp2/bp2endc1.acm~ ~music/bp4/bp4endc1.acm~ ~%bg1_dir%/music/bp2/bp2endc2.acm~ ~music/bp4/bp4endc2.acm~ ~%bg1_dir%/music/bp2/bp2endd1.acm~ ~music/bp4/bp4endd1.acm~ ~%bg1_dir%/music/bp2/bp2endd2.acm~ ~music/bp4/bp4endd2.acm~ ~%bg1_dir%/music/bp2/bp2endd3.acm~ ~music/bp4/bp4endd3.acm~ ~%bg1_dir%/music/bp2/bp2endf1.acm~ ~music/bp4/bp4endf1.acm~ ~%bg1_dir%/music/bp2/bp2endf4.acm~ ~music/bp4/bp4endf4.acm~ ~%bg1_dir%/music/bp2/bp2endg4.acm~ ~music/bp4/bp4endg4.acm~ ~%bg1_dir%/music/bp2/bp2endh1.acm~ ~music/bp4/bp4endh1.acm~ ~%bg1_dir%/music/bp2/bp2endh3.acm~ ~music/bp4/bp4endh3.acm~ ~%bg1_dir%/music/bp2/bp2endz1.acm~ ~music/bp4/bp4endz1.acm~ ~%bg1_dir%/music/bp2/bp2f1.acm~ ~music/bp4/bp4f1.acm~ ~%bg1_dir%/music/bp2/bp2f2.acm~ ~music/bp4/bp4f2.acm~ ~%bg1_dir%/music/bp2/bp2f3.acm~ ~music/bp4/bp4f3.acm~ ~%bg1_dir%/music/bp2/bp2f4.acm~ ~music/bp4/bp4f4.acm~ ~%bg1_dir%/music/bp2/bp2g1.acm~ ~music/bp4/bp4g1.acm~ ~%bg1_dir%/music/bp2/bp2g2.acm~ ~music/bp4/bp4g2.acm~ ~%bg1_dir%/music/bp2/bp2g3.acm~ ~music/bp4/bp4g3.acm~ ~%bg1_dir%/music/bp2/bp2g4.acm~ ~music/bp4/bp4g4.acm~ ~%bg1_dir%/music/bp2/bp2h1.acm~ ~music/bp4/bp4h1.acm~ ~%bg1_dir%/music/bp2/bp2h2.acm~ ~music/bp4/bp4h2.acm~ ~%bg1_dir%/music/bp2/bp2h3.acm~ ~music/bp4/bp4h3.acm~ ~%bg1_dir%/music/bp2/bp2xa1.acm~ ~music/bp4/bp4xa1.acm~ ~%bg1_dir%/music/bp2/bp2z1.acm~ ~music/bp4/bp4z1.acm~ COPY ~%bg1_dir%/music/bw1/bw1a1.acm~ ~music/bw1/bw1a1.acm~ ~%bg1_dir%/music/bw1/bw1a3.acm~ ~music/bw1/bw1a3.acm~ ~%bg1_dir%/music/bw1/bw1a4.acm~ ~music/bw1/bw1a4.acm~ ~%bg1_dir%/music/bw1/bw1b1.acm~ ~music/bw1/bw1b1.acm~ ~%bg1_dir%/music/bw1/bw1b2.acm~ ~music/bw1/bw1b2.acm~ ~%bg1_dir%/music/bw1/bw1b3.acm~ ~music/bw1/bw1b3.acm~ ~%bg1_dir%/music/bw1/bw1b4.acm~ ~music/bw1/bw1b4.acm~ ~%bg1_dir%/music/bw1/bw1c1.acm~ ~music/bw1/bw1c1.acm~ ~%bg1_dir%/music/bw1/bw1c2.acm~ ~music/bw1/bw1c2.acm~ ~%bg1_dir%/music/bw1/bw1c3.acm~ ~music/bw1/bw1c3.acm~ ~%bg1_dir%/music/bw1/bw1c4.acm~ ~music/bw1/bw1c4.acm~ ~%bg1_dir%/music/bw1/bw1d1.acm~ ~music/bw1/bw1d1.acm~ ~%bg1_dir%/music/bw1/bw1d2.acm~ ~music/bw1/bw1d2.acm~ ~%bg1_dir%/music/bw1/bw1d3.acm~ ~music/bw1/bw1d3.acm~ ~%bg1_dir%/music/bw1/bw1d4.acm~ ~music/bw1/bw1d4.acm~ ~%bg1_dir%/music/bw1/bw1e1.acm~ ~music/bw1/bw1e1.acm~ ~%bg1_dir%/music/bw1/bw1e2.acm~ ~music/bw1/bw1e2.acm~ ~%bg1_dir%/music/bw1/bw1e3.acm~ ~music/bw1/bw1e3.acm~ ~%bg1_dir%/music/bw1/bw1e4.acm~ ~music/bw1/bw1e4.acm~ ~%bg1_dir%/music/bw1/bw1enda1.acm~ ~music/bw1/bw1enda1.acm~ ~%bg1_dir%/music/bw1/bw1enda3.acm~ ~music/bw1/bw1enda3.acm~ ~%bg1_dir%/music/bw1/bw1endb1.acm~ ~music/bw1/bw1endb1.acm~ ~%bg1_dir%/music/bw1/bw1endb2.acm~ ~music/bw1/bw1endb2.acm~ ~%bg1_dir%/music/bw1/bw1endb4.acm~ ~music/bw1/bw1endb4.acm~ ~%bg1_dir%/music/bw1/bw1endd3.acm~ ~music/bw1/bw1endd3.acm~ ~%bg1_dir%/music/bw1/bw1endd4.acm~ ~music/bw1/bw1endd4.acm~ ~%bg1_dir%/music/bw1/bw1ende1.acm~ ~music/bw1/bw1ende1.acm~ ~%bg1_dir%/music/bw1/bw1ende2.acm~ ~music/bw1/bw1ende2.acm~ ~%bg1_dir%/music/bw1/bw1endf1.acm~ ~music/bw1/bw1endf1.acm~ ~%bg1_dir%/music/bw1/bw1endf2.acm~ ~music/bw1/bw1endf2.acm~ ~%bg1_dir%/music/bw1/bw1f1.acm~ ~music/bw1/bw1f1.acm~ ~%bg1_dir%/music/bw1/bw1f2.acm~ ~music/bw1/bw1f2.acm~ ~%bg1_dir%/music/bw1/bw1g12.acm~ ~music/bw1/bw1g12.acm~ ~%bg1_dir%/music/bw1/bw1h1.acm~ ~music/bw1/bw1h1.acm~ ~%bg1_dir%/music/bw1/bw1h2.acm~ ~music/bw1/bw1h2.acm~ COPY ~%bg1_dir%/music/cday1/cday1a.acm~ ~music/cday1/cday1a.acm~ COPY ~%bg1_dir%/music/cday2/cday2a.acm~ ~music/cday2/cday2a.acm~ COPY ~%bg1_dir%/music/chants/chantsa.acm~ ~music/chants/chantsa.acm~ COPY ~%bg1_dir%/music/cnite/cnitea.acm~ ~music/cnite/cnitea.acm~ COPY ~%bg1_dir%/music/dream/dreama.acm~ ~music/dream/dreama.acm~ COPY ~%bg1_dir%/music/dung1/dung1a.acm~ ~music/dung1/dung1a.acm~ COPY ~%bg1_dir%/music/dung2/dung2a.acm~ ~music/dung2/dung2a.acm~ COPY ~%bg1_dir%/music/dung3/dung3a.acm~ ~music/dung3/dung3a.acm~ COPY ~%bg1_dir%/music/fday/fdaya.acm~ ~music/fday/fdaya.acm~ COPY ~%bg1_dir%/music/fnite/fnitea.acm~ ~music/fnite/fnitea.acm~ COPY ~%bg1_dir%/music/fort/forta.acm~ ~music/fort/forta.acm~ COPY ~%bg1_dir%/music/pday/pdaya.acm~ ~music/pday/pdaya.acm~ COPY ~%bg1_dir%/music/pnite/pnitea.acm~ ~music/pnite/pnitea.acm~ COPY ~%bg1_dir%/music/tav1/tav1a.acm~ ~music/tav5/tav5a.acm~ COPY ~%bg1_dir%/music/tav2/tav2a.acm~ ~music/tav6/tav6a.acm~ COPY ~%bg1_dir%/music/tav3/tav3a.acm~ ~music/tav7/tav7a.acm~ COPY ~%bg1_dir%/music/tav4/tav4a.acm~ ~music/tav8/tav8a.acm~ COPY ~%bg1_dir%/music/tday1/tday1a.acm~ ~music/tday1/tday1a.acm~ COPY ~%bg1_dir%/music/tday2/tday2a.acm~ ~music/tday2/tday2a.acm~ COPY ~%bg1_dir%/music/temple/templea.acm~ ~music/temple/templea.acm~ COPY ~%bg1_dir%/music/theme/themea.acm~ ~music/bgtheme/bgthemea.acm~ COPY ~%bg1_dir%/music/tnite/tnitea.acm~ ~music/tnite/tnitea.acm~ COPY ~music/harp_v2/harp_v21c.acm~ ~music/harp_v2/harp_v2c.acm~ /////////////////////////////////////////////////////// // Soundsets: Import from BG1 /////////////////////////////////////////////////////// PRINT ~~ PRINT @100034 ACTION_IF (~%LANGUAGE%~ STRING_EQUAL_CASE ~french~ AND FILE_EXISTS ~%bg1_dir%/sounds/femme1a.wav~) THEN BEGIN COPY ~%bg1_dir%/sounds/femme1a.wav~ ~sounds/bgfeml1a.wav~ ~%bg1_dir%/sounds/femme1b.wav~ ~sounds/bgfeml1b.wav~ ~%bg1_dir%/sounds/femme1c.wav~ ~sounds/bgfeml1c.wav~ ~%bg1_dir%/sounds/femme1d.wav~ ~sounds/bgfeml1d.wav~ ~%bg1_dir%/sounds/femme1e.wav~ ~sounds/bgfeml1e.wav~ ~%bg1_dir%/sounds/femme1f.wav~ ~sounds/bgfeml1f.wav~ ~%bg1_dir%/sounds/femme1g.wav~ ~sounds/bgfeml1g.wav~ ~%bg1_dir%/sounds/femme1h.wav~ ~sounds/bgfeml1h.wav~ ~%bg1_dir%/sounds/femme1i.wav~ ~sounds/bgfeml1i.wav~ ~%bg1_dir%/sounds/femme1j.wav~ ~sounds/bgfeml1j.wav~ ~%bg1_dir%/sounds/femme1k.wav~ ~sounds/bgfeml1k.wav~ ~%bg1_dir%/sounds/femme1l.wav~ ~sounds/bgfeml1l.wav~ ~%bg1_dir%/sounds/femme1m.wav~ ~sounds/bgfeml1m.wav~ ~%bg1_dir%/sounds/femme2a.wav~ ~sounds/bgfeml2a.wav~ ~%bg1_dir%/sounds/femme2b.wav~ ~sounds/bgfeml2b.wav~ ~%bg1_dir%/sounds/femme2c.wav~ ~sounds/bgfeml2c.wav~ ~%bg1_dir%/sounds/femme2d.wav~ ~sounds/bgfeml2d.wav~ ~%bg1_dir%/sounds/femme2e.wav~ ~sounds/bgfeml2e.wav~ ~%bg1_dir%/sounds/femme2f.wav~ ~sounds/bgfeml2f.wav~ ~%bg1_dir%/sounds/femme2g.wav~ ~sounds/bgfeml2g.wav~ ~%bg1_dir%/sounds/femme2h.wav~ ~sounds/bgfeml2h.wav~ ~%bg1_dir%/sounds/femme2i.wav~ ~sounds/bgfeml2i.wav~ ~%bg1_dir%/sounds/femme2j.wav~ ~sounds/bgfeml2j.wav~ ~%bg1_dir%/sounds/femme2k.wav~ ~sounds/bgfeml2k.wav~ ~%bg1_dir%/sounds/femme2l.wav~ ~sounds/bgfeml2l.wav~ ~%bg1_dir%/sounds/femme2m.wav~ ~sounds/bgfeml2m.wav~ ~%bg1_dir%/sounds/femme3a.wav~ ~sounds/bgfeml3a.wav~ ~%bg1_dir%/sounds/femme3b.wav~ ~sounds/bgfeml3b.wav~ ~%bg1_dir%/sounds/femme3c.wav~ ~sounds/bgfeml3c.wav~ ~%bg1_dir%/sounds/femme3d.wav~ ~sounds/bgfeml3d.wav~ ~%bg1_dir%/sounds/femme3e.wav~ ~sounds/bgfeml3e.wav~ ~%bg1_dir%/sounds/femme3f.wav~ ~sounds/bgfeml3f.wav~ ~%bg1_dir%/sounds/femme3g.wav~ ~sounds/bgfeml3g.wav~ ~%bg1_dir%/sounds/femme3h.wav~ ~sounds/bgfeml3h.wav~ ~%bg1_dir%/sounds/femme3i.wav~ ~sounds/bgfeml3i.wav~ ~%bg1_dir%/sounds/femme3j.wav~ ~sounds/bgfeml3j.wav~ ~%bg1_dir%/sounds/femme3k.wav~ ~sounds/bgfeml3k.wav~ ~%bg1_dir%/sounds/femme3l.wav~ ~sounds/bgfeml3l.wav~ ~%bg1_dir%/sounds/femme3m.wav~ ~sounds/bgfeml3m.wav~ ~%bg1_dir%/sounds/homme1a.wav~ ~sounds/bgmale1a.wav~ ~%bg1_dir%/sounds/homme1b.wav~ ~sounds/bgmale1b.wav~ ~%bg1_dir%/sounds/homme1c.wav~ ~sounds/bgmale1c.wav~ ~%bg1_dir%/sounds/homme1d.wav~ ~sounds/bgmale1d.wav~ ~%bg1_dir%/sounds/homme1e.wav~ ~sounds/bgmale1e.wav~ ~%bg1_dir%/sounds/homme1f.wav~ ~sounds/bgmale1f.wav~ ~%bg1_dir%/sounds/homme1g.wav~ ~sounds/bgmale1g.wav~ ~%bg1_dir%/sounds/homme1h.wav~ ~sounds/bgmale1h.wav~ ~%bg1_dir%/sounds/homme1i.wav~ ~sounds/bgmale1i.wav~ ~%bg1_dir%/sounds/homme1j.wav~ ~sounds/bgmale1j.wav~ ~%bg1_dir%/sounds/homme1k.wav~ ~sounds/bgmale1k.wav~ ~%bg1_dir%/sounds/homme1l.wav~ ~sounds/bgmale1l.wav~ ~%bg1_dir%/sounds/homme1m.wav~ ~sounds/bgmale1m.wav~ ~%bg1_dir%/sounds/homme2a.wav~ ~sounds/bgmale2a.wav~ ~%bg1_dir%/sounds/homme2b.wav~ ~sounds/bgmale2b.wav~ ~%bg1_dir%/sounds/homme2c.wav~ ~sounds/bgmale2c.wav~ ~%bg1_dir%/sounds/homme2d.wav~ ~sounds/bgmale2d.wav~ ~%bg1_dir%/sounds/homme2e.wav~ ~sounds/bgmale2e.wav~ ~%bg1_dir%/sounds/homme2f.wav~ ~sounds/bgmale2f.wav~ ~%bg1_dir%/sounds/homme2g.wav~ ~sounds/bgmale2g.wav~ ~%bg1_dir%/sounds/homme2h.wav~ ~sounds/bgmale2h.wav~ ~%bg1_dir%/sounds/homme2i.wav~ ~sounds/bgmale2i.wav~ ~%bg1_dir%/sounds/homme2j.wav~ ~sounds/bgmale2j.wav~ ~%bg1_dir%/sounds/homme2k.wav~ ~sounds/bgmale2k.wav~ ~%bg1_dir%/sounds/homme2l.wav~ ~sounds/bgmale2l.wav~ ~%bg1_dir%/sounds/homme2m.wav~ ~sounds/bgmale2m.wav~ ~%bg1_dir%/sounds/homme3a.wav~ ~sounds/bgmale3a.wav~ ~%bg1_dir%/sounds/homme3b.wav~ ~sounds/bgmale3b.wav~ ~%bg1_dir%/sounds/homme3c.wav~ ~sounds/bgmale3c.wav~ ~%bg1_dir%/sounds/homme3d.wav~ ~sounds/bgmale3d.wav~ ~%bg1_dir%/sounds/homme3e.wav~ ~sounds/bgmale3e.wav~ ~%bg1_dir%/sounds/homme3f.wav~ ~sounds/bgmale3f.wav~ ~%bg1_dir%/sounds/homme3g.wav~ ~sounds/bgmale3g.wav~ ~%bg1_dir%/sounds/homme3h.wav~ ~sounds/bgmale3h.wav~ ~%bg1_dir%/sounds/homme3i.wav~ ~sounds/bgmale3i.wav~ ~%bg1_dir%/sounds/homme3j.wav~ ~sounds/bgmale3j.wav~ ~%bg1_dir%/sounds/homme3k.wav~ ~sounds/bgmale3k.wav~ ~%bg1_dir%/sounds/homme3l.wav~ ~sounds/bgmale3l.wav~ ~%bg1_dir%/sounds/homme3m.wav~ ~sounds/bgmale3m.wav~ END ELSE BEGIN ACTION_IF (~%LANGUAGE%~ STRING_EQUAL_CASE ~german~ AND FILE_EXISTS ~%bg1_dir%/sounds/frau1a.wav~) THEN BEGIN COPY ~%bg1_dir%/sounds/frau1a.wav~ ~sounds/bgfeml1a.wav~ ~%bg1_dir%/sounds/frau1b.wav~ ~sounds/bgfeml1b.wav~ ~%bg1_dir%/sounds/frau1c.wav~ ~sounds/bgfeml1c.wav~ ~%bg1_dir%/sounds/frau1d.wav~ ~sounds/bgfeml1d.wav~ ~%bg1_dir%/sounds/frau1e.wav~ ~sounds/bgfeml1e.wav~ ~%bg1_dir%/sounds/frau1f.wav~ ~sounds/bgfeml1f.wav~ ~%bg1_dir%/sounds/frau1g.wav~ ~sounds/bgfeml1g.wav~ ~%bg1_dir%/sounds/frau1h.wav~ ~sounds/bgfeml1h.wav~ ~%bg1_dir%/sounds/frau1i.wav~ ~sounds/bgfeml1i.wav~ ~%bg1_dir%/sounds/frau1j.wav~ ~sounds/bgfeml1j.wav~ ~%bg1_dir%/sounds/frau1k.wav~ ~sounds/bgfeml1k.wav~ ~%bg1_dir%/sounds/frau1l.wav~ ~sounds/bgfeml1l.wav~ ~%bg1_dir%/sounds/frau1m.wav~ ~sounds/bgfeml1m.wav~ ~%bg1_dir%/sounds/frau2a.wav~ ~sounds/bgfeml2a.wav~ ~%bg1_dir%/sounds/frau2b.wav~ ~sounds/bgfeml2b.wav~ ~%bg1_dir%/sounds/frau2c.wav~ ~sounds/bgfeml2c.wav~ ~%bg1_dir%/sounds/frau2d.wav~ ~sounds/bgfeml2d.wav~ ~%bg1_dir%/sounds/frau2e.wav~ ~sounds/bgfeml2e.wav~ ~%bg1_dir%/sounds/frau2f.wav~ ~sounds/bgfeml2f.wav~ ~%bg1_dir%/sounds/frau2g.wav~ ~sounds/bgfeml2g.wav~ ~%bg1_dir%/sounds/frau2h.wav~ ~sounds/bgfeml2h.wav~ ~%bg1_dir%/sounds/frau2i.wav~ ~sounds/bgfeml2i.wav~ ~%bg1_dir%/sounds/frau2j.wav~ ~sounds/bgfeml2j.wav~ ~%bg1_dir%/sounds/frau2k.wav~ ~sounds/bgfeml2k.wav~ ~%bg1_dir%/sounds/frau2l.wav~ ~sounds/bgfeml2l.wav~ ~%bg1_dir%/sounds/frau2m.wav~ ~sounds/bgfeml2m.wav~ ~%bg1_dir%/sounds/frau3a.wav~ ~sounds/bgfeml3a.wav~ ~%bg1_dir%/sounds/frau3b.wav~ ~sounds/bgfeml3b.wav~ ~%bg1_dir%/sounds/frau3c.wav~ ~sounds/bgfeml3c.wav~ ~%bg1_dir%/sounds/frau3d.wav~ ~sounds/bgfeml3d.wav~ ~%bg1_dir%/sounds/frau3e.wav~ ~sounds/bgfeml3e.wav~ ~%bg1_dir%/sounds/frau3f.wav~ ~sounds/bgfeml3f.wav~ ~%bg1_dir%/sounds/frau3g.wav~ ~sounds/bgfeml3g.wav~ ~%bg1_dir%/sounds/frau3h.wav~ ~sounds/bgfeml3h.wav~ ~%bg1_dir%/sounds/frau3i.wav~ ~sounds/bgfeml3i.wav~ ~%bg1_dir%/sounds/frau3j.wav~ ~sounds/bgfeml3j.wav~ ~%bg1_dir%/sounds/frau3k.wav~ ~sounds/bgfeml3k.wav~ ~%bg1_dir%/sounds/frau3l.wav~ ~sounds/bgfeml3l.wav~ ~%bg1_dir%/sounds/frau3m.wav~ ~sounds/bgfeml3m.wav~ ~%bg1_dir%/sounds/mann1a.wav~ ~sounds/bgmale1a.wav~ ~%bg1_dir%/sounds/mann1b.wav~ ~sounds/bgmale1b.wav~ ~%bg1_dir%/sounds/mann1c.wav~ ~sounds/bgmale1c.wav~ ~%bg1_dir%/sounds/mann1d.wav~ ~sounds/bgmale1d.wav~ ~%bg1_dir%/sounds/mann1e.wav~ ~sounds/bgmale1e.wav~ ~%bg1_dir%/sounds/mann1f.wav~ ~sounds/bgmale1f.wav~ ~%bg1_dir%/sounds/mann1g.wav~ ~sounds/bgmale1g.wav~ ~%bg1_dir%/sounds/mann1h.wav~ ~sounds/bgmale1h.wav~ ~%bg1_dir%/sounds/mann1i.wav~ ~sounds/bgmale1i.wav~ ~%bg1_dir%/sounds/mann1j.wav~ ~sounds/bgmale1j.wav~ ~%bg1_dir%/sounds/mann1k.wav~ ~sounds/bgmale1k.wav~ ~%bg1_dir%/sounds/mann1l.wav~ ~sounds/bgmale1l.wav~ ~%bg1_dir%/sounds/mann1m.wav~ ~sounds/bgmale1m.wav~ ~%bg1_dir%/sounds/mann2a.wav~ ~sounds/bgmale2a.wav~ ~%bg1_dir%/sounds/mann2b.wav~ ~sounds/bgmale2b.wav~ ~%bg1_dir%/sounds/mann2c.wav~ ~sounds/bgmale2c.wav~ ~%bg1_dir%/sounds/mann2d.wav~ ~sounds/bgmale2d.wav~ ~%bg1_dir%/sounds/mann2e.wav~ ~sounds/bgmale2e.wav~ ~%bg1_dir%/sounds/mann2f.wav~ ~sounds/bgmale2f.wav~ ~%bg1_dir%/sounds/mann2g.wav~ ~sounds/bgmale2g.wav~ ~%bg1_dir%/sounds/mann2h.wav~ ~sounds/bgmale2h.wav~ ~%bg1_dir%/sounds/mann2i.wav~ ~sounds/bgmale2i.wav~ ~%bg1_dir%/sounds/mann2j.wav~ ~sounds/bgmale2j.wav~ ~%bg1_dir%/sounds/mann2k.wav~ ~sounds/bgmale2k.wav~ ~%bg1_dir%/sounds/mann2l.wav~ ~sounds/bgmale2l.wav~ ~%bg1_dir%/sounds/mann2m.wav~ ~sounds/bgmale2m.wav~ ~%bg1_dir%/sounds/mann3a.wav~ ~sounds/bgmale3a.wav~ ~%bg1_dir%/sounds/mann3b.wav~ ~sounds/bgmale3b.wav~ ~%bg1_dir%/sounds/mann3c.wav~ ~sounds/bgmale3c.wav~ ~%bg1_dir%/sounds/mann3d.wav~ ~sounds/bgmale3d.wav~ ~%bg1_dir%/sounds/mann3e.wav~ ~sounds/bgmale3e.wav~ ~%bg1_dir%/sounds/mann3f.wav~ ~sounds/bgmale3f.wav~ ~%bg1_dir%/sounds/mann3g.wav~ ~sounds/bgmale3g.wav~ ~%bg1_dir%/sounds/mann3h.wav~ ~sounds/bgmale3h.wav~ ~%bg1_dir%/sounds/mann3i.wav~ ~sounds/bgmale3i.wav~ ~%bg1_dir%/sounds/mann3j.wav~ ~sounds/bgmale3j.wav~ ~%bg1_dir%/sounds/mann3k.wav~ ~sounds/bgmale3k.wav~ ~%bg1_dir%/sounds/mann3l.wav~ ~sounds/bgmale3l.wav~ ~%bg1_dir%/sounds/mann3m.wav~ ~sounds/bgmale3m.wav~ END ELSE BEGIN ACTION_IF (~%LANGUAGE%~ STRING_EQUAL_CASE ~castilian~ AND FILE_EXISTS ~%bg1_dir%/sounds/hembra1a.wav~) THEN BEGIN COPY ~%bg1_dir%/sounds/hembra1a.wav~ ~sounds/bgfeml1a.wav~ ~%bg1_dir%/sounds/hembra1b.wav~ ~sounds/bgfeml1b.wav~ ~%bg1_dir%/sounds/hembra1c.wav~ ~sounds/bgfeml1c.wav~ ~%bg1_dir%/sounds/hembra1d.wav~ ~sounds/bgfeml1d.wav~ ~%bg1_dir%/sounds/hembra1e.wav~ ~sounds/bgfeml1e.wav~ ~%bg1_dir%/sounds/hembra1f.wav~ ~sounds/bgfeml1f.wav~ ~%bg1_dir%/sounds/hembra1g.wav~ ~sounds/bgfeml1g.wav~ ~%bg1_dir%/sounds/hembra1h.wav~ ~sounds/bgfeml1h.wav~ ~%bg1_dir%/sounds/hembra1i.wav~ ~sounds/bgfeml1i.wav~ ~%bg1_dir%/sounds/hembra1j.wav~ ~sounds/bgfeml1j.wav~ ~%bg1_dir%/sounds/hembra1k.wav~ ~sounds/bgfeml1k.wav~ ~%bg1_dir%/sounds/hembra1l.wav~ ~sounds/bgfeml1l.wav~ ~%bg1_dir%/sounds/hembra1m.wav~ ~sounds/bgfeml1m.wav~ ~%bg1_dir%/sounds/hembra2a.wav~ ~sounds/bgfeml2a.wav~ ~%bg1_dir%/sounds/hembra2b.wav~ ~sounds/bgfeml2b.wav~ ~%bg1_dir%/sounds/hembra2c.wav~ ~sounds/bgfeml2c.wav~ ~%bg1_dir%/sounds/hembra2d.wav~ ~sounds/bgfeml2d.wav~ ~%bg1_dir%/sounds/hembra2e.wav~ ~sounds/bgfeml2e.wav~ ~%bg1_dir%/sounds/hembra2f.wav~ ~sounds/bgfeml2f.wav~ ~%bg1_dir%/sounds/hembra2g.wav~ ~sounds/bgfeml2g.wav~ ~%bg1_dir%/sounds/hembra2h.wav~ ~sounds/bgfeml2h.wav~ ~%bg1_dir%/sounds/hembra2i.wav~ ~sounds/bgfeml2i.wav~ ~%bg1_dir%/sounds/hembra2j.wav~ ~sounds/bgfeml2j.wav~ ~%bg1_dir%/sounds/hembra2k.wav~ ~sounds/bgfeml2k.wav~ ~%bg1_dir%/sounds/hembra2l.wav~ ~sounds/bgfeml2l.wav~ ~%bg1_dir%/sounds/hembra2m.wav~ ~sounds/bgfeml2m.wav~ ~%bg1_dir%/sounds/hembra3a.wav~ ~sounds/bgfeml3a.wav~ ~%bg1_dir%/sounds/hembra3b.wav~ ~sounds/bgfeml3b.wav~ ~%bg1_dir%/sounds/hembra3c.wav~ ~sounds/bgfeml3c.wav~ ~%bg1_dir%/sounds/hembra3d.wav~ ~sounds/bgfeml3d.wav~ ~%bg1_dir%/sounds/hembra3e.wav~ ~sounds/bgfeml3e.wav~ ~%bg1_dir%/sounds/hembra3f.wav~ ~sounds/bgfeml3f.wav~ ~%bg1_dir%/sounds/hembra3g.wav~ ~sounds/bgfeml3g.wav~ ~%bg1_dir%/sounds/hembra3h.wav~ ~sounds/bgfeml3h.wav~ ~%bg1_dir%/sounds/hembra3i.wav~ ~sounds/bgfeml3i.wav~ ~%bg1_dir%/sounds/hembra3j.wav~ ~sounds/bgfeml3j.wav~ ~%bg1_dir%/sounds/hembra3k.wav~ ~sounds/bgfeml3k.wav~ ~%bg1_dir%/sounds/hembra3l.wav~ ~sounds/bgfeml3l.wav~ ~%bg1_dir%/sounds/hembra3m.wav~ ~sounds/bgfeml3m.wav~ ~%bg1_dir%/sounds/varon1a.wav~ ~sounds/bgmale1a.wav~ ~%bg1_dir%/sounds/varon1b.wav~ ~sounds/bgmale1b.wav~ ~%bg1_dir%/sounds/varon1c.wav~ ~sounds/bgmale1c.wav~ ~%bg1_dir%/sounds/varon1d.wav~ ~sounds/bgmale1d.wav~ ~%bg1_dir%/sounds/varon1e.wav~ ~sounds/bgmale1e.wav~ ~%bg1_dir%/sounds/varon1f.wav~ ~sounds/bgmale1f.wav~ ~%bg1_dir%/sounds/varon1g.wav~ ~sounds/bgmale1g.wav~ ~%bg1_dir%/sounds/varon1h.wav~ ~sounds/bgmale1h.wav~ ~%bg1_dir%/sounds/varon1i.wav~ ~sounds/bgmale1i.wav~ ~%bg1_dir%/sounds/varon1j.wav~ ~sounds/bgmale1j.wav~ ~%bg1_dir%/sounds/varon1k.wav~ ~sounds/bgmale1k.wav~ ~%bg1_dir%/sounds/varon1l.wav~ ~sounds/bgmale1l.wav~ ~%bg1_dir%/sounds/varon1m.wav~ ~sounds/bgmale1m.wav~ ~%bg1_dir%/sounds/varon2a.wav~ ~sounds/bgmale2a.wav~ ~%bg1_dir%/sounds/varon2b.wav~ ~sounds/bgmale2b.wav~ ~%bg1_dir%/sounds/varon2c.wav~ ~sounds/bgmale2c.wav~ ~%bg1_dir%/sounds/varon2d.wav~ ~sounds/bgmale2d.wav~ ~%bg1_dir%/sounds/varon2e.wav~ ~sounds/bgmale2e.wav~ ~%bg1_dir%/sounds/varon2f.wav~ ~sounds/bgmale2f.wav~ ~%bg1_dir%/sounds/varon2g.wav~ ~sounds/bgmale2g.wav~ ~%bg1_dir%/sounds/varon2h.wav~ ~sounds/bgmale2h.wav~ ~%bg1_dir%/sounds/varon2i.wav~ ~sounds/bgmale2i.wav~ ~%bg1_dir%/sounds/varon2j.wav~ ~sounds/bgmale2j.wav~ ~%bg1_dir%/sounds/varon2k.wav~ ~sounds/bgmale2k.wav~ ~%bg1_dir%/sounds/varon2l.wav~ ~sounds/bgmale2l.wav~ ~%bg1_dir%/sounds/varon2m.wav~ ~sounds/bgmale2m.wav~ ~%bg1_dir%/sounds/varon3a.wav~ ~sounds/bgmale3a.wav~ ~%bg1_dir%/sounds/varon3b.wav~ ~sounds/bgmale3b.wav~ ~%bg1_dir%/sounds/varon3c.wav~ ~sounds/bgmale3c.wav~ ~%bg1_dir%/sounds/varon3d.wav~ ~sounds/bgmale3d.wav~ ~%bg1_dir%/sounds/varon3e.wav~ ~sounds/bgmale3e.wav~ ~%bg1_dir%/sounds/varon3f.wav~ ~sounds/bgmale3f.wav~ ~%bg1_dir%/sounds/varon3g.wav~ ~sounds/bgmale3g.wav~ ~%bg1_dir%/sounds/varon3h.wav~ ~sounds/bgmale3h.wav~ ~%bg1_dir%/sounds/varon3i.wav~ ~sounds/bgmale3i.wav~ ~%bg1_dir%/sounds/varon3j.wav~ ~sounds/bgmale3j.wav~ ~%bg1_dir%/sounds/varon3k.wav~ ~sounds/bgmale3k.wav~ ~%bg1_dir%/sounds/varon3l.wav~ ~sounds/bgmale3l.wav~ ~%bg1_dir%/sounds/varon3m.wav~ ~sounds/bgmale3m.wav~ END ELSE BEGIN ACTION_IF (~%LANGUAGE%~ STRING_EQUAL_CASE ~castilian~ AND FILE_EXISTS ~%bg1_dir%/sounds/ona1a.wav~) THEN BEGIN COPY ~%bg1_dir%/sounds/ona1a.wav~ ~sounds/bgfeml1a.wav~ ~%bg1_dir%/sounds/ona1b.wav~ ~sounds/bgfeml1b.wav~ ~%bg1_dir%/sounds/ona1c.wav~ ~sounds/bgfeml1c.wav~ ~%bg1_dir%/sounds/ona1d.wav~ ~sounds/bgfeml1d.wav~ ~%bg1_dir%/sounds/ona1e.wav~ ~sounds/bgfeml1e.wav~ ~%bg1_dir%/sounds/ona1f.wav~ ~sounds/bgfeml1f.wav~ ~%bg1_dir%/sounds/ona1g.wav~ ~sounds/bgfeml1g.wav~ ~%bg1_dir%/sounds/ona1h.wav~ ~sounds/bgfeml1h.wav~ ~%bg1_dir%/sounds/ona1i.wav~ ~sounds/bgfeml1i.wav~ ~%bg1_dir%/sounds/ona1j.wav~ ~sounds/bgfeml1j.wav~ ~%bg1_dir%/sounds/ona1k.wav~ ~sounds/bgfeml1k.wav~ ~%bg1_dir%/sounds/ona1l.wav~ ~sounds/bgfeml1l.wav~ ~%bg1_dir%/sounds/ona1m.wav~ ~sounds/bgfeml1m.wav~ ~%bg1_dir%/sounds/ona2a.wav~ ~sounds/bgfeml2a.wav~ ~%bg1_dir%/sounds/ona2b.wav~ ~sounds/bgfeml2b.wav~ ~%bg1_dir%/sounds/ona2c.wav~ ~sounds/bgfeml2c.wav~ ~%bg1_dir%/sounds/ona2d.wav~ ~sounds/bgfeml2d.wav~ ~%bg1_dir%/sounds/ona2e.wav~ ~sounds/bgfeml2e.wav~ ~%bg1_dir%/sounds/ona2f.wav~ ~sounds/bgfeml2f.wav~ ~%bg1_dir%/sounds/ona2g.wav~ ~sounds/bgfeml2g.wav~ ~%bg1_dir%/sounds/ona2h.wav~ ~sounds/bgfeml2h.wav~ ~%bg1_dir%/sounds/ona2i.wav~ ~sounds/bgfeml2i.wav~ ~%bg1_dir%/sounds/ona2j.wav~ ~sounds/bgfeml2j.wav~ ~%bg1_dir%/sounds/ona2k.wav~ ~sounds/bgfeml2k.wav~ ~%bg1_dir%/sounds/ona2l.wav~ ~sounds/bgfeml2l.wav~ ~%bg1_dir%/sounds/ona2m.wav~ ~sounds/bgfeml2m.wav~ ~%bg1_dir%/sounds/ona3a.wav~ ~sounds/bgfeml3a.wav~ ~%bg1_dir%/sounds/ona3b.wav~ ~sounds/bgfeml3b.wav~ ~%bg1_dir%/sounds/ona3c.wav~ ~sounds/bgfeml3c.wav~ ~%bg1_dir%/sounds/ona3d.wav~ ~sounds/bgfeml3d.wav~ ~%bg1_dir%/sounds/ona3e.wav~ ~sounds/bgfeml3e.wav~ ~%bg1_dir%/sounds/ona3f.wav~ ~sounds/bgfeml3f.wav~ ~%bg1_dir%/sounds/ona3g.wav~ ~sounds/bgfeml3g.wav~ ~%bg1_dir%/sounds/ona3h.wav~ ~sounds/bgfeml3h.wav~ ~%bg1_dir%/sounds/ona3i.wav~ ~sounds/bgfeml3i.wav~ ~%bg1_dir%/sounds/ona3j.wav~ ~sounds/bgfeml3j.wav~ ~%bg1_dir%/sounds/ona3k.wav~ ~sounds/bgfeml3k.wav~ ~%bg1_dir%/sounds/ona3l.wav~ ~sounds/bgfeml3l.wav~ ~%bg1_dir%/sounds/ona3m.wav~ ~sounds/bgfeml3m.wav~ ~%bg1_dir%/sounds/on1a.wav~ ~sounds/bgmale1a.wav~ ~%bg1_dir%/sounds/on1b.wav~ ~sounds/bgmale1b.wav~ ~%bg1_dir%/sounds/on1c.wav~ ~sounds/bgmale1c.wav~ ~%bg1_dir%/sounds/on1d.wav~ ~sounds/bgmale1d.wav~ ~%bg1_dir%/sounds/on1e.wav~ ~sounds/bgmale1e.wav~ ~%bg1_dir%/sounds/on1f.wav~ ~sounds/bgmale1f.wav~ ~%bg1_dir%/sounds/on1g.wav~ ~sounds/bgmale1g.wav~ ~%bg1_dir%/sounds/on1h.wav~ ~sounds/bgmale1h.wav~ ~%bg1_dir%/sounds/on1i.wav~ ~sounds/bgmale1i.wav~ ~%bg1_dir%/sounds/on1j.wav~ ~sounds/bgmale1j.wav~ ~%bg1_dir%/sounds/on1k.wav~ ~sounds/bgmale1k.wav~ ~%bg1_dir%/sounds/on1l.wav~ ~sounds/bgmale1l.wav~ ~%bg1_dir%/sounds/on1m.wav~ ~sounds/bgmale1m.wav~ ~%bg1_dir%/sounds/on2a.wav~ ~sounds/bgmale2a.wav~ ~%bg1_dir%/sounds/on2b.wav~ ~sounds/bgmale2b.wav~ ~%bg1_dir%/sounds/on2c.wav~ ~sounds/bgmale2c.wav~ ~%bg1_dir%/sounds/on2d.wav~ ~sounds/bgmale2d.wav~ ~%bg1_dir%/sounds/on2e.wav~ ~sounds/bgmale2e.wav~ ~%bg1_dir%/sounds/on2f.wav~ ~sounds/bgmale2f.wav~ ~%bg1_dir%/sounds/on2g.wav~ ~sounds/bgmale2g.wav~ ~%bg1_dir%/sounds/on2h.wav~ ~sounds/bgmale2h.wav~ ~%bg1_dir%/sounds/on2i.wav~ ~sounds/bgmale2i.wav~ ~%bg1_dir%/sounds/on2j.wav~ ~sounds/bgmale2j.wav~ ~%bg1_dir%/sounds/on2k.wav~ ~sounds/bgmale2k.wav~ ~%bg1_dir%/sounds/on2l.wav~ ~sounds/bgmale2l.wav~ ~%bg1_dir%/sounds/on2m.wav~ ~sounds/bgmale2m.wav~ ~%bg1_dir%/sounds/on3a.wav~ ~sounds/bgmale3a.wav~ ~%bg1_dir%/sounds/on3b.wav~ ~sounds/bgmale3b.wav~ ~%bg1_dir%/sounds/on3c.wav~ ~sounds/bgmale3c.wav~ ~%bg1_dir%/sounds/on3d.wav~ ~sounds/bgmale3d.wav~ ~%bg1_dir%/sounds/on3e.wav~ ~sounds/bgmale3e.wav~ ~%bg1_dir%/sounds/on3f.wav~ ~sounds/bgmale3f.wav~ ~%bg1_dir%/sounds/on3g.wav~ ~sounds/bgmale3g.wav~ ~%bg1_dir%/sounds/on3h.wav~ ~sounds/bgmale3h.wav~ ~%bg1_dir%/sounds/on3i.wav~ ~sounds/bgmale3i.wav~ ~%bg1_dir%/sounds/on3j.wav~ ~sounds/bgmale3j.wav~ ~%bg1_dir%/sounds/on3k.wav~ ~sounds/bgmale3k.wav~ ~%bg1_dir%/sounds/on3l.wav~ ~sounds/bgmale3l.wav~ ~%bg1_dir%/sounds/on3m.wav~ ~sounds/bgmale3m.wav~ END ELSE BEGIN ACTION_IF (FILE_EXISTS ~%bg1_dir%/sounds/female1a.wav~) THEN BEGIN COPY ~%bg1_dir%/sounds/female1a.wav~ ~sounds/bgfeml1a.wav~ ~%bg1_dir%/sounds/female1b.wav~ ~sounds/bgfeml1b.wav~ ~%bg1_dir%/sounds/female1c.wav~ ~sounds/bgfeml1c.wav~ ~%bg1_dir%/sounds/female1d.wav~ ~sounds/bgfeml1d.wav~ ~%bg1_dir%/sounds/female1e.wav~ ~sounds/bgfeml1e.wav~ ~%bg1_dir%/sounds/female1f.wav~ ~sounds/bgfeml1f.wav~ ~%bg1_dir%/sounds/female1g.wav~ ~sounds/bgfeml1g.wav~ ~%bg1_dir%/sounds/female1h.wav~ ~sounds/bgfeml1h.wav~ ~%bg1_dir%/sounds/female1i.wav~ ~sounds/bgfeml1i.wav~ ~%bg1_dir%/sounds/female1j.wav~ ~sounds/bgfeml1j.wav~ ~%bg1_dir%/sounds/female1k.wav~ ~sounds/bgfeml1k.wav~ ~%bg1_dir%/sounds/female1l.wav~ ~sounds/bgfeml1l.wav~ ~%bg1_dir%/sounds/female1m.wav~ ~sounds/bgfeml1m.wav~ ~%bg1_dir%/sounds/female2a.wav~ ~sounds/bgfeml2a.wav~ ~%bg1_dir%/sounds/female2b.wav~ ~sounds/bgfeml2b.wav~ ~%bg1_dir%/sounds/female2c.wav~ ~sounds/bgfeml2c.wav~ ~%bg1_dir%/sounds/female2d.wav~ ~sounds/bgfeml2d.wav~ ~%bg1_dir%/sounds/female2e.wav~ ~sounds/bgfeml2e.wav~ ~%bg1_dir%/sounds/female2f.wav~ ~sounds/bgfeml2f.wav~ ~%bg1_dir%/sounds/female2g.wav~ ~sounds/bgfeml2g.wav~ ~%bg1_dir%/sounds/female2h.wav~ ~sounds/bgfeml2h.wav~ ~%bg1_dir%/sounds/female2i.wav~ ~sounds/bgfeml2i.wav~ ~%bg1_dir%/sounds/female2j.wav~ ~sounds/bgfeml2j.wav~ ~%bg1_dir%/sounds/female2k.wav~ ~sounds/bgfeml2k.wav~ ~%bg1_dir%/sounds/female2l.wav~ ~sounds/bgfeml2l.wav~ ~%bg1_dir%/sounds/female2m.wav~ ~sounds/bgfeml2m.wav~ ~%bg1_dir%/sounds/female3a.wav~ ~sounds/bgfeml3a.wav~ ~%bg1_dir%/sounds/female3b.wav~ ~sounds/bgfeml3b.wav~ ~%bg1_dir%/sounds/female3c.wav~ ~sounds/bgfeml3c.wav~ ~%bg1_dir%/sounds/female3d.wav~ ~sounds/bgfeml3d.wav~ ~%bg1_dir%/sounds/female3e.wav~ ~sounds/bgfeml3e.wav~ ~%bg1_dir%/sounds/female3f.wav~ ~sounds/bgfeml3f.wav~ ~%bg1_dir%/sounds/female3g.wav~ ~sounds/bgfeml3g.wav~ ~%bg1_dir%/sounds/female3h.wav~ ~sounds/bgfeml3h.wav~ ~%bg1_dir%/sounds/female3i.wav~ ~sounds/bgfeml3i.wav~ ~%bg1_dir%/sounds/female3j.wav~ ~sounds/bgfeml3j.wav~ ~%bg1_dir%/sounds/female3k.wav~ ~sounds/bgfeml3k.wav~ ~%bg1_dir%/sounds/female3l.wav~ ~sounds/bgfeml3l.wav~ ~%bg1_dir%/sounds/female3m.wav~ ~sounds/bgfeml3m.wav~ ~%bg1_dir%/sounds/male1a.wav~ ~sounds/bgmale1a.wav~ ~%bg1_dir%/sounds/male1b.wav~ ~sounds/bgmale1b.wav~ ~%bg1_dir%/sounds/male1c.wav~ ~sounds/bgmale1c.wav~ ~%bg1_dir%/sounds/male1d.wav~ ~sounds/bgmale1d.wav~ ~%bg1_dir%/sounds/male1e.wav~ ~sounds/bgmale1e.wav~ ~%bg1_dir%/sounds/male1f.wav~ ~sounds/bgmale1f.wav~ ~%bg1_dir%/sounds/male1g.wav~ ~sounds/bgmale1g.wav~ ~%bg1_dir%/sounds/male1h.wav~ ~sounds/bgmale1h.wav~ ~%bg1_dir%/sounds/male1i.wav~ ~sounds/bgmale1i.wav~ ~%bg1_dir%/sounds/male1j.wav~ ~sounds/bgmale1j.wav~ ~%bg1_dir%/sounds/male1k.wav~ ~sounds/bgmale1k.wav~ ~%bg1_dir%/sounds/male1l.wav~ ~sounds/bgmale1l.wav~ ~%bg1_dir%/sounds/male1m.wav~ ~sounds/bgmale1m.wav~ ~%bg1_dir%/sounds/male2a.wav~ ~sounds/bgmale2a.wav~ ~%bg1_dir%/sounds/male2b.wav~ ~sounds/bgmale2b.wav~ ~%bg1_dir%/sounds/male2c.wav~ ~sounds/bgmale2c.wav~ ~%bg1_dir%/sounds/male2d.wav~ ~sounds/bgmale2d.wav~ ~%bg1_dir%/sounds/male2e.wav~ ~sounds/bgmale2e.wav~ ~%bg1_dir%/sounds/male2f.wav~ ~sounds/bgmale2f.wav~ ~%bg1_dir%/sounds/male2g.wav~ ~sounds/bgmale2g.wav~ ~%bg1_dir%/sounds/male2h.wav~ ~sounds/bgmale2h.wav~ ~%bg1_dir%/sounds/male2i.wav~ ~sounds/bgmale2i.wav~ ~%bg1_dir%/sounds/male2j.wav~ ~sounds/bgmale2j.wav~ ~%bg1_dir%/sounds/male2k.wav~ ~sounds/bgmale2k.wav~ ~%bg1_dir%/sounds/male2l.wav~ ~sounds/bgmale2l.wav~ ~%bg1_dir%/sounds/male2m.wav~ ~sounds/bgmale2m.wav~ ~%bg1_dir%/sounds/male3a.wav~ ~sounds/bgmale3a.wav~ ~%bg1_dir%/sounds/male3b.wav~ ~sounds/bgmale3b.wav~ ~%bg1_dir%/sounds/male3c.wav~ ~sounds/bgmale3c.wav~ ~%bg1_dir%/sounds/male3d.wav~ ~sounds/bgmale3d.wav~ ~%bg1_dir%/sounds/male3e.wav~ ~sounds/bgmale3e.wav~ ~%bg1_dir%/sounds/male3f.wav~ ~sounds/bgmale3f.wav~ ~%bg1_dir%/sounds/male3g.wav~ ~sounds/bgmale3g.wav~ ~%bg1_dir%/sounds/male3h.wav~ ~sounds/bgmale3h.wav~ ~%bg1_dir%/sounds/male3i.wav~ ~sounds/bgmale3i.wav~ ~%bg1_dir%/sounds/male3j.wav~ ~sounds/bgmale3j.wav~ ~%bg1_dir%/sounds/male3k.wav~ ~sounds/bgmale3k.wav~ ~%bg1_dir%/sounds/male3l.wav~ ~sounds/bgmale3l.wav~ ~%bg1_dir%/sounds/male3m.wav~ ~sounds/bgmale3m.wav~ END //other END //polish END //castilian END //german END //french //enable uninstall easily COPY ~bgt/placeholder.txt~ ~sounds/mainf03.wav~ ~bgt/placeholder.txt~ ~sounds/mainf08.wav~ ~bgt/placeholder.txt~ ~sounds/mainf09.wav~ ~bgt/placeholder.txt~ ~sounds/mainf10.wav~ ~bgt/placeholder.txt~ ~sounds/mainf11.wav~ ~bgt/placeholder.txt~ ~sounds/mainf17.wav~ ~bgt/placeholder.txt~ ~sounds/mainf18.wav~ ~bgt/placeholder.txt~ ~sounds/mainf19.wav~ ~bgt/placeholder.txt~ ~sounds/mainf20.wav~ ~bgt/placeholder.txt~ ~sounds/mainf21.wav~ ~bgt/placeholder.txt~ ~sounds/mainf22.wav~ ~bgt/placeholder.txt~ ~sounds/mainf38.wav~ ~bgt/placeholder.txt~ ~sounds/mainf39.wav~ ~bgt/placeholder.txt~ ~sounds/mainm03.wav~ ~bgt/placeholder.txt~ ~sounds/mainm08.wav~ ~bgt/placeholder.txt~ ~sounds/mainm09.wav~ ~bgt/placeholder.txt~ ~sounds/mainm10.wav~ ~bgt/placeholder.txt~ ~sounds/mainm11.wav~ ~bgt/placeholder.txt~ ~sounds/mainm17.wav~ ~bgt/placeholder.txt~ ~sounds/mainm18.wav~ ~bgt/placeholder.txt~ ~sounds/mainm19.wav~ ~bgt/placeholder.txt~ ~sounds/mainm20.wav~ ~bgt/placeholder.txt~ ~sounds/mainm21.wav~ ~bgt/placeholder.txt~ ~sounds/mainm22.wav~ ~bgt/placeholder.txt~ ~sounds/mainm38.wav~ ~bgt/placeholder.txt~ ~sounds/mainm39.wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out sounds --biff-get-rest main.*wav~ LAM bash_log MOVE ~sounds/mainf03.wav~ ~sounds/bgmainfa.wav~ ~sounds/mainf08.wav~ ~sounds/bgmainfb.wav~ ~sounds/mainf09.wav~ ~sounds/bgmainfc.wav~ ~sounds/mainf10.wav~ ~sounds/bgmainfd.wav~ ~sounds/mainf11.wav~ ~sounds/bgmainfe.wav~ ~sounds/mainf17.wav~ ~sounds/bgmainff.wav~ ~sounds/mainf18.wav~ ~sounds/bgmainfg.wav~ ~sounds/mainf19.wav~ ~sounds/bgmainfh.wav~ ~sounds/mainf20.wav~ ~sounds/bgmainfi.wav~ ~sounds/mainf21.wav~ ~sounds/bgmainfj.wav~ ~sounds/mainf22.wav~ ~sounds/bgmainfk.wav~ ~sounds/mainf38.wav~ ~sounds/bgmainfl.wav~ ~sounds/mainf39.wav~ ~sounds/bgmainfm.wav~ MOVE ~sounds/mainm03.wav~ ~sounds/bgmainma.wav~ ~sounds/mainm08.wav~ ~sounds/bgmainmb.wav~ ~sounds/mainm09.wav~ ~sounds/bgmainmc.wav~ ~sounds/mainm10.wav~ ~sounds/bgmainmd.wav~ ~sounds/mainm11.wav~ ~sounds/bgmainme.wav~ ~sounds/mainm17.wav~ ~sounds/bgmainmf.wav~ ~sounds/mainm18.wav~ ~sounds/bgmainmg.wav~ ~sounds/mainm19.wav~ ~sounds/bgmainmh.wav~ ~sounds/mainm20.wav~ ~sounds/bgmainmi.wav~ ~sounds/mainm21.wav~ ~sounds/bgmainmj.wav~ ~sounds/mainm22.wav~ ~sounds/bgmainmk.wav~ ~sounds/mainm38.wav~ ~sounds/bgmainml.wav~ ~sounds/mainm39.wav~ ~sounds/bgmainmm.wav~ /////////////////////////////////////////////////////// // Sounds: Import from BG1 /////////////////////////////////////////////////////// PRINT ~~ PRINT @100035 MKDIR ~bgtwav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest abela.*wav ajant.*wav alats.*wav aldet.*wav alora.*wav amb_d08.*wav amb_e03.*wav amb_e04.*wav amb_e05.*wav amb_e06.*wav amb_e07.*wav amb_e08.*wav amb_e09.*wav amb_e10.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest amb_e14.*wav amb_e15.*wav amb_e16.*wav amb_e17.*wav amb_e18.*wav amb_e19.*wav amb_e20.*wav amb_e21.*wav amb_e22.*wav amb_e23.*wav amb_e24.*wav amb_e25.*wav amb_e26.*wav amb_e28.*wav amb_e29.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest amb_e31.*wav amb_e32.*wav amb_e33.*wav amb_e34.*wav amb_e40.*wav amb_e43.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest amb_m.*wav amb_n.*wav amb_s.*wav amnso.*wav angel.*wav arden.*wav avalh.*wav bandt.*wav basil.*wav bassl.*wav edwin.*wav belan.*wav beltt.*wav bentl.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest minsc.*wav imoen.*wav black.*wav brage.*wav branw.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest brelk.*wav briel.*wav brunn.*wav bruns.*wav button1.wav cader.*wav caldo.*wav carrn10.wav cassn.*wav cast.*wav cattc.*wav centl.*wav chant.wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest chant0.*wav chant2.wav chap.*wav choke.wav chromor.wav cldel.*wav coran.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest crowd.wav culti.*wav dalto.*wav delai.*wav delor.*wav delsv.*wav drade.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest dream.*wav drizt.*wav droth.*wav dryaa.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest dunkn.*wav durly.*wav dynah.*wav eldot.*wav eltan.*wav emers.*wav entar.*wav error.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest explosio.wav faldn.*wav festh.*wav flamn.*wav galkn.*wav gandl.*wav gantl.*wav garrk.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest gatew.*wav gbasi.*wav gelln.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest glanm.*wav gnarl.*wav gondp.*wav gonds.*wav gore.wav gorin.*wav greyw.*wav guide.*wav gulp.wav gwere.*wav hairt.*wav helsh.*wav hungn.*wav husam.*wav irlen.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest intro01f.wav intro02f.wav intro03.wav introadd.wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest ithmr.*wav jaher.*wav jebad.*wav jhass.*wav kagan.*wav kaish.*wav karou.*wav keepr.*wav keldt.*wav kestr.*wav khald.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest kivan.*wav korax.*wav krumm01.wav krumm02.wav kryst.*wav liiaj.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest lothr.*wav magmiss.wav malkl.*wav marek.*wav marll.*wav menda.*wav messn.*wav misc.*wav miss1a.wav monks.*wav montr.*wav mulah.*wav nalin.*wav narln.*wav nikls.*wav nimbl.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest notrav.wav nthug.*wav oublk.*wav paper.wav perfo.*wav pnobl.*wav poisn.*wav prism.*wav ragef.*wav raikn.*wav rain.*wav ramaz.*wav readr.*wav redeg.*wav resar.*wav rielt.*wav sarev.*wav safan.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest scarr.*wav seniy.*wav shael.*wav shart.*wav shoal.*wav silen.*wav silke.*wav skiee.*wav slyth.*wav solia.*wav sonnr.*wav sorcr.*wav sparkle.wav surgn.*wav swi_.*wav taerm.*wav tamok.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest taslo.*wav taurg.*wav tazok.*wav tcsma.*wav telmn.*wav tenya.*wav teven.*wav textpop.wav thald.*wav thalt.*wav thunder.*wav tiaxx.*wav togre.*wav tolan.*wav trace.*wav tranz.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest tremn.*wav tscfb.*wav tscft.*wav tscmb.*wav tscmt.*wav tscna.*wav tuthh.*wav tutor.*wav ulran.*wav umber.*wav varci.*wav vicon.*wav vil.*wav voic.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest warri.*wav wiltn.*wav wind.wav wknig.*wav yeslk.*wav xannn.*wav xzarr.*wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest ikeee_04.wav~ ACTION_IF ("%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ = 0) BEGIN AT_NOW ~bgt\install\win32\delwav.bat %debug%~ EXACT END ELSE BEGIN AT_NOW ~sh bgt/install/unix/delwav.sh~ END ACTION_IF ( ~%LANGUAGE%~ STRING_COMPARE_CASE ~german~ ) BEGIN //all except German ACTION_IF ("%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ = 0) BEGIN AT_NOW ~bgt\install\win32\delwav2.bat %debug%~ EXACT END ELSE BEGIN AT_NOW ~sh bgt/install/unix/delwav2.sh~ END END LAM bash_log //rename some sounds MOVE + ~bgtwav/edwin01.wav~ ~bgtwav/bedwin01.wav~ ~bgtwav/edwin02.wav~ ~bgtwav/bedwin02.wav~ ~bgtwav/edwin03.wav~ ~bgtwav/bedwin03.wav~ ~bgtwav/edwin04.wav~ ~bgtwav/bedwin04.wav~ ~bgtwav/edwin05.wav~ ~bgtwav/bedwin05.wav~ ~bgtwav/edwin06.wav~ ~bgtwav/bedwin06.wav~ ~bgtwav/edwin07.wav~ ~bgtwav/bedwin07.wav~ ~bgtwav/edwin08.wav~ ~bgtwav/bedwin08.wav~ ~bgtwav/edwin09.wav~ ~bgtwav/bedwin09.wav~ ~bgtwav/edwin10.wav~ ~bgtwav/bedwin10.wav~ ~bgtwav/edwin11.wav~ ~bgtwav/bedwin11.wav~ ~bgtwav/edwin17.wav~ ~bgtwav/bedwin17.wav~ ~bgtwav/edwin18.wav~ ~bgtwav/bedwin18.wav~ ~bgtwav/edwin19.wav~ ~bgtwav/bedwin19.wav~ ~bgtwav/edwin20.wav~ ~bgtwav/bedwin20.wav~ ~bgtwav/edwin21.wav~ ~bgtwav/bedwin21.wav~ ~bgtwav/edwin22.wav~ ~bgtwav/bedwin22.wav~ ~bgtwav/edwin23.wav~ ~bgtwav/bedwin23.wav~ ~bgtwav/edwin24.wav~ ~bgtwav/bedwin24.wav~ ~bgtwav/edwin25.wav~ ~bgtwav/bedwin25.wav~ ~bgtwav/edwin26.wav~ ~bgtwav/bedwin26.wav~ ~bgtwav/edwin27.wav~ ~bgtwav/bedwin27.wav~ ~bgtwav/edwin28.wav~ ~bgtwav/bedwin28.wav~ ~bgtwav/edwin29.wav~ ~bgtwav/bedwin29.wav~ ~bgtwav/edwin30.wav~ ~bgtwav/bedwin30.wav~ ~bgtwav/edwin31.wav~ ~bgtwav/bedwin31.wav~ ~bgtwav/edwin32.wav~ ~bgtwav/bedwin32.wav~ ~bgtwav/edwin33.wav~ ~bgtwav/bedwin33.wav~ ~bgtwav/edwin34.wav~ ~bgtwav/bedwin34.wav~ ~bgtwav/edwin35.wav~ ~bgtwav/bedwin35.wav~ ~bgtwav/edwin36.wav~ ~bgtwav/bedwin36.wav~ ~bgtwav/edwin37.wav~ ~bgtwav/bedwin37.wav~ ~bgtwav/edwin38.wav~ ~bgtwav/bedwin38.wav~ ~bgtwav/edwin39.wav~ ~bgtwav/bedwin39.wav~ ~bgtwav/edwin40.wav~ ~bgtwav/bedwin40.wav~ ~bgtwav/edwin41.wav~ ~bgtwav/bedwin41.wav~ ~bgtwav/edwin42.wav~ ~bgtwav/bedwin42.wav~ ~bgtwav/edwin43.wav~ ~bgtwav/bedwin43.wav~ ~bgtwav/edwin45.wav~ ~bgtwav/bedwin45.wav~ ~bgtwav/edwin46.wav~ ~bgtwav/bedwin46.wav~ ~bgtwav/edwin47.wav~ ~bgtwav/bedwin47.wav~ ~bgtwav/edwin48.wav~ ~bgtwav/bedwin48.wav~ MOVE + ~bgtwav/minsc01.wav~ ~bgtwav/bgmnsc01.wav~ ~bgtwav/minsc02.wav~ ~bgtwav/bgmnsc02.wav~ ~bgtwav/minsc03.wav~ ~bgtwav/bgmnsc03.wav~ ~bgtwav/minsc04.wav~ ~bgtwav/bgmnsc04.wav~ ~bgtwav/minsc05.wav~ ~bgtwav/bgmnsc05.wav~ ~bgtwav/minsc06.wav~ ~bgtwav/bgmnsc06.wav~ ~bgtwav/minsc07.wav~ ~bgtwav/bgmnsc07.wav~ ~bgtwav/minsc08.wav~ ~bgtwav/bgmnsc08.wav~ ~bgtwav/minsc09.wav~ ~bgtwav/bgmnsc09.wav~ ~bgtwav/minsc10.wav~ ~bgtwav/bgmnsc10.wav~ ~bgtwav/minsc11.wav~ ~bgtwav/bgmnsc11.wav~ ~bgtwav/minsc12.wav~ ~bgtwav/bgmnsc12.wav~ ~bgtwav/minsc14.wav~ ~bgtwav/bgmnsc14.wav~ ~bgtwav/minsc16.wav~ ~bgtwav/bgmnsc16.wav~ ~bgtwav/minsc17.wav~ ~bgtwav/bgmnsc17.wav~ ~bgtwav/minsc18.wav~ ~bgtwav/bgmnsc18.wav~ ~bgtwav/minsc19.wav~ ~bgtwav/bgmnsc19.wav~ ~bgtwav/minsc20.wav~ ~bgtwav/bgmnsc20.wav~ ~bgtwav/minsc21.wav~ ~bgtwav/bgmnsc21.wav~ ~bgtwav/minsc22.wav~ ~bgtwav/bgmnsc22.wav~ ~bgtwav/minsc23.wav~ ~bgtwav/bgmnsc23.wav~ ~bgtwav/minsc24.wav~ ~bgtwav/bgmnsc24.wav~ ~bgtwav/minsc25.wav~ ~bgtwav/bgmnsc25.wav~ ~bgtwav/minsc26.wav~ ~bgtwav/bgmnsc26.wav~ ~bgtwav/minsc27.wav~ ~bgtwav/bgmnsc27.wav~ ~bgtwav/minsc28.wav~ ~bgtwav/bgmnsc28.wav~ ~bgtwav/minsc29.wav~ ~bgtwav/bgmnsc29.wav~ ~bgtwav/minsc30.wav~ ~bgtwav/bgmnsc30.wav~ ~bgtwav/minsc31.wav~ ~bgtwav/bgmnsc31.wav~ ~bgtwav/minsc32.wav~ ~bgtwav/bgmnsc32.wav~ ~bgtwav/minsc33.wav~ ~bgtwav/bgmnsc33.wav~ ~bgtwav/minsc34.wav~ ~bgtwav/bgmnsc34.wav~ ~bgtwav/minsc35.wav~ ~bgtwav/bgmnsc35.wav~ ~bgtwav/minsc36.wav~ ~bgtwav/bgmnsc36.wav~ ~bgtwav/minsc37.wav~ ~bgtwav/bgmnsc37.wav~ ~bgtwav/minsc38.wav~ ~bgtwav/bgmnsc38.wav~ ~bgtwav/minsc39.wav~ ~bgtwav/bgmnsc39.wav~ ~bgtwav/minsc40.wav~ ~bgtwav/bgmnsc40.wav~ ~bgtwav/minsc41.wav~ ~bgtwav/bgmnsc41.wav~ MOVE + ~bgtwav/imoen01.wav~ ~bgtwav/bimoen01.wav~ ~bgtwav/imoen02.wav~ ~bgtwav/bimoen02.wav~ ~bgtwav/imoen03.wav~ ~bgtwav/bimoen03.wav~ ~bgtwav/imoen04.wav~ ~bgtwav/bimoen04.wav~ ~bgtwav/imoen05.wav~ ~bgtwav/bimoen05.wav~ ~bgtwav/imoen06.wav~ ~bgtwav/bimoen06.wav~ ~bgtwav/imoen07.wav~ ~bgtwav/bimoen07.wav~ ~bgtwav/imoen08.wav~ ~bgtwav/bimoen08.wav~ ~bgtwav/imoen09.wav~ ~bgtwav/bimoen09.wav~ ~bgtwav/imoen10.wav~ ~bgtwav/bimoen10.wav~ ~bgtwav/imoen11.wav~ ~bgtwav/bimoen11.wav~ ~bgtwav/imoen12.wav~ ~bgtwav/bimoen12.wav~ ~bgtwav/imoen13.wav~ ~bgtwav/bimoen13.wav~ ~bgtwav/imoen14.wav~ ~bgtwav/bimoen14.wav~ ~bgtwav/imoen15.wav~ ~bgtwav/bimoen15.wav~ ~bgtwav/imoen16.wav~ ~bgtwav/bimoen16.wav~ ~bgtwav/imoen17.wav~ ~bgtwav/bimoen17.wav~ ~bgtwav/imoen18.wav~ ~bgtwav/bimoen18.wav~ ~bgtwav/imoen19.wav~ ~bgtwav/bimoen19.wav~ ~bgtwav/imoen20.wav~ ~bgtwav/bimoen20.wav~ ~bgtwav/imoen21.wav~ ~bgtwav/bimoen21.wav~ ~bgtwav/imoen22.wav~ ~bgtwav/bimoen22.wav~ ~bgtwav/imoen23.wav~ ~bgtwav/bimoen23.wav~ ~bgtwav/imoen24.wav~ ~bgtwav/bimoen24.wav~ ~bgtwav/imoen25.wav~ ~bgtwav/bimoen25.wav~ ~bgtwav/imoen26.wav~ ~bgtwav/bimoen26.wav~ ~bgtwav/imoen27.wav~ ~bgtwav/bimoen27.wav~ ~bgtwav/imoen28.wav~ ~bgtwav/bimoen28.wav~ ~bgtwav/imoen30.wav~ ~bgtwav/bimoen30.wav~ MOVE + ~bgtwav/black01.wav~ ~bgtwav/blackl01.wav~ ~bgtwav/black02.wav~ ~bgtwav/blackl02.wav~ ~bgtwav/black03.wav~ ~bgtwav/blackl03.wav~ ~bgtwav/black04.wav~ ~bgtwav/blackl04.wav~ MOVE + ~bgtwav/umber01.wav~ ~bgtwav/pumber01.wav~ ~bgtwav/umber02.wav~ ~bgtwav/pumber02.wav~ ~bgtwav/umber05.wav~ ~bgtwav/pumber05.wav~ ~bgtwav/umber06.wav~ ~bgtwav/pumber06.wav~ ACTION_IF ( ~%LANGUAGE%~ STRING_COMPARE_CASE ~french~ ) = 0 THEN BEGIN AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest intro01.wav intro02.wav~ LAM bash_log COPY + ~bgt/language/french/montr19.wav~ ~bgtwav/montr19.wav~ ~bgt/language/french/tscna01.wav~ ~bgtwav/tscna01.wav~ ~bgt/language/french/tscna02.wav~ ~bgtwav/tscna02.wav~ END ACTION_IF ( ~%LANGUAGE%~ STRING_COMPARE_CASE ~german~ ) = 0 THEN BEGIN AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest guarr.*wav chant.*wav oghma03.wav oghma04.wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest intro01.wav intro02.wav~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bgtwav --biff-get-rest gnome.*wav gnomf.*wav wench.*wav~ LAM bash_log COPY + ~bgt/language/german/montr19.wav~ ~bgtwav/montr19.wav~ ~bgt/language/german/tscna02.wav~ ~bgtwav/tscna02.wav~ ACTION_BASH_FOR ~%bg1_dir%/override~ EVALUATE_REGEXP ~^\(tscna0.*\|error.*\)\.wav$~ BEGIN //this should work COPY + ~%BASH_FOR_FILESPEC%~ ~bgtwav~ END END /////////////////////////////////////////////////////// // Movies /////////////////////////////////////////////////////// PRINT ~~ PRINT @100036 COPY_EXISTING ~intro15f.2da~ ~override/soaintro.2da~ MKDIR ~bg1movie~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --out bg1movie --biff-get-rest intro15f.mve~ LAM bash_log MOVE + ~bg1movie/intro15f.mve~ ~bg1movie/soaintro.mve~ COPY + ~bgt/title.tr~ ~bg1movie/intro15f.mve~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bg1movie --biff-get-rest beregost.mve bgenter.mve bgsunris.mve bgsunset.mve bhaal.mve camp.mve cndlkeep.mve dungeon.mve durlag.mve eldrcity.mve endcrdit.mve~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bg1movie --biff-get-rest endmovie.mve frarminn.mve gnoll.mve intro.mve ironthrn.mve mineflod.mve nashkell.mve palace.mve sewer.mve wreck.mve wyvern.mve~ LAM bash_log MOVE + ~bg1movie/endcrdit.mve~ ~bg1movie/bgencrdt.mve~ MOVE + ~bg1movie/intro.mve~ ~bg1movie/bgintro.mve~ /////////////////////////////////////////////////////// // Tilesets /////////////////////////////////////////////////////// PRINT ~~ PRINT @100037 MKDIR ~area0015~ ~area3100~ ~area3200~ ~area3300~ ~area3400~ ~area3500~ ~area3600~ ~area3700~ ~area3800~ ~area3900~ ~area4100~ ~area4200~ ~area4300~ ~area4400~ ~area4600~ ~area4700~ ~area4800~ ~area4900~ ~area5100~ ~area5300~ ~area5400~ ~area6500~ ~area6600~ ~area6700~ ~area670a~ ~area6800~ ~area6900~ ~area7000~ ~area7100~ ~area7200~ ~area720a~ ~area720b~ ~area7300~ ~area7400~ ~area7500~ ~area7600~ ~area7700~ ~area7800~ ~area7900~ ~area8000~ ~area8100~ ~area8200~ ~area8300~ ~area8400~ ~area8500~ ~area8600~ ~area8700~ ~area8800~ ~area8900~ ~area9000~ ~area9100~ ~area9200~ ~area9300~ ~area9400~ ~area9500~ ~area9600~ ~area9700~ ~area9800~ ~area9900~ ~areaa000~ ~areaa100~ ~aread000~ ~areau000~ ~areaw000~ ~areaw500~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area0015 --biff-get-rest ar2600.*bmp ar2600.mos ar2600.wed ar2600.tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area3100 --biff-get-rest ar42.*bmp ar42.*mos ar42.*wed ar42.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area3200 --biff-get-rest ar43.*bmp ar43.*mos ar43.*wed ar43.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area3300 --biff-get-rest ar44.*bmp ar44.*mos ar44.*wed ar44.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area3400 --biff-get-rest ar4500.*bmp ar4500.*mos ar4500.*wed ar4500.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area3500 --biff-get-rest ar46.*bmp ar46.*mos ar46.*wed ar46.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area3600 --biff-get-rest ar47.*bmp ar47.*mos ar47.*wed ar47.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area3700 --biff-get-rest ar48.*bmp ar48.*mos ar48.*wed ar48.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area3800 --biff-get-rest ar49.*bmp ar49.*mos ar49.*wed ar49.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area3900 --biff-get-rest ar50.*bmp ar50.*mos ar50.*wed ar50.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area4100 --biff-get-rest ar51.*bmp ar51.*mos ar51.*wed ar51.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area4200 --biff-get-rest ar52.*bmp ar52.*mos ar52.*wed ar52.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area4300 --biff-get-rest ar53.*bmp ar53.*mos ar53.*wed ar53.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area4400 --biff-get-rest ar54.*bmp ar54.*mos ar54.*wed ar54.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area4600 --biff-get-rest ar55.*bmp ar55.*mos ar55.*wed ar55.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area4700 --biff-get-rest ar56.*bmp ar56.*mos ar56.*wed ar56.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area4800 --biff-get-rest ar57.*bmp ar57.*mos ar57.*wed ar57.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area4900 --biff-get-rest ar58.*bmp ar58.*mos ar58.*wed ar58.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area5100 --biff-get-rest ar59.*bmp ar59.*mos ar59.*wed ar59.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area5300 --biff-get-rest ar60.*bmp ar60.*mos ar60.*wed ar60.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area5400 --biff-get-rest ar61.*bmp ar61.*mos ar61.*wed ar61.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area6500 --biff-get-rest ar26.*bmp ar26.*mos ar26.*wed ar26.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area6600 --biff-get-rest ar27.*bmp ar27.*mos ar27.*wed ar27.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area6700 --biff-get-rest ar330.*bmp ar330.*mos ar331.*bmp ar331.*mos ar332.*bmp ar332.*mos~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area6700 --biff-get-rest ar330.*wed ar331.*wed ar332.*wed~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area6700 --biff-get-rest ar330.*tis ar331.*tis ar332.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area670a --biff-get-rest ar333.*bmp ar333.*mos ar334.*bmp ar334.*mos ar335.*bmp ar335.*mos~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area670a --biff-get-rest ar333.*wed ar334.*wed ar335.*wed~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area670a --biff-get-rest ar333.*tis ar334.*tis ar335.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area6800 --biff-get-rest ar23.*bmp ar23.*mos ar23.*wed ar23.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area6900 --biff-get-rest ar28.*bmp ar28.*mos ar28.*wed ar28.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7000 --biff-get-rest ar22.*bmp ar22.*mos ar22.*wed ar22.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7100 --biff-get-rest ar32.*bmp ar32.*mos ar32.*wed ar32.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7200 --biff-get-rest ar010.*bmp ar010.*mos ar011.*bmp ar011.*mos ar012.*bmp ar012.*mos ar0130.*bmp ar0130.mos~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7200 --biff-get-rest ar010.*wed ar011.*wed ar012.*wed ar0130.wed~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7200 --biff-get-rest ar010.*tis ar011.*tis ar012.*tis ar0130.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area720a --biff-get-rest ar0131.*bmp ar0131.mos ar0132.*bmp ar0132.mos ar0133.*bmp ar0133.mos ar0134.*bmp ar0134.mos ar0135.*bmp ar0135.mos ar0136.*bmp ar0136.mos ar0137.*bmp ar0137.mos ar0138.*bmp ar0138.mos ar0139.*bmp ar0139.mos ar014.*bmp ar014.*mos ar0150.*bmp ar0150.mos~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area720a --biff-get-rest ar0131.wed ar0132.wed ar0133.wed ar0134.wed ar0135.wed ar0136.wed ar0137.wed ar0138.wed ar0139.wed ar014.*wed ar0150.wed~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area720a --biff-get-rest ar0131.tis ar0132.tis ar0133.tis ar0134.tis ar0135.tis ar0136.tis ar0137.tis ar0138.tis ar0139.tis ar014.*tis ar0150.tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area720b --biff-get-rest ar0151.*bmp ar0151.mos ar0152.*bmp ar0152.mos ar0153.*bmp ar0153.mos ar0155.*bmp ar0155.mos ar0156.*bmp ar0156.mos ar016.*bmp ar016.*mos ar017.*bmp ar017.*mos~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area720b --biff-get-rest ar0151.wed ar0152.wed ar0153.wed ar0155.wed ar0156.wed ar016.*wed ar017.*wed~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area720b --biff-get-rest ar0151.tis ar0152.tis ar0153.tis ar0155.tis ar0156.tis ar016.*tis ar017.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7300 --biff-get-rest ar02.*bmp ar02.*mos ar02.*wed ar02.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7400 --biff-get-rest ar03.*bmp ar03.*mos ar03.*wed ar03.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7500 --biff-get-rest ar04.*bmp ar04.*mos ar04.*wed ar04.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7600 --biff-get-rest ar06.*bmp ar06.*mos ar06.*wed ar06.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7700 --biff-get-rest ar07.*bmp ar07.*mos ar07.*wed ar07.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7800 --biff-get-rest ar08.*bmp ar08.*mos ar08.*wed ar08.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area7900 --biff-get-rest ar09.*bmp ar09.*mos ar09.*wed ar09.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8000 --biff-get-rest ar11.*bmp ar11.*mos ar11.*wed ar11.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8100 --biff-get-rest ar12.*bmp ar12.*mos ar12.*wed ar12.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8200 --biff-get-rest ar13.*bmp ar13.*mos ar13.*wed ar13.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8300 --biff-get-rest ar14.*bmp ar14.*mos ar14.*wed ar14.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8400 --biff-get-rest ar16.*bmp ar16.*mos ar16.*wed ar16.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8500 --biff-get-rest ar17.*bmp ar17.*mos ar17.*wed ar17.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8500 --biff-get-rest ar4501.*bmp ar4501.*mos ar4501.*wed ar4501.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8600 --biff-get-rest ar18.*bmp ar18.*mos ar18.*wed ar18.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8700 --biff-get-rest ar19.*bmp ar19.*mos ar19.*wed ar19.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8800 --biff-get-rest ar21.*bmp ar21.*mos ar21.*wed ar21.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area8900 --biff-get-rest ar24.*bmp ar24.*mos ar24.*wed ar24.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9000 --biff-get-rest ar29.*bmp ar29.*mos ar29.*wed ar29.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9100 --biff-get-rest ar30.*bmp ar30.*mos ar30.*wed ar30.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9200 --biff-get-rest ar31.*bmp ar31.*mos ar31.*wed ar31.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9300 --biff-get-rest ar34.*bmp ar34.*mos ar34.*wed ar34.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9400 --biff-get-rest ar35.*bmp ar35.*mos ar35.*wed ar35.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9500 --biff-get-rest ar36.*bmp ar36.*mos ar36.*wed ar36.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9600 --biff-get-rest ar37.*bmp ar37.*mos ar37.*wed ar37.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9700 --biff-get-rest ar38.*bmp ar38.*mos ar38.*wed ar38.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9800 --biff-get-rest ar39.*bmp ar39.*mos ar39.*wed ar39.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out area9900 --biff-get-rest ar40.*bmp ar40.*mos ar40.*wed ar40.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out areaa000 --biff-get-rest ar00.*bmp ar00.*mos ar00.*wed ar00.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out areaa100 --biff-get-rest ar41.*bmp ar41.*mos ar41.*wed ar41.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out aread000 --biff-get-rest ar05.*bmp ar05.*mos ar05.*wed ar05.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out areau000 --biff-get-rest ar100.*bmp ar100.*mos ar100.*wed ar100.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out areaw000 --biff-get-rest ar20.*bmp ar20.*mos ar20.*wed ar20.*tis~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out areaw500 --biff-get-rest ar15.*bmp ar15.*mos ar15.*wed ar15.*tis~ LAM bash_log //For those versions with a fixed search region of AR0900 in the override directory COPY + ~%bg1_dir%/override/ar0900sr.bmp~ ~area7900/ar0900sr.bmp~ MOVE + ~area4200/ar5201ht.bmp~ ~area3400/ar4501ht.bmp~ ~area4200/ar5201lm.bmp~ ~area3400/ar4501lm.bmp~ ~area4200/ar5201sr.bmp~ ~area3400/ar4501sr.bmp~ ~area4200/ar5201.mos~ ~area3400/ar4501.mos~ ~area4200/ar5201.wed~ ~area3400/ar4501.wed~ ~area4200/ar5201.tis~ ~area3400/ar4501.tis~ MOVE + ~area4600/ar5506ht.bmp~ ~area6500/ar2660ht.bmp~ ~area4600/ar5506lm.bmp~ ~area6500/ar2660lm.bmp~ ~area4600/ar5506sr.bmp~ ~area6500/ar2660sr.bmp~ ~area4600/ar5506.mos~ ~area6500/ar2660.mos~ ~area4600/ar5506.wed~ ~area6500/ar2660.wed~ ~area4600/ar5506.tis~ ~area6500/ar2660.tis~ ACTION_IF ("%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ = 0) BEGIN AT_NOW ~bgt\install\win32\deltis.bat %debug%~ EXACT END ELSE BEGIN AT_NOW ~sh bgt/install/unix/deltis.sh~ END LAM bash_log /////////////////////////////////////////////////////// // Tilesets: Conversion /////////////////////////////////////////////////////// PRINT ~~ PRINT @100038 ACTION_IF ("%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ = 0) BEGIN COPY + ~bgt/install/win32/tis2bg2.exe~ ~tis2bg2.exe~ AT_NOW ~bgt\install\win32\tis2bg2.bat %debug%~ EXACT AT_NOW ~del tis2bg2.exe~ END ELSE BEGIN AT_NOW ~sh bgt/install/unix/tis2bg2.sh~ // | tee -a bgt/bash.debug END //bash_log has to be done in a slightly different way here: ACTION_IF FILE_EXISTS ~bgt/bash.debug~ BEGIN //modified bash_log macro COPY + ~bgt/bash.debug~ ~bgt/bash.debug~ REPLACE_TEXTUALLY CASE_SENSITIVE EXACT_MATCH ~%WNL%~ ~%LNL%~ //\r breaks the following... REPLACE_TEXTUALLY CASE_SENSITIVE EXACT_MATCH ~%MNL%~ ~%LNL%~ //\r breaks the following... REPLACE_TEXTUALLY CASE_INSENSITIVE EVALUATE_REGEXP ~^ *Tiles processed:[0-9 ]+of[0-9 ]+[\%LNL%\%WNL% ]+^~ ~~ //removes thousands of "processing tile ..." ln = BUFFER_LENGTH READ_ASCII 0 log (ln) DELETE_BYTES 0 ln LOG ~%log%~ END MOVE + ~aread000/ar0506ac.tis~ ~aread000/ard006ac.tis~ ~aread000/ar0506ao.tis~ ~aread000/ard006a0.tis~ ACTION_IF ("%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ = 0) BEGIN AT_NOW ~bgt\install\win32\deltis2.bat %debug%~ EXACT END ELSE BEGIN AT_NOW ~sh bgt/install/unix/deltis2.sh~ END LAM bash_log //import mos fix from BG1 COPY + ~%bg1_dir%/override/ar5406.mos~ ~area4400/ar4406.mos~ /* These files now directly biffed //Tileset fix COPY + ~bgt/tilesets/ar3709.tis~ ~area3700/ar3709.tis~ //Transparent Door Fix COPY + ~bgt/tilesets/bmp/ard014sr.bmp~ ~aread000/ard014sr.bmp~ COPY + ~bgt/tilesets/mos/ar3101.mos~ ~area3100/ar3101.mos~ ~bgt/tilesets/mos/ar6531.mos~ ~area6500/ar6531.mos~ ~bgt/tilesets/mos/ar7200n.mos~ ~area7200/ar7200n.mos~ ~bgt/tilesets/mos/ar7248.mos~ ~area7200/ar7248.mos~ ~bgt/tilesets/mos/ar7300n.mos~ ~area7300/ar7300n.mos~ ~bgt/tilesets/mos/ar7400n.mos~ ~area7400/ar7400n.mos~ ~bgt/tilesets/mos/ar7600.mos~ ~area7600/ar7600.mos~ ~bgt/tilesets/mos/ar7600n.mos~ ~area7600/ar7600n.mos~ ~bgt/tilesets/mos/ar7700n.mos~ ~area7700/ar7700n.mos~ ~bgt/tilesets/mos/ar7800.mos~ ~area7800/ar7800.mos~ ~bgt/tilesets/mos/ar7800n.mos~ ~area7800/ar7800n.mos~ ~bgt/tilesets/mos/ar8000n.mos~ ~area8000/ar8000n.mos~ ~bgt/tilesets/mos/ar8100n.mos~ ~area8100/ar8100n.mos~ ~bgt/tilesets/mos/ar8200n.mos~ ~area8200/ar8200n.mos~ ~bgt/tilesets/mos/ar8608.mos~ ~area8600/ar8608.mos~ ~bgt/tilesets/wed/ar9906.wed~ ~area9900/ar9906.wed~ */ /////////////////////////////////////////////////////// // Tilesets: New /////////////////////////////////////////////////////// PRINT ~~ PRINT @100039 COPY ~bgt/tilesets/flame01.tis~ ~override/flame01.tis~ ~bgt/tilesets/flame02.tis~ ~override/flame02.tis~ ~bgt/tilesets/flame03.tis~ ~override/flame03.tis~ ~bgt/tilesets/flame04.tis~ ~override/flame04.tis~ ~bgt/tilesets/wtlava2.tis~ ~override/wtlava2.tis~ MKDIR ~areaam00~ COPY + ~bgt/tilesets/areaam00~ ~areaam00~ AT_NOW ~%tisunpack% -h -s -o areaam00%slash%aram00.tis bgt%slash%tilesets%slash%aram00.tiz %debug%~ EXACT LAM bash_log /////////////////////////////////////////////////////// // Miscellaneous Graphics: Import from BG1 /////////////////////////////////////////////////////// MKDIR ~bg1misc~ AT_NOW ~%mosunpack% -s -f -o bg1misc%slash%bpbgtmap.mos bgt%slash%base%slash%moz%slash%bpbgtmap.moz %debug%~ EXACT AT_NOW ~%mosunpack% -s -f -o bg1misc%slash%drmtxt-2.mos bgt%slash%base%slash%moz%slash%drmtxt-2.moz %debug%~ EXACT AT_NOW ~%mosunpack% -s -f -o bg1misc%slash%drmtxt-3.mos bgt%slash%base%slash%moz%slash%drmtxt-3.moz %debug%~ EXACT AT_NOW ~%mosunpack% -s -f -o bg1misc%slash%drmtxt-4.mos bgt%slash%base%slash%moz%slash%drmtxt-4.moz %debug%~ EXACT AT_NOW ~%mosunpack% -s -f -o bg1misc%slash%drmtxt-5.mos bgt%slash%base%slash%moz%slash%drmtxt-5.moz %debug%~ EXACT AT_NOW ~%mosunpack% -s -f -o bg1misc%slash%drmtxt-6.mos bgt%slash%base%slash%moz%slash%drmtxt-6.moz %debug%~ EXACT AT_NOW ~%mosunpack% -s -f -o bg1misc%slash%drmtxt-7.mos bgt%slash%base%slash%moz%slash%drmtxt-7.moz %debug%~ EXACT AT_NOW ~%mosunpack% -s -f -o bg1misc%slash%guichp0b.mos bgt%slash%base%slash%moz%slash%guichp0b.moz %debug%~ EXACT //Import tasloi and basilisk animations AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bg1misc --biff-get-rest mbasg.*~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bg1misc --biff-get-rest mtasg.*~ //Import item graphics AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bg1misc --biff-get-rest cmisc1b.bam cmisc1g.bam cmisc1h.bam cmisc1i.bam~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bg1misc --biff-get-rest cmisc2a.bam cmisc2b.bam cmisc2c.bam cmisc2f.bam cmisc2g.bam cmisc2h.bam cmisc2i.bam cmisc2k.bam cmisc2l.bam cmisc2m.bam cmisc2n.bam cmisc2p.bam~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bg1misc --biff-get-rest cmisc91.bam cmisc92.bam cmisc94.bam cmisc95.bam cmisc98.bam~ AT_NOW ~%quote%%WEIDU_EXECUTABLE%%quote% --noautoupdate --no-auto-tp2 --logapp --log bgt/bash.debug --game "%bg1_dir%" --out bg1misc --biff-get-rest cplat08.bam isw1h06.bam isw1h18.bam isw2h07.bam~ LAM bash_log MOVE + ~bg1misc/isw2h07.bam~ ~bg1misc/bgisw2h7.bam~ ~bg1misc/isw1h18.bam~ ~bg1misc/isw1hbal.bam~ /////////////////////////////////////////////////////// // Biffing: Areas /////////////////////////////////////////////////////// PRINT ~~ PRINT @100040 MAKE_BIFF ~area0015~ BEGIN ~area0015~ ~^.*$~ END MAKE_BIFF ~area3100~ BEGIN ~area3100~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar3101.mos~ END MAKE_BIFF ~area3200~ BEGIN ~area3200~ ~^.*$~ END MAKE_BIFF ~area3300~ BEGIN ~area3300~ ~^.*$~ END MAKE_BIFF ~area3400~ BEGIN ~area3400~ ~^.*$~ END MAKE_BIFF ~area3500~ BEGIN ~area3500~ ~^.*$~ END MAKE_BIFF ~area3600~ BEGIN ~area3600~ ~^.*$~ END MAKE_BIFF ~area3700~ BEGIN ~area3700~ ~^.*$~ ~bgt/tilesets~ EXACT_MATCH ~ar3709.tis~ END MAKE_BIFF ~area3800~ BEGIN ~area3800~ ~^.*$~ END MAKE_BIFF ~area3900~ BEGIN ~area3900~ ~^.*$~ END MAKE_BIFF ~area4100~ BEGIN ~area4100~ ~^.*$~ END MAKE_BIFF ~area4200~ BEGIN ~area4200~ ~^.*$~ END MAKE_BIFF ~area4300~ BEGIN ~area4300~ ~^.*$~ END MAKE_BIFF ~area4400~ BEGIN ~area4400~ ~^.*$~ END MAKE_BIFF ~area4600~ BEGIN ~area4600~ ~^.*$~ END MAKE_BIFF ~area4700~ BEGIN ~area4700~ ~^.*$~ END MAKE_BIFF ~area4800~ BEGIN ~area4800~ ~^.*$~ END MAKE_BIFF ~area4900~ BEGIN ~area4900~ ~^.*$~ END MAKE_BIFF ~area5100~ BEGIN ~area5100~ ~^.*$~ END MAKE_BIFF ~area5300~ BEGIN ~area5300~ ~^.*$~ END MAKE_BIFF ~area5400~ BEGIN ~area5400~ ~^.*$~ END MAKE_BIFF ~area6500~ BEGIN ~area6500~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar6531.mos~END MAKE_BIFF ~area6600~ BEGIN ~area6600~ ~^.*$~ END MAKE_BIFF ~area6700~ BEGIN ~area6700~ ~^.*$~ END MAKE_BIFF ~area670a~ BEGIN ~area670a~ ~^.*$~ END MAKE_BIFF ~area6800~ BEGIN ~area6800~ ~^.*$~ END MAKE_BIFF ~area6900~ BEGIN ~area6900~ ~^.*$~ END MAKE_BIFF ~area7000~ BEGIN ~area7000~ ~^.*$~ END MAKE_BIFF ~area7100~ BEGIN ~area7100~ ~^.*$~ END MAKE_BIFF ~area7200~ BEGIN ~area7200~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar7200n.mos~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar7248.mos~ END MAKE_BIFF ~area720a~ BEGIN ~area720a~ ~^.*$~ END MAKE_BIFF ~area720b~ BEGIN ~area720b~ ~^.*$~ END MAKE_BIFF ~area7300~ BEGIN ~area7300~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar7300n.mos~ END MAKE_BIFF ~area7400~ BEGIN ~area7400~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar7400n.mos~ END MAKE_BIFF ~area7500~ BEGIN ~area7500~ ~^.*$~ END MAKE_BIFF ~area7600~ BEGIN ~area7600~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar7600.mos~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar7600n.mos~ END MAKE_BIFF ~area7700~ BEGIN ~area7700~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar7700n.mos~ END MAKE_BIFF ~area7800~ BEGIN ~area7800~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar7800.mos~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar7800n.mos~ END MAKE_BIFF ~area7900~ BEGIN ~area7900~ ~^.*$~ END MAKE_BIFF ~area8000~ BEGIN ~area8000~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar8000n.mos~ END MAKE_BIFF ~area8100~ BEGIN ~area8100~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar8100n.mos~ END MAKE_BIFF ~area8200~ BEGIN ~area8200~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar8200n.mos~ END MAKE_BIFF ~area8300~ BEGIN ~area8300~ ~^.*$~ END MAKE_BIFF ~area8400~ BEGIN ~area8400~ ~^.*$~ END MAKE_BIFF ~area8500~ BEGIN ~area8500~ ~^.*$~ END MAKE_BIFF ~area8600~ BEGIN ~area8600~ ~^.*$~ ~bgt/tilesets/mos~ EXACT_MATCH ~ar8608.mos~ END MAKE_BIFF ~area8700~ BEGIN ~area8700~ ~^.*$~ END MAKE_BIFF ~area8800~ BEGIN ~area8800~ ~^.*$~ END MAKE_BIFF ~area8900~ BEGIN ~area8900~ ~^.*$~ END MAKE_BIFF ~area9000~ BEGIN ~area9000~ ~^.*$~ END MAKE_BIFF ~area9100~ BEGIN ~area9100~ ~^.*$~ END MAKE_BIFF ~area9200~ BEGIN ~area9200~ ~^.*$~ END MAKE_BIFF ~area9300~ BEGIN ~area9300~ ~^.*$~ END MAKE_BIFF ~area9400~ BEGIN ~area9400~ ~^.*$~ END MAKE_BIFF ~area9500~ BEGIN ~area9500~ ~^.*$~ END MAKE_BIFF ~area9600~ BEGIN ~area9600~ ~^.*$~ END MAKE_BIFF ~area9700~ BEGIN ~area9700~ ~^.*$~ END MAKE_BIFF ~area9800~ BEGIN ~area9800~ ~^.*$~ END MAKE_BIFF ~area9900~ BEGIN ~area9900~ ~^.*$~ ~bgt/tilesets/wed~ EXACT_MATCH ~ar9906.wed~ END MAKE_BIFF ~areaa000~ BEGIN ~areaa000~ ~^.*$~ END MAKE_BIFF ~areaa100~ BEGIN ~areaa100~ ~^.*$~ END MAKE_BIFF ~aread000~ BEGIN ~aread000~ ~^.*$~ ~bgt/tilesets/bmp~ EXACT_MATCH ~ard014sr.bmp~ END MAKE_BIFF ~areau000~ BEGIN ~areau000~ ~^.*$~ END MAKE_BIFF ~areaw000~ BEGIN ~areaw000~ ~^.*$~ END MAKE_BIFF ~areaw500~ BEGIN ~areaw500~ ~^.*$~ END MAKE_BIFF ~areaam00~ BEGIN ~areaam00~ ~^.*$~ END /////////////////////////////////////////////////////// // Biffing: Other Files /////////////////////////////////////////////////////// PRINT ~~ PRINT @100041 MAKE_BIFF ~bgtwav~ BEGIN ~bgtwav~ ~^.*$~ END MAKE_BIFF ~bg1movie~ BEGIN ~bg1movie~ ~^.*$~ END ACTION_IF biff THEN BEGIN MKDIR ~bg1are~ ~bg1bcs~ ~bgtcre~ ~bg1dlg~ ~bg1itm~ ~bg1spl~ ~bg1sto~ INCLUDE ~bgt/include/biff_move.tpa~ MAKE_BIFF ~bg1are~ BEGIN ~bg1are~ ~^.*$~ END MAKE_BIFF ~bg1bcs~ BEGIN ~bg1bcs~ ~^.*$~ END MAKE_BIFF ~bgtcre~ BEGIN ~bgtcre~ ~^.*$~ END MAKE_BIFF ~bg1dlg~ BEGIN ~bg1dlg~ ~^.*$~ END MAKE_BIFF ~bg1itm~ BEGIN ~bg1itm~ ~^.*$~ END MAKE_BIFF ~bg1spl~ BEGIN ~bg1spl~ ~^.*$~ END MAKE_BIFF ~bg1sto~ BEGIN ~bg1sto~ ~^.*$~ END MAKE_BIFF ~bg1misc~ BEGIN ~bg1misc~ ~^.*$~ END END ELSE BEGIN //tiny bg1are.bif for backwards cross-compatibility with mega-mods MKDIR ~bg1are~ MOVE + ~override/ar0015.are~ ~bg1are/ar0015.are~ MAKE_BIFF ~bg1are~ BEGIN ~bg1are~ ~^.*$~ END COPY ~bg1misc~ ~override~ //mos and bam files END //////////////////////////////////////////////////////////// // Final //////////////////////////////////////////////////////////// //Clean up directories at the end of the installation ACTION_IF ("%WEIDU_OS%" STRING_COMPARE_CASE ~win32~ = 0) BEGIN AT_NOW ~bgt\install\win32\delend.bat %debug%~ EXACT END ELSE BEGIN AT_NOW ~sh bgt/install/unix/delend.sh~ END LAM bash_log ACTION_IF (~%argv[0]%~ STRING_CONTAINS_REGEXP ~[Ss]~) THEN BEGIN ACTION_IF FILE_EXISTS ~bgt/help/[%LANGUAGE%]postinstall.htm~ BEGIN AT_INTERACTIVE_EXIT ~VIEW bgt/help/[%LANGUAGE%]postinstall.htm~ END ELSE BEGIN AT_INTERACTIVE_EXIT ~VIEW bgt/help/[english]postinstall.htm~ END END