public override void Update(long tick)
        {
            if (PendingDisposal)
            {
                Dispose();
                return;
            }

            BuffInterface.Update(tick);
            EvtInterface.Update(tick);
        }
Ejemplo n.º 2
0
        public override void Update(long tick)
        {
            if (!_hasExploded && tick > _nextCheckInterval)
            {
                foreach (var obj in ObjectsInRange)
                {
                    Unit victim = obj as Unit;

                    if (victim == null || victim.IsDead)
                    {
                        continue;
                    }

                    if (!(victim is Player) && !(victim is Creature))
                    {
                        continue;
                    }

                    if (victim.Realm != Owner.Realm && ObjectWithinRadiusFeet(victim, 30))
                    {
                        BuffInterface.NotifyCombatEvent((byte)BuffCombatEvents.Manual, null, victim);

                        _hasExploded = true;
                        return;
                    }
                }

                _nextCheckInterval = tick + 1000;
            }

            if (PendingDisposal)
            {
                Dispose();
                return;
            }

            BuffInterface.Update(tick);
            EvtInterface.Update(tick);
        }