diff options
| -rw-r--r-- | sql/updates/7031_01_mangos_spell_proc_event.sql | 2 | ||||
| -rw-r--r-- | sql/updates/7033_01_mangos_spell_proc_event.sql | 78 | ||||
| -rw-r--r-- | sql/updates/TBC-WLK_world.sql | 21 | ||||
| -rw-r--r-- | src/game/Unit.cpp | 81 | ||||
| -rw-r--r-- | src/realmd/RealmList.cpp | 1 | ||||
| -rw-r--r-- | src/realmd/RealmList.h | 1 | ||||
| -rw-r--r-- | src/shared/revision_nr.h | 2 | 
7 files changed, 181 insertions, 5 deletions
| diff --git a/sql/updates/7031_01_mangos_spell_proc_event.sql b/sql/updates/7031_01_mangos_spell_proc_event.sql index 2bd182a3a31..d10f099fbee 100644 --- a/sql/updates/7031_01_mangos_spell_proc_event.sql +++ b/sql/updates/7031_01_mangos_spell_proc_event.sql @@ -1,3 +1,5 @@ +ALTER TABLE db_version CHANGE COLUMN required_7026_01_mangos_battleground_template required_7031_01_mangos_spell_proc_event bit; +  -- (44445) Hot Streak (Rank 1)  DELETE FROM `spell_proc_event` WHERE `entry` IN (44445);  INSERT INTO `spell_proc_event` VALUES (44445, 0x00, 3, 0x0000100000000013, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); diff --git a/sql/updates/7033_01_mangos_spell_proc_event.sql b/sql/updates/7033_01_mangos_spell_proc_event.sql new file mode 100644 index 00000000000..b95cbf93f47 --- /dev/null +++ b/sql/updates/7033_01_mangos_spell_proc_event.sql @@ -0,0 +1,78 @@ +ALTER TABLE db_version CHANGE COLUMN required_7031_01_mangos_spell_proc_event required_7033_01_mangos_spell_proc_event bit; + +-- (48516) Eclipse (Rank 1) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48516); +INSERT INTO `spell_proc_event` VALUES (48516, 0x00, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0.000000, 0.000000, 30); + +-- (48521) Eclipse (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48521); +INSERT INTO `spell_proc_event` VALUES (48521, 0x00, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0.000000, 0.000000, 30); + +-- (48525) Eclipse (Rank 3) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48525); +INSERT INTO `spell_proc_event` VALUES (48525, 0x00, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0.000000, 0.000000, 30); + +-- (48496) Living Seed (Rank 1) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48496); +INSERT INTO `spell_proc_event` VALUES (48496, 0x00, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0.000000, 0.000000, 0); + +-- (48499) Living Seed (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48499); +INSERT INTO `spell_proc_event` VALUES (48499, 0x00, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0.000000, 0.000000, 0); + +-- (48500) Living Seed (Rank 3) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48500); +INSERT INTO `spell_proc_event` VALUES (48500, 0x00, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0.000000, 0.000000, 0); + +-- (53228) Rapid Recuperation (Rank 1) +DELETE FROM `spell_proc_event` WHERE `entry` IN (53228); +INSERT INTO `spell_proc_event` VALUES (53228, 0x00, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (53232) Rapid Recuperation (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (53232); +INSERT INTO `spell_proc_event` VALUES (53232, 0x00, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (55440) Glyph of Healing Wave () +DELETE FROM `spell_proc_event` WHERE `entry` IN (55440); +INSERT INTO `spell_proc_event` VALUES (55440, 0x00, 11, 0x0000000000000040, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52795) Borrowed Time (Rank 1) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52795); +INSERT INTO `spell_proc_event` VALUES (52795, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52797) Borrowed Time (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52797); +INSERT INTO `spell_proc_event` VALUES (52797, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52798) Borrowed Time (Rank 3) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52798); +INSERT INTO `spell_proc_event` VALUES (52798, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52799) Borrowed Time (Rank 4) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52799); +INSERT INTO `spell_proc_event` VALUES (52799, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (52800) Borrowed Time (Rank 5) +DELETE FROM `spell_proc_event` WHERE `entry` IN (52800); +INSERT INTO `spell_proc_event` VALUES (52800, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (55677) Glyph of Dispel Magic () +DELETE FROM `spell_proc_event` WHERE `entry` IN (55677); +INSERT INTO `spell_proc_event` VALUES (55677, 0x00, 6, 0x0000000100000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (55680) Glyph of Prayer of Healing () +DELETE FROM `spell_proc_event` WHERE `entry` IN (55680); +INSERT INTO `spell_proc_event` VALUES (55680, 0x00, 6, 0x0000000000000200, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (47572) Psychic Horror (Rank 2) +DELETE FROM `spell_proc_event` WHERE `entry` IN (47572); +INSERT INTO `spell_proc_event` VALUES (47572, 0x00, 6, 0x0000000000010000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (48159) Vampiric Touch (Rank 4) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48159); +INSERT INTO `spell_proc_event` VALUES (48159, 0x20, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +-- (48160) Vampiric Touch (Rank 5) +DELETE FROM `spell_proc_event` WHERE `entry` IN (48160); +INSERT INTO `spell_proc_event` VALUES (48160, 0x20, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + diff --git a/sql/updates/TBC-WLK_world.sql b/sql/updates/TBC-WLK_world.sql index dc94a0be445..04b1dd55754 100644 --- a/sql/updates/TBC-WLK_world.sql +++ b/sql/updates/TBC-WLK_world.sql @@ -6833,6 +6833,25 @@ INSERT INTO `spell_proc_event` VALUES  (60572, 0x00000000, 11, 0x0000000090100000, 0x00000000, 0x00000000, 0, 0, 0),  (60617, 0x00000000, 0, 0x0000000000000000, 0x00000000, 0x00000020, 0, 0, 0),  (60826, 0x00000000, 15, 0x0000000001400000, 0x00000000, 0x00000000, 0, 0, 0), -(61324, 0x00000000, 10, 0x0002000000000000, 0x00000000, 0x00000000, 0, 0, 0); +(61324, 0x00000000, 10, 0x0002000000000000, 0x00000000, 0x00000000, 0, 0, 0), +(48516, 0x00000000, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0, 0, 30), +(48521, 0x00000000, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0, 0, 30), +(48525, 0x00000000, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0, 0, 30), +(48496, 0x00000000, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0, 0, 0), +(48499, 0x00000000, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0, 0, 0), +(48500, 0x00000000, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0, 0, 0), +(53228, 0x00000000, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0, 0, 0), +(53232, 0x00000000, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0, 0, 0), +(55440, 0x00000000, 11, 0x0000000000000040, 0x00000000, 0x00000000, 0, 0, 0), +(52795, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(52797, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(52798, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(52799, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(52800, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0), +(55677, 0x00000000, 6, 0x0000000100000000, 0x00000000, 0x00000000, 0, 0, 0), +(55680, 0x00000000, 6, 0x0000000000000200, 0x00000000, 0x00000000, 0, 0, 0), +(47572, 0x00000000, 6, 0x0000000000010000, 0x00000000, 0x00000000, 0, 0, 0), +(48159, 0x00000020, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0, 0, 0), +(48160, 0x00000020, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0, 0, 0);  /*!40000 ALTER TABLE `spell_proc_event` ENABLE KEYS */;  UNLOCK TABLES;
\ No newline at end of file diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index e5a87fa6efa..c5c779812bf 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4257,7 +4257,7 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo *damageInfo)              data << (uint32)damageInfo->resist;       // Resist      } -    data << (uint32)damageInfo->TargetState; +    data << (uint8)damageInfo->TargetState;      data << (uint32)0;      data << (uint32)0; @@ -4767,6 +4767,14 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu                      }                      return false;                  } +                // Living Seed +                case 48504: +                { +                    triggered_spell_id = 48503; +                    basepoints0 = triggeredByAura->GetModifier()->m_amount; +                    target = this; +                    break; +                }              }              break;          } @@ -5156,6 +5164,39 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu                      break;                  }              } +            // Eclipse +            if (dummySpell->SpellIconID == 2856) +            { +                if (!procSpell) +                    return false; +                // Only 0 aura can proc +                if (triggeredByAura->GetEffIndex()!=0) +                    return true; +                // Wrath crit +                if (procSpell->SpellFamilyFlags & 0x0000000000000001LL) +                { +                    if (!roll_chance_i(60)) +                        return false; +                    triggered_spell_id = 48518; +                    target = this; +                    break; +                } +                // Starfire crit +                if (procSpell->SpellFamilyFlags & 0x0000000000000004LL) +                { +                    triggered_spell_id = 48517; +                    target = this; +                    break; +                } +                return false; +            } +            // Living Seed +            else if (dummySpell->SpellIconID == 2860) +            { +                triggered_spell_id = 48504; +                basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100; +                break; +            }              break;          }          case SPELLFAMILY_ROGUE: @@ -5605,6 +5646,44 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu                  return true;              } +            // Glyph of Healing Wave +            case 55440: +            { +                // Not proc from self heals +                if (this==pVictim) +                    return false; +                basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100; +                target = this; +                triggered_spell_id = 55533; +                break; +            } +            break; +        } +        case SPELLFAMILY_DEATHKNIGHT: +        { +            // Vendetta +            if (dummySpell->SpellFamilyFlags & 0x0000000000010000LL) +            { +                basepoints0 = triggeredByAura->GetModifier()->m_amount * GetMaxHealth() / 100; +                triggered_spell_id = 50181; +                target = this; +                break; +            } +            // Necrosis +            else if (dummySpell->SpellIconID == 2709) +            { +                basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100; +                triggered_spell_id = 51460; +                break; +            } +            // Butchery +            else if (dummySpell->SpellIconID == 2664) +            { +                basepoints0 = triggeredByAura->GetModifier()->m_amount; +                triggered_spell_id = 50163; +                target = this; +                break; +            }              break;          }          default: diff --git a/src/realmd/RealmList.cpp b/src/realmd/RealmList.cpp index 32c0cbc12c1..0b23828b27f 100644 --- a/src/realmd/RealmList.cpp +++ b/src/realmd/RealmList.cpp @@ -50,7 +50,6 @@ void RealmList::UpdateRealm( uint32 ID, const std::string& name, const std::stri      Realm& realm = m_realms[name];      realm.m_ID      = ID; -    realm.name      = name;      realm.icon      = icon;      realm.color     = color;      realm.timezone  = timezone; diff --git a/src/realmd/RealmList.h b/src/realmd/RealmList.h index 9cb5380bd25..72c3982a462 100644 --- a/src/realmd/RealmList.h +++ b/src/realmd/RealmList.h @@ -30,7 +30,6 @@  /// Storage object for a realm  struct Realm  { -    std::string name;      std::string address;      uint8 icon;      uint8 color; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 6b46afe7672..73e0ef9ca9e 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@  #ifndef __REVISION_NR_H__  #define __REVISION_NR_H__ - #define REVISION_NR "7031" + #define REVISION_NR "7033"  #endif // __REVISION_NR_H__ | 
