Skip to content

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
Contributor

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
Contributor

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