161 { -7591.151855f, -1204.051880f, 476.800476f, 3.0f },
162 { -7514.598633f, -1150.448853f, 476.796570f, 3.0f }
167 { -7449.763672f, -1387.816040f, 526.783691f, 3.0f },
168 { -7535.456543f, -1279.562500f, 476.798706f, 3.0f }
241 if ( type == 1 && data == 1)
247 if (type == 1 && data == 2)
264 boneConstruct->SetVisible(
true);
265 boneConstruct->RemoveAllGameObjects();
266 boneConstruct->SetSpawnHealth();
267 boneConstruct->setDeathState(
ALIVE);
268 boneConstruct->SetUninteractible(
false);
369 for (
uint8 i = 0; i < 2; ++i)
372 if (
urand(0, 2) == 0)
386 nefarian->setActive(
true);
387 nefarian->SetFarVisible(
true);
388 nefarian->SetCanFly(
true);
389 nefarian->SetDisableGravity(
true);
392 nefarian->GetMotionMaster()->MovePoint(1,
NefarianLoc[1]);
497 if (
Unit* owner = temp->GetSummonerUnit())
498 if (owner->IsAIEnabled())
518 if (
Unit* owner = temp->GetSummonerUnit())
519 if (owner->IsAIEnabled())
563 switch (target->GetClass())
bool roll_chance(float chance, PseudoRandomDistributionState &state)
uint32 urand(uint32 min, uint32 max)
void CloseGossipMenuFor(Player *player)
@ FACTION_DRAGONFLIGHT_BLACK
@ UNIT_STAND_STATE_SIT_HIGH_CHAIR
#define RegisterBlackwingLairCreatureAI(ai_name)
Position const NefarianLoc[2]
@ GO_PORTCULLIS_TOBOSSROOMS
@ SPELL_NEFARIANS_BARRIER
@ SPELL_SHADOWBOLT_VOLLEY
@ SPELL_VAELASTRASZZ_SPAWN
@ SPELL_SHADOWFLAME_INITIAL
uint32 constexpr NefarianEntry[5]
Position const NefarianDrakeSpawnLoc[2]
void AddSC_boss_nefarian()
@ ACTION_BONE_CONSTRUCT_START_ATTACK
@ ACTION_BONE_CONSTRUCT_DESPAWN
@ NPC_CHROMATIC_DRAKANOID
InstanceScript *const instance
void _JustEngagedWith(Unit *who)
void SetHomePosition(float x, float y, float z, float o)
void SetImmuneToPC(bool apply) override
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
bool UpdateEntry(uint32 entry, CreatureData const *data=nullptr, bool updateLevel=true)
void CancelEvent(EventId eventId)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
virtual bool SetBossState(uint32 id, EncounterState state)
void MovePath(uint32 pathId, bool repeatable, Optional< Milliseconds > duration={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< std::pair< Milliseconds, Milliseconds > > waitTimeRangeAtPathEnd={}, Optional< float > wanderDistanceAtPathEnds={}, Optional< bool > followPathBackwardsFromEndToStart={}, Optional< bool > exactSplinePath={}, bool generatePath=true, Optional< MovementFadeObject > fadeObject={}, Scripting::v2::ActionResultSetter< MovementStopReason > &&scriptResult={})
void DespawnEntry(uint32 entry)
void Summon(Creature const *summon)
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
void SetFaction(uint32 faction) override
void StopMoving(bool force=false)
MotionMaster * GetMotionMaster()
void RemoveNpcFlag(NPCFlags flags)
TempSummon * ToTempSummon()
void SetUninteractible(bool apply)
void SetFacingToObject(WorldObject const *object, bool force=true, uint32 movementId=EVENT_FACE)
bool SetCanFly(bool enable)
void SetNpcFlag(NPCFlags flags)
bool HealthBelowPctDamaged(float pct, uint32 damage) const
bool HasUnitState(const uint32 f) const
void SetFacingTo(float ori, bool force=true, uint32 movementId=EVENT_FACE)
bool SetDisableGravity(bool disable, bool updateAnimTier=true, bool updatePlayHoverAnim=true)
Player * SelectNearestPlayer(float range) const
GameObject * FindNearestGameObject(uint32 entry, float range, bool spawnedOnly=true) const
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
virtual void SetData(uint32, uint32)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
constexpr void GetPosition(float &x, float &y) const
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
void ResetThreatList(Unit *who=nullptr)
void SetAggressiveStateAfter(Milliseconds timer, Creature *who=nullptr, bool startCombat=true, Creature *summoner=nullptr, StartCombatArgs const &combatArgs={ })
void MovementInform(uint32 type, uint32 id) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void JustReachedHome() override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustEngagedWith(Unit *) override
void KilledUnit(Unit *victim) override
boss_nefarian(Creature *creature)
void BeginEvent(Player *target)
bool OnGossipSelect(Player *player, uint32 menuId, uint32 gossipListId) override
void JustReachedHome() override
void UpdateAI(uint32 diff) override
void SummonedCreatureDies(Creature *summon, Unit *) override
boss_victor_nefarius(Creature *creature)
void DoAction(int32 param) override
void JustSummoned(Creature *summon) override
void SetData(uint32 type, uint32 data) override