Jump to content

Item usability 2010


Nythrun

Recommended Posts

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

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. :thumbsup:

Link to comment
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. :thumbsup:

 

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
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
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. :thumbsup:

 

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

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 :thumbsup:

Link to comment

COPY_EXISTING ~x.itm~  override
 LPF fj_itm_use
INT_VAR
fj_x = 0
 END
BUT_ONLY

:thumbsup: 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

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...