Giter Club home page Giter Club logo

statbooster's Introduction

Azeroth Core Stat Booster

Build Status

Master Dev
Build Status Build Status

⚠️ !! This module is not ready yet, however it is usable in its current state !! ⚠️

About

This is a module for Azeroth Core inspired by the RandomEnchants module. The module will randomly enchant items with stats that compliment the item. I am developing this module in an attempt to take it in a slightly different direction and to fix bugs that are present in the original module.

This is my first C++ project so any tips are appreciated and welcome! :)

Features

The features I have planned for this module that differ from the original are:

  • Stat Analysis - Items are analyzed and enchanted based on stats already on the item. (If there are no stats then it is analyzed based off class & subclass types.)
  • Expandable Enchant Pool - You can add enchant ids to your database table to expand your pool.
  • Item Level Based - You can assign item level ranges to enchants in the database table for each entry preventing high level enchants on low level items.

Install

  1. Clone this repository into your ./azerothcore-wotlk/modules folder. (Make sure to clone it into a subdirectory called StatBooster)
  2. Place statbooster.conf.dist into your server ./configs/modules directory.

Visit the Wiki if you require help with setting up enchants in the database.

Example Items

Item01 Item02 Item03

Contact

If you would like to help out with the mod or just need help there is a Discord Server you can join.

License

This module uses the MIT license.

Credits

  • AzerothCore community for their help with implementing my hooks and creating a great core.
  • 3ndos for inspiring this module (and whoever made the original LUA script)!

statbooster's People

Contributors

anchydev avatar jshplayer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

statbooster's Issues

Code Cleanup

Lots of code could probably be cleaned up. Mainly in the StatBoostMgr.cpp file.

[Feature Requests] 1) Rarity tweaks. 2) Decimal place. 3) Multiple enchants.

Loving this module so far and very thankful that you made it. After 48 hours of my players enjoying it here are their/my enhancement requests.

  1. Allow us to adjust the enchant chance on rarity could be cool and a better config option than the current implementation which is "what is the minimum rarity to begin enchanting" this way you could set for example.

White.Quest.Reward = 5%

Grey.Loot = 10%

Green.Crafted = 25%

etc.

  1. Decimal places.

If you put 2.5% the config errors out on worldserver boot and sets it to 100%.

Allowing us to have one decimal place would be nice.

  1. Multiple cascading enchantments.

The other random enchants is beautiful because you can have options like;

First.Enchant: 50%
Second.Enchant: 10%
Third.Enchant: 10%

So that 50% of items have one enchant, but 5% have two enchants, but 0.5% have three enchants. It's really cool how this changes everything.

One enchant is enough to shake gearing up a bit, but multiple enchants completely rewrites the game.

Some Enchants broke interface addons which show buffs durations.

After some testing and playing with this module i got weird situations with some interface addons.I am using NUI+ addon for wow https://www.curseforge.com/wow/addons/nui
After some time when i got item and equipeed it(example shield with enchant +5 health my interface start bugging and fps start slowdown because of errors.Buggrabber saved situation but it start spamming evry 30 sec to chat about bugs and NUi addon stopped showing buffs durations.I even tried few other addons which work with showing buffs, but they also was broken(example elks buffs https://www.curseforge.com/wow/addons/elkbuffbars )

[Fix Included] Populated Enchantment DB

The file contains like 350 or so enchantments with ilvl min and max carefully calculated into around 8 tiers.

Enchantments will appear when the ilvl begins and disappear in 4ish tiers from then. For example +3 spirit can appear on both lvl 5 greens but also lvl 60 epics but will never appear on TBC gear.

Tier 1: Levelling enchantments. (Under 50)
Tier 2: Classic blues. (50+)
Tier 3: Classic epics. (65+)
Tier 4: TBC dungeon gear. (90+)
Tier 5: TBC heroic/raid gear. (125+)
Tier 6: Wotlk dungeon gear. (170+)
Tier 7: Wotlk purples (200+)
Tier 8: Wotlk real gear (223+)

All that is missing are the

  • element spell damages (e.g +8 fire damage)

  • element resistances (e.g 10 fire resist)

  • weapon damage (e.g +5 damage to beasts)

  • resilience/mp5/hp5

statbooster template v3 enhanced.txt

Question about stats.

Does this module can use any stats id from Randomproperty.dbc or also Randomsuffix.dbc?

I ask this because theiy differs and stats from randomsuffix.dbc can be scale with item level if two different items will have same suffix but with different item level those stats will be differ.

Add subclass mask column

It would be a good idea to implement the subclass mask column into the db and be handled in the module.
Now that the class mask system is in place it should be easy to implement without an overhaul.

This change helps with assigning enchants to certain subclass, avoiding enchants like Fiery on a bow and scopes on general weapons like daggers/staves/etc.

Add more fields for the scoring table.

It might be a good idea to add extra scoring for the scoring field so the scores can be very specific.

For example, a cloth helmet with intellect would be scored as SPELL but a plate helmet with intellect would be scored also with SPELL where it should be HYBRID, adding extra fields would allow the user to score them differently.

Optimize the analyze function.

The stat analysis function needs to be optimized and smarter. There are still some cases where items are incorrectly assigned stats that do not match the item.

Add mask column for weapon & armor for enchants

I think it would be a good idea to be able to define whether or not an enchant can only be rolled on weapon or armor or both.
This would prevent things like Fiery Enchant being rolled on armor if it was added to the enchant table.

Memory Leaks

I suspect there may be some memory leaks somewhere and would appreciate help finding them.

Hotlinked items do not show as enchanted.

On sheet:
image

When linked to chat:
image

It would be nice if enchants were visible so that they can be seen via linking.

E.g. uses:

"WTS: [link]"

or

"/w hey friend look at [link] how cool is this"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.