mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 01:37:00 +00:00
[10349] Implement work item 50351 and 50706.
This commit is contained in:
parent
fbf517e763
commit
017d7c7160
6 changed files with 41 additions and 5 deletions
|
|
@ -24,7 +24,7 @@ CREATE TABLE `db_version` (
|
|||
`version` varchar(120) default NULL,
|
||||
`creature_ai_version` varchar(120) default NULL,
|
||||
`cache_id` int(10) default '0',
|
||||
`required_10342_02_mangos_command` bit(1) default NULL
|
||||
`required_10349_01_mangos_spell_proc_event` bit(1) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
||||
|
||||
--
|
||||
|
|
@ -18404,6 +18404,8 @@ INSERT INTO `spell_proc_event` VALUES
|
|||
(67771, 0x7F, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 45),
|
||||
(70664, 0x00, 7, 0x00000010, 0x00000010, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||
(70748, 0x00, 3, 0x00000000, 0x00000000, 0x00000000, 0x00200000, 0x00200000, 0x00200000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||
(71406, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000,45.000000, 0),
|
||||
(71545, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000,45.000000, 0),
|
||||
(71761, 0x00, 3, 0x00000000, 0x00000000, 0x00000000, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0.000000, 0.000000, 0);
|
||||
|
||||
/*!40000 ALTER TABLE `spell_proc_event` ENABLE KEYS */;
|
||||
|
|
|
|||
6
sql/updates/10349_01_mangos_spell_proc_event.sql
Normal file
6
sql/updates/10349_01_mangos_spell_proc_event.sql
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
ALTER TABLE db_version CHANGE COLUMN required_10342_02_mangos_command required_10349_01_mangos_spell_proc_event bit;
|
||||
|
||||
delete from `spell_proc_event` where entry IN (71406, 71545);
|
||||
insert into `spell_proc_event` values
|
||||
(71406, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0.000000,45.000000, 0),
|
||||
(71545, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0.000000,45.000000, 0);
|
||||
|
|
@ -76,6 +76,7 @@ pkgdata_DATA = \
|
|||
10332_02_characters_pet_aura.sql \
|
||||
10342_01_mangos_mangos_string.sql \
|
||||
10342_02_mangos_command.sql \
|
||||
10349_01_mangos_spell_proc_event.sql \
|
||||
README
|
||||
|
||||
## Additional files to include when running 'make dist'
|
||||
|
|
@ -132,4 +133,5 @@ EXTRA_DIST = \
|
|||
10332_02_characters_pet_aura.sql \
|
||||
10342_01_mangos_mangos_string.sql \
|
||||
10342_02_mangos_command.sql \
|
||||
10349_01_mangos_spell_proc_event.sql \
|
||||
README
|
||||
|
|
|
|||
|
|
@ -959,8 +959,8 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura
|
|||
if (!roll_chance_i(triggerAmount))
|
||||
return SPELL_AURA_PROC_FAILED;
|
||||
|
||||
Aura *aur = GetAura(71905, EFFECT_INDEX_0);
|
||||
if (aur && uint32(aur->GetStackAmount() + 1) >= aur->GetSpellProto()->StackAmount)
|
||||
SpellAuraHolder *aurHolder = GetSpellAuraHolder(71905);
|
||||
if (aurHolder && uint32(aurHolder->GetStackAmount() + 1) >= aurHolder->GetSpellProto()->StackAmount)
|
||||
{
|
||||
RemoveAurasDueToSpell(71905);
|
||||
CastSpell(this, 71904, true); // Chaos Bane
|
||||
|
|
@ -1997,6 +1997,32 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura
|
|||
target = this;
|
||||
break;
|
||||
}
|
||||
// Anger Capacitor
|
||||
case 71406: // normal
|
||||
case 71545: // heroic
|
||||
{
|
||||
if (!pVictim)
|
||||
return SPELL_AURA_PROC_FAILED;
|
||||
|
||||
SpellEntry const* mote = sSpellStore.LookupEntry(71432);
|
||||
if (!mote)
|
||||
return SPELL_AURA_PROC_FAILED;
|
||||
uint32 maxStack = mote->StackAmount - (dummySpell->Id == 71545 ? 1 : 0);
|
||||
|
||||
SpellAuraHolder *aurHolder = GetSpellAuraHolder(71432);
|
||||
if (aurHolder && uint32(aurHolder->GetStackAmount() +1) >= maxStack)
|
||||
{
|
||||
RemoveAurasDueToSpell(71432); // Mote of Anger
|
||||
|
||||
// Manifest Anger (main hand/off hand)
|
||||
CastSpell(pVictim, roll_chance_i(50) ? 71433 : 71434, true);
|
||||
return SPELL_AURA_PROC_OK;
|
||||
}
|
||||
else
|
||||
triggered_spell_id = 71432;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "10348"
|
||||
#define REVISION_NR "10349"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef __REVISION_SQL_H__
|
||||
#define __REVISION_SQL_H__
|
||||
#define REVISION_DB_CHARACTERS "required_10332_02_characters_pet_aura"
|
||||
#define REVISION_DB_MANGOS "required_10342_02_mangos_command"
|
||||
#define REVISION_DB_MANGOS "required_10349_01_mangos_spell_proc_event"
|
||||
#define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version"
|
||||
#endif // __REVISION_SQL_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue