Exemple #1
0
 void EnterCombat(Unit* pVictim)
 {
     if (!m_pInstance) return;
     //me->RemoveFlag(MOVEFLAG_WALK, MOVEMENTFLAG_WALK_MODE);
     DoScriptText(SAY_MARWYN_AGGRO, me);
     m_pInstance->DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, 10);
 }
        bool OnGossipHello(Player* player, GameObject* go)
        {
            InstanceScript* instance = go->GetInstanceScript();

            if (FragmentsCount < MAX_FRAGMENTS_COUNT)
            {
                instance->DoUpdateWorldState(WORLDSTATE_FRAGMENTS_COLLECTED, FragmentsCount);
                FragmentsCount++;
            }
            else // Fragments reach 16.
            {
                instance->DoUpdateWorldState(WORLDSTATE_FRAGMENTS_COLLECTED, MAX_FRAGMENTS_COUNT);
                instance->instance->SummonCreature(NPC_ECHO_OF_JAINA, JainaSummonPos);
            }
            player->PlayerTalkClass->ClearMenus();
            go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
            go->Delete();
            return true;
        }
Exemple #3
0
 void CallFallSoldier()
 {
      for(uint8 i = 0; i < 4; i++)
      {
         if(Creature* Summon = m_pInstance->instance->GetCreature(m_uiSummonGUID[m_uiCheckSummon]))
         {
             Summon->CastSpell(Summon, 75041, true); //Красная дымка при активации
             Summon->CastSpell(Summon, 72130, true); //Визуальный эффект активации
             Summon->setFaction(14);
             Summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
             Summon->SetReactState(REACT_AGGRESSIVE);
             Summon->SetInCombatWithZone();
         }
         m_uiCheckSummon++;
      }
      uiWaveCount++;
      m_pInstance->DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, 5 + uiWaveCount);
 }
Exemple #4
0
 void AddWave()
 {
     m_pInstance->DoUpdateWorldState(WORLD_STATE_HOR, 1);
     m_pInstance->DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, SummonCountMarwyn);
 }