Skip to content

Commit

Permalink
[Warlock] Shadow of Death (simulationcraft#9206)
Browse files Browse the repository at this point in the history
  • Loading branch information
Azevara authored Aug 9, 2024
1 parent 78f94c7 commit 6f5e135
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 0 deletions.
2 changes: 2 additions & 0 deletions engine/class_modules/warlock/sc_warlock.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,7 @@ struct warlock_t : public player_t
player_talent_t sataiels_volition;

player_talent_t shadow_of_death;
const spell_data_t* shadow_of_death_energize;
} hero;

struct proc_actions_t
Expand Down Expand Up @@ -679,6 +680,7 @@ struct warlock_t : public player_t

// Soul Harvester
gain_t* feast_of_souls;
gain_t* shadow_of_death;
} gains;

// Procs
Expand Down
12 changes: 12 additions & 0 deletions engine/class_modules/warlock/sc_warlock_actions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2268,6 +2268,12 @@ using namespace helpers;

if ( p()->talents.malign_omen.ok() )
p()->buffs.malign_omen->trigger( as<int>( p()->talents.malign_omen->effectN( 2 ).base_value() ) );

if ( soul_harvester() && p()->hero.shadow_of_death.ok() )
{
p()->resource_gain( RESOURCE_SOUL_SHARD, p()->hero.shadow_of_death_energize->effectN( 1 ).base_value() / 10.0, p()->gains.shadow_of_death );
p()->buffs.succulent_soul->trigger( as<int>( p()->hero.shadow_of_death_energize->effectN( 1 ).base_value() / 10.0 ) );
}
}

void impact( action_state_t* s ) override
Expand Down Expand Up @@ -3063,6 +3069,12 @@ using namespace helpers;
p()->buffs.ritual_mother->extend_duration( p(), reduction );
p()->buffs.ritual_pit_lord->extend_duration( p(), reduction );
}

if ( soul_harvester() && p()->hero.shadow_of_death.ok() )
{
p()->resource_gain( RESOURCE_SOUL_SHARD, p()->hero.shadow_of_death_energize->effectN( 1 ).base_value() / 10.0, p()->gains.shadow_of_death );
p()->buffs.succulent_soul->trigger( as<int>( p()->hero.shadow_of_death_energize->effectN( 1 ).base_value() / 10.0 ) );
}
}
};

Expand Down
4 changes: 4 additions & 0 deletions engine/class_modules/warlock/sc_warlock_init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,9 @@ namespace warlock
hero.quietus = find_talent_spell( talent_tree::HERO, "Quietus" ); // Should be ID 449634

hero.sataiels_volition = find_talent_spell( talent_tree::HERO, "Sataiel's Volition" ); // Should be ID 449637

hero.shadow_of_death = find_talent_spell( talent_tree::HERO, "Shadow of Death" ); // Should be ID 449638
hero.shadow_of_death_energize = find_spell( 449858 );
}

void warlock_t::init_base_stats()
Expand Down Expand Up @@ -913,6 +916,7 @@ namespace warlock
void warlock_t::init_gains_soul_harvester()
{
gains.feast_of_souls = get_gain( "feast_of_souls" );
gains.shadow_of_death = get_gain( "shadow_of_death" );
}

void warlock_t::init_procs()
Expand Down

0 comments on commit 6f5e135

Please sign in to comment.