Index: boss_curator.cpp =================================================================== --- boss_curator.cpp (revision 609) +++ boss_curator.cpp (working copy) @@ -132,31 +132,35 @@ if(AddTimer < diff) { //Summon Astral Flare - Creature* AstralFlare = DoSpawnCreature(17096, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); - Unit* target = NULL; - target = SelectUnit(SELECT_TARGET_RANDOM, 0); - if (AstralFlare && target) - { - AstralFlare->CastSpell(AstralFlare, SPELL_ASTRAL_FLARE_PASSIVE, false); - AstralFlare->AI()->AttackStart(target); - } + if(m_creature->GetHealth()*100 / m_creature->GetMaxHealth() >= 15) + { + Creature* AstralFlare = DoSpawnCreature(17096, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); + Unit* target = NULL; + target = SelectUnit(SELECT_TARGET_RANDOM, 0); - //Reduce Mana by 10% - int32 mana = (int32)(0.1f*(m_creature->GetMaxPower(POWER_MANA))); - m_creature->ModifyPower(POWER_MANA, -mana); - switch(rand()%4) - { - case 0: - DoYell(SAY_SUMMON1, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_SUMMON1); - break; - case 1: - DoYell(SAY_SUMMON2, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_SUMMON2); - break; - } - AddTimer = 10000; + if (AstralFlare && target) + { + AstralFlare->CastSpell(AstralFlare, SPELL_ASTRAL_FLARE_PASSIVE, false); + AstralFlare->AI()->AttackStart(target); + } + + //Reduce Mana by 10% + int32 mana = (int32)(0.1f*(m_creature->GetMaxPower(POWER_MANA))); + m_creature->ModifyPower(POWER_MANA, -mana); + switch(rand()%4) + { + case 0: + DoYell(SAY_SUMMON1, LANG_UNIVERSAL, NULL); + DoPlaySoundToSet(m_creature, SOUND_SUMMON1); + break; + case 1: + DoYell(SAY_SUMMON2, LANG_UNIVERSAL, NULL); + DoPlaySoundToSet(m_creature, SOUND_SUMMON2); + break; + } + AddTimer = 10000; + } }else AddTimer -= diff; if(HatefulBoltTimer < diff)