Merge pull request #1 from TrinityCore/master

This commit is contained in:
wowpsp
2013-05-19 04:31:56 -07:00
27 changed files with 192 additions and 231 deletions
+3 -4
View File
@@ -498,10 +498,9 @@ namespace VMAP
}
char ident[8];
ident[7] = 0;
int readOperation = 0;
READ_OR_RETURN(&ident, 7);
READ_OR_RETURN(&ident, 8);
CMP_OR_RETURN(ident, RAW_VMAP_MAGIC);
// we have to read one int. This is needed during the export and we have to skip it here
@@ -517,7 +516,7 @@ namespace VMAP
for (uint32 g = 0; g < groups && succeed; ++g)
succeed = groupsArray[g].Read(rf);
if (!succeed) /// rf will be freed inside Read if the function had any errors.
if (succeed) /// rf will be freed inside Read if the function had any errors.
fclose(rf);
return succeed;
}
@@ -1033,7 +1033,7 @@ void BattlegroundMgr::ScheduleQueueUpdate(uint32 arenaMatchmakerRating, uint8 ar
{
//This method must be atomic, @todo add mutex
//we will use only 1 number created of bgTypeId and bracket_id
uint64 const scheduleId = ((uint64)arenaMatchmakerRating << 32) | (arenaType << 24) | (bgQueueTypeId << 16) | (bgTypeId << 8) | bracket_id;
uint64 const scheduleId = ((uint64)arenaMatchmakerRating << 32) | (uint32(arenaType) << 24) | (bgQueueTypeId << 16) | (bgTypeId << 8) | bracket_id;
if (std::find(m_QueueUpdateScheduler.begin(), m_QueueUpdateScheduler.end(), scheduleId) == m_QueueUpdateScheduler.end())
m_QueueUpdateScheduler.push_back(scheduleId);
}
+7 -7
View File
@@ -159,20 +159,20 @@ void CalendarMgr::RemoveEvent(uint64 eventId, uint64 remover)
PreparedStatement* stmt;
MailDraft mail(calendarEvent->BuildCalendarMailSubject(remover), calendarEvent->BuildCalendarMailBody());
CalendarInviteStore::iterator itr = _invites[eventId].begin();
while (itr != _invites[eventId].end())
CalendarInviteStore& eventInvites = _invites[eventId];
for (size_t i = 0; i < eventInvites.size(); ++i)
{
CalendarInvite* invite = eventInvites[i];
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CALENDAR_INVITE);
stmt->setUInt64(0, (*itr)->GetInviteId());
stmt->setUInt64(0, invite->GetInviteId());
trans->Append(stmt);
// guild events only? check invite status here?
// When an event is deleted, all invited (accepted/declined? - verify) guildies are notified via in-game mail. (wowwiki)
if (remover && (*itr)->GetInviteeGUID() != remover)
mail.SendMailTo(trans, MailReceiver((*itr)->GetInviteeGUID()), calendarEvent, MAIL_CHECK_MASK_COPIED);
if (remover && invite->GetInviteeGUID() != remover)
mail.SendMailTo(trans, MailReceiver(invite->GetInviteeGUID()), calendarEvent, MAIL_CHECK_MASK_COPIED);
delete *itr;
_invites[eventId].erase(itr);
delete invite;
}
_invites.erase(eventId);
@@ -4702,12 +4702,6 @@ void Player::DeleteFromDB(uint64 playerguid, uint32 accountId, bool updateRealmC
charDelete_method = CHAR_DELETE_REMOVE;
else if (CharacterNameData const* nameData = sWorld->GetCharacterNameData(guid)) // To avoid a query, we select loaded data. If it doesn't exist, return.
{
if (!nameData)
{
TC_LOG_ERROR(LOG_FILTER_PLAYER, "Cannot find CharacterNameData entry for player %u from account %u. Could not delete character.", guid, accountId);
return;
}
// Define the required variables
uint32 charDelete_minLvl = sWorld->getIntConfig(nameData->m_class != CLASS_DEATH_KNIGHT ? CONFIG_CHARDELETE_MIN_LEVEL : CONFIG_CHARDELETE_HEROIC_MIN_LEVEL);
+1 -1
View File
@@ -3342,7 +3342,7 @@ void Spell::handle_immediate()
if (m_spellInfo->IsChanneled())
{
int32 duration = m_spellInfo->GetDuration();
if (duration)
if (duration > 0)
{
// First mod_duration then haste - see Missile Barrage
// Apply duration mod
+1 -1
View File
@@ -2167,7 +2167,7 @@ namespace Trinity
{
WorldPacket* data = new WorldPacket();
uint32 lineLength = (line ? strlen(line) : 0) + 1;
uint32 lineLength = strlen(line) + 1;
data->Initialize(SMSG_MESSAGECHAT, 100); // guess size
*data << uint8(CHAT_MSG_SYSTEM);
+2 -20
View File
@@ -962,12 +962,7 @@ public:
uint32 id = atoi((char*)args);
bool found = false;
uint32 count = 0;
uint32 maxResults = 1;
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(id);
if (spellInfo)
if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(id))
{
int locale = handler->GetSessionDbcLocale();
std::string name = spellInfo->SpellName[locale];
@@ -977,14 +972,6 @@ public:
return true;
}
if (locale < TOTAL_LOCALES)
{
if (maxResults && count++ == maxResults)
{
handler->PSendSysMessage(LANG_COMMAND_LOOKUP_MAX_RESULTS, maxResults);
return true;
}
bool known = target && target->HasSpell(id);
bool learn = (spellInfo->Effects[0].Effect == SPELL_EFFECT_LEARN_SPELL);
@@ -1028,13 +1015,8 @@ public:
ss << handler->GetTrinityString(LANG_ACTIVE);
handler->SendSysMessage(ss.str().c_str());
if (!found)
found = true;
}
}
if (!found)
else
handler->SendSysMessage(LANG_COMMAND_NOSPELLFOUND);
return true;
+4 -8
View File
@@ -1071,9 +1071,7 @@ public:
Player* player = handler->GetSession()->GetPlayer();
uint32 zone_id = player->GetZoneId();
WorldSafeLocsEntry const* graveyard = sObjectMgr->GetClosestGraveYard(
player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetMapId(), team);
WorldSafeLocsEntry const* graveyard = sObjectMgr->GetClosestGraveYard(player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetMapId(), team);
if (graveyard)
{
uint32 graveyardId = graveyard->ID;
@@ -1103,14 +1101,12 @@ public:
{
std::string team_name;
if (team == 0)
team_name = handler->GetTrinityString(LANG_COMMAND_GRAVEYARD_ANY);
else if (team == HORDE)
if (team == HORDE)
team_name = handler->GetTrinityString(LANG_COMMAND_GRAVEYARD_HORDE);
else if (team == ALLIANCE)
team_name = handler->GetTrinityString(LANG_COMMAND_GRAVEYARD_ALLIANCE);
if (team == ~uint32(0))
if (!team)
handler->PSendSysMessage(LANG_COMMAND_ZONENOGRAVEYARDS, zone_id);
else
handler->PSendSysMessage(LANG_COMMAND_ZONENOGRAFACTION, zone_id, team_name.c_str());
@@ -2144,7 +2140,7 @@ public:
return true;
}
uint32 school = schoolStr ? atoi((char*)schoolStr) : SPELL_SCHOOL_NORMAL;
uint32 school = atoi((char*)schoolStr);
if (school >= MAX_SPELL_SCHOOL)
return false;
+7 -17
View File
@@ -309,24 +309,14 @@ public:
if (!pfactionid)
{
if (target)
{
uint32 factionid = target->getFaction();
uint32 flag = target->GetUInt32Value(UNIT_FIELD_FLAGS);
uint32 npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS);
uint32 dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS);
handler->PSendSysMessage(LANG_CURRENT_FACTION, target->GetGUIDLow(), factionid, flag, npcflag, dyflag);
}
uint32 factionid = target->getFaction();
uint32 flag = target->GetUInt32Value(UNIT_FIELD_FLAGS);
uint32 npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS);
uint32 dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS);
handler->PSendSysMessage(LANG_CURRENT_FACTION, target->GetGUIDLow(), factionid, flag, npcflag, dyflag);
return true;
}
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
handler->SetSentErrorMessage(true);
return false;
}
uint32 factionid = atoi(pfactionid);
uint32 flag;
@@ -340,7 +330,7 @@ public:
uint32 npcflag;
if (!pnpcflag)
npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS);
npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS);
else
npcflag = atoi(pnpcflag);
@@ -348,7 +338,7 @@ public:
uint32 dyflag;
if (!pdyflag)
dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS);
dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS);
else
dyflag = atoi(pdyflag);
+1 -1
View File
@@ -252,7 +252,7 @@ public:
return false;
}
uint32 vendor_entry = vendor ? vendor->GetEntry() : 0;
uint32 vendor_entry = vendor->GetEntry();
if (!sObjectMgr->IsVendorItemValid(vendor_entry, itemId, maxcount, incrtime, extendedcost, handler->GetSession()->GetPlayer()))
{
@@ -146,49 +146,51 @@ class boss_kirtonos_the_herald : public CreatureScript
{
events.Update(diff);
while (uint32 eventId = events.ExecuteEvent() && !UpdateVictim())
{
switch (eventId)
{
case INTRO_1:
me->GetMotionMaster()->MovePath(KIRTONOS_PATH, false);
break;
case INTRO_2:
me->GetMotionMaster()->MovePoint(0, PosMove[0]);
events.ScheduleEvent(INTRO_3, 1000);
break;
case INTRO_3:
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_READY);
me->SetFacingTo(0.01745329f);
events.ScheduleEvent(INTRO_4, 3000);
break;
case INTRO_4:
if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetData64(GO_BRAZIER_OF_THE_HERALD)))
brazier->SetGoState(GO_STATE_READY);
me->SetWalk(true);
me->SetDisableGravity(false);
DoCast(me, SPELL_KIRTONOS_TRANSFORM);
me->SetCanFly(false);
events.ScheduleEvent(INTRO_5, 1000);
break;
case INTRO_5:
me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_KIRTONOS_STAFF));
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_AGGRESSIVE);
events.ScheduleEvent(INTRO_6, 5000);
break;
case INTRO_6:
me->GetMotionMaster()->MovePoint(0, PosMove[1]);
break;
default:
break;
}
}
if (!UpdateVictim())
{
while (uint32 eventId = events.ExecuteEvent())
{
switch (eventId)
{
case INTRO_1:
me->GetMotionMaster()->MovePath(KIRTONOS_PATH, false);
break;
case INTRO_2:
me->GetMotionMaster()->MovePoint(0, PosMove[0]);
events.ScheduleEvent(INTRO_3, 1000);
break;
case INTRO_3:
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_READY);
me->SetFacingTo(0.01745329f);
events.ScheduleEvent(INTRO_4, 3000);
break;
case INTRO_4:
if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetData64(GO_BRAZIER_OF_THE_HERALD)))
brazier->SetGoState(GO_STATE_READY);
me->SetWalk(true);
me->SetDisableGravity(false);
DoCast(me, SPELL_KIRTONOS_TRANSFORM);
me->SetCanFly(false);
events.ScheduleEvent(INTRO_5, 1000);
break;
case INTRO_5:
me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_KIRTONOS_STAFF));
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_AGGRESSIVE);
events.ScheduleEvent(INTRO_6, 5000);
break;
case INTRO_6:
me->GetMotionMaster()->MovePoint(0, PosMove[1]);
break;
default:
break;
}
}
return;
}
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
@@ -36,9 +36,9 @@ enum Spells
enum Events
{
EVENT_FROSTBREATH = 0,
EVENT_MASSIVEGEYSER = 1,
EVENT_SLAM = 2
EVENT_FROSTBREATH = 1,
EVENT_MASSIVEGEYSER = 2,
EVENT_SLAM = 3
};
class boss_gahzranka : public CreatureScript // gahzranka
@@ -35,8 +35,8 @@ enum Spells
enum Events
{
EVENT_AVATAR = 0,
EVENT_GROUND_TREMOR = 1
EVENT_AVATAR = 1,
EVENT_GROUND_TREMOR = 2
};
class boss_grilek : public CreatureScript // grilek
@@ -51,17 +51,17 @@ enum Spells
enum Events
{
EVENT_BLOOD_SIPHON = 0,
EVENT_CORRUPTED_BLOOD = 1,
EVENT_CAUSE_INSANITY = 2, // Spell needs scripting. Event disabled
EVENT_WILL_OF_HAKKAR = 3,
EVENT_ENRAGE = 4,
EVENT_BLOOD_SIPHON = 1,
EVENT_CORRUPTED_BLOOD = 2,
EVENT_CAUSE_INSANITY = 3, // Spell needs scripting. Event disabled
EVENT_WILL_OF_HAKKAR = 4,
EVENT_ENRAGE = 5,
// The Aspects of all High Priests events
EVENT_ASPECT_OF_JEKLIK = 5,
EVENT_ASPECT_OF_VENOXIS = 6,
EVENT_ASPECT_OF_MARLI = 7,
EVENT_ASPECT_OF_THEKAL = 8,
EVENT_ASPECT_OF_ARLOKK = 9
EVENT_ASPECT_OF_JEKLIK = 6,
EVENT_ASPECT_OF_VENOXIS = 7,
EVENT_ASPECT_OF_MARLI = 8,
EVENT_ASPECT_OF_THEKAL = 9,
EVENT_ASPECT_OF_ARLOKK = 10
};
class boss_hakkar : public CreatureScript
@@ -35,9 +35,9 @@ enum Spells
enum Events
{
EVENT_MANABURN = 0,
EVENT_SLEEP = 1,
EVENT_ILLUSIONS = 2
EVENT_MANABURN = 1,
EVENT_SLEEP = 2,
EVENT_ILLUSIONS = 3
};
class boss_hazzarah : public CreatureScript
@@ -48,11 +48,11 @@ enum Spells
enum Events
{
EVENT_BRAINWASHTOTEM = 0,
EVENT_POWERFULLHEALINGWARD = 1,
EVENT_HEX = 2,
EVENT_DELUSIONSOFJINDO = 3,
EVENT_TELEPORT = 4
EVENT_BRAINWASHTOTEM = 1,
EVENT_POWERFULLHEALINGWARD = 2,
EVENT_HEX = 3,
EVENT_DELUSIONSOFJINDO = 4,
EVENT_TELEPORT = 5
};
Position const TeleportLoc = {-11583.7783f, -1249.4278f, 77.5471f, 4.745f};
@@ -48,13 +48,13 @@ enum Spells
enum Events
{
EVENT_SPAWN_START_SPIDERS = 0, // Phase 1
EVENT_POISON_VOLLEY = 1, // Phase All
EVENT_SPAWN_SPIDER = 2, // Phase All
EVENT_CHARGE_PLAYER = 3, // Phase 3
EVENT_ASPECT_OF_MARLI = 4, // Phase 2
EVENT_TRANSFORM = 5, // Phase 2
EVENT_TRANSFORM_BACK = 6 // Phase 3
EVENT_SPAWN_START_SPIDERS = 1, // Phase 1
EVENT_POISON_VOLLEY = 2, // Phase All
EVENT_SPAWN_SPIDER = 3, // Phase All
EVENT_CHARGE_PLAYER = 4, // Phase 3
EVENT_ASPECT_OF_MARLI = 5, // Phase 2
EVENT_TRANSFORM = 6, // Phase 2
EVENT_TRANSFORM_BACK = 7 // Phase 3
};
enum Phases
@@ -153,57 +153,54 @@ class boss_marli : public CreatureScript
events.ScheduleEvent(EVENT_SPAWN_SPIDER, urand(12000, 17000));
break;
case EVENT_TRANSFORM:
{
Talk(SAY_TRANSFORM);
DoCast(me, SPELL_SPIDER_FORM);
const CreatureTemplate* cinfo = me->GetCreatureTemplate();
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35)));
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
me->UpdateDamagePhysical(BASE_ATTACK);
DoCast(me->getVictim(), SPELL_ENVOLWINGWEB);
if (DoGetThreat(me->getVictim()))
DoModifyThreatPercent(me->getVictim(), -100);
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 1500, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_TRANSFORM_BACK, 25000, 0, PHASE_THREE);
events.SetPhase(PHASE_THREE);
break;
}
{
Talk(SAY_TRANSFORM);
DoCast(me, SPELL_SPIDER_FORM);
CreatureTemplate const* cinfo = me->GetCreatureTemplate();
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35)));
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
me->UpdateDamagePhysical(BASE_ATTACK);
DoCast(me->getVictim(), SPELL_ENVOLWINGWEB);
if (DoGetThreat(me->getVictim()))
DoModifyThreatPercent(me->getVictim(), -100);
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 1500, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_TRANSFORM_BACK, 25000, 0, PHASE_THREE);
events.SetPhase(PHASE_THREE);
break;
}
case EVENT_CHARGE_PLAYER:
{
Unit* target = NULL;
int i = 0;
while (i++ < 3) // max 3 tries to get a random target with power_mana
{
Unit* target = NULL;
int i = 0;
while (i < 3) // max 3 tries to get a random target with power_mana
{
++i;
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true); // not aggro leader
if (target && target->getPowerType() == POWER_MANA)
i = 3;
}
if (target)
{
DoCast(target, SPELL_CHARGE);
//me->SetPosition(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0);
//me->SendMonsterMove(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, true, 1);
AttackStart(target);
}
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 8000, 0, PHASE_THREE);
break;
target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true); // not aggro leader
if (target && target->getPowerType() == POWER_MANA)
break;
}
if (target)
{
DoCast(target, SPELL_CHARGE);
AttackStart(target);
}
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 8000, 0, PHASE_THREE);
break;
}
case EVENT_TRANSFORM_BACK:
{
me->SetDisplayId(MODEL_MARLI);
const CreatureTemplate* cinfo = me->GetCreatureTemplate();
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 1)));
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 1)));
me->UpdateDamagePhysical(BASE_ATTACK);
events.ScheduleEvent(EVENT_ASPECT_OF_MARLI, 12000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_TRANSFORM, 45000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_VOLLEY, 15000);
events.ScheduleEvent(EVENT_SPAWN_SPIDER, 30000);
events.ScheduleEvent(EVENT_TRANSFORM, urand(35000, 60000), 0, PHASE_TWO);
events.SetPhase(PHASE_TWO);
break;
}
{
me->SetDisplayId(MODEL_MARLI);
CreatureTemplate const* cinfo = me->GetCreatureTemplate();
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 1)));
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 1)));
me->UpdateDamagePhysical(BASE_ATTACK);
events.ScheduleEvent(EVENT_ASPECT_OF_MARLI, 12000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_TRANSFORM, 45000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_VOLLEY, 15000);
events.ScheduleEvent(EVENT_SPAWN_SPIDER, 30000);
events.ScheduleEvent(EVENT_TRANSFORM, urand(35000, 60000), 0, PHASE_TWO);
events.SetPhase(PHASE_TWO);
break;
}
default:
break;
}
@@ -59,15 +59,15 @@ enum Spells
enum Events
{
EVENT_MORTALCLEAVE = 0, // Phase 1
EVENT_SILENCE = 1, // Phase 1
EVENT_CHECK_TIMER = 2, // Phase 1
EVENT_RESURRECT_TIMER = 3, // Phase 1
EVENT_FRENZY = 4, // Phase 2
EVENT_FORCEPUNCH = 5, // Phase 2
EVENT_SPELL_CHARGE = 6, // Phase 2
EVENT_ENRAGE = 7, // Phase 2
EVENT_SUMMONTIGERS = 8 // Phase 2
EVENT_MORTALCLEAVE = 1, // Phase 1
EVENT_SILENCE = 2, // Phase 1
EVENT_CHECK_TIMER = 3, // Phase 1
EVENT_RESURRECT_TIMER = 4, // Phase 1
EVENT_FRENZY = 5, // Phase 2
EVENT_FORCEPUNCH = 6, // Phase 2
EVENT_SPELL_CHARGE = 7, // Phase 2
EVENT_ENRAGE = 8, // Phase 2
EVENT_SUMMONTIGERS = 9 // Phase 2
};
enum Phases
@@ -35,8 +35,8 @@ enum Spells
enum Events
{
EVENT_LIGHTNINGCLOUD = 0,
EVENT_LIGHTNINGWAVE = 1
EVENT_LIGHTNINGCLOUD = 1,
EVENT_LIGHTNINGWAVE = 2
};
class boss_wushoolay : public CreatureScript
@@ -34,13 +34,13 @@ enum Spells
enum Events
{
EVENT_STINGER_SPRAY = 0,
EVENT_POISON_STINGER = 1,
EVENT_SUMMON_SWARMER = 2,
EVENT_SWARMER_ATTACK = 3,
EVENT_PARALYZE = 4,
EVENT_LASH = 5,
EVENT_TRASH = 6
EVENT_STINGER_SPRAY = 1,
EVENT_POISON_STINGER = 2,
EVENT_SUMMON_SWARMER = 3,
EVENT_SWARMER_ATTACK = 4,
EVENT_PARALYZE = 5,
EVENT_LASH = 6,
EVENT_TRASH = 7
};
enum Emotes
@@ -42,11 +42,11 @@ enum Spells
enum Events
{
EVENT_DISMEMBER = 0,
EVENT_GATHERING_SPEED = 1,
EVENT_FULL_SPEED = 2,
EVENT_CREEPING_PLAGUE = 3,
EVENT_RESPAWN_EGG = 4
EVENT_DISMEMBER = 1,
EVENT_GATHERING_SPEED = 2,
EVENT_FULL_SPEED = 3,
EVENT_CREEPING_PLAGUE = 4,
EVENT_RESPAWN_EGG = 5
};
enum Phases
@@ -40,10 +40,10 @@ enum Spells
enum Events
{
EVENT_ARCANE_EXPLOSION = 0,
EVENT_FULLFILMENT = 1,
EVENT_BLINK = 2,
EVENT_EARTH_SHOCK = 3
EVENT_ARCANE_EXPLOSION = 1,
EVENT_FULLFILMENT = 2,
EVENT_BLINK = 3,
EVENT_EARTH_SHOCK = 4
};
uint32 const BlinkSpells[3] = { 4801, 8195, 20449 };
@@ -61,8 +61,8 @@ enum HauntingWitchHill
NPC_RISEN_SPIRIT = 23554,
// Events
EVENT_CONSUME_FLESH = 0,
EVENT_INTANGIBLE_PRESENCE = 1,
EVENT_CONSUME_FLESH = 1,
EVENT_INTANGIBLE_PRESENCE = 2,
};
class mobs_risen_husk_spirit : public CreatureScript
@@ -33,10 +33,10 @@ enum Spells
enum Events
{
EVENT_BERSERK = 0,
EVENT_CLOUD = 1,
EVENT_INJECT = 2,
EVENT_SPRAY = 3
EVENT_BERSERK = 1,
EVENT_CLOUD = 2,
EVENT_INJECT = 3,
EVENT_SPRAY = 4
};
enum CreatureId
@@ -46,7 +46,8 @@ enum CreatureId
class boss_grobbulus : public CreatureScript
{
public: boss_grobbulus() : CreatureScript("boss_grobbulus") { }
public:
boss_grobbulus() : CreatureScript("boss_grobbulus") { }
CreatureAI* GetAI(Creature* creature) const
{
@@ -45,9 +45,9 @@ enum Spells
enum Events
{
EVENT_STREAM_OF_MACHINE_FLUID = 0,
EVENT_SAW_BLADE = 1,
EVENT_SHADOW_POWER = 2
EVENT_STREAM_OF_MACHINE_FLUID = 1,
EVENT_SAW_BLADE = 2,
EVENT_SHADOW_POWER = 3
};
class boss_gatewatcher_gyrokill : public CreatureScript
@@ -52,11 +52,11 @@ enum Spells
enum Events
{
EVENT_FROST_ATTACK = 0,
EVENT_ARCANE_BLAST = 1,
EVENT_DRAGONS_BREATH = 2,
EVENT_KNOCKBACK = 3,
EVENT_SOLARBURN = 4
EVENT_FROST_ATTACK = 1,
EVENT_ARCANE_BLAST = 2,
EVENT_DRAGONS_BREATH = 3,
EVENT_KNOCKBACK = 4,
EVENT_SOLARBURN = 5
};
class boss_nethermancer_sepethrea : public CreatureScript
@@ -54,11 +54,11 @@ enum Spells
enum Events
{
EVENT_SUMMON = 0,
EVENT_MANA_TAP = 1,
EVENT_ARCANE_TORRENT = 2,
EVENT_DOMINATION = 3,
EVENT_ARCANE_EXPLOSION = 4
EVENT_SUMMON = 1,
EVENT_MANA_TAP = 2,
EVENT_ARCANE_TORRENT = 3,
EVENT_DOMINATION = 4,
EVENT_ARCANE_EXPLOSION = 5
};
enum Creatures