Exemplo n.º 1
0
        public static void LoadOnly(int activeTurnCreatureId, int lastTurnCreatureId)
        {
            if (!savedTargets.ContainsKey(activeTurnCreatureId))
            {
                return;
            }

            List <string> currentlyTargetedCreatures;
            List <string> soonToBeTargetedCreatures = savedTargets[activeTurnCreatureId].TargetedCreatures;

            if (!savedTargets.ContainsKey(lastTurnCreatureId))
            {
                currentlyTargetedCreatures = new List <string>();
            }
            else
            {
                currentlyTargetedCreatures = savedTargets[lastTurnCreatureId].TargetedCreatures;
            }

            List <string> creaturesToUntarget = currentlyTargetedCreatures.Except(soonToBeTargetedCreatures).ToList();
            List <string> creaturesToTarget   = soonToBeTargetedCreatures.Except(currentlyTargetedCreatures).ToList();

            TargetCreaturesByTaleSpireId(savedTargets[activeTurnCreatureId]);
            CreatureManager.UpdateInGameStats();
            foreach (string taleSpireId in creaturesToUntarget)
            {
                TaleSpireClient.SetTargeted(taleSpireId, false);
            }
            foreach (string taleSpireId in creaturesToTarget)
            {
                TaleSpireClient.SetTargeted(taleSpireId, true);
            }
        }
Exemplo n.º 2
0
        // TODO: Consolidate with the code in TargetCreaturesInVolume_TargetCreaturesInVolumeRequest and the WhatSide parameter
        public static CharacterPositions GetAllCreaturesInVolume()
        {
            VectorDto          volumeCenter       = Targeting.TargetPoint.ToVectorDto();
            string             shapeName          = Targeting.ExpectedTargetDetails.Shape.ToString();
            CharacterPositions allTargetsInVolume = TaleSpireClient.GetAllCreaturesInVolume(volumeCenter, shapeName, Targeting.ExpectedTargetDetails.DimensionsFeet);

            return(allTargetsInVolume);
        }
Exemplo n.º 3
0
 public static void ClearTargetedInGameCreaturesInTaleSpire()
 {
     foreach (InGameCreature inGameCreature in AllInGameCreatures.Creatures)
     {
         if (inGameCreature.IsTargeted)
         {
             TaleSpireClient.SetTargeted(inGameCreature.TaleSpireId, false);
         }
     }
 }
Exemplo n.º 4
0
 public static void TargetOnScreenNpcsInTaleSpire()
 {
     foreach (InGameCreature inGameCreature in AllInGameCreatures.Creatures)
     {
         if (inGameCreature.OnScreen && !inGameCreature.IsTargeted)
         {
             inGameCreature.IsTargeted = inGameCreature.OnScreen;
             TaleSpireClient.SetTargeted(inGameCreature.TaleSpireId, true);
         }
     }
 }
Exemplo n.º 5
0
        public static void TargetActivePoint()
        {
            ApiResponse response = TaleSpireClient.Invoke("Target", new string[] { "Point" });

            if (response == null)
            {
                return;
            }
            TargetPoint(response);
            Targeting.Ready();
        }
Exemplo n.º 6
0
 public static void ClearTaleSpireTargets(int creatureId)
 {
     if (!savedTargets.ContainsKey(creatureId))
     {
         return;
     }
     foreach (string taleSpireId in savedTargets[creatureId].TargetedCreatures)
     {
         TaleSpireClient.SetTargeted(taleSpireId, false);
     }
 }
Exemplo n.º 7
0
 private static void LoadTargets(SavedTargets targets)
 {
     TaleSpireClient.CleanUpTargets();
     TaleSpireClient.RemoveTargetingUI();
     TargetCreaturesByTaleSpireId(targets);
     CreatureManager.UpdateInGameStats();
     foreach (string taleSpireId in targets.TargetedCreatures)
     {
         TaleSpireClient.SetTargeted(taleSpireId, true);
     }
 }
Exemplo n.º 8
0
 public static void AboutToValidate()
 {
     if (!Targeting.IsReady)
     {
         // Which modes were waiting on a flashlight?
         if (Targeting.ExpectedTargetDetails.Kind.HasFlag(TargetKind.Location) ||
             Targeting.ExpectedTargetDetails.Kind.HasFlag(TargetKind.Volume))
         {
             TargetActivePoint();
         }
     }
     TaleSpireClient.RemoveTargetingUI();
 }
Exemplo n.º 9
0
 public static void TargetAllPlayersInTaleSpire()
 {
     foreach (CreatureStats creatureStats in PlayerStatManager.Players)
     {
         if (creatureStats.IsTargeted)
         {
             Character player = AllPlayers.GetFromId(creatureStats.CreatureId);
             if (player != null)
             {
                 TaleSpireClient.SetTargeted(player.taleSpireId, true);
             }
         }
     }
 }
Exemplo n.º 10
0
        private static void TargetCreaturesInVolume_TargetCreaturesInVolumeRequest(object sender, WhatSideEventArgs ea)
        {
            if (Targeting.ActualKind.HasFlag(TargetKind.Volume))
            {
                CharacterPositions characterPositions = TaleSpireClient.GetAllCreaturesInVolume(Targeting.TargetPoint.ToVectorDto(),
                                                                                                Targeting.ExpectedTargetDetails.Shape.ToString(), Targeting.ExpectedTargetDetails.DimensionsFeet,
                                                                                                ea.WhatSide.ToString());

                TaleSpireClient.CleanUpTargets();
                if (characterPositions != null)
                {
                    List <string> charactersToTarget = characterPositions.Characters.Select(x => x.ID).ToList();
                    TaleSpireClient.TargetCreatures(charactersToTarget);
                    TargetCreaturesByTaleSpireId(charactersToTarget);
                }
                CreatureManager.UpdateInGameStats();
            }
        }
Exemplo n.º 11
0
 public static void ClearTargetingAfterRoll()
 {
     TaleSpireClient.TargetsAreReady();
 }