Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Принятые патчи (http://mangos.ytdb.ru/forumdisplay.php?f=5)
-   -   [patch] Restore work for item 47316, 47477. (http://mangos.ytdb.ru/showthread.php?t=6344)

Den 15.10.2012 19:35

[patch] Restore work for item 47316, 47477.
 
Код:

diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 4833a0c..1ed5eab 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -1991,6 +1991,11 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
                            (spellInfo_2->Id == 50758 && spellInfo_1->Id == 50756))
                        return false;
 
+                    // Shard of Flame and Mote of Flame
+                    if ((spellInfo_1->SpellIconID == 2302 && spellInfo_1->SpellVisual[0] == 0) ||
+                        (spellInfo_2->SpellIconID == 2302 && spellInfo_2->SpellVisual[0] == 0))
+                        return false;
+
                    break;
                }
                case SPELLFAMILY_MAGE:
diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp
index 903ec7a..813b3cc 100644
--- a/src/game/UnitAuraProcHandler.cpp
+++ b/src/game/UnitAuraProcHandler.cpp
@@ -3345,6 +3345,27 @@ SpellAuraProcResult Unit::HandleProcTriggerSpellAuraProc(Unit* pVictim, uint32 d
                trigger_spell_id = 54843;
                target = pVictim;
            }
+            // Item - Coliseum 25 Normal and Heroic Caster Trinket
+            else if (auraSpellInfo->Id == 67712 || auraSpellInfo->Id == 67758)
+            {
+                if (!pVictim || !pVictim->isAlive())
+                    return SPELL_AURA_PROC_FAILED;
+
+                // stacking
+                CastSpell(this, auraSpellInfo->Id == 67758 ? 67759 : 67713, true, NULL, triggeredByAura);
+
+                // counting
+                Aura* dummy = GetDummyAura(auraSpellInfo->Id == 67758 ? 67759 : 67713);
+
+                // release at 3 aura in stack (cont contain in basepoint of trigger aura)
+                if (!dummy || dummy->GetStackAmount() < static_cast<uint32>(triggerAmount))
+                    return SPELL_AURA_PROC_FAILED;
+
+                RemoveAurasDueToSpell(auraSpellInfo->Id == 67758 ? 67759 : 67713);
+                trigger_spell_id = auraSpellInfo->Id == 67758 ? 67760 :67714;
+                target = pVictim;
+                break;
+            }
            break;
        }
        case SPELLFAMILY_SHAMAN:

Код:

DELETE FROM `spell_proc_event` WHERE `entry` IN (67712, 67758);
INSERT INTO `spell_proc_event` VALUES
(67712, 0x7F,  0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 2),
(67758, 0x7F,  0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 2);

Оба тринкета стакаются, данные с вх.

schmoozerd 21.05.2013 17:44

In [12507] Thank you.


Текущее время: 18:21. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS