///////////////////////// ///////////////////////// // Unfinished Business // ///////////////////////// ///////////////////////// BACKUP ~ub/backup~ // AUTHOR ~Icelus, Andyr, Cliffette, and Barren~ AUTHOR ~andyr@gibberlings3.net~ ASK_EVERY_COMPONENT ALLOW_MISSING ~AR0021.bcs~ ~AR0303.bcs~ ~AR0407.bcs~ ~GORSTA06.CRE~ ~GORSTA10.CRE~ ~GORSTA12.CRE~ ~GREYHAND.CRE~ ALWAYS ACTION_IF NOT FILE_EXISTS ~override/iplot01k.itm~ THEN BEGIN COPY_EXISTING ~SW1H01.itm~ ~override/iplot01k.itm~ END ACTION_IF NOT FILE_EXISTS ~override/iplot04g.itm~ THEN BEGIN COPY_EXISTING ~SW1H01.itm~ ~override/iplot04g.itm~ END ACTION_IF NOT FILE_EXISTS ~override/iplot04h.itm~ THEN BEGIN COPY_EXISTING ~SW1H01.itm~ ~override/iplot04h.itm~ END ACTION_IF NOT FILE_EXISTS ~override/iplot04i.itm~ THEN BEGIN COPY_EXISTING ~SW1H01.itm~ ~override/iplot04i.itm~ END AT_INTERACTIVE_EXIT ~VIEW ub/readme_ub.html~ APPEND ~ACTION.IDS~ ~31 SpellRES(S:RES*,O:Target*) 95 SpellPointRES(S:RES*,P:Target*) 113 ForceSpellRES(S:RES*,O:Target) 114 ForceSpellPointRES(S:RES*,P:Target) 160 ApplySpellRES(S:RES*,O:Target) 181 ReallyForceSpellRES(S:RES*,O:Target) 191 SpellNoDecRES(S:RES*,O:Target*) 192 SpellPointNoDecRES(S:RES*,P:Target*) 240 ReallyForceSpellDeadRES(S:RES*,O:Target) 318 ForceSpellRangeRES(S:RES*,O:Target) 319 ForceSpellPointRangeRES(S:RES*,P:Target) 337 ReallyForceSpellPointRES(S:RES*,P:Target*) 338 SetCutSceneLite(I:BOOL*BOOLEAN)~ UNLESS ~SpellRES(S:RES*,O:Target*)~ UNLESS ~25POST~ END //////////////////////// //////////////////////// // Language Selection // //////////////////////// //////////////////////// // AUTO_TRA ~ub/tra/%s~ LANGUAGE ~English~ ~english~ ~ub/tra/english/ubsetup.tra~ LANGUAGE ~French (graoumf and Les D'Oghmatiques)~ ~french~ ~ub/tra/french/ubsetup.tra~ LANGUAGE ~Polski (Yarpen)~ ~polski~ ~ub/tra/polish/ubsetup.tra~ LANGUAGE ~Deutsch (Rosenranken.de)~ ~german~ ~ub/tra/german/ubsetup.tra~ LANGUAGE ~Espaņol (Clan DLAN)~ ~spanish~ ~ub/tra/spanish/ubsetup.tra~ LANGUAGE ~Czech (yenn)~ ~czech~ ~ub/tra/czech/ubsetup.tra~ LANGUAGE ~Russian(Alex&AERIE.RU)~ ~russian~ ~ub/tra/russian/ubsetup.tra~ LANGUAGE ~Chinese(Scar_kun)~ ~chinese~ ~ub/tra/chinese/ubsetup.tra~ /////////////////////////// /////////////////////////// // The Kidnapping of Boo // /////////////////////////// /////////////////////////// /* AUTHOR ~Cliffette, supercliffette@yahoo.com.au~ */ BEGIN @0 COPY ~ub/ubnull.itm~ ~override/ubminsc.xxx~ //null file to identify this component COPY_EXISTING ~AR0042.tis~ ~Override/arwwbo.tis~ COPY ~ub/Minsc/Cre/wwtrolb.cre~ ~Override/wwtrol1.cre~ WRITE_ASCII ~0x280~ ~wwtrol1~ COPY ~ub/Minsc/Cre/wwtrolb.cre~ ~Override/wwtrol2.cre~ WRITE_ASCII ~0x280~ ~wwtrol2~ COPY ~ub/Minsc/Cre/wwtrolb.cre~ ~Override/wwtrol3.cre~ WRITE_ASCII ~0x280~ ~wwtrol3~ COPY ~ub/Minsc/Cre/wwbilly.cre~ ~Override/wwbilly.cre~ SAY NAME1 @1 SAY NAME2 @1 COPY ~ub/Minsc/Cre/wwdelag.cre~ ~Override/wwdelag.cre~ SAY NAME1 @2 SAY NAME2 @2 COPY ~ub/Minsc/Cre/wweff.cre~ ~Override/wweff.cre~ SAY NAME1 @3 SAY NAME2 @3 COPY ~ub/Minsc/Cre/wwsten.cre~ ~Override/wwsten.cre~ SAY NAME1 @4 SAY NAME2 @4 COPY ~ub/Minsc/Cre/wwvivi.cre~ ~Override/wwvivi.cre~ SAY NAME1 @5 SAY NAME2 @5 COPY ~ub/Minsc/Cre/wwswoo.cre~ ~Override/wwswoo.cre~ SAY NAME1 @6 SAY NAME2 @6 COPY ~ub/Minsc/Cre/wwelle.cre~ ~Override/wwelle.cre~ SAY NAME1 @7 SAY NAME2 @7 COPY ~ub/Minsc/Cre/wwcowl1.cre~ ~Override/wwcowl1.cre~ ~ub/Minsc/Cre/wwcowl2.cre~ ~Override/wwcowl2.cre~ SAY NAME1 @8 SAY NAME2 @8 COPY ~ub/Minsc/Cre/wwfght1.cre~ ~Override/wwfght1.cre~ ~ub/Minsc/Cre/wwfght2.cre~ ~Override/wwfght2.cre~ ~ub/Minsc/Cre/wwarro1.cre~ ~Override/wwarro1.cre~ ~ub/Minsc/Cre/wwarro2.cre~ ~Override/wwarro2.cre~ SAY NAME1 @9 SAY NAME2 @9 COPY ~ub/Minsc/Cre/wwrati.cre~ ~Override/wwrati.cre~ SAY NAME1 @10 SAY NAME2 @10 COPY ~ub/Minsc/items~ ~Override~ COPY ~ub/Minsc/Items/wwblet.spl~ ~Override/wwblet.spl~ SAY NAME1 ~Boolets~ SAY NAME2 ~Boolets~ /*No need to translate*/ COPY ~ub/Minsc/Items/wwboo.spl~ ~Override/wwboo.spl~ ~ub/Minsc/Items/wwfboo.spl~ ~Override/wwfboo.spl~ ~ub/Minsc/Items/wwnoboo.spl~ ~Override/wwnoboo.spl~ SAY ~0x08~ @12 SAY ~0x50~ @12 COPY ~ub/Minsc/Items/wwnboo.itm~ ~Override/wwnboo.itm~ SAY NAME1 @13 SAY NAME2 @13 SAY DESC @14 COPY ~ub/Minsc/Items/wweboo.itm~ ~Override/wweboo.itm~ SAY NAME1 @15 SAY NAME2 @15 SAY DESC @16 // Minsc existing dialogue fix COMPILE ~ub/Minsc/Dialogue/wwminscub.d~ USING ~ub/tra/%s/wwminscub.tra~ COMPILE ~ub/Minsc/Dialogue/wwswappants.d~ COMPILE ~ub/Minsc/Dialogue/wwinterj.d~ USING ~ub/tra/%s/wwinterj.tra~ COMPILE ~ub/Minsc/Dialogue/wwunderpants.d~ ~ub/Minsc/Scripts~ USING ~ub/tra/%s/wwgeneral.tra~ COPY ~override/wwelle.bcs~ ~override/wwelle.bcs~ REPLACE ~123432~ @7 // Append chars scripts EXTEND_TOP ~minsc.bcs~ ~ub/Minsc/Appends/wwub_minsc2.baf~ EXTEND_BOTTOM ~minsc.bcs~ ~ub/Minsc/Appends/wwub_minsc.baf~ EXTEND_BOTTOM ~edwin.bcs~ ~ub/Minsc/Appends/wwub_edwin.baf~ EXTEND_BOTTOM ~keldorn.bcs~ ~ub/Minsc/Appends/wwub_kel.baf~ EXTEND_BOTTOM ~jan.bcs~ ~ub/Minsc/Appends/wwub_jan.baf~ EXTEND_BOTTOM ~viconia.bcs~ ~ub/Minsc/Appends/wwub_vic.baf~ EXTEND_BOTTOM ~valygar.bcs~ ~ub/Minsc/Appends/wwub_valy.baf~ EXTEND_BOTTOM ~yoshimo.bcs~ ~ub/Minsc/Appends/wwub_yosh.baf~ EXTEND_BOTTOM ~ar0300.bcs~ ~ub/Minsc/Appends/wwar0300.baf~ EXTEND_BOTTOM ~ar0314.bcs~ ~ub/Minsc/Appends/wwar0314.baf~ EXTEND_BOTTOM ~ar1900.bcs~ ~ub/Minsc/Appends/arwwbo.baf~ // Eggish APPEND ~LOADHINT.2DA~ ~UB advert~ UNLESS ~UB~ COPY_EXISTING ~loadhint.2da~ ~override~ REPLACE ~advert~ @19 IF ~advert~ //////////////////////////////////////// //////////////////////////////////////// // The Suna Seni/Valygar Relationship // //////////////////////////////////////// //////////////////////////////////////// BEGIN @20 COPY ~ub/ubnull.itm~ ~override/ubsuna.xxx~ //null file to identify this component COMPILE ~ub/suna/CCSUNA.baf~ /* Suna Seni's script in the Copper Coronet */ ~ub/suna/ppsuna.baf~ /* Suna Seni's script in Spellhold */ ~ub/suna/Resuna.baf~ /* Suna Seni's script in the Slums */ ~ub/suna/u!cut41g.baf~ /* Display Suna in Spellhold Cutscene */ ~ub/suna/ppsuna.d~ /* Suna Seni's dialog in Spellhold */ ~ub/suna/SUNA.D~ /* Suna Seni's dialog in Athkatla */ ~ub/suna/u!suna.d~ ~ub/suna/u!1101.baf~ /* Removes Valygar from his cabin if not given the quest */ USING ~ub/tra/%s/ubdialog.tra~ EXTEND_TOP ~ar1101.bcs~ ~override/u!1101.bcs~ /* Removes Valygar from his cabin if not given the quest */ EXTEND_TOP ~ar0041.bcs~ ~ub/suna/u!sunare.baf~ /* Removes Suna Seni from the Random Encounters */ EXTEND_TOP ~ar0042.bcs~ ~ub/suna/u!sunare.baf~ /* Removes Suna Seni from the Random Encounters */ EXTEND_TOP ~ar0043.bcs~ ~ub/suna/u!sunare.baf~ /* Removes Suna Seni from the Random Encounters */ EXTEND_TOP ~ar0044.bcs~ ~ub/suna/u!sunare.baf~ /* Removes Suna Seni from the Random Encounters */ EXTEND_TOP ~ar0045.bcs~ ~ub/suna/u!sunare.baf~ /* Removes Suna Seni from the Random Encounters */ EXTEND_TOP ~ar0046.bcs~ ~ub/suna/u!sunare.baf~ /* Removes Suna Seni from the Random Encounters */ EXTEND_TOP ~ar1516.bcs~ ~ub/suna/u!1516.baf~ /* Spawns Suna in Spellhold */ EXTEND_TOP ~ar0300.bcs~ ~ub/suna/u!0300.baf~ /* Spawns Suna in the Docks */ EXTEND_TOP ~ppjon.bcs~ ~ub/suna/u!ppjon.baf~ /* Determines whether or not to spawn Suna in the Spellhold cutscene */ EXTEND_BOTTOM ~baldur.bcs~ ~ub/suna/u!baldur.baf~ /* Begins Valygar's dialog shortly after Suna's death */ EXTEND_BOTTOM ~ar0406.bcs~ ~ub/suna/u!0406.baf~ /* Spawns Suna at the Copper Coronet */ COPY_EXISTING ~AR1101.are~ ~override/AR1101.are~ /* Valygar's Cabin */ WRITE_ASCII ~0x94~ ~AR1101~ COPY ~ub/suna/ppsuna.cre~ ~override/ppsuna.cre~ ~ub/suna/resuna.cre~ ~override/resuna.cre~ ~ub/suna/suna.cre~ ~override/suna.cre~ SAY NAME1 @21 SAY NAME2 @21 //////////////////////////////////// //////////////////////////////////// // Kalah and What He Was Promised // //////////////////////////////////// //////////////////////////////////// /* AUTHOR ~Andyr, andyr@gibberlings3.net~ */ BEGIN @47 COPY ~ub/ubnull.itm~ ~override/ubkalah.xxx~ //null file to identify this component COPY_EXISTING ~dlost.cre~ ~override/U!KImoen.cre~ WRITE_ASCII ~0x2cc~ ~U!KImoen~ WRITE_ASCII ~0x280~ ~U!KImoen~ SAY NAME1 @67 SAY NAME2 @67 COPY ~ub/Kalah/U!KGen.SPL~ ~override/U!KGen.SPL~ SAY NAME1 @40 SAY NAME2 @40 COPY ~ub/Kalah/U!KGen.EFF~ ~override/U!KGen.EFF~ COPY ~ub/Kalah/U!KLamp.BAM~ ~override/U!KLamp.BAM~ COPY ~ub/Kalah/U!KBot1.ITM~ ~override/U!KBot1.ITM~ SAY NAME1 @41 SAY NAME2 @41 SAY DESC @42 COPY ~ub/Kalah/U!KBot2.ITM~ ~override/U!KBot2.ITM~ SAY NAME1 @41 SAY NAME2 @41 SAY DESC @43 COPY ~ub/Kalah/U!KGirl.CRE~ ~override/U!KGirl.CRE~ SAY NAME1 @44 SAY NAME2 @44 COPY ~ub/Kalah/U!KJaf.CRE~ ~override/U!KJaf.CRE~ SAY NAME1 @45 SAY NAME2 @45 COPY ~ub/Kalah/U!Krais.CRE~ ~override/U!Krais.CRE~ SAY NAME1 #9282 SAY NAME2 #9282 COPY ~ub/Kalah/U!Kdead.CRE~ ~override/U!Kdead.CRE~ SAY NAME1 @46 SAY NAME2 @46 COPY ~ub/Kalah/U!Kgen.CRE~ ~override/U!Kgen.CRE~ SAY NAME1 #2880 SAY NAME2 #2880 COMPILE ~ub/Kalah/U!KGirl.BAF~ ~ub/Kalah/U!Ktalk.BAF~ ~ub/Kalah/U!Kjaf.BAF~ ~ub/Kalah/U!Kdead.BAF~ ~ub/Kalah/U!KGirl.D~ ~ub/Kalah/U!Kjaf.D~ ~ub/Kalah/U!Kgen.D~ ~ub/Kalah/U!Kdead.D~ ~ub/Kalah/U!Krais.D~ ~ub/Kalah/U!KImoen.d~ USING ~ub/tra/%s/ubdialog.tra~ EXTEND_TOP ~AR0700.bcs~ ~ub/Kalah/U!K0700.baf~ EXTEND_TOP ~AR0022.bcs~ ~ub/Kalah/U!K0022.baf~ //////////////////////////////// //////////////////////////////// // Bodhi's Cat and Mouse Game // //////////////////////////////// //////////////////////////////// /* AUTHOR ~Ghreyfain, ghreyfain@pocketplane.net~ */ BEGIN @25 COPY ~ub/ubnull.itm~ ~override/ubbodhi.xxx~ //null file to identify this component COMPILE ~ub/BodhiHunt/Dialogue~ USING ~ub/tra/%s/ubdialog.tra~ COPY_EXISTING ~PPBodhi4.cre~ ~override/ppbodhi4.cre~ WRITE_ASCII ~0x268~ ~J#nothin~ COPY ~ub/BodhiHunt/Sound~ ~Override~ COPY_EXISTING ~AR1501.bcs~ ~override/AR1501.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1502.bcs~ ~override/AR1502.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1503.bcs~ ~override/AR1503.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1504.bcs~ ~override/AR1504.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1505.bcs~ ~override/AR1505.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1506.bcs~ ~override/AR1506.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1507.bcs~ ~override/AR1507.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1508.bcs~ ~override/AR1508.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1509.bcs~ ~override/AR1509.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1510.bcs~ ~override/AR1510.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1511.bcs~ ~override/AR1511.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/100Fix.baf~ COPY_EXISTING ~AR1512.bcs~ ~override/AR1512.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/AreaNew.baf~ COPY_EXISTING ~AR1513.bcs~ ~override/AR1513.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/AreaNew.baf~ COPY_EXISTING ~AR1514.bcs~ ~override/AR1514.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/AreaOld.baf~ ~ub/bodhihunt/scripts/AreaNew2.baf~ COPY_EXISTING ~PPBODHI4.bcs~ ~override/ppbodhi4.bcs~ REPLACE_BCS_BLOCK ~ub/bodhihunt/scripts/J#BodhiO.baf~ ~ub/bodhihunt/scripts/J#Bodhi.baf~ EXTEND_TOP ~PPBODHI4.bcs~ ~ub/bodhihunt/scripts/J#BodhiR.baf~ ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// // Gorje Hilldark and the Extended Illithium Quest // ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// BEGIN @26 COPY ~ub/ubnull.itm~ ~override/ubgorje.xxx~ //null file to identify this component EXTEND_TOP ~AR1401.bcs~ ~ub/gorje/U!1401.baf~ /* Temple Ruins */ EXTEND_TOP ~AR0406.bcs~ ~ub/gorje/U!0406.baf~ /* Copper Coronet */ COPY_EXISTING ~gorje.cre~ ~override/gorje.cre~ WRITE_SHORT ~0x2f~ ~0x53~ /* fix hair and skin color */ WRITE_SHORT ~0x32~ ~0x4f~ WRITE_ASCII ~0x3fc~ ~RNDTRE02~ /* remove dryad's acrons */ REPLACE_TEXTUALLY "CHAM01" "CHAN01" COPY_EXISTING ~scdur.cre~ ~override/scdur.cre~ WRITE_SHORT ~0x2f~ ~0x53~ /* fix hair and skin color */ WRITE_SHORT ~0x32~ ~0x4f~ COMPILE ~ub/gorje/gorje.d~ ~ub/gorje/scdur.d~ ~ub/gorje/u!dwarvs.d~ USING ~ub/tra/%s/ubdialog.tra~ //////////////////////////////////// //////////////////////////////////// // The Pai'Na/Spider's Bane Quest // //////////////////////////////////// //////////////////////////////////// BEGIN @27 COPY ~ub/ubnull.itm~ ~override/ubpaina.xxx~ //null file to identify this component EXTEND_TOP ~AR0701.bcs~ ~ub/paina/U!0701.baf~ /* Temple District Sewers */ COMPILE ~ub/paina/u!paina.d~ USING ~ub/tra/%s/ubdialog.tra~ COPY ~ub/paina/u!spbane.itm~ ~override/u!spbane.itm~ SAY NAME1 #10291 SAY NAME2 #10291 SAY UNIDENTIFIED_DESC @39 SAY IDENTIFIED_DESC @39 COPY ~ub/paina/WAND14.ITM~ ~override/WAND14.ITM~ /* Web Sack */ SAY IDENTIFIED_DESC @34 //Does not need .TRAifying as only pertinent to English game version. STRING_SET ~I here you might have a sword I seek. It should have spider-like patterns on it.~ ~I hear you might have a sword I seek. It should have spider-like patterns on it.~ //////////////////////////////// //////////////////////////////// // Restored Crooked Crane Inn // //////////////////////////////// //////////////////////////////// BEGIN @28 COPY ~ub/ubnull.itm~ ~override/ubcrane.xxx~ //null file to identify this component COMPILE ~ub/crane/u!ccrane.d~ USING ~ub/tra/%s/ubdialog.tra~ EXTEND_BOTTOM ~ar0022.bcs~ ~ub/crane/u!0022.baf~ /* Crooked Crane, Level Two */ EXTEND_TOP ~AR0021.bcs~ ~ub/crane/AR0021.BAF~ COPY_EXISTING ~ar0021.are~ ~override/ar0021.are~ /* Associates correct area script */ WRITE_ASCII ~0x94~ ~AR0021~ /* Corrected Crooked Crane, Level One */ ///////////////////////// ///////////////////////// // Restored Encounters // ///////////////////////// ///////////////////////// BEGIN @29 COPY ~ub/ubnull.itm~ ~override/ubencoun.xxx~ //null file to identify this component /* Vampire Encounters */ EXTEND_BOTTOM ~vampsttp.bcs~ ~ub/encount/U!vamps.baf~ COPY_EXISTING ~vvbodhi.cre~ ~override/vvbodhi.cre~ WRITE_ASCII ~0x40c~ ~MINHP20~ /* The Muggers in the Slums */ COPY_EXISTING ~MUGGER3.CRE~ ~override/MUGGER3.CRE~ /* Mugger in the Slums */ WRITE_ASCII ~0x280~ ~mugger3~ /* Correct the death variable */ EXTEND_BOTTOM ~AR0400.BCS~ ~ub/encount/u!0400.baf~ /* The Slums */ COMPILE ~ub/encount/SLUMVIC.baf~ /* Reputation Trap */ EXTEND_TOP ~AMNTRP01.BCS~ ~ub/encount/U!gtrap.baf~ COMPILE ~ub/encount/repthf1.d~ USING ~ub/tra/%s/ubdialog.tra~ /* Restored Hell Hound Encounters */ COPY_EXISTING ~AR0412.ARE~ ~override/AR0412.are~ /* Planar Sphere Elemental Rooms */ WRITE_ASCII ~0xd4c~ ~OBSICE03~ /* Winter Wolf */ WRITE_ASCII ~0xe5c~ ~OBSICE01~ /* Snow Troll */ WRITE_ASCII ~0xf6c~ ~OBSICE01~ /* Another Snow Troll, was Mountain Bear prior to v14 (OBSICE04) */ WRITE_ASCII ~0x107c~ ~OBSFIR05~ /* Hell Hound */ WRITE_ASCII ~0x118c~ ~OBSFIR05~ /* Hell Hound */ COMPILE ~ub/hounds/houndtrp.baf~ /* Unseeing Eye Cult area, Hellhound Ambush trigger */ /* The Greyhand Encounter */ COMPILE ~ub/greyhand/u!gryhnd.d~ ~ub/greyhand/u!gryhnd.baf~ USING ~ub/tra/%s/ubdialog.tra~ COPY ~ub/greyhand/greyhand.cre~ ~override/greyhand.cre~ SAY NAME1 @56 SAY NAME2 @56 EXTEND_TOP ~ar1600.bcs~ ~ub/greyhand/u!greyhd.baf~ /* Add Greyhand to Brynnlaw */ // Restored Olive Jellies in Ust Natha COPY_EXISTING ~jeloch01.cre~ ~override/jeloli01.cre~ SAY NAME1 ~Olive Slime~ SAY NAME2 ~Olive Slime~ WRITE_LONG 0x14 420 WRITE_SHORT 0x28 30977 REPLACE_TEXTUALLY "JELLOC1" "JELLOL1" COPY_EXISTING ~ghoul1.itm~ ~override/jellol1.itm~ //AR2400 spawns COPY_EXISTING ~AR2400.ARE~ ~override~ READ_LONG 0xc0 "rest_off" SAY ("%rest_off%" + 0x40) #10134 WRITE_ASCII ("%rest_off%" + 0x48) ~umbhul01~ WRITE_ASCII ("%rest_off%" + 0x50) ~umbhul01~ WRITE_ASCII ("%rest_off%" + 0x58) ~umbhul01~ WRITE_ASCII ("%rest_off%" + 0x60) ~umbhul01~ WRITE_ASCII ("%rest_off%" + 0x68) ~umbhul01~ WRITE_ASCII ("%rest_off%" + 0x70) ~uddwarf~ #8 WRITE_ASCII ("%rest_off%" + 0x78) ~umbhul01~ WRITE_LONG ("%rest_off%" + 0x80) 0 WRITE_LONG ("%rest_off%" + 0x88) 0 WRITE_LONG ("%rest_off%" + 0x90) 0 WRITE_SHORT ("%rest_off%" + 0x98) 7 BUT_ONLY_IF_IT_CHANGES ///////////////////////////////////// ///////////////////////////////////// // Artemis Entreri in Bodhi's Lair // ///////////////////////////////////// ///////////////////////////////////// BEGIN @48 COPY ~ub/ubnull.itm~ ~override/ubartemi.xxx~ //null file to identify this component COMPILE ~ub/artemis/u!artemis.d~ USING ~ub/tra/%s/ubdialog.tra~ EXTEND_TOP ~AR0809.bcs~ ~ub/artemis/U!0809.baf~ EXTEND_TOP ~artemis.bcs~ ~ub/artemis/U!ARTEMI.baf~ ////////////////////////////////// ////////////////////////////////// // Corrected "Xzar's Creations" // ////////////////////////////////// ////////////////////////////////// BEGIN @52 COPY ~ub/ubnull.itm~ ~override/ubxzar.xxx~ //null file to identify this component <<<<<<<< .../ub/ding0/prebek/xgolem.baf IF !Allegiance("XAPPREN1",ENEMY) !Allegiance("XAPPREN2",ENEMY) !Dead("XAPPREN1") !Dead("XAPPREN2") THEN RESPONSE #100 END >>>>>>>> COMPILE ~.../ub/ding0/prebek/xgolem.baf~ COPY ~ub/xzar/xgolem1.cre~ ~override/xgolem1.cre~ SAY NAME1 #12886 SAY NAME2 #12886 WRITE_ASCII 0x248 "D0XGOLEM" WRITE_ASCII 0x268 "WTASIGHT" COPY_EXISTING ~ar0407.are~ ~override~ READ_LONG 0x54 "actoroffset" READ_SHORT 0x58 "#actors" SET "currentactor" = 0 WHILE ("%currentactor%" < "%#actors%") BEGIN READ_ASCII ("%actoroffset%" + ("%currentactor%" * 272) + 128) "actorname" PATCH_IF (("%actorname%" STRING_COMPARE_CASE "ICGOB01") = 0) BEGIN WRITE_ASCII ("%actoroffset%" + ("%currentactor%" * 272) + 128) "XGHAST1" END PATCH_IF (("%actorname%" STRING_COMPARE_CASE "ICGOB02") = 0) BEGIN WRITE_ASCII ("%actoroffset%" + ("%currentactor%" * 272) + 128) "XGOLEM" WRITE_BYTE ("%actoroffset%" + ("%currentactor%" * 272) + 134) 0 END PATCH_IF (("%actorname%" STRING_COMPARE_CASE "ICGOB03") = 0) BEGIN WRITE_ASCII ("%actoroffset%" + ("%currentactor%" * 272) + 128) "XGHAST2" END SET "currentactor" = ("%currentactor%" + 1) END BUT_ONLY_IF_IT_CHANGES /////////////////////////// /////////////////////////// // Restored Hell Minions // /////////////////////////// /////////////////////////// /* AUTHOR ~SimDing0, simding0@pocketplane.net~ */ BEGIN @66 COPY ~ub/ubnull.itm~ ~override/ubdemon.xxx~ //null file to identify this component COPY_EXISTING ~hellslay.cre~ ~override~ WRITE_ASCII ~0x250~ ~HELLJON~ COPY_EXISTING ~jondem01.cre~ ~override~ WRITE_ASCII ~0x248~ ~jondem01~ WRITE_ASCII ~0x250~ ~demgaj~ COPY_EXISTING ~jondem02.cre~ ~override~ WRITE_ASCII ~0x248~ ~jondem02~ WRITE_ASCII ~0x250~ ~demptj~ WRITE_BYTE ~0x27b~ 19 WRITE_SHORT ~0x28~ 32558 SAY NAME1 #39382 SAY NAME2 #39382 COPY_EXISTING ~jondem03.cre~ ~override~ WRITE_ASCII ~0x248~ ~jondem03~ WRITE_ASCII ~0x250~ ~demgaj~ COPY_EXISTING ~jondem04.cre~ ~override~ WRITE_ASCII ~0x248~ ~jondem04~ WRITE_ASCII ~0x250~ ~demptj~ WRITE_BYTE ~0x27b~ 19 WRITE_SHORT ~0x28~ 32558 SAY NAME1 #39382 SAY NAME2 #39382 ACTION_IF FILE_EXISTS_IN_GAME ~saradush.mve~ THEN BEGIN COPY_EXISTING ~jondem01.cre~ ~override~ ~jondem03.cre~ ~override~ ~jondem05.cre~ ~override~ WRITE_SHORT ~0x28~ 57585 END /////////////////////////// /////////////////////////// // Gorf the Squisher Fix // /////////////////////////// /////////////////////////// /* AUTHOR ~Gebhard Blucher, g_blucher@yahoo.com~ */ BEGIN @71 COPY ~ub/ubnull.itm~ ~override/ubgorf.xxx~ //null file to identify this component COMPILE ~ub/gorf/gorf.baf~ /////////////////////// /////////////////////// // Item Restorations // /////////////////////// /////////////////////// BEGIN @30 COPY ~ub/ubnull.itm~ ~override/ubitems.xxx~ //null file to identify this component EXTEND_BOTTOM ~AR1100.BCS~ ~ub/items/U!1100.BAF~ /* Umar Hills, places the Boots of the West on Derrick */ EXTEND_BOTTOM ~AR0406.BCS~ ~ub/items/U!0406.BAF~ /* The Copper Coronet, places the Wolfskin Bag on the Beastmaster */ EXTEND_BOTTOM ~AR0413.BCS~ ~ub/items/U!0413.BAF~ /* Planar Sphere, Engine Room, Bala's Axe, Container 1 */ EXTEND_TOP ~AR0407.bcs~ ~ub/items/u!0407.baf~ /* Prebek's Home, Shazzellim, Container 3, Item 1 */ COPY_EXISTING ~AR0407.ARE~ ~override/AR0407.ARE~ /* Prebek's Home */ WRITE_ASCII ~0x94~ ~AR0407~ COPY_EXISTING ~REELDAR.cre~ ~override/REELDAR.cre~ /* Places Arbane's Sword on Eldarin */ ADD_CRE_ITEM ~SW1H27~ #0 #0 #0 ~NONE~ ~WEAPON2~ // READ_LONG 0x2B8 "slot_offset" // READ_LONG 0x2BC "item_offset" // READ_LONG 0x2C0 "item_number" // WRITE_SHORT ("%slot_offset%" + 0x14) "%item_number%" // WRITE_LONG 0x2B8 ("%slot_offset%" + 0x14) // WRITE_LONG 0x2C0 ("%item_number%" + 1) // INSERT_BYTES ("%slot_offset%") 0x14 // WRITE_ASCII ("%slot_offset%") ~SW1H27~ // WRITE_BYTE ("%slot_offset%" + 0x06 + (0x14 * "%item_index%")) 0 // WRITE_LONG ("%slot_offset%" + 0x08 + (0x14 * "%item_index%")) 0 // WRITE_LONG ("%slot_offset%" + 0x0C + (0x14 * "%item_index%")) 0 // WRITE_LONG ("%slot_offset%" + 0x10 + (0x14 * "%item_index%")) 0 COPY_EXISTING ~BAG01.ITM~ ~override/BAG01.ITM~ /* Wolfskin Bag */ WRITE_LONG 0x18 ~0x0000002c~ SAY NAME1 @31 SAY NAME2 @31 SAY UNIDENTIFIED_DESC @32 SAY IDENTIFIED_DESC @32 COPY_EXISTING ~BAG01.STO~ ~override/BAG01.STO~ /* Wolfskin Bag - related .sto file */ WRITE_SHORT ~0x22~ ~0xA~ /* Change bag capacity from 5 to 10 */ SAY STORE_NAME @31 COPY_EXISTING ~SW1H50.ITM~ ~override/SW1H50.ITM~ /* Altered description for Shazzellim */ WRITE_LONG ~0x1e~ ~0x0004c784~ /* Restrict Good-aligned */ SAY IDENTIFIED_DESC @33 COPY_EXISTING ~AX1H07.ITM~ ~override/AX1H07.ITM~ /* Bala's Axe */ WRITE_SHORT ~0x42~ ~0x28~ COPY ~ub/items/SPWI315.SPL~ ~override/SPWI315.SPL~ /* Wraithform spell file */ ~ub/items/u!scrl03.itm~ ~override/u!scrl03.itm~ /* Wraithform scroll item file */ SAY NAME1 #12020 SAY NAME2 #12020 SAY UNIDENTIFIED_DESC #12144 SAY IDENTIFIED_DESC #12144 COPY_EXISTING ~scrolls.sto~ ~override~ // The Pen and Parchment Store READ_LONG 0x34 "sale_offset" READ_LONG 0x38 "sale_num" WRITE_LONG 0x38 ("%sale_num%" + 1) READ_LONG 0x2C "item_offset" READ_LONG 0x4C "drink_offset" READ_LONG 0x70 "cure_offset" WHILE ("%sale_num%" > 0) BEGIN SET "sale_num" = ("%sale_num%" - 1) READ_ASCII ("%sale_offset%" + ("%sale_num%" * 0x1C)) "item" PATCH_IF (("%item%" STRING_COMPARE_CASE "scrl1t" = 0) OR ("%sale_num%" = 0)) BEGIN INSERT_BYTES ("%sale_offset%" + ("%sale_num%" * 0x1C)) 0x1c WRITE_ASCII ("%sale_offset%" + ("%sale_num%" * 0x1C)) ~u!scrl03~ WRITE_LONG ("%sale_offset%" + 0x10 + ("%sale_num%" * 0x1C)) 1 // identified WRITE_LONG ("%sale_offset%" + 0x14 + ("%sale_num%" * 0x1C)) 5 // quantity SET "sale_num" = 0 END END PATCH_IF NOT ("%item_offset%" < "%sale_offset%") BEGIN WRITE_LONG 0x2C ("%item_offset%" + 0x1C) END PATCH_IF NOT ("%drink_offset%" < "%sale_offset%") BEGIN WRITE_LONG 0x4C ("%drink_offset%" + 0x1C) END PATCH_IF NOT ("%cure_offset%" < "%sale_offset%") BEGIN WRITE_LONG 0x70 ("%cure_offset%" + 0x1C) END COPY ~ub/items/misc8j.itm~ ~override/MISC8J~ /* Boots of the West */ SAY NAME1 #43877 SAY NAME2 #43877 SAY UNIDENTIFIED_DESC #43878 SAY IDENTIFIED_DESC #43878 COPY_EXISTING ~boot09.itm~ ~override/boot09.itm~ /* Boots of Hastened Departure */ WRITE_ASCII 0x76 ~CBOOT09~ SAY NAME2 @97 SAY IDENTIFIED_DESC @98 ACTION_IF FILE_EXISTS ~override/greyhand.cre~ THEN BEGIN COPY_EXISTING ~greyhand.cre~ ~override/greyhand.cre~ /* Adds the Boots of Hastened Departure to Greyhand */ WRITE_ASCII 0x420 ~BOOT09~ END // wallag's stuff now available -from fixpack <<<<<<<< .../ub/baf/ar1403.baf IF Global("CDDropStuff","AR1403",0) THEN RESPONSE #100 SetGlobal("CDDropStuff","AR1403",1) ActionOverride("shabod01",DropInventory()) END >>>>>>>> EXTEND_TOP ~ar1403.bcs~ ~.../ub/baf/ar1403.baf~ // make wallag a permanent corpse COPY_EXISTING ~shabod01.cre~ ~override~ READ_BYTE 0x10 "flags" WRITE_BYTE 0x10 ("%flags%" BOR 0b00000100) BUT_ONLY_IF_IT_CHANGES ///////////////////////////////// ///////////////////////////////// // Yoshimo's Original Portrait // ///////////////////////////////// ///////////////////////////////// BEGIN @70 COPY ~ub/ubnull.itm~ ~override/ubyoshi.xxx~ //null file to identify this component COPY ~ub/yoshimo/NYOSHIMM.BMP~ ~override/NYOSHIMM.BMP~ /* Yoshimo's portraits */ COPY ~ub/yoshimo/NYOSHIMS.BMP~ ~override/NYOSHIMS.BMP~ COPY ~ub/yoshimo/NYOSHIMM.BMP~ ~portraits/NYOSHIMM.BMP~ COPY ~ub/yoshimo/NYOSHIMS.BMP~ ~portraits/NYOSHIMS.BMP~ //////////////////////////////// //////////////////////////////// // Anomen's Original Portrait // //////////////////////////////// //////////////////////////////// BEGIN @72 COPY ~ub/ubnull.itm~ ~override/ubanomen.xxx~ //null file to identify this component COPY ~ub/anomen/NANOMENL.BMP~ ~override/NANOMENL.BMP~ /* Anomen's portraits */ COPY ~ub/anomen/NANOMENM.BMP~ ~override/NANOMENM.BMP~ COPY ~ub/anomen/NANOMENS.BMP~ ~override/NANOMENS.BMP~ COPY ~ub/anomen/NANOMENL.BMP~ ~portraits/NANOMENL.BMP~ COPY ~ub/anomen/NANOMENM.BMP~ ~portraits/NANOMENM.BMP~ COPY ~ub/anomen/NANOMENS.BMP~ ~portraits/NANOMENS.BMP~ /////////////////////////////// /////////////////////////////// // NPC Portrait Restorations // /////////////////////////////// /////////////////////////////// BEGIN @49 COPY ~ub/ubnull.itm~ ~override/ubports.xxx~ //null file to identify this component COPY_EXISTING ~KAYL1.CRE~ ~override/KAYL1.CRE~ /* Sir Ryan Trawl */ ~KAYL2.CRE~ ~override/KAYL2.CRE~ WRITE_ASCII ~0x34~ ~TESTPOR~ COPY_EXISTING ~C6CORAN.CRE~ ~override/C6CORAN.CRE~ /* Coran */ WRITE_ASCII ~0x34~ ~CORANS~ COPY_EXISTING ~C6SAFA.CRE~ ~override/C6SAFA.CRE~ /* Safana */ WRITE_ASCII ~0x34~ ~SAFANAS~ COPY_EXISTING ~CEFALD01.CRE~ ~override/CEFALD01.CRE~ /* Faldorn */ ~CEFALD02.CRE~ ~override/CEFALD02.CRE~ ~CEFALD04.CRE~ ~override/CEFALD04.CRE~ ~CEFALDOR.CRE~ ~override/CEFALDOR.CRE~ WRITE_ASCII ~0x34~ ~FALDORNS~ COPY_EXISTING ~GARRICK.CRE~ ~override/GARRICK.CRE~ /* Garrick */ WRITE_ASCII ~0x34~ ~GARRICKS~ COPY_EXISTING ~LYROS.CRE~ ~override/LYROS.CRE~ /* Xzar */ ~XZAR.CRE~ ~override/XZAR.CRE~ WRITE_ASCII ~0x34~ ~XZARS~ COPY_EXISTING ~PPTIAX.CRE~ ~override/PPTIAX.CRE~ /* Tiax */ ~PPTIAX2.CRE~ ~override/PPTIAX2.CRE~ WRITE_ASCII ~0x34~ ~TIAXS~ COPY_EXISTING ~QUAYLE.CRE~ ~override/QUAYLE.CRE~ /* Quayle */ WRITE_ASCII ~0x34~ ~QUAYLES~ COPY ~ub/suna/SUNAL.BMP~ ~override/SUNAL.BMP~ /* Suna Seni's portraits */ COPY ~ub/suna/SUNAS.BMP~ ~override/SUNAS.BMP~ COPY ~ub/suna/SUNAL.BMP~ ~portraits/SUNAL.BMP~ COPY ~ub/suna/SUNAS.BMP~ ~portraits/SUNAS.BMP~ /////////////////////////////// /////////////////////////////// // Corrected BAMs and Scripts// /////////////////////////////// /////////////////////////////// BEGIN @50 COPY ~ub/ubnull.itm~ ~override/ubbams.xxx~ //null file to identify this component /* Corrected Avatars */ COPY_EXISTING ~CLONE1.CRE~ ~override/CLONE1.CRE~ /* Ellesime clone in Chateau Irenicus */ WRITE_LONG ~0x28~ ~0x7F31~ //COPY_EXISTING ~GORSTA06.CRE~ ~override\GORSTA06.CRE~ /* Fixes statue avatars in Watcher's Keep */ //WRITE_LONG ~0x28~ ~0x1000~ //COPY_EXISTING ~GORSTA10.CRE~ ~override\GORSTA10.CRE~ /* Fixes statue avatars in Watcher's Keep */ //WRITE_LONG ~0x28~ ~0x7F11~ //COPY_EXISTING ~GORSTA12.CRE~ ~override\GORSTA12.CRE~ /* Fixes statue avatars in Watcher's Keep */ //WRITE_LONG ~0x28~ ~0x7310~ /* Corrected Inventory BAMs */ COPY_EXISTING ~FAMFAIR.ITM~ ~override/FAMFAIR.ITM~ /* Fairy Dragon Familiar */ ~FAMPSD.ITM~ ~override/FAMPSD.ITM~ /* Pseudodragon Familiar */ WRITE_ASCII ~0x3a~ ~FAMPSD~ ACTION_IF FILE_EXISTS_IN_GAME ~saradush.mve~ THEN BEGIN COPY_EXISTING ~FAMFAI25.ITM~ ~override/FAMFAI25.ITM~ /* Fairy Dragon Familiar (ToB) */ ~FAMPSD25.ITM~ ~override/FAMPSD25.ITM~ /* Pseudodragon Familiar (ToB) */ WRITE_ASCII ~0x3a~ ~FAMPSD~ END /* Remove evil-aligned weaponry */ COPY_EXISTING ~C6ELHAN.CRE~ ~override/C6ELHAN.CRE~ /* Remove Elhan's evil-aligned Shazzellim scimitars */ ~SUELHAN.CRE~ ~override/SUELHAN.CRE~ REPLACE_TEXTUALLY "SW1H50" "SW1H22" COPY_EXISTING ~DRSHNL01.CRE~ ~override/DRSHNL01.CRE~ /* Nilthiri */ WRITE_ASCII ~0x248~ ~DRSHNL01~ /* Assigns the appropriate script */ WRITE_LONG ~0x250~ 0x00000000 EXTEND_TOP ~DRSHNL01.bcs~ ~ub/misc/u!nilthi.baf~ /* Fixes Nilthiri's script */ COMPILE ~ub/misc/DRSHNL02.baf~ COPY_EXISTING ~ruffian.cre~ ~override/ruffian.cre~ /* Assigns Amalas his correct script */ WRITE_ASCII 0x248 ~AMALAS~ /* Assigns amalas.bcs as his override script */ /////////////////////////////// /////////////////////////////// // Corrected Character Names // /////////////////////////////// /////////////////////////////// BEGIN @53 COPY ~ub/ubnull.itm~ ~override/ubnames.xxx~ //null file to identify this component COPY_EXISTING ~KORCRAZY.CRE~ ~override/KORCRAZY.CRE~ /* Crazyface, Korgan's old cohort */ SAY NAME1 #30508 SAY NAME2 #30509 COPY_EXISTING ~VALRAN01.CRE~ ~override/VALRAN01.CRE~ /* Derrick, the ranger */ SAY NAME1 #2190 SAY NAME2 #2190 COPY_EXISTING ~IDJINNI.CRE~ ~override/IDJINNI.CRE~ /* Malaaq, the genie */ SAY NAME1 @36 SAY NAME2 @36 COPY_EXISTING ~KPSOLD01.CRE~ ~override/KPSOLD01.CRE~ /* Hendron, Lady Delcia's Guard */ SAY NAME1 @37 SAY NAME2 @37 COPY_EXISTING ~SHOP03.CRE~ ~override/SHOP03.CRE~ /* Maheer, the Blacksmith */ SAY NAME1 #23302 SAY NAME2 #23303 COPY_EXISTING ~KFTOWN01.CRE~ ~override/KFTOWN01.CRE~ /* Hannah, the Circus attendant */ SAY NAME1 #20626 SAY NAME2 #20641 COPY_EXISTING ~LELLYN.CRE~ ~override/LELLYN.CRE~ /* Lellyn, Mazzy's fallen compatriot */ SAY NAME1 @38 SAY NAME2 @38 COPY_EXISTING ~TOWNC01.CRE~ ~override/TOWNC01.CRE~ SAY NAME1 @57 SAY NAME2 @57 COPY_EXISTING ~STASS1.CRE~ ~override/STASS1.CRE~ SAY NAME1 @58 SAY NAME2 @58 COPY_EXISTING ~STARCHER.CRE~ ~override/STARCHER.CRE~ ~ARNFGT03.CRE~ ~override/ARNFGT03.CRE~ ~FLYFGT03.CRE~ ~override/FLYFGT03.CRE~ ~ARNWAR01.CRE~ ~override/ARNWAR01.CRE~ ~IRETHF04.CRE~ ~override/IRETHF04.CRE~ SAY NAME1 @59 SAY NAME2 @59 COPY_EXISTING ~ARNBOY01.CRE~ ~override/ARNBOY01.CRE~ SAY NAME1 #38998 SAY NAME2 #38998 COPY_EXISTING ~ARNWAR04.CRE~ ~override/ARNWAR04.CRE~ SAY NAME1 @60 SAY NAME2 @60 COPY_EXISTING ~ARNFGT04.CRE~ ~override/ARNFGT04.CRE~ ~ARNWAR02.CRE~ ~override/ARNWAR02.CRE~ SAY NAME1 @61 SAY NAME2 @61 COPY_EXISTING ~FLYFGT02.CRE~ ~override/FLYFGT02.CRE~ SAY NAME1 @62 SAY NAME2 @62 COPY_EXISTING ~FLYFGT04.CRE~ ~override/FLYFGT04.CRE~ SAY NAME1 @63 SAY NAME2 @63 COPY_EXISTING ~IRETHF05.CRE~ ~override/IRETHF05.CRE~ SAY NAME1 @64 SAY NAME2 @64 COPY_EXISTING ~SEVPAT02.CRE~ ~override/SEVPAT02.CRE~ SAY NAME1 @65 SAY NAME2 @65 COPY_EXISTING ~KORPIMG1.CRE~ ~override/KORPIMG1.CRE~ SAY NAME1 #30490 SAY NAME2 #30490 COPY_EXISTING ~SEVDRU01.CRE~ ~override/SEVDRU01.CRE~ /* Alatelo De Bonito */ WRITE_SHORT ~0x273~ ~01~ /* Changes class from Innocent to Mage */ //COPY_EXISTING ~imoen2.bcs~ ~override/imoen2.bcs~ //EXTEND_TOP ~imoen2.bcs~ ~ub/misc/ubimoen2.baf~ PRINT @96 COPY_EXISTING_REGEXP GLOB ~.*\.cre~ ~override~ /* Imoen biography restoration */ READ_ASCII 0x280 "dv" READ_LONG 0x1CC "bio" WHILE (("Imoen2" STRING_COMPARE "%dv%" = 0) AND ("%bio%" = 10233)) BEGIN WRITE_LONG 0x1cc 2838 SET "dv" = 0 END BUT_ONLY_IF_IT_CHANGES //Doesn't need translating; pertinent to English version only. STRING_SET ~IMOEN is a shadow of her former self, but responds to your inquiries with as much of a smile as she can muster. Obviously shaken by the revelations about your shared origins, she seems determined to make the best of things, despite the uncharacteristic that has now made its presence known within her. The taint of Bhaal was slow to manifest, kept at bay by her carefree outlook, but now the strength of it has shaken her. She is scared of what she might become, and the insight she has gained has made her more concerned about your condition as well. ~ ~IMOEN is a shadow of her former self, but responds to your inquiries with as much of a smile as she can muster. Obviously shaken by the revelations about your shared origins, she seems determined to make the best of things, despite the uncharacteristic taint that has now made its presence known within her. The taint of Bhaal was slow to manifest, kept at bay by her carefree outlook, but now the strength of it has shaken her. She is scared of what she might become, and the insight she has gained has made her more concerned about your condition as well.~ //////////////////////////// //////////////////////////// // Restored Minor Dialogs // //////////////////////////// //////////////////////////// BEGIN @54 COPY ~ub/ubnull.itm~ ~override/ubdialog.xxx~ //null file to identify this component COMPILE ~ub/dialogs/u!minor.d~ ~ub/dialogs/obshal03.d~ USING ~ub/tra/%s/ubdialog.tra~ //Planar Sphere Feral Halflings stuff //COPY_EXISTING ~OBSHAL01.CRE~ ~override/OBSHAL01.CRE~ // Planar Sphere Feral Halflings //WRITE_ASCII ~0x248~ ~shoutdlg~ // Assign script to initiate dialog //WRITE_ASCII ~0x250~ ~gpshout~ //WRITE_ASCII ~0x258~ ~obshal01~ //COPY_EXISTING ~OBSHAL03.CRE~ ~override/OBSHAL03.CRE~ // Planar Sphere Feral Halflings //WRITE_ASCII ~0x248~ ~shoutdlg~ // Assign script to initiate dialog //WRITE_ASCII ~0x250~ ~gpshout~ //WRITE_ASCII ~0x258~ ~obshal03~ //WRITE_ASCII ~0x260~ ~lowbye~ COPY_EXISTING ~OBSHAL04.CRE~ ~OVERRIDE~ WRITE_ASCII 0x0250 ~~ #8 // Shouldn't have OBSHAL01 script BUT_ONLY_IF_IT_CHANGES <<<<<<<< .../ub/halflings/fixer.baf IF See([2]) Global("TALKED","LOCALS",0) THEN RESPONSE #100 SetGlobal("TALKED","LOCALS",1) StartDialogueNoSet(LastSeenBy(Myself)) END >>>>>>>> EXTEND_TOP ~OBSHAL01.BCS~ ~.../ub/halflings/fixer.baf~ EXTEND_TOP ~OBSHAL03.BCS~ ~.../ub/halflings/fixer.baf~ <<<<<<<< .../ub/halflings/fixer.d REPLACE ~OBSHAL01~ IF ~~ 1 SAY #33115 IF ~~ EXIT END IF ~~ 2 SAY #33116 IF ~~ EXIT END IF ~~ 3 SAY #33117 IF ~~ EXIT END END REPLACE ~OBSHAL03~ IF ~NumTimesTalkedTo(0)~ 0 SAY #33118 + ~~ + #33119 + 2 + ~~ + #33120 + 1 + ~~ + #33122 + 3 + ~InParty("MINSC")~ + #33133 EXTERN ~MINSCJ~ 63 END IF ~~ 1 SAY #33121 IF ~~ EXIT END IF ~~ 2 SAY #33123 IF ~~ EXIT END IF ~~ 3 SAY #33124 IF ~~ EXIT END IF ~~ 4 SAY #33135 IF ~~ EXIT END END >>>>>>>> COMPILE ~.../ub/halflings/fixer.d~ // Replaces duplicate DOCSOL02 with DOCSOL03 in Docks Barracks COPY_EXISTING ~ar0332.are~ ~override/ar0332.are~ WRITE_ASCII 0x3bc ~DOCSOL03~ //Simyaz and the Silver Sword in the Underdark. COPY_EXISTING ~UDSIMYAZ.DLG~ ~override/UDSIMYAZ.DLG~ DECOMPILE_DLG_TO_D REPLACE_TEXTUALLY ~ReactionGT(LastTalkedToBy,FRIENDLY_UPPER)~ ~Reaction(LastTalkedToBy,FRIENDLY_UPPER)~ COMPILE_D_TO_DLG // fixes Glacias charm issue COPY_EXISTING ~ar1303.bcs~ ~override~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~ApplySpell("kpglai01",WIZARD_TRUE_DISPEL_MAGIC)~ ~ActionOverride("kpglai01",ApplySpell("kpglai01",FORCE_DISPEL_MAGIC))~ REPLACE_TEXTUALLY ~ChangeEnemyAlly("kpglai01",NEUTRAL)~ ~ActionOverride("kpglai01",ChangeEnemyAlly("kpglai01",NEUTRAL))~ COMPILE_BAF_TO_BCS //Imoen213 script COPY_EXISTING ~imoen213.cre~ ~override~ WRITE_ASCII 0x248 ~Imoen2~ // Count Claylan and Lady Alicia COPY_EXISTING ~wcust01.cre~ ~override~ WRITE_ASCII 0x280 "wcust01" COPY_EXISTING ~wcust02.cre~ ~override~ WRITE_ASCII 0x280 "wcust02" //devSin's code for load hints ACTION_IF FILE_EXISTS_IN_GAME ~saradush.mve~ THEN BEGIN // ToB-only stuff check // adds load hints for ToB APPEND ~LOADH25.2DA~ ~79 34572~ UNLESS ~^79\b~ APPEND ~LOADHINT.2DA~ ~75 34572~ UNLESS ~^75\b~ APPEND ~LOADHINT.2DA~ ~76 72818~ UNLESS ~^76\b~ //Carras in Amkethran COMPILE ~ub/dialogs/minortob.d~ END //////////////////////////////// //////////////////////////////// // Restored Bhaalspawn Powers // //////////////////////////////// //////////////////////////////// /* AUTHOR ~David Gaider~ */ BEGIN @68 REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~saradush.mve~ @69 COPY ~ub/ubnull.itm~ ~override/ubpower.xxx~ //null file to identify this component EXTEND_TOP ~AR4500.bcs~ ~ub/powers/u!4500.baf~ //Dark Taint fix COPY ~ub/bhaalpowers/BHAAL2B.SPL~ ~override/BHAAL2B.SPL~ //Hand of Murder fix COPY_EXISTING ~SAREVEFF.EFF~ ~override/BH3B1.EFF~ WRITE_EVALUATED_ASCII 0x30 ~%DEST_RES%~ #8 COPY_EXISTING ~SAREVEFF.EFF~ ~override/BH3B2.EFF~ WRITE_EVALUATED_ASCII 0x30 ~%DEST_RES%~ #8 COPY_EXISTING ~SAREVEFF.EFF~ ~override/BH3B3.EFF~ WRITE_EVALUATED_ASCII 0x30 ~%DEST_RES%~ #8 COPY_EXISTING ~SAREVEFF.EFF~ ~override/BH3B4.EFF~ WRITE_EVALUATED_ASCII 0x30 ~%DEST_RES%~ #8 COPY_EXISTING ~SAREVEFF.EFF~ ~override/BH3B5.EFF~ WRITE_EVALUATED_ASCII 0x30 ~%DEST_RES%~ #8 //////////////////////////////////// //////////////////////////////////// // Extended ToB Item Descriptions // //////////////////////////////////// //////////////////////////////////// BEGIN @73 REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~saradush.mve~ @69 COPY ~ub/ubnull.itm~ ~override/ubtobitm.xxx~ //null file to identify this component COPY_EXISTING ~FIGURE01.itm~ ~override/FIGURE01.itm~ SAY IDENTIFIED_DESC @74 COPY_EXISTING ~SW1H63.itm~ ~override/SW1H63.itm~ SAY IDENTIFIED_DESC @75 COPY_EXISTING ~SPER12.itm~ ~override/SPER12.itm~ SAY IDENTIFIED_DESC @76 COPY_EXISTING ~BLUN27.itm~ ~override/BLUN27.itm~ SAY IDENTIFIED_DESC @77 COPY_EXISTING ~QUIVER01.itm~ ~override/QUIVER01.itm~ SAY IDENTIFIED_DESC @78 COPY_EXISTING ~BLUN29.itm~ ~override/BLUN29.itm~ SAY IDENTIFIED_DESC @79 COPY_EXISTING ~SHLD31.itm~ ~override/SHLD31.itm~ SAY IDENTIFIED_DESC @80 COPY_EXISTING ~SW2H19.itm~ ~override/SW2H19.itm~ SAY IDENTIFIED_DESC @99 COPY_EXISTING ~BLUN30.itm~ ~override/BLUN30.itm~ SAY IDENTIFIED_DESC @100 COPY_EXISTING ~BLUN30C.itm~ ~override/BLUN30C.itm~ SAY IDENTIFIED_DESC @101 COPY_EXISTING ~BLUN30D.itm~ ~override/BLUN30D.itm~ SAY IDENTIFIED_DESC @102 //////////////////////////////////////// //////////////////////////////////////// // Throne of Bhaal Minor Restorations // //////////////////////////////////////// //////////////////////////////////////// BEGIN @95 REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~saradush.mve~ @69 /*ACTION_IF NOT FILE_EXISTS_IN_GAME ~saradush.mve~ THEN BEGIN FAIL @69 END*/ COPY_EXISTING ~sarevok.cre~ ~override~ WRITE_LONG 0x260 0x00000000 WRITE_LONG 0x264 0x00000000 ACTION_IF NOT FILE_EXISTS ~override/sarev25.bcs~ THEN BEGIN COPY_EXISTING ~sarevok.bcs~ ~override/sarev25.bcs~ END ELSE BEGIN COPY_EXISTING ~inp1ivsg.bcs~ ~override~ EXTEND_TOP ~sarev25.bcs~ ~override/inp1ivsg.bcs~ END // Restored Quiver of Plenty icons COPY_EXISTING ~QUIVER01.itm~ ~override~ ~QUIVER03.itm~ ~override~ WRITE_ASCII 0x3a "IQUIVER0" WRITE_ASCII 0x44 "GQUIVER0" COPY_EXISTING ~QUIVER02.itm~ ~override~ ~QUIVER04.itm~ ~override~ WRITE_ASCII 0x44 "GQUIVER0" // Cold Mistress in Saradush <<<<<<<< .../ub/ding0/coldmiss/ar0500.baf IF !Global("D0SpawnCold","AR5000",1) THEN RESPONSE #100 SetGlobal("D0SpawnCold","AR5000",1) CreateCreature("sarmist",[910.2343],6) // Cold Mistress CreateCreature("sarcult",[824.2310],0) // Human Cultist CreateCreature("sarcult2",[962.2276],0) // Human Cultist CreateCreature("sarculto",[875.2273],0) // Orc Cultist END >>>>>>>> <<<<<<<< .../ub/ding0/coldmiss/dialog.d APPEND SARMIST IF WEIGHT #-1 ~NumTimesTalkedTo(0)~ THEN BEGIN Embrace1 SAY ~Come, believers. Feel my chilling embrace. Embrace death...~ IF ~~ THEN DO ~SetCutsceneLite(TRUE) ForceSpell("sarculto",DO_NOTHING) SmallWait(2) Kill("sarculto") Wait(1) StartDialogNoSet(LastTalkedToBy(Myself))~ EXIT END END >>>>>>>> COPY_EXISTING ~sarmist.cre~ ~override~ SAY 0xa4 #61744 SAY 0x10c #61744 WRITE_ASCII 0x248 "SHOUTDLG" EXTEND_BOTTOM ~AR5000.BCS~ ~.../ub/ding0/coldmiss/ar0500.baf~ COMPILE ~.../ub/ding0/coldmiss/dialog.d~ /////////////////// /////////////////// // Justifier Kit // /////////////////// /////////////////// /* AUTHOR ~andyr@gibberlings3.net~ */ BEGIN @81 COPY ~ub/rangerkits/A#justif.2DA~ ~override/A#justif.2DA~ COPY_EXISTING ~SPCL331.SPL~ ~override/A#just01.SPL~ WRITE_LONG 0x9e 10 WRITE_LONG 0xce 10 COPY ~ub/rangerkits/A#just02.SPL~ ~override/A#just02.SPL~ COPY ~ub/rangerkits/A#justns.SPL~ ~override/A#justns.SPL~ SAY NAME1 #-1 SAY NAME2 #-1 COPY_EXISTING ~SPPR103.spl~ ~override/A#justcl.spl~ // Cure Light Wounds WRITE_SHORT 0x1C 4 // sets spell type to innate (4) READ_LONG 0x64 "offset_abil" // reads offset of first ability READ_SHORT 0x68 "num_abil" // reads total number of abilities WHILE (0 < "%num_abil%") // loops once for every ability BEGIN WRITE_SHORT (("%offset_abil%" + 0x02) + (("%num_abil%" - 1) * 0x28)) 4 // changes ability icon location to innate (4) SET "num_abil" = ("%num_abil%" - 1) END COPY_EXISTING ~SPPR111.spl~ ~override/A#justaf.spl~ // Armour of Faith WRITE_SHORT 0x1C 4 // sets spell type to innate (4) READ_LONG 0x64 "offset_abil" // reads offset of first ability READ_SHORT 0x68 "num_abil" // reads total number of abilities WHILE (0 < "%num_abil%") // loops once for every ability BEGIN WRITE_SHORT (("%offset_abil%" + 0x02) + (("%num_abil%" - 1) * 0x28)) 4 // changes ability icon location to innate (4) SET "num_abil" = ("%num_abil%" - 1) END COPY_EXISTING ~SPWI209.spl~ ~override/A#justlu.spl~ // Luck WRITE_SHORT 0x1C 4 // sets spell type to innate (4) READ_LONG 0x64 "offset_abil" // reads offset of first ability READ_SHORT 0x68 "num_abil" // reads total number of abilities WHILE (0 < "%num_abil%") // loops once for every ability BEGIN WRITE_SHORT (("%offset_abil%" + 0x02) + (("%num_abil%" - 1) * 0x28)) 4 // changes ability icon location to innate (4) SET "num_abil" = ("%num_abil%" - 1) END COPY_EXISTING ~SPPR108.spl~ ~override/A#justrf.spl~ // Remove Fear WRITE_SHORT 0x1C 4 // sets spell type to innate (4) READ_LONG 0x64 "offset_abil" // reads offset of first ability READ_SHORT 0x68 "num_abil" // reads total number of abilities WHILE (0 < "%num_abil%") // loops once for every ability BEGIN WRITE_SHORT (("%offset_abil%" + 0x02) + (("%num_abil%" - 1) * 0x28)) 4 // changes ability icon location to innate (4) SET "num_abil" = ("%num_abil%" - 1) END ADD_KIT ~A#JUSTIFIER~ // CLASWEAP.2DA Weapons class can use. ~A#JUSTIFIER 1 1 1 1 1 1 1 1~ // WEAPPROF.2DA, starting with line 3. Proficiencies allowed. ~A#JUSTIFIER 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5~ // ABCLASRQ.2DA Stat requirements. ~A#JUSTIFIER 13 13 14 0 14 0~ // ABCLSMOD.2DA Stat modifiers. ~A#JUSTIFIER 0 0 0 0 0 0~ // ABDCDSRQ.2DA Dualclass requirements. ~A#JUSTIFIER 17 17 0 0 17 0~ // ABDCSCRQ.2DA Dualclass requirements. ~A#JUSTIFIER 15 15 0 0 15 0~ // ALIGNMNT.2DA Permitted alignments. ~A#JUSTIFIER 1 0 0 0 0 0 0 0 0~ // DUALCLAS.2DA Dualclass classes. ~A#JUSTIFIER 0 0 0 0 0 0~ // Abilities 2DA file ~override/A#justif.2DA~ // KITTABLE.2DA What sort of kit it is. R = ranger. ~K_R_H K_R_HE K_R_E~ // KITLIST.2DA Number is the class it is a kit for. Ranger = 12. ~0x00004000 12~ // LUABBR.2DA HLAs. ~ra0~ // 25STWEAP.2DA ToB starting equipment. ~LEAT20 * HELM19 BAG27 RING06 RING31 CLCK02 BOOT01 AMUL19 BRAC14 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN04,2 POTN14,5 HAMM07 SW1H27 STAF08~ // Strings for lower, mixed and help descriptions. First two are names for ingame, the third is the description. SAY @82 SAY @83 SAY @84 ///////////////// ///////////////// // Feralan Kit // ///////////////// ///////////////// /* AUTHOR ~andyr@gibberlings3.net~ */ BEGIN @85 COPY_EXISTING_REGEXP GLOB ~.*\.itm~ ~override~ PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files SET "armor_patch" = 0 SET "other_patch" = 0 READ_BYTE 0x1C "type" READ_BYTE 0x1E "bard" READ_BYTE 0x21 "druid" READ_BYTE 0x29 "shapeshifter" WHILE ("%armor_patch%" = 0) AND (("%shapeshifter%" BAND 0b00010000) = 0b00000000) AND // if usable by shapeshifters (("%type%" = 2) OR // Armor ("%type%" = 60) OR // Leather Armor ("%type%" = 61) OR // Studded Leather Armor ("%type%" = 62) OR // Chain Mail ("%type%" = 63) OR // Splint Mail ("%type%" = 64) OR // Half plate ("%type%" = 65) OR // Full plate ("%type%" = 67) OR // Robes ("%type%" = 66)) // Hide armor BEGIN WRITE_BYTE 0x29 ("%shapeshifter%" BOR 0b00010000) // making sure that all armor is unusable by shapeshifters SET "armor_patch" = 1 END WHILE ("%other_patch%" = 0) AND (("%shapeshifter%" BAND 0b00010000) = 0b00010000) AND // and unusable by shapeshifters (("%druid%" BAND 0b01000000) = 0b01000000) AND NOT // and unusable by druids (("%type%" = 2) OR // Armor ("%type%" = 60) OR // Leather Armor ("%type%" = 61) OR // Studded Leather Armor ("%type%" = 62) OR // Chain Mail ("%type%" = 63) OR // Splint Mail ("%type%" = 64) OR // Half plate ("%type%" = 65) OR // Full plate ("%type%" = 67) OR // Robes ("%type%" = 66)) // Hide armor BEGIN WRITE_BYTE 0x29 ("%shapeshifter%" BAND 0b11101111) // make usable by shapeshifters SET "other_patch" = 1 END END BUT_ONLY_IF_IT_CHANGES COPY_EXISTING ~SPCL331.SPL~ ~override/A#fera01.SPL~ WRITE_LONG 0x9e 10 WRITE_LONG 0xce 10 COPY_EXISTING ~SPCL321.SPL~ ~override/A#fera02.SPL~ SAY NAME1 @86 COPY ~ub/rangerkits/A#fera03.SPL~ ~override/A#fera03.SPL~ SAY NAME1 @87 COPY ~ub/rangerkits/A#fera01.CRE~ ~override/A#fera01.CRE~ SAY NAME1 @88 SAY NAME2 @88 COPY ~ub/rangerkits/A#fera02.CRE~ ~override/A#fera02.CRE~ SAY NAME1 @89 SAY NAME2 @89 COPY ~ub/rangerkits/A#fera03.CRE~ ~override/A#fera03.CRE~ SAY NAME1 @90 SAY NAME2 @90 COPY ~ub/rangerkits/A#fera04.CRE~ ~override/A#fera04.CRE~ SAY NAME1 @91 SAY NAME2 @91 COPY ~ub/rangerkits/A#fera01.EFF~ ~override/A#fera01.EFF~ COPY ~ub/rangerkits/A#fera02.EFF~ ~override/A#fera02.EFF~ COPY ~ub/rangerkits/A#fera03.EFF~ ~override/A#fera03.EFF~ COPY ~ub/rangerkits/A#fera04.EFF~ ~override/A#fera04.EFF~ COPY ~ub/rangerkits/A#feral.2DA~ ~override/A#feral.2DA~ ADD_KIT ~A#FERALAN~ // CLASWEAP.2DA Weapons class can use. ~A#FERALAN 1 1 1 1 1 1 1 1~ // WEAPPROF.2DA, starting with line 3. Proficiencies allowed. ~A#FERALAN 1 1 2 2 2 1 2 2 1 1 1 2 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5~ // ABCLASRQ.2DA Stat requirements. ~A#FERALAN 13 13 14 0 14 0~ // ABCLSMOD.2DA Stat modifiers. ~A#FERALAN 0 0 0 0 0 -2~ // ABDCDSRQ.2DA Dualclass requirements. ~A#FERALAN 17 17 0 0 17 0~ // ABDCSCRQ.2DA Dualclass requirements. ~A#FERALAN 15 15 0 0 15 0~ // ALIGNMNT.2DA Permitted alignments. ~A#FERALAN 0 0 0 1 0 0 1 0 0~ // DUALCLAS.2DA Dualclass classes. ~A#FERALAN 0 1 0 0 0 0~ // Abilities 2DA file ~override/A#feral.2DA~ // KITTABLE.2DA What sort of kit it is. R = ranger. ~K_R_H K_R_HE K_R_E~ // KITLIST.2DA Number is the class it is a kit for. Ranger = 12. ~0x10000000 12~ // LUABBR.2DA HLAs. ~ra0~ // 25STWEAP.2DA ToB starting equipment. ~* * HELM19 BAG27 RING06 RING31 CLCK02 BOOT01 AMUL19 BRAC14 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN04,2 POTN14,5 HAMM07 SW1H27 STAF08~ // Strings for lower, mixed and help descriptions. First two are names for ingame, the third is the description. SAY @92 SAY @93 SAY @94 /////////////////////// // Sarevok's Remorse // /////////////////////// // Authors: Sovran saarenvelho@hotmail.com // Winterine winterine@gmail.com BEGIN @1000 REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~saradush.mve~ @69 COPY ~ub/sarevok/u!sbook0.bam~ ~override/u!sbook0.bam~ COPY ~ub/sarevok/U!SBOOK0.ITM~ ~override/U!SBOOK1.ITM~ SAY NAME1 @1004 SAY NAME2 @1004 SAY DESC @1001 COPY ~ub/sarevok/U!SBOOK0.ITM~ ~override/U!SBOOK2.ITM~ SAY NAME1 @1004 SAY NAME2 @1004 SAY DESC @1002 COPY ~ub/sarevok/U!SBOOK0.ITM~ ~override/U!SBOOK3.ITM~ SAY NAME1 @1004 SAY NAME2 @1004 SAY DESC @1003 COPY ~ub/sarevok/U!SWAKIZ.ITM~ ~override/U!SWAKIZ.ITM~ SAY UNIDENTIFIED_DESC @1005 ACTION_IF NOT FILE_EXISTS ~override/sarev25.bcs~ THEN BEGIN COPY_EXISTING ~sarevok.bcs~ ~override/sarev25.bcs~ EXTEND_TOP ~sarev25.bcs~ ~ub/sarevok/u!sare.baf~ END ELSE BEGIN EXTEND_TOP ~sarev25.bcs~ ~ub/sarevok/u!sare.baf~ END EXTEND_TOP ~yoshimo.bcs~ ~ub/sarevok/u!syosh.baf~ COPY_EXISTING ~SAREVND.2da~ ~override/SAREVND.2da~ SET_2DA_ENTRY 0 0 2 ~U!SARE 0~ SET_2DA_ENTRY 2 2 3 ~U!SAREVND~ SET_2DA_ENTRY 0 0 3 ~~ REPLACE ~U!SAREVND~ @1298 COMPILE ~ub/sarevok/u!sare.d~ USING ~ub/tra/%s/u!sare.tra~