public static function GetNormalRaidsManyBosses($CharacterGUID, $Expansion, $Instance, $Bosses, $Criteria, $Heroic)
 {
     global $FCCore;
     $ParametersIDs = ':id_' . implode(',:id_', array_keys($Criteria));
     $IDsAndValues = array_combine(explode(",", $ParametersIDs), $Criteria);
     $IDsAndValues = String::UnshiftAssoc($IDsAndValues, ':guid', $CharacterGUID);
     $HTML = "";
     $RaidData = array();
     $CharactersSQL = "SELECT cap.*, fa.value1 as bossid FROM character_achievement_progress cap LEFT JOIN " . $FCCore['Database']['database'] . ".freedomcore_achievementcriteria fa ON cap.criteria = fa.id WHERE guid = :guid AND criteria IN (" . $ParametersIDs . ")";
     $CharactersData = Characters::$CharConnection->prepare($CharactersSQL);
     $CharactersData->execute($IDsAndValues);
     $Result = $CharactersData->fetchAll(PDO::FETCH_ASSOC);
     $BossKills = 0;
     if (empty($Result)) {
         $AchievementsPerBoss = count($Criteria) / count($Bosses);
         $BossID = 0;
         $CriteriaID = 0;
         $ArrayIndex = 0;
         $RaidData['guid'] = $CharacterGUID;
         $RaidData['expansion'] = $Expansion;
         $RaidData['instance'] = $Instance;
         foreach ($Bosses as $Boss) {
             $BossCriteria = array_slice($Criteria, 0, 2);
             if (is_numeric($Boss)) {
                 if (strlen((string) $Boss) == 6) {
                     $RaidData['npcs'][$ArrayIndex] = Raids::GetObjectInfo($Boss);
                 } else {
                     $RaidData['npcs'][$ArrayIndex] = Raids::GetNPCInfo($Boss);
                 }
             } else {
                 $RaidData['npcs'][$ArrayIndex] = array('name' => $Boss);
             }
             $RaidData['npcs'][$ArrayIndex]['counter'] = 0;
             unset($Criteria[0]);
             unset($Criteria[1]);
             $Criteria = array_values($Criteria);
             $CriteriaID++;
             $ArrayIndex++;
         }
         $HTML .= Raids::CreateSimpleHTML($Instance, 'incomplete') . PHP_EOL;
     } else {
         $BossesInInstance = count($Bosses);
         $DataForBosses = count($Result);
         $RaidData['guid'] = $CharacterGUID;
         $RaidData['expansion'] = $Expansion;
         $RaidData['instance'] = $Instance;
         $BossID = 0;
         foreach ($Bosses as $Boss) {
             $BossKills = 0;
             foreach ($Result as $Data) {
                 if ($Boss == $Data['bossid']) {
                     $BossCriteriaPortion = array_slice($Criteria, $BossID * 2, 2);
                     if (in_array($Data['criteria'], $BossCriteriaPortion)) {
                         $BossKills = $BossKills + $Data['counter'];
                         if (is_numeric($Boss)) {
                             if (strlen((string) $Boss) == 6) {
                                 $RaidData['npcs'][$BossID] = Raids::GetObjectInfo($Boss);
                             } else {
                                 $RaidData['npcs'][$BossID] = Raids::GetNPCInfo($Boss);
                             }
                         } else {
                             $RaidData['npcs'][$BossID] = array('name' => $Boss);
                         }
                         $RaidData['npcs'][$BossID]['counter'] = $BossKills;
                     }
                 } else {
                     if (is_numeric($Boss)) {
                         if (strlen((string) $Boss) == 6) {
                             $RaidData['npcs'][$BossID] = Raids::GetObjectInfo($Boss);
                         } else {
                             $RaidData['npcs'][$BossID] = Raids::GetNPCInfo($Boss);
                         }
                     } else {
                         $RaidData['npcs'][$BossID] = array('name' => $Boss);
                     }
                     $RaidData['npcs'][$BossID]['counter'] = 0;
                 }
             }
             $BossID++;
         }
         if ($BossesInInstance == $DataForBosses) {
             $HTML .= Raids::CreateSimpleHTML($Instance, 'completed') . PHP_EOL;
         } else {
             $HTML .= Raids::CreateSimpleHTML($Instance, 'in-progress') . PHP_EOL;
         }
     }
     return array('data' => $RaidData, 'html' => $HTML);
 }