Salles des Valeureux : les 3 boss absents, et Azzakel jamais invoque
Salles des Valeureux (1477) : Hyrja, le Roi-dieu Skovald et Odyn n existaient dans aucune ligne de creature. Le donjon etait bloque bien avant le butin : les portes GOB_DOOR_ODYN_PASSAGE et GOB_DOOR_ODYN_BRIDGE sont des passages commandes par DATA_HYRJA, qui restait donc NOT_STARTED pour toujours - la moitie arriere du donjon etait inaccessible. Apparitions ajoutees pour Hyrja, Olmyr, Solsten, Skovald et Odyn ; Odyn n avait pas de table de butin, il est branche sur sa rencontre du Guide d aventure (1489). Auchindoun : Azzakel n etait pas un boss absent mais un boss jamais invoque. Le controleur qui l invoque est Claws of Argus (76216) apres la mort de six Cackling Pyromaniac ; or la mort de ces derniers envoyait le compteur a la creature 87218, un simple marqueur de position sans IA - l action tombait dans le vide. Le compteur passe desormais par les donnees d instance (DataTriggerAzzakelController). Corrige au passage une condition inversee dans l invocation (if (!m_Azzakel) au lieu de if (!m_Azzakel.IsEmpty())), qui empechait Azzakel de devenir hostile et de charger la plateforme.
This commit is contained in:
@@ -0,0 +1,37 @@
|
|||||||
|
-- =====================================================================
|
||||||
|
-- Salles des Valeureux (carte 1477) : les 3 boss absents
|
||||||
|
--
|
||||||
|
-- Constat du 2026-09-10 : Hymdall, Fenryr et les quatre Rois valarjar
|
||||||
|
-- sont bien posés, mais Hyrja, le Roi-dieu Skovald et Odyn n'existent
|
||||||
|
-- nulle part dans `creature` — donc le donjon s'arrête après Fenryr.
|
||||||
|
-- Leurs modèles, factions, drapeaux, scripts et tables de butin sont
|
||||||
|
-- pourtant tous en base : il ne manquait que les apparitions.
|
||||||
|
--
|
||||||
|
-- Positions : Odyn est repris tel quel du script (boss_odyn.cpp,
|
||||||
|
-- SetHomePosition 2402.76 / 528.64 / 748.99) ; Skovald est placé dans le
|
||||||
|
-- hall d'Odyn, à l'intérieur de la porte 246145 (2520.3 / 529.0 / 749.0)
|
||||||
|
-- dont il commande la fermeture ; Hyrja et ses deux acolytes sont posés
|
||||||
|
-- au-delà de la porte de sa salle (245702, 3196.2 / 371.3 / 655.4), sur
|
||||||
|
-- l'axe d'entrée. La position de Hyrja est la seule estimée : si elle
|
||||||
|
-- flotte ou s'enfonce, corriger le seul Z avec un UPDATE.
|
||||||
|
--
|
||||||
|
-- Odyn a `lootid = 0` : sa ligne de Guide d'aventure est ajoutée ici
|
||||||
|
-- (rencontre 1489, 17 objets officiels). Hyrja et Skovald ont déjà leurs
|
||||||
|
-- tables de butin, on n'y touche pas.
|
||||||
|
-- =====================================================================
|
||||||
|
|
||||||
|
DELETE FROM `creature` WHERE `guid` BETWEEN 290200801 AND 290200805;
|
||||||
|
INSERT INTO `creature`
|
||||||
|
(`guid`,`id`,`map`,`zoneId`,`areaId`,`spawnDifficulties`,`phaseUseFlags`,`PhaseId`,`PhaseGroup`,
|
||||||
|
`terrainSwapMap`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,
|
||||||
|
`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,
|
||||||
|
`npcflag`,`unit_flags`,`unit_flags2`,`unit_flags3`,`dynamicflags`,`ScriptName`,`movementmode`,`VerifiedBuild`) VALUES
|
||||||
|
(290200801, 95833, 1477, 7672, 7672, '1,2,8,23', 0,0,0, -1, 0,0, 3175.00, 350.00, 655.40, 0.79, 7200,0,0,0,0,0, 0,0,0,0,0, '', 0, 0), -- Hyrja
|
||||||
|
(290200802, 97202, 1477, 7672, 7672, '1,2,8,23', 0,0,0, -1, 0,0, 3166.50, 358.50, 655.40, 0.79, 7200,0,0,0,0,0, 0,0,0,0,0, '', 0, 0), -- Olmyr the Enlightened
|
||||||
|
(290200803, 97219, 1477, 7672, 7672, '1,2,8,23', 0,0,0, -1, 0,0, 3183.50, 341.50, 655.40, 0.79, 7200,0,0,0,0,0, 0,0,0,0,0, '', 0, 0), -- Solsten
|
||||||
|
(290200804, 95675, 1477, 7672, 7672, '1,2,8,23', 0,0,0, -1, 0,0, 2500.00, 529.00, 749.00, 0.00, 7200,0,0,0,0,0, 0,0,0,0,0, '', 0, 0), -- God-King Skovald
|
||||||
|
(290200805, 95676, 1477, 7672, 7672, '1,2,8,23', 0,0,0, -1, 0,0, 2402.76, 528.64, 748.99, 0.00, 7200,0,0,0,0,0, 0,0,0,0,0, '', 0, 0); -- Odyn
|
||||||
|
|
||||||
|
-- Odyn n'a aucune table de butin : on le branche sur le Guide d'aventure
|
||||||
|
DELETE FROM `creature_template_journal` WHERE `entry` = 95676;
|
||||||
|
INSERT INTO `creature_template_journal` (`entry`,`JournalEncounterID`) VALUES (95676, 1489);
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
-- Rollback de hov_boss_manquants.sql (2026-09-10)
|
||||||
|
DELETE FROM `creature` WHERE `guid` BETWEEN 290200801 AND 290200805;
|
||||||
|
DELETE FROM `creature_template_journal` WHERE `entry` = 95676;
|
||||||
@@ -1228,9 +1228,12 @@ struct auchindoun_mob_blazing_trickster : public ScriptedAI
|
|||||||
if (l_Azzakel->IsInCombat() && l_Azzakel->IsAlive() && l_Azzakel->IsAIEnabled)
|
if (l_Azzakel->IsInCombat() && l_Azzakel->IsAlive() && l_Azzakel->IsAIEnabled)
|
||||||
l_Azzakel->GetAI()->DoAction(eAuchindounActions::ActionDemonSoulsAchievement);
|
l_Azzakel->GetAI()->DoAction(eAuchindounActions::ActionDemonSoulsAchievement);
|
||||||
}
|
}
|
||||||
if (me->GetEntry() == 79510)
|
/// 87218 n'est qu'un marqueur de position sans IA : le compteur doit
|
||||||
if (Creature* Azzakel_control = me->FindNearestCreature(87218, 50.0f, true))
|
/// aller au vrai controleur (76216), retrouve par les donnees d'instance.
|
||||||
Azzakel_control->AI()->DoAction(2);
|
if (me->GetEntry() == 79510 && m_Instance != nullptr)
|
||||||
|
if (Creature* l_Trigger = m_Instance->instance->GetCreature(m_Instance->GetGuidData(eAuchindounDatas::DataTriggerAzzakelController)))
|
||||||
|
if (l_Trigger->IsWithinDistInMap(me, 50.0f) && l_Trigger->IsAIEnabled)
|
||||||
|
l_Trigger->AI()->DoAction(eAuchindounActions::ActionCountPre3StBossKill);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(uint32 p_Diff) override
|
void UpdateAI(uint32 p_Diff) override
|
||||||
|
|||||||
@@ -485,15 +485,17 @@ struct auchindoun_azzakel_mob_controller : public ScriptedAI
|
|||||||
}
|
}
|
||||||
case eAzzakelEvents::EventSummonAzzakel02:
|
case eAzzakelEvents::EventSummonAzzakel02:
|
||||||
{
|
{
|
||||||
if (!m_Azzakel)
|
/// la condition etait inversee : on entrait ici uniquement quand
|
||||||
|
/// le GUID etait vide, donc Azzakel n'etait jamais rendu hostile.
|
||||||
|
if (!m_Azzakel.IsEmpty())
|
||||||
{
|
{
|
||||||
if (Creature* l_Azzakael = ObjectAccessor::GetCreature(*me, m_Azzakel))
|
if (Creature* l_Azzakael = ObjectAccessor::GetCreature(*me, m_Azzakel))
|
||||||
{
|
{
|
||||||
l_Azzakael->setFaction(HostileFaction);
|
l_Azzakael->setFaction(HostileFaction);
|
||||||
l_Azzakael->GetMotionMaster()->MoveCharge(1911.93f, 2754.40f, 30.973f, 42.0f);
|
l_Azzakael->GetMotionMaster()->MoveCharge(1911.93f, 2754.40f, 30.973f, 42.0f);
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user