Skip to content

lohvht/mod-random-suffix

 
 

Repository files navigation

logo AzerothCore

Mod Random Suffix

Make sure to support the main project: https://github.com/azerothcore/azerothcore-wotlk/

This module adds in more random custom suffixes and includes a system where all items can roll these new custom random suffixes. This module began as a mere fork of the original mod-random-enchants with more hardcoded enchants but grew to one where random custom suffixes with actual stat calculations being shown on the clientside.

Below are some pictures of what this module does

Item with original stats Item in-game w/ a rolled suffix

Suffix correctly rendering in chat

Meaningful stat comparisons (i.e. showing correct diffs when shift clicking an item)

This module works by tapping on several patches for both the server-side (Azerothcore) and client-side (WoW game client) to get ItemRandomSuffix.dbc to show meaningful stats shown when looking at items items in-game (i.e. proper stat calculation via allocation points), as well as actual suffix names on items.

Important Note

This module also makes use of client patching and modification. It is recommended to use a clean unmodified enUS WoW client. A patcher for the WoW client is provided under the patcher-WoWClient folder taken from this forum link which will remove signature checks, allowing for us to include custom suffixes with names and correct stat calculations on the WoW client side. Do keep a backup of the unmodified client just in case.

Installation

  1. Apply the acore-modrandomsuffix.patch to your azerothcore source code. There are multiple ways to achieve this. You can do it using git via this command:
git apply --ignore-space-change --ignore-whitespace modules/mod-random-suffix/acore-modrandomsuffix.patch
  1. Compile, install and run Azerothcore. No replacement of DBC files on the server side should be required as the azerothcore DB importer should automagically pick up the custom suffixes to be imported via the data/sql/db-world folder.
  2. Copy the whole patch-Z.MPQ folder into your WoW client Data folder.
  3. Remove the signature checks via running the patcher inside patcher-WoWClient. Copy the exe file into the root of your WoW client folder (The folder with WoW.exe). Make a backup of WoW.exe just in case, doublecheck the checksum of your WoW.exe via this link https://github.com/anzz1/wow-client-checksums.

Uninstallation

  1. (Optional) If you want to be safe, ensure that items that have custom random suffixes are all removed. I have not tested out uninstallation but the core should merely just flag out or straight up not process the random suffix / enchanted slots by default.
  2. Remove the server-side patch on azerothcore source code. There are multiple ways to achieve this, you can probably do it using git via this command:
git apply -R modules/mod-random-suffix/acore-modrandomsuffix.patch
  1. Re-run CMake, compile and re-install Azerothcore
  2. Remove the whole patch-Z.MPQ folder from your WoW Data folder.
  3. (Optional) Move the clean copy of your WoW.exe that you've backed up to its original name.

Advanced usage

This following module has another component which is a golang codebase that generates the SQL and DBC files required for this module to function.

In the root directory of this module, the sample config file generatesuffixes.conf.yaml is used to pre-generate the following files in these directories:

  • data/sql/db-world/mod_acore_random_suffix.sql
  • patch-Z.MPQ/DBFilesClient/ItemRandomSuffix.dbc
  • patch-Z.MPQ/DBFilesClient/SpellItemEnchantment.dbc

The pre-generated files will suffice in most cases, but users may change the names / allocation point tier thresholds and other configuration via this file, and then run the following command (Assuming you have a go installed)

go run ./golang/cmd/generatesuffixes/main.go

Ideally this should be done on a CLEAN azerothcore server and not applied once again after that. I make no assumptions of the possibility that nothing will go wrong if we try to change the generated suffixes partway through a server's lifetime.

Credits

License

About

Random Suffixes for any Looted, Created or Quest Reward items

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 60.6%
  • Go 39.0%
  • Shell 0.4%