示例#1
0
 void WaypointReached(uint32 i) 
 {
     if (i == 13)
     {
         DoScriptText(BELNISTRASZ_SAY_IDOL,m_creature);
         Unit* bunny = FindCreature(OVEN_TARGET,50,m_creature);
         if (bunny)
             DoCast(bunny,SPELL_BELNISTRASZ_VISUAL);
         onplace = true;
         wavetimer = 10000;
         SetCanAttack(false);            
     }
 }
示例#2
0
void AMech_RPGCharacter::SetupWithLoadout() {
	SetMaxHealth(startingLoadout.maxHealth);
	SetHealth(GetMaxHealth());
	SetDefenceModifier(startingLoadout.defenceModifier);
	SetHealthChangeModifier(startingLoadout.damageModifier);
	SetCanMove(startingLoadout.canMove);
	SetCanAttack(startingLoadout.canAttack);
	SetCanBeDamaged(startingLoadout.canBeDamaged);
	SetHealthRegen(startingLoadout.healthRegen);
	SetTeam(startingLoadout.team);
	SetSpeedModifier(startingLoadout.movementModifier);
	SetSpeed(startingLoadout.speed);
}
示例#3
0
 void UpdateAI(const uint32 diff)
 {
     if (!onplace || waves > 10)
     {
         npc_escortAI::UpdateAI(diff);
         if (!me->getVictim() && waves > 10)
         {
             m_creature->SummonGameObject(GO_BELNISTRASZ_BRAZIER,2578,946,53.3,0,0,0,0,0,30000);
             GetPlayerForEscort()->GroupEventHappens(QUEST_BELNISTRASZ,m_creature);
             if(InstanceData* pInstance = me->GetInstanceData())
                 pInstance->SetData(DATA_BELNISTRASZ,DONE);
             me->ForcedDespawn();
         }
     }
     else if (wavetimer >= diff)
         wavetimer -= diff;
     else
     {
         waves ++;
         switch (waves)
         {
         case 3: DoScriptText(BELNISTRASZ_YELL_3MIN,m_creature);break;
         case 5: DoScriptText(BELNISTRASZ_YELL_2MIN,m_creature);break;
         case 7: DoScriptText(BELNISTRASZ_YELL_1MIN,m_creature);break;
         case 9: DoScriptText(BELNISTRASZ_YELL_COMPLETE,m_creature);break;
         case 10: DoScriptText(BELNISTRASZ_SAY_PLAGUEMAW,m_creature);break;
         default : break;
         }
         if (waves<9)
         {
             m_creature->SummonCreature(MOB_GEOMANCER,2565,961,51.7,5.48,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,120000);
             m_creature->SummonCreature(MOB_BOAR,2568,961,51.7,5.48,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,120000);
             m_creature->SummonCreature(MOB_WARRIOR,2585,960,52.3,3.86,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,120000);
             m_creature->SummonCreature(MOB_BOAR,2585,950,52.3,3.86,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,120000);
             wavetimer = 30000;
         }
         else if (waves == 9)
         {
             SetCanAttack(true);
             m_creature->InterruptNonMeleeSpells(false,SPELL_BELNISTRASZ_VISUAL);
             wavetimer = 5000;
         }
         else if (waves == 10)
         {
             m_creature->SummonCreature(BOSS_PLAGUEMAW,2585,956,52.3,3.86,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,120000);
         }
     }
 }