Jump to content

Item Quantity/Charge mismatches


Nythrun

Recommended Posts

Areas checked for superfluous changes ;)

ALLOW_MISSING
~ar3001.are~ ~override~ // Watcher's Keep (Level One)
~ar3016.are~ ~override~ // Watcher's Keep (Level Two)
~ar3017.are~ ~override~ // Watcher's Keep (Level Four)
~ar3021.are~ ~override~ // Watcher's Keep (Level Four Illithid Enclave)
~ar3022.are~ ~override~ // Watcher's Keep (Level Four Githyanki Enclave)
~ar5502.are~ ~override~ // Saradush (Arcana Archives)
~ar6300.are~ ~override~ // Oasis of Tethyr

COPY_EXISTING ~ar0018.are~ ~override~ // Tutorial Basement
 // (unused) ~ar0060.are~ ~override~ // Deathmatch
 // (unused) ~ar0063.are~ ~override~ // Durlag's Tower (Level Two)
 // (unused) ~ar0065.are~ ~override~ // Durlag's Tower (Durlag Trollkiller's Level)
		  ~ar0305.are~ ~override~ // Athkatla Docks, Shadow Thief Den (Main Entrance)
		  ~ar0311.are~ ~override~ // Athkatla Docks, Gaelan Bayles's House (Downstairs)
		  ~ar0317.are~ ~override~ // Athkatla Docks, Rayic Gethras's House (Upstairs)
		  ~ar0329.are~ ~override~ // Athkatla Docks, Shadow Thief Den (Aran's Level for Bodhi Partisans)
		  ~ar0334.are~ ~override~ // Athkatla Docks (Cromwell's Smithy)
		  ~ar0405.are~ ~override~ // Athkatla Slums, Slaver Ship, (Upstairs)
		  ~ar0412.are~ ~override~ // Athkatla Slums, Planar Sphere (Basement)
		  ~ar0505.are~ ~override~ // Athkatla Bridge District, (Saerk's Estate)
		  ~ar0527.are~ ~override~ // Athkatla Bridge District, (Valhalla Downstairs)
		  ~ar0530.are~ ~override~ // Athkatla Bridge District, (Dracandros's Hideout)
		  ~ar0706.are~ ~override~ // Athkatla, Wakeen's Promenade, (Arnolinus's and Perter's Shop)
		  ~ar0711.are~ ~override~ // Athkatla Sewers (Alhoon's Lair)
		  ~ar0801.are~ ~override~ // Athkatla Graveyard District (Underlevel One)
		  ~ar0903.are~ ~override~ // Athkatla Temple District (Temple of Talos)
		  ~ar1202.are~ ~override~ // Windspear Hills (Firkragg's Dungeon)
		  ~ar1302.are~ ~override~ // De'Arnise Keep (Ground Floor)
		  ~ar1303.are~ ~override~ // De'Arnise Keep (Upper Floor)
		  ~ar1512.are~ ~override~ // Spellhold (Dungeon Upper)
		  ~ar1514.are~ ~override~ // Spellhold (Dungeon Lower)
		  ~ar2209.are~ ~override~ // Ust Natha (Jae'llat Residence)
		  ~ar2400.are~ ~override~ // Underdark (Illithid City)
		  ~ar2802.are~ ~override~ // Suldanesselar (Stone Horn Piazza)
		  ~ar2901.are~ ~override~ // Hell (Fear Trial)
		  ~ar3001.are~ ~override~ // Watcher's Keep (Level One)
		  ~ar3016.are~ ~override~ // Watcher's Keep (Level Two)
		  ~ar3017.are~ ~override~ // Watcher's Keep (Level Four)
		  ~ar3021.are~ ~override~ // Watcher's Keep (Level Four Illithid Enclave)
		  ~ar3022.are~ ~override~ // Watcher's Keep (Level Four Githyanki Enclave)
		  ~ar5502.are~ ~override~ // Saradush (Arcana Archives)
		  ~ar6300.are~ ~override~ // Oasis of Tethyr
 PATCH_IF (%SOURCE_SIZE% > 0x11b) THEN BEGIN
READ_SHORT 0x76 "ic"
READ_LONG  0x78 "io"
FOR ("i1" = 0x00; "i1" < ("ic" * 0x14); "i1" += 0x14) BEGIN
  READ_ASCII	 ("io" + "i1" + 0x00) "it"
  READ_SHORT	 ("io" + "i1" + 0x0a) "c1"
  READ_SHORT	 ("io" + "i1" + 0x0c) "c2"
  READ_SHORT	 ("io" + "i1" + 0x0e) "c3"
  PATCH_IF		  (("%it%" STRING_EQUAL_CASE ""	   ) AND ("c1"  = 0x14)) THEN BEGIN
	WRITE_ASCIIT ("io" + "i1" + 0x00) "dart02" // Dart +1, just a guess
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "arow01" ) AND ("c1"  = 0x00)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x28 // Arrows
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "arow05" ) AND ("c1"  = 0x00)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x28 // Arrow of Biting
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "ax1h04" ) AND ("c1"  = 0x00)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x0a // Throwing Axe
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "bolt01" ) AND ("c1"  = 0x00)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x28 // Bolt
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "bolt04" ) AND ("c1"  = 0x00)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x28 // Bolt of Biting
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "bow01"  ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Composite Long Bow
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "bow03"  ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Long Bow
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "bow05"  ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Short Bow
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "bow10"  ) AND ("c2" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0c) 0x01 // Heartseeker +3
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "dagg01" ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Dagger
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "dagg05" ) AND ("c1"  > 0x0a)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x0a // Throwing Dagger
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "dart03" ) AND ("c1"  = 0x00)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x28 // Dart of Stunning
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "key07"  ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Chapel Key
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "misc36" ) AND ("c1"  > 0x14)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x14 // Pearl
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "misc3h" ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Horn of Blasting
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "misc3o" ) AND ("c2" != 0x00)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0c) 0x00 // Methild's Harp
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "misc6w" ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Wooden Stake
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "miscaf" ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // The Gagged Man
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "plot16a") AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Bounty Notice
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "potn08" ) AND ("c1"  > 0x05)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x05 // Potion of Healing
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "potn11" ) AND ("c1"  > 0x05)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x05 // Potion of Invulnerability
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "potn20" ) AND ("c1"  > 0x05)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x05 // Antidote
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "potn55" ) AND ("c1"  > 0x05)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x05 // Potion of Superior Healing
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "ring26" ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Ring of Djinni Summoning
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "staf09" ) AND ("c2" != 0x19)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0c) 0x19 // Staff of Command
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "staf17" ) AND (("c2" != 0x1e) OR ("c3" != 0x1e))) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0c) 0x1e // Staff of Fire
	WRITE_SHORT  ("io" + "i1" + 0x0e) 0x1e
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "sw1h01" ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Bastard Sword
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "sw1h05" ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Long Sword +1
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "sw1h32" ) AND ("c2" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0c) 0x01 // Dragonslayer
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "sw2h01" ) AND ("c1" != 0x01)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Two Handed Sword
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "ttwand" ) AND ("c1"  = 0x00)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x01 // Wand of the Heavens
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "wand03" ) AND ("c1"  = 0x00)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x64 // Wand of Magic Missiles
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "wand05" ) AND (("c1" != 0x32) OR ("c2" != 0x32))) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x32 // Wand of Fire
	WRITE_SHORT  ("io" + "i1" + 0x0c) 0x32 //
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "wand12" ) AND ("c1"  > 0x0a)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0a) 0x0a // Wand of Wonder
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "wand18" ) AND ("c2"  > 0x05)) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0c) 0x05 // Wand of Spell Striking
  END ELSE PATCH_IF (("%it%" STRING_EQUAL_CASE "wand19" ) AND (("c2" != 0x00) OR ("c3" != 0x00))) THEN BEGIN
	WRITE_SHORT  ("io" + "i1" + 0x0c) 0x00 // Wand of Cursing
	WRITE_SHORT  ("io" + "i1" + 0x0e) 0x00
  END
END
 END
BUT_ONLY_IF_IT_CHANGES

 

And the creatures:

ALLOW_MISSING
~amarch01.cre~ // Captain Erelon
~amarch02.cre~ // Mercenary
~amcarras.cre~ // Carras
~ammerc08.cre~ // Mercenary
~bonebld.cre~  // Bone Blade
~chalcy02.cre~ // Favored of Cyric
~chalpc01.cre~ // <CHARNAME>
~chalpc02.cre~ // <CHARNAME>
~chalpc03.cre~ // <CHARNAME>
~chalpc04.cre~ // <CHARNAME>
~chalpc05.cre~ // <CHARNAME>
~chalpc06.cre~ // <CHARNAME>
~chalpc07.cre~ // <CHARNAME>
~chalpc08.cre~ // <CHARNAME>
~chalpc09.cre~ // <CHARNAME>
~chalpc10.cre~ // <CHARNAME>
~chalpc11.cre~ // <CHARNAME>
~chalpc12.cre~ // <CHARNAME>
~chalpc13.cre~ // <CHARNAME>
~chalpc14.cre~ // <CHARNAME>
~chalpc15.cre~ // <CHARNAME>
~chalpc16.cre~ // <CHARNAME>
~chang01.cre~  // Angelo
~chang02.cre~  // Angelo
~chevil09.cre~ // Jon Irenicus
~chgood08.cre~ // Aran Linvail
~chsam01.cre~  // Semaj
~chsam02.cre~  // Semaj
~chtaz01.cre~  // Tazok
~deckass1.cre~ // Thief
~fsdragon.cre~ // Dragon
~fshorde2.cre~ // Goblin
~fshorde6.cre~ // Orc Archer
~giantf01.cre~ // Fire Giant
~gordeck5.cre~ // Assassin
~gordeck6.cre~ // Assassin
~gordeck7.cre~ // Assassin
~gordeck8.cre~ // Assassin
~gordeck9.cre~ // Assassin
~gordecka.cre~ // Assassin
~gorkuo05.cre~ // Kuo-Toa Whip
~gorlic01.cre~ // Azamantes
~gororc02.cre~ // Orc Archer
~gorsta09.cre~ // Statue
~gorwom02.cre~ // The Huntress
~hgnya01.cre~  // Nyalee
~hgskl02.cre~  // Skeleton Assassin
~sargrd05.cre~ // Thief
~sargrd09.cre~ // Thief
~sarkis01.cre~ // Kiser Jhaeri
~sarkis02.cre~ // Fighter
~sarkis03.cre~ // Fighter
~sarkis04.cre~ // Kiser Jhaeri
~sartem01.cre~ // Sister Farielle
~sarvie01.cre~ // Viekang
~senani05.cre~ // Pheasant
~sendai.cre~   // Sendai
~sendai3.cre~  // Sendai
~sendai4.cre~  // Sendai
~sendai6.cre~  // Sendai
~sendro05.cre~ // Drow
~sengua05.cre~ // Drow
~sewdue01.cre~ // Duergar Sapper
~teltief3.cre~ // Tiefling
~yaga05.cre~   // Lieutenant Thief

COPY_EXISTING ~aerbod01.cre~ ~override~ // Aerie
		  ~aerie6.cre~   ~override~ // Aerie
		  ~aerie10.cre~  ~override~ // Aerie
		  ~aerie11.cre~  ~override~ // Aerie
		  ~aerie9.cre~   ~override~ // Aerie
		  ~amarch01.cre~ ~override~ // Captain Erelon
		  ~amarch02.cre~ ~override~ // Mercenary
		  ~amcarras.cre~ ~override~ // Carras
		  ~ammerc08.cre~ ~override~ // Mercenary
		  ~ar18dwaf.cre~ ~override~ // Duergar
		  ~aran.cre~	 ~override~ // Aran Linvail
		  ~aran02.cre~   ~override~ // Aran Linvail
 // (unused) ~arnfgt02.cre~ ~override~ // Shadow Thief
		  ~arnwar04.cre~ ~override~ // Shadow Thief
		  ~bdturm02.cre~ ~override~ // Turmish Thief
		  ~beast.cre~	~override~ // Beastmaster
		  ~bhcrypt.cre~  ~override~ // Crypt King
		  ~bonebld.cre~  ~override~ // Bone Blade
		  ~c6catti.cre~  ~override~ // Catti Brie
 // (unused) ~c6kngt1.cre~  ~override~ // Morning Knight
		  ~c6regis.cre~  ~override~ // Regis
		  ~chalcy02.cre~ ~override~ // Favored of Cyric
		  ~chalpc01.cre~ ~override~ // <CHARNAME>
		  ~chalpc02.cre~ ~override~ // <CHARNAME>
		  ~chalpc03.cre~ ~override~ // <CHARNAME>
		  ~chalpc04.cre~ ~override~ // <CHARNAME>
		  ~chalpc05.cre~ ~override~ // <CHARNAME>
		  ~chalpc06.cre~ ~override~ // <CHARNAME>
		  ~chalpc07.cre~ ~override~ // <CHARNAME>
		  ~chalpc08.cre~ ~override~ // <CHARNAME>
		  ~chalpc09.cre~ ~override~ // <CHARNAME>
		  ~chalpc10.cre~ ~override~ // <CHARNAME>
		  ~chalpc11.cre~ ~override~ // <CHARNAME>
		  ~chalpc12.cre~ ~override~ // <CHARNAME>
		  ~chalpc13.cre~ ~override~ // <CHARNAME>
		  ~chalpc14.cre~ ~override~ // <CHARNAME>
		  ~chalpc15.cre~ ~override~ // <CHARNAME>
		  ~chalpc16.cre~ ~override~ // <CHARNAME>
		  ~chang01.cre~  ~override~ // Angelo
		  ~chang02.cre~  ~override~ // Angelo
		  ~chevil09.cre~ ~override~ // Jon Irenicus
		  ~chgood08.cre~ ~override~ // Aran Linvail
		  ~chsam01.cre~  ~override~ // Semaj
		  ~chsam02.cre~  ~override~ // Semaj
		  ~chtaz01.cre~  ~override~ // Tazok
		  ~deckass1.cre~ ~override~ // Thief
		  ~deshar.cre~   ~override~ // Ferric Ironblade
		  ~docsol01.cre~ ~override~ // Amnish Soldier
		  ~docsol02.cre~ ~override~ // Barracks Guard
		  ~duearc01.cre~ ~override~ // Duergar
 // (unused) ~e33.cre~	  ~override~ // Alora
		  ~elemimix.cre~ ~override~ // Imix
		  ~firkra02.cre~ ~override~ // Firkraag
 // (unused) ~firmon01.cre~ ~override~ // Banshee
		  ~flyfgt03.cre~ ~override~ // Shadow Thief
		  ~fsdragon.cre~ ~override~ // Dragon
 // (unused) ~fshorde2.cre~ ~override~ // Goblin
 // (unused) ~fshorde6.cre~ ~override~ // Orc Archer
 // (unused) ~gentmg01.cre~ ~override~ // Thief
		  ~giantf01.cre~ ~override~ // Fire Giant
		  ~gordeck5.cre~ ~override~ // Assassin
		  ~gordeck6.cre~ ~override~ // Assassin
		  ~gordeck7.cre~ ~override~ // Assassin
		  ~gordeck8.cre~ ~override~ // Assassin
		  ~gordeck9.cre~ ~override~ // Assassin
		  ~gordecka.cre~ ~override~ // Assassin
		  ~gorkuo05.cre~ ~override~ // Kuo-Toa Whip
		  ~gorlic01.cre~ ~override~ // Azamantes
		  ~gororc02.cre~ ~override~ // Orc Archer
		  ~gorsta09.cre~ ~override~ // Statue
		  ~gorwom02.cre~ ~override~ // The Huntress
		  ~grvlch01.cre~ ~override~ // Lich
		  ~habib2.cre~   ~override~ // Habib
		  ~hgnya01.cre~  ~override~ // Nyalee
		  ~hgskl02.cre~  ~override~ // Skeleton Assassin
		  ~hldemi.cre~   ~override~ // Kangaxx the Demi-Lich
		  ~hlkang.cre~   ~override~ // Kangaxx the Lich
		  ~hlketta.cre~  ~override~ // Ketta
		  ~hobarc02.cre~ ~override~ // Hobgoblin Archer
		  ~icgob01.cre~  ~override~ // Goblin
		  ~icgob02.cre~  ~override~ // Goblin
		  ~jaga4.cre~	~override~ // Iko
		  ~jaylos.cre~   ~override~ // Jaylos
		  ~kaysmg01.cre~ ~override~ // Rindus
		  ~keldor8.cre~  ~override~ // Keldorn
		  ~kobarc01.cre~ ~override~ // Kobold
		  ~kobcap01.cre~ ~override~ // Kobold Captain
		  ~kproen03.cre~ ~override~ // Roenall Guard
 // (unused) ~kuoarc20.cre~ ~override~ // Kuo-Toa Archer
		  ~kuowhi01.cre~ ~override~ // Kuo-Toa Whip
		  ~latkni01.cre~ ~override~ // Morning Knight
		  ~latkni02.cre~ ~override~ // Morning Knight
		  ~maevar.cre~   ~override~ // Mae'Var
		  ~mookft02.cre~ ~override~ // Shadow Thief
		  ~nalia13.cre~  ~override~ // Nalia
		  ~orc02.cre~	~override~ // Orc Archer
		  ~pbhunt03.cre~ ~override~ // Bounty Hunter
		  ~pcapt03.cre~  ~override~ // Prison Captain
		  ~pcapt04.cre~  ~override~ // Prison Captain
		  ~pirmur07.cre~ ~override~ // Vadek
		  ~pirsea02.cre~ ~override~ // Pirate
 // (unused) ~plshhg01.cre~ ~override~ // Hobgoblin Slayer
		  ~pparan2.cre~  ~override~ // Aran Linvail
		  ~ppcowled.cre~ ~override~ // Perth the Adept
		  ~ppguard1.cre~ ~override~ // Kobold
		  ~resuna.cre~   ~override~ // Suna Seni
		  ~rumar01.cre~  ~override~ // Umar
		  ~saerk.cre~	~override~ // Saerk Farrahd
 // (unused) ~sahuag01.cre~ ~override~ // Sahuagin
		  ~sargrd05.cre~ ~override~ // Thief
		  ~sargrd09.cre~ ~override~ // Thief
		  ~sarkis01.cre~ ~override~ // Kiser Jhaeri
		  ~sarkis02.cre~ ~override~ // Fighter
		  ~sarkis03.cre~ ~override~ // Fighter
		  ~sarkis04.cre~ ~override~ // Kiser Jhaeri
		  ~sartem01.cre~ ~override~ // Sister Farielle
		  ~sarvie01.cre~ ~override~ // Viekang
		  ~senani05.cre~ ~override~ // Pheasant
		  ~sendai.cre~   ~override~ // Sendai
		  ~sendai3.cre~  ~override~ // Sendai
		  ~sendai4.cre~  ~override~ // Sendai
		  ~sendai6.cre~  ~override~ // Sendai
		  ~sendro05.cre~ ~override~ // Drow
		  ~sengua05.cre~ ~override~ // Drow
		  ~sevpat05.cre~ ~override~ // Brennan Risling
		  ~sewdue01.cre~ ~override~ // Duergar Sapper
		  ~shabod01.cre~ ~override~ // Wallag's Body
		  ~shadeld.cre~  ~override~ // Shade Lord
		  ~shth01.cre~   ~override~ // Hanz
 // (unused) ~shth011.cre~  ~override~ // Hanz
		  ~shth03.cre~   ~override~ // Kretor
		  ~shthass1.cre~ ~override~ // Ama
 // (unused) ~shthass2.cre~ ~override~ // Shadow Thief
 // (unused) ~shthass3.cre~ ~override~ // Thief
		  ~sword01.cre~  ~override~ // Magical Sword
		  ~swsfoll4.cre~ ~override~ // Kobold
		  ~swsfoll5.cre~ ~override~ // Kobold
		  ~swshaman.cre~ ~override~ // Kobold Shaman
		  ~tanthf01.cre~ ~override~ // Rune Assassin
		  ~teltief3.cre~ ~override~ // Tiefling
		  ~tolger.cre~   ~override~ // Tolgerias
		  ~tolger2.cre~  ~override~ // Tolgerias
		  ~trrak01.cre~  ~override~ // Adratha
		  ~udmaster.cre~ ~override~ // The Master Brain
		  ~uhman02.cre~  ~override~ // Nelleck
		  ~uhogre04.cre~ ~override~ // Gnoll
 // (unused) ~vakg02.cre~   ~override~ // Archer
		  ~viekang.cre~  ~override~ // Viekang
		  ~vulfgt02.cre~ ~override~ // Vulova Wizard
		  ~waukni01.cre~ ~override~ // Waukeenar Knight
		  ~xappren1.cre~ ~override~ // Prebek
		  ~yaga05.cre~   ~override~ // Lieutenant Thief

Link to comment

And the disintegrating items patch:

ALLOW_MISSING
~deaddem2.cre~ // Quasit
~dquas01.cre~  // Quasit
~gorbat1.cre~  // Ka'rashur
~gorchr.cre~   // Chromatic Demon
~gortan1.cre~  // Tahazzar (ringdemn, balor, immune3)
~gortan2.cre~  // Succubus (ringdemn)
~gortan3.cre~  // Yochlol (ringdemn, dwplat01, dwsw1h01)
~gortan4.cre~  // Glabrezu (ringdemn, immune2)
~gortan5.cre~  // Quasit
~melsum01.cre~ // Glabrezu
~melsum04.cre~ // Balor
~teltan1.cre~  // Glabrezu
~teltan2.cre~  // Glabrezu
~teltief3.cre~ // Tiefling

COPY_EXISTING ~abydem01.cre~ ~override~ // Tanar'ri (ringdemn)
		  ~bdturm02.cre~ ~override~ // Turmish Thief (bolt03)
		  ~csiren.cre~   ~override~ // Mage (STAF01, RNDTRE04)
		  ~deaddem2.cre~ ~override~ // Quasit (ringdemn)
		  ~demosum2.cre~ ~override~ // Balor (ringdemn, balor, immune3)
		  ~demosum3.cre~ ~override~ // Glabrezu (ringdemn, immune2)
		  ~dglab01.cre~  ~override~ // Glabrezu (ringdemn, immune2)
 // (unused) ~dquas01.cre~  ~override~ // Quasit (ringdemn)
		  ~duegau01.cre~ ~override~ // Duergar (BULL01)
		  ~duegau02.cre~ ~override~ // Duergar (AX1H01, BULL01)
		  ~duemag01.cre~ ~override~ // Mage (STAF01, SLNG01, POTN08, BULL01)
		  ~duemag02.cre~ ~override~ // Mage (STAF01, SLNG01, POTN08, BULL01)
		  ~duergar1.cre~ ~override~ // Duergar (BULL01)
 // (unused) ~duergar3.cre~ ~override~ // Duergar (AX1H01, BULL01)
		  ~gorbat1.cre~  ~override~ // Ka'rashur (RINGDEMN, immune3, reghp2r)
		  ~gorchr.cre~   ~override~ // Chromatic Demon (ringdemn)
		  ~gortan1.cre~  ~override~ // Tahazzar (ringdemn, balor, immune3)
		  ~gortan2.cre~  ~override~ // Succubus (ringdemn)
		  ~gortan3.cre~  ~override~ // Yochlol (ringdemn, dwplat01, dwsw1h01)
		  ~gortan4.cre~  ~override~ // Glabrezu (ringdemn, immune2)
		  ~gortan5.cre~  ~override~ // Quasit (ringdemn)
		  ~lavok01.cre~  ~override~ // Lavok (STAF01, RNDTRE04)
		  ~lavok02.cre~  ~override~ // Lavok (STAF01, RNDTRE04)
		  ~melsum01.cre~ ~override~ // Glabrezu (ringdemn, immune2)
		  ~melsum04.cre~ ~override~ // Balor (ringdemn, balor, immune3)
		  ~obsdem01.cre~ ~override~ // Lea'liyl (S1-10, ringdemn)
		  ~pmaster.cre~  ~override~ // Master of Thralls (S1-10, ringdemn)
		  ~ppdemon.cre~  ~override~ // Demon (S1-10, ringdemn)
		  ~shth01.cre~   ~override~ // Hanz (BULL01)
 // (unused) ~shth011.cre~  ~override~ // Hanz (BULL01)
		  ~shth03.cre~   ~override~ // Kretor (AROW05)
 // (unused) ~sumtan01.cre~ ~override~ // Tanar'ri (ringdemn)
 // (unused) ~sumtan02.cre~ ~override~ // Tanar'ri (ringdemn)
		  ~tanari01.cre~ ~override~ // Tanar'ri (S1-10, ringdemn)
		  ~teltan1.cre~  ~override~ // Glabrezu (ringdemn)
		  ~teltan2.cre~  ~override~ // Glabrezu (ringdemn)
		  ~teltief3.cre~ ~override~ // Tiefling (wand18)
		  ~tolger.cre~   ~override~ // Tolgerias (STAF01, RNDTRE04)
		  ~tolger2.cre~  ~override~ // Tolgerias (STAF01, RNDTRE04)
		  ~uddwarf.cre~  ~override~ // Insane Dwarf Warrior (BULL01)
		  ~uhman02.cre~  ~override~ // Nelleck (BOLT01)
		  ~uhogre04.cre~ ~override~ // Gnoll (AROW01)
 // (unused) ~vakg02.cre~   ~override~ // Archer (XBOW01)
 PATCH_IF (%SOURCE_SIZE% > 0x2d3) THEN BEGIN
READ_LONG   0x2bc "io"
READ_LONG   0x2c0 "ic"
FOR ("i" = 0x00; "i" < (0x14 * "ic"); "i" += 0x14) BEGIN
  WRITE_SHORT  ("io" + "i" + 0x08) 0x00
END
 END
BUT_ONLY_IF_IT_CHANGES

Link to comment

Don't set the wand charges in stores greater than their default amounts. Nobody wants to pay 50 billion dollars for a wand.

 

Don't set the quantity for Habib's stuff. It works so that he throws the only one he has at you (he loses the item, so it appears as if he actually threw his scimitar).

 

The wand of cursing is usually specified correctly in the BIFFs (and they changed it to 1 1 1 before release for some reason). IIRC, it's 6 0 0 in one of the AREs and the CRE, and 4 0 0 in the other ARE.

 

We should instead set the maximum charges for the wand of wonder to 50 or 100 (I'm pretty sure they meant for it to be 100 now) instead of reducing the found charges to 10.

 

You can't set charges for items that can be stacked. RESTORE, for instance, will be the same if you specify 0 0 0, 1 0 0, 1 1 0, or 1 27 132. We can change them, but it's a bit pointless. The value is irrelevant if an item can't be stacked and has no charged abilities (AX1H01 with 2 0 0 will still just give a single axe).

Link to comment

I couldn't find a thread with the right code. In the ARE patches ("// fixes zero charge items"), the WAND05 charges patch is checking "charge1" twice (instead of "charge1" and "charge2").

	PATCH_IF ("%item%" STRING_COMPARE_CASE "wand05" = 0) BEGIN // wand of fire
  READ_SHORT  ("%itm_off%" + 0x0a + ("%index%" * 0x14)) "charge1"
  READ_SHORT  ("%itm_off%" + 0x0c + ("%index%" * 0x14)) "charge2"
  PATCH_IF ("%charge1%" = 0) BEGIN
	WRITE_SHORT ("%itm_off%" + 0x0a + ("%index%" * 0x14)) 10
  END
  PATCH_IF ("%charge1%" = 0) BEGIN
	WRITE_SHORT ("%itm_off%" + 0x0c + ("%index%" * 0x14)) 10
  END
END

Link to comment
Cam, can you split this to the IESDP board (at least Posts 11 to 17)? The information about the item timer might be more useful there (Avenger should know, at least).

Done, finally.

 

I couldn't find a thread with the right code. In the ARE patches ("// fixes zero charge items"), the WAND05 charges patch is checking "charge1" twice (instead of "charge1" and "charge2").

Fixed, thanks.

Link to comment

Archived

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

×
×
  • Create New...