mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 04:37:00 +00:00
[9160] Implement and use PROC_EX_FULL_BLOCK
It used for spell 31245 and ranks new proc flags. Original patch provided by dardennf.
This commit is contained in:
parent
83261d9b9b
commit
a21affbd68
9 changed files with 37 additions and 13 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_9156_02_mangos_spell_proc_event` bit(1) default NULL
|
||||
`required_9160_02_mangos_spell_chain` bit(1) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
||||
|
||||
--
|
||||
|
|
@ -14620,8 +14620,8 @@ INSERT INTO spell_chain VALUES
|
|||
-- (50) Beast Mastery
|
||||
------------------*/
|
||||
/*Aspect of the Dragonhawk*/
|
||||
(61846, 0, 61846, 1, 0),
|
||||
(61847, 61846, 61846, 2, 0),
|
||||
(61846,0,61846,1,0),
|
||||
(61847,61846,61846,2,0),
|
||||
/*Aspect of the Hawk*/
|
||||
(13165,0,13165,1,0),
|
||||
(14318,13165,13165,2,0),
|
||||
|
|
@ -15797,6 +15797,9 @@ INSERT INTO spell_chain VALUES
|
|||
(34413,34412,1329,4,0),
|
||||
(48663,34413,1329,5,0),
|
||||
(48666,48663,1329,6,0),
|
||||
/*Quick Recovery*/
|
||||
(31244,0,31244,1,0),
|
||||
(31245,31244,31244,2,0),
|
||||
/*Rupture*/
|
||||
(1943,0,1943,1,0),
|
||||
(8639,1943,1943,2,0),
|
||||
|
|
@ -18043,8 +18046,7 @@ INSERT INTO `spell_proc_event` VALUES
|
|||
(30937, 0x00000020, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||
(31124, 0x00000000, 8, 0x2000000E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||
(31126, 0x00000000, 8, 0x2000000E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||
(31244, 0x00000000, 8, 0x003E0000, 0x00000009, 0x00000000, 0x00000000, 0x00000004, 0.000000, 0.000000, 0),
|
||||
(31245, 0x00000000, 8, 0x003E0000, 0x00000009, 0x00000000, 0x00000000, 0x00000004, 0.000000, 0.000000, 0),
|
||||
(31244, 0x00000000, 8, 0x003E0000, 0x00000009, 0x00000000, 0x00000000, 0x00002034, 0.000000, 0.000000, 0),
|
||||
(31394, 0x00000020, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||
(31569, 0x00000000, 3, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||
(31570, 0x00000000, 3, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
|
||||
|
|
|
|||
5
sql/updates/9160_01_mangos_spell_proc_event.sql
Normal file
5
sql/updates/9160_01_mangos_spell_proc_event.sql
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
ALTER TABLE db_version CHANGE COLUMN required_9156_02_mangos_spell_proc_event required_9160_01_mangos_spell_proc_event bit;
|
||||
|
||||
DELETE FROM `spell_proc_event` WHERE `entry` IN (31244,31245);
|
||||
INSERT INTO `spell_proc_event` VALUES
|
||||
(31244, 0x00000000, 8, 0x003E0000, 0x00000009, 0x00000000, 0x00000000, 0x00002034, 0.000000, 0.000000, 0);
|
||||
7
sql/updates/9160_02_mangos_spell_chain.sql
Normal file
7
sql/updates/9160_02_mangos_spell_chain.sql
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
ALTER TABLE db_version CHANGE COLUMN required_9160_01_mangos_spell_proc_event required_9160_02_mangos_spell_chain bit;
|
||||
|
||||
/*Quick Recovery*/
|
||||
DELETE FROM spell_chain WHERE first_spell = 31244;
|
||||
INSERT INTO spell_chain VALUES
|
||||
(31244, 0, 31244, 1, 0),
|
||||
(31245, 31244, 31244, 2, 0);
|
||||
5
sql/updates/9999_02_mangos_spell_chain.sql
Normal file
5
sql/updates/9999_02_mangos_spell_chain.sql
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
/*Quick Recovery*/
|
||||
DELETE FROM spell_chain WHERE first_spell = 31244;
|
||||
INSERT INTO spell_chain VALUES
|
||||
(31244, 0, 31244, 1, 0),
|
||||
(31245, 31244, 31244, 2, 0);
|
||||
|
|
@ -242,6 +242,8 @@ pkgdata_DATA = \
|
|||
9155_01_mangos_spell_proc_event.sql \
|
||||
9156_01_mangos_spell_chain.sql \
|
||||
9156_02_mangos_spell_proc_event.sql \
|
||||
9160_01_mangos_spell_proc_event.sql \
|
||||
9160_02_mangos_spell_chain.sql \
|
||||
README
|
||||
|
||||
## Additional files to include when running 'make dist'
|
||||
|
|
@ -464,4 +466,6 @@ EXTRA_DIST = \
|
|||
9155_01_mangos_spell_proc_event.sql \
|
||||
9156_01_mangos_spell_chain.sql \
|
||||
9156_02_mangos_spell_proc_event.sql \
|
||||
9160_01_mangos_spell_proc_event.sql \
|
||||
9160_02_mangos_spell_chain.sql \
|
||||
README
|
||||
|
|
|
|||
|
|
@ -498,7 +498,7 @@ enum ProcFlagsEx
|
|||
PROC_EX_ABSORB = 0x0000400,
|
||||
PROC_EX_REFLECT = 0x0000800,
|
||||
PROC_EX_INTERRUPT = 0x0001000, // Melee hit result can be Interrupt (not used)
|
||||
PROC_EX_RESERVED1 = 0x0002000,
|
||||
PROC_EX_FULL_BLOCK = 0x0002000, // block al attack damage
|
||||
PROC_EX_RESERVED2 = 0x0004000,
|
||||
PROC_EX_RESERVED3 = 0x0008000,
|
||||
PROC_EX_EX_TRIGGER_ALWAYS = 0x0010000, // If set trigger always ( no matter another flags) used for drop charges
|
||||
|
|
|
|||
|
|
@ -1317,7 +1317,7 @@ void Unit::CalculateMeleeDamage(Unit *pVictim, uint32 damage, CalcDamageInfo *da
|
|||
}
|
||||
case MELEE_HIT_PARRY:
|
||||
damageInfo->TargetState = VICTIMSTATE_PARRY;
|
||||
damageInfo->procEx|=PROC_EX_PARRY;
|
||||
damageInfo->procEx |= PROC_EX_PARRY;
|
||||
damageInfo->cleanDamage += damageInfo->damage;
|
||||
damageInfo->damage = 0;
|
||||
break;
|
||||
|
|
@ -1332,12 +1332,13 @@ void Unit::CalculateMeleeDamage(Unit *pVictim, uint32 damage, CalcDamageInfo *da
|
|||
{
|
||||
damageInfo->TargetState = VICTIMSTATE_NORMAL;
|
||||
damageInfo->HitInfo |= HITINFO_BLOCK;
|
||||
damageInfo->procEx|=PROC_EX_BLOCK;
|
||||
damageInfo->procEx |= PROC_EX_BLOCK;
|
||||
damageInfo->blocked_amount = damageInfo->target->GetShieldBlockValue();
|
||||
if (damageInfo->blocked_amount >= damageInfo->damage)
|
||||
{
|
||||
damageInfo->TargetState = VICTIMSTATE_BLOCKS;
|
||||
damageInfo->blocked_amount = damageInfo->damage;
|
||||
damageInfo->procEx |= PROC_EX_FULL_BLOCK;
|
||||
}
|
||||
damageInfo->damage -= damageInfo->blocked_amount;
|
||||
damageInfo->cleanDamage += damageInfo->blocked_amount;
|
||||
|
|
@ -1345,9 +1346,9 @@ void Unit::CalculateMeleeDamage(Unit *pVictim, uint32 damage, CalcDamageInfo *da
|
|||
}
|
||||
case MELEE_HIT_GLANCING:
|
||||
{
|
||||
damageInfo->HitInfo |= HITINFO_GLANCING;
|
||||
damageInfo->TargetState = VICTIMSTATE_NORMAL;
|
||||
damageInfo->procEx|=PROC_EX_NORMAL_HIT;
|
||||
damageInfo->HitInfo |= HITINFO_GLANCING;
|
||||
damageInfo->TargetState = VICTIMSTATE_NORMAL;
|
||||
damageInfo->procEx |= PROC_EX_NORMAL_HIT;
|
||||
float reducePercent = 1.0f; //damage factor
|
||||
// calculate base values and mods
|
||||
float baseLowEnd = 1.3f;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "9159"
|
||||
#define REVISION_NR "9160"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef __REVISION_SQL_H__
|
||||
#define __REVISION_SQL_H__
|
||||
#define REVISION_DB_CHARACTERS "required_9136_07_characters_characters"
|
||||
#define REVISION_DB_MANGOS "required_9156_02_mangos_spell_proc_event"
|
||||
#define REVISION_DB_MANGOS "required_9160_02_mangos_spell_chain"
|
||||
#define REVISION_DB_REALMD "required_9010_01_realmd_realmlist"
|
||||
#endif // __REVISION_SQL_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue