anyone else been dyeing for 1 of these? been thinking about making for years but somewhat a pain with the old out dated map makeing programs haha started making this way back when
![]()

Rename that txt file something like Silky.tp2. You can open it with your favorite text editor at any time if you right click and select "Open with..." (if extensions like .txt and .tp2 are hidden you may have to enable them in your folder option). Then rename a copy of WeiDU.exe to setup-Silky.exe and run it. This should create a copy chan18.itm and place it in your override folder with the new name and description. You're not done yet though!
BACKUP ~Silky/backup~
AUTHOR ~YourAuthorName, at http://forum.baldursgate.com~ // if you want, you can put your email here instead
BEGIN ~Silver Silk Chainmail~
COPY_EXISTING chan18.itm ~override/Silky.itm~ //note that the total file name, excluding file extension, must not exceed 8 characters.
SAY NAME1 ~Soft Mail~
SAY NAME2 ~Silver Silk Chainmail~
WRITE_LONG 0x1e THIS BAND BNOT BIT29 // Silver Spider Thread
SAY 0x50 ~At first glance it's hard to tell whether this is meant to be used as protection, but the fibers seem strong enough to deflect blows. Maybe someone can help identify it.~ // General description
SAY 0x54 ~The Silver Silk Chainmail was sewn from the webs of silver spiders, offering the protection of mail and the flexibility of cloth. It is believed that such rare vestments originate from a hidden monk sanctuary high atop a mountain at the Spine of the World.~ // Identified description
COPY_EXISTING ~ribald.sto~ ~override~
ADD_STORE_ITEM "Silky" #10 #0 #0 ~IDENTIFIED~ #5
'Debug Mode', '1'IE
'Program Options', 'Debug Mode', '1'Then once you load a game you can hold CLT and press Space bar and inter the following command. CLUAConsole:AddItem("Silky")
COPY_EXISTING_REGEXP ~^.+\.itm$~ override
LPF ALTER_EFFECT
INT_VAR
match_opcode = 145
match_parameter2 = 0
match_timing = 2
opcode = 177
parameter2 = 2
STR_VAR
resource = (EXTEFF)
END
BUT_ONLY
CREATE EFF ~(EXTEFF)~
WRITE_SHORT 0x10 145
WRITE_LONG 0x2c 100
WRITE_EVALUATED_ASCII ~(ARCFAIL)~
opcode=318, target=2, timing=9, probability1=100, resource = (ARCFAIL).
Alternatively, create a separate EFF for each armor tier (ARCFAIL1, ARCFAIL2, ARCFAIL3, etc...), and grant immunity to only those tiers that you want them to ignore. Could work just as well for casting failure % instead of disabled casting.
opcode=318, target=2, timing=9, probability1=100, resource = (EFFECT_SLEEP).
opcode=318, target=2, timing=9, probability1=100, resource = (EFFECT_SLEEP).
opcode=318, target=2, timing=9, probability1=100, resource = (EFFECT_UNCONSCIOUS).
opcode=318, target=2, timing=9, probability1=100, resource = (EFFECT_HOPELESS).
opcode=318, target=2, timing=9, probability1=100, resource = (EFFECT_POISON).
This way they would remain vulnerable to knockdown, such as from Wing Buffet.opcode=318, target=2, timing=9, probability1=100, resource = (EFFECT_POISON).
No complication with Disease and Poison dealing the same damage type, or needing to list every spell individually with opcode 206.On the item:
opcode 318, target=1, parameter1/2=(SPLPROT), timing=2, resource=(CUSTOM)
opcode 177, target =1, timing=2, resource=(EXTEFF)
EXTEFF: opcode/parameters=(whatever), parent resource=(CUSTOM)
The (SPLPROT) should be a match against anyone who should not get the effect.Full Plate:
opcode 318, target=1, parameter1/2=(Armor Proficiency>2), timing=2, resource=(CUSTOM)
opcode 177, target =1, timing=2, resource=(EXTEFF1)
opcode 177, target =1, timing=2, resource=(EXTEFF2)
opcode 177, target =1, timing=2, resource=(EXTEFF3)
EXTEFF1: opcode=278, parameter1=~-6~, parent resource=(CUSTOM) //THAC0
EXTEFF2: opcode=44, parameter1=~-3~, parent resource=(CUSTOM) // Strength
EXTEFF3: opcode=15, parameter1=~-3~, parent resource=(CUSTOM) // Dexterity
// Armor Check Penalty for non-proficiency with armor
// SPLPROT could either be for an actual proficiency stat, re-purposed for Armor, or SPLSTATEs for each armor tier.