NHL'94: Fight Edition
"It's the same old NHL94, now with fighting!"
After working on this since mid-March of 2025, I am proud to present NHL94: Fight Edition. The ROM in this post is just that: the original NHL'94 game, with fighting added in. No changes were made to the core game other than some adjustments to a few players' Fight attribute to allow for more bruisers (more on this in a moment), addition of fighting attribute display, new title screen, and changes to the title screen credits.
Fighting logic is almost the same as NHLPA93. I made some slight changes to it, which I will go over. For a more detailed post about how fighting works and the differences between NHLPA93 and the NHL94 patch, you can check out this post -
Fight Options:
With the addition of @McMarkis' Menu Patch, there are 3 choices for fighting on the Main Menu. These can be selected before starting the game:
Off - Fighting is disabled. The game will play just like old school NHL'94.
On - Fighting is enabled. "Bruisers" are the only ones who can start a fight, though they can fight most players in the game (more in a moment). In most cases, you will only get into a fight if you are looking for one.
On - Arcade Mode - Fighting is enabled, but more players can start a fight. You'll usually average around 2 fights a game in this mode, unless you are looking for blood. Players are more likely to get injured for the game if they lose a fight. Fun mode to play against friends with.
The chances to get into a fight depend on the number of Total Checks in the game (you can keep tabs on this by looking at the Game Stats screen while playing and adding up the Checks for each team). In most cases, in a 5 minute period game, the Total Checks needs to be around 30 (10 min and longer periods, the number is 40). Checks after the whistle do count towards this total! This Total Checks gets reset during a fight, so you won't get fights back to back. NOTE: Arcade Mode cuts this Total Checks limit in half!
"Bruisers" are players who have a 10 or higher Fight attribute rating. These are displayed on the attribute display screens as a Fight attribute of 71 or above. If you play with line changes, I have put at least 1 of these players for each team on their Chk line. There are over 60 "Bruisers" in the game, at least 1 on each team.
In Arcade mode, players who can start a fight only need a Fight attribute of 42 or above. Many usual starters in the game fall in this range.
In order to "participate" in a fight, the other player involved in the fight needs a Fight attribute of 14 or above.
Attribute Display:
If you go to the "Edit Lines" screen, or the "Team Roster" screen in the in-game menu, you can view the Fight attributes of your players. This attribute is last on the list, after Checking:
As an example, who can fight on this list?
Paul Ranheim - He can participate in a fight, but can't start one (14 rating)
Brent Ashton - Can participate in a fight, but can only start one if playing in Arcade Mode (42 rating)
Chris Lindberg - He can participate in a fight, but can't start one (28 rating)
Craig Berube - "Bruiser", he can start a fight in either mode (85 rating)
Theo Fleury - Can participate in a fight, but can only start one if playing in Arcade Mode (42 rating)
Sergei Makarov - He will always back down from a fight, in both modes (0 rating)
Fight:
Inputs:
A - Grab
B - Body Blow
C - Head Shot
Body blow and Head shot each do 1 point of damage. The Fight attribute of the player and therefore player's current energy level determine their hit points and the power of the hit (how far the opposing player moves from the hit).
After the fight is over, both players head to the penalty box to serve a 5 minute major. Occasionally, the team with the player that started the fight will receive a "Fight Instigator" penalty of 2 minutes. A player currently on the ice will serve this penalty in the box and the other team will get a Power Play.
Occasionally, a player will be injured for the game from a fight (bonus head bleeding). This is based on the Chk rating of the player who knocked out the other player, and some RNG. Look at Probert kick some ass here (has the highest Fight in the game):
When the 5 min major is over, the players will stay in the box until the next whistle.
Other Stuff:
One of the important goals of this patch was to make it compatible with ANY NHL94 ROM, including ROM hacks. I was able to add code to expand the ROM to 3MB and beyond by modifying the SRAM code. This allows the patch to be compatible with 32-team ROM hacks (space limitation in the 2MB ROM size). It is also compatible with 30-team ROM hacks. I designed a custom version of the patch that will pull the assets needed from the existing ROM hack and apply the patch, thus keeping any palette swaps and other graphical hacks intact. Also, with the extra space in the ROM now, this opens up the path to other types of hacks and adding sprite and frame animations!
The custom ROM author will need to make the necessary changes to the H/F values in order for players to be able to fight. That is up to them on making the changes needed to their rosters.
Thanks:
I would like to say thank you to everyone who helped in making this possible. @McMarkis, @bcrt2000 and I spent a bunch of time reverse engineering the sprite format. Also @McMarkis provided the menu item hack.
Plenty of testers helped to iron things out:
@swos, @slapshot67, @77, @Len the Lengend, @Drezz, @jer_33, @halifax, @Mr. T, @Sean, Michael, and others.
Everyone here has helped make something deemed impossible, possible.
My GitHub link with all the code and the custom ROM patch are here - https://github.com/Chaos81/nhl94-patches
Please give me feedback on the ROM, I expect to make some tweaks here and there, and to fix any possible bugs we did not come across.
Enjoy the ROM!
Donations are appreciated!! Here is my link - http://buymeacoffee.com/chaosnhl94
Current Issues/Bugs:
- When opening the ROM in NOSE, you will encounter about 8 error messages. These are related to the menu hack, and you won't be able to make changes to the default menu items. Please make the menu changes in NOSE before applying the hack! After clearing the messages, you will be able to edit the ROM any other way like usual.
- In the custom ROM hack, if you need to change the text of the menu (like the period times), you will need to do this in one of the .ASM files in the menu hack folders. Once you clone my GitHub, navigate to:
94_custom_patch/scripts/menu_patch/scripts/Menu/submenuitems.asm
You can change the text in that file as needed, then apply the hack to your custom ROM.
My goal is to get these fixed in the future.
Current Version: 1.01 (Jan. 2, 2026)
Updates:
- Fixed bug where the game would freeze when changing shootout lineup in Shootout Mode.
nhl94_fight_v1.01.bin