TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boss_julianne::boss_julianneAI Struct Reference

Public Member Functions

 boss_julianneAI (Creature *creature)
 
void Initialize ()
 
void Reset () override
 
void EnterCombat (Unit *) override
 
void AttackStart (Unit *who) override
 
void MoveInLineOfSight (Unit *who) override
 
void JustReachedHome () override
 
void SpellHit (Unit *, const SpellInfo *Spell) override
 
void DamageTaken (Unit *, uint32 &damage) override
 
void JustDied (Unit *) override
 
void KilledUnit (Unit *) override
 
void UpdateAI (uint32 diff) override
 
- Public Member Functions inherited from ScriptedAI
 ScriptedAI (Creature *creature)
 
virtual ~ScriptedAI ()
 
void AttackStartNoMove (Unit *target)
 
void JustSummoned (Creature *) override
 
void SummonedCreatureDespawn (Creature *) override
 
void SpellHitTarget (Unit *, SpellInfo const *) override
 
void OnPossess (bool)
 
void DoStartMovement (Unit *target, float distance=0.0f, float angle=0.0f)
 
void DoStartNoMovement (Unit *target)
 
void DoStopAttack ()
 
void DoCastSpell (Unit *target, SpellInfo const *spellInfo, bool triggered=false)
 
void DoPlaySoundToSet (WorldObject *source, uint32 soundId)
 
void DoResetThreat ()
 
float DoGetThreat (Unit *unit)
 
void DoModifyThreatPercent (Unit *unit, int32 pct)
 
void DoTeleportTo (float x, float y, float z, uint32 time=0)
 
void DoTeleportTo (float const pos[4])
 
void DoTeleportPlayer (Unit *unit, float x, float y, float z, float o)
 
void DoTeleportAll (float x, float y, float z, float o)
 
UnitDoSelectLowestHpFriendly (float range, uint32 minHPDiff=1)
 
std::list< Creature * > DoFindFriendlyCC (float range)
 
std::list< Creature * > DoFindFriendlyMissingBuff (float range, uint32 spellId)
 
PlayerGetPlayerAtMinimumRange (float minRange)
 
CreatureDoSpawnCreature (uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, uint32 despawntime)
 
bool HealthBelowPct (uint32 pct) const
 
bool HealthAbovePct (uint32 pct) const
 
SpellInfo constSelectSpell (Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, float rangeMin, float rangeMax, SelectEffect effect)
 
void SetEquipmentSlots (bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
 
void SetCombatMovement (bool allowMovement)
 
bool IsCombatMovementAllowed () const
 
bool IsHeroic () const
 
Difficulty GetDifficulty () const
 
bool Is25ManRaid () const
 
template<class T >
const T & DUNGEON_MODE (const T &normal5, const T &heroic10) const
 
template<class T >
const T & RAID_MODE (const T &normal10, const T &normal25) const
 
template<class T >
const T & RAID_MODE (const T &normal10, const T &normal25, const T &heroic10, const T &heroic25) const
 
- Public Member Functions inherited from CreatureAI
void Talk (uint8 id, WorldObject const *whisperTarget=nullptr)
 
 CreatureAI (Creature *creature)
 
virtual ~CreatureAI ()
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At ================================= More...
 
void TriggerAlert (Unit const *who) const
 
virtual bool CanRespawn ()
 
virtual void EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
virtual void IsSummonedBy (Unit *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void AttackedBy (Unit *)
 
virtual bool IsEscorted () const
 
virtual void JustRespawned ()
 
virtual void MovementInform (uint32, uint32)
 
void OnCharmed (bool apply) override
 
void DoZoneInCombat (Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
 
virtual void ReceiveEmote (Player *, uint32)
 
virtual void OwnerAttackedBy (Unit *)
 
virtual void OwnerAttacked (Unit *)
 
virtual void CorpseRemoved (uint32 &)
 == Triggered Actions Requested ================== More...
 
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields ======================================= More...
 
virtual void OnSpellClick (Unit *, bool &)
 
virtual bool CanSeeAlways (WorldObject const *)
 
int32 VisualizeBoundary (uint32 duration, Unit *owner=nullptr, bool fill=false) const
 
virtual bool CheckInRoom ()
 
CreatureBoundary constGetBoundary () const
 
- Public Member Functions inherited from UnitAI
 UnitAI (Unit *unit)
 
virtual ~UnitAI ()
 
virtual bool CanAIAttack (Unit const *) const
 
virtual void InitializeAI ()
 
virtual void DoAction (int32)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void SetGUID (ObjectGuid, int32=0)
 
virtual ObjectGuid GetGUID (int32=0) const
 
UnitSelectTarget (SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
 
template<class PREDICATE >
UnitSelectTarget (SelectAggroTarget targetType, uint32 position, PREDICATE const &predicate)
 
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectAggroTarget targetType, float dist=0.0f, bool playerOnly=false, int32 aura=0)
 
template<class PREDICATE >
void SelectTargetList (std::list< Unit * > &targetList, PREDICATE const &predicate, uint32 maxTargets, SelectAggroTarget targetType)
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType)
 
virtual void HealReceived (Unit *, uint32 &)
 
virtual void HealDone (Unit *, uint32 &)
 
virtual void SpellInterrupted (uint32, uint32)
 
void AttackStartCaster (Unit *victim, float dist)
 
void DoCast (uint32 spellId)
 
void DoCast (Unit *victim, uint32 spellId, bool triggered=false)
 
void DoCastVictim (uint32 spellId, bool triggered=false)
 
void DoCastAOE (uint32 spellId, bool triggered=false)
 
void DoMeleeAttackIfReady ()
 
bool DoSpellAttackIfReady (uint32 spellId)
 
virtual void sGossipHello (Player *)
 
virtual void sGossipSelect (Player *, uint32, uint32)
 
virtual void sGossipSelectCode (Player *, uint32, uint32, char const *)
 
virtual void sQuestAccept (Player *, Quest const *)
 
virtual void sQuestSelect (Player *, Quest const *)
 
virtual void sQuestReward (Player *, Quest const *, uint32)
 
virtual bool sOnDummyEffect (Unit *, uint32, SpellEffIndex)
 
virtual void sOnGameEvent (bool, uint16)
 

Public Attributes

InstanceScriptinstance
 
uint32 EntryYellTimer
 
uint32 AggroYellTimer
 
ObjectGuid RomuloGUID
 
uint32 Phase
 
uint32 BlindingPassionTimer
 
uint32 DevotionTimer
 
uint32 EternalAffectionTimer
 
uint32 PowerfulAttractionTimer
 
uint32 SummonRomuloTimer
 
uint32 ResurrectTimer
 
uint32 DrinkPoisonTimer
 
uint32 ResurrectSelfTimer
 
bool IsFakingDeath
 
bool SummonedRomulo
 
bool RomuloDead
 
- Public Attributes inherited from ScriptedAI
bool IsFleeing
 

Additional Inherited Members

- Public Types inherited from CreatureAI
enum  EvadeReason { EVADE_REASON_NO_HOSTILES, EVADE_REASON_BOUNDARY, EVADE_REASON_SEQUENCE_BREAK, EVADE_REASON_OTHER }
 
- Static Public Member Functions inherited from UnitAI
static void FillAISpellInfo ()
 
- Static Public Attributes inherited from UnitAI
static AISpellInfoTypeAISpellInfo
 
- Protected Member Functions inherited from CreatureAI
bool UpdateVictim ()
 
bool UpdateVictimWithGaze ()
 
void SetGazeOn (Unit *target)
 
CreatureDoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
bool CheckBoundary (Position const *who=nullptr) const
 
void SetBoundary (CreatureBoundary const *boundary)
 
bool _EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
- Protected Attributes inherited from CreatureAI
Creature *const me
 
CreatureBoundary const_boundary
 
- Protected Attributes inherited from UnitAI
Unit *const me
 

Constructor & Destructor Documentation

boss_julianne::boss_julianneAI::boss_julianneAI ( Creature creature)
inline
1064  : ScriptedAI(creature)
1065  {
1066  Initialize();
1067  instance = creature->GetInstanceScript();
1068  EntryYellTimer = 1000;
1069  AggroYellTimer = 10000;
1070  IsFakingDeath = false;
1071  ResurrectTimer = 0;
1072  }
ScriptedAI(Creature *creature)
Definition: ScriptedCreature.cpp:100
InstanceScript * GetInstanceScript()
Definition: Object.cpp:1540
bool IsFakingDeath
Definition: bosses_opera.cpp:1109
InstanceScript * instance
Definition: bosses_opera.cpp:1091
uint32 AggroYellTimer
Definition: bosses_opera.cpp:1094
void Initialize()
Definition: bosses_opera.cpp:1074
uint32 ResurrectTimer
Definition: bosses_opera.cpp:1105
uint32 EntryYellTimer
Definition: bosses_opera.cpp:1093

+ Here is the call graph for this function:

Member Function Documentation

void boss_julianne::boss_julianneAI::AttackStart ( Unit who)
inlineoverridevirtual

Reimplemented from ScriptedAI.

1126  {
1128  return;
1129 
1131  }
Definition: Unit.h:674
Creature *const me
Definition: CreatureAI.h:71
void AttackStart(Unit *) override
Definition: ScriptedCreature.cpp:117
Definition: UpdateFields.h:109
bool HasFlag(uint16 index, uint32 flag) const
Definition: Object.cpp:1239

+ Here is the call graph for this function:

void boss_julianne::boss_julianneAI::DamageTaken ( Unit ,
uint32 damage 
)
overridevirtual

Reimplemented from ScriptedAI.

1509 {
1510  if (damage < me->GetHealth())
1511  return;
1512 
1513  //anything below only used if incoming damage will kill
1514 
1515  if (Phase == PHASE_JULIANNE)
1516  {
1517  damage = 0;
1518 
1519  //this means already drinking, so return
1520  if (IsFakingDeath)
1521  return;
1522 
1523  me->InterruptNonMeleeSpells(true);
1525 
1526  IsFakingDeath = true;
1527  //IS THIS USEFULL? Creature* Julianne = (ObjectAccessor::GetCreature((*me), JulianneGUID));
1528  return;
1529  }
1530 
1531  if (Phase == PHASE_ROMULO)
1532  {
1533  TC_LOG_ERROR("scripts", "boss_julianneAI: cannot take damage in PHASE_ROMULO, why was i here?");
1534  damage = 0;
1535  return;
1536  }
1537 
1538  if (Phase == PHASE_BOTH)
1539  {
1540  //if this is true then we have to kill romulo too
1541  if (RomuloDead)
1542  {
1543  if (Creature* Romulo = (ObjectAccessor::GetCreature((*me), RomuloGUID)))
1544  {
1545  Romulo->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
1546  Romulo->GetMotionMaster()->Clear();
1547  Romulo->setDeathState(JUST_DIED);
1548  Romulo->CombatStop(true);
1549  Romulo->DeleteThreatList();
1550  Romulo->SetUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
1551  }
1552 
1553  return;
1554  }
1555 
1556  //if not already returned, then romulo is alive and we can pretend die
1557  if (Creature* Romulo = (ObjectAccessor::GetCreature((*me), RomuloGUID)))
1558  {
1559  PretendToDie(me);
1560  IsFakingDeath = true;
1561  ENSURE_AI(boss_romulo::boss_romuloAI, Romulo->AI())->ResurrectTimer = 10000;
1562  ENSURE_AI(boss_romulo::boss_romuloAI, Romulo->AI())->JulianneDead = true;
1563  damage = 0;
1564  return;
1565  }
1566  }
1567  TC_LOG_ERROR("scripts", "boss_julianneAI: DamageTaken reach end of code, that should not happen.");
1568 }
Definition: bosses_opera.cpp:1188
Definition: Unit.h:542
bool IsFakingDeath
Definition: bosses_opera.cpp:1109
Definition: Creature.h:467
Creature *const me
Definition: CreatureAI.h:71
#define ENSURE_AI(a, b)
Definition: ScriptedCreature.h:29
Definition: bosses_opera.cpp:1021
Definition: bosses_opera.cpp:1003
void DoCast(uint32 spellId)
Definition: UnitAI.cpp:101
Definition: bosses_opera.cpp:1022
Definition: bosses_opera.cpp:1023
uint32 ResurrectTimer
Definition: bosses_opera.cpp:1105
void PretendToDie(Creature *creature)
Definition: bosses_opera.cpp:1026
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:174
Definition: SharedDefines.h:4201
bool RomuloDead
Definition: bosses_opera.cpp:1111
Definition: UpdateFields.h:109
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
Definition: Unit.cpp:2916
Definition: UpdateFields.h:30
#define TC_LOG_ERROR(filterType__,...)
Definition: Log.h:207
ObjectGuid RomuloGUID
Definition: bosses_opera.cpp:1096
Phase
Definition: boss_kiljaeden.cpp:153
Definition: Unit.h:698

+ Here is the call graph for this function:

void boss_julianne::boss_julianneAI::EnterCombat ( Unit )
inlineoverridevirtual

Reimplemented from ScriptedAI.

1123 { }
void boss_julianne::boss_julianneAI::Initialize ( void  )
inline
1075  {
1076  RomuloGUID.Clear();
1078 
1079  BlindingPassionTimer = 30000;
1080  DevotionTimer = 15000;
1081  EternalAffectionTimer = 25000;
1082  PowerfulAttractionTimer = 5000;
1083  SummonRomuloTimer = 10000;
1084  DrinkPoisonTimer = 0;
1085  ResurrectSelfTimer = 0;
1086 
1087  SummonedRomulo = false;
1088  RomuloDead = false;
1089  }
uint32 ResurrectSelfTimer
Definition: bosses_opera.cpp:1107
uint32 SummonRomuloTimer
Definition: bosses_opera.cpp:1104
uint32 EternalAffectionTimer
Definition: bosses_opera.cpp:1102
Definition: bosses_opera.cpp:1021
uint32 DevotionTimer
Definition: bosses_opera.cpp:1101
bool SummonedRomulo
Definition: bosses_opera.cpp:1110
void Clear()
Definition: ObjectGuid.h:215
uint32 PowerfulAttractionTimer
Definition: bosses_opera.cpp:1103
bool RomuloDead
Definition: bosses_opera.cpp:1111
uint32 DrinkPoisonTimer
Definition: bosses_opera.cpp:1106
ObjectGuid RomuloGUID
Definition: bosses_opera.cpp:1096
uint32 BlindingPassionTimer
Definition: bosses_opera.cpp:1100
Phase
Definition: boss_kiljaeden.cpp:153
void boss_julianne::boss_julianneAI::JustDied ( Unit )
inlineoverridevirtual

Reimplemented from ScriptedAI.

1159  {
1161 
1166  pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
1167  }
Definition: karazhan.h:30
Definition: karazhan.h:46
InstanceScript * instance
Definition: bosses_opera.cpp:1091
Definition: inflate.h:49
virtual ObjectGuid GetGuidData(uint32 type) const override
Definition: InstanceScript.cpp:93
virtual void SetData(uint32, uint32)
Definition: ZoneScript.h:52
Definition: karazhan.h:57
Definition: SharedDefines.h:2122
Map * instance
Definition: InstanceScript.h:148
Definition: bosses_opera.cpp:989
Definition: GameObject.h:880
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
Definition: InstanceScript.cpp:397
Definition: UpdateFields.h:319
Definition: karazhan.h:47
GameObject * GetGameObject(ObjectGuid const &guid)
Definition: Map.cpp:3545

+ Here is the call graph for this function:

void boss_julianne::boss_julianneAI::JustReachedHome ( )
inlineoverridevirtual

Reimplemented from CreatureAI.

1143  {
1144  me->DespawnOrUnsummon();
1145  }
void DespawnOrUnsummon(uint32 msTimeToDespawn=0)
Definition: Creature.cpp:1774
Creature *const me
Definition: CreatureAI.h:71
void boss_julianne::boss_julianneAI::KilledUnit ( Unit )
inlineoverridevirtual

Reimplemented from ScriptedAI.

1170  {
1172  }
Definition: bosses_opera.cpp:991
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
void boss_julianne::boss_julianneAI::MoveInLineOfSight ( Unit who)
inlineoverridevirtual

Reimplemented from CreatureAI.

1135  {
1137  return;
1138 
1140  }
Definition: Unit.h:674
Creature *const me
Definition: CreatureAI.h:71
Definition: UpdateFields.h:109
virtual void MoveInLineOfSight(Unit *)
Definition: CreatureAI.cpp:128
bool HasFlag(uint16 index, uint32 flag) const
Definition: Object.cpp:1239

+ Here is the call graph for this function:

void boss_julianne::boss_julianneAI::Reset ( )
inlineoverridevirtual

Reimplemented from ScriptedAI.

1114  {
1115  Initialize();
1116  if (IsFakingDeath)
1117  {
1118  Resurrect(me);
1119  IsFakingDeath = false;
1120  }
1121  }
bool IsFakingDeath
Definition: bosses_opera.cpp:1109
Creature *const me
Definition: CreatureAI.h:71
void Initialize()
Definition: bosses_opera.cpp:1074
void Resurrect(Creature *target)
Definition: bosses_opera.cpp:1037

+ Here is the call graph for this function:

void boss_julianne::boss_julianneAI::SpellHit ( Unit ,
const SpellInfo Spell 
)
inlineoverridevirtual

Reimplemented from ScriptedAI.

1148  {
1149  if (Spell->Id == SPELL_DRINK_POISON)
1150  {
1152  DrinkPoisonTimer = 2500;
1153  }
1154  }
uint32 Id
Definition: SpellInfo.h:329
Definition: bosses_opera.cpp:988
Definition: bosses_opera.cpp:1003
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
uint32 DrinkPoisonTimer
Definition: bosses_opera.cpp:1106
void boss_julianne::boss_julianneAI::UpdateAI ( uint32  diff)
overridevirtual

Reimplemented from ScriptedAI.

1389 {
1390  if (EntryYellTimer)
1391  {
1392  if (EntryYellTimer <= diff)
1393  {
1395  EntryYellTimer = 0;
1396  } else EntryYellTimer -= diff;
1397  }
1398 
1399  if (AggroYellTimer)
1400  {
1401  if (AggroYellTimer <= diff)
1402  {
1405  me->setFaction(16);
1406  AggroYellTimer = 0;
1407  } else AggroYellTimer -= diff;
1408  }
1409 
1410  if (DrinkPoisonTimer)
1411  {
1412  //will do this 2secs after spell hit. this is time to display visual as expected
1413  if (DrinkPoisonTimer <= diff)
1414  {
1415  PretendToDie(me);
1416  Phase = PHASE_ROMULO;
1417  SummonRomuloTimer = 10000;
1418  DrinkPoisonTimer = 0;
1419  } else DrinkPoisonTimer -= diff;
1420  }
1421 
1422  if (Phase == PHASE_ROMULO && !SummonedRomulo)
1423  {
1424  if (SummonRomuloTimer <= diff)
1425  {
1427  {
1428  RomuloGUID = pRomulo->GetGUID();
1429  ENSURE_AI(boss_romulo::boss_romuloAI, pRomulo->AI())->JulianneGUID = me->GetGUID();
1431  DoZoneInCombat(pRomulo);
1432 
1433  pRomulo->setFaction(16);
1434  }
1435  SummonedRomulo = true;
1436  } else SummonRomuloTimer -= diff;
1437  }
1438 
1439  if (ResurrectSelfTimer)
1440  {
1441  if (ResurrectSelfTimer <= diff)
1442  {
1443  Resurrect(me);
1444  Phase = PHASE_BOTH;
1445  IsFakingDeath = false;
1446 
1447  if (me->GetVictim())
1448  AttackStart(me->GetVictim());
1449 
1450  ResurrectSelfTimer = 0;
1451  ResurrectTimer = 1000;
1452  } else ResurrectSelfTimer -= diff;
1453  }
1454 
1455  if (!UpdateVictim() || IsFakingDeath)
1456  return;
1457 
1458  if (RomuloDead)
1459  {
1460  if (ResurrectTimer <= diff)
1461  {
1463  if (Romulo && ENSURE_AI(boss_romulo::boss_romuloAI, Romulo->AI())->IsFakingDeath)
1464  {
1466  Resurrect(Romulo);
1468  RomuloDead = false;
1469  ResurrectTimer = 10000;
1470  }
1471  } else ResurrectTimer -= diff;
1472  }
1473 
1474  if (BlindingPassionTimer <= diff)
1475  {
1476  if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
1477  DoCast(target, SPELL_BLINDING_PASSION);
1478  BlindingPassionTimer = urand(30000, 45000);
1479  } else BlindingPassionTimer -= diff;
1480 
1481  if (DevotionTimer <= diff)
1482  {
1484  DevotionTimer = urand(15000, 45000);
1485  } else DevotionTimer -= diff;
1486 
1487  if (PowerfulAttractionTimer <= diff)
1488  {
1490  PowerfulAttractionTimer = urand(5000, 30000);
1491  } else PowerfulAttractionTimer -= diff;
1492 
1493  if (EternalAffectionTimer <= diff)
1494  {
1495  if (urand(0, 1) && SummonedRomulo)
1496  {
1498  if (Romulo && Romulo->IsAlive() && !RomuloDead)
1501 
1502  EternalAffectionTimer = urand(45000, 60000);
1503  } else EternalAffectionTimer -= diff;
1504 
1506 }
Definition: bosses_opera.cpp:1001
Definition: bosses_opera.cpp:1014
Definition: bosses_opera.cpp:1188
uint32 ResurrectSelfTimer
Definition: bosses_opera.cpp:1107
Definition: Unit.h:674
bool UpdateVictim()
Definition: CreatureAI.cpp:233
Definition: bosses_opera.cpp:1002
Definition: Common.h:98
Definition: bosses_opera.cpp:999
bool IsFakingDeath
Definition: bosses_opera.cpp:1109
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
Definition: CreatureAI.cpp:47
Definition: Creature.h:467
Definition: bosses_opera.cpp:1000
uint32 AggroYellTimer
Definition: bosses_opera.cpp:1094
Definition: bosses_opera.cpp:990
Definition: bosses_opera.cpp:986
void setFaction(uint32 faction)
Definition: Unit.h:1467
uint32 SummonRomuloTimer
Definition: bosses_opera.cpp:1104
Creature *const me
Definition: CreatureAI.h:71
uint32 EternalAffectionTimer
Definition: bosses_opera.cpp:1102
#define ENSURE_AI(a, b)
Definition: ScriptedCreature.h:29
void AttackStart(Unit *who) override
Definition: bosses_opera.cpp:1125
uint32 DevotionTimer
Definition: bosses_opera.cpp:1101
Definition: UnitAI.h:35
Definition: bosses_opera.cpp:1015
bool IsAlive() const
Definition: Unit.h:1692
Unit * GetVictim() const
Definition: Unit.h:1379
void Resurrect(Creature *target)
Definition: bosses_opera.cpp:1037
uint32 urand(uint32 min, uint32 max)
Definition: Random.cpp:45
CreatureAI * AI() const
Definition: Creature.h:525
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
Definition: UnitAI.cpp:91
float GetPositionZ() const
Definition: Position.h:106
bool SummonedRomulo
Definition: bosses_opera.cpp:1110
void DoCast(uint32 spellId)
Definition: UnitAI.cpp:101
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
Definition: bosses_opera.cpp:1022
Definition: bosses_opera.cpp:1023
uint32 ResurrectTimer
Definition: bosses_opera.cpp:1105
void PretendToDie(Creature *creature)
Definition: bosses_opera.cpp:1026
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:174
Definition: bosses_opera.cpp:1013
void RemoveFlag(uint16 index, uint32 oldFlag)
Definition: Object.cpp:1214
ObjectGuid const & GetGUID() const
Definition: Object.h:105
uint32 PowerfulAttractionTimer
Definition: bosses_opera.cpp:1103
bool RomuloDead
Definition: bosses_opera.cpp:1111
Definition: UpdateFields.h:109
Definition: Common.h:103
void DoMeleeAttackIfReady()
Definition: UnitAI.cpp:49
uint32 DrinkPoisonTimer
Definition: bosses_opera.cpp:1106
Definition: Unit.h:1305
ObjectGuid RomuloGUID
Definition: bosses_opera.cpp:1096
uint32 BlindingPassionTimer
Definition: bosses_opera.cpp:1100
Phase
Definition: boss_kiljaeden.cpp:153
Definition: bosses_opera.cpp:987
uint32 EntryYellTimer
Definition: bosses_opera.cpp:1093
TempSummon * SummonCreature(uint32 id, Position const &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0) const
Definition: Object.cpp:2346
Definition: Object.h:54

+ Here is the call graph for this function:

Member Data Documentation

uint32 boss_julianne::boss_julianneAI::AggroYellTimer
uint32 boss_julianne::boss_julianneAI::BlindingPassionTimer
uint32 boss_julianne::boss_julianneAI::DevotionTimer
uint32 boss_julianne::boss_julianneAI::DrinkPoisonTimer
uint32 boss_julianne::boss_julianneAI::EntryYellTimer
uint32 boss_julianne::boss_julianneAI::EternalAffectionTimer
InstanceScript* boss_julianne::boss_julianneAI::instance
bool boss_julianne::boss_julianneAI::IsFakingDeath
uint32 boss_julianne::boss_julianneAI::Phase
uint32 boss_julianne::boss_julianneAI::PowerfulAttractionTimer
uint32 boss_julianne::boss_julianneAI::ResurrectSelfTimer
uint32 boss_julianne::boss_julianneAI::ResurrectTimer
bool boss_julianne::boss_julianneAI::RomuloDead
ObjectGuid boss_julianne::boss_julianneAI::RomuloGUID
bool boss_julianne::boss_julianneAI::SummonedRomulo
uint32 boss_julianne::boss_julianneAI::SummonRomuloTimer

The documentation for this struct was generated from the following file: