Skip to content

Conversation

@TenebrisWoW
Copy link

By scaling agility, the corresponding classes get such a high dodge rating that they are hardly hit and tank-classes with strength that are fully skilled and equipped easily beat. In addition, they do immensely more damage than these classes. It would be optimal to scale attack power instead of agility.

It is already great that you can change the overall scaling for the individual classes. Scaling the individual values would be natural even better and a way to influence this problem.

gtao725 and others added 30 commits April 12, 2019 17:01
`/home/travis/build/milestorme/azerothcore-wotlk/modules/mod-solocraft/src/Solocraft.cpp:63:17: fatal error: use of undeclared identifier 'ChatHandler'
                ChatHandler(player->GetSession()).SendSysMessage("This server is running the |cff4CFF00SoloCraft |rmodule.");
                ^
1 error generated.`
update no need to announce number of players for solo dungeons and raids
Travis now compiles

Fixed some errors
- Before this commit: Login while being in a dungeon will not
rebuff character.
- Fixes #9
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.

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 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.
Removed: unused variable maxlevel at line 508
Fix(cpp):  Login after logout in dungeon will rebuff character
Removed numInGroup unused variable line 1144 and 1176
Large nested If groups removed and converted into using Hashmaps
acidmanifesto and others added 30 commits February 5, 2022 16:48
New Feature: XP Balancing
Fix: Closes Issue #24
feat(CORE): XP Balancing and Minor Fix
from tinyint to bigint ( every Character with GUID <255 can scale endless)
(bugfix) CalculateDifficulty should return a `float`, not an `int`
* feat. Update Module and fix. Misc

* fatal error: unused parameter 'map'
* Allow config to be reloaded without server restart.

* comment unused variables

---------

Co-authored-by: Walter Pagani <paganiwalter@gmail.com>
Co-authored-by: Winfidonarleyan <dowlandtop@yandex.com>
## Changes Proposed
This PR addresses an issue in the SoloCraft module where XP modification was being applied to all players, regardless of whether they were in an instance or not. The changes include:

1. Implemented a system to track whether players are in instances or not.
2. Modified the XP calculation to only apply when players are in instances (dungeons or raids).
3. Fixed build errors related to the use of ObjectGuid.

## Implementation Details
- Added a `std::map<ObjectGuid, bool>` to track players' instance status.
- Implemented `OnMapChanged` to update players' instance status.
- Modified `OnGiveXP` to check instance status before applying XP modifications.
- Updated `OnLogout` to clean up instance tracking data.

## How to Test
1. Enable the SoloCraft module.
2. Enter a dungeon or raid and kill some mobs. Verify that XP is modified as expected.
3. Exit the instance and kill mobs in the open world. Verify that XP is not modified.
4. Re-enter an instance and confirm that XP modification resumes.

## Issues Addressed
This PR fixes the issue where XP modification was being applied globally, even outside of instances.
#50)

* Exclude map/instance from Solocraft scaling with conf

* include cstdint
BWL instance level and player count were swapped causing the module to incorrectly apply zero scaling to level 60 characters.
fixed function names
fix codestyle, sql and add enabled hook lists for performance improvement
* Update Solocraft.cpp

* Update Solocraft.conf.dist
- Fixes module output text formatting due to core change.

<!-- If your fix has a relating issue, link it below -->
- Closes 48

<!-- If you can, include a source that can strengthen your claim -->
#48 (comment)

<!-- Does it build without errors? Did you test in-game? What did you test? On which OS did you test? Describe any other tests performed -->
- Recompiled
- Tested various dungeons at, below, and above my characters level
- Noted proper output

<!-- Describe in a detailed step-by-step order how to test the changes -->

1.create a level 40 character
2.visit low, mid and high level dungeons
3.verify proper output
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.