Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Do not apply Normal scaling if Mythic is enabled #59

Merged
merged 1 commit into from
Jan 10, 2025

Conversation

sogladev
Copy link
Member

@sogladev sogladev commented Jan 9, 2025

Changes

previously:
Normal mode: Normal mode scaling
Mythic mode: Normal mode scaling * Mythic mode scaling

This changes:
Normal mode: Normal mode scaling
Mythic mode: Mythic mode scaling

This should better reflect values table's data in zone_difficulty_info.

MapID HealingNerfValue AbsorbNerfValue MeleeDmgBuffValue SpellDmgBuffValue Enabled Comment
580 0.75 0.75 1.2 1.15 1 Normal
580 0.75 0.75 1.34 1.32 64 Mythic

Issues

Tested ingame:

scaling values
ZA normal healing -50%
ZA mythic healing -90%
DELETE FROM `acore_world.zone_difficulty_info` WHERE `MapID` = 568;
INSERT INTO acore_world.zone_difficulty_info
(MapID, PhaseMask, HealingNerfValue, AbsorbNerfValue, MeleeDmgBuffValue, SpellDmgBuffValue, Enabled, Comment)
VALUES(568, 0, 0.5, 0.75, 1.2, 1.15, 1, 'Normal ZA Healing 75% / Absorb 75% Nerf / 20% physical & 15% spell damage buff');
INSERT INTO acore_world.zone_difficulty_info
(MapID, PhaseMask, HealingNerfValue, AbsorbNerfValue, MeleeDmgBuffValue, SpellDmgBuffValue, Enabled, Comment)
VALUES(568, 0, 0.1, 0.75, 1.34, 1.32, 64, 'Mythic ZA Healing 75% / Absorb 75% Nerf / 34% physical & 32% spell damage buff');

outside ZA 3.5k
inside ZA (normal) 1.7k (-50%)
apply mythic 0.35k (-90%)

previously, normal mode and mythic scaling is applied in Mythic Mode.
This applies only Mythic scaling to Mythic, Normal scaling to Normal.
@sogladev sogladev changed the title fix: Only apply Normal scaling if Mythic is disabled fix: Do not apply Normal scaling if Mythic is enabled Jan 9, 2025
@Nyeriah Nyeriah merged commit bceea32 into azerothcore:master Jan 10, 2025
1 check failed
@55Honey
Copy link
Member

55Honey commented Jan 10, 2025

What happens with an enabled value of 65?

@sogladev
Copy link
Member Author

sogladev commented Jan 10, 2025

What happens with an enabled value of 65?

Values 1,64,65 only matter when loading the scaling values from the db. If you set an entry of 65 if loads the same scaling values to Normal and for Mythic

if (sZoneDifficulty->HasNormalMode(mode))

update:

bool HasNormalMode(int8 mode) { return (mode & MODE_NORMAL) == MODE_NORMAL; }

@55Honey
Copy link
Member

55Honey commented Jan 10, 2025

I don't understand what's been wrong with if (sZoneDifficulty->HasNormalMode(mode)) but i am glad you fixed it.

@sogladev
Copy link
Member Author

I don't understand what's been wrong with if (sZoneDifficulty->HasNormalMode(mode)) but i am glad you fixed it.

sZoneDifficulty->HasNormalMode(mode) only checks if the map has Normal mode scaling data. This value is set during loading

data.Enabled = data.Enabled | mode;

For ZA, there are DB entries for 1 (normal) and 64 (mythic), resulting in a Enabled 65. The issue is HasNormalMode does not check whether normal mode or mythic mode is active. That's done with sZoneDifficulty->MythicmodeInstanceData[instanceid] This is checked when applying Mythic scaling, but the opposite was missing for Normal scaling

@sogladev sogladev deleted the fix-Mythic-scaling branch January 10, 2025 20:57
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.

Mythic mode applies 25% heal reduction on top of the 25% heal reduction
3 participants