just crazy idea - (for "old" bws, requires hard reverse enginering what&how mods do their install), order and possible conflicts is calculated on files&rules dependies, all info in separate *.ini
jimfix.ini:
[Mod]
MenuModName="Corrections" (0,1,100)
Menu="Graphic, Portrait, Interface and Sound/Combat Log" (201,202,203,204,205,300,600)
Menu="Artificial Intelligence/Swoard Coast Stratagems/Fixes & Updates" (0,2,400,400,700)
Menu="BG2 Tactical Encounters/Ascension/Fixes & Updates" (3,4,5)
MenuModName="Cheats" (500)
MenuModName="All Mods" (*)
[Config]
// D: Depend On, install after
// C: Conflict with
// I: Ignore conflict
// P: Force Priority = END, FIRST, BEFOREFIXPACK
// P<: Force Install Before
// P>: Force Install After
// G: Game compatible
G:(*):TOB|BGT // bgee, bg2ee, eet, iwd, iwd2, iwdee, pst, pstee
//D:(400):stratagems(6030|6031|6032|6033) // prevent silent prebuffs (Stratagems Smarter Mages) tweak
D:(1):TobEx(100) // "enable TobEx Sequencers/Triggers tweak" needs TobEx
//D:(2):stratagems(1910) // "Make Protection from Normal Missiles affect some magical projectiles" Stratagems fix
//D:(3):Ascension(1)&stratagems(6830) // Smarter Abazigal fix needs both components
//D:(4):Ascension(1)&stratagems(6840) // Smarter Irenicus at the Throne fix
//D:(5):Ascension(0)&stratagems(6530|6531) // remove entourage from Ascension Fallen Solars fix
//D:(700):stratagems(6030)
//C:(1,2):stratagems(*)
//P:(100,201,202,203,204,205,500):END
//P<:(100):stratagems(*)
//P>:(100):stratagems(*)
//D:(*):TobEx(100)
// U: Always update
// U_IF|U_IFEXIST|UPDATE_IF_EXIST: Update if exist
// U_N|U_IFNEED|UPDATE_IF_NEED Update if needed
// C: Create
// D: Depend on file
// M#0-99: Mark group if exist
// !M#0-99: Mark group if not exist
// U#0-99: Update if market
// U_IF#0-99:
// C#0-99: Create if marked
// BGEE: Prefix game type
[Files(0)]
U: spwi523.spl
"ALTER_EFFECT(opcode=12, power)"
U_IF: dw#0w523.spl
"ALTER_EFFECT(opcode=12, power)"
[Files(1)]
U: contingx.2da
[Files(2)]
D: dw#pro_NM.mrk
U: shld24.itm
[Files(3)]
D: (dw#ascension_abazigal.mrk abazdg02.cre)
U: dragblue.cre
"ALTER_CLASSSCRIPT"
U: dragblue.bcs
[Files(4)]
D: (dw#ascension_sendai_irenicus.mrk finiren.cre)
U: finiren.bcs
[Files(5)]
D: (dw#celestial.mrk finsolar.cre)
U: finsol04.bcs
[Files(100)]
U_N: *.spl
"ALTER_ANIMATION"
[Files(400)]
D: dw#mage.mrk
U: (dw#sw102.spl dw#sw408.spl dw#sw319.spl dw#sw606.spl dw#sw512.spl dw#sw517.spl dw#sw320.spl)
[Files(201,202,203,204,205)]
U: *.spl
[Files(300)]
U_IF: SPPR412.spl
"ALTER_EFFECT(opcode=141, duration)"
U_IF:(
SPPR109.spl SPPR110.spl SPPR111.spl SPPR206.spl SPPR213.spl SPPR214.spl SPPR412.spl SPPR416.spl SPPR505.spl SPPR513.spl
SPPR515.spl SPPR603.spl SPPR613.spl SPPR698.spl SPPR701.spl SPPR725.spl SPPR730.spl SPWI102.spl SPWI107.spl SPWI114.spl
SPWI120.spl SPWI201.spl SPWI212.spl SPWI219.spl SPWI222.spl SPWI317.spl SPWI318.spl SPWI403.spl SPWI406.spl SPWI416.spl
SPWI418.spl SPWI505.spl SPWI511.spl SPWI518.spl SPWI519.spl SPWI522.spl SPWI590.spl SPWI591.spl SPWI592.spl SPWI593.spl
SPWI594.spl SPWI595.spl SPWI596.spl SPWI597.spl SPWI602.spl SPWI603.spl SPWI607.spl SPWI609.spl SPWI611.spl SPWI618.spl
SPWI701.spl SPWI703.spl SPWI708.spl SPWI723.spl SPWI804.spl SPWI808.spl SPWI902.spl SPWI907.spl SPWI915.spl SPWI916.spl
SPIN103.spl SPCL232.spl SPCL721.spl SPCL731.spl SPCL732.spl SPCL741.spl)
U: (SPCL152.spl SPCL321.spl SPCL423.spl SPCL521.spl SPCL522.spl SPCL904.spl SPCL907.spl SPCL913.spl SPCL914.spl SPCL917.spl )
U_IF: (
SPPR101.spl SPPR107.spl SPPR108.spl SPPR201.spl
SPPR202.spl SPPR210.spl SPPR306.spl SPPR312.spl SPPR403.spl SPPR407.spl SPPR408.spl SPPR409.spl SPPR413.spl SPPR507.spl
SPPR508.spl SPPR509.spl SPPR711.spl SPWI108.spl SPWI113.spl SPWI209.spl SPWI210.spl SPWI214.spl SPWI305.spl SPWI311.spl
SPWI319.spl SPWI320.spl SPWI405.spl SPWI414.spl SPWI512.spl SPWI517.spl SPWI613.spl SPWI606.spl SPWI702.spl SPWI721.spl
SPWI803.spl SPCL213.spl)
U: (SPWI921.SPL DW#QALAC.SPL SPPR203D.spl)
U_IF:(
dw#sp101.spl dw#sp108.spl dw#sp110.spl dw#sp111.spl dw#sp202.spl dw#sp206.spl dw#sp214.spl
dw#sp306.spl dw#sp403.spl dw#sp406.spl dw#sp409.spl dw#sp412.spl dw#sp501.spl dw#sp506.spl
dw#sp508.spl dw#sp509.spl dw#sp513.spl dw#sp603.spl dw#sp613.spl dw#sp701.spl dw#sp711.spl
dw#sp725.spl dw#sp703.spl dw#sw102.spl dw#sw114.spl dw#sw206.spl dw#sw212.spl dw#sw305.spl
dw#sw311.spl dw#sw317.spl dw#sw318.spl dw#sw319.spl dw#sw320.spl dw#sw403.spl dw#sw405.spl
dw#sw406.spl dw#sw418.spl dw#sw505.spl dw#sw512.spl dw#sw517.spl dw#sw518.spl dw#sw519.spl
dw#sw522.spl dw#sw590.spl dw#sw592.spl dw#sw602.spl dw#sw606.spl dw#sw613.spl dw#sw618.spl
dw#sw701.spl dw#sw702.spl dw#sw902.spl MELSPL01.spl MELSPL03.spl)
U: (RR#THL02.spl RR#THL03.spl RR#WDIS.spl RR#BHL05.spl RR#BHL06.spl SPWI909.SPL SPCL912B.SPL)
U_IF:(SPWISH17.SPL DW#WISH3.SPL)
[Files(500)]
U_N: *.are
"ALTER_DOOR_FLAGS"
[Files(600)]
U_IF: (
POTN02.itm POTN03.itm POTN04.itm POTN05.itm POTN06.itm POTN07.itm POTN09.itm
POTN11.itm POTN12.itm POTN14.itm POTN15.itm POTN16.itm POTN18.itm POTN19.itm
POTN21.itm POTN22.itm POTN24.itm POTN28.itm POTN29.itm POTN30.itm POTN31.itm
POTN33.itm POTN34.itm POTN35.itm POTN36.itm POTN37.itm POTN38.itm POTN39.itm
POTN41.itm POTN42.itm POTN43.itm POTN44.itm POTN45.itm POTN46.itm POTN56.itm
AMUL15.itm AMUL17.itm BRAC16.itm
DW#PTN02.itm DW#PTN03.itm DW#PTN04.itm DW#PTN05.itm DW#PTN06.itm DW#PTN07.itm DW#PTN09.itm
DW#PTN11.itm DW#PTN12.itm DW#PTN14.itm DW#PTN15.itm DW#PTN16.itm DW#PTN18.itm DW#PTN19.itm
DW#PTN21.itm DW#PTN22.itm DW#PTN24.itm DW#PTN28.itm DW#PTN29.itm DW#PTN30.itm DW#PTN31.itm
DW#PTN33.itm DW#PTN34.itm DW#PTN35.itm DW#PTN36.itm DW#PTN37.itm DW#PTN38.itm DW#PTN39.itm
DW#PTN41.itm DW#PTN42.itm DW#PTN43.itm DW#PTN44.itm DW#PTN45.itm DW#PTN46.itm DW#PTN56.itm
SCRL03.itm SCRL04.itm SCRL05.itm SCRL06.itm SCRL07.itm SCRL08.itm SCRL09.itm SCRL15.itm)
[Files(700)]
D: (DW#WISH1.SPL, SPWI513C.SPL)
C: (JF#WISHA.SPL, JF#WISHB.SPL)
U: (DW#WISH1.SPL SPWISH26.SPL SPWISH38.SPL)
"DELETE_EFFECT(opcode=*)"
U: (SPWI519.SPL DW#0W519.SPL DW#SW519.SPL)
M#0: DW#SOLDI.SPL
C#0: (JF#DISJB.SPL JF#DISJA.SPL)
U#0: DW#SOLDI.SPL
"DELETE_EFFECT(opcode=*)"
U#0: (SPWI519.SPL DW#0W519.SPL DW#SW519.SPL)
[WeiDU-EN]
0=Fix Sunfire power levels
1=Enable Spell Immunity in Sequencers/Triggers
2=Shield of Reflection works on Stratagems Flame Arrows
3=Fix Ascension with Stratagems Smarter Abazigal
4=Fix Ascension with Stratagems Smarter Irenicus
5=Fix Ascension with Stratagems Smarter Celestials
100=Fix incorrect spell animations
201=Add spell school notifications -> All spells with a casting time greater than 1
202=Add spell school notifications -> All spells with a casting time greater than 2
203=Add spell school notifications -> All spells with a casting time greater than 3
204=Add spell school notifications -> All spells with a casting time greater than 4
205=Add spell school notifications -> All spells with a casting time greater than 5
300=Add expiration notifications for buffs
400=Prevent silent prebuffing by Stratagems Smarter Mages
500=Reveal all hidden doors
600=Add expiration notifications for item buffs
700=Allow Spell Shield to block Wish Breach and Mordenkainen's Disjunction
Tra=0