public override bool OnGossipHello(Player player, GameObject go) { InstanceScript instance = go.GetInstanceScript(); if (instance == null) { return(false); } Creature PrinceTaldaram = ObjectAccessor.GetCreature(go, instance.GetGuidData(DataTypes.PrinceTaldaram)); if (PrinceTaldaram && PrinceTaldaram.IsAlive()) { go.SetFlag(GameObjectFields.Flags, GameObjectFlags.NotSelectable); go.SetGoState(GameObjectState.Active); switch (go.GetEntry()) { case GameObjectIds.Sphere1: instance.SetData(DataTypes.Sphere1, (uint)EncounterState.InProgress); PrinceTaldaram.GetAI().Talk(TextIds.Say1); break; case GameObjectIds.Sphere2: instance.SetData(DataTypes.Sphere2, (uint)EncounterState.InProgress); PrinceTaldaram.GetAI().Talk(TextIds.Say1); break; } PrinceTaldaram.GetAI <boss_prince_taldaram.boss_prince_taldaramAI>().CheckSpheres(); } return(true); }
public override bool OnTrigger(Player player, AreaTriggerRecord areaTrigger, bool entered) { if (!entered) { return(true); } InstanceScript instance = player.GetInstanceScript(); if (instance != null) { if (instance.GetData(DataTypes.CavernActive) != 0) { return(true); } instance.SetData(DataTypes.CavernActive, 1); Creature tyrannus = ObjectAccessor.GetCreature(player, instance.GetGuidData(DataTypes.TyrannusEvent)); if (tyrannus) { tyrannus.GetAI().Talk(TextIds.SayTyrannusCavernEntrance); } } return(true); }
public override bool OnGossipHello(Player player, GameObject go) { go.SetFlag(GameObjectFields.Flags, GameObjectFlags.NotSelectable); go.SetGoState(GameObjectState.Active); InstanceScript instance = go.GetInstanceScript(); if (instance != null) { instance.SetData(GDDataTypes.StatueActivate, go.GetEntry()); return(true); } return(false); }
public override void UpdateAI(uint diff) { if (!_hasTrappedUnit) { return; } _events.Update(diff); if (_events.ExecuteEvent() == Misc.EventFailBoned) { InstanceScript instance = me.GetInstanceScript(); if (instance != null) { instance.SetData(DataTypes.BonedAchievement, 0); } } }
public override bool OnTrigger(Player player, AreaTriggerRecord areaTrigger, bool entered) { if (!entered) { return(true); } InstanceScript instance = player.GetInstanceScript(); if (instance != null) { instance.SetData(DataTypes.CavernActive, 0); if (instance.GetData(DataTypes.IceShardsHit) == 0) { instance.DoUpdateCriteria(CriteriaTypes.BeSpellTarget, SpellIds.AchievDontLookUpCredit, 0, player); } } return(true); }