mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[9045] Implement talent 48539 and ranks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com> Also some typos in mangos.sql field order fixes (sql updates in past ahe been correct)
This commit is contained in:
parent
68c8757127
commit
d432c34307
9 changed files with 57 additions and 10 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_9034_01_mangos_spell_proc_event` bit(1) default NULL
|
`required_9045_02_mangos_spell_chain` 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';
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|
@ -13732,10 +13732,14 @@ CREATE TABLE `quest_template` (
|
||||||
`ReqItemId2` mediumint(8) unsigned NOT NULL default '0',
|
`ReqItemId2` mediumint(8) unsigned NOT NULL default '0',
|
||||||
`ReqItemId3` mediumint(8) unsigned NOT NULL default '0',
|
`ReqItemId3` mediumint(8) unsigned NOT NULL default '0',
|
||||||
`ReqItemId4` mediumint(8) unsigned NOT NULL default '0',
|
`ReqItemId4` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`ReqItemId5` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`ReqItemId6` mediumint(8) unsigned NOT NULL default '0',
|
||||||
`ReqItemCount1` smallint(5) unsigned NOT NULL default '0',
|
`ReqItemCount1` smallint(5) unsigned NOT NULL default '0',
|
||||||
`ReqItemCount2` smallint(5) unsigned NOT NULL default '0',
|
`ReqItemCount2` smallint(5) unsigned NOT NULL default '0',
|
||||||
`ReqItemCount3` smallint(5) unsigned NOT NULL default '0',
|
`ReqItemCount3` smallint(5) unsigned NOT NULL default '0',
|
||||||
`ReqItemCount4` smallint(5) unsigned NOT NULL default '0',
|
`ReqItemCount4` smallint(5) unsigned NOT NULL default '0',
|
||||||
|
`ReqItemCount5` smallint(5) unsigned NOT NULL default '0',
|
||||||
|
`ReqItemCount6` smallint(5) unsigned NOT NULL default '0',
|
||||||
`ReqSourceId1` mediumint(8) unsigned NOT NULL default '0',
|
`ReqSourceId1` mediumint(8) unsigned NOT NULL default '0',
|
||||||
`ReqSourceId2` mediumint(8) unsigned NOT NULL default '0',
|
`ReqSourceId2` mediumint(8) unsigned NOT NULL default '0',
|
||||||
`ReqSourceId3` mediumint(8) unsigned NOT NULL default '0',
|
`ReqSourceId3` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
|
@ -13772,14 +13776,10 @@ CREATE TABLE `quest_template` (
|
||||||
`RewItemId2` mediumint(8) unsigned NOT NULL default '0',
|
`RewItemId2` mediumint(8) unsigned NOT NULL default '0',
|
||||||
`RewItemId3` mediumint(8) unsigned NOT NULL default '0',
|
`RewItemId3` mediumint(8) unsigned NOT NULL default '0',
|
||||||
`RewItemId4` mediumint(8) unsigned NOT NULL default '0',
|
`RewItemId4` mediumint(8) unsigned NOT NULL default '0',
|
||||||
`ReqItemId5` mediumint(8) unsigned NOT NULL default '0',
|
|
||||||
`ReqItemId6` mediumint(8) unsigned NOT NULL default '0',
|
|
||||||
`RewItemCount1` smallint(5) unsigned NOT NULL default '0',
|
`RewItemCount1` smallint(5) unsigned NOT NULL default '0',
|
||||||
`RewItemCount2` smallint(5) unsigned NOT NULL default '0',
|
`RewItemCount2` smallint(5) unsigned NOT NULL default '0',
|
||||||
`RewItemCount3` smallint(5) unsigned NOT NULL default '0',
|
`RewItemCount3` smallint(5) unsigned NOT NULL default '0',
|
||||||
`RewItemCount4` smallint(5) unsigned NOT NULL default '0',
|
`RewItemCount4` smallint(5) unsigned NOT NULL default '0',
|
||||||
`ReqItemCount5` smallint(5) unsigned NOT NULL default '0',
|
|
||||||
`ReqItemCount6` smallint(5) unsigned NOT NULL default '0',
|
|
||||||
`RewRepFaction1` smallint(5) unsigned NOT NULL default '0' COMMENT 'faction id from Faction.dbc in this case',
|
`RewRepFaction1` smallint(5) unsigned NOT NULL default '0' COMMENT 'faction id from Faction.dbc in this case',
|
||||||
`RewRepFaction2` smallint(5) unsigned NOT NULL default '0' COMMENT 'faction id from Faction.dbc in this case',
|
`RewRepFaction2` smallint(5) unsigned NOT NULL default '0' COMMENT 'faction id from Faction.dbc in this case',
|
||||||
`RewRepFaction3` smallint(5) unsigned NOT NULL default '0' COMMENT 'faction id from Faction.dbc in this case',
|
`RewRepFaction3` smallint(5) unsigned NOT NULL default '0' COMMENT 'faction id from Faction.dbc in this case',
|
||||||
|
|
@ -16618,6 +16618,10 @@ INSERT INTO spell_chain VALUES
|
||||||
(26982,26981,774,13,0),
|
(26982,26981,774,13,0),
|
||||||
(48440,26982,774,14,0),
|
(48440,26982,774,14,0),
|
||||||
(48441,48440,774,15,0),
|
(48441,48440,774,15,0),
|
||||||
|
/*Revitalize*/
|
||||||
|
(48539,0,48539,1,0),
|
||||||
|
(48544,48539,48539,2,0),
|
||||||
|
(48545,48544,48539,3,0),
|
||||||
/*Revive*/
|
/*Revive*/
|
||||||
(50769,0,50769,1,0),
|
(50769,0,50769,1,0),
|
||||||
(50768,50769,50769,2,0),
|
(50768,50769,50769,2,0),
|
||||||
|
|
@ -18263,6 +18267,7 @@ INSERT INTO `spell_proc_event` VALUES
|
||||||
(48516, 0x00000000, 7, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 30),
|
(48516, 0x00000000, 7, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 30),
|
||||||
(48521, 0x00000000, 7, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 30),
|
(48521, 0x00000000, 7, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 30),
|
||||||
(48525, 0x00000000, 7, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 30),
|
(48525, 0x00000000, 7, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 30),
|
||||||
|
(48539, 0x00000000, 7, 0x00000010, 0x04000000, 0x00000000, 0x00040000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(48833, 0x00000000, 7, 0x00000000, 0x00000440, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(48833, 0x00000000, 7, 0x00000000, 0x00000440, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(48835, 0x00000000, 10, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(48835, 0x00000000, 10, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
(48837, 0x00000000, 11, 0x90100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
(48837, 0x00000000, 11, 0x90100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||||
|
|
|
||||||
5
sql/updates/9045_01_mangos_spell_proc_event.sql
Normal file
5
sql/updates/9045_01_mangos_spell_proc_event.sql
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
ALTER TABLE db_version CHANGE COLUMN required_9034_01_mangos_spell_proc_event required_9045_01_mangos_spell_proc_event bit;
|
||||||
|
|
||||||
|
DELETE FROM spell_proc_event WHERE entry IN (48545,48544,48539);
|
||||||
|
INSERT INTO spell_proc_event (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES
|
||||||
|
(48539, 0x00000000, 7, 0x00000010, 0x04000000, 0x00000000, 0x00040000, 0x00000000, 0.000000, 0.000000, 0);
|
||||||
8
sql/updates/9045_02_mangos_spell_chain.sql
Normal file
8
sql/updates/9045_02_mangos_spell_chain.sql
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
ALTER TABLE db_version CHANGE COLUMN required_9045_01_mangos_spell_proc_event required_9045_02_mangos_spell_chain bit;
|
||||||
|
|
||||||
|
/*Revitalize*/
|
||||||
|
DELETE FROM spell_chain WHERE first_spell = 48539;
|
||||||
|
INSERT INTO spell_chain VALUES
|
||||||
|
(48539, 0, 48539, 1, 0),
|
||||||
|
(48544, 48539, 48539, 2, 0),
|
||||||
|
(48545, 48544, 48539, 3, 0);
|
||||||
|
|
@ -217,6 +217,8 @@ pkgdata_DATA = \
|
||||||
9019_01_mangos_spell_threat.sql \
|
9019_01_mangos_spell_threat.sql \
|
||||||
9025_01_mangos_spell_proc_event.sql \
|
9025_01_mangos_spell_proc_event.sql \
|
||||||
9034_01_mangos_spell_proc_event.sql \
|
9034_01_mangos_spell_proc_event.sql \
|
||||||
|
9045_01_mangos_spell_proc_event.sql \
|
||||||
|
9045_02_mangos_spell_chain.sql \
|
||||||
README
|
README
|
||||||
|
|
||||||
## Additional files to include when running 'make dist'
|
## Additional files to include when running 'make dist'
|
||||||
|
|
@ -414,4 +416,6 @@ EXTRA_DIST = \
|
||||||
9019_01_mangos_spell_threat.sql \
|
9019_01_mangos_spell_threat.sql \
|
||||||
9025_01_mangos_spell_proc_event.sql \
|
9025_01_mangos_spell_proc_event.sql \
|
||||||
9034_01_mangos_spell_proc_event.sql \
|
9034_01_mangos_spell_proc_event.sql \
|
||||||
|
9045_01_mangos_spell_proc_event.sql \
|
||||||
|
9045_02_mangos_spell_chain.sql \
|
||||||
README
|
README
|
||||||
|
|
|
||||||
|
|
@ -6746,6 +6746,11 @@ void Aura::PeriodicTick()
|
||||||
|
|
||||||
int32 gain = m_target->ModifyHealth(pdamage);
|
int32 gain = m_target->ModifyHealth(pdamage);
|
||||||
|
|
||||||
|
// Set trigger flag
|
||||||
|
uint32 procAttacker = PROC_FLAG_ON_DO_PERIODIC;
|
||||||
|
uint32 procVictim = PROC_FLAG_ON_TAKE_PERIODIC;
|
||||||
|
pCaster->ProcDamageAndSpell(m_target, procAttacker, procVictim, PROC_EX_NORMAL_HIT, gain, BASE_ATTACK, m_spellProto);
|
||||||
|
|
||||||
// add HoTs to amount healed in bgs
|
// add HoTs to amount healed in bgs
|
||||||
if( pCaster->GetTypeId() == TYPEID_PLAYER )
|
if( pCaster->GetTypeId() == TYPEID_PLAYER )
|
||||||
if( BattleGround *bg = ((Player*)pCaster)->GetBattleGround() )
|
if( BattleGround *bg = ((Player*)pCaster)->GetBattleGround() )
|
||||||
|
|
|
||||||
|
|
@ -2996,6 +2996,7 @@ void Spell::EffectEnergize(uint32 i)
|
||||||
level_multiplier = 4;
|
level_multiplier = 4;
|
||||||
break;
|
break;
|
||||||
case 31930: // Judgements of the Wise
|
case 31930: // Judgements of the Wise
|
||||||
|
case 48542: // Revitalize (mana restore case)
|
||||||
case 63375: // Improved Stormstrike
|
case 63375: // Improved Stormstrike
|
||||||
damage = damage * unitTarget->GetCreateMana() / 100;
|
damage = damage * unitTarget->GetCreateMana() / 100;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -7601,6 +7601,9 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, Aura
|
||||||
Item* castItem = triggeredByAura->GetCastItemGUID() && GetTypeId()==TYPEID_PLAYER
|
Item* castItem = triggeredByAura->GetCastItemGUID() && GetTypeId()==TYPEID_PLAYER
|
||||||
? ((Player*)this)->GetItemByGuid(triggeredByAura->GetCastItemGUID()) : NULL;
|
? ((Player*)this)->GetItemByGuid(triggeredByAura->GetCastItemGUID()) : NULL;
|
||||||
|
|
||||||
|
// Basepoints of trigger aura
|
||||||
|
int32 triggerAmount = triggeredByAura->GetModifier()->m_amount;
|
||||||
|
|
||||||
uint32 triggered_spell_id = 0;
|
uint32 triggered_spell_id = 0;
|
||||||
|
|
||||||
switch(scriptId)
|
switch(scriptId)
|
||||||
|
|
@ -7629,8 +7632,7 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, Aura
|
||||||
case 4086: // Improved Mend Pet (Rank 1)
|
case 4086: // Improved Mend Pet (Rank 1)
|
||||||
case 4087: // Improved Mend Pet (Rank 2)
|
case 4087: // Improved Mend Pet (Rank 2)
|
||||||
{
|
{
|
||||||
int32 chance = triggeredByAura->GetSpellProto()->EffectBasePoints[triggeredByAura->GetEffIndex()];
|
if(!roll_chance_i(triggerAmount))
|
||||||
if(!roll_chance_i(chance))
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
triggered_spell_id = 24406;
|
triggered_spell_id = 24406;
|
||||||
|
|
@ -7661,6 +7663,23 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, Aura
|
||||||
case 6953: // Warbringer
|
case 6953: // Warbringer
|
||||||
RemoveAurasAtMechanicImmunity(IMMUNE_TO_ROOT_AND_SNARE_MASK,0,true);
|
RemoveAurasAtMechanicImmunity(IMMUNE_TO_ROOT_AND_SNARE_MASK,0,true);
|
||||||
return true;
|
return true;
|
||||||
|
case 7010: // Revitalize (rank 1)
|
||||||
|
case 7011: // Revitalize (rank 2)
|
||||||
|
case 7012: // Revitalize (rank 3)
|
||||||
|
{
|
||||||
|
if(!roll_chance_i(triggerAmount))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
switch( pVictim->getPowerType() )
|
||||||
|
{
|
||||||
|
case POWER_MANA: triggered_spell_id = 48542; break;
|
||||||
|
case POWER_RAGE: triggered_spell_id = 48541; break;
|
||||||
|
case POWER_ENERGY: triggered_spell_id = 48540; break;
|
||||||
|
case POWER_RUNIC_POWER: triggered_spell_id = 48543; break;
|
||||||
|
default: return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// not processed
|
// not processed
|
||||||
|
|
@ -12726,7 +12745,7 @@ bool Unit::IsTriggeredAtSpellProcEvent(Unit *pVictim, Aura* aura, SpellEntry con
|
||||||
}
|
}
|
||||||
// Aura added by spell can`t trogger from self (prevent drop charges/do triggers)
|
// Aura added by spell can`t trogger from self (prevent drop charges/do triggers)
|
||||||
// But except periodic triggers (can triggered from self)
|
// But except periodic triggers (can triggered from self)
|
||||||
if(procSpell && procSpell->Id == spellProto->Id && !(spellProto->procFlags&PROC_FLAG_ON_TAKE_PERIODIC))
|
if(procSpell && procSpell->Id == spellProto->Id && !(spellProto->procFlags & PROC_FLAG_ON_TAKE_PERIODIC))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Check if current equipment allows aura to proc
|
// Check if current equipment allows aura to proc
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "9044"
|
#define REVISION_NR "9045"
|
||||||
#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_8874_01_characters_character_skills"
|
#define REVISION_DB_CHARACTERS "required_8874_01_characters_character_skills"
|
||||||
#define REVISION_DB_MANGOS "required_9034_01_mangos_spell_proc_event"
|
#define REVISION_DB_MANGOS "required_9045_02_mangos_spell_chain"
|
||||||
#define REVISION_DB_REALMD "required_9010_01_realmd_realmlist"
|
#define REVISION_DB_REALMD "required_9010_01_realmd_realmlist"
|
||||||
#endif // __REVISION_SQL_H__
|
#endif // __REVISION_SQL_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue