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

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

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

C++ скрипт Верховная жрица Мар'ли - Форум

  • Сторінка 1 з 1
  • 1
C++ скрипт Верховная жрица Мар'ли
HammeRДата: Середа, 01.12.2010, 12:33 | Сообщение # 1



HammeR
Рыцарь
Группа: Пользователи
Сообщений: 449

Замечания:

Оффлайн
Всем привет.
Хочу представить вам свой первый скрипт для эмуляторов семейства Ascent.
С++ скрипт на реализацию босса Верховной жрицы Мар'ли. http://ru.wowhead.com/npc=14510

Quote
#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);
}

TODO:
- добавить рандомные таймеры. В разработке...
- синхронизировать визуальный спелл-эффект MARLI_HATCH (см скрипт).
- нужна реализация спеллов CHARGE (22911) и TRANSFORM BACK (24085).
- немного подкорректировать пауков.
- реализовать разговор босса со своим прислужником.
- и конечно же clean up.
И после этого скрипт можно считать 100% оффлайк.



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

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
[Гайд] - Ездовые животные · (Гайды по WoW)
Автор: Darkensand
Последнее сообщение в 12:59
▃ ▅ █ STRIKE-DEATH | WOTL... · (Обычные сервера WoW)
Автор: Pensukdeath
Последнее сообщение в 05:18
Уход и забота за воинами: прок... · (Воин)
Автор: UncontesteD
Последнее сообщение в 17:34
Очень хороший зароботок!!! · (Флудилка)
Автор: Hordcore
Последнее сообщение в 12:57
Основы Sql · (Sql)
Автор: No-One
Последнее сообщение в 01:45
Баг на 30к крита 5.4.8 · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:46
Баг на дамаг · (Баги WoW)
Автор: nikitadevil
Последнее сообщение в 18:44
Неуязвимость · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:43
Бесконечный сокет · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:42
Баг на ледянные баджи на uwow · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:31
Новейший баг на дамаг ханта · (Баги WoW)
Автор: Act1mel
Последнее сообщение в 18:23
[БАГ] + к Урону для всех класс... · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:22
Ретро паладин 4.3 · (Паладин)
Автор: Darkensand
Последнее сообщение в 02:05
Hellscream.ORG - Азиатский WoW... · (Обычные сервера WoW)
Автор: Alexstrasza007
Последнее сообщение в 10:30

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