Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

С++ скрипт на реализацию босса Верховной жрицы Мар'ли - Форум

  • Сторінка 1 з 1
  • 1
С++ скрипт на реализацию босса Верховной жрицы Мар'ли
MaydieДата: Вівторок, 30.11.2010, 01:35 | Сообщение # 1



Maydie
Капрал
Группа: Пользователи
Сообщений: 70

Замечания:

Оффлайн
С++ скрипт на реализацию босса Верховной жрицы Мар'ли. http://ru.wowhead.com/npc=14510
Code
#include "StdAfx.h"  
#include "Setup.h"  
#include "../Common/Base.h"  

// HighPriestessMarliAI  
#define ZG_MARLI    14510  

// Спеллы для трасформации в паука и обратно  
#define MARLI_SPIDER_FORM       24084  
// #define MARLI_TRANSFORM_BACK    24085   //не работает  

// Заклинания в форме троля  
#define MARLI_POISONVOLLEY      24099  
#define MARLI_DRAIN_LIFE  24300  

// Заклинания в форме паука  
#define MARLI_ENVELOPINGWEBS    24110  
#define MARLI_CORROSIVE_POISON    24111  
#define MARLI_CHARGE            22911  

// Spiders  
#define MARLI_HATCH    24083  //визуальный эффект  
#define MARLI_ADDS    15041  

//The Spider Spells  
#define SPIDER_LEVELUP          24312       //визуальный эффект  

class HighPriestessMarliAI : public MoonScriptBossAI  
{  
   MOONSCRIPT_FACTORY_FUNCTION(HighPriestessMarliAI, MoonScriptBossAI);  
   HighPriestessMarliAI(Creature* pCreature) : MoonScriptBossAI(pCreature)  
   {  
    AddPhaseSpell(1, AddSpell(MARLI_POISONVOLLEY, Target_Current, 75, 0, 14));  
    AddPhaseSpell(1, AddSpell(MARLI_DRAIN_LIFE, Target_RandomPlayer, 60, 0, 24));  
    AddPhaseSpell(1, AddSpell(MARLI_HATCH, Target_RandomPlayer, 100, 0, 19));  

    AddPhaseSpell(2, AddSpell(MARLI_ENVELOPINGWEBS, Target_Current, 70, 0, 15));  
    AddPhaseSpell(2, AddSpell(MARLI_CORROSIVE_POISON, Target_Current, 75, 0, 30));  
    AddPhaseSpell(2, AddSpell(MARLI_CHARGE, Target_RandomPlayer, 80, 0, 12));  

    AddEmote(Event_OnCombatStart, "Draw me to your web , mistress Shadra , unleash your venom!", Text_Yell, 8418);  
    AddEmote(Event_OnDied, "Bless you, mortals, for this release...Hakkar controls me no longer.", Text_Yell, 8423);  

    Morph = AddSpell(24084, Target_Self, 0, 0, 0, 0, 0, false, "Shadra, make of me your avatar!", Text_Yell, 0);  
   }  

   void OnCombatStart(Unit* pTarget)  
   {  
    MorphTimer = AddTimer(45000);  
    SpiderSummon = AddTimer(20000);  

    ParentClass::OnCombatStart( pTarget );  
   }  

   void OnCombatStop(Unit* pTarget)  
   {  
    SetDisplayId(15226);  
    RemoveAura(24084);  

    ParentClass::OnCombatStop(pTarget);  
   }  

   void OnDied(Unit* pKiller)  
   {  
    SetDisplayId(15220);  
    RemoveAura(24084);  

    ParentClass::OnDied(pKiller);  
   }  

   void AIUpdate()  
   {  
    if(IsTimerFinished(MorphTimer) && GetPhase() == 1)  
    {  
     SetPhase(2, Morph);  
     ResetTimer(MorphTimer, 55000);  
    }  
      
    else if(IsTimerFinished(MorphTimer) && GetPhase() == 2)  
    {  
     RemoveAura(24084);  
     SetDisplayId(15220);  
     SetPhase(1);  
     ResetTimer(MorphTimer, 60000);  

     Emote("The brood shall not fall!", Text_Yell, 0);  
    }  

    if(IsTimerFinished(SpiderSummon) && GetPhase() == 1)  
    {  
     MoonScriptCreatureAI *Spider = NULL;  
     // Spawn 4 spiders  
     for(int x=0; x<4; x++)  
     {  
      Spider = SpawnCreature(MARLI_ADDS, (_unit->GetPositionX()+RandomFloat(2)-2), (_unit->GetPositionY()+RandomFloat(2)-2),  
      _unit->GetPositionZ(), _unit->GetOrientation(), true);  
      if(Spider)  
      {  
       Spider->AggroNearestUnit();  
       Spider->SetDespawnWhenInactive(true);  
      }  
     }  
     Spider = NULL;  
     Emote("Aid me my brood!", Text_Yell, 0);  
     ResetTimer(SpiderSummon, 20000);  
    }  

    ParentClass::AIUpdate();  
   }  

   SpellDesc* Morph;  
   int32 MorphTimer;  
   SpellDesc* Spider;  
   int32 SpiderSummon;  
};  

// Скрипт на пауков  
class MarliSpidersAI : public MoonScriptCreatureAI  
{  
   MOONSCRIPT_FACTORY_FUNCTION(MarliSpidersAI, MoonScriptCreatureAI);  
      MarliSpidersAI(Creature *pCreature) : MoonScriptCreatureAI(pCreature)   
   {  
    // LevelUP  
    AddSpell(SPIDER_LEVELUP, Target_Self, 100, 0, 3);  
   }  
};  

void SetupZulGurub(ScriptMgr * mgr)  
{  
   mgr->register_creature_script(ZG_MARLI, &HighPriestessMarliAI::Create);  
   mgr->register_creature_script(MARLI_ADDS, &MarliSpidersAI::Create);  
}


 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
хаха :D · (Приколы)
Автор: [N1ke]Medved
Последнее сообщение в 18:40
Autobattle - новый боевой бот ... · (Боты для WoW)
Автор: terrikon
Последнее сообщение в 18:39
PvE руководство для Чернокнижн... · (Чернокнижник)
Автор: Darkensand
Последнее сообщение в 18:38
Пустой свиток (Часть 11) · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:37
Друиды в Катаклизме: Официальн... · (Друид)
Автор: Darkensand
Последнее сообщение в 18:37
[Баг 3.3.5] Фарм ледяных бадже... · (Читы для WoW)
Автор: Darkensand
Последнее сообщение в 18:35
FarmBot (Бот для фарма руды и ... · (Боты для WoW)
Автор: homma
Последнее сообщение в 18:34
Почему мы сражаемся: ролевая и... · (Воин)
Автор: Darkensand
Последнее сообщение в 18:34
Книги по Wold of Warcraft · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:33
Маг огня в Cataclysm · (Маг)
Автор: Darkensand
Последнее сообщение в 18:33
Как начать играть в World of W... · (Полезно знать)
Автор: Belkmondesh
Последнее сообщение в 18:32
Характеризация профессий · (Профессии)
Автор: Darkensand
Последнее сообщение в 18:31
Что значит для арканов бета те... · (Маг)
Автор: Darkensand
Последнее сообщение в 18:31

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2026 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz