Skip to content

Commit

Permalink
[Paladin] fake_solidarity is now a stackable buff that tries to mimic…
Browse files Browse the repository at this point in the history
… multiple people having a Sacred Weapon buff
  • Loading branch information
Fluttershy-git committed Nov 2, 2024
1 parent e1ad611 commit a2e73ee
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
16 changes: 13 additions & 3 deletions engine/class_modules/paladin/sc_paladin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2424,7 +2424,7 @@ struct sacred_weapon_proc_damage_t : public paladin_spell_t
double m = paladin_spell_t::composite_da_multiplier( s );
// If we're faking Solidarity, we double the amount
if ( p()->talents.lightsmith.solidarity->ok() && p()->options.fake_solidarity )
m *= 2.0;
m *= 1.0 + p()->buffs.lightsmith.fake_solidarity->stack();
return m;
}
};
Expand Down Expand Up @@ -2453,7 +2453,7 @@ struct sacred_weapon_proc_heal_t : public paladin_heal_t
double m = paladin_heal_t::composite_da_multiplier( s );
// If we're faking Solidarity, we double the amount
if ( p()->talents.lightsmith.solidarity->ok() && p()->options.fake_solidarity )
m *= 2.0;
m *= 1.0 + p()->buffs.lightsmith.fake_solidarity->stack();
return m;
}
};
Expand Down Expand Up @@ -2636,6 +2636,12 @@ void paladin_t::cast_holy_armaments( player_t* target, armament usedArmament, bo
}
}
}

if (options.fake_solidarity)
{
buffs.lightsmith.fake_solidarity->trigger();
}

if ( changeArmament )
next_armament = armament( ( next_armament + 1 ) % NUM_ARMAMENT );
if ( random )
Expand Down Expand Up @@ -3853,7 +3859,11 @@ void paladin_t::create_buffs()
if ( new_ )
cast_holy_armaments( this, armament::SACRED_WEAPON, false, false );
} );

buffs.lightsmith.fake_solidarity = make_buff( this, "fake_solidarity" )
->set_duration( buffs.lightsmith.sacred_weapon->base_buff_duration )
->set_chance( 1 )
->set_max_stack( 10 )
->set_stack_behavior( buff_stack_behavior::ASYNCHRONOUS );

buffs.templar.hammer_of_light_ready =
make_buff( this, "hammer_of_light_ready", find_spell( 427453 ) )
Expand Down
1 change: 1 addition & 0 deletions engine/class_modules/paladin/sc_paladin.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ struct paladin_t : public player_t
buff_t* rite_of_sanctification;
buff_t* rite_of_adjuration;
buff_t* blessing_of_the_forge; // Sacred Weapon doodad, pseudo invisible buff
buff_t* fake_solidarity; // Stackable buff that fakes other people having a Sacred Weapon buff
} lightsmith;

struct
Expand Down

0 comments on commit a2e73ee

Please sign in to comment.