mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 19:37:02 +00:00
[10764] Implement talent 44543 and ranks charges work.
Signed-off-by: VladimirMangos <vladimir@getmangos.com> Also fix IGNORE_UNIT_TARGET_NON_FROZEN in part allow casting spell that required frozen target.
This commit is contained in:
parent
de13dbea37
commit
a34deecfc0
8 changed files with 32 additions and 6 deletions
|
|
@ -24,7 +24,7 @@ CREATE TABLE `db_version` (
|
||||||
`version` varchar(120) default NULL,
|
`version` varchar(120) default NULL,
|
||||||
`creature_ai_version` varchar(120) default NULL,
|
`creature_ai_version` varchar(120) default NULL,
|
||||||
`cache_id` int(10) default '0',
|
`cache_id` int(10) default '0',
|
||||||
`required_10762_01_mangos_spell_proc_event` bit(1) default NULL
|
`required_10764_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';
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|
@ -17426,7 +17426,8 @@ INSERT INTO `spell_proc_event` VALUES
|
||||||
(71545, 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),
|
||||||
(71611, 0x7F, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(71611, 0x7F, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(71642, 0x7F, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(71642, 0x7F, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(71761, 0x00, 3, 0x00000000, 0x00000000, 0x00000000, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0.000000, 0.000000, 0);
|
(71761, 0x00, 3, 0x00000000, 0x00000000, 0x00000000, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0.000000, 0.000000, 0),
|
||||||
|
(74396, 0x00, 3, 0x28E212F7, 0x28E212F7, 0x28E212F7, 0x00119048, 0x00119048, 0x00119048, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0.000000, 0.000000, 0);
|
||||||
|
|
||||||
/*!40000 ALTER TABLE `spell_proc_event` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `spell_proc_event` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
|
||||||
5
sql/updates/10764_01_mangos_spell_proc_event.sql
Normal file
5
sql/updates/10764_01_mangos_spell_proc_event.sql
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
ALTER TABLE db_version CHANGE COLUMN required_10762_01_mangos_spell_proc_event required_10764_01_mangos_spell_proc_event bit;
|
||||||
|
|
||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` IN (74396);
|
||||||
|
INSERT INTO spell_proc_event VALUES
|
||||||
|
(74396, 0x00, 3, 0x28E212F7, 0x28E212F7, 0x28E212F7, 0x00119048, 0x00119048, 0x00119048, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0.000000, 0.000000, 0);
|
||||||
|
|
@ -124,6 +124,7 @@ pkgdata_DATA = \
|
||||||
10746_01_mangos_mangos_string.sql \
|
10746_01_mangos_mangos_string.sql \
|
||||||
10749_01_mangos_mangos_string.sql \
|
10749_01_mangos_mangos_string.sql \
|
||||||
10762_01_mangos_spell_proc_event.sql \
|
10762_01_mangos_spell_proc_event.sql \
|
||||||
|
10764_01_mangos_spell_proc_event.sql \
|
||||||
README
|
README
|
||||||
|
|
||||||
## Additional files to include when running 'make dist'
|
## Additional files to include when running 'make dist'
|
||||||
|
|
@ -228,4 +229,5 @@ EXTRA_DIST = \
|
||||||
10746_01_mangos_mangos_string.sql \
|
10746_01_mangos_mangos_string.sql \
|
||||||
10749_01_mangos_mangos_string.sql \
|
10749_01_mangos_mangos_string.sql \
|
||||||
10762_01_mangos_spell_proc_event.sql \
|
10762_01_mangos_spell_proc_event.sql \
|
||||||
|
10764_01_mangos_spell_proc_event.sql \
|
||||||
README
|
README
|
||||||
|
|
|
||||||
|
|
@ -902,7 +902,7 @@ enum AuraState
|
||||||
AURA_STATE_DEFENSE = 1, // C |
|
AURA_STATE_DEFENSE = 1, // C |
|
||||||
AURA_STATE_HEALTHLESS_20_PERCENT = 2, // CcT |
|
AURA_STATE_HEALTHLESS_20_PERCENT = 2, // CcT |
|
||||||
AURA_STATE_BERSERKING = 3, // C T |
|
AURA_STATE_BERSERKING = 3, // C T |
|
||||||
AURA_STATE_FROZEN = 4, // c t| frozen target
|
AURA_STATE_FROZEN = 4, // cT | frozen target
|
||||||
AURA_STATE_JUDGEMENT = 5, // C |
|
AURA_STATE_JUDGEMENT = 5, // C |
|
||||||
//AURA_STATE_UNKNOWN6 = 6, // | not used
|
//AURA_STATE_UNKNOWN6 = 6, // | not used
|
||||||
AURA_STATE_HUNTER_PARRY = 7, // C |
|
AURA_STATE_HUNTER_PARRY = 7, // C |
|
||||||
|
|
|
||||||
|
|
@ -2814,6 +2814,9 @@ void Spell::cast(bool skipCheck)
|
||||||
// Ice Block
|
// Ice Block
|
||||||
if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000008000000000))
|
if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000008000000000))
|
||||||
AddPrecastSpell(41425); // Hypothermia
|
AddPrecastSpell(41425); // Hypothermia
|
||||||
|
// Fingers of Frost
|
||||||
|
else if (m_spellInfo->Id == 44544)
|
||||||
|
AddPrecastSpell(74396); // Fingers of Frost
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SPELLFAMILY_WARRIOR:
|
case SPELLFAMILY_WARRIOR:
|
||||||
|
|
@ -4349,7 +4352,7 @@ SpellCastResult Spell::CheckCast(bool strict)
|
||||||
{
|
{
|
||||||
// target state requirements (apply to non-self only), to allow cast affects to self like Dirty Deeds
|
// target state requirements (apply to non-self only), to allow cast affects to self like Dirty Deeds
|
||||||
if (m_spellInfo->TargetAuraState && !target->HasAuraStateForCaster(AuraState(m_spellInfo->TargetAuraState), m_caster->GetGUID()) &&
|
if (m_spellInfo->TargetAuraState && !target->HasAuraStateForCaster(AuraState(m_spellInfo->TargetAuraState), m_caster->GetGUID()) &&
|
||||||
!m_caster->IsIgnoreUnitState(m_spellInfo, IGNORE_UNIT_TARGET_STATE))
|
!m_caster->IsIgnoreUnitState(m_spellInfo, m_spellInfo->TargetAuraState == AURA_STATE_FROZEN ? IGNORE_UNIT_TARGET_NON_FROZEN : IGNORE_UNIT_TARGET_STATE))
|
||||||
return SPELL_FAILED_TARGET_AURASTATE;
|
return SPELL_FAILED_TARGET_AURASTATE;
|
||||||
|
|
||||||
// Not allow casting on flying player
|
// Not allow casting on flying player
|
||||||
|
|
|
||||||
|
|
@ -2102,6 +2102,13 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case SPELLFAMILY_MAGE:
|
||||||
|
{
|
||||||
|
// Fingers of Frost stacks set to max at apply
|
||||||
|
if (GetId() == 74396)
|
||||||
|
GetHolder()->SetAuraCharges(GetSpellProto()->StackAmount);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case SPELLFAMILY_SHAMAN:
|
case SPELLFAMILY_SHAMAN:
|
||||||
{
|
{
|
||||||
switch(GetId())
|
switch(GetId())
|
||||||
|
|
@ -8353,6 +8360,14 @@ void SpellAuraHolder::HandleSpellSpecificBoosts(bool apply)
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 74396: // Fingers of Frost (remove main aura)
|
||||||
|
{
|
||||||
|
if (!apply)
|
||||||
|
spellId1 = 44544;
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "10763"
|
#define REVISION_NR "10764"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef __REVISION_SQL_H__
|
#ifndef __REVISION_SQL_H__
|
||||||
#define __REVISION_SQL_H__
|
#define __REVISION_SQL_H__
|
||||||
#define REVISION_DB_CHARACTERS "required_10664_01_characters_arena_team_stats"
|
#define REVISION_DB_CHARACTERS "required_10664_01_characters_arena_team_stats"
|
||||||
#define REVISION_DB_MANGOS "required_10762_01_mangos_spell_proc_event"
|
#define REVISION_DB_MANGOS "required_10764_01_mangos_spell_proc_event"
|
||||||
#define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version"
|
#define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version"
|
||||||
#endif // __REVISION_SQL_H__
|
#endif // __REVISION_SQL_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue