===============
BaseMod MPQ INI
===============


Modders asked for a way to incorporate BaseMod.ini inside of an mpq. BaseMod now does
that using Diablo II style text to replace BaseMod.ini with BaseMod.bin.

You can rename BaseMod.dll to YourModName.dll. BaseMod MPQINI follows the same style.
It is required to use a Custom MPQ in order to read this style of ini file.



1) Compile BaseMod.txt to BaseMod.bin
=====================================

Edit the options in either BaseMod.txt or YourModName.txt (see Options below) 
and save the file.

Copy this file into ..\Diablo II\data\global\excel\ folder.
Create the BaseMod.bin file with -direct -txt commandline option.
copy this file BaseMod.bin or YourModName.bin into your Custom Mpq file,
with the same path see below.


*IT IS 100% RECOMMENDED TO DO THIS PART WITHOUT LOADING BASEMOD FROM D2SE*



2) Something Didn't Work
========================


Error: line #646 [1.13c]
- File BaseMod.txt is corrupt. Start over with a clean & up to date version of the file.

Error: line #2196 [1.13c]
- Caused by missing file ..\Diablo II\data\global\excel\BaseMod.txt when using cmdline -txt
- Caused by missing rows ..\Diablo II\data\global\excel\BaseMod.txt when using cmdline -txt

Error: line #2233 [1.13c]
- Caused by missing file ..\Diablo II\data\global\excel\BaseMod.bin with using cmdline -direct

Windows MessageBox Fatal Error Popup:
- Caused by missing rows ..\Diablo II\data\global\excel\BaseMod.txt when using cmdline -direct -txt
- Check if your using and up to date version of BaseMod.txt

Error: line #112 [1.13c]
- Caused by Bad Inventory.txt file

Error: line #921  [1.13c]
- caused by corrupted Cel file (Dc6 file)


3) Create your Custom MPQ
=========================


Create a new MPQ file (see Folder CustomMpq documentation).
Place the new BaseMod.bin inside BaseMod.mpq file with the path 
data\global\excel\BaseMod.bin You can put other files in the custom mpq, as well, but you
want to keep txt files with link dependencies such as monstats all together in the same mpq file.


***NOTE: you will need to create a new BaseMod.bin file every time you want to change options.
BaseMod does not attempt to read BaseMod.bin file from Patch_D2.mpq, because it is delay loaded.



Example 1  BaseMod.mpq


BaseMod.mpq
|-------|data\global\excel\BaseMod.bin
|-------|Othefiles(if needed)




4) D2SE Builds
==============


BaseMod will now load the custom mpq independent of D2SE, so you SHOULD NOT specify
this MPQ file to load in D2SE_SETUP.ini. You can still use D2SE to load other MPQ
files if needed.




=========
 OPTIONS
=========


***NOTE: Diablo II Txt rules apply here. Creating new lines, removing lines, or
reordering lines WON'T WORK, and WILL create unintended problems.  I hear that D2ExcelPlus
is a good txt editor for Diablo II.


*Most lines in the BaseMod.txt file are ignored, if the first option, Enabled, is set to 0.


VERSION

This line is ignored by BaseMod for now - except for its enumeration


ANIMATEINVENTORY

Enabled
; 0/1 Allows Animated Inventory Items



LIFEMANAANIMATE

Enabled
; 0/1 Animates Life/Mana Orb Graphics (See AnimateLifeManaOrbs.txt)

param1
; param1=0  - use vanilla dc6 files - no animation
; param1=1  - Life/Mana use same Dc6 files for all Classes
; param1=2  - Use Different Mana Dc6 files for all Classes

param2
; param2=0  - Disables Mana Purple gfx when Orbs are not animated
; param2=114 - Mana Purple gfx display on Player State: STATE_BLOOD_MANA
; Valid Range 0-184 decimal


LADDERRUNEWORDS

Enabled
; 0/1 Enables Ladder Only RuneWords in Single Player games


ETHSOCKETFIX

Enabled
; 0/1 Fixes the Ethereal Socketing Defense Bug


AUTOPICKUP

Enabled
; 0/1 Automatic Item pick up

param1
; 0/1 Enables sound when gold is picked up

param2
; 0/1 Enables Item Pickup In Town

param3
; 0/1 Enables Gold Pickup

param4
; 0/1 Enables Rune Pickup

param5
; 0/5 Enables Gem Pickup
; 	 1 = pickup all, 2 exclude chipped, 3 exclude chipped an flawed, 
;        4 = only flawless and perfect, 5 = perfect gems only

param6
; 0/7 Enables Jewel Pickup
;        1 to enable all | 6 = rare & uniq | 7 = unique only.

param7
; 0/7 Enables Ring Pickup
;       1 to enable all | 5 = set, rare & uniq | 6 = rare & uniq | 7 = uniq only.

param8
; 0/7 Enables Amulet Pickup
;       1 to enable all | 5 = set, rare & uniq | 6 = rare & uniq | 7 = uniq only.

param9
; 0/1 Enables Scrolls Pickup

param10
; 0/1 Enables Keys Pickup

param11
; 0/1 Enables Charm Pickup
;	0 = disable | 4 = magic only | 7 = magic and unique charms



AUTOPICKUP2

Enabled
; 0/1 Automatic Item pick up

param1
; 0/1 Enables Quiver Auto Pickup

param2
; 0/1 Enables Belt Auto Pickup for Potions

param3
; 0/2 Enables Potion type matching of first row potion in belt
; Potion Matching 0 = any of the same type | 1 = fuzzy match +any, -1, or same | 2 = strict match

param4
; 0/15 Slot1Auto belt pickup for potion types

param5
; 0/15 Slot2Auto belt pickup for potion types

param6
; 0/15 Slot3Auto belt pickup for potion types

param7
; 0/15 Slot4Auto belt pickup for potion types


; SlotXAuto *only* chooses what type of potion to pickup *when* the slot is fully empty.
; 0 is manual operation - when the slot is empty, manual load first item, then autopick resumes.
; 0 = manual | 1 = hp1 | 2 = hp2 | 3 = hp3 | 4 = hp4 | 5 = hp5 | 6 = any hp | 
; 7 = mp1 | 8 = mp2 | 9 = mp3 | 10 = mp4 | 11 = mp5 | 12 = any mp | 13 = rejuv | 14 full rejuv
; 15 = any rejuv
; -Stamina, Thawing, and Antidote potions reqire manual loading of the first slot for autopick
; to fill remaining slots



NOPICKUP

Enabled
; 0/1 Starts game with console option /nopickup


REDPORTALS

Enabled
; 0/1 Disables/Enables [all of] Pandemonium Portals, & Uber Quests
; Pandemonium Portals only spawn in Hell Act 5 Town

param1
; 0/1 Allow game to skip requirement for all 3 Pandemonium Portals to be open
; before portal will open to Uber Tristram

param2
; 0/1 Forces Game to check for Quest/Waypoint checks before Cube Custom Red Portal
; Will open to the Destination level. Used to prevent skipping Quests in Game.



UBERMINIONS


;This Option requires BaseMod [RedPortals] to be enabled to work

Enabled
; 0/1  Enables Minion Spawning in Uber Tristram

param1
; 0-25  Number of Uber Diablo minions inside spawn radius - range (0 - 25) - 0 disables

param2
; 10-50  Uber Diablo Minion spawn Radius

param3
; 1-100  Uber Diablo Chance To Spawn a Minion

param4
; 0-25  Number of Uber Baal minions inside spawn radius - range (0 - 25) - 0 disables

param5
; 10-50  Uber Baal Minion spawn Radius

param6
; 1-100  Uber Baal Chance To Spawn a Minion

param7
; 0-25  Number of Uber Mephisto minions inside spawn radius - range (0 - 25) - 0 disables

param8
; 10-50  Uber Mephisto Minion spawn Radius

param9
; 1-100  Uber Mephisto Chance To Spawn a Minion



EXTRADLL1

Enabled
; 0/1 ExtraDll allows you to load other dll's in the order above.

String1
; Name of Dll file without quotes, up to 31 char in length
; Example ExtraDll1 Enabled=1  String1=Plugin1.dll
; Observe case sensitive file names, and place Extra dlls in the same folder as BaseMod.dll


EXTRADLL2

Enabled
; 0/1 ExtraDll allows you to load other dlls in the order above.

String1
; Name of Dll file without quotes, up to 31 char in length
; Example ExtraDll2 Enabled=1  String1=Plugin2.dll
; Observe case sensitive file names, and place Extra dlls in the same folder as BaseMod.dll


EXTRADLL3

Enabled
; 0/1 ExtraDll allows you to load other dlls in the order above.

String1
; Name of Dll file without quotes, up to 31 char in length
; Example ExtraDll3 Enabled=1  String1=PlugY.dll
; Observe case sensitive file names, and place Extra dlls in the same folder as BaseMod.dll



SPAWNMISSINGSU

Enabled
; 0/1 Enables spawning of all missing SuperUnique Monsters in the game.
;
; "FlameSpike the Crawler" (Razor Spine) Near the Cathedral Doors in Act1 Inner Cloister
; "Taintbreeder" (Stygian Hag) random location in Act4 Outer Steppes
; "The Tormentor" (Burning Soul) Guarding entrance to the PLains of Despair - Act4
; "Darkwing" (Venom Lord)  random location in the Plains of Despair - Act 4
; "Riftwraith the Cannibal" (Corpse Spitter) random location in City of the Damned - Act4
; "Hell's Belle" (Hell Temptress) -- in the Halls of Vaught - Act 5
; "Blaze Ripper" (Death Brigadier) -- In the Frozen Tundra - Act 5
; "Magma Torquer" (Demon Sprite) -- Guarding Entrance to the Ancient's Way - Act 5
; "Vinvear Molech" (Vile Witch) -- Guarding Entrance to Arreat Summit - Act 5
; "Axe Dweller" (Blood Lord) -- Guarding Entrance to Worldstone Keep Level 3 - Act 5



WORLDEVENT

Enabled
; 0/1 Enables WorldEvent

param1
; 0/1 AutoSellSoJ Automate SOJ's Sold to Vendors, in random amounts

param2
; Default Interval=600 seconds (10 minutes) for AutoSell by vendor
; Valid Range 3 - 1200 seconds

param3
; # MinItems Defines Min amount of Items sold to trigger World Event
; Valid Range 1 - 400 Min Amt of Items to Trigger World Event

param4
; # MaxItems Defines Max amount of Items sold to trigger World Event
; Valid Range 5 - 550 Max Amt of Items to Trigger World Event

param5
; # EnableAllDiff - Enables World Event in Normal and NM difficulty
; 1 to Enable World Event in all Difficulty
; 0 to Enable World Event in Hell Difficulty only

param6
; # TriggerType use 1 or 2
; 1 = use UniqueName, 2 = use 3 letter Item Code

param7
; # ItemQuality (Low = 1, Normal = 2, Superior =  3, Magic = 4, Set = 5, Rare = 6, Unique = 7, 8 = Crafted, 9 = Tempered)
; required item quality to sell (1-9 valid range)

string1
; # UniqueName - Copy and paste from column 1 in UniqueItems.txt - DO NOT use "QUOTES"
; name limit 31 chars

string2
; # ItemCode must be valid 3 letter Item Code - DO NOT use "QUOTES" or SPACES
; valid 3 letter Item Code to sell rin = ring


; Example trigger with Stone of Jordan    param6=1 & string1=The Stone of Jordan
; Example trigger with ANY Unique ring    param6=2 & string2=rin & param7=7
; Example trigger with Perfect Diamond    param6=2 & string2=gpw & param7=2
; Example trigger with ANY Rare Amulet    param6=2 & string2=amu & param7=6
;
; (Annihilus drops only in Hell Difficulty)
;
; Uber Diablo spawns in place of a SuperUnique after 40-70 Items are sold in example above.
; Once Uber Diablo is killed, or a new game is started, the SoJ counter resets to zero.



WEMINIONS


;This feature requires BaseMod [WorldEvent] to be enabled to work

Enabled
; 0/1 Enables Minion Spawning For World Event

Param1
; 0-4 Single Player Number of Extra Uber Diablo to Spawn as a Monster Pack

Param2
; 0/1 Enables MutiPlayer Game spawning Extra Uber Diablo as Monster Pack
; Scales based on # players in Game up to 4 extra Uber Diablo with 8 players

param3
; 0-25  Number of Uber Diablo minions inside spawn radius - range (0 - 25) - 0 disables

param4
; 10-50  Uber Diablo Minion spawn Radius

param5
; 1-100  Uber Diablo Chance To Spawn a Minion



ILVLDISPLAY

Enabled
; 0/1 - Display Item Level, (and/or) Max Sockets for unsocketed Items

Param1
; 0/1 - is a bulk switch to enable/disable all display of Max Sockets.

Param2
; 0/1 - is a bulk switch to enable/disable all display of Item Level.

Param3
; 0/1 - switch to hide all Ilvl & MaxSock Strings for Unidentified Items.

Param4
; 0/1 - Enable Anihillus and Hellfire Torch Item Level display.


; It's suggested to enable [StringTable] for customization with UTF8 UNICODE 
; strings and colors for different Item Quality.



PLAYERSX

Enabled
; 0/1 Enables usage of param1 and param2

param1
; PlrsCount range (1 to 8) or (1 to 127) if Players127 is enabled
; This will do "/Players X" command at game startup

param2
; 0/1
; Notify on screen PlayersX count at Game start in Single Player Games



LANGUAGE

Enabled
; 0/1  Enable change Language
; This might conflict with D2SE if enabled In D2SE builds?

param1
; 1-12
;
; To use Change Language - You need to install a language pack first.
; ==================================================================================
;
; - USE THE NUMERIC LANGUAGE CODE -
;
;00 - (English) USA - Default
;01 - (Spanish)
;02 - (German)
;03 - (French)
;04 - (Portuguese)
;05 - (Italian)
;06 - (Japanese)
;07 - (Korean)
;08 - (Sinhalese)
;09 - (Chinese)
;10 - (Polish)
;11 - (Russian)
;12 - (English) NON USA



EXTENDLEVELS

Enabled
; 0/1 Extends to 255 levels



EXTENDOBJECTS

Enabled
; 0/1  Enables Extended Objects
; This allows you to add new Objects starting at ID #586
; See Folder ExtObjects for txt examples



EXTENDEDSOUNDS

Enabled
; 0/1 Enables adding new music records to sounds.txt
param1 
; 4698
; default value. leave it unchanged unless you are adding new music records
; Be sure to view documentation in the folder ExtendSoundsMusic



PERFECTDROPS

Enabled
; 0/1 Enable this feature

param1
; 0/7 DropIdentified - Items drop Identified
; 1 to enable all | 5 = set, rare & uniq | 6 = rare & uniq | 7 = uniq only.

param2
; 0/1 RareAffix - Force 4 Affix rares on jewels & 6 Affix rares on weapons/armor - rings/amulets

param3
; 0/1 MagicAffix - Force Magic Items to get both Prefix & Suffix

param4
; 0/1 StaffMods - Force 9 skill points to class specific items [except low quality]

param5
; 0/1 PerfectItems - ALL items Drop Perfect [except normal and low quality]

param6
; 0/1 DropRepaired - ALL Items Drop repaired [except normal and low quality]

param7
; 0/1 RepairNormal - ALL Normal Items Drop Repaired

param8
; 0/1 UniqueNoLimit - Bypass Unique Item limit of one drop per game

param9
; 0/1 Force2Sockets - Normal items > ilvl 25 get 2 sockets as minium instead of 1 when possible.

param10
; 0/1 LinearAffix - Removes Affix divisor code to fix affix MaxLvl column bug

param11
; 0/100 EthDropPercent - change the amount of Ethereal item drops - Game Default = 5%



NILPORTALFIX

Enabled
; 0/1 Enables Nilathek Portal Fix



MAPAUTOREGEN

Enabled
; 0/1 Auto generate new maps in each game for SP mode



PLAYERS127

Enabled
; 0/1 Allows upto 127 virtual player count



DYNHEALTHBAR

Enabled
; 0/1 Dynamic Monster life bar colors - Another cool invention by Ogodei


param1
; 0-255 Life1 Red - RGB decimal value for monster life < 33%
param2
; 0-255 Life1 Green - RGB decimal value for monster life < 33%
param3
; 0-255 Life1 Blue - RGB decimal value for monster life < 33%
param4
; 0-255 Life2 Red - RGB decimal value for monster where 33% > life < 66%
param4
; 0-255 Life2 Green - RGB decimal value for monster where 33% > life < 66%
param6
; 0-255 Life2 Blue - RGB decimal value for monster where 33% > life < 66%
param7
; 0-255 Life3 Red - RGB decimal value for monster life > 66%
param8
; 0-255 Life3 Green - RGB decimal value for monster life > 66%
param9
; 0-255 Life3 Blue - RGB decimal value for monster life > 66%



GOBLINPATCH

Enabled
; 0/1 Enable Patch for Nizari and Jettaman's Treasure Goblin Plugin,
; to read Umon field from levels.txt
; You have to add the rest of the files yourself



MFLINEAR

Enabled
; 0/1 Option for Linear Magic Find Drop Rates (1.09)
; Improves Unique, Rare, and Magic Item Drops



MERCMOD

Enabled
; 0/1 Option for Hireling patch to equip boots, gloves, belt, amulet and one ring.
; See the readme file in \MercMod for changes to Inventory.txt and npcinv.dc6 needed.
param1
; Allow Act 1 Rogue Hire to equip Cross Bows
param2
; Allow Act 1 Rogue Hire to equip Amazon Bows



BYPASSFPS

Enabled
; 0/1 Option to disable 25 FPS Bypass to make BaseMod compatible with 
; SlashDiablo plugin. This also disables the CPU fix.


VENDORREFRESH


Enabled
; 0/1 Enable Refresh options
param1
; 0/1 Enable GambleRefresh
param2
; 1-100  Option to adjust Item Count for Gamble Screen between 1 and 100 items.
; The default is 24 items.  Increased item count for multires mods
param3
; 0/1 Enable VendorRefresh for non AnVil NPCs
param4
; 0/1 Enable VendorRefresh on Anvil NPCs
param5
; 0/1 FixPermStore will allow some non permstore items and white items to be sold by 
; NPCs after Act 2 is finished 



CHARMZONE


Enabled
; 0/1 for enabling Dav92's Charm Zone 
param1
; CZLeft - default 5
param2
; CZRight - default 7
param3
; CZTop - default 3
param4
; CZBottom - default 4


GAMEFVFB  - THIS OPTION IS REMOVED FROM MPQ INI IN v1.13.5


; This variable must be initialised long before Basemod can read an MPQ file. 
; This variable can only be set from within Basemod.ini
; It's primarily for future compatibility with D2SE, if D2SE releases for 1.13d or 1.14d.

; Game File Version Fallback - This is ONLY used in sitations where Game.exe is 
; not the Game parent process, such as the case with D2SE. It allows user override
; of default game file version patching [1.13C] to fallback to a different version



LCLICKEXT

; 0/1 Enable LClick Extensions 

; Ctrl+LClick Item is extended to Inventory, Stash, Cube, & Ground Drop*
; Ctrl+Shift+LClick items to ground, works from Inventory/Stash/Cube

param1
; 0/1
; LCScreenToGround 
; Ctrl LClick "Screen to Ground" works from Inventory, only when no other screen is active

param2
; 0/1
; LCItemToGround
; Ctrl Shift LClick - item to ground works from Inventory/Stash/Cube



RCLICKEXT

; 0/1 Enable RClick Extensions

param1
; 0/1
; RCItemsToCube
; Ctrl Shift RClick - "Items to Cube" from Inventory/stash

param2
; 0/1
; RCTransmute
; Ctrl RClick - Transmute Cube Items - works from Inventory & Cube grids - Cube must be open



STRINGTABLE

; 0/1 to enable custom strings in BaseMod.tbl. This is only used internal for BaseMod 
; defined strings. See \StringLocalization\StringTable.txt for info.
; You can disable some strings from displaying by using blank strings with AFJ tbl Edit.

param1
; 0/1
; Enable Ilvl & Max Sock custom strings for Lowq-Mag, Set, Rare, Unique, Crafted and 
; Tempered Items.

param2
; 0/1
; Enable custom Strings in BaseMod.tbl to rename Ubers.

param3
; 0/1
; HireDesc expands HireDesc.txt - more Hireling description strings


QUESTMODS


Enabled
; 0/1 for Infinite Quest Rewards from Akara, Charsi, Larzuk and Anya
; Vendors charge gold after their quest is completed

param1
; 0/1  Akara Respec

param2
; 500/10000  Respec Cost      X gold * clvl - valid input 500 to 10000  - minium cost 5000

param3
; 0/1  Charsi Imbue

param4
; 500/10000  Imbue Cost       X gold * clvl - valid input 500 to 10000  - minium cost 5000

param5
; 0/1 Larzuk Socketing

param6
; 5000/500000 Socket Cost     X gold Fixed  - valid input 5000 to 500000 - minium cost 5000

param7
; 0/1 Anya Personalize

Param8
; 5000/500000 Inscribe Cost   X gold Fixed  - valid input 5000 to 500000 - minium cost 5000


param9
; 0/1 Enable Tyrael Hire menu in Act 4 - player must finish Act 3 for this to show on menu.



