Scripts/Freya: Fix Lumberjacked Achieve

Fixes #8166

achievement_criteria_data conditions and spell_dbc already exist, just updated spell_dbc
much code... or should i create a method for this. i find no other way for switch:case
```diff
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index 4f40abd..bbdf576 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -78,6 +78,7 @@ class instance_ulduar : public InstanceMapScript
                 illusion = 0;
                 keepersCount = 0;
                 conSpeedAtory = false;
+                lumberjacked = false;
                 Unbroken = true;
                 IsDriveMeCrazyEligible = true;
                 _algalonSummoned = false;
@@ -102,6 +103,7 @@ class instance_ulduar : public InstanceMapScript
             ObjectGuid ThorimGUID;
             ObjectGuid FreyaGUID;
             ObjectGuid ElderGUIDs[3];
+            ObjectGuid FreyaAchieveTriggerGUID;
             ObjectGuid MimironGUID;
             ObjectGuid MimironVehicleGUIDs[3];
             ObjectGuid MimironComputerGUID;
@@ -141,6 +143,7 @@ class instance_ulduar : public InstanceMapScript
             uint8 illusion;
             uint8 keepersCount;
             bool conSpeedAtory;
+            bool lumberjacked;
             bool Unbroken;
             bool IsDriveMeCrazyEligible;
 
@@ -322,6 +325,9 @@ class instance_ulduar : public InstanceMapScript
                         if (GetBossState(BOSS_FREYA) == DONE)
                             creature->DespawnOrUnsummon();
                          break;
+                    case NPC_FREYA_ACHIEVEMENT_TRIGGER:
+                        FreyaAchieveTriggerGUID = creature->GetGUID();
+                        break;
 
                     // Mimiron
                     case NPC_MIMIRON:
@@ -606,6 +612,15 @@ class instance_ulduar : public InstanceMapScript
                             conSpeedAtory = true;
                         }
                         break;
+                    case NPC_IRONBRANCH:
+                    case NPC_STONEBARK:
+                    case NPC_BRIGHTLEAF:
+                        if (!lumberjacked)
+                        {
+                            DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, CRITERIA_LUMBERJACKED);
+                            lumberjacked = true;
+                        }
+                        break;
                     default:
                         break;
                 }
@@ -669,6 +684,21 @@ class instance_ulduar : public InstanceMapScript
                         if (state == DONE)
                             instance->SummonCreature(NPC_FREYA_OBSERVATION_RING, ObservationRingKeepersPos[0]);
                         break;
+                    case BOSS_IRONBRANCH:
+                        if (state == DONE && GetBossState(BOSS_STONEBARK) == DONE && GetBossState(BOSS_BRIGHTLEAF) == DONE && GetBossState(BOSS_FREYA) != DONE)
+                            if (Creature* trigger = instance->GetCreature(FreyaAchieveTriggerGUID))
+                                trigger->CastSpell(trigger, SPELL_LUMBERJACKED_CREDIT, true);
+                            break;
+                    case BOSS_STONEBARK:
+                        if (state == DONE && GetBossState(BOSS_IRONBRANCH) == DONE && GetBossState(BOSS_BRIGHTLEAF) == DONE && GetBossState(BOSS_FREYA) != DONE)
+                            if (Creature* trigger = instance->GetCreature(FreyaAchieveTriggerGUID))
+                                trigger->CastSpell(trigger, SPELL_LUMBERJACKED_CREDIT, true);
+                        break;
+                    case BOSS_BRIGHTLEAF:
+                        if (state == DONE && GetBossState(BOSS_IRONBRANCH) == DONE && GetBossState(BOSS_STONEBARK) == DONE && GetBossState(BOSS_FREYA) != DONE)
+                            if (Creature* trigger = instance->GetCreature(FreyaAchieveTriggerGUID))
+                                trigger->CastSpell(trigger, SPELL_LUMBERJACKED_CREDIT, true);
+                        break;
                     case BOSS_KOLOGARN:
                         if (state == DONE)
                         {