Nythrun Posted January 25, 2010 Share Posted January 25, 2010 Special Guest Stars: Mike1072 and Wisp. Featuring Christopher Lee as Gorion. Will integrate into existing patches on these items tomorrow. // Metaspell Influence Amulet COPY_EXISTING amul16.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Amulet of Power COPY_EXISTING amul21.itm override LPF fj_itm_use INT_VAR fj_ranger = 0 fj_paladin = 0 fj_barbarian = 1 END BUT_ONLY // Amulet of Cheetah Speed COPY_EXISTING amul26.itm override LPF fj_itm_use INT_VAR fj_monk = 0 END BUT_ONLY // Flail of Ages (cold) COPY_EXISTING blun14g.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Flail of Ages (fire) COPY_EXISTING blun14h.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Flail of Ages (acid) COPY_EXISTING blun14i.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Boots of Speed COPY_EXISTING boot01.itm override LPF fj_itm_use INT_VAR fj_monk = 0 END BUT_ONLY // Gauntlets of Ogre Power COPY_EXISTING brac06.itm override LPF fj_itm_use INT_VAR fj_bard = 0 END BUT_ONLY // Gloves of Pickpocketing COPY_EXISTING brac17.itm override LPF fj_itm_use INT_VAR fj_fighter = 1 fj_paladin = 1 fj_ranger = 1 fj_fighter_mage = 1 fj_monk = 1 END BUT_ONLY // Gauntlets of Crushing COPY_EXISTING brac19.itm override LPF fj_itm_use INT_VAR fj_druid = 0 fj_kensai = 1 fj_wizardslayer = 1 END BUT_ONLY // Gloves of Healing COPY_EXISTING brac20.itm override LPF fj_itm_use INT_VAR fj_cleric_mage = 1 // only cleric, mage, and c/m can't use? END BUT_ONLY // Gauntlets of Extraordinary Specialization ACTION_IF FILE_EXISTS_IN_GAME brac21.itm BEGIN COPY_EXISTING brac21.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_fighter_kits = 0 fj_thief_kits = 0 END BUT_ONLY END // White Dragon Scale ACTION_IF FILE_EXISTS_IN_GAME chan20.itm BEGIN COPY_EXISTING chan20.itm override LPF fj_itm_use INT_VAR fj_mage_thief = 0 fj_shapeshifter = 1 END BUT_ONLY END // Mage Robe of Cold Resistance COPY_EXISTING clck09.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Mage Robe of Fire Resistance COPY_EXISTING clck10.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Mage Robe of Electric Resistance COPY_EXISTING clck11.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Knave's Robe COPY_EXISTING clck12.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Traveller's Robe COPY_EXISTING clck13.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Adventurer's Robe COPY_EXISTING clck14.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Robe of the Good Archmagi COPY_EXISTING clck15.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Robe of the Neutral Archmagi COPY_EXISTING clck16.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Robe of the Evil Archmagi COPY_EXISTING clck17.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY /* // Knave's Robe (unused) COPY_EXISTING clck18.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY */ // Robe of the Good Archmagi COPY_EXISTING clck19.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Robe of the Apprenti COPY_EXISTING clck29.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_wizardslayer = 0 END BUT_ONLY // Dark Elven Chain (from Handmaiden chasing Viconia) COPY_EXISTING clolth.itm override LPF fj_itm_use INT_VAR fj_archer = 1 END BUT_ONLY // Poisoned Throwing Daggers COPY_EXISTING dagg16.itm override LPF fj_itm_use INT_VAR fj_druid = 0 END BUT_ONLY // Shadow Thief Dagger COPY_EXISTING dagg18.itm override LPF fj_itm_use INT_VAR fj_druid = 0 fj_fighter_mage_cleric = 1 END BUT_ONLY // Dagger of <CHARNAME> COPY_EXISTING dagg19.itm override LPF fj_itm_use INT_VAR fj_druid = 0 END BUT_ONLY // Crimson Dart +3 ACTION_IF FILE_EXISTS_IN_GAME dart08.itm BEGIN COPY_EXISTING dart08.itm override LPF fj_itm_use INT_VAR fj_kensai = 1 END BUT_ONLY END // Drow Flail +3 COPY_EXISTING dwblun01.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Drow Elven Chain +3 COPY_EXISTING dwchan01.itm override LPF fj_itm_use INT_VAR fj_stalker = 1 fj_beastmaster = 1 fj_archer = 1 fj_enchanter = 0 END BUT_ONLY // Drow Adamantine Chain +5 COPY_EXISTING dwchan02.itm override LPF fj_itm_use INT_VAR fj_stalker = 1 fj_beastmaster = 1 fj_archer = 1 fj_enchanter = 0 END BUT_ONLY // Drow Piwafwi Cloak COPY_EXISTING dwclck01.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 1 END BUT_ONLY // Drow Halberd +3 COPY_EXISTING dwhalb01.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Drow Full Plate +5 COPY_EXISTING dwplat01.itm override LPF fj_itm_use INT_VAR fj_shapeshifter = 1 fj_barbarian = 1 fj_beastmaster = 1 fj_stalker = 1 fj_archer = 1 fj_enchanter = 0 END BUT_ONLY // Drow Shield +3 COPY_EXISTING dwshld01.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_shapeshifter = 1 END BUT_ONLY // Drow Lance +3 COPY_EXISTING dwsper01.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Drow Scimitar +3 COPY_EXISTING dwsw1h01.itm override LPF fj_itm_use INT_VAR fj_thief = 0 fj_mage_thief = 0 fj_monk = 0 fj_beastmaster = 1 END BUT_ONLY // Drow Long Sword +3 COPY_EXISTING dwsw1h02.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Drow Crossbow of Speed COPY_EXISTING dwxbow01.itm override LPF fj_itm_use INT_VAR fj_cavalier = 1 fj_kensai = 1 END BUT_ONLY // Mace (Enchanted Weapon spell) COPY_EXISTING enmace.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_beastmaster = 1 END BUT_ONLY // Morning Star (Enchanted Weapon spell) COPY_EXISTING enmorn.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_beastmaster = 1 END BUT_ONLY // Quarterstaff (Enchanted Weapon spell) COPY_EXISTING enstaff.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Long Sword (Enchanted Weapon spell) COPY_EXISTING ensw1h01.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Short Sword (Enchanted Weapon spell) COPY_EXISTING ensw1h02.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_beastmaster = 1 END BUT_ONLY // Battle Axe (Enchanted Weapon spell) COPY_EXISTING ensw2h.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_beastmaster = 1 END BUT_ONLY // Dwarven Thrower +3 COPY_EXISTING hamm06.itm override LPF fj_itm_use INT_VAR fj_half_orc = 1 //fj_bard = 1 //fj_ranger = 1 //fj_paladin = 1 //fj_cleric_all = 1 //fj_fighter_mage = 1 //fj_fighter_mage_thief = 1 END BUT_ONLY // Wong Fei's Ioun Stone ACTION_IF FILE_EXISTS_IN_GAME helm34.itm BEGIN COPY_EXISTING helm34.itm override LPF fj_itm_use INT_VAR fj_cleric_kits = 0 fj_druid_kits = 0 fj_fighter_kits = 0 fj_mage_kits = 0 fj_thief_kits = 0 END BUT_ONLY END /* // Robe of the Good Archmagi (wraith Gorion's undroppable version) COPY_EXISTING hgwra02.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY */ // Handmaiden's Mace COPY_EXISTING hlolth.itm override LPF fj_itm_use INT_VAR fj_half_orc = 1 fj_fighter_kits = 0 fj_mage_kits = 0 fj_thief_kits = 0 fj_archer = 0 fj_stalker = 0 END BUT_ONLY // Healing Potion COPY_EXISTING ipotn08.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Battle Axe +1 (Korgan's) COPY_EXISTING korax01.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Shadow Dragon Scale COPY_EXISTING leat19.itm override LPF fj_itm_use INT_VAR fj_shapeshifter = 1 END BUT_ONLY // Harp of Discord COPY_EXISTING misc3m.itm override LPF fj_itm_use INT_VAR fj_paladin = 1 END BUT_ONLY // Methild's Harp COPY_EXISTING misc3o.itm override LPF fj_itm_use INT_VAR fj_paladin = 1 END BUT_ONLY // The Ogre's Sword COPY_EXISTING misc4q.itm override LPF fj_itm_use INT_VAR fj_fighter_druid = 1 fj_beastmaster = 1 END BUT_ONLY // Embarl's Dagger COPY_EXISTING misc4u.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Shaman's Staff COPY_EXISTING misc5t.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Harper Pin COPY_EXISTING misc5x.itm override LPF fj_itm_use INT_VAR fj_bard = 1 fj_half_orc = 1 fj_fighter_kits = 1 fj_druid_kits = 1 END BUT_ONLY // Staff (City-of-Caverns imp puzzle) COPY_EXISTING misc9o.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Scimitar (City-of-Caverns imp puzzle) COPY_EXISTING misc9q.itm override LPF fj_itm_use INT_VAR fj_fighter_mage_cleric = 1 fj_fighter_cleric = 1 fj_cleric_ranger = 1 fj_cleric_thief = 1 fj_beastmaster = 1 END BUT_ONLY // Drow Piwafwi Cloak (Solaufein's) COPY_EXISTING misc9w.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 1 END BUT_ONLY // Patrol Leader's Helmet COPY_EXISTING misca6.itm override LPF fj_itm_use INT_VAR fj_bard = 1 fj_monk = 1 fj_mage = 1 fj_mage_thief = 1 fj_thief = 1 fj_kensai = 1 END BUT_ONLY // Moon Dog Figurine COPY_EXISTING misc7t.itm override LPF fj_itm_use INT_VAR fj_cleric_kits = 0 END BUT_ONLY // Bow of Arvoreen COPY_EXISTING npbow.itm override LPF fj_itm_use INT_VAR fj_bard = 1 fj_ranger = 1 fj_paladin = 1 fj_mage_thief = 1 fj_half_orc = 1 fj_kensai = 1 fj_fighter_mage = 1 fj_fighter_mage_thief = 1 END BUT_ONLY // Firecam Full-Plate Armor COPY_EXISTING npplat.itm override LPF fj_itm_use INT_VAR fj_lcneutral = 1 fj_geneutral = 1 fj_evil = 1 fj_chaotic = 1 fj_half_orc = 1 fj_monk = 1 fj_gnome = 1 END BUT_ONLY // Sword of Arvoreen COPY_EXISTING npsw01.itm override LPF fj_itm_use INT_VAR fj_bard = 1 fj_paladin = 1 fj_ranger = 1 fj_mage_thief = 1 fj_half_orc = 1 fj_fighter_mage = 1 fj_fighter_mage_thief = 1 END BUT_ONLY // Katana +1 (Yoshimo's) COPY_EXISTING npsw02.itm override LPF fj_itm_use INT_VAR fj_half_orc = 1 END BUT_ONLY // Hallowed Redeemer COPY_EXISTING npsw03.itm override LPF fj_itm_use INT_VAR fj_lcneutral = 1 fj_geneutral = 1 fj_evil = 1 fj_chaotic = 1 fj_elf = 1 fj_half_orc = 1 fj_monk = 1 fj_gnome = 1 fj_halfling = 1 fj_half_elf = 1 fj_dwarf = 1 fj_fighter_mage_thief = 1 END BUT_ONLY // Corthala Family Blade COPY_EXISTING npsw04.itm override LPF fj_itm_use INT_VAR fj_lawful = 1 fj_geneutral = 1 fj_evil = 1 fj_chaotic = 1 fj_half_orc = 1 fj_thief = 0 //fj_paladin_kits = 0 //fj_fighter_kits = 0 END BUT_ONLY // Entropy COPY_EXISTING npsw05.itm override LPF fj_itm_use INT_VAR fj_half_orc = 1 END BUT_ONLY // Chaos Blade COPY_EXISTING npsw06.itm override LPF fj_itm_use INT_VAR fj_half_orc = 1 END BUT_ONLY // Blue Dragon Plate ACTION_IF FILE_EXISTS_IN_GAME plat20.itm BEGIN COPY_EXISTING plat20.itm override LPF fj_itm_use INT_VAR fj_druid = 0 // huh? END BUT_ONLY END // Healing Potion COPY_EXISTING potn08.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Elixir of Health COPY_EXISTING potn17.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Antidote COPY_EXISTING potn20.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Healing Potion (cursed) COPY_EXISTING potn25.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Antidote (cursed) COPY_EXISTING potn32.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Potion of Master Thievery COPY_EXISTING potn36.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Extra Healing Potion COPY_EXISTING potn52.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Superior Healing Potion COPY_EXISTING potn55.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Rogue's Potion of Frost Giant Strength ACTION_IF FILE_EXISTS_IN_GAME potn56.itm BEGIN COPY_EXISTING potn56.itm override LPF fj_itm_use INT_VAR fj_mage_thief = 0 fj_cleric_thief = 0 fj_cleric_kits = 0 fj_fighter_kits = 0 fj_mage_kits = 0 END BUT_ONLY END // Ruby Pendant of Beguiling COPY_EXISTING regisamu.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 1 END BUT_ONLY // Ring of Wizardry COPY_EXISTING ring08.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Ring of Holiness COPY_EXISTING ring22.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Ring of Lock Picks COPY_EXISTING ring35.itm override LPF fj_itm_use INT_VAR fj_bard = 1 fj_cleric_mage = 1 fj_monk = 1 END BUT_ONLY // Storm Ring COPY_EXISTING ring37.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Dawn Ring COPY_EXISTING ring38.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Ring of Acuity COPY_EXISTING ring40.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Rod of Absorption COPY_EXISTING rods01.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_fighter_druid = 1 END BUT_ONLY // Rod of Lordly Might COPY_EXISTING rods02.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_ranger_cleric = 0 END BUT_ONLY // Rod of Smiting COPY_EXISTING rods04.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Rod of Smiting COPY_EXISTING rods04.itm override LPF fj_itm_use INT_VAR fj_fighter_thief = 1 fj_fighter_druid = 1 END BUT_ONLY // Rod of Terror COPY_EXISTING rods05.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Rod of Reversal ACTION_IF FILE_EXISTS_IN_GAME rods06.itm BEGIN COPY_EXISTING rods06.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_ranger_cleric = 0 END BUT_ONLY END // Mace +2 (Rod of Lordly Might) COPY_EXISTING rodmace.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_fighter_druid = 1 fj_beastmaster = 1 END BUT_ONLY // Spear (Rod of Lordly Might) COPY_EXISTING rodspear.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_beastmaster = 1 END BUT_ONLY // Flaming Long Sword +1 (Rod of Lordly Might) COPY_EXISTING rodsword.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Fireshield (Blue) COPY_EXISTING scrl1w.itm override LPF fj_itm_use INT_VAR fj_cleric_kits = 0 fj_thief_kits = 0 fj_kensai = 0 fj_wizardslayer = 0 fj_berserker = 0 END BUT_ONLY // Stoneskin COPY_EXISTING scrl2b.itm override LPF fj_itm_use INT_VAR fj_cleric_kits = 0 fj_thief_kits = 0 fj_kensai = 0 fj_wizardslayer = 0 fj_berserker = 0 END BUT_ONLY // Vocalize COPY_EXISTING scrl3g.itm override LPF fj_itm_use INT_VAR fj_monk = 1 // already set? END BUT_ONLY // Protection From Evil COPY_EXISTING scrl3h.itm override LPF fj_itm_use INT_VAR fj_transmuter = 1 END BUT_ONLY // Protection from Electricity COPY_EXISTING scrl5t.itm override LPF fj_itm_use INT_VAR fj_druid_kits = 0 fj_cleric_kits = 0 fj_thief_kits = 0 fj_ranger_kits = 0 // huh? fj_paladin_kits = 0 fj_kensai = 0 fj_wizardslayer = 0 fj_berserker = 0 END BUT_ONLY // Contingency COPY_EXISTING scrl7u.itm override LPF fj_itm_use INT_VAR fj_berserker = 0 END BUT_ONLY // Summon Nishruu COPY_EXISTING scrl8b.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Stone to Flesh COPY_EXISTING scrl8c.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Protection From The Elements COPY_EXISTING scrl8e.itm override LPF fj_itm_use INT_VAR fj_thief = 1 fj_ranger_kits = 0 // huh? fj_swashbuckler = 0 END BUT_ONLY // Pierce Shield COPY_EXISTING scrl9a.itm override LPF fj_itm_use INT_VAR fj_druid_kits = 0 fj_cleric_kits = 0 fj_thief_kits = 0 fj_ranger_kits = 0 // huh? fj_paladin_kits = 0 fj_kensai = 0 fj_wizardslayer = 0 fj_berserker = 0 END BUT_ONLY // Summon Fiend COPY_EXISTING scrl9b.itm override LPF fj_itm_use INT_VAR fj_druid_kits = 0 fj_cleric_kits = 0 END BUT_ONLY // Wizard Eye COPY_EXISTING scrla1.itm override LPF fj_itm_use INT_VAR fj_abjurer = 1 END BUT_ONLY /* // Sendai's flail - it's undroppable ACTION_IF FILE_EXISTS_IN_GAME sendai.itm BEGIN COPY_EXISTING sendai.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY END */ // Shield of Harmony +2 COPY_EXISTING shld25.itm override LPF fj_itm_use INT_VAR fj_enchanter = 0 END BUT_ONLY // Staff of the Woodlands +4 COPY_EXISTING staf14.itm override LPF fj_itm_use INT_VAR fj_ranger = 1 END BUT_ONLY // Dart +5 (Cloak of the Stars) ACTION_IF FILE_EXISTS_IN_GAME stardart.itm BEGIN COPY_EXISTING stardart.itm override LPF fj_itm_use INT_VAR fj_kensai = 1 fj_cavalier = 1 END BUT_ONLY END // Scimitar +3, Frostbrand COPY_EXISTING sw1h15.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Scimitar +5, Defender COPY_EXISTING sw1h16.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Scimitar COPY_EXISTING sw1h20.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Scimitar +1 COPY_EXISTING sw1h22.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Scimitar +2, Rashad's Talon COPY_EXISTING sw1h23.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Belm +2 COPY_EXISTING sw1h30.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Wakizashi COPY_EXISTING sw1h46.itm override LPF fj_itm_use INT_VAR fj_druid = 1 fj_fighter_druid = 1 END BUT_ONLY // Wakizashi +1 COPY_EXISTING sw1h47.itm override LPF fj_itm_use INT_VAR fj_druid = 1 fj_fighter_druid = 1 END BUT_ONLY // Shazzellim +1 COPY_EXISTING sw1h50.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Scimitar +3 COPY_EXISTING sw1h52.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Scimitar (Habib's Mighty Scimitar is SO FUNNY and also he is named HABIB) COPY_EXISTING sw1h56.itm override LPF fj_itm_use INT_VAR fj_thief = 0 fj_mage_thief = 0 fj_beastmaster = 1 END BUT_ONLY // Yamato +4 ACTION_IF FILE_EXISTS_IN_GAME sw1h66.itm BEGIN COPY_EXISTING sw1h66.itm override LPF fj_itm_use INT_VAR fj_druid = 1 fj_fighter_druid = 1 END BUT_ONLY END // Spectral Brand +4 ACTION_IF FILE_EXISTS_IN_GAME sw1h68.itm BEGIN COPY_EXISTING sw1h68.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY END // Spectral Brand +5 ACTION_IF FILE_EXISTS_IN_GAME sw1h69.itm BEGIN COPY_EXISTING sw1h69.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY END // Scimitar +3 ACTION_IF FILE_EXISTS_IN_GAME sw1h76.itm BEGIN COPY_EXISTING sw1h76.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY END /* // Sword of Chaos - unused COPY_EXISTING sw1h99.itm override LPF fj_itm_use INT_VAR fj_fighter_druid = 1 END BUT_ONLY */ // Silver Sword COPY_EXISTING sw2h15.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_beastmaster = 1 END BUT_ONLY // Long Sword +1 (tutorial) COPY_EXISTING ttsword1.itm override LPF fj_itm_use INT_VAR fj_beastmaster = 1 END BUT_ONLY // Leather Armor +2 (tutorial) COPY_EXISTING ttleat.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_shapeshifter = 1 fj_kensai = 1 END BUT_ONLY // Potion of Extra Healing (tutorial) COPY_EXISTING ttpot.itm override LPF fj_itm_use INT_VAR fj_inquisitor = 0 fj_wizardslayer = 0 // already set? END BUT_ONLY // Flame Arrow (tutorial) COPY_EXISTING ttscrl01.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Monster Summoning (tutorial) COPY_EXISTING ttscrl02.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Medium Shield +2 (tutorial) COPY_EXISTING ttshld01.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_kensai = 1 END BUT_ONLY // Two Handed Sword (tutorial) COPY_EXISTING ttsword2.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Scarlet Ninja-to +3 COPY_EXISTING waninja.itm override LPF fj_itm_use INT_VAR fj_fighter_mage_thief = 1 //fj_lcneutral = 1 //fj_chaotic = 1 //fj_half_orc = 1 END BUT_ONLY // Mercykiller Ring COPY_EXISTING wa2ring.itm override LPF fj_itm_use INT_VAR fj_bard = 1 fj_cleric_mage = 1 END BUT_ONLY // Robe of Vecna COPY_EXISTING wa2robe.itm override LPF fj_itm_use INT_VAR fj_wizardslayer = 0 END BUT_ONLY // Sling of Everard +5 COPY_EXISTING wasling.itm override LPF fj_itm_use INT_VAR fj_cavalier = 1 fj_kensai = 1 END BUT_ONLY // Wand of Fear COPY_EXISTING wand02.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Wand of Paralyzation COPY_EXISTING wand04.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Wand of Fire COPY_EXISTING wand05.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Wand of Frost COPY_EXISTING wand06.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Wand of Lightning COPY_EXISTING wand07.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Wand of Polymorphing COPY_EXISTING wand09.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Wand of Monster Summoning COPY_EXISTING wand10.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Wand of Cloudkill COPY_EXISTING wand13.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Web Sack (for Unfinished Business) COPY_EXISTING wand14.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // Wand of Apprenti COPY_EXISTING wand15.itm override LPF fj_itm_use INT_VAR fj_monk = 1 END BUT_ONLY // BMU, scroll supposed to be completely restriction-free ACTION_IF FILE_EXISTS_IN_GAME secret01.itm BEGIN COPY_EXISTING scrladj.itm override secret01.itm override secret02.itm override secret03.itm override secret04.itm override LPF fj_itm_use INT_VAR fj_all = 0 END BUT_ONLY END Link to comment
Mike1072 Posted January 25, 2010 Share Posted January 25, 2010 Looks like you've got everything I found and then some. Some comments: // Gauntlets of Extraordinary Specialization ACTION_IF FILE_EXISTS_IN_GAME brac21.itm BEGIN COPY_EXISTING brac21.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_fighter_kits = 0 fj_thief_kits = 0 END BUT_ONLY END Wouldn't this make the gauntlets usable by wizard slayers and kensai? They should remain prohibited, while barbarians and the bard kits should probably be able use it. Various Mage Robes I'd argue that these are not armors and Wizard Slayer->Mages should remain prohibited from using them. (Serves them right for playing such a stupid dual-class!) // Drow Shield +3 COPY_EXISTING dwshld01.itm override LPF fj_itm_use INT_VAR fj_monk = 1 fj_shapeshifter = 1 END BUT_ONLY Shapeshifters have no restrictions on using shields, so if one dualled into a Fighter, they should be able to equip this. // Blue Dragon Plate ACTION_IF FILE_EXISTS_IN_GAME plat20.itm BEGIN COPY_EXISTING plat20.itm override LPF fj_itm_use INT_VAR fj_druid = 0 // huh? END BUT_ONLY END Druids can use this because it's not made of metal, but of blue dragon: the eco-friendly material. Link to comment
Nythrun Posted January 25, 2010 Author Share Posted January 25, 2010 Looks like you've got everything I found and then some. It's a spring cleaning of the stuff we've had since the beginning as well. The old item usability block is retiring. Gauntlets of Extraordinary Specialization My error on the wizardslayer/ kensai, fixed (and I've included barbarians as a fighter kit in the lib for this recode). We can wipe the bard kit flags while we're mucking around in there, although since bards can't use the base item, it won't do much. Various Mage Robes I'd like to drop all these patches myself. Let's see if anyone can come up with the original justification for changing these: the devs were very consistent with armor = yes, robe = no in the unmodded game. Drow Shield +3 Good catch, gone. blue dragon: the eco-friendly material We do need to core fix the description if we keep this change, it explicitly calls out Druids in the Not Usable By block. Anyone feel like translating "Druids don't wear metal, coming as it does from the unnatural earth. What's really natural is flaying sentient creatures and prancing around in their skins." Link to comment
devSin Posted January 25, 2010 Share Posted January 25, 2010 I'd like to drop all these patches myself. Let's see if anyone can come up with the original justification for changing these: the devs were very consistent with armor = yes, robe = no in the unmodded game.Probably Baldurdash. I agree that we shouldn't touch these, but it may not be a choice we can make anymore. "I loaded my wizard slayer and mage robe is red! Help" We do need to core fix the description if we keep this change, it explicitly calls out Druids in the Not Usable By block. Anyone feel like translating "Druids don't wear metal, coming as it does from the unnatural earth. What's really natural is flaying sentient creatures and prancing around in their skins."Scale armor should be allowed (we don't block red dragon plate), although I'm not thrilled at giving single-class druids full plate armor. Link to comment
aVENGER_(RR) Posted January 25, 2010 Share Posted January 25, 2010 Anyone feel like translating "Druids don't wear metal, coming as it does from the unnatural earth. What's really natural is flaying sentient creatures and prancing around in their skins." Heh, I vote for including that in the official class description. Anyway, single-class Druids were allowed to wear non-metallic heavy armor since the very beginning of time (i.e. Ankheg Plate Mail in BG1). Link to comment
Nythrun Posted January 25, 2010 Author Share Posted January 25, 2010 Robes and Wizardslayers. I can start a "new game recommended" tally, to see if the balance shifts in the direction of including stuff like this, or indefinitely deferring it all. Thus far: Mage Robes Really are Against the Wizardslayer's Dress Code , Superfluous Gem Bag in Amkethran, and Areas with Unattached Extended Night Tilesets. And while it's true that Druids could wear the Ankheg Plate, the description (not changed by Dorner or Dudley, as far as I recall) says they can't. Fortunately, that one is someone else's problem Link to comment
Jarno Mikkola Posted January 26, 2010 Share Posted January 26, 2010 COPY_EXISTING ~x.itm~ override LPF fj_itm_use INT_VAR fj_x = 0 END BUT_ONLY While I know almost exactly what that code does... Could you drop me the function code?(the .tpx file what ever) Or at least say where I can find it in the FixPack. Or is it already in the WeiDU.exe's standard while I haven't seen a tutorial about it? Link to comment
Nythrun Posted January 26, 2010 Author Share Posted January 26, 2010 Sure, glad it's relatively legible. All available variables are in the list at the top. DEFINE_PATCH_FUNCTION fj_itm_use INT_VAR fj_all = ` 0 fj_cleric_all = ` 0 fj_druid_all = ` 0 fj_fighter_all = ` 0 fj_mage_all = ` 0 fj_ranger_all = ` 0 fj_thief_all = ` 0 fj_chaotic = ` 0 fj_evil = ` 0 fj_good = ` 0 fj_lcneutral = ` 0 fj_lawful = ` 0 fj_geneutral = ` 0 fj_bard = ` 0 fj_cleric = ` 0 fj_cleric_mage = ` 0 fj_cleric_thief = ` 0 fj_cleric_ranger = ` 0 fj_fighter = ` 0 fj_fighter_druid = ` 0 fj_fighter_mage = ` 0 fj_fighter_cleric = ` 0 fj_fighter_mage_cleric = ` 0 fj_fighter_mage_thief = ` 0 fj_fighter_thief = ` 0 fj_mage = ` 0 fj_mage_thief = ` 0 fj_paladin = ` 0 fj_ranger = ` 0 fj_thief = ` 0 fj_elf = ` 0 fj_dwarf = ` 0 fj_half_elf = ` 0 fj_halfling = ` 0 fj_human = ` 0 fj_gnome = ` 0 fj_monk = ` 0 fj_druid = ` 0 fj_half_orc = ` 0 fj_bard_kits = ` 0 fj_cleric_kits = ` 0 fj_druid_kits = ` 0 fj_fighter_kits = ` 0 fj_mage_kits = ` 0 fj_paladin_kits = ` 0 fj_ranger_kits = ` 0 fj_thief_kits = ` 0 fj_talos = ` 0 fj_helm = ` 0 fj_lathander = ` 0 fj_totemic = ` 0 fj_shapeshifter = ` 0 fj_avenger = ` 0 fj_barbarian = ` 0 fj_wildmage = ` 0 fj_stalker = ` 0 fj_beastmaster = ` 0 fj_assassin = ` 0 fj_bounty_hunter = ` 0 fj_swashbuckler = ` 0 fj_blade = ` 0 fj_jester = ` 0 fj_skald = ` 0 fj_diviner = ` 0 fj_enchanter = ` 0 fj_illusionist = ` 0 fj_invoker = ` 0 fj_necromancer = ` 0 fj_transmuter = ` 0 fj_true_class = ` 0 fj_archer = ` 0 fj_beserker = ` 0 fj_wizardslayer = ` 0 fj_kensai = ` 0 fj_cavalier = ` 0 fj_inquisitor = ` 0 fj_undead_hunter = ` 0 fj_abjurer = ` 0 fj_conjurer = ` 0 BEGIN PATCH_IF BUFFER_LENGTH < 0x72 BEGIN SET len = BUFFER_LENGTH INNER_ACTION BEGIN FAIL ~%SOURCE_FILE%: len(%len%) < 114, corrupt item~ END END PATCH_IF fj_all = 0 BEGIN WRITE_LONG 0x18 0 WRITE_BYTE 0x29 0 WRITE_BYTE 0x2b 0 WRITE_BYTE 0x2d 0 WRITE_BYTE 0x2f 0 END ELSE PATCH_IF fj_all = 1 BEGIN WRITE_LONG 0x18 ` 0 WRITE_BYTE 0x29 ` 0 WRITE_BYTE 0x2b ` 0 WRITE_BYTE 0x2d ` 0 WRITE_BYTE 0x2f ` 0 END PATCH_IF fj_cleric_all = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x0000c780 END ELSE PATCH_IF fj_cleric_all = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x0000c780 END PATCH_IF fj_druid_all = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x40001000 END ELSE PATCH_IF fj_druid_all = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x40001000 END PATCH_IF fj_fighter_all = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x0003f800 END ELSE PATCH_IF fj_fighter_all = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x0003f800 END PATCH_IF fj_mage_all = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x000da100 END ELSE PATCH_IF fj_mage_all = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x000da100 END PATCH_IF fj_ranger_all = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00200400 END ELSE PATCH_IF fj_ranger_all = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00200400 END PATCH_IF fj_thief_all = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x004b0200 END ELSE PATCH_IF fj_thief_all = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x004b0200 END PATCH_IF fj_chaotic = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000001 END ELSE PATCH_IF fj_chaotic = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000001 END PATCH_IF fj_evil = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000002 END ELSE PATCH_IF fj_evil = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000002 END PATCH_IF fj_good = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000004 END ELSE PATCH_IF fj_good = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000004 END PATCH_IF fj_lcneutral = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000008 END ELSE PATCH_IF fj_lcneutral = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000008 END PATCH_IF fj_lawful = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000010 END ELSE PATCH_IF fj_lawful = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000010 END PATCH_IF fj_geneutral = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000020 END ELSE PATCH_IF fj_geneutral = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000020 END PATCH_IF fj_bard = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000040 END ELSE PATCH_IF fj_bard = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000040 END PATCH_IF fj_cleric = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000080 END ELSE PATCH_IF fj_cleric = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000080 END PATCH_IF fj_cleric_mage = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000100 END ELSE PATCH_IF fj_cleric_mage = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000100 END PATCH_IF fj_cleric_thief = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000200 END ELSE PATCH_IF fj_cleric_thief = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000200 END PATCH_IF fj_cleric_ranger = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000400 END ELSE PATCH_IF fj_cleric_ranger = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000400 END PATCH_IF fj_fighter = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00000800 END ELSE PATCH_IF fj_fighter = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00000800 END PATCH_IF fj_fighter_druid = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00001000 END ELSE PATCH_IF fj_fighter_druid = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00001000 END PATCH_IF fj_fighter_mage = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00002000 END ELSE PATCH_IF fj_fighter_mage = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00002000 END PATCH_IF fj_fighter_cleric = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00004000 END ELSE PATCH_IF fj_fighter_cleric = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00004000 END PATCH_IF fj_fighter_mage_cleric = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00008000 END ELSE PATCH_IF fj_fighter_mage_cleric = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00008000 END PATCH_IF fj_fighter_mage_thief = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00010000 END ELSE PATCH_IF fj_fighter_mage_thief = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00010000 END PATCH_IF fj_fighter_thief = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00020000 END ELSE PATCH_IF fj_fighter_thief = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00020000 END PATCH_IF fj_mage = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00040000 END ELSE PATCH_IF fj_mage = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00040000 END PATCH_IF fj_mage_thief = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00080000 END ELSE PATCH_IF fj_mage_thief = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00080000 END PATCH_IF fj_paladin = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00100000 END ELSE PATCH_IF fj_paladin = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00100000 END PATCH_IF fj_ranger = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00200000 END ELSE PATCH_IF fj_ranger = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00200000 END PATCH_IF fj_thief = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00400000 END ELSE PATCH_IF fj_thief = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00400000 END PATCH_IF fj_elf = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x00800000 END ELSE PATCH_IF fj_elf = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x00800000 END PATCH_IF fj_dwarf = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x01000000 END ELSE PATCH_IF fj_dwarf = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x01000000 END PATCH_IF fj_half_elf = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x02000000 END ELSE PATCH_IF fj_half_elf = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x02000000 END PATCH_IF fj_halfling = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x04000000 END ELSE PATCH_IF fj_halfling = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x04000000 END PATCH_IF fj_human = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x08000000 END ELSE PATCH_IF fj_human = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x08000000 END PATCH_IF fj_gnome = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x10000000 END ELSE PATCH_IF fj_gnome = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x10000000 END PATCH_IF fj_monk = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x20000000 END ELSE PATCH_IF fj_monk = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x20000000 END PATCH_IF fj_druid = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x40000000 END ELSE PATCH_IF fj_druid = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x40000000 END PATCH_IF fj_half_orc = 0 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e & ` 0x80000000 END ELSE PATCH_IF fj_half_orc = 1 BEGIN WRITE_LONG 0x1e LONG_AT 0x1e | 0x80000000 END PATCH_IF fj_bard_kits = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0xe0 END ELSE PATCH_IF fj_bard_kits = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0xe0 END PATCH_IF fj_cleric_kits = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x07 END ELSE PATCH_IF fj_cleric_kits = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x07 END PATCH_IF fj_druid_kits = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x38 END ELSE PATCH_IF fj_druid_kits = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x38 END PATCH_IF fj_fighter_kits = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x40 WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x07 END ELSE PATCH_IF fj_fighter_kits = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x40 WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x07 END PATCH_IF fj_mage_kits = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x80 WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x3f WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0xc0 END ELSE PATCH_IF fj_mage_kits = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x80 WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x3f WRITE_BYTE 0x2f BYTE_AT 0x2f | 0xc0 END PATCH_IF fj_paladin_kits = 0 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x38 END ELSE PATCH_IF fj_paladin_kits = 1 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x38 END PATCH_IF fj_ranger_kits = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x03 WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x80 END ELSE PATCH_IF fj_ranger_kits = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x03 WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x80 END PATCH_IF fj_thief_kits = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x1c END ELSE PATCH_IF fj_thief_kits = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x1c END PATCH_IF fj_talos = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x01 END ELSE PATCH_IF fj_talos = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x01 END PATCH_IF fj_helm = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x02 END ELSE PATCH_IF fj_helm = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x02 END PATCH_IF fj_lathander = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x04 END ELSE PATCH_IF fj_lathander = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x04 END PATCH_IF fj_totemic = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x08 END ELSE PATCH_IF fj_totemic = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x08 END PATCH_IF fj_shapeshifter = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x10 END ELSE PATCH_IF fj_shapeshifter = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x10 END PATCH_IF fj_avenger = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x20 END ELSE PATCH_IF fj_avenger = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x20 END PATCH_IF fj_barbarian = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x40 END ELSE PATCH_IF fj_barbarian = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x40 END PATCH_IF fj_wildmage = 0 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 & ` 0x80 END ELSE PATCH_IF fj_wildmage = 1 BEGIN WRITE_BYTE 0x29 BYTE_AT 0x29 | 0x80 END PATCH_IF fj_stalker = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x01 END ELSE PATCH_IF fj_stalker = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x01 END PATCH_IF fj_beastmaster = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x02 END ELSE PATCH_IF fj_beastmaster = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x02 END PATCH_IF fj_assassin = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x04 END ELSE PATCH_IF fj_assassin = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x04 END PATCH_IF fj_bounty_hunter = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x08 END ELSE PATCH_IF fj_bounty_hunter = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x08 END PATCH_IF fj_swashbuckler = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x10 END ELSE PATCH_IF fj_swashbuckler = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x10 END PATCH_IF fj_blade = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x20 END ELSE PATCH_IF fj_blade = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x20 END PATCH_IF fj_jester = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x40 END ELSE PATCH_IF fj_jester = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x40 END PATCH_IF fj_skald = 0 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b & ` 0x80 END ELSE PATCH_IF fj_skald = 1 BEGIN WRITE_BYTE 0x2b BYTE_AT 0x2b | 0x80 END PATCH_IF fj_diviner = 0 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x01 END ELSE PATCH_IF fj_diviner = 1 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x01 END PATCH_IF fj_enchanter = 0 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x02 END ELSE PATCH_IF fj_enchanter = 1 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x02 END PATCH_IF fj_illusionist = 0 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x04 END ELSE PATCH_IF fj_illusionist = 1 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x04 END PATCH_IF fj_invoker = 0 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x08 END ELSE PATCH_IF fj_invoker = 1 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x08 END PATCH_IF fj_necromancer = 0 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x10 END ELSE PATCH_IF fj_necromancer = 1 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x10 END PATCH_IF fj_transmuter = 0 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x20 END ELSE PATCH_IF fj_transmuter = 1 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x20 END PATCH_IF fj_true_class = 0 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x40 END ELSE PATCH_IF fj_true_class = 1 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x40 END PATCH_IF fj_archer = 0 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d & ` 0x80 END ELSE PATCH_IF fj_archer = 1 BEGIN WRITE_BYTE 0x2d BYTE_AT 0x2d | 0x80 END PATCH_IF fj_beserker = 0 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x01 END ELSE PATCH_IF fj_beserker = 1 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x01 END PATCH_IF fj_wizardslayer = 0 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x02 END ELSE PATCH_IF fj_wizardslayer = 1 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x02 END PATCH_IF fj_kensai = 0 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x04 END ELSE PATCH_IF fj_kensai = 1 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x04 END PATCH_IF fj_cavalier = 0 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x08 END ELSE PATCH_IF fj_cavalier = 1 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x08 END PATCH_IF fj_inquisitor = 0 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x10 END ELSE PATCH_IF fj_inquisitor = 1 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x10 END PATCH_IF fj_undead_hunter = 0 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x20 END ELSE PATCH_IF fj_undead_hunter = 1 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x20 END PATCH_IF fj_abjurer = 0 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x40 END ELSE PATCH_IF fj_abjurer = 1 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x40 END PATCH_IF fj_conjurer = 0 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f & ` 0x80 END ELSE PATCH_IF fj_conjurer = 1 BEGIN WRITE_BYTE 0x2f BYTE_AT 0x2f | 0x80 END END Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.