forked from wowsims/cata
-
Notifications
You must be signed in to change notification settings - Fork 37
Frost Mage Spec Fixes for MOP #96
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
Merged
1337LutZ
merged 67 commits into
wowsims:feature/mage
from
BadJukeBox:feature/frost-mage
Jun 10, 2025
Merged
Changes from 2 commits
Commits
Show all changes
67 commits
Select commit
Hold shift + click to select a range
b9588dd
Initial Implementation of Fingers of Frost and Brain Freeze
BadJukeBox 59916e1
WIP commit Im going to break out the T14 into a separate MR
BadJukeBox 2d50ab4
Attempting a pass at Implementing the T14 Tier set bonuses as part of…
BadJukeBox 5fa24da
Actually adding cata Tier back in to keep it as additive as possible …
BadJukeBox c2cfa5d
Updating Pyroblast to include Dot, AM to be the Tick, fixing float va…
BadJukeBox 4f8a3ce
Merge branch 'feature/mage-t14-set-bonus' into feature/frost-mage
BadJukeBox 36c0e34
FrostFire Bolt Changes, including Glyph cast speed reduction.
BadJukeBox 70b5d5e
Frostbolt changes, fixing some Frostfire Bolt Changes, dragging out v…
BadJukeBox 2c0f53a
Frozen Orb Implementation, based on flame orb but slightly different.
BadJukeBox 0483072
Ice Lance Update, small frostbolt comment change
BadJukeBox f933b2c
Cone of Cold and Frost Nova
BadJukeBox 0971a67
Living bomb update for MOP
BadJukeBox feb898f
A shoddy attempt at Frost Bomb
BadJukeBox 01f2d85
Icy Veins
BadJukeBox 76c73fe
Armors initial pass, I'm fairly certain there are some incorrect bits.
BadJukeBox 1431cbc
small frozen Orb change, and fingers of frost update, still unsure if…
BadJukeBox c2382ef
brain freeze, but i'm not sure how the sim buff gets deactivated.
BadJukeBox f0eadb1
Moving glyph for frostfire bolt out to glyphs file, and removing the …
BadJukeBox 7af986e
removing _ from files in progress, type in frost.
BadJukeBox e9b2978
cone of cold correctly should be AOE, T14 spell mod chaining
BadJukeBox 91656fb
brain freeze helper use
BadJukeBox 30be5f2
Removed Cata Tier set references from arcane talents
BadJukeBox 096b3f7
Fixing up some things from review!
BadJukeBox b08f7c9
Some Glyphs, including icy veins with glyph. also Icicles first pass.…
BadJukeBox e1853fc
AttachStatBuff instead
BadJukeBox c9f0272
Some basic talent implementations, not entirely sure if I got invocat…
BadJukeBox 5f19339
Brain Freeze and Fingers of Frost updates with crit modifier that cha…
BadJukeBox c6371d3
Removing presence of mind from arcane
BadJukeBox 2e826bf
Removing a few spells that no longer exist
BadJukeBox 6a203f3
Various review fixes!
BadJukeBox 5b09793
removing tricks related bit
BadJukeBox 5a801e4
Boilerplate Water Ele and Nether Tempest code. I don't really know ho…
BadJukeBox 2ffb89d
Merge branch 'master' into feature/frost-mage
BadJukeBox a42f84e
Merge branch 'master' into feature/frost-mage
BadJukeBox fbf8691
Moving Icicles related stuff to just mage because the mastery working…
BadJukeBox 7223436
An attempt at the water elemental glyph implementation. Idk if this i…
BadJukeBox f1e7062
Changing a couple of bits. I realize I don't really know where/how to…
BadJukeBox 39eda30
Wizardry, but probably done wrong. I assume I want to have it be dyna…
BadJukeBox 92b1b34
Fixing a bunch of compile errors. Also, attempted to make frost bomb …
BadJukeBox 4027cd0
A bit of cleanup
BadJukeBox 02da1fa
A little bit of cleanup and fixing up blizzard values
BadJukeBox 98ca7d6
Making stacks work for brain freeze and fingers of frost, making icic…
BadJukeBox 251ccaf
invocation buff correct id
BadJukeBox 21cc05a
Fixing frost bomb brain freeze interaction, making it work in sim a l…
BadJukeBox cc59179
wip
BadJukeBox c437122
Merge branch 'feature/mage' into feature/frost-mage
BadJukeBox 4df6e66
Ok I got frozen orb to actually do it's thing each time, but for reas…
BadJukeBox baa4d99
Got Evocation to correctly channel faster and give the invoker buff!!…
BadJukeBox 343925c
static mods for evo, prep update for blizzard, mirror image mana
BadJukeBox 6db6ac2
Merge branch 'feature/mage' into feature/frost-mage
BadJukeBox 8c1ade7
you also need an outcome for these things, callback not enuf
BadJukeBox 452bcbb
icicle damage needs to be based on resultant damage rather than base …
BadJukeBox 32e30f5
Damage was too high before, doing each damage calc in the loop and ju…
BadJukeBox 4dc3665
Living bomb go boom when you reapply with 1 tick left.
BadJukeBox fdc3da0
Nether Tempest!
BadJukeBox bbf6b54
Fixing Ice lance, adding aoe flags to bliizard and frozen orb as well…
BadJukeBox 2850588
some presets stuff and testing
BadJukeBox f40eb8e
Changes getting rid of vars, cleaning up checking for multiple targets
BadJukeBox 754751a
small frost test update... largely still do not know what i'm doing.
BadJukeBox 1571be7
Damage mult rather than editing result damage
BadJukeBox 61a4dc6
some misc fixed, and making the frost mastery work/all be in the same…
BadJukeBox 3a456e8
Fixing some small things, adding nether tempest to brain freeze, and …
BadJukeBox e743f0c
Fixing up frost bomb a bit. Still a bit janky but what can you do. so…
BadJukeBox b073ff2
Ice lance bonus crit percent instead : ). also moving removal of stac…
BadJukeBox 03dd3a3
PR Review Updates, sans living bomb as I will do that separately
BadJukeBox 7d284d4
Forstfire bolt buff deactivation time, reworking the ice lance logic …
BadJukeBox 1131212
brain freeze correct cost reduction. Left a print in living bomb
BadJukeBox File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| package frost | ||
|
|
||
| import ( | ||
| "time" | ||
|
|
||
| "github.com/wowsims/mop/sim/core" | ||
| "github.com/wowsims/mop/sim/core/stats" | ||
| "github.com/wowsims/mop/sim/mage" | ||
| ) | ||
|
|
||
| func (frost *FrostMage) registerBrainFreeze() { | ||
| /* | ||
| https://www.wowhead.com/mop-classic/spell=44549/brain-freeze and https://www.wowhead.com/mop-classic/spell=44614/frostfire-bolt for more information. | ||
| */ | ||
| buff := frost.RegisterAura(core.Aura{ | ||
| Label: "Brain Freeze", | ||
| ActionID: core.ActionID{SpellID: 44549}, | ||
| Duration: time.Second * 15, | ||
| MaxStacks: 1, | ||
| }).AttachSpellMod(core.SpellModConfig{ | ||
| Kind: core.SpellMod_PowerCost_Pct, | ||
| FloatValue: -1, | ||
| ClassMask: mage.MageSpellFrostfireBolt, | ||
| }).AttachSpellMod(core.SpellModConfig{ | ||
| Kind: core.SpellMod_CastTime_Pct, | ||
| FloatValue: -1, | ||
| ClassMask: mage.MageSpellFrostfireBolt, | ||
| }) | ||
|
|
||
| /* | ||
| Shatter doubles the crit chance of spells against frozen targets and then adds an additional 50%, hence critChance * 2 + 50 | ||
| https://www.wowhead.com/mop-classic/spell=12982/shatter for more information. | ||
| */ | ||
| critMod := frost.AddDynamicMod(core.SpellModConfig{ | ||
| ClassMask: mage.MageSpellFrostfireBolt, | ||
| FloatValue: frost.GetStat(stats.SpellCritPercent)*2 + 50, | ||
| Kind: core.SpellMod_BonusCrit_Percent, | ||
| }) | ||
|
|
||
| buff.OnStacksChange = func(aura *core.Aura, sim *core.Simulation, oldStacks, newStacks int32) { | ||
| critMod.Activate() | ||
| } | ||
|
|
||
| buff.ApplyOnExpire(func(aura *core.Aura, sim *core.Simulation) { | ||
| critMod.Deactivate() | ||
| }) | ||
|
|
||
| core.MakeProcTriggerAura(&frost.Unit, core.ProcTrigger{ | ||
| Name: "Brain Freeze - Trigger", | ||
| ClassSpellMask: mage.MageSpellFrostfireBolt, | ||
| Callback: core.CallbackOnCastComplete, | ||
| Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { | ||
| buff.Activate(sim) | ||
|
BadJukeBox marked this conversation as resolved.
Outdated
|
||
| buff.AddStack(sim) | ||
| }, | ||
| }) | ||
|
|
||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| package frost | ||
|
|
||
| import ( | ||
| "time" | ||
|
|
||
| "github.com/wowsims/mop/sim/core" | ||
| "github.com/wowsims/mop/sim/core/stats" | ||
| "github.com/wowsims/mop/sim/mage" | ||
| ) | ||
|
|
||
| func (frost *FrostMage) registerFingersOfFrost() { | ||
| /* | ||
| Ice Lance does 4x Damage against Frozen enemies, FoF adds a bonus 25%. | ||
| This effect affects Deep Freeze as well but does no damage so it's been ommitted. \ | ||
| https://www.wowhead.com/mop-classic/spell=30455/ice-lance and https://www.wowhead.com/mop-classic/spell=112965/fingers-of-frost for more information. | ||
| */ | ||
| buff := frost.RegisterAura(core.Aura{ | ||
| Label: "Fingers of Frost", | ||
| ActionID: core.ActionID{SpellID: 112965}, | ||
| Duration: time.Second * 15, | ||
| MaxStacks: 2, | ||
| }).AttachSpellMod(core.SpellModConfig{ | ||
| Kind: core.SpellMod_DamageDone_Pct, | ||
| FloatValue: 4.0, | ||
| ClassMask: mage.MageSpellIceLance, | ||
| }).AttachSpellMod(core.SpellModConfig{ | ||
| Kind: core.SpellMod_DamageDone_Pct, | ||
| FloatValue: 0.25, | ||
| ClassMask: mage.MageSpellIceLance, | ||
|
BadJukeBox marked this conversation as resolved.
|
||
| }) | ||
|
|
||
| /* | ||
| Shatter doubles the crit chance of spells against frozen targets and then adds an additional 50%, hence critChance * 2 + 50 | ||
| https://www.wowhead.com/mop-classic/spell=12982/shatter for more information. | ||
| */ | ||
| critMod := frost.AddDynamicMod(core.SpellModConfig{ | ||
| ClassMask: mage.MageSpellIceLance, | ||
| FloatValue: frost.GetStat(stats.SpellCritPercent)*2 + 50, | ||
| Kind: core.SpellMod_BonusCrit_Percent, | ||
| }) | ||
|
|
||
| buff.OnStacksChange = func(aura *core.Aura, sim *core.Simulation, oldStacks, newStacks int32) { | ||
| critMod.Activate() | ||
| } | ||
|
|
||
| buff.ApplyOnExpire(func(aura *core.Aura, sim *core.Simulation) { | ||
| critMod.Deactivate() | ||
| }) | ||
|
|
||
| core.MakeProcTriggerAura(&frost.Unit, core.ProcTrigger{ | ||
| Name: "Fingers of Frost - Trigger", | ||
| ClassSpellMask: mage.MageSpellIceLance, | ||
| Callback: core.CallbackOnCastComplete, | ||
| Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { | ||
|
BadJukeBox marked this conversation as resolved.
|
||
| buff.Activate(sim) | ||
| buff.AddStack(sim) | ||
| }, | ||
| }) | ||
|
|
||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you check the

spell_mod.goyou can see that you need to useIntValueand for 100% reduction you need-100, so currently this will not do anything?