[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:
MrLama 2009-12-22 00:11:44 +03:00 committed by VladimirMangos
parent 68c8757127
commit d432c34307
9 changed files with 57 additions and 10 deletions

View file

@ -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_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';
--
@ -13732,10 +13732,14 @@ CREATE TABLE `quest_template` (
`ReqItemId2` mediumint(8) unsigned NOT NULL default '0',
`ReqItemId3` 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',
`ReqItemCount2` smallint(5) unsigned NOT NULL default '0',
`ReqItemCount3` 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',
`ReqSourceId2` 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',
`RewItemId3` 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',
`RewItemCount2` smallint(5) unsigned NOT NULL default '0',
`RewItemCount3` 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',
`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',
@ -16618,6 +16618,10 @@ INSERT INTO spell_chain VALUES
(26982,26981,774,13,0),
(48440,26982,774,14,0),
(48441,48440,774,15,0),
/*Revitalize*/
(48539,0,48539,1,0),
(48544,48539,48539,2,0),
(48545,48544,48539,3,0),
/*Revive*/
(50769,0,50769,1,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),
(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),
(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),
(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),

View 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);

View 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);

View file

@ -217,6 +217,8 @@ pkgdata_DATA = \
9019_01_mangos_spell_threat.sql \
9025_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
## Additional files to include when running 'make dist'
@ -414,4 +416,6 @@ EXTRA_DIST = \
9019_01_mangos_spell_threat.sql \
9025_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

View file

@ -6746,6 +6746,11 @@ void Aura::PeriodicTick()
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
if( pCaster->GetTypeId() == TYPEID_PLAYER )
if( BattleGround *bg = ((Player*)pCaster)->GetBattleGround() )

View file

@ -2996,6 +2996,7 @@ void Spell::EffectEnergize(uint32 i)
level_multiplier = 4;
break;
case 31930: // Judgements of the Wise
case 48542: // Revitalize (mana restore case)
case 63375: // Improved Stormstrike
damage = damage * unitTarget->GetCreateMana() / 100;
break;

View file

@ -7601,6 +7601,9 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, Aura
Item* castItem = triggeredByAura->GetCastItemGUID() && GetTypeId()==TYPEID_PLAYER
? ((Player*)this)->GetItemByGuid(triggeredByAura->GetCastItemGUID()) : NULL;
// Basepoints of trigger aura
int32 triggerAmount = triggeredByAura->GetModifier()->m_amount;
uint32 triggered_spell_id = 0;
switch(scriptId)
@ -7629,8 +7632,7 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, Aura
case 4086: // Improved Mend Pet (Rank 1)
case 4087: // Improved Mend Pet (Rank 2)
{
int32 chance = triggeredByAura->GetSpellProto()->EffectBasePoints[triggeredByAura->GetEffIndex()];
if(!roll_chance_i(chance))
if(!roll_chance_i(triggerAmount))
return false;
triggered_spell_id = 24406;
@ -7661,6 +7663,23 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, Aura
case 6953: // Warbringer
RemoveAurasAtMechanicImmunity(IMMUNE_TO_ROOT_AND_SNARE_MASK,0,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

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "9044"
#define REVISION_NR "9045"
#endif // __REVISION_NR_H__

View file

@ -1,6 +1,6 @@
#ifndef __REVISION_SQL_H__
#define __REVISION_SQL_H__
#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"
#endif // __REVISION_SQL_H__