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); }
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); }
public static bool CurrentSceneId(ConvertableEnum <SNOScene> sceneSnoId) { return(ZetaDia.Me.CurrentScene.SceneInfo.SNOId == sceneSnoId); }
public static bool HaveBounty(ConvertableEnum <SNOQuest> questId) { return(ZetaDia.Storage.Quests.Bounties.FirstOrDefault(bounty => bounty.Info.QuestSNO == questId && bounty.Info.State != QuestState.Completed) != null); }
public static bool QuestComplete(ConvertableEnum <SNOQuest> questId) { return(ZetaDia.Storage.Quests.AllQuests.Any(q => q.QuestSNO == questId && q.State == QuestState.Completed)); }
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); }
public static bool CurrentAnimation(ConvertableEnum <SNOActor> actorId, string animationName) { return(ActorAnimationExistsNearMe(actorId, animationName, 200f)); }
public static bool HasBeenOperated(ConvertableEnum <SNOActor> actorId) { var actor = ZetaDia.Actors.GetActorsOfType <DiaGizmo>(true).FirstOrDefault(a => a.ActorSnoId == actorId); return(actor != null && actor.HasBeenOperated); }
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); }
public static bool ItemCountLessThan(ConvertableEnum <SNOActor> actorId, int amount) { return(ItemCount(actorId) < amount); }
public static bool ItemCountGreaterThan(ConvertableEnum <SNOActor> actorId, int amount) { return(ItemCount(actorId) > amount); }