mirror of
https://github.com/mangosfour/server.git
synced 2025-12-20 07:37:02 +00:00
[7149] Implement paladin dummy proc - 53380 and ranks, 53501 and ranks
Complete fix dummy and trigger from Hunter 53228 amd ranks Allow trigger from some Hunter, Paladin spells Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
parent
7e76c7dff2
commit
3c45d5f548
6 changed files with 63 additions and 9 deletions
|
|
@ -22,7 +22,7 @@
|
||||||
DROP TABLE IF EXISTS `db_version`;
|
DROP TABLE IF EXISTS `db_version`;
|
||||||
CREATE TABLE `db_version` (
|
CREATE TABLE `db_version` (
|
||||||
`version` varchar(120) default NULL,
|
`version` varchar(120) default NULL,
|
||||||
`required_7147_01_mangos_creature_template` bit(1) default NULL
|
`required_7149_01_mangos_spell_proc_event` bit(1) default NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|
@ -17046,8 +17046,8 @@ INSERT INTO `spell_proc_event` VALUES
|
||||||
(53221, 0x00000000, 9, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(53221, 0x00000000, 9, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(53222, 0x00000000, 9, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(53222, 0x00000000, 9, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(53224, 0x00000000, 9, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(53224, 0x00000000, 9, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(53228, 0x00000000, 9, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(53228, 0x00000000, 9, 0x00000020, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(53232, 0x00000000, 9, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(53232, 0x00000000, 9, 0x00000020, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(53256, 0x00000000, 9, 0x00000800, 0x00800001, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
(53256, 0x00000000, 9, 0x00000800, 0x00800001, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
||||||
(53259, 0x00000000, 9, 0x00000800, 0x00800001, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
(53259, 0x00000000, 9, 0x00000800, 0x00800001, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
||||||
(53260, 0x00000000, 9, 0x00000800, 0x00800001, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
(53260, 0x00000000, 9, 0x00000800, 0x00800001, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
||||||
|
|
@ -17063,6 +17063,9 @@ INSERT INTO `spell_proc_event` VALUES
|
||||||
(53384, 0x00000000, 10, 0x00800000, 0x00020000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
(53384, 0x00000000, 10, 0x00800000, 0x00020000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
||||||
(53486, 0x00000000, 10, 0x00800000, 0x00028000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
(53486, 0x00000000, 10, 0x00800000, 0x00028000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
||||||
(53488, 0x00000000, 10, 0x00800000, 0x00028000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
(53488, 0x00000000, 10, 0x00800000, 0x00028000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
||||||
|
(53501, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
||||||
|
(53502, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
||||||
|
(53503, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
|
||||||
(53551, 0x00000000, 10, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(53551, 0x00000000, 10, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(53552, 0x00000000, 10, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(53552, 0x00000000, 10, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(53553, 0x00000000, 10, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(53553, 0x00000000, 10, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
|
|
|
||||||
21
sql/updates/7149_01_mangos_spell_proc_event.sql
Normal file
21
sql/updates/7149_01_mangos_spell_proc_event.sql
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
ALTER TABLE db_version CHANGE COLUMN required_7147_01_mangos_creature_template required_7149_01_mangos_spell_proc_event bit;
|
||||||
|
|
||||||
|
-- (53501) Sheath of Light (Rank 1)
|
||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` IN (53501);
|
||||||
|
INSERT INTO `spell_proc_event` VALUES (53501, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0);
|
||||||
|
|
||||||
|
-- (53502) Sheath of Light (Rank 2)
|
||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` IN (53502);
|
||||||
|
INSERT INTO `spell_proc_event` VALUES (53502, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0);
|
||||||
|
|
||||||
|
-- (53503) Sheath of Light (Rank 3)
|
||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` IN (53503);
|
||||||
|
INSERT INTO `spell_proc_event` VALUES (53503, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 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, 0x00000020, 0x01000000, 0x00000000, 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, 0x00000020, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
|
||||||
|
|
@ -147,6 +147,7 @@ pkgdata_DATA = \
|
||||||
7133_02_mangos_spell_loot_template.sql \
|
7133_02_mangos_spell_loot_template.sql \
|
||||||
7141_01_mangos_instance_template.sql \
|
7141_01_mangos_instance_template.sql \
|
||||||
7147_01_mangos_creature_template.sql \
|
7147_01_mangos_creature_template.sql \
|
||||||
|
7149_01_mangos_spell_proc_event.sql \
|
||||||
README
|
README
|
||||||
|
|
||||||
## Additional files to include when running 'make dist'
|
## Additional files to include when running 'make dist'
|
||||||
|
|
@ -274,4 +275,5 @@ EXTRA_DIST = \
|
||||||
7133_02_mangos_spell_loot_template.sql \
|
7133_02_mangos_spell_loot_template.sql \
|
||||||
7141_01_mangos_instance_template.sql \
|
7141_01_mangos_instance_template.sql \
|
||||||
7147_01_mangos_creature_template.sql \
|
7147_01_mangos_creature_template.sql \
|
||||||
|
7149_01_mangos_spell_proc_event.sql \
|
||||||
README
|
README
|
||||||
|
|
|
||||||
|
|
@ -699,11 +699,12 @@ void Spell::prepareDataForTriggerSystem()
|
||||||
case SPELLFAMILY_ROGUE: // For poisons need do it
|
case SPELLFAMILY_ROGUE: // For poisons need do it
|
||||||
if (m_spellInfo->SpellFamilyFlags & 0x000000101001E000LL) m_canTrigger = true;
|
if (m_spellInfo->SpellFamilyFlags & 0x000000101001E000LL) m_canTrigger = true;
|
||||||
break;
|
break;
|
||||||
case SPELLFAMILY_HUNTER: // Hunter Rapid Killing/Explosive Trap Effect/Immolation Trap Effect/Frost Trap Aura/Snake Trap Effect
|
case SPELLFAMILY_HUNTER: // Hunter Rapid Killing/Explosive Trap Effect/Immolation Trap Effect/Frost Trap Aura/Snake Trap Effect/Explosive Shot
|
||||||
if (m_spellInfo->SpellFamilyFlags & 0x0100200000000014LL) m_canTrigger = true;
|
if (m_spellInfo->SpellFamilyFlags & 0x0100200000000214LL ||
|
||||||
|
m_spellInfo->SpellFamilyFlags2 & 0x200) m_canTrigger = true;
|
||||||
break;
|
break;
|
||||||
case SPELLFAMILY_PALADIN: // For Holy Shock triggers need do it
|
case SPELLFAMILY_PALADIN: // For Judgements (all) / Holy Shock triggers need do it
|
||||||
if (m_spellInfo->SpellFamilyFlags & 0x0001000000200000LL) m_canTrigger = true;
|
if (m_spellInfo->SpellFamilyFlags & 0x0001000900B80400LL) m_canTrigger = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5307,7 +5307,9 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
||||||
// Rapid Recuperation
|
// Rapid Recuperation
|
||||||
if ( dummySpell->SpellIconID == 3560 )
|
if ( dummySpell->SpellIconID == 3560 )
|
||||||
{
|
{
|
||||||
// mane regen from Rapid Killing
|
// This effect only from Rapid Killing (mana regen)
|
||||||
|
if (!(procSpell->SpellFamilyFlags & 0x0100000000000000LL))
|
||||||
|
return false;
|
||||||
triggered_spell_id = 56654;
|
triggered_spell_id = 56654;
|
||||||
target = this;
|
target = this;
|
||||||
break;
|
break;
|
||||||
|
|
@ -5333,6 +5335,22 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
||||||
target = this;
|
target = this;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// Righteous Vengeance
|
||||||
|
if (dummySpell->SpellIconID == 3025)
|
||||||
|
{
|
||||||
|
// 4 damage tick
|
||||||
|
basepoints0 = triggeredByAura->GetModifier()->m_amount*damage/400;
|
||||||
|
triggered_spell_id = 61840;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// Sheath of Light
|
||||||
|
if (dummySpell->SpellIconID == 3030)
|
||||||
|
{
|
||||||
|
// 4 healing tick
|
||||||
|
basepoints0 = triggeredByAura->GetModifier()->m_amount*damage/400;
|
||||||
|
triggered_spell_id = 54203;
|
||||||
|
break;
|
||||||
|
}
|
||||||
switch(dummySpell->Id)
|
switch(dummySpell->Id)
|
||||||
{
|
{
|
||||||
// Judgement of Light
|
// Judgement of Light
|
||||||
|
|
@ -6494,6 +6512,15 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// Rapid Recuperation
|
||||||
|
case 53228:
|
||||||
|
case 53232:
|
||||||
|
{
|
||||||
|
// This effect only from Rapid Fire (ability cast)
|
||||||
|
if (!(procSpell->SpellFamilyFlags & 0x0000000000000020LL))
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Costum basepoints/target for exist spell
|
// Costum basepoints/target for exist spell
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "7148"
|
#define REVISION_NR "7149"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue