Many of these are
NPC mods just dropping in unique kits and are probably unrelated, but I included them for completeness' sake. Based on some of the suspicions raised earlier in the thread, I started at Neh'taniel
////\\//\\//\\//\\//\\/\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
// ~~ Kit Appending~~ //
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
ADD_KIT ~SkyeHL~
~SkyeHL 1 1 1 1 1 1 1 1~
~SkyeHL 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 3 2 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2~
~SkyeHL 0 0 0 0 14 15~
~SkyeHL 0 0 0 0 0 0~
~SkyeHL 17 0 0 0 15 14~
~SkyeHL 15 0 0 0 15 14~
~SkyeHL 1 1 1 0 0 0 0 0 0~
~SkyeHL 0 0 0 0 0 0~
~Neh'taniel/SkyeHL.2da~
~~
~ 0x00040000 6~
//New kit, mortal Judicial Knight
// internal name of the kit
ADD_KIT ~SK#JUDKN~
~SK#JUDKN 1 1 1 1 1 1 1 1~ // appended to CLASWEAP.2da
~SK#JUDKN 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 3 2 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2~ // appended column-wise to WEAPPROF.2da
~SK#JUDKN 0 0 0 0 14 15~ // appended to ABCLASRQ.2da
~SK#JUDKN 0 0 0 0 0 0~ // appended to ABCLSMOD.2da
~SK#JUDKN 17 0 0 0 15 14~ // appended to ABDCDSRQ.2da
~SK#JUDKN 15 0 0 0 15 14~ // appended to ABDCSCRQ.2da
~SK#JUDKN 1 1 1 0 0 0 0 0 0~ // appended to ALIGNMNT.2da
~SK#JUDKN 0 0 0 0 0 0~ // appended to DUALCLAS.2da
~Neh'Taniel/SK#JUDKN.2da~ // path to your CLAB-style 2da file
~~ // PC races and classes allowed to use this kit, from KITTABLE.2da
~ 0x00040000 6~ // usability flags, added to the end of the KITLIST.2da entry
~Fi0~ // HLA table to use; see LUABBR.2da
// list of starting equipment for PCs starting in ToB. Appended column-wise to 25STWEAP.2da
~* * HELM07 BAG26 RING06 RING31 CLCK27 BOOT01 AMUL19 BRAC10 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN04,2 POTN14,5 BOW11 BOW19 XBOW06~
// Lower, mixed, and help kit names and descriptions, added to KITLIST.2da
SAY @2
SAY @2
SAY @4
APPEND ~kit.ids~ ~0x0000 JUDICIAL_KNIGHT~
UNLESS ~\bJUDICIAL_KNIGHT\b~
The Judicial Knight kit is tagged as 0x0000
Then comes Touchstone,
////////Install Wild Elf Fighter Kit for Touchstone
BEGIN ~Install Wild Elf Fighter Kit~
// internal name of the kit Longsword, Club and Quarterstaff
ADD_KIT ~BKTOUCH~
// appended to CLASWEAP.2da
~BKTOUCH 1 1 1 1 1 1 1 1~
// appended column-wise to WEAPPROF.2da
~BKTOUCH 1 4 5 4 1 1 5 3 2 3 4 5 1 1 1 5 0 3 4 1 1 1 3 1 5 5 5 3 1 2 2 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1~
// appended to ABCLASRQ.2da - minimum stat requirements STR,DEX,CON,INT,WIS,CHA.
~BKTOUCH 0 0 0 0 9 0~
// appended to ABCLSMOD.2da - stat modifiers
~BKTOUCH 0 1 0 0 0 0~
// appended to ABDCDSRQ.2da - minimum stat requirements for dualclassing to another class
~BKTOUCH 0 0 0 0 17 0~
// appended to ABDCSCRQ.2da - minimum stat requirements for dualclassing from another class
~BKTOUCH 0 0 0 0 15 0~
// appended to ALIGNMNT.2da
~BKTOUCH 1 1 0 1 0 0 1 1 0~
// appended to DUALCLAS.2da
~BKTOUCH 0 0 0 0 0 0~
// path to your CLAB-style 2da file
~touched/2da/BKTOUCH.2da~
// PC races and classes allowed to use this kit, from KITTABLE.2da
~~
// usability flags, added to the end of the KITLIST.2da entry
~0x00008000 2~
Then Varshoon adds his kit,
ADD_KIT ~VxKit~
~VxKit 2 0 0 0 0 0 0 0~
~VxKit 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~
~VxKit 0 0 0 0 0 0~
~VxKit 0 0 0 0 0 0~
~VxKit 0 0 0 0 0 0~
~VxKit 0 0 0 0 0 0~
~VxKit 0 0 1 0 0 1 0 0 1~
~VxKit 0 0 0 0 0 0~
~override\VxKit.2da~
~~
~0x00000001 2~
And Horace adds his,
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
// ~~ Kit Appending, more in hope then expectation! ~~ //
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
BEGIN @1
ADD_KIT ~SeifHL~
~SeifHL 1 1 1 1 1 1 1 1~
~SeifHL 2 2 0 0 2 2 2 0 2 2 2 2 0 2 0 2 2 2 0 0 2 2 0 0 0 0 3 3 2 3 3 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5~
~SeifHL 0 0 13 0 14 13~
~SeifHL 0 0 0 0 0 0~
~SeifHL 0 0 0 0 0 0~
~SeifHL 0 0 0 0 0 0~
~SeifHL 0 0 0 0 0 0 1 0 0~
~SeifHL 0 0 0 0 0 0~
~Horace/SeifHL.2da~
~~
~ 0x00040000 2~
Silverstar gets in the mix too with her specialty kit,
Silverstar
ADD_KIT ~StarHL~
~StarHL 1 1 1 1 1 0 0 0~
~StarHL 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~
~StarHL 0 15 0 0 0 0~
~StarHL 0 0 0 0 0 0~
~StarHL 0 0 0 0 0 0~
~StarHL 0 0 0 0 0 0~
~StarHL 0 1 1 1 1 1 1 1 1~
~StarHL 0 0 0 0 0 0~
~Star\StarHL.2da~
~~
~0x00040000 4[/color]~
Then BP adds a monster block of code, to do what I assume is re-order the IDS entries
COPY_EXISTING ~kit.ids~ ~override~
REPLACE_TEXTUALLY ~0x00004000~ ~0x4000~ // TRUECLASS/MAGESCHOOL_GENERALIST
REPLACE_TEXTUALLY ~0x00000040~ ~0x0040~ // MAGESCHOOL_ABJURER
REPLACE_TEXTUALLY ~0x00000080~ ~0x0080~ // MAGESCHOOL_CONJURER
REPLACE_TEXTUALLY ~0x00000100~ ~0x0100~ // MAGESCHOOL_DIVINER
REPLACE_TEXTUALLY ~0x00000200~ ~0x0200~ // MAGESCHOOL_ENCHANTER
REPLACE_TEXTUALLY ~0x00000400~ ~0x0400~ // MAGESCHOOL_ILLUSIONIST
REPLACE_TEXTUALLY ~0x00000800~ ~0x0800~ // MAGESCHOOL_INVOKER
REPLACE_TEXTUALLY ~0x00001000~ ~0x1000~ // MAGESCHOOL_NECROMANCER
REPLACE_TEXTUALLY ~0x00002000~ ~0x2000~ // MAGESCHOOL_TRANSMUTER
REPLACE_TEXTUALLY ~0x00000001~ ~0x4001~ // BERSERKER
REPLACE_TEXTUALLY ~0x00000002~ ~0x4002~ // WIZARDSLAYER
REPLACE_TEXTUALLY ~0x00000004~ ~0x4003~ // KENSAI
REPLACE_TEXTUALLY ~0x00000008~ ~0x4004~ // CAVALIER
REPLACE_TEXTUALLY ~0x00000010~ ~0x4005~ // INQUISITOR
REPLACE_TEXTUALLY ~0x00000020~ ~0x4006~ // UNDEADHUNTER
REPLACE_TEXTUALLY ~0x00008000~ ~0x4007~ // FERALAN
REPLACE_TEXTUALLY ~0x00010000~ ~0x4008~ // STALKER
REPLACE_TEXTUALLY ~0x00020000~ ~0x4009~ // BEASTMASTER
REPLACE_TEXTUALLY ~0x00040000~ ~0x400A~ // ASSASIN
REPLACE_TEXTUALLY ~0x00080000~ ~0x400B~ // BOUNTYHUNTER
REPLACE_TEXTUALLY ~0x00100000~ ~0x400C~ // SWASHBUCKLER
REPLACE_TEXTUALLY ~0x00200000~ ~0x400D~ // BLADE
REPLACE_TEXTUALLY ~0x00400000~ ~0x400E~ // JESTER
REPLACE_TEXTUALLY ~0x00800000~ ~0x400F~ // SKALD
REPLACE_TEXTUALLY ~0x01000000~ ~0x4013~ // GODTALOS
REPLACE_TEXTUALLY ~0x02000000~ ~0x4014~ // GODHELM
REPLACE_TEXTUALLY ~0x04000000~ ~0x4015~ // GODLATHANDER
REPLACE_TEXTUALLY ~0x08000000~ ~0x4010~ // TOTEMIC
REPLACE_TEXTUALLY ~0x10000000~ ~0x4011~ // SHAPESHIFTER
REPLACE_TEXTUALLY ~0x20000000~ ~0x4012~ // BEASTFRIEND
REPLACE_TEXTUALLY ~0x40000000~ ~0x401F~ // BARBARIAN
REPLACE_TEXTUALLY ~0x0000 BARBARIAN~ ~0x401F BARBARIAN~ //Some mods install this incorrectly
BUT_ONLY_IF_IT_CHANGES
APPEND ~kit.ids~ ~0x0000 WILDMAGE~ UNLESS ~0x0000 WILDMAGE~
Immediately a question comes to me. Do all these numerical designations need to be unique? The Judicial Knight kit from Neh'taniel also uses 0x0000. The comment on the Barbarian line also makes me wonder- "what is the
correct way? 0x401F?". 0x401F is the one used by Refinements, as you'll see at the end.
Anyway, after that, D0Questpak has a similar block of it's own,
COPY_EXISTING ~kit.ids~ ~override~
REPLACE_TEXTUALLY ~.*\bTRUECLASS\b~ ~0x4000 TRUECLASS~
REPLACE_TEXTUALLY ~.*\bBERSERKER\b~ ~0x4001 BERSERKER~
REPLACE_TEXTUALLY ~.*\bWIZARDSLAYER\b~ ~0x4002 WIZARDSLAYER~
REPLACE_TEXTUALLY ~.*\bKENSAI\b~ ~0x4003 KENSAI~
REPLACE_TEXTUALLY ~.*\bCAVALIER\b~ ~0x4004 CAVALIER~
REPLACE_TEXTUALLY ~.*\bINQUISITOR\b~ ~0x4005 INQUISITOR~
REPLACE_TEXTUALLY ~.*\bUNDEADHUNTER\b~ ~0x4006 UNDEADHUNTER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_ABJURER\b~ ~0x0040 MAGESCHOOL_ABJURER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_CONJURER\b~ ~0x0080 MAGESCHOOL_CONJURER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_DIVINER\b~ ~0x0100 MAGESCHOOL_DIVINER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_ENCHANTER\b~ ~0x0200 MAGESCHOOL_ENCHANTER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_ILLUSIONIST\b~ ~0x0400 MAGESCHOOL_ILLUSIONIST~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_INVOKER\b~ ~0x0800 MAGESCHOOL_INVOKER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_NECROMANCER\b~ ~0x1000 MAGESCHOOL_NECROMANCER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_TRANSMUTER\b~ ~0x2000 MAGESCHOOL_TRANSMUTER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_GENERALIST\b~ ~0x4000 MAGESCHOOL_GENERALIST~
REPLACE_TEXTUALLY ~.*\bFERALAN\b~ ~0x4007 FERALAN~
REPLACE_TEXTUALLY ~.*\bSTALKER\b~ ~0x4008 STALKER~
REPLACE_TEXTUALLY ~.*\bBEASTMASTER\b~ ~0x4009 BEASTMASTER~
REPLACE_TEXTUALLY ~.*\bASSASIN\b~ ~0x400A ASSASIN~
REPLACE_TEXTUALLY ~.*\bBOUNTYHUNTER\b~ ~0x400B BOUNTYHUNTER~
REPLACE_TEXTUALLY ~.*\bSWASHBUCKLER\b~ ~0x400C SWASHBUCKLER~
REPLACE_TEXTUALLY ~.*\bBLADE\b~ ~0x400D BLADE~
REPLACE_TEXTUALLY ~.*\bJESTER\b~ ~0x400E JESTER~
REPLACE_TEXTUALLY ~.*\bSKALD\b~ ~0x400F SKALD~
REPLACE_TEXTUALLY ~.*\bGODTALOS\b~ ~0x4013 GODTALOS~
REPLACE_TEXTUALLY ~.*\bGODHELM\b~ ~0x4014 GODHELM~
REPLACE_TEXTUALLY ~.*\bGODLATHANDER\b~ ~0x4015 GODLATHANDER~
REPLACE_TEXTUALLY ~.*\bTOTEMIC\b~ ~0x4010 TOTEMIC~
REPLACE_TEXTUALLY ~.*\bSHAPESHIFTER\b~ ~0x4011 SHAPESHIFTER~
REPLACE_TEXTUALLY ~.*\bBEASTFRIEND\b~ ~0x4012 BEASTFRIEND~
REPLACE_TEXTUALLY ~.*\bBARBARIAN\b~ ~0x0000 BARBARIAN~
REPLACE_TEXTUALLY ~.*\bWILDMAGE\b~ ~0x0000 WILDMAGE~
BUT_ONLY_IF_IT_CHANGES
APPEND ~kit.ids~ ~0x4000 TRUECLASS~
UNLESS ~\bTRUECLASS\b~
APPEND ~kit.ids~ ~0x0000 BARBARIAN~
UNLESS ~\bBARBARIAN\b~
APPEND ~kit.ids~ ~0x0000 WILDMAGE~
UNLESS ~\bWILDMAGE\b~
All I can tell is that BP and D0Questpack are handling the Barbarian and Wildmage entries in two different ways. As I said, I've really no idea what the "Standard Operating Procedure" is here.
Next, Luxley
ADD_KIT ~FHLPLAY~
//appended to CLASWEAP.2da
~FHLPLAY 1 1 1 1 1 1 1 1~
//appended column-wise to WEAPPROF.2da~
~FHLPLAY 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~
//appended to ABCLASRQ.2da
~FHLPLAY 0 9 0 15 0 14~
//appended to ABCLSMOD.2da
~FHLPLAY 0 0 0 0 0 0~
//appended to ABDCDSRQ.2da
~FHLPLAY 0 0 0 0 0 0~
//appended to ABDCSCRQ.2da
~FHLPLAY 0 0 0 0 0 0~
//appended to ALIGNMNT.2da
~FHLPLAY 1 1 1 1 1 1 1 1 1~
//appended to DUALCLAS.2da
~FHLPLAY 0 0 0 0 0 0~
//path to 2da file
~LuxleySoA/2da/FHLPLAY.2da~
//races and classes allowed to use kit
~~
//usability flags
~0x00004000 5~
Song and Silence,
COPY_EXISTING ~KIT.IDS~ ~override~
REPLACE_TEXTUALLY ~0x00004000~ ~0x4000~ // TRUECLASS/MAGESCHOOL_GENERALIST
REPLACE_TEXTUALLY ~0x00000040~ ~0x0040~ // MAGESCHOOL_ABJURER
REPLACE_TEXTUALLY ~0x00000080~ ~0x0080~ // MAGESCHOOL_CONJURER
REPLACE_TEXTUALLY ~0x00000100~ ~0x0100~ // MAGESCHOOL_DIVINER
REPLACE_TEXTUALLY ~0x00000200~ ~0x0200~ // MAGESCHOOL_ENCHANTER
REPLACE_TEXTUALLY ~0x00000400~ ~0x0400~ // MAGESCHOOL_ILLUSIONIST
REPLACE_TEXTUALLY ~0x00000800~ ~0x0800~ // MAGESCHOOL_INVOKER
REPLACE_TEXTUALLY ~0x00001000~ ~0x1000~ // MAGESCHOOL_NECROMANCER
REPLACE_TEXTUALLY ~0x00002000~ ~0x2000~ // MAGESCHOOL_TRANSMUTER
REPLACE_TEXTUALLY ~0x00000001~ ~0x4001~ // BERSERKER
REPLACE_TEXTUALLY ~0x00000002~ ~0x4002~ // WIZARDSLAYER
REPLACE_TEXTUALLY ~0x00000004~ ~0x4003~ // KENSAI
REPLACE_TEXTUALLY ~0x00000008~ ~0x4004~ // CAVALIER
REPLACE_TEXTUALLY ~0x00000010~ ~0x4005~ // INQUISITOR
REPLACE_TEXTUALLY ~0x00000020~ ~0x4006~ // UNDEADHUNTER
REPLACE_TEXTUALLY ~0x00008000~ ~0x4007~ // FERALAN
REPLACE_TEXTUALLY ~0x00010000~ ~0x4008~ // STALKER
REPLACE_TEXTUALLY ~0x00020000~ ~0x4009~ // BEASTMASTER
REPLACE_TEXTUALLY ~0x00040000~ ~0x400A~ // ASSASIN
REPLACE_TEXTUALLY ~0x00080000~ ~0x400B~ // BOUNTYHUNTER
REPLACE_TEXTUALLY ~0x00100000~ ~0x400C~ // SWASHBUCKLER
REPLACE_TEXTUALLY ~0x00200000~ ~0x400D~ // BLADE
REPLACE_TEXTUALLY ~0x00400000~ ~0x400E~ // JESTER
REPLACE_TEXTUALLY ~0x00800000~ ~0x400F~ // SKALD
REPLACE_TEXTUALLY ~0x01000000~ ~0x4013~ // GODTALOS
REPLACE_TEXTUALLY ~0x02000000~ ~0x4014~ // GODHELM
REPLACE_TEXTUALLY ~0x04000000~ ~0x4015~ // GODLATHANDER
REPLACE_TEXTUALLY ~0x08000000~ ~0x4010~ // TOTEMIC
REPLACE_TEXTUALLY ~0x10000000~ ~0x4011~ // SHAPESHIFTER
REPLACE_TEXTUALLY ~0x20000000~ ~0x4012~ // BEASTFRIEND
REPLACE_TEXTUALLY ~0x40000000~ ~0x401F~ // BARBARIAN
BUT_ONLY_IF_IT_CHANGES
ADD_KIT ~FENCE~
~FENCE 1 1 1 1 1 0 0 0~
~FENCE 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ~
~FENCE 0 9 0 12 0 15~
~FENCE 0 0 0 0 -2 2~
~FENCE 0 17 0 17 0 17~
~FENCE 0 15 0 15 0 15~
~FENCE 0 1 1 1 1 1 1 1 1~
~FENCE 1 0 1 1 0 0~
~SOS/RULE/CLABFNCE.2DA~
~~
~0x00080000 4~
At a glance, Wildmages don't appear to be accounted for, and there is the inconsistency with Barbarians again. The last known value for Barbarians was 0x0000 as per D0Questpack.
Oversight's Holy Liberator kit- note that nothing else from Oversight was installed (in my case, at least),
ADD_KIT ~KishHL~
~KishHL 1 1 1 1 1 1 1 1~
~KishHL 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~
~KishHL 0 0 13 0 17 13~
~KishHL 0 0 0 0 0 0~
~KishHL 0 0 0 0 0 0~
~KishHL 0 0 0 0 0 0~
~KishHL 0 0 0 0 0 0 1 0 0~
~KishHL 0 0 0 0 0 0~
~oversight/liberator/KishHL.2da~
~K_P_H K_P_D K_P_E K_P_HE K_P_HL K_P_HO~
~0x00000020 6~
Divine Remix,
// fixing kit.ids
COPY_EXISTING ~kit.ids~ ~override~
REPLACE_TEXTUALLY ~.*\bTRUECLASS\b~ ~0x4000 TRUECLASS~
REPLACE_TEXTUALLY ~.*\bBERSERKER\b~ ~0x4001 BERSERKER~
REPLACE_TEXTUALLY ~.*\bWIZARDSLAYER\b~ ~0x4002 WIZARDSLAYER~
REPLACE_TEXTUALLY ~.*\bKENSAI\b~ ~0x4003 KENSAI~
REPLACE_TEXTUALLY ~.*\bCAVALIER\b~ ~0x4004 CAVALIER~
REPLACE_TEXTUALLY ~.*\bINQUISITOR\b~ ~0x4005 INQUISITOR~
REPLACE_TEXTUALLY ~.*\bUNDEADHUNTER\b~ ~0x4006 UNDEADHUNTER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_ABJURER\b~ ~0x0040 MAGESCHOOL_ABJURER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_CONJURER\b~ ~0x0080 MAGESCHOOL_CONJURER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_DIVINER\b~ ~0x0100 MAGESCHOOL_DIVINER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_ENCHANTER\b~ ~0x0200 MAGESCHOOL_ENCHANTER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_ILLUSIONIST\b~ ~0x0400 MAGESCHOOL_ILLUSIONIST~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_INVOKER\b~ ~0x0800 MAGESCHOOL_INVOKER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_NECROMANCER\b~ ~0x1000 MAGESCHOOL_NECROMANCER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_TRANSMUTER\b~ ~0x2000 MAGESCHOOL_TRANSMUTER~
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_GENERALIST\b~ ~0x4000 MAGESCHOOL_GENERALIST~
REPLACE_TEXTUALLY ~.*\bFERALAN\b~ ~0x4007 FERALAN~
REPLACE_TEXTUALLY ~.*\bSTALKER\b~ ~0x4008 STALKER~
REPLACE_TEXTUALLY ~.*\bBEASTMASTER\b~ ~0x4009 BEASTMASTER~
REPLACE_TEXTUALLY ~.*\bASSASIN\b~ ~0x400A ASSASIN~
REPLACE_TEXTUALLY ~.*\bBOUNTYHUNTER\b~ ~0x400B BOUNTYHUNTER~
REPLACE_TEXTUALLY ~.*\bSWASHBUCKLER\b~ ~0x400C SWASHBUCKLER~
REPLACE_TEXTUALLY ~.*\bBLADE\b~ ~0x400D BLADE~
REPLACE_TEXTUALLY ~.*\bJESTER\b~ ~0x400E JESTER~
REPLACE_TEXTUALLY ~.*\bSKALD\b~ ~0x400F SKALD~
REPLACE_TEXTUALLY ~.*\bGODTALOS\b~ ~0x4013 GODTALOS~
REPLACE_TEXTUALLY ~.*\bGODHELM\b~ ~0x4014 GODHELM~
REPLACE_TEXTUALLY ~.*\bGODLATHANDER\b~ ~0x4015 GODLATHANDER~
REPLACE_TEXTUALLY ~.*\bTOTEMIC\b~ ~0x4010 TOTEMIC~
REPLACE_TEXTUALLY ~.*\bSHAPESHIFTER\b~ ~0x4011 SHAPESHIFTER~
REPLACE_TEXTUALLY ~.*\bBEASTFRIEND\b~ ~0x4012 BEASTFRIEND~
REPLACE_TEXTUALLY ~.*\bBARBARIAN\b~ ~0x0000 BARBARIAN~
REPLACE_TEXTUALLY ~.*\bWILDMAGE\b~ ~0x0000 WILDMAGE~
BUT_ONLY_IF_IT_CHANGES
APPEND ~kit.ids~ ~0x4000 TRUECLASS~
UNLESS ~\bTRUECLASS\b~
APPEND ~kit.ids~ ~0x0000 BARBARIAN~
UNLESS ~\bBARBARIAN\b~
APPEND ~kit.ids~ ~0x0000 WILDMAGE~
UNLESS ~\bWILDMAGE\b~
Barbarian and Wildmage are both given 0x0000 again, as in the Ding0 Questpack.
and finally, Refinements
Refinements
// Corrections to KIT.IDS. Translates in WeiDU the corrections originally
// made by Dyara
COPY_EXISTING ~KIT.IDS~ ~override/KIT.IDS~
REPLACE_TEXTUALLY ~0x00004000 TRUECLASS~ ~0x4000 TRUECLASS~
REPLACE_TEXTUALLY ~0x00000001~ ~0x4001~
REPLACE_TEXTUALLY ~0x00000002~ ~0x4002~
REPLACE_TEXTUALLY ~0x00000004~ ~0x4003~
REPLACE_TEXTUALLY ~0x00000008~ ~0x4004~
REPLACE_TEXTUALLY ~0x00000010~ ~0x4005~
REPLACE_TEXTUALLY ~0x00000020~ ~0x4006~
REPLACE_TEXTUALLY ~0x00000040~ ~0x0040~
REPLACE_TEXTUALLY ~0x00000080~ ~0x0080~
REPLACE_TEXTUALLY ~0x00000100~ ~0x0100~
REPLACE_TEXTUALLY ~0x00000200~ ~0x0200~
REPLACE_TEXTUALLY ~0x00000400~ ~0x0400~
REPLACE_TEXTUALLY ~0x00000800~ ~0x0800~
REPLACE_TEXTUALLY ~0x00001000~ ~0x1000~
REPLACE_TEXTUALLY ~0x00002000~ ~0x2000~
REPLACE_TEXTUALLY ~0x00008000~ ~0x4007~
REPLACE_TEXTUALLY ~0x00010000~ ~0x4008~
REPLACE_TEXTUALLY ~0x00020000~ ~0x4009~
REPLACE_TEXTUALLY ~0x00040000 MAGESCHOOL_GENERALIST~ ~0x4000 MAGESCHOOL_GENERALIST~
REPLACE_TEXTUALLY ~0x00080000~ ~0x400B~
REPLACE_TEXTUALLY ~0x00100000~ ~0x400C~
REPLACE_TEXTUALLY ~0x00200000~ ~0x400D~
REPLACE_TEXTUALLY ~0x00400000~ ~0x400E~
REPLACE_TEXTUALLY ~0x00800000~ ~0x400F~
REPLACE_TEXTUALLY ~0x01000000~ ~0x4013~
REPLACE_TEXTUALLY ~0x02000000~ ~0x4014~
REPLACE_TEXTUALLY ~0x04000000~ ~0x4015~
REPLACE_TEXTUALLY ~0x08000000~ ~0x4010~
REPLACE_TEXTUALLY ~0x10000000~ ~0x4011~
REPLACE_TEXTUALLY ~0x20000000~ ~0x4012~
REPLACE_TEXTUALLY ~0x40000000 BARBARIAN~ ~0x401F BARBARIAN~
// Added by the_bigg, further corrections by Littiz. Some installations have a
// different (and still wrong) version of KIT.IDS, so they require a different patch:
REPLACE_TEXTUALLY ~0x00004000 BARBARIAN~ ~0x401F BARBARIAN~
REPLACE_TEXTUALLY ~0x40010000~ ~0x4001~
REPLACE_TEXTUALLY ~0x40020000~ ~0x4002~
REPLACE_TEXTUALLY ~0x40030000~ ~0x4003~
REPLACE_TEXTUALLY ~0x40040000~ ~0x4004~
REPLACE_TEXTUALLY ~0x40050000~ ~0x4005~
REPLACE_TEXTUALLY ~0x40060000~ ~0x4006~
REPLACE_TEXTUALLY ~0x00400000~ ~0x0040~
REPLACE_TEXTUALLY ~0x00800000~ ~0x0080~
REPLACE_TEXTUALLY ~0x01000000~ ~0x0100~
REPLACE_TEXTUALLY ~0x02000000~ ~0x0200~
REPLACE_TEXTUALLY ~0x04000000~ ~0x0400~
REPLACE_TEXTUALLY ~0x08000000~ ~0x0800~
REPLACE_TEXTUALLY ~0x10000000~ ~0x1000~
REPLACE_TEXTUALLY ~0x20000000~ ~0x2000~
REPLACE_TEXTUALLY ~0x40000000 TRUECLASS~ ~0x4000 TRUECLASS~
REPLACE_TEXTUALLY ~0x40000000 MAGESCHOOL_GENERALIST~ ~0x4000 MAGESCHOOL_GENERALIST~
REPLACE_TEXTUALLY ~0x40070000~ ~0x4007~
REPLACE_TEXTUALLY ~0x40080000~ ~0x4008~
REPLACE_TEXTUALLY ~0x40090000~ ~0x4009~
REPLACE_TEXTUALLY ~0x400A0000~ ~0x400A~
REPLACE_TEXTUALLY ~0x400B0000~ ~0x400B~
REPLACE_TEXTUALLY ~0x400C0000~ ~0x400C~
REPLACE_TEXTUALLY ~0x400D0000~ ~0x400D~
REPLACE_TEXTUALLY ~0x400E0000~ ~0x400E~
REPLACE_TEXTUALLY ~0x400F0000~ ~0x400F~
REPLACE_TEXTUALLY ~0x40130000~ ~0x4013~
REPLACE_TEXTUALLY ~0x40140000~ ~0x4014~
REPLACE_TEXTUALLY ~0x40150000~ ~0x4015~
REPLACE_TEXTUALLY ~0x40100000~ ~0x4010~
REPLACE_TEXTUALLY ~0x40110000~ ~0x4011~
REPLACE_TEXTUALLY ~0x40120000~ ~0x4012~
REPLACE_TEXTUALLY ~0x401F0000~ ~0x401F~
BUT_ONLY_IF_IT_CHANGES
The last state of Barbarians was not 0x401F , but 0x0000 . I'm a bit curious why that is, and why the treatment with them is so inconsistent in general.