Skip to content

Commit

Permalink
[Mage] Aftershocks
Browse files Browse the repository at this point in the history
  • Loading branch information
kenthklui committed May 25, 2016
1 parent bef229f commit f3d86fd
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 11 deletions.
6 changes: 3 additions & 3 deletions dbc_extract3/dbc/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -1263,9 +1263,9 @@ class SpellDataGenerator(DataGenerator):
( 155152, 5 ), # Prismatic Crystal nuke
( 157978, 0 ), ( 157979, 0 ), # Unstable magic aoe
( 191764, 0 ), ( 191799, 0 ), # Arcane T18 2P Pet
( 194466, 0 ), # Phoenix's Flames
( 205235, 5 ), # Arcane Familiar attack, Arcane Assault
( 7268, 0 ), # Arcane Missile Tick
( 194432, 0 ), # Felo'melorn - Aftershocks
( 194466, 0 ), # Phoenix's Flames
( 205235, 5 ), # Arcane Familiar attack, Arcane Assault
),

# Warlock:
Expand Down
36 changes: 28 additions & 8 deletions engine/class_modules/sc_mage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3156,33 +3156,49 @@ struct fireball_t : public fire_mage_spell_t

};

// Flame Patch Spell ========================================================
// Flame Patch Spell ==========================================================

struct flame_patch_t : public fire_mage_spell_t
{
flame_patch_t( mage_t* p, const std::string& options_str ) :
fire_mage_spell_t( "flame_patch", p, p -> talents.flame_patch )
{
parse_options( options_str );
aoe=-1;
aoe = -1;
}
};
// Flamestrike Spell ==========================================================

struct aftershocks_t : public fire_mage_spell_t
{
aftershocks_t( mage_t* p ) :
fire_mage_spell_t( "aftershocks", p, p -> find_spell( 194432 ) )
{
background = true;
triggers_ignite = true;
}
};
// Flamestrike Spell ========================================================

struct flamestrike_t : public fire_mage_spell_t
{
aftershocks_t* aftershocks;
flame_patch_t* flame_patch;

flamestrike_t( mage_t* p, const std::string& options_str ) :
fire_mage_spell_t( "flamestrike", p,
p -> find_specialization_spell( "Flamestrike" ) )
{
parse_options( options_str );

triggers_ignite = true;

base_multiplier *= 1.0 + p -> artifact.blue_flame_special.percent();

triggers_ignite = true;
aoe = -1;

if ( p -> artifact.aftershocks.rank() )
{
aftershocks = new aftershocks_t( p );
add_child( aftershocks );
}
}

virtual action_state_t* new_state() override
Expand All @@ -3205,11 +3221,15 @@ struct flamestrike_t : public fire_mage_spell_t
fire_mage_spell_t::execute();

p() -> buffs.hot_streak -> expire();
}

virtual void impact( action_state_t* state ) override
{
fire_mage_spell_t::impact( state );

//TODO: Add delay between intial impact and second impact
if ( p() -> artifact.aftershocks.rank() )
{
fire_mage_spell_t::execute();
aftershocks -> schedule_execute();
}
}

Expand Down

0 comments on commit f3d86fd

Please sign in to comment.