Показать сообщение отдельно
Старый 02.03.2011, 11:51   #11
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Вот инфа, которую я достал из сниффа:
Код:
#q11940
npc=26127
+ 01.02.2011 2:19:58 46607 [SPELL_EFFECT_APPLY_AURA] [TARGET_DUELVSPLAYER] [SPELL_AURA_DUMMY] P->U - 25 c. - Драконий гарпун
+ 01.02.2011 2:20:00 46620 [SPELL_EFFECT_APPLY_AURA] [TARGET_DUELVSPLAYER] [SPELL_AURA_DUMMY] P->U - 10 c. - Красная драконья кровь
+ 01.02.2011 2:20:11 46673 [SPELL_EFFECT_DUMMY] [TARGET_DUELVSPLAYER] P->U - Инициатор захвата
+ 01.02.2011 2:20:11 46675 [SPELL_EFFECT_APPLY_AURA] [TARGET_SELF] [SPELL_AURA_DUMMY] 3 m. - Подчинение + SCRIPT
+ 01.02.2011 2:20:11 46678 [SPELL_EFFECT_APPLY_AURA] [TARGET_SELF] [SPELL_AURA_PERIODIC_TRIGGER_SPELL] = 43391 - Рвота дракона, периодический эффект

+ 01.02.2011 2:20:11 46691 [SPELL_EFFECT_APPLY_AURA] [TARGET_DUELVSPLAYER] [SPELL_AURA_DUMMY] U->P - 3m. - Детеныш дракона покорен
+ 01.02.2011 2:20:11 46674 [SPELL_EFFECT_APPLY_AURA] [TARGET_DUELVSPLAYER] [SPELL_AURA_DUMMY] U->P - Луч-веревка

01.02.2011 2:20:31 43391 [SPELL_EFFECT_DUMMY] [TARGET_SELF]

01.02.2011 2:20:44 46696 [SPELL_EFFECT_DUMMY] [TARGET_DUELVSPLAYER] P->U - Возвращение дракона
01.02.2011 2:20:47 46702 [SPELL_EFFECT_DUMMY] [TARGET_DUELVSPLAYER] U->npc=26117 - Сигнал завершения дракона

npc=26117
01.02.2011 2:20:47 46704 [SPELL_EFFECT_DUMMY] [TARGET_SCRIPT] self - 2.5 c. - Огненный шар Релораза
01.02.2011 2:20:47 26117->26127 Language: Universal, MonsterSay=Детеныш дракона Нексуса
01.02.2011 2:20:50 46703 [SPELL_EFFECT_APPLY_AURA] [TARGET_SELF] [SPELL_AURA_DUMMY] - Завершение испепеления
01.02.2011 2:20:50 Emote: EMOTE_ONESHOT_WOUNDCRITICAL (34)

npc=26175
01.02.2011 2:20:43 46693 [SPELL_EFFECT_SCRIPT_EFFECT] [TARGET_DUELVSPLAYER] U->P - Снятие аур
01.02.2011 2:20:43 killcredit=26175
Тестовый патч на первые спеллы:
Код:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 9d00d56..4b2078c 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -2018,6 +2018,25 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
                     case 43873:                             // Headless Horseman Laugh
                         target->PlayDistanceSound(11965);
                         return;
+                    case 46607:                             // Drake Harpoon
+                        if (target->GetTypeId() != TYPEID_UNIT)
+                            return;
+
+                        if (Unit* caster = GetCaster())
+                            // Red Dragonblood
+                            caster->CastSpell(target, 46620, true, NULL, this);
+
+                        return;
+                    case 46675:
+                        if (target->GetTypeId() != TYPEID_UNIT)
+                            return;
+
+                        target->AttackStop();
+                        target->CombatStop(true);
+                        target->getHostileRefManager().deleteReferences();
+                        target->setFaction(35);
+                        // allow script for the process of returning the NPC
+                        return;
                     case 46699:                             // Requires No Ammo
                         if (target->GetTypeId() == TYPEID_PLAYER)
                             // not use ammo and not allow use
@@ -8727,6 +8746,20 @@ void SpellAuraHolder::HandleSpellSpecificBoosts(bool apply)
         {
             switch(GetId())
             {
+                case 46620:                                 // Red Dragonblood
+                {
+                    if(Unit* caster = GetCaster())
+                        if (caster->GetTypeId() == TYPEID_PLAYER && caster->isAlive() && m_target->GetTypeId() == TYPEID_UNIT && m_target->isAlive())
+                            if (apply)
+                                ((Creature*)m_target)->AI()->AttackStart(caster);
+                            else
+                            {
+                                int32 bp = 1;
+                                // Capture Trigger
+                                caster->CastCustomSpell(m_target, 46673, &bp, NULL, NULL, true, NULL, NULL, GetCasterGuid());
+                            }
+                    return;
+                }
                 case 50720:                                 // Vigilance (warrior spell but not have warrior family)
                 {
                     spellId1 = 68066;                       // Damage Reduction
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 2e52e48..3dbc6cd 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -1499,6 +1499,24 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx)
                     unitTarget->SetHealth(0);
                     return;
                 }
+                case 46673:                                 // Capture Trigger
+                {
+                    if (!m_caster || !unitTarget || m_caster->GetTypeId() != TYPEID_PLAYER || unitTarget->GetTypeId() != TYPEID_UNIT)
+                        return;
+
+                    // Subdued
+                    unitTarget->CastSpell(unitTarget, 46675, true);
+                    // Drake Vomit, Periodic
+                    unitTarget->CastSpell(unitTarget, 46678, true);
+                    // Drake Hatchling Subdued
+                    unitTarget->CastSpell(m_caster, 46691, true);
+                }
+                case 46691:                                 // Drake Hatchling Subdued
+                {
+                    // Rope Beam
+                    unitTarget->CastSpell(m_caster, 46674, true);
+                    unitTarget->GetMotionMaster()->MoveFollow(m_caster, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
+                }
                 case 46797:                                 // Quest - Borean Tundra - Set Explosives Cart
                 {
                     if (!unitTarget)
virusav вне форума   Ответить с цитированием