lac Posted October 19, 2008 Share Posted October 19, 2008 I am playing a BG Tutu game. When you kill Daevorn in the Cloakwood mines, he drops a bag of holding. I am fine with that idea, but it is the wrong bag of holding. Instead of being an empty one, it is one of the ToB full ones, stuffed with magic items suitable for a char that had completed SoA. The weapons are completely overpowered for BG1. How do I find out whose mod is adding the item so I can suggest that they add a plain bag of holding instead? Laura Link to comment
Gabrielle Posted October 19, 2008 Share Posted October 19, 2008 You didn't say what mods you have installed. You can always open the TP2 with Notepad or Wordpad, do a search for a Bag of Holding and find it that way. Link to comment
lac Posted October 19, 2008 Author Share Posted October 19, 2008 You didn't say what mods you have installed. You can always open the TP2 with Notepad or Wordpad, do a search for a Bag of Holding and find it that way. I have tons of them installed. But whatever one has done this should mention bag of holding in the tp2? Or, since this is loot that is on a particular corpse -- Daeveron -- in do I have to look for whoever is modifying this creature? If so, how do I recognise Daeveron in a tp file? Laura weidu log here // Log of Currently Installed WeiDU Mods // The top of the file is the 'oldest' mod // ~TP2_File~ #language_number #component_number // [subcomponent Name -> ] Component Name [ : Version] ~SETUP-TUTUFIX.TP2~ #0 #2 // Restored BG1 Loadscreens ~SETUP-TUTUFIX.TP2~ #0 #3 // BG2 Ammo Stacks ~SETUP-TUTUFIX.TP2~ #0 #4 // Totemic Druid Spirit Summons are Balanced ~SETUP-TUTUFIX.TP2~ #0 #5 // BG1 Summoning Spells ~SONG_AND_SILENCE/SETUP-SONG_AND_SILENCE.TP2~ #0 #1 // Add new bardic store and thief items: v3 ~SETUP-LOSTITEMS.TP2~ #0 #0 // Lost Items ~BGQE/SETUP-BGQE.TP2~ #0 #0 // Baldur's Gate Mini-Quests and Encounters Mod: 3 ~SETUP-TGC1E.TP2~ #0 #0 // The Grey Clan Episode One: In Candlelight, BG1TUTU edition v1.10 -> Normal edition ~SETUP-SIRINESCALL.TP2~ #0 #0 // The Lure of the Sirine's Call: v8 ~BG1UB/SETUP-BG1UB.TP2~ #0 #0 // Ice Island Level Two Restoration ~BG1UB/SETUP-BG1UB.TP2~ #0 #1 // The Mysterious Vial ~BG1UB/SETUP-BG1UB.TP2~ #0 #2 // Additional Elminster Encounter ~BG1UB/SETUP-BG1UB.TP2~ #0 #8 // Safana the Flirt ~BG1UB/SETUP-BG1UB.TP2~ #0 #9 // Appropriate Albert and Rufie Reward ~BG1UB/SETUP-BG1UB.TP2~ #0 #10 // Place Entar Silvershield in His Home ~BG1UB/SETUP-BG1UB.TP2~ #0 #11 // Scar and the Sashenstar's Daughter ~BG1UB/SETUP-BG1UB.TP2~ #0 #12 // Quoningar, the Cleric ~BG1UB/SETUP-BG1UB.TP2~ #0 #13 // Shilo Chen and the Ogre-Magi ~BG1UB/SETUP-BG1UB.TP2~ #0 #14 // Edie, the Merchant League Applicant ~BG1UB/SETUP-BG1UB.TP2~ #0 #15 // Flaming Fist Mercenary Reinforcements ~BG1UB/SETUP-BG1UB.TP2~ #0 #16 // Creature Corrections ~BG1UB/SETUP-BG1UB.TP2~ #0 #17 // Creature Restorations ~BG1UB/SETUP-BG1UB.TP2~ #0 #18 // Creature Name Restorations ~BG1UB/SETUP-BG1UB.TP2~ #0 #20 // Audio Restorations ~BG1UB/SETUP-BG1UB.TP2~ #0 #21 // Store, Tavern and Inn Fixes and Restorations ~BG1UB/SETUP-BG1UB.TP2~ #0 #22 // Item Corrections and Restorations ~BG1UB/SETUP-BG1UB.TP2~ #0 #23 // Area Corrections and Restorations ~BG1UB/SETUP-BG1UB.TP2~ #0 #24 // Permanent Corpses ~BG1UB/SETUP-BG1UB.TP2~ #0 #25 // Elven Charm and Sleep Racial Resistance ~BG1UB/SETUP-BG1UB.TP2~ #0 #26 // The Original Saga Music Playlist Corrections ~BG1UB/SETUP-BG1UB.TP2~ #0 #27 // Sarevok's Diary Corrections ~BG1NPC.TP2~ #0 #0 // The BG1 NPC Project: Required Modifications: v16 ~BG1NPC.TP2~ #0 #1 // The BG1 NPC Project: Banters, Quests, and Interjections: v16 ~BG1NPC.TP2~ #0 #8 // The BG1 NPC Project: Add Non-Joinable NPC portraits to quests and dialogues: v16 ~BG1NPC.TP2~ #0 #9 // The BG1 NPC Project: Ajantis Romance Core (teen content): v16 ~BG1NPC.TP2~ #0 #10 // The BG1 NPC Project: Branwen's Romance Core (teen content): v16 ~BG1NPC.TP2~ #0 #11 // The BG1 NPC Project: Coran's Romance Core (adult content): v16 ~BG1NPC.TP2~ #0 #12 // The BG1 NPC Project: Dynaheir's Romance Core (teen content): v16 ~BG1NPC.TP2~ #0 #13 // The BG1 NPC Project: Shar-Teel Relationship Core (adult content): v16 ~BG1NPC.TP2~ #0 #14 // The BG1 NPC Project: Xan's Romance Core (teen content): v16 ~BG1NPC.TP2~ #0 #15 // The BG1 NPC Project: Female Romance Challenges, Ajantis vs Xan vs Coran: v16 ~BG1NPC.TP2~ #0 #16 // The BG1 NPC Project: NPCs can be sent to wait in an inn: v16 ~BG1NPC.TP2~ #0 #18 // The BG1 NPC Project: Alora's Starting Location -> Alora Starts in Gullykin.: v16 ~BG1NPC.TP2~ #0 #20 // The BG1 NPC Project: Eldoth's Starting Location -> Eldoth Starts on the Coast Way.: v16 ~BG1NPC.TP2~ #0 #22 // The BG1 NPC Project: Quayle's Starting Location -> Quayle Starts at the Nashkel Carnival.: v16 ~BG1NPC.TP2~ #0 #24 // The BG1 NPC Project: Tiax's Starting Location -> Tiax Starts in Beregost.: v16 ~BG1NPC.TP2~ #0 #26 // The BG1 NPC Project: Make Shar-Teel Unkillable until In Party: v16 ~BG1NPC.TP2~ #0 #27 // The BG1 NPC Project: Bardic Reputation Adjustment: v16 ~BG1NPC.TP2~ #0 #29 // The BG1 NPC Project: Cloakwood areas availability in Chapter One -> Open four Cloakwood areas (everything but the Mines): v16 ~BG1NPC.TP2~ #0 #30 // The BG1 NPC Project: Sarevok's Diary Adjustments -> SixofSpades Extended Sarevok's Diary: v16 ~BG1NPC.TP2~ #0 #200 // The BG1 NPC Project: Player-Initiated Dialogues: v16 ~BG1NPCMUSIC/BG1NPCMUSIC.TP2~ #0 #0 // The BG1 NPC Project Music Pack -> Install All Audio: v5 ~XANBG2VOICE/SETUP-XANBG2VOICE.TP2~ #0 #0 // Xan's BG2 voice for BG1, v2 ~XANBG1FRIEND/SETUP-XANBG1FRIEND.TP2~ #0 #0 // Xan's friendship path for BG1, v4 ~CORANBGFRIEND/CORANBGFRIEND.TP2~ #0 #0 // Coran's Extended BG Friendship Talks, v1, October 20, 2007: v2 ~AJANTISBG1/SETUP-AJANTISBG1.TP2~ #0 #0 // Installs Ajantis BG1 Expansion Modification: 1 ~SETUP-FINCHNPCV3.TP2~ #0 #0 // Finch NPC for Tutu v3.0 ~SETUP-INDINPC.TP2~ #0 #0 // Indira NPC for BG1Tutu ~MUR'NETH.TP2~ #0 #0 // The Mur'Neth NPC mod for Baldur's Gate Tutu or Baldur's Gate Trilogy-WeiDU ~MUR'NETH.TP2~ #0 #1 // Remove Rare selection sounds ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #0 // Install Longhaired Female Elven Mage Avatars ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #1 // Install Female Cleric and Druid Avatars ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #2 // Install Male Half-Orc Paperdoll ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #3 // Install Longhaired Female Human Fighter Avatars in Full Plate Armor ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #4 // Install Male Human Barbarian Avatars ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #5 // Install Male Human Mage Avatars ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #6 // Install Female Human Mage Avatars ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #7 // Install Ninja Avatars (replaces Male Monk) ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #8 // Install Ninja Avatars (replaces Female Monk) ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #9 // Install Female Human Rogue Avatars ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #10 // Install Male Vampire Avatars ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #11 // Install Female Vampire Avatars ~MOINESSEAVATARS/MOINESSEAVATARS.TP2~ #0 #12 // Use Male Vampire Avatars for Human Male Thieves ~1PP/1PP.TP2~ #0 #0 // 1PP: Everything but Potions ~1PP/1PP.TP2~ #0 #1 // New Potion Graphics ~PLASMOBG1BG2/PLASMOBG1BG2.TP2~ #0 #0 // Plasmocat's BG1 NPC Portraits in BG2 Style: v2 ~PLASMOBG1BG2/PLASMOBG1BG2.TP2~ #0 #1 // Plasmocat's BG1 Imoen Portraits -> Plasmocat's BG1 NPC Choices: Imoen #1, BG2 (ruffles): v2 ~PLASMOBG1BG2/PLASMOBG1BG2.TP2~ #0 #3 // Plasmocat's BG1 Xzar Portraits -> Plasmocat's BG1 NPC Choices: Xzar #1, BG2 (red): v2 ~PICKS_OF_THE_LITTER/PICKS_OF_THE_LITTER.TP2~ #0 #0 // Plasmocat's Picks of the Litter Portrait Pack: v2 ~IMPROVEDBAMS/IMPROVEDBAMS.TP2~ #0 #0 // Improved Inventory BAMs ~SETUP-LACSBGPORTRAITS.TP2~ #0 #0 // Lac's Customized Portraits for NPCs: v1 ~SETUP-ESERIES.TP2~ #0 #0 // eSeries v1.8 ~SETUP-GMINION.TP2~ #0 #0 // gMinion v1.8 ~SETUP-OVERSIGHT.TP2~ #0 #7 // Holy Liberator ~SWORD_AND_FIST/SETUP-SWORD_AND_FIST.TP2~ #0 #1 // Monk Remix ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #0 // Divine Remix Core Components (Required for Everything) ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #100 // Cleric Remix ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #103 // Install Silverstar of Selune Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #106 // Install Nightcloak of Shar Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #109 // Install Battleguard of Tempus Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #112 // Install Painbearer of Ilmater Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #115 // Install Firewalker of Kossuth Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #118 // Install Authlim of Iyachtu Xvim Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #121 // Install Lorekeeper of Oghma Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #124 // Install Heartwarder of Sune Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #127 // Install Feywarden of Corellon Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #130 // Install Strifeleader of Cyric Cleric Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #200 // Druid Remix ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #203 // Install Oozemaster Druid kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #403 // Install Bowslinger Ranger Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #406 // Install Feralan Ranger Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #409 // Install Forest Runner Ranger Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #412 // Install Justifier Ranger Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #415 // Install Wilderness Runner Ranger Kit ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #600 // Install Battleguard of Tempus Kit for Branwen ~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #610 // Install Nightcloak of Shar Kit for Viconia ~SETUP-D0TWEAK.TP2~ #0 #0 // Enhanced Goodberries ~SETUP-D0TWEAK.TP2~ #0 #17 // Sensible Lore Table ~SETUP-D0TWEAK.TP2~ #0 #19 // NPCs/Summons Set Off Traps -> Everyone can set off traps (excluding illusions, etc.) ~RR/SETUP-RR.TP2~ #0 #0 // Proper dual-wielding implementation for Thieves and Bards: v3.92 ~RR/SETUP-RR.TP2~ #0 #1 // Thief kit revisions: v3.92 ~RR/SETUP-RR.TP2~ #0 #2 // Bard kit revisions: v3.92 ~RR/SETUP-RR.TP2~ #0 #5 // Additional equipment for Thieves and Bards: v3.92 ~RR/SETUP-RR.TP2~ #0 #6 // Revised Thievery -> Use PnP thievery potions and prevent their effects from stacking: v3.92 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #0 // Nythrun's Level 1 NPCs: List party-joinable NPCs (required to install any other components): v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1 // Tweak weapon proficiencies for some classes (a la Ashes of Embers and aVENGER's Rogue Rebalancing?: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3 // Joinable NPCs more closely match the player character's experience?: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1218 // Ajantis Ilvastarr: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1219 // Alora: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1220 // Branwen: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1224 // Faldorn: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1206 // Imoen: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1226 // Kagain: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1228 // Kivan: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1229 // Montaron: v1.1 ~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1215 // Viconia De'Vir: v1.1 ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #40 // Change Viconia's Skin Color to Dark Blue ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #50 // Avatar Morphing Script ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #60 // Weapon Animation Tweaks ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #110 // Icon Improvements ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #130 // Force All Dialogue to Pause Game ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1060 // Breakable Iron Nonmagical Shields, Helms, and Armor ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1070 // Improved Multi-Player Kick-out Dialogues ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1080 // Add Bags of Holding ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1090 // Exotic Item Pack ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1100 // Reveal City Maps When Entering Area ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1110 // Add Map Notes ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1120 // Stores Sell Higher Stacks of Items ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1140 // Gems and Potions Require Identification ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1150 // Shapeshifter Rebalancing ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2090 // Change Experience Point Cap -> Remove Experience Cap ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2140 // Expanded Dual-Class Options ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2150 // Wear Multiple Protection Items -> P&P Restrictions ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2160 // Alter Weapon Proficiency System -> Rebalanced Weapon Proficiencies ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2170 // Cast Spells from Scrolls (and Other Items) at Character Level ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2192 // Limit Ability of Storekeepers to Identify Items -> Hybrid of Both Methods ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2210 // True Grandmastery (Baldurdash) ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2240 // Un-Nerfed THAC0 Table ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2250 // Un-Nerfed Sorcerer Spell Progression Table ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2261 // Alter Mage Spell Progression Table -> PnP Table ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2310 // Add Save Penalties for Spells Cast by High-Level Casters (BETA) -> Arcane Magic Only ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3000 // Higher HP on Level Up -> Maximum ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3010 // Maximum HP for NPCs (the bigg) -> For All Creatures in Game ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3060 // Remove "You Must Gather Your Party..." Sound (Weimer) ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3080 // Unlimited Ammo Stacking ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3090 // Unlimited Gem and Jewelry Stacking ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3121 // Happy Patch (Party NPCs do not fight or complain about reputation) -> NPCs can be angry about reputation but never leave (Salk) ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3125 // Neutral Characters Make Happy Comments at Mid-Range Reputation ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3200 // Sellable Items (Icelus) ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3210 // Minimum Stats Cheat ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #4000 // Adjust Evil joinable NPC reaction rolls ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #4020 // ToB-Style NPCs ~SETUP-EASYTUTUSPAWNRANDOMIZER.TP2~ #0 #5 // EasyTutu Spawn Randomizer -> Base Spawn Chance: 80% ~SETUP-EASYTUTUSPAWNRANDOMIZER.TP2~ #0 #11 // Respawn Interval Selection -> Respawn Interval: 4 game days ~SETUP-D0TWEAK.TP2~ #0 #11 // Visual Ioun Stones ~SETUP-TUTUGUI.TP2~ #0 #0 // Baldurs Gate I GUI for Tutu, SoA/ToB, or BGT Link to comment
Daulmakan Posted October 19, 2008 Share Posted October 19, 2008 That's from Lost Items. But I wouldn't know why it has such items inside it. Link to comment
Jarno Mikkola Posted October 19, 2008 Share Posted October 19, 2008 But I wouldn't know why it has such items inside it. The bag of holding wasn't cleared as it uses the same code as the BGII:ToB... a newer version might help, or the Milochs mod Unique Containers. Link to comment
Icendoan Posted October 19, 2008 Share Posted October 19, 2008 It uses a BoH that references a store full of those items. Can you tell me the file name of the BoH in question and I will quickly write a fix for it. Actually, no matter, I will draft one now. This is for TuTu, correct? Add this to the bottom of Lost Items .tp2, and then reinstall the mod. BEGIN ~BoH ToB Items fix TUTU ONLY~ ACTION_IF FILE_EXISTS_IN_GAME ~_amul18.itm~ BEGIN //checks for tutu, random tutu only file COPY_EXISTING_REGEXP ~bag.*.sto~ ~override~ //gets the BoH's store files for patching SPRINT item_to_delete ~.*~ LAUNCH_PATCH_MACRO DELETE_STORE_ITEM //deletes ALL items. END BUT_ONLY_IF_IT_CHANGES Not sure if it installs, but it should do. If it fails (Unrecognized Macro) reinstall with the latest WeiDU (version 20800). If it doesn't remove the items, try adding .itm to my SPRINT item_to_delete ~.*~ so it looks like SPRINT item_to_delete ~.*.itm~. Icen Link to comment
lac Posted October 20, 2008 Author Share Posted October 20, 2008 Though my weidu is 20800, this is failing with a parse error. [setup-lostitems.exe] WeiDU version 20800 [setup-lostitems.exe] Using scripting style "BG2" In state 354, I expected one of these tokens: [0] EOF [3] <<<<<<<< [10] EXTEND_TOP_REGEXP [13] GET_DIRECTORY_ARRAY [15] REQUIRE_FILE [16] DEFINE_ACTION_MACRO [18] ADD_MUSIC [26] EXTEND_TOP [27] VERBOSE [29] APPEND_COL [30] ADD_PROJECTILE [36] ELSE [41] DEFINE_PATCH_MACRO [44] LOAD_TRA [50] ALTER_TLK_LIST [71] CLEAR_MEMORY [73] AT_INTERACTIVE_NOW [76] COPY [78] OUTER_PATCH [84] UNINSTALL [87] GET_FILE_ARRAY [91] PRINT [94] ACTION_DEFINE_ASSOCIATIVE_ARRAY [96] ADD_KIT [98] FAIL [99] MKDIR [102] BEGIN [103] COPY_EXISTING_REGEXP [104] COPY_LARGE [108] ACTION_READLN [110] ACTION_DEFINE_ARRAY [112] AT_UNINSTALL [117] AT_INTERACTIVE_UNINSTALL [122] STRING_SET_RANGE [123] OUTER_SPRINT [124] CLEAR_IDS_MAP [126] STRING_SET [127] COPY_KIT [130] AT_EXIT [131] COPY_ALL_GAM_FILES [132] END [137] ALTER_TLK [140] LAUNCH_ACTION_MACRO [150] COMPILE [154] OUTER_WHILE [158] APPEND [163] RANDOM_SEED [191] REINCLUDE [192] EXTEND_BOTTOM [204] SILENT [208] COPY_EXISTING [211] ALTER_TLK_RANGE [213] ACTION_PHP_EACH [222] AT_NOW [223] FORBID_FILE [224] STRING_SET_EVALUATE [230] EXTEND_BOTTOM_REGEXP [236] AT_INTERACTIVE_EXIT [239] OUTER_SET [244] APPEND_OUTER [246] OUTER_FOR [251] INCLUDE [254] OUTER_PATCH_SAVE [255] OUTER_TEXT_SPRINT [268] ACTION_FOR_EACH [270] COPY_RANDOM [282] BIFF [285] ACTION_IF [296] ACTION_BASH_FOR [299] ADD_SPELL Parse error (state 354) at BUT_ONLY_IF_IT_CHANGES [sETUP-LOSTITEMS.TP2] PARSE ERROR at line 932 column 1-22 Near Text: BUT_ONLY_IF_IT_CHANGES GLR parse error [sETUP-LOSTITEMS.TP2] ERROR at line 932 column 1-22 Near Text: BUT_ONLY_IF_IT_CHANGES Parsing.Parse_error ERROR: parsing [sETUP-LOSTITEMS.TP2]: Parsing.Parse_error ERROR: problem parsing TP file [sETUP-LOSTITEMS.TP2]: Parsing.Parse_error FATAL ERROR: Parsing.Parse_error Press ENTER to exit. Link to comment
lac Posted October 20, 2008 Author Share Posted October 20, 2008 here is the complete text of my exe-lostitems.tp2 in case I did something wrong, though I doubt i did so, the instructions were very clear ... you cab see that my end is as you wrote and I paste BACKUP ~LostItems/backup~ AUTHOR ~Vedran, recoded by Ascension64 (http://forums.spellholdstudios.net)~ ////////////////////////////////////////////////////////////////////////////////////////////////// //PATCH_MACRO are_update_offset //for addition of extended headers, this macro updates offsets of all extended headers that occur later than the extended header modified, then updates offsets stored in the variables ////////////////////////////////////////////////////////////////////////////////////////////////// //Variables that need to be defined: // -are_update_offset_increment // -are_update_offset_datatype (can be actor, info, spawn, entrance, container, item, vertex, ambient, variable, door, explored, anim, tiled, song, rest, automap) ////////////////////////////////////////////////////////////////////////////////////////////////// //Other requirements: // -all types of %are_update_offset_datatype%_off must have been read // -the specified %are_update_offset_datatype%_num must have been read ////////////////////////////////////////////////////////////////////////////////////////////////// DEFINE_PATCH_MACRO are_update_offset BEGIN SPRINT are_update_offset_datatype_off "%are_update_offset_datatype%_off" SPRINT are_update_offset_datatype_num "%are_update_offset_datatype%_num" PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "actor")=0)) AND (("%actor_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%actor_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0x54 ("%actor_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "info")=0)) AND (("%info_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%info_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0x5c ("%info_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "spawn")=0)) AND (("%spawn_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%spawn_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0x60 ("%spawn_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "entrance")=0)) AND (("%entrance_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%entrance_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0x68 ("%entrance_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "container")=0)) AND (("%container_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%container_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0x70 ("%container_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "item")=0)) AND (("%item_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%item_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0x78 ("%item_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "vertex")=0)) AND (("%vertex_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%vertex_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0x7c ("%vertex_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "ambient")=0)) AND (("%ambient_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%ambient_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0x84 ("%ambient_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "variable")=0)) AND (("%variable_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%variable_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0x88 ("%variable_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "door")=0)) AND (("%door_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%door_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0xa8 ("%door_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "explored")=0)) AND (("%explored_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%explored_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0xa0 ("%explored_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "anim")=0)) AND (("%anim_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%anim_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0xb0 ("%anim_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "tiled")=0)) AND (("%tiled_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%tiled_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0xb8 ("%tiled_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "song")=0)) AND (("%song_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%song_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0xbc ("%song_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "rest")=0)) AND (("%rest_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%rest_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0xc0 ("%rest_off%" + "%are_update_offset_increment%") END PATCH_IF (NOT (("%are_update_offset_datatype%" STRING_COMPARE_CASE "automap")=0)) AND (("%automap_off%" > EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") OR (("%automap_off%" = EVALUATE_BUFFER "%%are_update_offset_datatype_off%%") AND (EVALUATE_BUFFER "%%are_update_offset_datatype_num%%" = 0))) BEGIN WRITE_LONG 0xc4 ("%automap_off%" + "%are_update_offset_increment%") END READ_LONG 0x54 actor_off READ_LONG 0x5c info_off READ_LONG 0x60 spawn_off READ_LONG 0x68 entrance_off READ_LONG 0x70 container_off READ_LONG 0x78 item_off READ_LONG 0x7c vertex_off READ_LONG 0x84 ambient_off READ_LONG 0x88 variable_off READ_LONG 0xa8 door_off READ_LONG 0xa0 explored_off READ_LONG 0xb0 anim_off READ_LONG 0xb8 tiled_off READ_LONG 0xbc song_off READ_LONG 0xc0 rest_off READ_LONG 0xc4 automap_off END ////////////////////////////////////////////////////////////////////////////////////////////////// ALWAYS AT_INTERACTIVE_EXIT ~VIEW LostItems\LostItems.txt~ END ////////////////////////////////////////////////////////////////////////////////////////////////// BEGIN ~Lost Items~ ACTION_IF FILE_EXISTS_IN_GAME ~_SW1H01.ITM~ THEN BEGIN //Tutu COPY_EXISTING ~_ASHIRU.CRE~ ~override/_ASHIRU.CRE~ REPLACE_CRE_ITEM ~SW1H47~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was _SW1H21 REPLACE_CRE_ITEM ~BOOT08~ #0 #0 #0 ~NONE~ ~BOOTS~ REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~WEAPON2~ COPY_EXISTING ~_BEYN.CRE~ ~override/_BEYN.CRE~ REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~WEAPON2~ //was _DAGG05(20) redundant REPLACE_CRE_ITEM ~BRAC14~ #0 #0 #0 ~NONE~ ~GLOVES~ //was _BRAC02 redundant REPLACE_CRE_ITEM ~BLUN13~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was _HAMM01 redundant COPY_EXISTING ~_BISHOP.CRE~ ~override/_BISHOP.CRE~ REPLACE_CRE_ITEM ~_PLAT05~ #0 #0 #0 ~NONE~ ~ARMOR~ //was redundant REPLACE_CRE_ITEM ~_SHLD06~ #0 #0 #0 ~NONE~ ~SHIELD~ //was redundant REPLACE_CRE_ITEM ~_BLUN03~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was redundant REPLACE_CRE_ITEM ~SLNG07~ #0 #0 #0 ~NONE~ ~WEAPON2~ REPLACE_CRE_ITEM ~BULL04~ #50 #0 #0 ~NONE~ ~QUIVER1~ COPY_EXISTING ~_DAVAEO.CRE~ ~override/_DAVAEO.CRE~ REPLACE_CRE_ITEM ~SWBAG03~ #0 #0 #0 ~NONE~ ~INV8~ REPLACE_CRE_ITEM ~SWBAG19~ #0 #0 #0 ~NONE~ ~INV9~ REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~INV10~ REPLACE_CRE_ITEM ~SLNG04~ #0 #0 #0 ~NONE~ ~INV11~ REPLACE_CRE_ITEM ~BULL04~ #50 #0 #0 ~NONE~ ~INV12~ COPY_EXISTING ~_GORION.CRE~ ~override/_GORION.CRE~ REPLACE_CRE_ITEM ~SWBAG02~ #0 #0 #0 ~NONE~ ~INV4~ REPLACE_CRE_ITEM ~SWBAG03B~ #0 #0 #0 ~NONE~ ~INV5~ REPLACE_CRE_ITEM ~SWBAG06~ #0 #0 #0 ~NONE~ ~INV6~ REPLACE_CRE_ITEM ~SCRL75~ #0 #0 #0 ~NONE~ ~INV7~ COPY_EXISTING ~_GNOLL_C.CRE~ ~override/_GNOLL_C.CRE~ REPLACE_CRE_ITEM ~_SPER02~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP TWOHANDED //was _HALB01 REPLACE_CRE_ITEM ~LEAT10~ #0 #0 #0 ~NONE~ ~ARMOR~ COPY_EXISTING ~_JARDAK.CRE~ ~override/_JARDAK.CRE~ REPLACE_CRE_ITEM ~SW1H55~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was _SW1H05 REPLACE_CRE_ITEM ~SLNG04~ #0 #0 #0 ~NONE~ ~INV3~ REPLACE_CRE_ITEM ~BULL04~ #50 #0 #0 ~NONE~ ~INV4~ COPY_EXISTING ~_NIMBUL.CRE~ ~override/_NIMBUL.CRE~ REPLACE_CRE_ITEM ~_SW1H22~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was _SW1H08 REPLACE_CRE_ITEM ~SWBAG02B~ #0 #0 #0 ~NONE~ ~INV2~ REPLACE_CRE_ITEM ~SWBAG03C~ #0 #0 #0 ~NONE~ ~INV3~ COPY_EXISTING ~_PRISM.CRE~ ~override/_PRISM.CRE~ REPLACE_CRE_ITEM ~SWBAG02C~ #0 #0 #0 ~NONE~ ~INV2~ REPLACE_CRE_ITEM ~SWBAG06B~ #0 #0 #0 ~NONE~ ~INV6~ COPY_EXISTING ~_RAEMON.CRE~ ~override/_RAEMON.CRE~ REPLACE_CRE_ITEM ~SPER05~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP TWOHANDED //was _SW1H04 //original also moves _MISC86 (Bandit Scalp) FROM QUICK2 TO GLOVES COPY_EXISTING ~_RASHAD.CRE~ ~override/_RASHAD.CRE~ REPLACE_CRE_ITEM ~SW1H55~ #0 #0 #0 ~NONE~ ~WEAPON1~ //was _SW1H04 COPY_EXISTING ~_SLYTHE.CRE~ ~override/_SLYTHE.CRE~ REPLACE_CRE_ITEM ~DAGG11~ #0 #0 #0 ~NONE~ ~QITEM2~ //was _XBOW04 REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~INV3~ COPY_EXISTING ~_TAM.CRE~ ~override/_TAM.CRE~ REPLACE_CRE_ITEM ~SPER05~ #0 #0 #0 ~NONE~ ~WEAPON2~ EQUIP TWOHANDED //was _SW1H07 COPY_EXISTING ~_TEVEN.CRE~ ~override/_TEVEN.CRE~ REPLACE_CRE_ITEM ~SW1H47~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was _SW1H04 REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~QITEM1~ COPY_EXISTING ~_TEYNGA.CRE~ ~override/_TEYNGA.CRE~ REPLACE_CRE_ITEM ~_BLUN03~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was _BLUN04 REPLACE_CRE_ITEM ~SLNG02~ #50 #0 #0 ~NONE~ ~WEAPON2~ REPLACE_CRE_ITEM ~BULL04~ #50 #0 #0 ~NONE~ ~QUIVER1~ //original also moves _MISC86 (Bandit Scalp) FROM QUICK2 TO GLOVES COPY_EXISTING ~_VAX.CRE~ ~override/_VAX.CRE~ REPLACE_CRE_ITEM ~SW1H47~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was _HALB01 REPLACE_CRE_ITEM ~SW1H49~ #0 #0 #0 ~NONE~ ~WEAPON2~ REPLACE_CRE_ITEM ~SWBAG05~ #0 #0 #0 ~NONE~ ~INV5~ REPLACE_CRE_ITEM ~SWBAG05B~ #0 #0 #0 ~NONE~ ~INV6~ REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~INV7~ COPY ~LostItems/Items/SWNIN.ITM~ ~override/SWNIN.ITM~ ~LostItems/Items/SWKAT.ITM~ ~override/SWKAT.ITM~ COPY_EXISTING ~FW2602.ARE~ ~override/FW2602.ARE~ READ_LONG 0x54 actor_off READ_LONG 0x5c info_off READ_LONG 0x60 spawn_off READ_LONG 0x68 entrance_off READ_LONG 0x70 container_off READ_LONG 0x78 item_off READ_LONG 0x7c vertex_off READ_LONG 0x84 ambient_off READ_LONG 0x88 variable_off READ_LONG 0xa8 door_off READ_LONG 0xa0 explored_off READ_LONG 0xb0 anim_off READ_LONG 0xb8 tiled_off READ_LONG 0xbc song_off READ_LONG 0xc0 rest_off READ_LONG 0xc4 automap_off READ_SHORT 0x74 container_num FOR (i=0;i<"%container_num%";i+=1) BEGIN READ_ASCII ("%container_off%"+"%i%"*0xc0) container_name (11) PATCH_IF (("%container_name%" STRING_COMPARE_CASE "Container 3")=0) BEGIN READ_LONG ("%container_off%"+"%i%"*0xc0+0x40) container_item_idx //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) _POTN08 //item ResRef WRITE_SHORT ("%item_off%"+"%container_item_idx%"*0x14+0xa) 3 //qty-charges 1 //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets SPRINT are_update_offset_datatype "item" SET are_update_offset_increment = 20 LAUNCH_PATCH_MACRO are_update_offset //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) SWKAT //item ResRef //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets LAUNCH_PATCH_MACRO are_update_offset //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) SWNIN //item ResRef //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets LAUNCH_PATCH_MACRO are_update_offset END END COPY_EXISTING ~FW4800.ARE~ ~override/FW4800.ARE~ READ_LONG 0x54 actor_off READ_LONG 0x5c info_off READ_LONG 0x60 spawn_off READ_LONG 0x68 entrance_off READ_LONG 0x70 container_off READ_LONG 0x78 item_off READ_LONG 0x7c vertex_off READ_LONG 0x84 ambient_off READ_LONG 0x88 variable_off READ_LONG 0xa8 door_off READ_LONG 0xa0 explored_off READ_LONG 0xb0 anim_off READ_LONG 0xb8 tiled_off READ_LONG 0xbc song_off READ_LONG 0xc0 rest_off READ_LONG 0xc4 automap_off READ_SHORT 0x74 container_num FOR (i=0;i<"%container_num%";i+=1) BEGIN READ_ASCII ("%container_off%"+"%i%"*0xc0) container_name (11) PATCH_IF (("%container_name%" STRING_COMPARE_CASE "Container 7")=0) BEGIN READ_LONG ("%container_off%"+"%i%"*0xc0+0x40) container_item_idx //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) BAG05 //item ResRef //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets SPRINT are_update_offset_datatype "item" SET are_update_offset_increment = 20 LAUNCH_PATCH_MACRO are_update_offset //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) BRAC13 //item ResRef //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets LAUNCH_PATCH_MACRO are_update_offset //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) DART03 //item ResRef WRITE_SHORT ("%item_off%"+"%container_item_idx%"*0x14+0xa) 3 //qty-charges 1 //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets LAUNCH_PATCH_MACRO are_update_offset END END //replace instance of _PLAT06 with LEAT10 READ_SHORT 0x76 item_num FOR (i=0;i<"%item_num%";i+=1) BEGIN READ_ASCII ("%item_off%"+"%i%"*0x14) item_name PATCH_IF (("%item_name%" STRING_COMPARE_CASE "_PLAT06")=0) BEGIN WRITE_ASCII ("%item_off%"+"%i%"*0x14) LEAT10 #8 END END COPY_EXISTING ~_AROW01.ITM~ ~override/_AROW01.ITM~ ~_AROW02.ITM~ ~override/_AROW02.ITM~ ~_AROW04.ITM~ ~override/_AROW04.ITM~ ~_AROW05.ITM~ ~override/_AROW05.ITM~ ~_AROW06.ITM~ ~override/_AROW06.ITM~ ~_AROW08.ITM~ ~override/_AROW08.ITM~ ~_AROW09.ITM~ ~override/_AROW09.ITM~ ~_AROW10.ITM~ ~override/_AROW10.ITM~ ~_AROW11.ITM~ ~override/_AROW11.ITM~ ~_AROW12.ITM~ ~override/_AROW12.ITM~ ~_AROW16.ITM~ ~override/_AROW16.ITM~ ~_AROWKC.ITM~ ~override/_AROWKC.ITM~ ~_AX1H04.ITM~ ~override/_AX1H04.ITM~ ~_BOLT01.ITM~ ~override/_BOLT01.ITM~ ~_BOLT02.ITM~ ~override/_BOLT02.ITM~ ~_BOLT03.ITM~ ~override/_BOLT03.ITM~ ~_BOLT04.ITM~ ~override/_BOLT04.ITM~ ~_BOLT05.ITM~ ~override/_BOLT05.ITM~ ~_BOLT06.ITM~ ~override/_BOLT06.ITM~ ~_BULL01.ITM~ ~override/_BULL01.ITM~ ~_BULL02.ITM~ ~override/_BULL02.ITM~ ~_BULL03.ITM~ ~override/_BULL03.ITM~ ~_DAGG05.ITM~ ~override/_DAGG05.ITM~ ~_DART01.ITM~ ~override/_DART01.ITM~ ~_DART02.ITM~ ~override/_DART02.ITM~ ~_DART03.ITM~ ~override/_DART03.ITM~ ~_DART04.ITM~ ~override/_DART04.ITM~ ~BULL04.ITM~ ~override/BULL04.ITM~ ~DAGG16.ITM~ ~override/DAGG16.ITM~ WRITE_SHORT 0X38 50 BUT_ONLY_IF_IT_CHANGES END ACTION_IF FILE_EXISTS ~data/BG1ARE.BIF~ THEN BEGIN //BGT COPY_EXISTING ~ASHIRU.CRE~ ~override/ASHIRU.CRE~ REPLACE_CRE_ITEM ~SW1H47~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was SW1H21 REPLACE_CRE_ITEM ~BOOT08~ #0 #0 #0 ~NONE~ ~BOOTS~ REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~WEAPON2~ COPY_EXISTING ~BEYN.CRE~ ~override/BEYN.CRE~ REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~WEAPON2~ //was DAGG05(20) redundant REPLACE_CRE_ITEM ~BRAC14~ #0 #0 #0 ~NONE~ ~GLOVES~ //was BRAC02 redundant REPLACE_CRE_ITEM ~BLUN13~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was HAMM01 redundant COPY_EXISTING ~BGBISHOP.CRE~ ~override/BGBISHOP.CRE~ REPLACE_CRE_ITEM ~PLAT05~ #0 #0 #0 ~NONE~ ~ARMOR~ //was redundant REPLACE_CRE_ITEM ~SHLD06~ #0 #0 #0 ~NONE~ ~SHIELD~ //was redundant REPLACE_CRE_ITEM ~BLUN03~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was redundant REPLACE_CRE_ITEM ~SLNG07~ #0 #0 #0 ~NONE~ ~WEAPON2~ REPLACE_CRE_ITEM ~BULL04~ #50 #0 #0 ~NONE~ ~QUIVER1~ COPY_EXISTING ~DAVAEO.CRE~ ~override/DAVAEO.CRE~ REPLACE_CRE_ITEM ~SWBAG03~ #0 #0 #0 ~NONE~ ~INV8~ REPLACE_CRE_ITEM ~SWBAG19~ #0 #0 #0 ~NONE~ ~INV9~ REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~INV10~ REPLACE_CRE_ITEM ~SLNG04~ #0 #0 #0 ~NONE~ ~INV11~ REPLACE_CRE_ITEM ~BULL04~ #50 #0 #0 ~NONE~ ~INV12~ COPY_EXISTING ~GORION.CRE~ ~override/GORION.CRE~ REPLACE_CRE_ITEM ~SWBAG02~ #0 #0 #0 ~NONE~ ~INV4~ REPLACE_CRE_ITEM ~SWBAG03B~ #0 #0 #0 ~NONE~ ~INV5~ REPLACE_CRE_ITEM ~SWBAG06~ #0 #0 #0 ~NONE~ ~INV6~ REPLACE_CRE_ITEM ~SCRL75~ #0 #0 #0 ~NONE~ ~INV7~ COPY_EXISTING ~GNOLL_C.CRE~ ~override/GNOLL_C.CRE~ REPLACE_CRE_ITEM ~SPER02~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP TWOHANDED //was HALB01 REPLACE_CRE_ITEM ~LEAT10~ #0 #0 #0 ~NONE~ ~ARMOR~ COPY_EXISTING ~JARDAK.CRE~ ~override/JARDAK.CRE~ REPLACE_CRE_ITEM ~SW1H55~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was SW1H05 REPLACE_CRE_ITEM ~SLNG04~ #0 #0 #0 ~NONE~ ~INV3~ REPLACE_CRE_ITEM ~BULL04~ #50 #0 #0 ~NONE~ ~INV4~ COPY_EXISTING ~NIMBUL.CRE~ ~override/NIMBUL.CRE~ REPLACE_CRE_ITEM ~SW1H22~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was SW1H08 REPLACE_CRE_ITEM ~SWBAG02B~ #0 #0 #0 ~NONE~ ~INV2~ REPLACE_CRE_ITEM ~SWBAG03C~ #0 #0 #0 ~NONE~ ~INV3~ COPY_EXISTING ~PRISM.CRE~ ~override/PRISM.CRE~ REPLACE_CRE_ITEM ~SWBAG02C~ #0 #0 #0 ~NONE~ ~INV2~ REPLACE_CRE_ITEM ~SWBAG06B~ #0 #0 #0 ~NONE~ ~INV6~ COPY_EXISTING ~RAEMON.CRE~ ~override/RAEMON.CRE~ REPLACE_CRE_ITEM ~SPER05~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP TWOHANDED //was SW1H04 //original also moves MISC86 (Bandit Scalp) FROM QUICK2 TO GLOVES COPY_EXISTING ~RASHAD.CRE~ ~override/RASHAD.CRE~ REPLACE_CRE_ITEM ~SW1H55~ #0 #0 #0 ~NONE~ ~WEAPON1~ //was SW1H04 COPY_EXISTING ~SLYTHE.CRE~ ~override/SLYTHE.CRE~ REPLACE_CRE_ITEM ~DAGG11~ #0 #0 #0 ~NONE~ ~QITEM2~ //was XBOW04 REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~INV3~ COPY_EXISTING ~TAM.CRE~ ~override/TAM.CRE~ REPLACE_CRE_ITEM ~SPER05~ #0 #0 #0 ~NONE~ ~WEAPON2~ EQUIP TWOHANDED //was SW1H07 COPY_EXISTING ~TEVEN.CRE~ ~override/TEVEN.CRE~ REPLACE_CRE_ITEM ~SW1H47~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was SW1H04 REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~QITEM1~ COPY_EXISTING ~TEYNGA.CRE~ ~override/TEYNGA.CRE~ REPLACE_CRE_ITEM ~BLUN03~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was BLUN04 REPLACE_CRE_ITEM ~SLNG02~ #50 #0 #0 ~NONE~ ~WEAPON2~ REPLACE_CRE_ITEM ~BULL04~ #50 #0 #0 ~NONE~ ~QUIVER1~ //original also moves _MISC86 (Bandit Scalp) FROM QUICK2 TO GLOVES COPY_EXISTING ~VAX.CRE~ ~override/VAX.CRE~ REPLACE_CRE_ITEM ~SW1H47~ #0 #0 #0 ~NONE~ ~WEAPON1~ EQUIP //was HALB01 REPLACE_CRE_ITEM ~SW1H49~ #0 #0 #0 ~NONE~ ~WEAPON2~ REPLACE_CRE_ITEM ~SWBAG05~ #0 #0 #0 ~NONE~ ~INV5~ REPLACE_CRE_ITEM ~SWBAG05B~ #0 #0 #0 ~NONE~ ~INV6~ REPLACE_CRE_ITEM ~DAGG16~ #50 #0 #0 ~NONE~ ~INV7~ COPY ~LostItems/Items/SWNIN.ITM~ ~override/SWNIN.ITM~ ~LostItems/Items/SWKAT.ITM~ ~override/SWKAT.ITM~ COPY_EXISTING ~AR6502.ARE~ ~override/AR6502.ARE~ READ_LONG 0x54 actor_off READ_LONG 0x5c info_off READ_LONG 0x60 spawn_off READ_LONG 0x68 entrance_off READ_LONG 0x70 container_off READ_LONG 0x78 item_off READ_LONG 0x7c vertex_off READ_LONG 0x84 ambient_off READ_LONG 0x88 variable_off READ_LONG 0xa8 door_off READ_LONG 0xa0 explored_off READ_LONG 0xb0 anim_off READ_LONG 0xb8 tiled_off READ_LONG 0xbc song_off READ_LONG 0xc0 rest_off READ_LONG 0xc4 automap_off READ_SHORT 0x74 container_num FOR (i=0;i<"%container_num%";i+=1) BEGIN READ_ASCII ("%container_off%"+"%i%"*0xc0) container_name (11) PATCH_IF (("%container_name%" STRING_COMPARE_CASE "Container 3")=0) BEGIN READ_LONG ("%container_off%"+"%i%"*0xc0+0x40) container_item_idx //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) POTN08 //item ResRef WRITE_SHORT ("%item_off%"+"%container_item_idx%"*0x14+0xa) 3 //qty-charges 1 //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets SPRINT are_update_offset_datatype "item" SET are_update_offset_increment = 20 LAUNCH_PATCH_MACRO are_update_offset //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) SWKAT //item ResRef //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets LAUNCH_PATCH_MACRO are_update_offset //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) SWNIN //item ResRef //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets LAUNCH_PATCH_MACRO are_update_offset END END COPY_EXISTING ~AR3700.ARE~ ~override/AR3700.ARE~ READ_LONG 0x54 actor_off READ_LONG 0x5c info_off READ_LONG 0x60 spawn_off READ_LONG 0x68 entrance_off READ_LONG 0x70 container_off READ_LONG 0x78 item_off READ_LONG 0x7c vertex_off READ_LONG 0x84 ambient_off READ_LONG 0x88 variable_off READ_LONG 0xa8 door_off READ_LONG 0xa0 explored_off READ_LONG 0xb0 anim_off READ_LONG 0xb8 tiled_off READ_LONG 0xbc song_off READ_LONG 0xc0 rest_off READ_LONG 0xc4 automap_off READ_SHORT 0x74 container_num FOR (i=0;i<"%container_num%";i+=1) BEGIN READ_ASCII ("%container_off%"+"%i%"*0xc0) container_name (11) PATCH_IF (("%container_name%" STRING_COMPARE_CASE "Container 7")=0) BEGIN READ_LONG ("%container_off%"+"%i%"*0xc0+0x40) container_item_idx //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) BAG05 //item ResRef //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets SPRINT are_update_offset_datatype "item" SET are_update_offset_increment = 20 LAUNCH_PATCH_MACRO are_update_offset //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) BRAC13 //item ResRef //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets LAUNCH_PATCH_MACRO are_update_offset //add item INSERT_BYTES ("%item_off%"+"%container_item_idx%"*0x14) 0x14 WRITE_ASCII ("%item_off%"+"%container_item_idx%"*0x14) DART03 //item ResRef WRITE_SHORT ("%item_off%"+"%container_item_idx%"*0x14+0xa) 3 //qty-charges 1 //update number of items globally and in container READ_SHORT 0x76 item_num WRITE_SHORT 0x76 ("%item_num%" + 1) READ_LONG ("%container_off%"+"%i%"*0xc0+0x44) container_item_num WRITE_LONG ("%container_off%"+"%i%"*0xc0+0x44) ("%container_item_num%" + 1) //update item indices in all containers after the current container FOR (j="%i%"+1;j<"%container_num%";j+=1) BEGIN READ_LONG ("%container_off%"+"%j%"*0xc0+0x40) container_item_idx WRITE_LONG ("%container_off%"+"%j%"*0xc0+0x40) ("%container_item_idx%" + 1) END //update offsets LAUNCH_PATCH_MACRO are_update_offset END END //replace instance of PLAT06 with LEAT10 READ_SHORT 0x76 item_num FOR (i=0;i<"%item_num%";i+=1) BEGIN READ_ASCII ("%item_off%"+"%i%"*0x14) item_name PATCH_IF (("%item_name%" STRING_COMPARE_CASE "PLAT06")=0) BEGIN WRITE_ASCII ("%item_off%"+"%i%"*0x14) LEAT10 #8 END END COPY_EXISTING ~AROW01.ITM~ ~override/AROW01.ITM~ ~AROW02.ITM~ ~override/AROW02.ITM~ ~AROW04.ITM~ ~override/AROW04.ITM~ ~AROW05.ITM~ ~override/AROW05.ITM~ ~AROW06.ITM~ ~override/AROW06.ITM~ ~AROW08.ITM~ ~override/AROW08.ITM~ ~AROW09.ITM~ ~override/AROW09.ITM~ ~AROW10.ITM~ ~override/AROW10.ITM~ ~AROW11.ITM~ ~override/AROW11.ITM~ ~AROW12.ITM~ ~override/AROW12.ITM~ ~AROW16.ITM~ ~override/AROW16.ITM~ ~AROWKC.ITM~ ~override/AROWKC.ITM~ ~AX1H04.ITM~ ~override/AX1H04.ITM~ ~BOLT01.ITM~ ~override/BOLT01.ITM~ ~BOLT02.ITM~ ~override/BOLT02.ITM~ ~BOLT03.ITM~ ~override/BOLT03.ITM~ ~BOLT04.ITM~ ~override/BOLT04.ITM~ ~BOLT05.ITM~ ~override/BOLT05.ITM~ ~BOLT06.ITM~ ~override/BOLT06.ITM~ ~BULL01.ITM~ ~override/BULL01.ITM~ ~BULL02.ITM~ ~override/BULL02.ITM~ ~BULL03.ITM~ ~override/BULL03.ITM~ ~DAGG05.ITM~ ~override/DAGG05.ITM~ ~DART01.ITM~ ~override/DART01.ITM~ ~DART02.ITM~ ~override/DART02.ITM~ ~DART03.ITM~ ~override/DART03.ITM~ ~DART04.ITM~ ~override/DART04.ITM~ ~BULL04.ITM~ ~override/BULL04.ITM~ ~DAGG16.ITM~ ~override/DAGG16.ITM~ WRITE_SHORT 0X38 50 BUT_ONLY_IF_IT_CHANGES END COPY_EXISTING ~BAG03.ITM~ ~override/SWBAG03.ITM~ COPY_EXISTING ~BAG19.ITM~ ~override/SWBAG19.ITM~ COPY_EXISTING ~BAG02.ITM~ ~override/SWBAG02.ITM~ COPY_EXISTING ~BAG03.ITM~ ~override/SWBAG03B.ITM~ COPY_EXISTING ~BAG06.ITM~ ~override/SWBAG06.ITM~ COPY_EXISTING ~BAG02.ITM~ ~override/SWBAG02B.ITM~ COPY_EXISTING ~BAG03.ITM~ ~override/SWBAG03C.ITM~ COPY_EXISTING ~BAG02.ITM~ ~override/SWBAG02C.ITM~ COPY_EXISTING ~BAG06.ITM~ ~override/SWBAG06B.ITM~ COPY_EXISTING ~BAG05.ITM~ ~override/SWBAG05.ITM~ COPY_EXISTING ~BAG05.ITM~ ~override/SWBAG05B.ITM~ COPY_EXISTING ~BAG03.STO~ ~override/SWBAG03.STO~ COPY_EXISTING ~BAG19.STO~ ~override/SWBAG19.STO~ COPY_EXISTING ~BAG02.STO~ ~override/SWBAG02.STO~ COPY_EXISTING ~BAG03.STO~ ~override/SWBAG03B.STO~ COPY_EXISTING ~BAG06.STO~ ~override/SWBAG06.STO~ COPY_EXISTING ~BAG02.STO~ ~override/SWBAG02B.STO~ COPY_EXISTING ~BAG03.STO~ ~override/SWBAG03C.STO~ COPY_EXISTING ~BAG02.STO~ ~override/SWBAG02C.STO~ COPY_EXISTING ~BAG06.STO~ ~override/SWBAG06B.STO~ COPY_EXISTING ~BAG05.STO~ ~override/SWBAG05.STO~ COPY_EXISTING ~BAG05.STO~ ~override/SWBAG05B.STO~ ///////////////////////////////////////////////////////////////////////////////////// BEGIN ~Xan has Sorcerer class~ ACTION_IF FILE_EXISTS_IN_GAME ~_SW1H01.ITM~ THEN BEGIN //Tutu COPY_EXISTING ~_XAN.CRE~ ~override/_XAN.CRE~ ~_XAN4.CRE~ ~override/_XAN4.CRE~ ~_XAN6.CRE~ ~override/_XAN6.CRE~ WRITE_LONG 0x244 0 //Kit WRITE_BYTE 0x273 19 //Class COPY_EXISTING ~_XAN.CRE~ ~override/_XAN.CRE~ READ_LONG 0x2a8 mem_info_offset WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x2) 2 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x4) 2 //Wizard Level 1 # spells memorisable REMOVE_KNOWN_SPELL ~SPWI105~ ~SPWI104~ ADD_KNOWN_SPELL ~SPWI110~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI112~ #0 ~WIZARD~ COPY_EXISTING ~_XAN4.CRE~ ~override/_XAN4.CRE~ READ_LONG 0x2a8 mem_info_offset WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x2) 6 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x4) 6 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+8*0x10+0x2) 3 //Wizard Level 2 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+8*0x10+0x4) 3 //Wizard Level 2 # spells memorisable REMOVE_KNOWN_SPELL ~SPWI105~ ~SPWI104~ ~SPWI209~ ~SPWI212~ ~SPWI211~ ADD_KNOWN_SPELL ~SPWI110~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI112~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI107~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI212~ #1 ~WIZARD~ COPY_EXISTING ~_XAN6.CRE~ ~override/_XAN6.CRE~ READ_LONG 0x2a8 mem_info_offset WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x2) 6 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x4) 6 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+8*0x10+0x2) 5 //Wizard Level 2 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+8*0x10+0x4) 5 //Wizard Level 2 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+9*0x10+0x2) 3 //Wizard Level 3 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+9*0x10+0x4) 3 //Wizard Level 3 # spells memorisable REMOVE_KNOWN_SPELL ~SPWI105~ ~SPWI104~ ~SPWI209~ ~SPWI212~ ~SPWI211~ ~SPWI316~ ~SPWI113~ ~SPWI315~ ADD_KNOWN_SPELL ~SPWI110~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI112~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI107~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI212~ #1 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI211~ #1 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI113~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI326~ #2 ~WIZARD~ END ACTION_IF FILE_EXISTS ~data/BG1ARE.BIF~ THEN BEGIN //BGT COPY_EXISTING ~BGXAN.CRE~ ~override/BGXAN.CRE~ ~XAN4.CRE~ ~override/XAN4.CRE~ ~XAN6.CRE~ ~override/XAN6.CRE~ WRITE_LONG 0x244 0 //Kit WRITE_BYTE 0x273 19 //Class COPY_EXISTING ~BGXAN.CRE~ ~override/BGXAN.CRE~ READ_LONG 0x2a8 mem_info_offset WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x2) 2 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x4) 2 //Wizard Level 1 # spells memorisable REMOVE_KNOWN_SPELL ~SPWI105~ ~SPWI104~ ADD_KNOWN_SPELL ~SPWI110~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI112~ #0 ~WIZARD~ COPY_EXISTING ~XAN4.CRE~ ~override/XAN4.CRE~ READ_LONG 0x2a8 mem_info_offset WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x2) 6 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x4) 6 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+8*0x10+0x2) 3 //Wizard Level 2 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+8*0x10+0x4) 3 //Wizard Level 2 # spells memorisable REMOVE_KNOWN_SPELL ~SPWI105~ ~SPWI104~ ~SPWI209~ ~SPWI212~ ~SPWI211~ ADD_KNOWN_SPELL ~SPWI110~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI112~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI107~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI212~ #1 ~WIZARD~ COPY_EXISTING ~XAN6.CRE~ ~override/XAN6.CRE~ READ_LONG 0x2a8 mem_info_offset WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x2) 6 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+7*0x10+0x4) 6 //Wizard Level 1 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+8*0x10+0x2) 5 //Wizard Level 2 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+8*0x10+0x4) 5 //Wizard Level 2 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+9*0x10+0x2) 3 //Wizard Level 3 # spells memorisable WRITE_SHORT ("%mem_info_offset%"+9*0x10+0x4) 3 //Wizard Level 3 # spells memorisable REMOVE_KNOWN_SPELL ~SPWI105~ ~SPWI104~ ~SPWI209~ ~SPWI212~ ~SPWI211~ ~SPWI316~ ~SPWI113~ ~SPWI315~ ADD_KNOWN_SPELL ~SPWI110~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI112~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI107~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI212~ #1 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI211~ #1 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI113~ #0 ~WIZARD~ ADD_KNOWN_SPELL ~SPWI326~ #2 ~WIZARD~ END ///////////////////////////////////////////////////////////////////////////////////// BEGIN ~Monk +3 AC and +1 THAC0 Bonus~ COPY ~LostItems/Monk/SWBOOKAC.SPL~ ~override/SWBOOKAC.SPL~ ACTION_IF FILE_EXISTS_IN_GAME ~_SW1H01.ITM~ THEN BEGIN //Tutu EXTEND_BOTTOM ~_AR2600.BCS~ ~LostItems/Monk/_AR2600.BAF~ END ACTION_IF FILE_EXISTS ~data/BG1ARE.BIF~ THEN BEGIN //BGT EXTEND_BOTTOM ~AR0015.BCS~ ~LostItems/Monk/_AR2600.BAF~ END ///////////////////////////////////////////////////////////////////////////////////// BEGIN ~Happy patch: NPCs do not leave due to reputation~ COPY_EXISTING ~HAPPY.2DA~ ~override~ COUNT_2DA_ROWS 4 happy_rows FOR(i=0;i<"%happy_rows%";i+=1) BEGIN SET happy_col = 1 WHILE ("%happy_col%" <= 3) BEGIN READ_2DA_ENTRY %i% %happy_col% 4 happy_val PATCH_IF ("%happy_val%" < 0) BEGIN SET_2DA_ENTRY %i% %happy_col% 4 "0" END SET happy_col +=1 END END BUT_ONLY_IF_IT_CHANGES ///////////////////////////////////////////////////////////////////////////////////// BEGIN ~Viconia has 18 WIS~ ACTION_IF FILE_EXISTS_IN_GAME ~_SW1H01.ITM~ THEN BEGIN //Tutu COPY_EXISTING ~_VICONI.CRE~ ~override/_VICONI.CRE~ ~_VICONI4.CRE~ ~override/_VICONI4.CRE~ ~_VICONI6.CRE~ ~override/_VICONI6.CRE~ WRITE_BYTE 0x23b 18 //Wisdom END ACTION_IF FILE_EXISTS ~data/BG1ARE.BIF~ THEN BEGIN //BGT COPY_EXISTING ~VICONI.CRE~ ~override/VICONI.CRE~ ~VICONI4.CRE~ ~override/VICONI4.CRE~ ~VICONI61.CRE~ ~override/VICONI61.CRE~ WRITE_BYTE 0x23b 18 //Wisdom END ///////////////////////////////////////////////////////////////////////////////////// BEGIN ~Alternative portrait for Faldorn~ GROUP ~Alternative portraits~ ACTION_IF FILE_EXISTS_IN_GAME ~_SW1H01.ITM~ THEN BEGIN //Tutu COPY ~LostItems/Portraits/_ALDORNS.bmp~ ~override/_ALDORNS.bmp~ ~LostItems/Portraits/_ALDORNL.bmp~ ~override/_ALDORNL.bmp~ END ACTION_IF FILE_EXISTS ~data/BG1ARE.BIF~ THEN BEGIN //BGT COPY ~LostItems/Portraits/_ALDORNS.bmp~ ~override/FALDORNS.bmp~ ~LostItems/Portraits/_ALDORNL.bmp~ ~override/FALDORNL.bmp~ END ///////////////////////////////////////////////////////////////////////////////////// BEGIN ~Alternative portrait for Xan~ GROUP ~Alternative portraits~ ACTION_IF FILE_EXISTS_IN_GAME ~_SW1H01.ITM~ THEN BEGIN //Tutu COPY ~LostItems/Portraits/_ANS.bmp~ ~override/_ANS.bmp~ ~LostItems/Portraits/_ANL.bmp~ ~override/_ANL.bmp~ END ACTION_IF FILE_EXISTS ~data/BG1ARE.BIF~ THEN BEGIN //BGT COPY ~LostItems/Portraits/_ANS.bmp~ ~override/XANS.bmp~ ~LostItems/Portraits/_ANL.bmp~ ~override/XANL.bmp~ END ///////////////////////////////////////////////////////////////////////////////////// BEGIN ~Alternative portrait for Imoen~ GROUP ~Alternative portraits~ ACTION_IF FILE_EXISTS_IN_GAME ~_SW1H01.ITM~ THEN BEGIN //Tutu COPY ~LostItems/Portraits/_MOENS.bmp~ ~override/_MOENS.bmp~ ~LostItems/Portraits/_MOENL.bmp~ ~override/_MOENL.bmp~ END ACTION_IF FILE_EXISTS ~data/BG1ARE.BIF~ THEN BEGIN //BGT COPY ~LostItems/Portraits/_MOENS.bmp~ ~override/IMOENS.bmp~ ~LostItems/Portraits/_MOENL.bmp~ ~override/IMOENL.bmp~ END ///////////////////////////////////////////////////////////////////////////////////// BEGIN ~Baldur's Gate 2 portrait for Viconia~ GROUP ~Alternative portraits~ ACTION_IF FILE_EXISTS_IN_GAME ~_SW1H01.ITM~ THEN BEGIN //Tutu COPY_EXISTING ~_VICONI.CRE~ ~override/_VICONI.CRE~ ~_VICONI4.CRE~ ~override/_VICONI4.CRE~ ~_VICONI6.CRE~ ~override/_VICONI6.CRE~ WRITE_ASCII 0x34 ~NVICONS~ #8 //small portrait WRITE_ASCII 0x3c ~NVICONM~ #8 //large portrait END ACTION_IF FILE_EXISTS ~data/BG1ARE.BIF~ THEN BEGIN //BGT COPY_EXISTING ~VICONI.CRE~ ~override/VICONI.CRE~ ~VICONI4.CRE~ ~override/VICONI4.CRE~ ~VICONI61.CRE~ ~override/VICONI61.CRE~ WRITE_ASCII 0x34 ~NVICONS~ #8 //small portrait WRITE_ASCII 0x3c ~NVICONM~ #8 //large portrait END BEGIN ~BoH ToB Items fix TUTU ONLY~ ACTION_IF FILE_EXISTS_IN_GAME ~_amul18.itm~ BEGIN //checks for tutu, random tutu only file COPY_EXISTING_REGEXP ~bag.*.sto~ ~override~ //gets the BoH's store files for patching SPRINT item_to_delete ~.*~ LAUNCH_PATCH_MACRO DELETE_STORE_ITEM //deletes ALL items. END BUT_ONLY_IF_IT_CHANGES Link to comment
Daulmakan Posted October 20, 2008 Share Posted October 20, 2008 You should contact Ascension64 and let him now about this issue. Link to comment
lac Posted October 20, 2008 Author Share Posted October 20, 2008 I am really new around here, how do I 'contact Ascension64' ?? That was the original idea I had ... find out who made the BoH with the extra items and suggest he or she do it differently. I have clearly given you enough information to know a) what did it and b) whom to talk to aout it ... but I don't know such things. Looking for a 'lost items forum' but not finding one ... sorry to be so clueless, laura Link to comment
Icendoan Posted October 20, 2008 Share Posted October 20, 2008 Ok, regarding the parse error, just remove the BUT_ONLY_IF_IT_CHANGES. Otherwise, go over to shsforums(.net) and give him a PM Icen Link to comment
Daulmakan Posted October 20, 2008 Share Posted October 20, 2008 I am really new around here, how do I 'contact Ascension64' ?? That was the original idea I had ... find out who made the BoH with the extra items and suggest he or she do it differently. I have clearly given you enough information to know a) what did it and b) whom to talk to aout it ... but I don't know such things. Looking for a 'lost items forum' but not finding one ... sorry to be so clueless, laura Hi Laura, no need to apologize. The link included in my first post directed to one of Ascension64's posts regarding Lost items. You could send him a Private Message there at Pocket Plane, here at G3, or as Icendoan suggets, over at Spellhold Studios. I think he's there most often. Although, checking the 'official thread' at SS, the problems seems to have been already reported and apparently there's already a fix for it by Miloch. Check it out. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.