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); } }
// 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); }
public static void ClearTargetedInGameCreaturesInTaleSpire() { foreach (InGameCreature inGameCreature in AllInGameCreatures.Creatures) { if (inGameCreature.IsTargeted) { TaleSpireClient.SetTargeted(inGameCreature.TaleSpireId, false); } } }
public static void TargetOnScreenNpcsInTaleSpire() { foreach (InGameCreature inGameCreature in AllInGameCreatures.Creatures) { if (inGameCreature.OnScreen && !inGameCreature.IsTargeted) { inGameCreature.IsTargeted = inGameCreature.OnScreen; TaleSpireClient.SetTargeted(inGameCreature.TaleSpireId, true); } } }
public static void TargetActivePoint() { ApiResponse response = TaleSpireClient.Invoke("Target", new string[] { "Point" }); if (response == null) { return; } TargetPoint(response); Targeting.Ready(); }
public static void ClearTaleSpireTargets(int creatureId) { if (!savedTargets.ContainsKey(creatureId)) { return; } foreach (string taleSpireId in savedTargets[creatureId].TargetedCreatures) { TaleSpireClient.SetTargeted(taleSpireId, false); } }
private static void LoadTargets(SavedTargets targets) { TaleSpireClient.CleanUpTargets(); TaleSpireClient.RemoveTargetingUI(); TargetCreaturesByTaleSpireId(targets); CreatureManager.UpdateInGameStats(); foreach (string taleSpireId in targets.TargetedCreatures) { TaleSpireClient.SetTargeted(taleSpireId, true); } }
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(); }
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); } } } }
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(); } }
public static void ClearTargetingAfterRoll() { TaleSpireClient.TargetsAreReady(); }