//precrated chars fix
COPY ~characters~ ~characters~
PATCH_IF (("%SOURCE_FILE%" STRING_COMPARE_CASE "*.cre") = 0) BEGIN
READ_BYTE 0x33 "fx_type"
READ_LONG 0x2c4 "fx_off"
READ_LONG 0x2c8 "fx_num"
WRITE_LONG 0x2c8 ("%fx_num%" + 1)
INSERT_BYTES ("%fx_off%") (0x30 + (0xd8 * "%fx_type%"))
WRITE_SHORT ("%fx_off%" + (0x08 * "%fx_type%")) 176 // movement rate bonus
WRITE_BYTE ("%fx_off%" + 0x02 + (0x0a * "%fx_type%")) 1 // target: self
WRITE_LONG ("%fx_off%" + 0x04 + (0x10 * "%fx_type%")) 0xfffffffe // -5 walking speed
WRITE_LONG ("%fx_off%" + 0x0c + (0x10 * "%fx_type%")) 9 // instant/permanent
WRITE_LONG ("%fx_off%" + 0x12 + (0x18 * "%fx_type%")) 100 // probability
END
BUT_ONLY_IF_IT_CHANGESadditionally, i've updated the code for IA compatibility
// this file does nothing, it just allows other mods to detect this component
COPY_EXISTING ~sw1h01.itm~ ~override/cdt01210.g3~
COPY_EXISTING_REGEXP GLOB ~^.+\.cre$~ ~override~
READ_SHORT 0x28 "anim" ELSE 0
PATCH_IF ((("%SOURCE_FILE%" STRING_COMPARE_CASE "charbase.cre")
= 0)
OR ("%anim%" = 0x5000)
OR ("%anim%" = 0x5001)
OR ("%anim%" = 0x5002)
OR ("%anim%" = 0x5003)
OR ("%anim%" = 0x5010)
OR ("%anim%" = 0x5011)
OR ("%anim%" = 0x5012)
OR ("%anim%" = 0x5013)
OR ("%anim%" = 0x5100)
OR ("%anim%" = 0x5101)
OR ("%anim%" = 0x5102)
OR ("%anim%" = 0x5103)
OR ("%anim%" = 0x5110)
OR ("%anim%" = 0x5111)
OR ("%anim%" = 0x5112)
OR ("%anim%" = 0x5113)
OR ("%anim%" = 0x5200)
OR ("%anim%" = 0x5201)
OR ("%anim%" = 0x5202)
OR ("%anim%" = 0x5210)
OR ("%anim%" = 0x5211)
OR ("%anim%" = 0x5212)
OR ("%anim%" = 0x5300)
OR ("%anim%" = 0x5301)
OR ("%anim%" = 0x5302)
OR ("%anim%" = 0x5303)
OR ("%anim%" = 0x5310)
OR ("%anim%" = 0x5311)
OR ("%anim%" = 0x5312)
OR ("%anim%" = 0x5313)
OR ("%anim%" = 0x6000)
OR ("%anim%" = 0x6001)
OR ("%anim%" = 0x6002)
OR ("%anim%" = 0x6003)
OR ("%anim%" = 0x6004)
OR ("%anim%" = 0x6005)
OR ("%anim%" = 0x6010)
OR ("%anim%" = 0x6011)
OR ("%anim%" = 0x6012)
OR ("%anim%" = 0x6013)
OR ("%anim%" = 0x6014)
OR ("%anim%" = 0x6015)
OR ("%anim%" = 0x6100)
OR ("%anim%" = 0x6101)
OR ("%anim%" = 0x6102)
OR ("%anim%" = 0x6103)
OR ("%anim%" = 0x6104)
OR ("%anim%" = 0x6105)
OR ("%anim%" = 0x6110)
OR ("%anim%" = 0x6111)
OR ("%anim%" = 0x6112)
OR ("%anim%" = 0x6113)
OR ("%anim%" = 0x6114)
OR ("%anim%" = 0x6115)
OR ("%anim%" = 0x6200)
OR ("%anim%" = 0x6201)
OR ("%anim%" = 0x6202)
OR ("%anim%" = 0x6204)
OR ("%anim%" = 0x6205)
OR ("%anim%" = 0x6210)
OR ("%anim%" = 0x6211)
OR ("%anim%" = 0x6212)
OR ("%anim%" = 0x6214)
OR ("%anim%" = 0x6215)
OR ("%anim%" = 0x6300)
OR ("%anim%" = 0x6301)
OR ("%anim%" = 0x6302)
OR ("%anim%" = 0x6303)
OR ("%anim%" = 0x6304)
OR ("%anim%" = 0x6305)
OR ("%anim%" = 0x6310)
OR ("%anim%" = 0x6311)
OR ("%anim%" = 0x6312)
OR ("%anim%" = 0x6313)
OR ("%anim%" = 0x6314)
OR ("%anim%" = 0x6315)
OR ("%anim%" = 0x6500)
OR ("%anim%" = 0x6510)
OR ("%anim%" = 0x683d) //moinesse
OR ("%anim%" = 0x683e) //moinesse
OR ("%anim%" = 0x683f) //moinesse
OR ("%anim%" = 0x6841) //moinesse
OR ("%anim%" = 0x6845) //moinesse
OR ("%anim%" = 0x6846) //moinesse
OR ("%anim%" = 0x6847) //moinesse
OR ("%anim%" = 0x6848) //moinesse
OR ("%anim%" = 0x5d4a) //AASIMAR FEMALE, PST
OR ("%anim%" = 0x5d4c) //CURST TOWNIE FEMALE, PST
OR ("%anim%" = 0x5d4d) //CURST TOWNIE MALE, PST
OR ("%anim%" = 0x5d4e) //DUSTMAN FEMALE, PST
OR ("%anim%" = 0x5d4f) //DUSTMAN MALE, PST
OR ("%anim%" = 0x5d52) //GITHZERAI, PST
OR ("%anim%" = 0x5d53) //GODSMAN, PST
OR ("%anim%" = 0x5d54) //LARGE THUG, PST
OR ("%anim%" = 0x5d55) //LOWER CLASS TOWNIE, FEMALE, PST
OR ("%anim%" = 0x5d56) //LOWER CLASS TOWNIE, MALE, PST
OR ("%anim%" = 0x5d57) //MERCHANT, PST
OR ("%anim%" = 0x5d58) //MIDWIFE, PST
OR ("%anim%" = 0x5d59) //PROSTITUTE, PST
OR ("%anim%" = 0x5d5d) //THUG, PST
OR ("%anim%" = 0x5d5e) //TIEFLING FEMALE, PST
OR ("%anim%" = 0x5d5f) //TIEFLING MALE, PST
OR ("%anim%" = 0x5d60) //TOWNIE WIZARD, PST
OR ("%anim%" = 0x5d61) //UPPER CLASS TOWNIE, FEMALE, PST
OR ("%anim%" = 0x5d62) //UPPER CLASS TOWNIE, MALE, PST
OR ("%anim%" = 0x6410) //CLERIC_MALE_HUMAN, BG1
OR ("%anim%" = 0x6412) //CLERIC_MALE_ELF, BG1
OR ("%anim%" = 0x6414) //CLERIC_MALE_DWARF, BG1
OR ("%anim%" = 0x6416) //CLERIC_MALE_HALFLING, BG1
OR ("%anim%" = 0x6411) //CLERIC_FEMALE_HUMAN, BG1
OR ("%anim%" = 0x6413) //CLERIC_FEMALE_ELF, BG1
OR ("%anim%" = 0x6417) //CLERIC_FEMALE_HALFLING, BG1
OR ("%anim%" = 0x6420) //FIGHTER_MALE_HUMAN, BG1
OR ("%anim%" = 0x6422) //FIGHTER_MALE_ELF, BG1
OR ("%anim%" = 0x6424) //FIGHTER_MALE_DWARF, BG1
OR ("%anim%" = 0x6426) //FIGHTER_MALE_HALFLING, BG1
OR ("%anim%" = 0x6421) //FIGHTER_FEMALE_HUMAN, BG1
OR ("%anim%" = 0x6423) //FIGHTER_FEMALE_ELF, BG1
OR ("%anim%" = 0x6427) //FIGHTER_FEMALE_HALFLING, BG1
OR ("%anim%" = 0x6430) //MAGE_MALE_HUMAN, BG1
OR ("%anim%" = 0x6432) //MAGE_MALE_ELF, BG1
OR ("%anim%" = 0x6434) //MAGE_MALE_DWARF, BG1
OR ("%anim%" = 0x6431) //MAGE_FEMALE_HUMAN, BG1
OR ("%anim%" = 0x6433) //MAGE_FEMALE_ELF, BG1
OR ("%anim%" = 0x6440) //THIEF_MALE_HUMAN, BG1
OR ("%anim%" = 0x6442) //THIEF_MALE_ELF, BG1
OR ("%anim%" = 0x6444) //THIEF_MALE_DWARF, BG1
OR ("%anim%" = 0x6446) //THIEF_MALE_HALFLING, BG1
OR ("%anim%" = 0x6441) //THIEF_FEMALE_HUMAN, BG1
OR ("%anim%" = 0x6443) //THIEF_FEMALE_ELF, BG1
OR ("%anim%" = 0x6447) //THIEF_FEMALE_HALFLING, BG1
) BEGIN
READ_BYTE 0x33 "fx_type"
READ_LONG 0x2b0 "known_off"
READ_LONG 0x2b8 "slot_off"
READ_LONG 0x2bc "itm_off"
READ_LONG 0x2c4 "fx_off"
READ_LONG 0x2c8 "fx_num"
WRITE_LONG 0x2c8 ("%fx_num%" + 1)
PATCH_IF ("%known_off%" >= "%fx_off%") BEGIN
WRITE_LONG 0x2b0 ("%known_off%" + (0x30 + (0xd8 *
"%fx_type%")))
END
PATCH_IF ("%slot_off%" >= "%fx_off%") BEGIN
WRITE_LONG 0x2b8 ("%slot_off%" + (0x30 + (0xd8 * "%fx_type
%")))
END
PATCH_IF ("%itm_off%" >= "%fx_off%") BEGIN
WRITE_LONG 0x2bc ("%itm_off%" + (0x30 + (0xd8 * "%fx_type
%")))
END
INSERT_BYTES ("%fx_off%" )
(0x30 + (0xd8 * "%fx_type%"))
WRITE_SHORT ("%fx_off%" + (0x08 * "%fx_type%"))
176 // movement rate bonus
WRITE_BYTE ("%fx_off%" + 0x02 + (0x0a * "%fx_type%"))
1 // target: self
WRITE_LONG ("%fx_off%" + 0x04 + (0x10 * "%fx_type%"))
0xfffffffd // -4 walking speed
WRITE_LONG ("%fx_off%" + 0x0c + (0x10 * "%fx_type%"))
9 // instant/permanent
WRITE_LONG ("%fx_off%" + 0x12 + (0x18 * "%fx_type%"))
100 // probability
END
BUT_ONLY_IF_IT_CHANGESThere is additional code for EVERY bg1 anims to be fully compatible with scimitars, katanas and any attack type that weapon uses, BUT I'VE UPLOADED IT MANY TIMES IN LAST FEW YEARS AND NO ONE STILL USE IT, F*CK, THIS FORUM NEEDS A NEW BREATH
IF SOMEONE STILL WHANT TO USE IT, TELL ME (AND MAEBY WE WILL SEE THE BG1 ANIMATION FOR ALL






