aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/7031_01_mangos_spell_proc_event.sql2
-rw-r--r--sql/updates/7033_01_mangos_spell_proc_event.sql78
-rw-r--r--sql/updates/TBC-WLK_world.sql21
-rw-r--r--src/game/Unit.cpp81
-rw-r--r--src/realmd/RealmList.cpp1
-rw-r--r--src/realmd/RealmList.h1
-rw-r--r--src/shared/revision_nr.h2
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__