void UpdateAI(const uint32 diff) { if(!(summoned)) { OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr->GetOutdoorPvPToZoneId(4197); if((pvpWG->getDefenderTeam() == TEAM_HORDE) && (sWorld->GetWintergrapsState() == 1)) SummonNPC(); else return; } if( (summoned) && (sWorld->GetWintergrapsState() == 1) ) { OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr->GetOutdoorPvPToZoneId(4197); if((pvpWG->getDefenderTeam() != TEAM_HORDE)) UnsummonNPC(); else return; } if((summoned) && (sWorld->GetWintergrapsState() == 0)) UnsummonNPC(); }
bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) { player->PlayerTalkClass->ClearMenus(); player->PlayerTalkClass->SendCloseGossip(); switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: SummonNPC(go, player, RAND(NPC_TEMPLAR_WATER, NPC_TEMPLAR_FIRE, NPC_TEMPLAR_EARTH, NPC_TEMPLAR_AIR), SPELL_TEMPLAR_RANDOM); break; case GOSSIP_ACTION_INFO_DEF + 2: SummonNPC(go, player, NPC_TEMPLAR_FIRE, SPELL_TEMPLAR_FIRE); break; case GOSSIP_ACTION_INFO_DEF + 3: SummonNPC(go, player, NPC_TEMPLAR_WATER, SPELL_TEMPLAR_WATER); break; case GOSSIP_ACTION_INFO_DEF + 4: SummonNPC(go, player, NPC_TEMPLAR_EARTH, SPELL_TEMPLAR_EARTH); break; case GOSSIP_ACTION_INFO_DEF + 5: SummonNPC(go, player, NPC_TEMPLAR_AIR, SPELL_TEMPLAR_AIR); break; case GOSSIP_ACTION_INFO_DEF + 6: SummonNPC(go, player, RAND(NPC_DUKE_FIRE, NPC_DUKE_WATER, NPC_DUKE_EARTH, NPC_DUKE_AIR), SPELL_DUKE_RANDOM); break; case GOSSIP_ACTION_INFO_DEF + 7: SummonNPC(go, player, NPC_DUKE_FIRE, SPELL_DUKE_FIRE); break; case GOSSIP_ACTION_INFO_DEF + 8: SummonNPC(go, player, NPC_DUKE_WATER, SPELL_DUKE_WATER); break; case GOSSIP_ACTION_INFO_DEF + 9: SummonNPC(go, player, NPC_DUKE_EARTH, SPELL_DUKE_EARTH); break; case GOSSIP_ACTION_INFO_DEF + 10: SummonNPC(go, player, NPC_DUKE_AIR, SPELL_DUKE_AIR); break; case GOSSIP_ACTION_INFO_DEF + 11: SummonNPC(go, player, RAND(NPC_ROYAL_FIRE, NPC_ROYAL_AIR, NPC_ROYAL_EARTH, NPC_ROYAL_WATER), SPELL_ROYAL_RANDOM); break; case GOSSIP_ACTION_INFO_DEF + 12: SummonNPC(go, player, NPC_ROYAL_FIRE, SPELL_ROYAL_FIRE); break; case GOSSIP_ACTION_INFO_DEF + 13: SummonNPC(go, player, NPC_ROYAL_WATER, SPELL_ROYAL_WATER); break; case GOSSIP_ACTION_INFO_DEF + 14: SummonNPC(go, player, NPC_ROYAL_EARTH, SPELL_ROYAL_EARTH); break; case GOSSIP_ACTION_INFO_DEF + 15: SummonNPC(go, player, NPC_ROYAL_AIR, SPELL_ROYAL_AIR); break; default: break; } return true; }