This commit is contained in:
KayenEQ
2021-10-05 15:50:26 -04:00
parent 61d1eeab6f
commit 55d45f9a98
7 changed files with 19 additions and 7 deletions
+7 -1
View File
@@ -2875,10 +2875,15 @@ void Mob::DamageShield(Mob* attacker, bool spell_ds) {
spellid = spellbonuses.DamageShieldSpellID;
}
else {
DS = spellbonuses.SpellDamageShield;
DS = spellbonuses.SpellDamageShield + itembonuses.SpellDamageShield + aabonuses.SpellDamageShield;
rev_ds = 0;
// This ID returns "you are burned", seemed most appropriate for spell DS
spellid = 2166;
/*
Live Message - not yet used on emu
Feedback onto you "YOUR mind burns from TARGETS NAME's feedback for %i points of non-melee damage."
Feedback onto other "TARGETS NAME's mind burns from YOUR feedback for %i points of non-melee damage."
*/
}
if (DS == 0 && rev_ds == 0)
@@ -2912,6 +2917,7 @@ void Mob::DamageShield(Mob* attacker, bool spell_ds) {
DS -= DS * ds_mitigation / 100;
}
attacker->Damage(this, -DS, spellid, EQ::skills::SkillAbjuration/*hackish*/, false);
//we can assume there is a spell now
auto outapp = new EQApplicationPacket(OP_Damage, sizeof(CombatDamage_Struct));
+5 -1
View File
@@ -1672,6 +1672,10 @@ void Mob::ApplyAABonuses(const AA::Rank &rank, StatBonuses *newbon)
newbon->ZoneSuspendMinion = base1;
break;
case SE_SpellDamageShield:
newbon->SpellDamageShield += base1;
break;
// to do
case SE_PetDiscipline:
break;
@@ -3727,7 +3731,7 @@ void NPC::CalcItemBonuses(StatBonuses *newbon)
newbon->DamageShield += cur->DamageShield;
}
if(cur->SpellShield > 0) {
newbon->SpellDamageShield += cur->SpellShield;
newbon->SpellShield += cur->SpellShield;
}
if(cur->Shielding > 0) {
newbon->MeleeMitigation += cur->Shielding;
-1
View File
@@ -848,7 +848,6 @@ public:
int GetHealRate() const { return itembonuses.HealRate + spellbonuses.HealRate + aabonuses.HealRate; }
int GetMemoryBlurChance(int base_chance);
bool TryDoubleMeleeRoundEffect();
bool GetUseDoubleMeleeRoundDmgBonus() const { return use_double_melee_round_dmg_bonus; }
inline void SetUseDoubleMeleeRoundDmgBonus(bool val) { use_double_melee_round_dmg_bonus = val; }
+2 -1
View File
@@ -3989,8 +3989,9 @@ bool Mob::SpellOnTarget(uint16 spell_id, Mob *spelltar, bool reflect, bool use_r
spell_effectiveness = 100;
}
if(spelltar->spellbonuses.SpellDamageShield && IsDetrimentalSpell(spell_id))
if (spells[spell_id].feedbackable && (spelltar->spellbonuses.SpellDamageShield || spelltar->itembonuses.SpellDamageShield || spelltar->aabonuses.SpellDamageShield)) {
spelltar->DamageShield(this, true);
}
if (spelltar->IsAIControlled() && IsDetrimentalSpell(spell_id) && !IsHarmonySpell(spell_id)) {
int32 aggro_amount = CheckAggroAmount(spell_id, spelltar, isproc);