azerothcore / mod-solocraft

Solocraft module for AzerothCore
GNU General Public License v3.0
47 stars 37 forks source link

Feature and Admin Upgrade/Overhaul #13

Closed LannyE closed 3 years ago

LannyE commented 3 years ago

This is a large overhaul of the Solocraft module.

Features and Admin Controls added:

-Groups now work. Difficulty is now distributed across group size -Debuff added for groups trying to exceed the difficulty modifier -Debuff can be enabled and disabled -Spellpower is now scaled based on character level and modifier -Stat modifier can now be changed in config to reel in melee damage -Individual modification of each dungeon/raid difficulty -Max level cap to keep high level characters from getting buffed -Max level cap modifiable in config for each dungeon/raid -Dungeon/Raid types still used as a catch all if not found as an individual instance in the config

A database table is included to manage groups and the difficulty modifier that each group member has applied to them. It also deals with server restarts and players having to log out and log back in to try to correct stats. The table is required.

Updated README.md file with current instructions and config file name fix.

Fixes #9 closes #3

Testing:

Debuff: -Character in dungeon with full difficulty modifier applied while not in a group. -Invite another character to the group. -Have new group member enter same dungeon. -Debuff will be applied because of the group member already in the dungeon has the full difficulty modifier applied. -Have both/all characters leave dungeon and re-enter it to have the modifier balanced across the current members of the group.

-Max Level: -Solocraft.Max.Level.Diff and the Dungeon individual level are added together to declare the max level a character can be to get the difficulty modifier applied for the dungeon. -Use a character whose level is higher than the max level and enter dungeon. -Character should not receive the difficulty modifier buff for the dungeon.

-Spellpower and Stats modifier adjustments: -Change modifier in the config. -Enter dungeon with character and notice stats and/or spellpower numbers changed from previous entrance into the dungeon.

Helias commented 3 years ago

Now this has conflicts with the other PR that I just merged :sweat_smile: Solve conflicts please

LannyE commented 3 years ago

This is an adventure. You can definitely tell I am new to this. Hopefully they have been resolved correctly.

LannyE commented 3 years ago

Thanks for showing me the hashmap option. That greatly reduced the number of lines of code. I made the changes and did some testing. It seems to be working fine.

Helias commented 3 years ago

It is much better, doesn't it? :grin: Good job!

Helias commented 3 years ago

I improved the comments next-to the dungeons. Anyways, a hints for the future, convert tabs into spaces :wink:

I will wait the build and merge it if the bild succeed.

LannyE commented 3 years ago

The changes looks good. Thank you for all your help. I appreciate your patience while I navigate this learning curve. I haven't programmed in C++ for about 20+ years and never used Git (which is obvious). On a side note: I also have a bunch of database changes for the lunar event and a new module I made based off a script I found. Once I get some free time I will take a shot at uploading those.

LannyE commented 3 years ago

Also this push should fix issue #3. I used the testing done in that issue to form the logic and config settings.

Helias commented 3 years ago

About #3 I edited the description of the PR so when we merge the PR the issue will be closed, for the module and lunar make a PR and create a repo with your module ;-)