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 }
242 if ( type == 1 && data == 1)
248 if (type == 1 && data == 2)
265 boneConstruct->SetVisible(
true);
266 boneConstruct->RemoveAllGameObjects();
267 boneConstruct->SetSpawnHealth();
268 boneConstruct->setDeathState(
ALIVE);
370 for (
uint8 i = 0; i < 2; ++i)
373 if (
urand(0, 2) == 0)
387 nefarian->setActive(
true);
388 nefarian->SetFarVisible(
true);
389 nefarian->SetCanFly(
true);
390 nefarian->SetDisableGravity(
true);
393 nefarian->GetMotionMaster()->MovePoint(1,
NefarianLoc[1]);
498 if (
Unit* owner = temp->GetSummonerUnit())
499 if (owner->IsAIEnabled())
519 if (
Unit* owner = temp->GetSummonerUnit())
520 if (owner->IsAIEnabled())
564 switch (target->GetClass())
uint32 urand(uint32 min, uint32 max)
bool roll_chance_i(int chance)
void CloseGossipMenuFor(Player *player)
@ FACTION_DRAGONFLIGHT_BLACK
@ UNIT_STAND_STATE_SIT_HIGH_CHAIR
@ UNIT_FLAG_UNINTERACTIBLE
#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 DoZoneInCombat(Creature *creature=nullptr)
void SetPhaseMask(uint32 newPhaseMask, bool update) override
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)
void DespawnEntry(uint32 entry)
void Summon(Creature const *summon)
void DoMeleeAttackIfReady()
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 SetFaction(uint32 faction) override
void StopMoving(bool force=false)
MotionMaster * GetMotionMaster()
void RemoveNpcFlag(NPCFlags flags)
TempSummon * ToTempSummon()
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void SetFacingToObject(WorldObject const *object, bool force=true, uint32 movementId=EVENT_FACE)
bool SetCanFly(bool enable, bool packetOnly=false)
void SetNpcFlag(NPCFlags flags)
bool HasUnitState(const uint32 f) const
void SetFacingTo(float ori, bool force=true, uint32 movementId=EVENT_FACE)
void SetStandState(UnitStandStateType state)
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
void SetUnitFlag(UnitFlags flags)
GameObject * FindNearestGameObject(uint32 entry, float range, bool spawnedOnly=true) const
Player * SelectNearestPlayer(float distance) 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)
void GetPosition(float &x, float &y) const
void AttackStart(Unit *) override
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