Показать сообщение отдельно
Старый 15.10.2012, 19:35   #1
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию [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);
Оба тринкета стакаются, данные с вх.

Последний раз редактировалось Den; 15.10.2012 в 19:38.
Den вне форума