Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
            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);
                    }
                }
            }
Esempio n. 5
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);
        }