Beispiel #1
0
        public static long StashCount(ConvertableEnum <SNOActor> actorId)
        {
            var items = InventoryManager.StashItems.Where(item => actorId == item.ActorSnoId).ToList();

            if (!items.Any())
            {
                return(0);
            }

            if (items.First().ItemStackQuantity > 0)
            {
                return(items.Select(i => i.ItemStackQuantity).Aggregate((a, b) => a + b));
            }

            return(items.Count);
        }
Beispiel #2
0
        public static bool ActorAnimationExistsNearMe(ConvertableEnum <SNOActor> actorId, string animationName, float radius)
        {
            var actor = ZetaDia.Actors.GetActorsOfType <DiaObject>(true).FirstOrDefault(a => a.ActorSnoId == actorId && a.Distance <= radius);

            if (actor?.CommonData == null || !actor.IsFullyValid())
            {
                return(false);
            }

            var result = actor.CommonData.CurrentAnimation.ToString().ToLowerInvariant().Contains(animationName.ToLowerInvariant());

            //Core.Logger.Debug("Animation for {0} ({1}) is {2} State={3} ({4})",
            //    actor.Name,
            //    actor.ActorSnoId,
            //    actor.CommonData.CurrentAnimation,
            //    actor.CommonData.AnimationState,
            //    result);

            return(result);
        }
Beispiel #3
0
 public static bool CurrentSceneId(ConvertableEnum <SNOScene> sceneSnoId)
 {
     return(ZetaDia.Me.CurrentScene.SceneInfo.SNOId == sceneSnoId);
 }
Beispiel #4
0
 public static bool HaveBounty(ConvertableEnum <SNOQuest> questId)
 {
     return(ZetaDia.Storage.Quests.Bounties.FirstOrDefault(bounty => bounty.Info.QuestSNO == questId && bounty.Info.State != QuestState.Completed) != null);
 }
Beispiel #5
0
 public static bool QuestComplete(ConvertableEnum <SNOQuest> questId)
 {
     return(ZetaDia.Storage.Quests.AllQuests.Any(q => q.QuestSNO == questId && q.State == QuestState.Completed));
 }
Beispiel #6
0
        public static bool IsBountyLevelArea(ConvertableEnum <SNOQuest> questId)
        {
            var result = ZetaDia.Storage.Quests.Bounties.FirstOrDefault(q => q.Quest == questId && q.LevelAreas.Contains(ZetaDia.CurrentLevelAreaSnoId) || q.StartingLevelArea == ZetaDia.CurrentLevelAreaSnoId);

            return(result != null);
        }
Beispiel #7
0
 public static bool CurrentAnimation(ConvertableEnum <SNOActor> actorId, string animationName)
 {
     return(ActorAnimationExistsNearMe(actorId, animationName, 200f));
 }
Beispiel #8
0
        public static bool HasBeenOperated(ConvertableEnum <SNOActor> actorId)
        {
            var actor = ZetaDia.Actors.GetActorsOfType <DiaGizmo>(true).FirstOrDefault(a => a.ActorSnoId == actorId);

            return(actor != null && actor.HasBeenOperated);
        }
Beispiel #9
0
        public static bool ActorExistsNearMe(ConvertableEnum <SNOActor> actorId, float range)
        {
            var nearbyActors = ZetaDia.Actors.GetActorsOfType <DiaObject>(true).Where(i => i.IsValid && i.ActorSnoId == actorId && Vector3.Distance(i.Position, ZetaDia.Me.Position) <= range).ToList();

            return(nearbyActors.Count > 0);
        }
Beispiel #10
0
 public static bool ItemCountLessThan(ConvertableEnum <SNOActor> actorId, int amount)
 {
     return(ItemCount(actorId) < amount);
 }
Beispiel #11
0
 public static bool ItemCountGreaterThan(ConvertableEnum <SNOActor> actorId, int amount)
 {
     return(ItemCount(actorId) > amount);
 }