Skip to content

Instantly share code, notes, and snippets.

@tobmaps
tobmaps / gist:1279062
Created October 11, 2011 19:06
Ebon Plague, Curse of the Elements stacking fix
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 5ba470e..7cc5ef1 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -10588,7 +10588,25 @@ uint32 Unit::SpellDamageBonus(Unit* victim, SpellInfo const* spellProto, uint32
// from positive and negative SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN
// multiplicative bonus, for example Dispersion + Shadowform (0.10*0.85=0.085)
- TakenTotalMod *= victim->GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, spellProto->GetSchoolMask());
+ float multiplier = 1.0f;
@tobmaps
tobmaps / gist:1186150
Created September 1, 2011 13:22
prevent AOE hits through walls
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h
index 74198aa..d74e2ea 100755
--- a/src/server/game/Spells/Spell.h
+++ b/src/server/game/Spells/Spell.h
@@ -734,8 +734,13 @@ namespace Trinity
switch(i_push_type)
{
- case PUSH_SRC_CENTER:
case PUSH_DST_CENTER:
@tobmaps
tobmaps / gist:1176818
Created August 28, 2011 15:51
Relentless Strikes vs Envenom
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 4eee788..e3dd391 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -7089,9 +7089,12 @@ bool Spell::CanExecuteTriggersOnHit(uint8 effMask) const
// check which effects can trigger proc
// don't allow to proc for dummy-only spell target hits
// prevents triggering/procing effects twice from spells like Eviscerate
- for (uint8 i = 0;effMask && i < MAX_SPELL_EFFECTS; ++i)
+ // also prevents double proc from Envenom
@tobmaps
tobmaps / gist:1148873
Created August 16, 2011 11:15
Amplify Magic, Dampgen Magic, Pyrobuffet fix
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 379af2e..f934527 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -10860,16 +10860,16 @@ uint32 Unit::SpellDamageBonus(Unit* victim, SpellInfo const* spellProto, uint32
coeff = DotFactor;
}
- float coeff2 = CalculateLevelPenalty(spellProto) * stack;
- if (spellProto->SpellFamilyName) // TODO: fix this
@tobmaps
tobmaps / gist:1128372
Created August 5, 2011 20:01
small revert
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index c0b0460..ba7b969 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -5778,12 +5778,26 @@ bool Spell::CanAutoCast(Unit* target)
return false; //target invalid
}
-SpellCastResult Spell::CheckRange(bool /*strict*/)
+SpellCastResult Spell::CheckRange(bool strict)
@tobmaps
tobmaps / gist:1109255
Created July 27, 2011 12:27
prevent resists of Envenom
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 57032c1..dc090d7 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -1605,7 +1605,7 @@ void Unit::CalcAbsorbResist(Unit* victim, SpellSchoolMask schoolMask, DamageEffe
DamageInfo dmgInfo = DamageInfo(this, victim, damage, spellInfo, schoolMask, damagetype);
// Magic damage, check for resists
- if ((schoolMask & SPELL_SCHOOL_MASK_NORMAL) == 0)
+ if (spellInfo->DmgClass == SPELL_DAMAGE_CLASS_MAGIC && (schoolMask & SPELL_SCHOOL_MASK_NORMAL) == 0)
@tobmaps
tobmaps / gist:1101688
Created July 23, 2011 17:54
Grounding Totem fix
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index b61d3b8..07b8e67 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -8073,6 +8073,22 @@ bool Unit::HandleAuraProc(Unit* victim, uint32 damage, Aura* triggeredByAura, Sp
}
break;
}
+ case SPELLFAMILY_SHAMAN:
+ {
@tobmaps
tobmaps / gist:1101379
Created July 23, 2011 12:34
Pct damage reduction effects fix
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index cced511..39ded27 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -10756,20 +10756,11 @@ uint32 Unit::SpellDamageBonus(Unit* victim, SpellEntry const* spellProto, uint32
}
// ..taken
- int32 maxPositiveMod = 0; // max of the positive amount aura (that increase the damage taken)
- int32 sumNegativeMod = 0; // sum the negative amount aura (that reduce the damage taken)
@tobmaps
tobmaps / gist:1096911
Created July 21, 2011 10:12
Anti-Magic Shield
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 17200e6..887fdb7 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -11764,9 +11764,8 @@ bool Unit::IsImmunedToSpellEffect(SpellEntry const* spellInfo, uint32 index) con
// Check for immune to application of harmful magical effects
AuraEffectList const& immuneAuraApply = GetAuraEffectsByType(SPELL_AURA_MOD_IMMUNE_AURA_APPLY_SCHOOL);
for (AuraEffectList::const_iterator iter = immuneAuraApply.begin(); iter != immuneAuraApply.end(); ++iter)
- if (spellInfo->Dispel == DISPEL_MAGIC && // Magic debuff
- ((*iter)->GetMiscValue() & GetSpellSchoolMask(spellInfo)) && // Check school
@tobmaps
tobmaps / gist:1088109
Created July 17, 2011 21:46
Deep Wounds (partially by DrTenma)
diff --git a/sql/updates/world/2011_07_22_01_world_spell_bonus_data.sql b/sql/updates/world/2011_07_22_01_world_spell_bonus_data.sql
new file mode 100644
index 0000000..ea3b73e
--- /dev/null
+++ b/sql/updates/world/2011_07_22_01_world_spell_bonus_data.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_bonus_data` WHERE `entry` = 12162;
+INSERT INTO `spell_bonus_data` VALUES
+(12162,0,0,0,0,'Warrior - Deep Wounds');
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp