[7078] Restore work rogue 14185 after client switch

Add data to proc table
Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
DiSlord 2009-01-13 22:04:55 +03:00
parent 46a80e8ecc
commit 08864a7288
5 changed files with 62 additions and 32 deletions

View file

@ -22,7 +22,7 @@
DROP TABLE IF EXISTS `db_version`;
CREATE TABLE `db_version` (
`version` varchar(120) default NULL,
`required_7075_02_mangos_spell_learn_spell` bit(1) default NULL
`required_7078_01_mangos_spell_proc_event` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--
@ -16548,6 +16548,8 @@ INSERT INTO `spell_proc_event` VALUES
(31833, 0x00000000, 10, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(31835, 0x00000000, 10, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(31836, 0x00000000, 10, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(31871, 0x00000000, 10, 0x00000010, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0),
(31872, 0x00000000, 10, 0x00000010, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0),
(31876, 0x00000000, 10, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(31877, 0x00000000, 10, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(31878, 0x00000000, 10, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
@ -16722,6 +16724,9 @@ INSERT INTO `spell_proc_event` VALUES
(43748, 0x00000000, 11, 0x90100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(43750, 0x00000000, 11, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(43819, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0),
(44394, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0),
(44395, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0),
(44396, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0),
(44404, 0x00000000, 3, 0x20000021, 0x00009000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(44445, 0x00000000, 3, 0x00000013, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(44446, 0x00000000, 3, 0x00000013, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),

View file

@ -0,0 +1,23 @@
ALTER TABLE db_version CHANGE COLUMN required_7075_02_mangos_spell_learn_spell required_7078_01_mangos_spell_proc_event bit;
-- (31871) Divine Purpose (Rank 1)
DELETE FROM `spell_proc_event` WHERE `entry` IN (31871);
INSERT INTO `spell_proc_event` VALUES (31871, 0x00, 10, 0x00000010, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0);
-- (31872) Divine Purpose (Rank 2)
DELETE FROM `spell_proc_event` WHERE `entry` IN (31872);
INSERT INTO `spell_proc_event` VALUES (31872, 0x00, 10, 0x00000010, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0);
-- (44394) Incanter's Absorption (Rank 1)
DELETE FROM `spell_proc_event` WHERE `entry` IN (44394);
INSERT INTO `spell_proc_event` VALUES (44394, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0);
-- (44395) Incanter's Absorption (Rank 2)
DELETE FROM `spell_proc_event` WHERE `entry` IN (44395);
INSERT INTO `spell_proc_event` VALUES (44395, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0);
-- (44396) Incanter's Absorption (Rank 3)
DELETE FROM `spell_proc_event` WHERE `entry` IN (44396);
INSERT INTO `spell_proc_event` VALUES (44396, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0);

View file

@ -136,6 +136,7 @@ pkgdata_DATA = \
7075_01_characters_character_spell.sql \
7075_02_mangos_spell_learn_spell.sql \
7077_01_characters_character_spell.sql \
7078_01_mangos_spell_proc_event.sql \
README
## Additional files to include when running 'make dist'
@ -252,4 +253,5 @@ EXTRA_DIST = \
7075_01_characters_character_spell.sql \
7075_02_mangos_spell_learn_spell.sql \
7077_01_characters_character_spell.sql \
7078_01_mangos_spell_proc_event.sql \
README

View file

@ -763,30 +763,6 @@ void Spell::EffectDummy(uint32 i)
}
return;
}
case 14185: // Preparation Rogue
{
if(m_caster->GetTypeId()!=TYPEID_PLAYER)
return;
//immediately finishes the cooldown on certain Rogue abilities
const PlayerSpellMap& sp_list = ((Player *)m_caster)->GetSpellMap();
for (PlayerSpellMap::const_iterator itr = sp_list.begin(); itr != sp_list.end(); ++itr)
{
uint32 classspell = itr->first;
SpellEntry const *spellInfo = sSpellStore.LookupEntry(classspell);
if (spellInfo->SpellFamilyName == SPELLFAMILY_ROGUE && (spellInfo->SpellFamilyFlags & 0x26000000860LL))
{
((Player*)m_caster)->RemoveSpellCooldown(classspell);
WorldPacket data(SMSG_CLEAR_COOLDOWN, (4+8));
data << uint32(classspell);
data << uint64(m_caster->GetGUID());
((Player*)m_caster)->GetSession()->SendPacket(&data);
}
}
return;
}
case 15998: // Capture Worg Pup
case 29435: // Capture Female Kaliri Hatchling
{
@ -881,7 +857,7 @@ void Spell::EffectDummy(uint32 i)
return;
}
case 23074: // Arc. Dragonling
case 23074: // Arcanite Dragonling
if (!m_CastItem) return;
m_caster->CastSpell(m_caster,19804,true,m_CastItem);
return;
@ -1425,11 +1401,6 @@ void Spell::EffectDummy(uint32 i)
case SPELLFAMILY_ROGUE:
switch(m_spellInfo->Id )
{
case 31231: // Cheat Death
{
m_caster->CastSpell(m_caster,45182,true);
return;
}
case 5938: // Shiv
{
if(m_caster->GetTypeId() != TYPEID_PLAYER)
@ -1465,6 +1436,35 @@ void Spell::EffectDummy(uint32 i)
m_caster->CastSpell(unitTarget, 5940, true);
return;
}
case 14185: // Preparation Rogue
{
if(m_caster->GetTypeId()!=TYPEID_PLAYER)
return;
//immediately finishes the cooldown on certain Rogue abilities
const PlayerSpellMap& sp_list = ((Player *)m_caster)->GetSpellMap();
for (PlayerSpellMap::const_iterator itr = sp_list.begin(); itr != sp_list.end(); ++itr)
{
uint32 classspell = itr->first;
SpellEntry const *spellInfo = sSpellStore.LookupEntry(classspell);
if (spellInfo->SpellFamilyName == SPELLFAMILY_ROGUE && (spellInfo->SpellFamilyFlags & 0x0000024000000860LL))
{
((Player*)m_caster)->RemoveSpellCooldown(classspell);
WorldPacket data(SMSG_CLEAR_COOLDOWN, (4+8));
data << uint32(classspell);
data << uint64(m_caster->GetGUID());
((Player*)m_caster)->GetSession()->SendPacket(&data);
}
}
return;
}
case 31231: // Cheat Death
{
m_caster->CastSpell(m_caster,45182,true);
return;
}
}
break;
case SPELLFAMILY_HUNTER:

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "7077"
#define REVISION_NR "7078"
#endif // __REVISION_NR_H__