mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 01:37:37 +01:00
Scripts/Ulduar: Fixed Hodir's Rare Cache of Winter
Signed-off-by: click <clickvd@gonnamakeyou.com>
This commit is contained in:
@@ -347,8 +347,9 @@ class boss_hodir : public CreatureScript
|
||||
if (damage >= me->GetHealth())
|
||||
{
|
||||
damage = 0;
|
||||
_JustDied();
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
if (iCouldSayThatThisCacheWasRare)
|
||||
instance->SetData(DATA_HODIR_RARE_CACHE, 1);
|
||||
|
||||
me->RemoveAllAuras();
|
||||
me->RemoveAllAttackers();
|
||||
@@ -364,6 +365,8 @@ class boss_hodir : public CreatureScript
|
||||
|
||||
me->setFaction(35);
|
||||
me->DespawnOrUnsummon(10000);
|
||||
|
||||
_JustDied();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -71,12 +71,14 @@ public:
|
||||
uint64 KologarnBridgeGUID;
|
||||
uint64 KologarnDoorGUID;
|
||||
uint64 ThorimChestGUID;
|
||||
uint64 HodirRareCacheGUID;
|
||||
uint64 HodirChestGUID;
|
||||
uint64 FreyaChestGUID;
|
||||
uint64 HodirDoorGUID;
|
||||
uint64 HodirIceDoorGUID;
|
||||
|
||||
uint32 TeamInInstance;
|
||||
uint32 HodirRareCacheData;
|
||||
|
||||
std::set<uint64> mRubbleSpawns;
|
||||
|
||||
@@ -104,6 +106,7 @@ public:
|
||||
KologarnBridgeGUID = 0;
|
||||
KologarnChestGUID = 0;
|
||||
ThorimChestGUID = 0;
|
||||
HodirRareCacheGUID = 0;
|
||||
HodirChestGUID = 0;
|
||||
FreyaChestGUID = 0;
|
||||
LeviathanGateGUID = 0;
|
||||
@@ -111,6 +114,7 @@ public:
|
||||
HodirDoorGUID = 0;
|
||||
HodirIceDoorGUID = 0;
|
||||
TeamInInstance = 0;
|
||||
HodirRareCacheData = 0;
|
||||
|
||||
memset(Encounter, 0, sizeof(Encounter));
|
||||
memset(AssemblyGUIDs, 0, sizeof(AssemblyGUIDs));
|
||||
@@ -297,6 +301,9 @@ public:
|
||||
case GO_THORIM_CHEST:
|
||||
ThorimChestGUID = gameObject->GetGUID();
|
||||
break;
|
||||
case GO_HODIR_RARE_CACHE_OF_WINTER:
|
||||
HodirRareCacheGUID = gameObject->GetGUID();
|
||||
break;
|
||||
case GO_HODIR_CHEST_HERO:
|
||||
case GO_HODIR_CHEST:
|
||||
HodirChestGUID = gameObject->GetGUID();
|
||||
@@ -415,8 +422,11 @@ public:
|
||||
case BOSS_HODIR:
|
||||
if (state == DONE)
|
||||
{
|
||||
if (GameObject* gameObject = instance->GetGameObject(HodirChestGUID))
|
||||
gameObject->SetRespawnTime(gameObject->GetRespawnDelay());
|
||||
if (GameObject* HodirRareCache = instance->GetGameObject(HodirRareCacheGUID))
|
||||
if (GetData(DATA_HODIR_RARE_CACHE) == 1)
|
||||
HodirRareCache->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
if (GameObject* HodirChest = instance->GetGameObject(HodirChestGUID))
|
||||
HodirChest->SetRespawnTime(HodirChest->GetRespawnDelay());
|
||||
HandleGameObject(HodirDoorGUID, true);
|
||||
HandleGameObject(HodirIceDoorGUID, true);
|
||||
}
|
||||
@@ -451,6 +461,9 @@ public:
|
||||
SaveToDB();
|
||||
}
|
||||
break;
|
||||
case DATA_HODIR_RARE_CACHE:
|
||||
HodirRareCacheData = data;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -544,6 +557,10 @@ public:
|
||||
{
|
||||
case TYPE_COLOSSUS:
|
||||
return Encounter[type];
|
||||
break;
|
||||
case DATA_HODIR_RARE_CACHE:
|
||||
return HodirRareCacheData;
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -54,6 +54,9 @@ enum UlduarBosses
|
||||
// Kologarn
|
||||
DATA_LEFT_ARM,
|
||||
DATA_RIGHT_ARM,
|
||||
|
||||
// Hodir
|
||||
DATA_HODIR_RARE_CACHE,
|
||||
};
|
||||
|
||||
enum UlduarNPCs
|
||||
@@ -119,6 +122,7 @@ enum UlduarGameObjects
|
||||
GO_KOLOGARN_DOOR = 194553,
|
||||
GO_THORIM_CHEST_HERO = 194315,
|
||||
GO_THORIM_CHEST = 194314,
|
||||
GO_HODIR_RARE_CACHE_OF_WINTER = 194200,
|
||||
GO_HODIR_CHEST_HERO = 194308,
|
||||
GO_HODIR_CHEST = 194307,
|
||||
GO_FREYA_CHEST_HERO = 194325,
|
||||
|
||||
Reference in New Issue
Block a user