AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
boss_assembly_of_iron.cpp File Reference
#include "AchievementCriteriaScript.h"
#include "CreatureScript.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "ulduar.h"

Go to the source code of this file.

Classes

class  boss_steelbreaker
 
struct  boss_steelbreaker::boss_steelbreakerAI
 
class  CastRunesEvent
 
class  boss_runemaster_molgeim
 
struct  boss_runemaster_molgeim::boss_runemaster_molgeimAI
 
class  npc_assembly_lightning
 
struct  npc_assembly_lightning::npc_assembly_lightningAI
 
class  boss_stormcaller_brundir
 
struct  boss_stormcaller_brundir::boss_stormcaller_brundirAI
 
class  spell_shield_of_runes_aura
 
class  spell_assembly_meltdown
 
class  spell_assembly_rune_of_summoning_aura
 
class  achievement_assembly_of_iron
 
class  achievement_cant_do_that_while_stunned
 

Macros

#define SPELL_HIGH_VOLTAGE   RAID_MODE(SPELL_HIGH_VOLTAGE_10, SPELL_HIGH_VOLTAGE_25)
 
#define SPELL_FUSION_PUNCH   RAID_MODE(SPELL_FUSION_PUNCH_10, SPELL_FUSION_PUNCH_25)
 
#define SPELL_STATIC_DISRUPTION   RAID_MODE(SPELL_STATIC_DISRUPTION_10, SPELL_STATIC_DISRUPTION_25)
 
#define SPELL_OVERWHELMING_POWER   RAID_MODE(SPELL_OVERWHELMING_POWER_10, SPELL_OVERWHELMING_POWER_25)
 
#define SPELL_SHIELD_OF_RUNES   RAID_MODE(SPELL_SHIELD_OF_RUNES_10, SPELL_SHIELD_OF_RUNES_25)
 
#define SPELL_RUNE_OF_DEATH   RAID_MODE(SPELL_RUNE_OF_DEATH_10, SPELL_RUNE_OF_DEATH_25)
 
#define SPELL_LIGHTNING_BLAST   RAID_MODE(SPELL_LIGHTNING_BLAST_10, SPELL_LIGHTNING_BLAST_25)
 
#define SPELL_CHAIN_LIGHTNING   RAID_MODE(SPELL_CHAIN_LIGHTNING_10, SPELL_CHAIN_LIGHTNING_25)
 
#define SPELL_OVERLOAD   RAID_MODE(SPELL_OVERLOAD_10, SPELL_OVERLOAD_25)
 
#define SPELL_LIGHTNING_WHIRL   RAID_MODE(SPELL_LIGHTNING_WHIRL_10, SPELL_LIGHTNING_WHIRL_25)
 
#define SPELL_LIGHTNING_TENDRILS   RAID_MODE(SPELL_LIGHTNING_TENDRILS_10, SPELL_LIGHTNING_TENDRILS_25)
 

Enumerations

enum  AssemblySpells {
  SPELL_SUPERCHARGE = 61920 ,
  SPELL_BERSERK = 47008 ,
  SPELL_HIGH_VOLTAGE_10 = 61890 ,
  SPELL_HIGH_VOLTAGE_25 = 63498 ,
  SPELL_FUSION_PUNCH_10 = 61903 ,
  SPELL_FUSION_PUNCH_25 = 63493 ,
  SPELL_STATIC_DISRUPTION_10 = 61911 ,
  SPELL_STATIC_DISRUPTION_25 = 63495 ,
  SPELL_OVERWHELMING_POWER_10 = 64637 ,
  SPELL_OVERWHELMING_POWER_25 = 61888 ,
  SPELL_ELECTRICAL_CHARGE = 61902 ,
  SPELL_SHIELD_OF_RUNES_BUFF = 62277 ,
  SPELL_SHIELD_OF_RUNES_10 = 62274 ,
  SPELL_SHIELD_OF_RUNES_25 = 63489 ,
  SPELL_RUNE_OF_POWER = 61973 ,
  SPELL_RUNE_OF_DEATH_10 = 62269 ,
  SPELL_RUNE_OF_DEATH_25 = 63490 ,
  SPELL_RUNE_OF_SUMMONING = 62273 ,
  SPELL_RUNE_OF_SUMMONING_SUMMON = 62020 ,
  SPELL_LIGHTNING_BLAST_10 = 62054 ,
  SPELL_LIGHTNING_BLAST_25 = 63491 ,
  CREATURE_LIGHTNING_ELEMENTAL = 32958 ,
  CREATURE_RUNE_OF_SUMMONING = 33051 ,
  SPELL_RUNE_OF_POWER_OOC_CHANNEL = 61975 ,
  SPELL_CHAIN_LIGHTNING_10 = 61879 ,
  SPELL_CHAIN_LIGHTNING_25 = 63479 ,
  SPELL_OVERLOAD_10 = 61869 ,
  SPELL_OVERLOAD_25 = 63481 ,
  SPELL_LIGHTNING_WHIRL_10 = 61915 ,
  SPELL_LIGHTNING_WHIRL_25 = 63483 ,
  SPELL_LIGHTNING_TENDRILS_10 = 61887 ,
  SPELL_LIGHTNING_TENDRILS_25 = 63486 ,
  SPELL_STORMSHIELD = 64187 ,
  SPELL_LIGHTNING_CHANNEL_PRE = 61942
}
 
enum  eEnums {
  EVENT_FUSION_PUNCH = 1 ,
  EVENT_STATIC_DISRUPTION = 2 ,
  EVENT_OVERWHELMING_POWER = 3 ,
  EVENT_RUNE_OF_POWER = 11 ,
  EVENT_SHIELD_OF_RUNES = 12 ,
  EVENT_RUNE_OF_DEATH = 13 ,
  EVENT_RUNE_OF_SUMMONING = 14 ,
  EVENT_LIGHTNING_BLAST = 15 ,
  EVENT_CHAIN_LIGHTNING = 21 ,
  EVENT_OVERLOAD = 22 ,
  EVENT_LIGHTNING_WHIRL = 23 ,
  EVENT_LIGHTNING_TENDRILS = 24 ,
  EVENT_LIGHTNING_LAND = 25 ,
  EVENT_LAND_LAND = 26 ,
  EVENT_LIGHTNING_FLIGHT = 27 ,
  EVENT_ENRAGE = 30
}
 
enum  AssemblyYells {
  SAY_STEELBREAKER_AGGRO = 0 ,
  SAY_STEELBREAKER_SLAY = 1 ,
  SAY_STEELBREAKER_POWER = 2 ,
  SAY_STEELBREAKER_DEATH = 3 ,
  SAY_STEELBREAKER_ENCOUNTER_DEFEATED = 4 ,
  SAY_STEELBREAKER_BERSERK = 5 ,
  SAY_MOLGEIM_AGGRO = 0 ,
  SAY_MOLGEIM_SLAY = 1 ,
  SAY_MOLGEIM_RUNE_DEATH = 2 ,
  SAY_MOLGEIM_SUMMON = 3 ,
  SAY_MOLGEIM_DEATH = 4 ,
  SAY_MOLGEIM_ENCOUNTER_DEFEATED = 5 ,
  SAY_MOLGEIM_BERSERK = 6 ,
  SAY_BRUNDIR_AGGRO = 0 ,
  SAY_BRUNDIR_SLAY = 1 ,
  SAY_BRUNDIR_SPECIAL = 2 ,
  SAY_BRUNDIR_FLIGHT = 3 ,
  SAY_BRUNDIR_DEATH = 4 ,
  SAY_BRUNDIR_ENCOUNTER_DEFEATED = 5 ,
  SAY_BRUNDIR_BERSERK = 6 ,
  EMOTE_BRUNDIR_OVERLOAD = 7
}
 
enum  Misc {
  ACTION_ADD_CHARGE = 1 ,
  POINT_CHANNEL_STEELBREAKER = 1
}
 

Functions

bool IsEncounterComplete (InstanceScript *pInstance, Creature *me)
 
void RespawnAssemblyOfIron (InstanceScript *pInstance, Creature *me)
 
void RestoreAssemblyHealth (ObjectGuid guid1, ObjectGuid guid2, Creature *me)
 
void AddSC_boss_assembly_of_iron ()
 

Macro Definition Documentation

◆ SPELL_CHAIN_LIGHTNING

#define SPELL_CHAIN_LIGHTNING   RAID_MODE(SPELL_CHAIN_LIGHTNING_10, SPELL_CHAIN_LIGHTNING_25)

◆ SPELL_FUSION_PUNCH

#define SPELL_FUSION_PUNCH   RAID_MODE(SPELL_FUSION_PUNCH_10, SPELL_FUSION_PUNCH_25)

◆ SPELL_HIGH_VOLTAGE

#define SPELL_HIGH_VOLTAGE   RAID_MODE(SPELL_HIGH_VOLTAGE_10, SPELL_HIGH_VOLTAGE_25)

◆ SPELL_LIGHTNING_BLAST

#define SPELL_LIGHTNING_BLAST   RAID_MODE(SPELL_LIGHTNING_BLAST_10, SPELL_LIGHTNING_BLAST_25)

◆ SPELL_LIGHTNING_TENDRILS

#define SPELL_LIGHTNING_TENDRILS   RAID_MODE(SPELL_LIGHTNING_TENDRILS_10, SPELL_LIGHTNING_TENDRILS_25)

◆ SPELL_LIGHTNING_WHIRL

#define SPELL_LIGHTNING_WHIRL   RAID_MODE(SPELL_LIGHTNING_WHIRL_10, SPELL_LIGHTNING_WHIRL_25)

◆ SPELL_OVERLOAD

#define SPELL_OVERLOAD   RAID_MODE(SPELL_OVERLOAD_10, SPELL_OVERLOAD_25)

◆ SPELL_OVERWHELMING_POWER

#define SPELL_OVERWHELMING_POWER   RAID_MODE(SPELL_OVERWHELMING_POWER_10, SPELL_OVERWHELMING_POWER_25)

◆ SPELL_RUNE_OF_DEATH

#define SPELL_RUNE_OF_DEATH   RAID_MODE(SPELL_RUNE_OF_DEATH_10, SPELL_RUNE_OF_DEATH_25)

◆ SPELL_SHIELD_OF_RUNES

#define SPELL_SHIELD_OF_RUNES   RAID_MODE(SPELL_SHIELD_OF_RUNES_10, SPELL_SHIELD_OF_RUNES_25)

◆ SPELL_STATIC_DISRUPTION

#define SPELL_STATIC_DISRUPTION   RAID_MODE(SPELL_STATIC_DISRUPTION_10, SPELL_STATIC_DISRUPTION_25)

Enumeration Type Documentation

◆ AssemblySpells

Enumerator
SPELL_SUPERCHARGE 
SPELL_BERSERK 
SPELL_HIGH_VOLTAGE_10 
SPELL_HIGH_VOLTAGE_25 
SPELL_FUSION_PUNCH_10 
SPELL_FUSION_PUNCH_25 
SPELL_STATIC_DISRUPTION_10 
SPELL_STATIC_DISRUPTION_25 
SPELL_OVERWHELMING_POWER_10 
SPELL_OVERWHELMING_POWER_25 
SPELL_ELECTRICAL_CHARGE 
SPELL_SHIELD_OF_RUNES_BUFF 
SPELL_SHIELD_OF_RUNES_10 
SPELL_SHIELD_OF_RUNES_25 
SPELL_RUNE_OF_POWER 
SPELL_RUNE_OF_DEATH_10 
SPELL_RUNE_OF_DEATH_25 
SPELL_RUNE_OF_SUMMONING 
SPELL_RUNE_OF_SUMMONING_SUMMON 
SPELL_LIGHTNING_BLAST_10 
SPELL_LIGHTNING_BLAST_25 
CREATURE_LIGHTNING_ELEMENTAL 
CREATURE_RUNE_OF_SUMMONING 
SPELL_RUNE_OF_POWER_OOC_CHANNEL 
SPELL_CHAIN_LIGHTNING_10 
SPELL_CHAIN_LIGHTNING_25 
SPELL_OVERLOAD_10 
SPELL_OVERLOAD_25 
SPELL_LIGHTNING_WHIRL_10 
SPELL_LIGHTNING_WHIRL_25 
SPELL_LIGHTNING_TENDRILS_10 
SPELL_LIGHTNING_TENDRILS_25 
SPELL_STORMSHIELD 
SPELL_LIGHTNING_CHANNEL_PRE 
28{
29 // Any boss
30 SPELL_SUPERCHARGE = 61920,
31 SPELL_BERSERK = 47008,
32
33 // Steelbreaker
43
44 // Runemaster Molgeim
48 SPELL_RUNE_OF_POWER = 61973,
58
59 // Stormcaller Brundir
62 SPELL_OVERLOAD_10 = 61869,
63 SPELL_OVERLOAD_25 = 63481,
68 SPELL_STORMSHIELD = 64187,
70};
@ SPELL_HIGH_VOLTAGE_25
Definition boss_assembly_of_iron.cpp:35
@ SPELL_ELECTRICAL_CHARGE
Definition boss_assembly_of_iron.cpp:42
@ SPELL_RUNE_OF_POWER
Definition boss_assembly_of_iron.cpp:48
@ SPELL_LIGHTNING_BLAST_25
Definition boss_assembly_of_iron.cpp:54
@ SPELL_SUPERCHARGE
Definition boss_assembly_of_iron.cpp:30
@ SPELL_RUNE_OF_SUMMONING_SUMMON
Definition boss_assembly_of_iron.cpp:52
@ SPELL_CHAIN_LIGHTNING_25
Definition boss_assembly_of_iron.cpp:61
@ SPELL_OVERLOAD_10
Definition boss_assembly_of_iron.cpp:62
@ SPELL_RUNE_OF_DEATH_10
Definition boss_assembly_of_iron.cpp:49
@ SPELL_SHIELD_OF_RUNES_BUFF
Definition boss_assembly_of_iron.cpp:45
@ SPELL_LIGHTNING_TENDRILS_25
Definition boss_assembly_of_iron.cpp:67
@ SPELL_FUSION_PUNCH_10
Definition boss_assembly_of_iron.cpp:36
@ SPELL_OVERLOAD_25
Definition boss_assembly_of_iron.cpp:63
@ SPELL_SHIELD_OF_RUNES_10
Definition boss_assembly_of_iron.cpp:46
@ SPELL_OVERWHELMING_POWER_25
Definition boss_assembly_of_iron.cpp:41
@ SPELL_FUSION_PUNCH_25
Definition boss_assembly_of_iron.cpp:37
@ SPELL_LIGHTNING_BLAST_10
Definition boss_assembly_of_iron.cpp:53
@ SPELL_RUNE_OF_POWER_OOC_CHANNEL
Definition boss_assembly_of_iron.cpp:57
@ SPELL_LIGHTNING_WHIRL_25
Definition boss_assembly_of_iron.cpp:65
@ SPELL_STORMSHIELD
Definition boss_assembly_of_iron.cpp:68
@ SPELL_RUNE_OF_DEATH_25
Definition boss_assembly_of_iron.cpp:50
@ SPELL_OVERWHELMING_POWER_10
Definition boss_assembly_of_iron.cpp:40
@ SPELL_HIGH_VOLTAGE_10
Definition boss_assembly_of_iron.cpp:34
@ SPELL_LIGHTNING_CHANNEL_PRE
Definition boss_assembly_of_iron.cpp:69
@ SPELL_LIGHTNING_WHIRL_10
Definition boss_assembly_of_iron.cpp:64
@ SPELL_CHAIN_LIGHTNING_10
Definition boss_assembly_of_iron.cpp:60
@ CREATURE_LIGHTNING_ELEMENTAL
Definition boss_assembly_of_iron.cpp:55
@ SPELL_SHIELD_OF_RUNES_25
Definition boss_assembly_of_iron.cpp:47
@ SPELL_BERSERK
Definition boss_assembly_of_iron.cpp:31
@ SPELL_STATIC_DISRUPTION_25
Definition boss_assembly_of_iron.cpp:39
@ CREATURE_RUNE_OF_SUMMONING
Definition boss_assembly_of_iron.cpp:56
@ SPELL_STATIC_DISRUPTION_10
Definition boss_assembly_of_iron.cpp:38
@ SPELL_RUNE_OF_SUMMONING
Definition boss_assembly_of_iron.cpp:51
@ SPELL_LIGHTNING_TENDRILS_10
Definition boss_assembly_of_iron.cpp:66

◆ AssemblyYells

Enumerator
SAY_STEELBREAKER_AGGRO 
SAY_STEELBREAKER_SLAY 
SAY_STEELBREAKER_POWER 
SAY_STEELBREAKER_DEATH 
SAY_STEELBREAKER_ENCOUNTER_DEFEATED 
SAY_STEELBREAKER_BERSERK 
SAY_MOLGEIM_AGGRO 
SAY_MOLGEIM_SLAY 
SAY_MOLGEIM_RUNE_DEATH 
SAY_MOLGEIM_SUMMON 
SAY_MOLGEIM_DEATH 
SAY_MOLGEIM_ENCOUNTER_DEFEATED 
SAY_MOLGEIM_BERSERK 
SAY_BRUNDIR_AGGRO 
SAY_BRUNDIR_SLAY 
SAY_BRUNDIR_SPECIAL 
SAY_BRUNDIR_FLIGHT 
SAY_BRUNDIR_DEATH 
SAY_BRUNDIR_ENCOUNTER_DEFEATED 
SAY_BRUNDIR_BERSERK 
EMOTE_BRUNDIR_OVERLOAD 
112{
119
127
136};
@ SAY_MOLGEIM_SLAY
Definition boss_assembly_of_iron.cpp:121
@ SAY_BRUNDIR_SLAY
Definition boss_assembly_of_iron.cpp:129
@ SAY_STEELBREAKER_ENCOUNTER_DEFEATED
Definition boss_assembly_of_iron.cpp:117
@ SAY_BRUNDIR_DEATH
Definition boss_assembly_of_iron.cpp:132
@ SAY_MOLGEIM_RUNE_DEATH
Definition boss_assembly_of_iron.cpp:122
@ SAY_BRUNDIR_ENCOUNTER_DEFEATED
Definition boss_assembly_of_iron.cpp:133
@ SAY_MOLGEIM_AGGRO
Definition boss_assembly_of_iron.cpp:120
@ SAY_MOLGEIM_DEATH
Definition boss_assembly_of_iron.cpp:124
@ SAY_BRUNDIR_FLIGHT
Definition boss_assembly_of_iron.cpp:131
@ SAY_MOLGEIM_SUMMON
Definition boss_assembly_of_iron.cpp:123
@ SAY_MOLGEIM_BERSERK
Definition boss_assembly_of_iron.cpp:126
@ SAY_BRUNDIR_BERSERK
Definition boss_assembly_of_iron.cpp:134
@ SAY_BRUNDIR_SPECIAL
Definition boss_assembly_of_iron.cpp:130
@ EMOTE_BRUNDIR_OVERLOAD
Definition boss_assembly_of_iron.cpp:135
@ SAY_STEELBREAKER_DEATH
Definition boss_assembly_of_iron.cpp:116
@ SAY_MOLGEIM_ENCOUNTER_DEFEATED
Definition boss_assembly_of_iron.cpp:125
@ SAY_STEELBREAKER_POWER
Definition boss_assembly_of_iron.cpp:115
@ SAY_BRUNDIR_AGGRO
Definition boss_assembly_of_iron.cpp:128
@ SAY_STEELBREAKER_AGGRO
Definition boss_assembly_of_iron.cpp:113
@ SAY_STEELBREAKER_SLAY
Definition boss_assembly_of_iron.cpp:114
@ SAY_STEELBREAKER_BERSERK
Definition boss_assembly_of_iron.cpp:118

◆ eEnums

enum eEnums
Enumerator
EVENT_FUSION_PUNCH 
EVENT_STATIC_DISRUPTION 
EVENT_OVERWHELMING_POWER 
EVENT_RUNE_OF_POWER 
EVENT_SHIELD_OF_RUNES 
EVENT_RUNE_OF_DEATH 
EVENT_RUNE_OF_SUMMONING 
EVENT_LIGHTNING_BLAST 
EVENT_CHAIN_LIGHTNING 
EVENT_OVERLOAD 
EVENT_LIGHTNING_WHIRL 
EVENT_LIGHTNING_TENDRILS 
EVENT_LIGHTNING_LAND 
EVENT_LAND_LAND 
EVENT_LIGHTNING_FLIGHT 
EVENT_ENRAGE 
85{
86 // Steelbreaker
90 //EVENT_CHECK_MAIN_TANK = 4,
91
92 // Molgeim
98
99 // Brundir
101 EVENT_OVERLOAD = 22,
105 EVENT_LAND_LAND = 26,
107
108 EVENT_ENRAGE = 30
109};
@ EVENT_CHAIN_LIGHTNING
Definition boss_assembly_of_iron.cpp:100
@ EVENT_LIGHTNING_BLAST
Definition boss_assembly_of_iron.cpp:97
@ EVENT_ENRAGE
Definition boss_assembly_of_iron.cpp:108
@ EVENT_SHIELD_OF_RUNES
Definition boss_assembly_of_iron.cpp:94
@ EVENT_RUNE_OF_DEATH
Definition boss_assembly_of_iron.cpp:95
@ EVENT_RUNE_OF_SUMMONING
Definition boss_assembly_of_iron.cpp:96
@ EVENT_RUNE_OF_POWER
Definition boss_assembly_of_iron.cpp:93
@ EVENT_OVERLOAD
Definition boss_assembly_of_iron.cpp:101
@ EVENT_FUSION_PUNCH
Definition boss_assembly_of_iron.cpp:87
@ EVENT_LIGHTNING_TENDRILS
Definition boss_assembly_of_iron.cpp:103
@ EVENT_LIGHTNING_LAND
Definition boss_assembly_of_iron.cpp:104
@ EVENT_LIGHTNING_FLIGHT
Definition boss_assembly_of_iron.cpp:106
@ EVENT_LAND_LAND
Definition boss_assembly_of_iron.cpp:105
@ EVENT_STATIC_DISRUPTION
Definition boss_assembly_of_iron.cpp:88
@ EVENT_LIGHTNING_WHIRL
Definition boss_assembly_of_iron.cpp:102
@ EVENT_OVERWHELMING_POWER
Definition boss_assembly_of_iron.cpp:89

◆ Misc

enum Misc
Enumerator
ACTION_ADD_CHARGE 
POINT_CHANNEL_STEELBREAKER 
139{
142};
@ POINT_CHANNEL_STEELBREAKER
Definition boss_assembly_of_iron.cpp:141
@ ACTION_ADD_CHARGE
Definition boss_assembly_of_iron.cpp:140

Function Documentation

◆ AddSC_boss_assembly_of_iron()

void AddSC_boss_assembly_of_iron ( )
952{
953 new boss_steelbreaker();
957
961
962 new achievement_assembly_of_iron("achievement_but_im_on_your_side", 0);
963 new achievement_assembly_of_iron("achievement_assembly_steelbreaker", NPC_STEELBREAKER);
964 new achievement_assembly_of_iron("achievement_assembly_runemaster", NPC_MOLGEIM);
965 new achievement_assembly_of_iron("achievement_assembly_stormcaller", NPC_BRUNDIR);
967}
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition boss_assembly_of_iron.cpp:916
Definition boss_assembly_of_iron.cpp:933
Definition boss_assembly_of_iron.cpp:388
Definition boss_assembly_of_iron.cpp:197
Definition boss_assembly_of_iron.cpp:598
Definition boss_assembly_of_iron.cpp:553
Definition boss_assembly_of_iron.cpp:870
Definition boss_assembly_of_iron.cpp:887
Definition boss_assembly_of_iron.cpp:848
@ NPC_MOLGEIM
Definition ulduar.h:114
@ NPC_BRUNDIR
Definition ulduar.h:115
@ NPC_STEELBREAKER
Definition ulduar.h:113

References NPC_BRUNDIR, NPC_MOLGEIM, NPC_STEELBREAKER, and RegisterSpellScript.

Referenced by AddNorthrendScripts().

◆ IsEncounterComplete()

bool IsEncounterComplete ( InstanceScript pInstance,
Creature me 
)
145{
146 if (!pInstance || !me)
147 return false;
148
149 for (uint8 i = 0; i < 3; ++i)
150 {
151 ObjectGuid guid = pInstance->GetGuidData(DATA_STEELBREAKER + i);
152 if (!guid)
153 return false;
154
155 if (Creature* boss = (ObjectAccessor::GetCreature(*me, guid)))
156 {
157 if (boss->IsAlive())
158 return false;
159 continue;
160 }
161 else
162 return false;
163 }
164 return true;
165}
std::uint8_t uint8
Definition Define.h:109
Definition Creature.h:43
ObjectGuid GetGuidData(uint32 type) const override
Definition InstanceScript.cpp:110
Definition ObjectGuid.h:118
Creature * GetCreature(WorldObject const &u, ObjectGuid const guid)
Definition ObjectAccessor.cpp:210
@ DATA_STEELBREAKER
Definition ulduar.h:85

References DATA_STEELBREAKER, ObjectAccessor::GetCreature(), and InstanceScript::GetGuidData().

Referenced by boss_steelbreaker::boss_steelbreakerAI::JustDied(), boss_runemaster_molgeim::boss_runemaster_molgeimAI::JustDied(), and boss_stormcaller_brundir::boss_stormcaller_brundirAI::JustDied().

◆ RespawnAssemblyOfIron()

void RespawnAssemblyOfIron ( InstanceScript pInstance,
Creature me 
)
168{
169 if (!pInstance || !me)
170 return;
171
172 for (uint8 i = 0; i < 3; ++i)
173 {
174 ObjectGuid guid = pInstance->GetGuidData(DATA_STEELBREAKER + i);
175 if (!guid)
176 return;
177
178 if (Creature* boss = (ObjectAccessor::GetCreature((*me), guid)))
179 if (!boss->IsAlive())
180 boss->Respawn();
181 }
182 return;
183}

References DATA_STEELBREAKER, ObjectAccessor::GetCreature(), and InstanceScript::GetGuidData().

Referenced by boss_steelbreaker::boss_steelbreakerAI::Reset(), boss_runemaster_molgeim::boss_runemaster_molgeimAI::Reset(), and boss_stormcaller_brundir::boss_stormcaller_brundirAI::Reset().

◆ RestoreAssemblyHealth()

void RestoreAssemblyHealth ( ObjectGuid  guid1,
ObjectGuid  guid2,
Creature me 
)
186{
187 if (Creature* cr = ObjectAccessor::GetCreature(*me, guid1))
188 if (cr->IsAlive())
189 cr->SetHealth(cr->GetMaxHealth());
190
191 if (Creature* cr2 = ObjectAccessor::GetCreature(*me, guid2))
192 if (cr2->IsAlive())
193 cr2->SetHealth(cr2->GetMaxHealth());
194}

References ObjectAccessor::GetCreature().

Referenced by boss_steelbreaker::boss_steelbreakerAI::JustDied(), boss_runemaster_molgeim::boss_runemaster_molgeimAI::JustDied(), and boss_stormcaller_brundir::boss_stormcaller_brundirAI::JustDied().