*Mangos [7032] Remove unused field from realm structure in realmd. By zhenya.

*Mangos [7033] Add some dummy triggers. By DiSlord.
    DK - 49015 and ranks, 51459 and ranks, 48979 and ranks
    Druid - 48516 and ranks, 48496 and ranks
    Shaman - 55440 glyph
    Also fix send AttackStateUpdate on block
    Add some spell_proc_event data
    Fix sql update for 7031

--HG--
branch : trunk
This commit is contained in:
megamage
2009-01-05 14:34:32 -06:00
parent fbc82ae631
commit f764602944
7 changed files with 181 additions and 5 deletions
@@ -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);
@@ -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);
+20 -1
View File
@@ -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;
+80 -1
View File
@@ -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:
-1
View File
@@ -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;
-1
View File
@@ -30,7 +30,6 @@
/// Storage object for a realm
struct Realm
{
std::string name;
std::string address;
uint8 icon;
uint8 color;
+1 -1
View File
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "7031"
#define REVISION_NR "7033"
#endif // __REVISION_NR_H__