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