mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 03:08:26 +00:00
updates
This commit is contained in:
+7
-1
@@ -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
@@ -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;
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user