mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-21 15:27:47 -04:00
Core/Spells: Fixed Raise Ally
thx @Nayd for sniffs :) thx @Shauren for helping to find all spell involved * There is no implementation for stats update on Puppet class (only on Guardian) so same SummonProperty as Raise Dead Ghoul (non pet) is used. (Default SummonProperties set category to SUMMON_CATEGORY_PUPPET) * Override the Summon Effect to enable charm and stats scaling. * PlayerAI is used to handle unaura on ghoul despawn or dead. It's necessary due to the fact that all script hooks on ScriptedCreature are called on an unactive CreatureAI, resulting in creature being unable to handle unaura calls. * Create UpdateAI call for Player class * Stats scaling is based on forum and wowhead comments, they recall this ghoul as a copy of the other one (same stats). * Spellscript for Ghoul spell Thrash Closes #82 Closes #14830
This commit is contained in:
@@ -499,7 +499,7 @@ void Player::UpdateAttackPowerAndDamage(bool ranged)
|
||||
if (getClass() == CLASS_SHAMAN || getClass() == CLASS_PALADIN) // mental quickness
|
||||
UpdateSpellDamageAndHealingBonus();
|
||||
|
||||
if (pet && pet->IsPetGhoul()) // At melee attack power change for DK pet
|
||||
if (pet && (pet->IsPetGhoul() || pet->IsRisenAlly())) // At melee attack power change for DK pet
|
||||
pet->UpdateAttackPowerAndDamage();
|
||||
|
||||
if (guardian && guardian->IsSpiritWolf()) // At melee attack power change for Shaman feral spirit
|
||||
@@ -1113,7 +1113,7 @@ bool Guardian::UpdateStats(Stats stat)
|
||||
Unit* owner = GetOwner();
|
||||
// Handle Death Knight Glyphs and Talents
|
||||
float mod = 0.75f;
|
||||
if (IsPetGhoul() && (stat == STAT_STAMINA || stat == STAT_STRENGTH))
|
||||
if ((IsPetGhoul() || IsRisenAlly()) && (stat == STAT_STAMINA || stat == STAT_STRENGTH))
|
||||
{
|
||||
if (stat == STAT_STAMINA)
|
||||
mod = 0.3f; // Default Owner's Stamina scale
|
||||
@@ -1329,7 +1329,7 @@ void Guardian::UpdateAttackPowerAndDamage(bool ranged)
|
||||
bonusAP = owner->GetTotalAttackPowerValue(RANGED_ATTACK) * 0.22f * mod;
|
||||
SetBonusDamage(int32(owner->GetTotalAttackPowerValue(RANGED_ATTACK) * 0.1287f * mod));
|
||||
}
|
||||
else if (IsPetGhoul()) //ghouls benefit from deathknight's attack power (may be summon pet or not)
|
||||
else if (IsPetGhoul() || IsRisenAlly()) //ghouls benefit from deathknight's attack power (may be summon pet or not)
|
||||
{
|
||||
bonusAP = owner->GetTotalAttackPowerValue(BASE_ATTACK) * 0.22f;
|
||||
SetBonusDamage(int32(owner->GetTotalAttackPowerValue(BASE_ATTACK) * 0.1287f));
|
||||
|
||||
Reference in New Issue
Block a user