Hellfire v1.02.A5 - an Unofficial Update for Hellfire
This document was last updated on: 4/3/2015
The last version of this project was released on: 3/22/2015


NOTE: This project currently requires Marsh's Unofficial Hellfire Mod v1.02.
I apologize for the couple extra steps you have to take to use v1.02.A5.

Instructions for the installation and usage of both Marsh's Mod and this update are further below.
Please review them, as you'll have to do a little more than just extract them into your Hellfire folder!


This page is best viewed with your browser wide enough that the following dashes form only a single row across the screen.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Important note: v1.02.A5 includes a new feature that is disabled by default - reduced 
processor usage (in game only, the main menu is not affected yet). I have played with it extensively 
and the game appears to play with zero differences despite a potentially massive reduction in how 
much it hammers your processor. This could be invaluable for people playing Hellfire on a laptop, 
where the unnecessary CPU usage is a massive drain on battery life and could generate a lot of heat. 
Laptop users should give it a try. The worst it should do is make Hellfire run choppy. It could help 
your laptop live a lot longer though. I may make it active by default in a future version once I am 
much more confident it doesn't cause problems for anyone. And I may find a way to implement it 
better in the meantime. See Section 4: Disabling or Enabling Features for general instructions
for enabling features, then use that to activate this feature at the end of the modification file.


========================================================================
INDEX
========================================================================

 Section 1: About This Project
...................................What it does
...................................Package contents
...................................Summary of significant changes
...................................Words from the author
 Section 2: Installation & Usage
...................................Summary
...................................Details
 Section 3: Full Change List
...................................Changes in effect from Marsh's Mod
...................................Bug Fixes
...................................Improvements
...................................Tweaks
 Section 4: Disabling or Enabling Features
...................................General how-to
...................................Marsh's Mod reversions
...................................Extra Features
 Section 5: Known Remaining Issues
...................................To Fix
...................................Not To Fix
 Section 6: Troubleshooting
...................................Problems with Hellfire
...................................Problems with loader.exe or this patch
...................................Notes if you're upgrading from Marsh's Mod
 Section 7: Miscellany
...................................Which special item effects stack?
...................................What about the Quests?
...................................Things I goofed up in earlier versions
...................................Notes for other Modders
...................................Credits


========================================================================
SECTION 1: ABOUT THIS PROJECT
========================================================================


........>>> What it does:
 Fixes various bugs with the game
 Improves issues that aren't bugs, but are undesirable
 Tweaks a few things for player convenience
 Customizable (if you're comfortable with a text editor)
 100% Pure Diablo & Hellfire: No audio or graphics from other games will ever be used in this project



........>>> Package contents:
 This changelist (all changes are current and in effect; discarded changes from old versions not shown for simplicity)
 The mod files: cowqueston.dat, hfopt1.mpq, hfopt2.mpq
 Fix for cinematic playback on newer Windows: smackw32.dll
 Optional fix for bad/rainbow colors: ColorFix Hellfire 32-bit.reg, ColorFix Hellfire 64-bit.reg


........>>> Summary of significant changes:
Some fixes and changes introduced by this mod/patch are worth specific mention as they can have a significant impact
on your Hellfire experience. These are highlighted here for your convenience. For a full list of all changes and fixes, please
review Section 3: Full Change List. Remember, you can disable many changes; see Section 4: Disabling or Enabling Features. 

 Gillian Stash: A feature of Marsh's Mod, you may give items to Gillian for storage or transfer between your characters
 Monster Ranged Attacks: BEWARE! Most monsters previously couldn't hit you up close with arrows or spells; now they can
 Monster Sounds: Some Hellfire monster sounds were replaced with sounds from plain Diablo (details in full change list)
 No Permanent Mana Loss: No shrines reduce Max Mana now (they take 1 pt of Magic); Barbarians can no longer lose Mana
 No Permanent Life Loss: Black Deaths now have a 75% chance to steal 1 Vitality per hit, reduced by Magic Resist (75% = immune)
 Adria: Her shack is now located where the empty house was next to the Town Portals; Adria bridges removed as a reminder
 Life/Mana Steal: Now works on Bows. Crown of the Dead now useful for bows. Life/Mana steal added to 4 mid-range unique bows
 Unique Items: A *few* have been altered to address issues or increase usefulness but no radical changes are made
 Fast Attack: Now works on Bows like Diablo v1.09; this makes The Needler & of Swiftness useful again (esp. for Rogues)
 Penetration: Now works on Bows; get penetration & a bow for your Warrior as a secondary attack vs foes that run away :)



........>>> Words from the author:
This project was inspired by Hellfire: Fixed & Marsh's Unofficial Hellfire Mod. Both projects aimed to improve Hellfire.
Overall I think they both did, but I felt more could be done; I learned how to do this stuff so I could carry the torch.

I hold my work to high standards and try my best not to break anything in the game. If you encounter a serious issue,
please report it! If it is the fault of my work, I will make every effort to issue a fix or updated version ASAP!

Some day I may develop this into a stand-alone project, or expand its scope to cover plain Diablo. Only time will tell.


========================================================================
SECTION 2: INSTALLATION & USAGE
========================================================================
^ Return to Index

........>>> Summary:
 Download and unpackage Marsh's Unofficial Hellfire Mod v1.02
 Configure PlugUlmo's Loader
 Download and unpackage this Update
 Use loader.exe to launch updated Hellfire (likely requires admin permission)



........>>> Details:
 Download and unpackage Marsh's Unofficial Hellfire Mod v1.02
........Marsh's Mod may be downloaded from the following locations:
........Mirrors:  http://khanduras.net/repo/hellfire-100-102-zip/
................... http://thehellmod.ucoz.ru/Downloads/Mods/Hellfire101/Hellfire-100-102.zip
........Now simply unzip the contents to a directory containing Hellfire. Note that Marsh's HF1.02 exe will overwrite/update your HF v1.00 or v1.01 exe.
........Thus you may wish to make a back up of your original exe first.
........Note: All known changes made by Marsh's Mod still present in v1.02.A5 are listed in the change list further below.


 Configure PlugUlmo's Loader
........Included with Marsh's exe, PlugUlmo's loader makes it really easy to apply changes to Hellfire, including this patch.
........To configure it, find the file PlugUlmo.ini that came out of Marsh's package, and open it with a text editor. Its first line reads [Loader_Info]
........Note: A default setting makes Hellfire look for Diablo's data file in its own folder instead of the CD and can cause "Disc not found" errors!
........Here are the three settings to take a look at:
........Options:  Disable_CD_protection= Recommend you set to NO as you need the CD for data files, or the game crashes. Don't know why this option exists!
...................  use_DIABDAT_from_HD= This causes Hellfire to claim the CD is missing even if it is in your drive. But it's actually quite useful; if you copy
..........................DIABDAT.MPQ from your Diablo CD to the Hellfire directory, you can run the game from your hard drive, vastly reducing load times!
..........................I recommend you leave it on YES and copy the file from your Diablo CD, but if you can't figure out how, set this to NO so you can still play.
...................  StashHellfire= This controls whether the Gillian Stash mod by Ulmo is active or not. Leave it as is if you want the stash feature.
..........................If you don't want to be able to give items to Gillian to hold for you or pass between your characters, erase the part after = to make it blank.
........Now save the file and you're done with this step.


 Download and unpackage this Update
........Download this update at the bottom of this post below, then extract the contents to your Hellfire folder and you're done with this step.


 Use loader.exe to launch updated Hellfire
........Locate 'loader.exe' in your Hellfire directory (this file comes from Marsh's Mod).
........You will need to run loader.exe every time you wish to play Hellfire with this patch.
........It starts Hellfire after loading some changes first (namely, the Gillian Stash and this patch).
........I recommend you create a shortcut to loader.exe and place it somewhere convenient.
........If you are running Hellfire thru loader.exe but do NOT see v1.02.A5 in the game menu,
........loader.exe does not have sufficient access to alter Hellfire and needs Admin permission.
........Right-click the shortcut or loader.exe, choose Properties, go to Compatibility tab,
........and check 'Run this program as an administrator' to make the patch work properly.
........When the main menu shows v1.02.A5 in the bottom left corner, you're good to go!



========================================================================
SECTION 3: FULL CHANGE LIST
========================================================================
^ Return to Index

........>>> Changes in effect from Marsh's Mod
Marsh achieved many nice bug fixes and improvements. v1.02.A5 incorporates most of these.
Some of Marsh's changes have been altered or disabled; only active, unaltered changes from his mod are listed here.

 Gillian Stash: You may give items to Gillian for storage or transfer between your characters
 Command.txt: This file is now ignored; all features except the Cow Quest are enabled by default
 Automap: All players now appear on the automap in multiplayer if they are on the same dungeon level
 Friendly Fire: Your projectiles no longer strike other players unless Player Hostile is enabled (Fire Wall etc. may still harm allies)
 Ending Cinematic: Disabled by default so you can finish clearing the level, go play in the Crypt etc. rather than get ejected from game
 Diablo: Now treated as a Unique monster for item drops in MP Games (but consequently, in SP he always drops the Undead Crown)
 Network: UDP is now a connection method. It sometimes has problems seeing games. In my experience IPXWrapper works better.
 DiabloClicker: Included in the mod, run this (as an admin) after starting Hellfire, click 'Setup -> Install' to use Diablo II mouse behavior.
 Random Seeding: Improved; more random monster behaviour and to-hit chance, making long missing streaks less likely to occur
 Blocking: Now behaves like Diablo; you won't try to block spells that you resist, reducing the threat of 'Block Lock' (too busy blocking to fight)
 Sweep Attack: The 3 new Hellfire classes now have reduced effectiveness against adjacent enemies with sweep attacks (as intended)
 Monsters: Fixed bug that caused monsters AC to wrap around to 0 in Hell diffulty, now monsters will have very high AC in Hell
 Volume: Fixed bug which prevented players with a version of DirectX greater than v3 from changing their volume in game
 Rage: Barbarian's Rage skill no longer removes life, as this was very buggy and life could be returned by moving items in your inventory
 Mana Shield: Mana Shield no longer subtracts too much life when it is removed through damage
 Mana Shield: Mana Shield no longer becomes worse at reducing damage taken as the spell level increases; all levels have 33% damage reduction
 Flash: Now deals the correct amount of damage in all 9 directions around the caster
 Jogging: The Jog/Walk in town option now works in Multiplayer mode
 Oils: All oils can now drop in Multiplayer mode
 Enchanted Shrine: Can now be obtained from Cauldrons and Goat Shrines beyond dungeon level 8
 Fascinating/Sacred/Ornate Shrines: Now remove 1 point of the Magic stat rather than reducing Maximum Mana by 10%
 Balrogs: No longer pause for several seconds deciding between casting Inferno or meleeing (not sure this works, they still pause sometimes)
 Monsters: Unique monsters that were placed on levels where their monster type doesn't appear have been corrected
 Staves: Many weapon prefixes and suffixes have been added to staves to give Monks more options
 Uniques: Due to design flaw, it was difficult/impossible for many unique items to drop; now have a fairly even chance of dropping on all difficulty levels

........The following changes are also included in Marsh's Mod, but were undocumented (there may be more I haven't found yet):

 Monsters: A couple new unique foes appear in Diablo's dungeons
 Fleshdancer: Marsh brought this unique Soul Burner over from Hellfire: Fixed, but forgot to enable it - this has been corrected



........>>> Bug Fixes
These changes correct what appear to be errors and/or oversights in the game's design.

 Monster Double Deaths: In MP games, monsters could die more than once, dropping duplicate items and granting extra experience
 Player Deadlock: Switching gear during combat could freeze your hero indefinitely
 Portals Into Walls: In MP games, other players' portals could deposit you inside solid walls
 Stone Curse: Quickly Stone Cursing a monster more than once, then leaving the floor stoned it permanently
 Service Menus: Item lists shown when getting services from Cain, Griswold and Adria didn't show uniques in gold text
 Fire Arrow Traps: Insanely high damage significantly reduced; beware though, they can still kill you if you're weakened
 Loading Screens: Most computers should now load into town or dungeons up to 3x faster
 Shrines: No longer can your Magic be reduced to a negative value (Barbarians rejoice!)
 Shrines: No permanent Life/Mana loss when a shrine tries to reduce your Magic or Vitality and it is already 0
 Monster Ranged Attacks: BEWARE! Most monsters previously couldn't hit you up close with arrows or spells; now they can
 Item stat overflow: Chance To Hit less than 0% could roll over to a positive value under 65536%
 Item stat overflow: Armor Class less than 0 could roll over to a positive value under 256
 Block Bonus: Each class now gains its intended chance to block bonus (previously always ignored in Hellfire)
 Doppelganger's: Cloning effect disabled in MP games due to sync issues and crashes
 of Peril: Now properly updates your Life Orb to show damage taken (previously only updated if you had Life Steal)
 Quick Attack (Melee): Did not actually increase your attack speed; now it has the same effect as Fast Attack
 Diablo: Now makes his death cry even if the ending cinematic is disabled
 The Shredded: All 528 animation frames are now properly centered; were too far to the left
 Resurrect: The spell sound effect was set incorrectly and would never play; now you'll hear it as intended
 Rejuvenation Potion: A bug with the amount of Life and Mana restored for Monks and Bards has been fixed (50% more effective for each)
 Rejuvenation Potion: No longer looks identical to Full Rejuvenation while on the ground; is now a dim gold, as seemed intended
 Long War Bow: Gains what appears to be its intended inventory graphic (previously looked identical to Long Battle Bow)
 Warlord of Blood Quest: Now enabled in Multiplayer, appearing in 33% of games (single player should be unaffected)
 Warlord of Blood Quest: No Warlord speech in Multiplayer (his speech would not activate for all players, making him invincible to them)
 Warlord of Blood Quest: Steel Tome dialogue does not replay every time you re-enter floor in Multiplayer
 Warlord of Blood: Loses Lightning Immunity, gains Lightning Resistance (now the same as his lackeys)
 Sir Gorash: Gains Fire Resistance, Lightning Resistance, and Magic Resistance
 Na-Krul: Retains Fire Immunity, but Lightning and Magic immunities lowered to resistances
 Devil Kin Brute: A missing walk animation that resulted in a sliding motion has been improved
 Footstep Sounds: Disabled since Hellfire's original release, the subtle sounds of your feet may now be heard once again


 Combat Effects (Bows): Many combat effects ignored or bugged when using Bows now work correctly
........Affects:  Jester's  of Bashing  of Blood  of Devastation  of Peril  of Piercing  of Puncturing  of the Bat  of the Leech  of Vampires
................... Deadly Hunter  Ring of Engagement  The Undead Crown
........Notes...
............Deadly Hunter: Yes, the +200% Damage vs Demons on this bow finally works now after all these years - good luck finding one though!
............Penetrate Target's Armor: Unchanged, listed for reference: Piercing = 1, Puncturing = 2, Bashing = 3, Ring of Engagement = 4 (multiple sources stack!)
............Penetrate, 1 Point: Unchanged, effectively ignores 25% of monster's Armor Class (resultant AC rounded down)
............Penetrate, 2+ Points: Unchanged, 1st point ignored, every point after it accumulatively halves effective AC: 2 = -50%, 3 = -75%, 4 = -87%, 5 = -93% etc.
............Penetrate, Point Bug: In plain Hellfire, Bows affected by Penetration actually raised a monster's AC by the number of penetrate points!
............Blitzen & Flambeau: These attack as spells, and will not gain these modifiers
............Remember: Life Steal, Mana Steal and Jester's don't normally appear on bows (but you can use the Undead Crown for Life Stealing bows now!)

 Attack Speed Behavior (Bows): Bows with Fast Attack Speed or better now fire faster; arrow speed bonus removed
........Reasoning: Diablo had it right! Hellfire made Swiftness bows & The Needler junk: Fast Attack granted +2 arrow speed, flying a mere 6% faster at best.
........Affects:  of Haste  of Speed  of Swiftness  The Needler
........Notes...
............Behavior: Should be identical to melee; 1 frame faster with Fast, 2 frames with Faster/Fastest. Rogues will benefit most
............Gnat Sting: Unaffected; has Quick Attack which doesn't shoot faster, but retains its +1 Arrow Speed behavior
............Remember: Speed and Haste don't normally appear on bows

 Monster Chance To Hit Overflow (Melee): Chance To Hit more than 255% would be erroneously reduced by 256%
........Affects:  Nightmare  Hell
................... Diablo  Na'Krul  Flesh Thing

 Black Death permanent max life damage
........Black Deaths now have a 75% chance to steal 1 Vitality per hit, offset by Magic Resist (75% Resist Magic = immune to Vitality drain)
........Reasoning: Restores Black Death life reduction without the old permanent damage to your max life. Also less harsh as the effect is resistable.
........Notes...
............Drain Limit: Black Deaths will never reduce your Vitality below your current character level

 Search spell duration
........Now matches the formula in Jarulf's Guide: 12.25 + 10 * Spell Level + Character Level seconds (Lvl 15 Search cast by Lvl 32 Sorc = 3.2~ minutes)
........Notes...
............Original Behavior: 12.25 + 0.5 * Spell Level + 0.1 seconds; Lvl 15 Search cast by Lvl 32 Sorc: = 20~ seconds (yes, it ignored character level)
............Duration Stacks: Unchanged; every cast of Search adds the spell duration to its current duration if it is already active

 Text Descriptions
............ Jester's: "Random 0 - 500% Damage" >>> "Random 0 - 600% Damage" (correction from Jarulf's Guide)
............ of Devastation: "Occasional Triple Damage" >>> "5% chance of 300% Damage"
............ of Speed: "Faster Attack" >>> "Fastest Attack" (these do the same thing; they should have same description)
............ of Thieves: "Absorbs half of Trap Damage" >>> "Reduces Ranged Damage 50%" (Thieves suffix acts this way in Hellfire)
............ Bone Chain Armor: "Extra AC vs Undead" >>> "+20 Armor vs Undead"
............ Demon Plate Armor: "Extra AC vs Demons" >>> "+40 Armor vs Demons"
............ Flamedart: No longer states its Fire Damage twice
............ Helm of Spirits: Name corrected (mistyped as 'Helm of Sprits' since Diablo's release)
............ Auric Amulet: Removed "Doubles gold capacity" (obsolete now; always have 10k gold piles)

 Unique Monsters in Hellfire's New Areas
........Originally introduced in Hellfire: Fixed, Marsh brought these evil doers over to his mod (which this project is based on).
........With them came some unreasonably high stats, which made most of the new bosses in the Crypt behave one difficulty level higher.
........For example, the new Arch Lich boss on Crypt 4 did almost as much damage on Normal as a Blood Knight does on Hell difficulty. Yikes!
........I have since rebalanced the Crypt bosses; unreasonably high hit points and damage ranges are now closer to Diablo's original bosses.
........Lastly, none of the new uniques should have triple immunity any more (Fire/Lightning/Magic), as this seemed unfair to Sorcerers on Normal.



........>>> Improvements
These changes alter arguably negative aspects of the game.

 Griswold: Stops favoring the sale of item types you don't have (now I can stop calling him "Grisbald the Junksmith")
 Wirt: Stops favoring the sale of item types you don't have (i.e. if you carry 3 bows, he'd virtually never sell a bow)
 Blood Fountain: Restores 12.5% of your current Vitality as Life per click (instead of 1 Life per click, which took forever)
 Purifying Spring: Restores 12.5% of your current Magic as Mana per click
 New Game/Quit: To prevent accidental exits, these options are now disabled while you are dead in a multiplayer game
 Chain Lightning: No longer scans for targets further than the corners of your screen (reduces gapping)
 Defiler Speeches: You will no longer hear the Defiler speak before you actually encounter it (no more awful disembodied taunting)
 Blocked Doors: No longer highlighted for interaction by the mouse; it can no longer obscure items behind it
 Skullwing: Previously identical in appearance to the stronger Bone Demon, they have been granted their own distinct color
 Oils: Mostly junk items, many Oil stats have been increased, and the description of their effects improved (still a work in progress!)

 Multiplayer Characters are no longer saved as Hidden System Files
........They're still saved in your WINDOWS directory as hr_info#.drv (but now they're a lot easier to find!)
........Notes...
............Existing Characters: This change will only unhide existing characters after each one is played again (just host/exit with each one quickly)

 Experience is now shared between all players
........In the current implementation, exp is always divided by the number of players in the game, NOT just the same floor! So play together!
........Reasoning: In the original game, only players who struck a monster got a cut of its experience, divided by the number of entitled players.
............Marsh's mod introduced a Shared Exp feature that rewarded all players on the same level, but it gave everyone 100% of the experience,
............making leveling in MP games faster. This is my attempt to retain the Shared Exp feature while returning Exp gains to normal behavior.
............Unfortunately I couldn't get it to work without dividing when players are dead or absent, but this does have the unintended benefit of
............making it harder to get ahead of teammates. I will further refine this to act more like the original game when/if I can.

 Shorter Spell Wall Durations
........Extra time per level halved, Lightning doesn't last longer than Fire any more
........Reasoning: Wall duration was more annoying than helpful. Level 15 Lightning Walls lasted 3.4 minutes!
........Affects:  Fire Wall  Lightning Wall  Ring of Fire

 Altered Monster Animation Speeds
........Some Hellfire monsters died too awkwardly; death animation speeds have been slightly adjusted
........Affects:  Arch-Lich  Biclops  Devil Kin Brute  Felltwin  Lich

 Altered Monster Animation Frames
........Some death animations looked confusingly like stun animations at first; hit-like frames removed
........Affects:  Hork Spawn  Crypt Demon

 Altered Monster Sound Effects
........Many Hellfire monsters now use other fitting sounds from the game to reduce silly/loud/screechy sounds and improve atmosphere
........Affects:  Crypt Demon  Devil Kin Brute  Firebat  Hellbat  Hellboar  Tomb Rat
................... Biclops  Felltwin  Flesh Thing  Grave Digger  Hork Spawn  Spider Lord  The Shredded
........Notes...
............The Shredded: You will actually hear a sound when you hit them now; they were previously silent

 Unidentified Uniques:
........Some Hellfire uniques are too powerful if used unidentified; these will be made less potent, but still useful this way (like Gotterdamerung)
............ Bovine Plate: Armor: 150 >>> Armor: 100, +50% (150) Identified (less armor without ID)
............ Armor of Gloom: Armor: 225 >>> Armor: 180, +25% (225) Identified (less armor without ID; on par with good Awesome Plate)

 Altered Unique Staves - Fast Block
........In the spirit of Marsh's Mod adding Staves of Blocking, Unique Staves without spells now gain Fast Block
........Affects:  Immolator  Staff of Shadows  Storm Spire

 Altered Unique Bows - Life & Mana Steal
........Now that bows can leech as of v1.02.A4, 4 mid-range unique bows gain Life or Mana steal
........Affects:  Bow of the Dead  Flamedart  Fleshstinger  The Blackoak Bow
........Notes...
............Amounts: Bow of the Dead: 3% Life, Flamedart: 5% Mana, Fleshstinger: 5% Life, The Blackoak Bow: 3% Mana
............Vitality Curses: Bow of the Dead had no room for a new enchantment, so I replaced -3 Vitality; for consistency, I replaced -10 Vitality on Blackoak also

 Altered Hellfire Unique Jewelry - Improve Usefulness
........Most Hellfire jewelry is of questionable use even if found as early as possible. They get a boost but will remain inferior to possible Magic jewelry.
............ Ring of Magma: +60% Resist Fire, +15 Strength (was: +60% Resist Fire, -30% Resist Magic, -30% Resist Lght)
............ Ring of the Mystics: +60% Resist Magic, +15 Magic (was: +60% Resist Magic, -30% Resist Fire, -30% Resist Lght)
............ Ring of Thunder: +60% Resist Lght, +15 Dexterity (was: +60% Resist Lght, -30% Resist Magic, +60% Resist Fire)
............ Acolytes Amulet: +50 Mana, +10% Resist All, Faster Hit Recovery (was: 50% of Base Mana to Life*)
............ Gladiator's Ring: +40 Life, +5 To All Attributes, +15% Chance To Hit (was: 40% of Base Life to Mana*)
............ Amulet of Warding: +40% Resist All, +4 Armor, -3 Damage, +20 Armor vs Undead (was: +40% Res All, -100 Life)
*The Life/Mana trade jewels were buggy and didn't always work.

 Altered Diablo Uniques - Improve Usefulness
........This is by no means a comprehensive rehaul of Diablo uniques!
........These are a few Uniques I found I felt would be considerably more appealing with only minimal changes.
............ Blackoak Shield: -10 Vitality >>> Fast Hit Recovery
............ Harlequin Crest: +2 All Attributes >>> +4 All Attributes, +7 Life & Mana >>> +15 Life & Mana (AC penalty might be worth it now)
............ Helm of Spirits: Life Stealing (was: Hit Steals 5% Life; this very rare helm can now be stacked with normal Life Steal)
............ Messerschmidt's Reaver: -50 Life >>> +2 Damage From Enemies
............ Ring of Engagement: 1-3 Damage to Attacker (qlvl1) >>> 5% Chance of 300% Damage (qlvl1)



........>>> Tweaks
These aim to make certain aspects of the game more convenient, but aren't technically fixes.

 Level Up Meter: A meter drawn at the bottom of the user interface shows you how close you are to your next Level Up
 Item Outlines: In the dungeon, the color drawn to outline items on the floor now match the type of item (e.g. Gold outline = unique item)
 Adria: By popular demand, when you speak to Adria she will now recharge your magical energy if you were not full
 Sierra Logo: Skipped automatically
 Hellfire Logo: Skipped automatically (intro still plays)
 Elixir of Strength: No longer looks identical to Potion of Mana while on the ground; is now a bright white bottle, like Vitality Elixirs
 Spell Scrolls: Unlearnable spells (Identify, Infravision, Resurrect) have blue ribbons instead of red ones
 Oils: Oils that might be something other than Blacksmith, Sharpness or Accuracy have a thin black vial (could still be those, though)
 Durability Warnings: Now appear 2 points earlier (yellow and red at 7 and 4, instead of 5 and 2)
 Gold Piles: Always up to 10k without Auric Amulet
 Town Respawn: You now respawn within sight of Town Portals (rejoin other players faster)
 Cain: Stops assailing you with his 'bode well' & 'quite grim' speeches in Multiplayer (heard this a thousand times)
 Griswold: Merely says "Greetings!" when spoken to (short greeting)
 Adria: Merely says "Hello, good friend." when spoken to (short greeting)
 Adria: Her shack has moved near the Town Portals (bridges leading to her old home are gone, to help remind you she moved)
 Wirt: Now located at the big tree south of starting house (he's about as far from the start now as Griswold)
 Glowing Shrine: Won't appear below Level 3 (removed from Goat Shrines & Cauldrons, -5% experience is too nasty for high level chars)
 Mendicant's Shrine: Now single player only (multiplayer experience cap often prevents full benefit, not worth the gold it can steal)
 Tainted Shrine: No longer appears (reducing your friend's attributes by accident is not cool)
 Murphy's Shrine: No longer appears (damaged your gear or stole 33% of your gold)
 More Player Information: To improve coop play, mousing over other players now additionally shows their Armor Class and Resistances
 Maxed Resistances: Now display their value (75%) instead of MAX for better display consistency with the above feature


========================================================================
SECTION 4: DISABLING OR ENABLING FEATURES
========================================================================
^ Return to Index

........>>> General how-to
With the exception of disabling the Gillian Stash feature (see Section 2: Configure PlugUlmo's Loader), all features of this patch are toggled on and off
by editing the cowqueston.dat file with a text editor like Notepad. Only some changes from Marsh's Mod can be toggled at this time.

Changes contained within the cowqueston.dat file are generally presented in the same order as the change list above, but there is a lot of text inside,
so you may wish to use a Search feature to find the specific alterations you wish to disable or enable.

Here is an example showing how to disable a code change:

start HF1.01 "Resurrect Spell Sound Fix" 4A8044 FFFFFFFF 85000000 end
In the dat file this code change starting with the word 'start' and ending at 'end' repairs the broken sound effect for the Resurrect spell. Lets say you wanted to turn this change off so that you don't hear the Resurrect sound any more. You would simply either erase this section (not recommended since you may change your mind later and want it back), or comment it out by inserting the # symbol at the start of each line, so that it looks like this:
#start HF1.01 "Resurrect Spell Sound Fix" #4A8044 FFFFFFFF 85000000 #end
Similarly, other codes in the file that are already disabled with # symbols at the start of each line can be enabled by removing all of the # symbols. PLEASE NOTE: It is important that you comment or uncomment the ENTIRE code from start to end, otherwise undesirable things may happen. Also take care not to accidentally erase any part of the code itself. PlugUlmo's loader will not apply broken codes, but you won't know that a change is no longer being applied unless you notice it directly in the game or review PlugUlmo's potentially lengthy log file.
........>>> Marsh's Mod reversions While I have only been able to locate and identify approximately half of the changes Marsh made to Hellfire, my patch file includes the ability to undo a few of Marsh's changes that he did offered notes for. Find and uncomment these inside the dat file: Enable Ending Movie (Marsh disabled the cinematic when you slay Diablo) Disable Friendly Fire Change (can hit teammates with projectiles again while Player Friendly) Disable Warlord of Blood Quest in Multiplayer ........>>> Extra Features The patch file contains some extra features not enabled by default, including the hidden Cow Quest, available for your enjoyment. Simply find the following code changes in the file and enable them as just described above: Enable Cow Quest: This secret Hellfire quest replaces Lester the Farmer with a rather peculiar character... Enable Singleplayer Dialogue in Multiplayer: "The sanctity of this place has been fouled" etc. Warrior/Barbarian uses humorous inventory full speeches: "I gotta get rid of some of this crap!" etc. Hide Wounded Townsman: Tired of seeing him every game? Tuck him behind right side of cathedral above Crypt entrance! Live off the Land mode: All NPCs leave town but Farnham; Lazarus Portal (SP) & Hive always open since Cain & Lester absent ======================================================================== SECTION 5: KNOWN REMAINING ISSUES ======================================================================== ^ Return to Index ........>>> To Fix Things I want to fix but haven't gotten to yet. They're either unimportant, beyond my abilities at this time, or would cause more problems. Single & Multiplayer Games: Crash on Level Exit: Sometimes when leaving a floor with active monsters (Fault address: 00479DCB) Defense Spells: Casting Mana Shield & Reflect count against the active spell limit (around 128 casts prevent further spellcasts) Attribute Points: Clicking to spend too fast can waste a point if you hit the Base Maximum Ranged Monster % To Hit Overflow: Over 255% To Hit will roll over to 0% (affects nothing in Hellfire v1.01; low fix priority) Lich Spell: The impact graphic is not properly centered; it is too far up and to the right Broken Tree: There is a tree graphic across the river next to the Hive entrance that was only partially erased when Hive was placed Sharp: Incorrectly considered Cursed; Griswold won't sell it (this bug has been around since Diablo's release) Champion's: Rarer than King's suffix despite being inferior (issue created when Blizzard patched King's qlvl to make it easier to find) Gillian: The 'Gossip' conversation option is bugged; causes her to speak other character's lines (PlugUlmo's Gillian Stash feature caused this) Diablo: May be unusually difficult to slay on high difficulties, since I fixed his Chance to Hit bug Fire + Lightning Melee: A Bard using both of these effects cancels them out; attacks instead cast Lightning at the top corner of the level (0,0) Belt + Spellbook: With the spellbook open, slots 5-8 in the Belt cannot be used (at least with the mouse) Multiplayer Games Only: Hive Desync: Entering the Hive before any other level can cause problems in the Hive levels in multiplayer games Multiplayer Characters: Saved in your Windows folder (I know how to change this now, but it would inconvenience most players) Advocates: In MP games, Stone Cursing Advocates can render them invinsible and/or invincible to other players until it wears off (this is a sync issue) Resurrect: Will not work on dead players with more than 0 health (teammate healing shrines and items that reduce life can cause this) Shared Experience: This still doesn't work quite the way I want, but the 'ideal' behavior eludes my implementation yet Oil of Skill: Not synchronized in MP; using it to equip an item you couldn't wear can look weird to others (e.g. not wearing armor, fists shoot arrows) Divine Shrine: If anyone but the host uses this, it will not properly generate the 2 potions Map: Other players are still drawn in their last location after they are disconnected from the game ........>>> Not To Fix Some things should not be messed with. Quick/Fast/Faster/Fastest Attack: Should be 1/2/3/4 frames faster (will remain at 0/1/2/2; otherwise Speed/Haste are way too powerful) ======================================================================== SECTION 6: TROUBLESHOOTING ======================================================================== ^ Return to Index ........>>> Problems with Hellfire Some tips for dealing with the most common issues, and where to get more help if you need. Hellfire has distorted colors all over the menu and in the game, help! Newer versions of Windows can break the display of 256-color palette games like Diablo. I have included registry files you can use to try to fix this in the download; if you're uncertain whether your Windows is a 32-bit or 64-bit version, try the 64-bit fix first, then the 32 if that doesn't fix it. Running the wrong one hurts nothing. If your colors are still bad, try the DirectDraw wrapper linked in the next problem below, or websearch for aqrit's DDWrapper. Hellfire crashes before reaching or in the main menu This appears to be a problem with either newer versions of Windows, newer video drivers, or both. I have had success solving this problem by using this DirectDraw update for Diablo & Hellfire, which seems to fix this and also let the game run in a Window if you prefer: LINK: http://khanduras.net/2014/04/repo-strangebytes-ddraw-dll-win7vista-patch/ By default the game will run in a window now, but you can change this by pressing the tilde key (~) in town and setting it to fullscreen. Enjoy! Hellfire Patch v1.01 is 'not a valid Windows application' The patch program is very old, and won't run on newer versions of Windows. Fortunately Marsh's Mod has v1.01 built in, so you can skip this part completely. If you still want a working v1.01 patch, you can grab a manual version of it here: LINK: http://khanduras.net/repo/hellfire-1-00-to-1-01-zip/ I can't see multiplayer games through the new UDP mode It seems unreliable about seeing games to connect to unless they were recently hosted. In my experience IPXWrapper works better. It lets you use the IPX connection method on newer systems and, all else properly configured, always shows games to join. LINK: http://www.solemnwarning.net/ipxwrapper/ All players that wish to play through IPX this way must use IPXWrapper; native IPX (such as Windows XP) is not compatible. Uh... which one's the Any Key? If you still have problems running Hellfire, check out a comprehensive troubleshooting guide assembled by Slayer_X64 over here: LINK: http://www.lurkerlounge.com/forums/thread-13200.html ........>>> Problems with loader.exe or this patch Having problems with v1.02.A5? Hellfire still reports version 1.02, and not 1.02.A5 1.) Please ensure you're starting Hellfire by running loader.exe, and not running Hellfire.exe itself 2.) Check that loader.exe is being run as an Administrator, or Windows may block its attempt to memory patch Hellfire 3.) Check that 'cowqueston.dat' is located in the same directory as loader.exe 4.) Check that PlugUlmo.ini file has a line near the top that reads: dat_file=cowqueston.dat 5.) If Hellfire is installed in the Program Files directory, as a last resort you could try to install/move it elsewhere If you still can't get the right version number to appear, feel free to ask for help in this thread (currently the 'home' of this project): LINK: http://www.lurkerlounge.com/forums/thread-15760.html ........>>> Notes if you're upgrading from Marsh's Mod Skip this section if you're installing both mods together, or have already been using mine. Bug fixes and alterations to unique items may not take proper effect on items from saved games or at Gillian's Stash. To fix bugged items items, either: a) Start a new game with the item(s) in your character's inventory b) Drop them on the ground, go to a different level, and return to pick them up To update uniques that have changed, only method a (New Game) may work. When successful, the game will recalculate the item stats correctly. ======================================================================== SECTION 7: MISCELLANY ======================================================================== ^ Return to Index ........>>> Which special item effects stack? It isn't obvious if some affects granted by items can be stacked or not since no information about them is shown on your character screen. Here's the scoop. Non-Cumulative Bonuses ........No matter how many sources of these effects you have, only one of each takes effect (when the strength of the effect varies, the best value is used). ........Affects: Attack Speed ................... Block Speed ................... Hit Recovery Speed ................... Hit Steals % Life/Mana ................... Devastation (5% chance of 300% damage) ................... Doppelganger (hit/damage bonus does stack, just not the clone chance) ................... Jester's (Random 0-600% damage) ................... of Peril (2x damage to monster, 1x to you) ................... of Thieves (Reduced ranged damage 50%) ................... of Thorns (Attacker takes 1-3 damage) ................... +200% Damage vs Demons ................... +AC vs Undead/Demons ................... Knockback ................... Causes continuous damage when worn Cumulative Bonuses ........Multiple sources of these effects do add up and work together. ........Affects: Penetrate Target's Armor ................... +/- Damage From Enemies ................... +/- Spell Levels ................... +/- % Light Radius ................... Fire Damage ................... Lightning Damage ........>>> What about the Quests? You may be wondering why the Warlord of Blood is the only quest that found its way to multiplayer, and rightly so. The sad truth is the Warlord of Blood is the ONLY quest that can be enabled without causing serious problems. All other quests are afflicted with an issue where rejoining a multiplayer game will crash or freeze Hellfire. This issue may be far beyond my ability to fix, but worse, each quest has a handful of issues of its own. For example, quests that lead to new levels appear to crash the game if entered (the passages don't even spawn). The best I may be able to do some day is make Gharbad, Zhar etc. appear as unique bosses to fight. I will not enable these quests while they easily crash the game. That doesn't meet my quality standards. :) ........>>> Things I goofed up in earlier versions These are already fixed, but listed for your amusement! v1.02.A3: Bad item durability in Multiplayer trades ........Items exchanged between players could report incorrect min/max durability, lower, higher, even 0/0 v1.02.A2: Spellcasting failure ........When your Vitality was modified, it was possible all your spells would stop working until you left the floor v1.02.A2: Unintended Life/Mana gain ........It was possible for your Max Life/Max Mana to be permanently increased incorrectly by shrines etc. if related attributes were maxed v1.02.A1-A3: Search Duration ........My first attempt to set the Search duration to match that of Jarulf's Guide got Level 15 duration about right, but made low levels last way too long v1.02.A1: Lester wouldn't give Rune Bombs in Singleplayer ........Disabling Cain's speeches (featured in HF: Fixed's MP) caused quest progression issues in SP; I created this bug trying to fix those ........>>> Notes for other Modders Skip this section unless you intend to use my work in your own Hellfire mod. - You have my explicit permission to do whatever you want with this work, except claim it as your own. If you wish to credit the work for this project, it should go to Zamal & Zenda, Lemming, Marsh, and myself. - If you somehow gave melee monsters unthinkably low (< 10%) or high (> 510%) Chance To Hit on Nightmare or Hell difficulties, the new hit code will interpret these values incorrectly in combat calculations, causing another overflow bug. - EXE addresses for *most* changes that fit within the original game code are noted in the modification file, for your convenience. -Some unused animations from Diablo that did not loop correctly or could crash the game have been fixed. Consider perusing the contents of hfop1.mpq for these and other animation fixes for inclusion in your own mod. ........>>> Credits Attributions... ............Marsh's Unofficial Hellfire 1.02: The mod which this project extends (and presently requires) ............Hellfire: Fixed: Some fixes are copied or adapted from Hellfire: Fixed ............The Dark: Some fixes are copied or adapted from The Dark and its mod notes ............qualakon: Contributed the edited Town files to move Adria's shack ............Belix: I authored the rest of the fixes and modifications contained herein Obvious thanks to... ............Blizzard (North): For creating Diablo, still an amazing PC game after 17+ years ............Max Schaefer: I met him once, and I suspect he was a key factor of Diablo's success :) ............Synergistic Software: For creating Hellfire, an underrated expansion pack that brought us more of a great game ............Bolty: For establishing the Lurker Lounge, and maintaining it through these many years Special thanks to... ............Jarulf: For Jarulf's Guide, and the insane amount of time and effort he spent creating such an indispensable reference ............Selby: For creating invaluable lists of locations for data inside Hellfire ............Evergreen, Crystalion, Dr. Zed, Jarulf & Kp629: For helping others and sharing information on editing Diablo & Hellfire ............Zamal & Zenda: For creating The Dark, and publishing tons of information on Hellfire modding, paving the way for others to follow ............LemmingOfGlory: For creating Hellfire: Fixed, which inspired Marsh's Mod, and also used for awhile myself ............Marsh: For creating Marsh's Mod, which inspired this project ............qualakon: For mirroring both this project and its requirement (Marsh's Mod) over at Khanduras.net ^ Return to Index Download history, for anyone curious: v1.02.A1, 12-16-2013, Downloads: 21 v1.02.A2, 02-17-2014, Downloads: 6 v1.02.A3, 02-24-2014, Downloads: 47 v1.02.A4, 05-13-2014, Downloads: 164