diff options
-rw-r--r-- | sql/updates/7031_01_mangos_spell_proc_event.sql | 2 | ||||
-rw-r--r-- | sql/updates/7033_01_mangos_spell_proc_event.sql | 78 | ||||
-rw-r--r-- | sql/updates/TBC-WLK_world.sql | 21 | ||||
-rw-r--r-- | src/game/Unit.cpp | 81 | ||||
-rw-r--r-- | src/realmd/RealmList.cpp | 1 | ||||
-rw-r--r-- | src/realmd/RealmList.h | 1 | ||||
-rw-r--r-- | src/shared/revision_nr.h | 2 |
7 files changed, 181 insertions, 5 deletions
diff --git a/sql/updates/7031_01_mangos_spell_proc_event.sql b/sql/updates/7031_01_mangos_spell_proc_event.sql index 2bd182a3a31..d10f099fbee 100644 --- a/sql/updates/7031_01_mangos_spell_proc_event.sql +++ b/sql/updates/7031_01_mangos_spell_proc_event.sql @@ -1,3 +1,5 @@ +ALTER TABLE db_version CHANGE COLUMN required_7026_01_mangos_battleground_template required_7031_01_mangos_spell_proc_event bit; + -- (44445) Hot Streak (Rank 1) DELETE FROM `spell_proc_event` WHERE `entry` IN (44445); INSERT INTO `spell_proc_event` VALUES (44445, 0x00, 3, 0x0000100000000013, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); diff --git a/sql/updates/7033_01_mangos_spell_proc_event.sql b/sql/updates/7033_01_mangos_spell_proc_event.sql new file mode 100644 index 00000000000..b95cbf93f47 --- /dev/null +++ b/sql/updates/7033_01_mangos_spell_proc_event.sql @@ -0,0 +1,78 @@ +ALTER TABLE db_version CHANGE COLUMN required_7031_01_mangos_spell_proc_event required_7033_01_mangos_spell_proc_event bit; + +-- (48516) Eclipse (Rank 1) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48516); +INSERT INTO `spell_proc_event` VALUES (48516, 0x00, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0.000000, 0.000000, 30); + +-- (48521) Eclipse (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48521); +INSERT INTO `spell_proc_event` VALUES (48521, 0x00, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0.000000, 0.000000, 30); + +-- (48525) Eclipse (Rank 3) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48525); +INSERT INTO `spell_proc_event` VALUES (48525, 0x00, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0.000000, 0.000000, 30); + +-- (48496) Living Seed (Rank 1) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48496); +INSERT INTO `spell_proc_event` VALUES (48496, 0x00, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0.000000, 0.000000, 0); + +-- (48499) Living Seed (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48499); +INSERT INTO `spell_proc_event` VALUES (48499, 0x00, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0.000000, 0.000000, 0); + +-- (48500) Living Seed (Rank 3) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48500); +INSERT INTO `spell_proc_event` VALUES (48500, 0x00, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0.000000, 0.000000, 0); + +-- (53228) Rapid Recuperation (Rank 1) +DELETE FROM `spell_proc_event` WHERE `entry` IN (53228); +INSERT INTO `spell_proc_event` VALUES (53228, 0x00, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (53232) Rapid Recuperation (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (53232); +INSERT INTO `spell_proc_event` VALUES (53232, 0x00, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (55440) Glyph of Healing Wave () +DELETE FROM `spell_proc_event` WHERE `entry` IN (55440); +INSERT INTO `spell_proc_event` VALUES (55440, 0x00, 11, 0x0000000000000040, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52795) Borrowed Time (Rank 1) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52795); +INSERT INTO `spell_proc_event` VALUES (52795, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52797) Borrowed Time (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52797); +INSERT INTO `spell_proc_event` VALUES (52797, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52798) Borrowed Time (Rank 3) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52798); +INSERT INTO `spell_proc_event` VALUES (52798, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52799) Borrowed Time (Rank 4) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52799); +INSERT INTO `spell_proc_event` VALUES (52799, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52800) Borrowed Time (Rank 5) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52800); +INSERT INTO `spell_proc_event` VALUES (52800, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (55677) Glyph of Dispel Magic () +DELETE FROM `spell_proc_event` WHERE `entry` IN (55677); +INSERT INTO `spell_proc_event` VALUES (55677, 0x00, 6, 0x0000000100000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (55680) Glyph of Prayer of Healing () +DELETE FROM `spell_proc_event` WHERE `entry` IN (55680); +INSERT INTO `spell_proc_event` VALUES (55680, 0x00, 6, 0x0000000000000200, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (47572) Psychic Horror (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (47572); +INSERT INTO `spell_proc_event` VALUES (47572, 0x00, 6, 0x0000000000010000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (48159) Vampiric Touch (Rank 4) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48159); +INSERT INTO `spell_proc_event` VALUES (48159, 0x20, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (48160) Vampiric Touch (Rank 5) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48160); +INSERT INTO `spell_proc_event` VALUES (48160, 0x20, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + diff --git a/sql/updates/TBC-WLK_world.sql b/sql/updates/TBC-WLK_world.sql index dc94a0be445..04b1dd55754 100644 --- a/sql/updates/TBC-WLK_world.sql +++ b/sql/updates/TBC-WLK_world.sql @@ -6833,6 +6833,25 @@ INSERT INTO `spell_proc_event` VALUES (60572, 0x00000000, 11, 0x0000000090100000, 0x00000000, 0x00000000, 0, 0, 0), (60617, 0x00000000, 0, 0x0000000000000000, 0x00000000, 0x00000020, 0, 0, 0), (60826, 0x00000000, 15, 0x0000000001400000, 0x00000000, 0x00000000, 0, 0, 0), -(61324, 0x00000000, 10, 0x0002000000000000, 0x00000000, 0x00000000, 0, 0, 0); +(61324, 0x00000000, 10, 0x0002000000000000, 0x00000000, 0x00000000, 0, 0, 0), +(48516, 0x00000000, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0, 0, 30), +(48521, 0x00000000, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0, 0, 30), +(48525, 0x00000000, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0, 0, 30), +(48496, 0x00000000, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0, 0, 0), +(48499, 0x00000000, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0, 0, 0), +(48500, 0x00000000, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0, 0, 0), +(53228, 0x00000000, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0, 0, 0), +(53232, 0x00000000, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0, 0, 0), +(55440, 0x00000000, 11, 0x0000000000000040, 0x00000000, 0x00000000, 0, 0, 0), +(52795, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(52797, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(52798, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(52799, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(52800, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(55677, 0x00000000, 6, 0x0000000100000000, 0x00000000, 0x00000000, 0, 0, 0), +(55680, 0x00000000, 6, 0x0000000000000200, 0x00000000, 0x00000000, 0, 0, 0), +(47572, 0x00000000, 6, 0x0000000000010000, 0x00000000, 0x00000000, 0, 0, 0), +(48159, 0x00000020, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0, 0, 0), +(48160, 0x00000020, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0, 0, 0); /*!40000 ALTER TABLE `spell_proc_event` ENABLE KEYS */; UNLOCK TABLES;
\ No newline at end of file diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index e5a87fa6efa..c5c779812bf 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4257,7 +4257,7 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo *damageInfo) data << (uint32)damageInfo->resist; // Resist } - data << (uint32)damageInfo->TargetState; + data << (uint8)damageInfo->TargetState; data << (uint32)0; data << (uint32)0; @@ -4767,6 +4767,14 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu } return false; } + // Living Seed + case 48504: + { + triggered_spell_id = 48503; + basepoints0 = triggeredByAura->GetModifier()->m_amount; + target = this; + break; + } } break; } @@ -5156,6 +5164,39 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu break; } } + // Eclipse + if (dummySpell->SpellIconID == 2856) + { + if (!procSpell) + return false; + // Only 0 aura can proc + if (triggeredByAura->GetEffIndex()!=0) + return true; + // Wrath crit + if (procSpell->SpellFamilyFlags & 0x0000000000000001LL) + { + if (!roll_chance_i(60)) + return false; + triggered_spell_id = 48518; + target = this; + break; + } + // Starfire crit + if (procSpell->SpellFamilyFlags & 0x0000000000000004LL) + { + triggered_spell_id = 48517; + target = this; + break; + } + return false; + } + // Living Seed + else if (dummySpell->SpellIconID == 2860) + { + triggered_spell_id = 48504; + basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100; + break; + } break; } case SPELLFAMILY_ROGUE: @@ -5605,6 +5646,44 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu return true; } + // Glyph of Healing Wave + case 55440: + { + // Not proc from self heals + if (this==pVictim) + return false; + basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100; + target = this; + triggered_spell_id = 55533; + break; + } + break; + } + case SPELLFAMILY_DEATHKNIGHT: + { + // Vendetta + if (dummySpell->SpellFamilyFlags & 0x0000000000010000LL) + { + basepoints0 = triggeredByAura->GetModifier()->m_amount * GetMaxHealth() / 100; + triggered_spell_id = 50181; + target = this; + break; + } + // Necrosis + else if (dummySpell->SpellIconID == 2709) + { + basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100; + triggered_spell_id = 51460; + break; + } + // Butchery + else if (dummySpell->SpellIconID == 2664) + { + basepoints0 = triggeredByAura->GetModifier()->m_amount; + triggered_spell_id = 50163; + target = this; + break; + } break; } default: diff --git a/src/realmd/RealmList.cpp b/src/realmd/RealmList.cpp index 32c0cbc12c1..0b23828b27f 100644 --- a/src/realmd/RealmList.cpp +++ b/src/realmd/RealmList.cpp @@ -50,7 +50,6 @@ void RealmList::UpdateRealm( uint32 ID, const std::string& name, const std::stri Realm& realm = m_realms[name]; realm.m_ID = ID; - realm.name = name; realm.icon = icon; realm.color = color; realm.timezone = timezone; diff --git a/src/realmd/RealmList.h b/src/realmd/RealmList.h index 9cb5380bd25..72c3982a462 100644 --- a/src/realmd/RealmList.h +++ b/src/realmd/RealmList.h @@ -30,7 +30,6 @@ /// Storage object for a realm struct Realm { - std::string name; std::string address; uint8 icon; uint8 color; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 6b46afe7672..73e0ef9ca9e 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7031" + #define REVISION_NR "7033" #endif // __REVISION_NR_H__ |