public static void AddToList(ISession session, EncounterResponse eresponse) { if (PokemonInfo.CalculatePokemonPerfection(eresponse.WildPokemon.PokemonData) < minIvPercent || session.LogicSettings.PokemonsNotToCatch.Contains(eresponse.WildPokemon.PokemonData.PokemonId) || LocationQueue.FirstOrDefault(p => p.EncounterId == eresponse.WildPokemon.EncounterId) != null || VisitedEncounterIds.Contains(eresponse.WildPokemon.EncounterId)) { return; } using (var newdata = new EncounterInfo()) { newdata.EncounterId = eresponse.WildPokemon.EncounterId; newdata.LastModifiedTimestampMs = eresponse.WildPokemon.LastModifiedTimestampMs; newdata.SpawnPointId = eresponse.WildPokemon.SpawnPointId; newdata.TimeTillHiddenMs = eresponse.WildPokemon.TimeTillHiddenMs; newdata.PokemonId = eresponse.WildPokemon.PokemonData.PokemonId; newdata.Iv = PokemonInfo.CalculatePokemonPerfection(eresponse.WildPokemon.PokemonData); newdata.Latitude = eresponse.WildPokemon.Latitude; newdata.Longitude = eresponse.WildPokemon.Longitude; newdata.Move1 = eresponse.WildPokemon.PokemonData.Move1; newdata.Move2 = eresponse.WildPokemon.PokemonData.Move2; if (LocationQueue.FirstOrDefault(p => p.EncounterId == newdata.EncounterId && p.SpawnPointId == newdata.SpawnPointId) == null)// check 2x { LocationQueue.Add(newdata); } } }
void checkBattleRes() { if (!PlayerData.getInstance().isWaitingBattle || !PlayerData.getInstance().isFixedBattle) { return; } Debug.Log(PlayerData.getInstance().beforeEid); EncounterInfo einfo = GameStaticData.getInstance().getEncounterInfo(PlayerData.getInstance().beforeEid); EncounterStage es = einfo.stages [PlayerData.getInstance().beforeStage]; int showIdx = -1; if (PlayerData.getInstance().battleWin) { showIdx = es.converts [0].nextStageIdx; } else { showIdx = es.converts [1].nextStageIdx; } if (showIdx != -1) { sbManager.initEncounter(einfo.eId, showIdx); sbManager.RequestFocus(); } PlayerData.getInstance().isWaitingBattle = false; }
private Composite CreateBehavior_CombatMain() { var info = new EncounterInfo(); return(_root ?? (_root = new Decorator( ctx => !_isBehaviorDone, new PrioritySelector( ctx => info.Update(), CreateBehavior_CheckQuestCompletion(), new Decorator(ctx => info.RadianceTarget != WoWPoint.Empty && CanCastPetSpell(3), new Action( ctx => { CastPetSpell(3, info.RadianceTarget); // return RunStatus.Failure; })), new Decorator(ctx => info.VolleyPosition != WoWPoint.Empty && CanCastPetSpell(2), new Action( ctx => { CastPetSpell(2, info.VolleyPosition); //return RunStatus.Failure; })), new Decorator(ctx => info.ChampionRallyPosition != WoWPoint.Empty && CanCastPetSpell(1), new Action(ctx => CastPetSpell(1, info.ChampionRallyPosition))) )))); }
public static void AddToList(ISession session, EncounterResponse eresponse) { if ((PokemonGradeHelper.GetPokemonGrade(eresponse.WildPokemon.PokemonData.PokemonId) == PokemonGrades.VeryRare || PokemonGradeHelper.GetPokemonGrade(eresponse.WildPokemon.PokemonData.PokemonId) == PokemonGrades.Epic || PokemonGradeHelper.GetPokemonGrade(eresponse.WildPokemon.PokemonData.PokemonId) == PokemonGrades.Legendary)) { //access for rare pokemons } else if (PokemonInfo.CalculatePokemonPerfection(eresponse.WildPokemon.PokemonData) < minIvPercent) { return; } if (LocationQueue.FirstOrDefault(p => p.EncounterId == eresponse.WildPokemon.EncounterId) != null) { return; } using (var newdata = new EncounterInfo()) { newdata.EncounterId = eresponse.WildPokemon.EncounterId; newdata.LastModifiedTimestampMs = eresponse.WildPokemon.LastModifiedTimestampMs; newdata.SpawnPointId = eresponse.WildPokemon.SpawnPointId; newdata.TimeTillHiddenMs = eresponse.WildPokemon.TimeTillHiddenMs; newdata.PokemonId = eresponse.WildPokemon.PokemonData.PokemonId; newdata.Iv = PokemonInfo.CalculatePokemonPerfection(eresponse.WildPokemon.PokemonData); newdata.Latitude = eresponse.WildPokemon.Latitude; newdata.Longitude = eresponse.WildPokemon.Longitude; newdata.Move1 = eresponse.WildPokemon.PokemonData.Move1; newdata.Move2 = eresponse.WildPokemon.PokemonData.Move2; LocationQueue.Add(newdata); } }
internal override void Process() { base.Process(); LuaTurnSetInfo ltsiTo = EncounterInfo.currentTurn().toLuaTurnSetInfo(); LuaTurnSetInfo ltsiFrom = EncounterInfo.getTurnSetFrom(lci.parent).toLuaTurnSetInfo(); LuaCharacterTurnInfo lcti = EncounterInfo.getCharacterTurnFrom(lci.parent).toLuaCharacterTurnInfo(); ltsiTo.HandleChangeSide(lcti, ltsiFrom, ltsiTo, LuaTurnSetInfo.SideTurnType.MindControl); }
public static List <ObsTestResult> Create(EncounterInfo encounterInfo) { var list = new List <ObsTestResult>(); foreach (var obsInfo in encounterInfo.ObsTestResults) { list.Add(Create(obsInfo)); } return(list); }
public static List <ObsMemberScreening> Create(EncounterInfo encounterInfo) { var list = new List <ObsMemberScreening>(); foreach (var obsInfo in encounterInfo.ObsMemberScreenings) { list.Add(Create(obsInfo)); } return(list); }
public static List <ObsLinkage> Create(EncounterInfo encounterInfo) { var list = new List <ObsLinkage>(); foreach (var obsInfo in encounterInfo.ObsLinkages) { list.Add(Create(obsInfo)); } return(list); }
public void Preserve(EncounterInfo encounterInfo) { try { _invalidMessageRepository.Insert(new InvalidMessage(encounterInfo.ClientId, MessageType.Encounter, JsonConvert.SerializeObject(encounterInfo), encounterInfo.PracticeId)); _invalidMessageRepository.Save(); } catch (Exception e) { Log.Error(e, "Preserve EncounterInfo error"); } }
public void initEncounter(string eid = null, int stageIdx = 0) { if (eid == null) { encounter = GameStaticData.getInstance().getEncounterInfo("empty"); } else { encounter = GameStaticData.getInstance().getEncounterInfo(eid); } //通过静态信息得到文字表 this.stageIndex = stageIdx; this.Show(); }
public void Update(EncounterInfo encounterInfo) { ClientId = encounterInfo.ClientId; FormId = encounterInfo.FormId; EncounterTypeId = encounterInfo.EncounterTypeId; EncounterDate = encounterInfo.EncounterDate; ProviderId = encounterInfo.ProviderId; DeviceId = encounterInfo.DeviceId; PracticeId = encounterInfo.PracticeId; Started = encounterInfo.Started; Stopped = encounterInfo.Stopped; IsComplete = encounterInfo.IsComplete; UserId = encounterInfo.UserId; IndexClientId = encounterInfo.IndexClientId; }
private static void NoSpriteSelectedControls(ActionKey key) { int normalCameraSpeed = 3; if (EncounterInfo.currentTurn().bIsPlayerTurnSet&& !BattleGUI.bIsRunning) { if (KeyboardMouseUtility.bMouseButtonPressed && key.actionIndentifierString.Equals(Game1.confirmString) && !KeyboardMouseUtility.AnyButtonsPressed() && !PathMoveHandler.bIsBusy && EncounterInfo.currentTurn().selectedCharTurn == null && CombatProcessor.bMainCombat && !EncounterInfo.currentTurn().bPlayerMustSelectAction) { EncounterInfo.currentTurn().SelectCharacter(); KeyboardMouseUtility.bPressed = true; } if (KeyboardMouseUtility.bMouseButtonPressed && key.actionIndentifierString.Equals(Game1.cancelString) && !KeyboardMouseUtility.AnyButtonsPressed() && !PathMoveHandler.bIsBusy && EncounterInfo.currentTurn().selectedCharTurn == null && CombatProcessor.bMainCombat && !EncounterInfo.currentTurn().bPlayerMustSelectAction) { EncounterInfo.currentTurn().RightButtonPlayerAction(); KeyboardMouseUtility.bPressed = true; } if (key.actionIndentifierString.Equals(Game1.tabKeyString) && !KeyboardMouseUtility.AnyButtonsPressed() && !PathMoveHandler.bIsBusy && CombatProcessor.bMainCombat && !EncounterInfo.currentTurn().bPlayerMustSelectAction) { EncounterInfo.currentTurn().TabSelect(); } } if (EncounterInfo.currentTurn().selectedCharTurn == null) { if (key.actionIndentifierString.Equals(Game1.moveUpString) || key.actionIndentifierString.Equals(Game1.cameraMoveUpString)) { GameProcessor.sceneCamera.Y += (normalCameraSpeed / GameProcessor.zoom) * SettingsFile.speedModCamera; } if (key.actionIndentifierString.Equals(Game1.moveDownString) || key.actionIndentifierString.Equals(Game1.cameraMoveDownString)) { GameProcessor.sceneCamera.Y -= (normalCameraSpeed / GameProcessor.zoom) * SettingsFile.speedModCamera; } if (key.actionIndentifierString.Equals(Game1.moveLeftString) || key.actionIndentifierString.Equals(Game1.cameraMoveLeftString)) { GameProcessor.sceneCamera.X += (normalCameraSpeed / GameProcessor.zoom) * SettingsFile.speedModCamera; } if (key.actionIndentifierString.Equals(Game1.moveRightString) || key.actionIndentifierString.Equals(Game1.cameraMoveRightString)) { GameProcessor.sceneCamera.X -= (normalCameraSpeed / GameProcessor.zoom) * SettingsFile.speedModCamera; } } }
public EncounterInfo getEncounterInfo(string eid) { if (encounterDic.ContainsKey(eid)) { return(encounterDic[eid]); } TextAsset ta = Resources.Load("json/encounters/" + eid) as TextAsset; if (ta == null) { return(null); } EncounterInfo einfo = JsonConvert.DeserializeObject <EncounterInfo> (ta.text); encounterDic [einfo.eId] = einfo; return(einfo); }
public void changeEncounterDetail(int index) { if (index < 0 || index > grids.Length) { return; } EncounterState encounterState = PlayerData.getInstance().grids [index / GRID_WIDTH] [index % GRID_WIDTH]; string eid = encounterState.eid; EncounterInfo einfo = new EncounterInfo(); if (eid != "") { einfo = GameStaticData.getInstance().getEncounterInfo(eid); } GameManager.getInstance().showDetailPanel(einfo.desp); //detailText.text = eList [index].eid + "号遭遇"; }
private void GenerateNewEncounters() { if (GameState.hoursRemainingInCurrentStage == 24) // Force a basic enemy encounter as the first one. { EncounterInfo initialEncounter = new EncounterInfo(EncounterType.ENEMY); initialEncounter.enemyID = "TEST_DUMMY"; activeEncounters.Add(initialEncounter); return; } if (GameState.hoursRemainingInCurrentStage <= 0) // Boss time! { activeEncounters.Clear(); EncounterInfo bossEncounter = new EncounterInfo(EncounterType.BOSS); activeEncounters.Add(bossEncounter); return; } if (activeEncounters.Count >= 5) // Don't generate any more if too many are still sitting there { return; } // Always generate at least 1 enemy encounter and then randomize the other generated encounters (excluding Ferryman and Boss) EncounterInfo guaranteedEnemyEncounter = new EncounterInfo(EncounterType.ENEMY); guaranteedEnemyEncounter.enemyID = "TEST_DUMMY"; activeEncounters.Add(guaranteedEnemyEncounter); int encountersToCreate = UnityEngine.Random.Range(1, 4); for (int i = 0; i < encountersToCreate; i++) { EncounterType type = (EncounterType)UnityEngine.Random.Range(0, 5); EncounterInfo newEncounter = new EncounterInfo(type); if (type == EncounterType.ENEMY || type == EncounterType.ELITE) { newEncounter.enemyID = "TEST_DUMMY"; } else { newEncounter.storyID = "REST_STORY"; } activeEncounters.Add(newEncounter); } return; }
private static void GlobalControls(List <Actions.ActionKey> keys) { if (!BattleGUI.bIsRunning && !TurnSet.bSelectingArea && EncounterInfo.encounterGroups.Count != 0) { if (!KeyboardMouseUtility.AnyButtonsPressed() && EncounterInfo.currentTurn().bIsPlayerTurnSet&& KeyboardMouseUtility.bMouseButtonPressed && keys.Last().actionIndentifierString.Equals(Game1.confirmString)) { BattleGUI.HandleLowerTabSelect(); } } //if (keys[keys.Count - 1].actionIndentifierString.Equals(Game1.openMenuString) && !KeyboardMouseUtility.AnyButtonsPressed() && !BattleGUI.bIsRunning && EncounterInfo.currentTurn().bIsPlayerTurnSet) //{ // GameProcessor.bInGameMenu = true; // GameMenuHandler.Start(); // KeyboardMouseUtility.bPressed = true; // GameProcessor.EnableMenuStage(); //} }
public void Sync(EncounterInfo encounterInfo) { //Check pracitce var practice = _practiceRepository.Get(encounterInfo.PracticeId); if (null == practice) { throw new ArgumentException("Facility is not registered"); } //Check client var client = _clientRepository.Get(encounterInfo.ClientId); if (null == client) { throw new ArgumentException("Client is not registered"); } var encounter = _encounterRepository.Get(encounterInfo.Id); if (null == encounter) { encounter = Encounter.Create(encounterInfo); _encounterRepository.Insert(encounter); _encounterRepository.Save(); var obs = Obs.Create(encounterInfo); _obsRepository.Insert(obs); _obsRepository.Save(); } else { encounter.Update(encounterInfo); _encounterRepository.Update(encounter); _encounterRepository.Save(); var obs = Obs.Create(encounterInfo); _obsRepository.ReplaceAll(encounter.Id, obs); _obsRepository.Save(); } }
public static void AddToList(ISession session, EncounterResponse eresponse) { if ((PokemonGradeHelper.GetPokemonGrade(eresponse.WildPokemon.PokemonData.PokemonId) == PokemonGrades.VeryRare || PokemonGradeHelper.GetPokemonGrade(eresponse.WildPokemon.PokemonData.PokemonId) == PokemonGrades.Epic || PokemonGradeHelper.GetPokemonGrade(eresponse.WildPokemon.PokemonData.PokemonId) == PokemonGrades.Legendary)) { //access for rare pokemons } else if (PokemonInfo.CalculatePokemonPerfection(eresponse.WildPokemon.PokemonData) < minIvPercent) { return; } if (LocationQueue.FirstOrDefault(p => p.EncounterId == eresponse.WildPokemon.EncounterId.ToString()) != null) { return; } using (var newdata = new EncounterInfo()) { newdata.EncounterId = eresponse.WildPokemon.EncounterId.ToString(); newdata.Iv = Math.Round(PokemonInfo.CalculatePokemonPerfection(eresponse.WildPokemon.PokemonData), 2); newdata.Latitude = eresponse.WildPokemon.Latitude.ToString("G17", CultureInfo.InvariantCulture); newdata.Longitude = eresponse.WildPokemon.Longitude.ToString("G17", CultureInfo.InvariantCulture); newdata.PokemonName = eresponse.WildPokemon.PokemonData.PokemonId.ToString(); newdata.SpawnPointId = eresponse.WildPokemon.SpawnPointId; newdata.Move1 = eresponse.WildPokemon.PokemonData.Move1.ToString(); newdata.Move2 = eresponse.WildPokemon.PokemonData.Move2.ToString(); newdata.TimeTillHiddenMs = eresponse.WildPokemon.TimeTillHiddenMs; if (newdata.TimeTillHiddenMs == 0) { Random rn = new Random(); newdata.TimeTillHiddenMs = rn.Next(450, 481) * 1000; } newdata.Expiration = eresponse.WildPokemon.LastModifiedTimestampMs + newdata.TimeTillHiddenMs; LocationQueue.Add(newdata); } }
public static async Task CatchWithSnipe(ISession session, CancellationToken cancellationToken, EncounterInfo encounterId) { cancellationToken.ThrowIfCancellationRequested(); await SnipePokemonTask.Snipe(session, new List <PokemonId>() { encounterId.PokemonId }, encounterId.Latitude, encounterId.Longitude, cancellationToken); }
public static async Task CatchFromService(ISession session, CancellationToken cancellationToken, EncounterInfo encounterId) { //default to excellent throw var normalizedRecticleSize = 1.95; //default spin var spinModifier = 1.0; //round to 2 decimals normalizedRecticleSize = Math.Round(normalizedRecticleSize, 2); CatchPokemonResponse caughtPokemonResponse; double lat = session.Client.CurrentLatitude; double lon = session.Client.CurrentLongitude; CatchPokemonResponse.Types.CatchStatus lastThrow = CatchPokemonResponse.Types.CatchStatus.CatchSuccess; CatchPokemonTask.AmountOfBerries = 0; do { cancellationToken.ThrowIfCancellationRequested(); await LocationUtils.UpdatePlayerLocationWithAltitude(session, new GeoCoordinate(encounterId.Latitude, encounterId.Longitude, session.Client.CurrentAltitude), 0); // Speed set to 0 for random speed. await Task.Delay(1000, cancellationToken); var encounter = await session.Client.Encounter.EncounterPokemon(encounterId.EncounterId, encounterId.SpawnPointId); await Task.Delay(1000, cancellationToken); await LocationUtils.UpdatePlayerLocationWithAltitude(session, new GeoCoordinate(lat, lon, session.Client.CurrentAltitude), 0); // Speed set to 0 for random speed. float probability = encounter.CaptureProbability.CaptureProbability_[0]; int cp = encounter.WildPokemon.PokemonData.Cp; int maxcp = PokemonInfo.CalculateMaxCp(encounter.WildPokemon.PokemonData); double lvl = PokemonInfo.GetLevel(encounter.WildPokemon.PokemonData); PokemonData encounteredPokemon; // Catch if it's a WildPokemon (MSniping not allowed for Incense pokemons) if (encounter is EncounterResponse && (encounter?.Status == EncounterResponse.Types.Status.EncounterSuccess)) { encounteredPokemon = encounter.WildPokemon?.PokemonData; } else { return; // No success to work with } var bestBall = await CatchPokemonTask.GetBestBall(session, encounteredPokemon, probability); if (((session.LogicSettings.UseBerriesOperator.ToLower().Equals("and") && encounterId.Iv >= session.LogicSettings.UseBerriesMinIv && cp >= session.LogicSettings.UseBerriesMinCp && probability < session.LogicSettings.UseBerriesBelowCatchProbability) || (session.LogicSettings.UseBerriesOperator.ToLower().Equals("or") && ( encounterId.Iv >= session.LogicSettings.UseBerriesMinIv || cp >= session.LogicSettings.UseBerriesMinCp || probability < session.LogicSettings.UseBerriesBelowCatchProbability))) && lastThrow != CatchPokemonResponse.Types.CatchStatus.CatchMissed) // if last throw is a miss, no double berry { CatchPokemonTask.AmountOfBerries++; if (CatchPokemonTask.AmountOfBerries <= session.LogicSettings.MaxBerriesToUsePerPokemon) { await CatchPokemonTask.UseBerry(session, encounter.WildPokemon.EncounterId, encounter.WildPokemon.SpawnPointId); } } caughtPokemonResponse = await session.Client.Encounter.CatchPokemon(encounterId.EncounterId, encounterId.SpawnPointId, bestBall, normalizedRecticleSize, spinModifier, true); Logger.Write($"({caughtPokemonResponse.Status.ToString()}) {encounterId.PokemonId.ToString()} IV: {encounterId.Iv}% Lvl: {lvl} CP: ({cp}/{maxcp})", LogLevel.Service, caughtPokemonResponse.Status == CatchPokemonResponse.Types.CatchStatus.CatchSuccess ? ConsoleColor.Green : ConsoleColor.Red); //CatchPokemonTask.AmountOfBerries await Task.Delay(1000, cancellationToken); lastThrow = caughtPokemonResponse.Status; } while (lastThrow == CatchPokemonResponse.Types.CatchStatus.CatchMissed || lastThrow == CatchPokemonResponse.Types.CatchStatus.CatchEscape); }
public void Snipe(Match m, bool oldMethod = false) { try { var pList = GetNecroBotProcesses(); foreach (var t in pList) { var username = t.GetWindowTitle(); if (string.IsNullOrEmpty(username)) { continue; } if (!IsBotUpperThan094(t.MainModule.FileVersionInfo)) { Console.WriteLine(Culture.GetTranslation(TranslationString.IncompatibleVersionMsg, username), Config.Error); continue; } var pathRemote = GetSnipeMsPath(Path.GetDirectoryName(t.MainModule.FileName)); var mSniperLocation = ReadSnipeMs(pathRemote); EncounterInfo newPokemon; if (!oldMethod) { newPokemon = new EncounterInfo() { PokemonId = (short)(PokemonId)Enum.Parse(typeof(PokemonId), m.Groups[2].ToString()), EncounterId = ulong.Parse(m.Groups[4].ToString()), SpawnPointId = m.Groups[6].ToString(), Latitude = double.Parse(m.Groups[8].Value, CultureInfo.InvariantCulture), Longitude = double.Parse(m.Groups[10].Value, CultureInfo.InvariantCulture), Iv = double.Parse(m.Groups[12].Value, CultureInfo.InvariantCulture), }; } else { var prkmnm = PokemonId.Abra; var verified = Enum.TryParse <PokemonId>(m.Groups[2].ToString(), true, out prkmnm); newPokemon = new EncounterInfo() { PokemonId = (short)prkmnm, Latitude = double.Parse(m.Groups[4].Value, CultureInfo.InvariantCulture), Longitude = double.Parse(m.Groups[6].Value, CultureInfo.InvariantCulture), }; } if (!oldMethod && mSniperLocation.FindIndex(p => p.EncounterId == newPokemon.EncounterId && p.SpawnPointId == newPokemon.SpawnPointId) == -1) { mSniperLocation.Add(newPokemon); if (WriteSnipeMs(mSniperLocation, pathRemote)) { Console.WriteLine(Culture.GetTranslation(TranslationString.SendingPokemonToNecroBot, ((PokemonId)newPokemon.PokemonId).ToString(), newPokemon.Latitude, newPokemon.Longitude, username), Config.Success); } } else if (oldMethod && mSniperLocation.FindIndex(p => p.PokemonId == newPokemon.PokemonId && Math.Abs(p.Latitude - newPokemon.Latitude) < 15 && Math.Abs(p.Longitude - newPokemon.Longitude) < 15) == -1) { mSniperLocation.Add(newPokemon); if (WriteSnipeMs(mSniperLocation, pathRemote)) { Console.WriteLine(Culture.GetTranslation(TranslationString.SendingPokemonToNecroBot, ((PokemonId)newPokemon.PokemonId).ToString(), newPokemon.Latitude, newPokemon.Longitude, username), Config.Success); } } else { Console.WriteLine( Culture.GetTranslation(TranslationString.AlreadySnipped, newPokemon.Latitude + "," + newPokemon.Longitude), Config.Error); } } } catch (Exception ex) { Console.WriteLine(ex.Message, Config.Error); } }
public static async Task CatchFromService(ISession session, CancellationToken cancellationToken, EncounterInfo encounterId) { //default to excellent throw var normalizedRecticleSize = 1.95; //default spin var spinModifier = 1.0; //round to 2 decimals normalizedRecticleSize = Math.Round(normalizedRecticleSize, 2); CatchPokemonResponse caughtPokemonResponse; do { cancellationToken.ThrowIfCancellationRequested(); caughtPokemonResponse = await session.Client.Encounter.CatchPokemon(encounterId.EncounterId, encounterId.SpawnPointId, POGOProtos.Inventory.Item.ItemId.ItemPokeBall, normalizedRecticleSize, spinModifier, true); Logger.Write($"{caughtPokemonResponse.Status.ToString()} {encounterId.PokemonId.ToString()} {encounterId.Iv}%", LogLevel.Service, caughtPokemonResponse.Status == CatchPokemonResponse.Types.CatchStatus.CatchSuccess ? ConsoleColor.Green : ConsoleColor.Red); await Task.Delay(1000, cancellationToken); } while (caughtPokemonResponse.Status == CatchPokemonResponse.Types.CatchStatus.CatchMissed); }
protected EncounterNodeBase(int id, Graph parent) : base(id, parent) { this.Encounter = ScriptableObject.CreateInstance <EncounterInfo>(); this.Encounter.Id = Guid.NewGuid().ToString(); }
public static void ShowWindow(EncounterInfo item) { Instance = GetWindow(typeof(TextsWindow), false, "Texts") as TextsWindow; Instance._encounterInfo = item; }
public static void ShowWindow(EncounterInfo item) { Instance = GetWindow(typeof(AllowersWindow), false, "AllowersWindow") as AllowersWindow; Instance._encounterInfo = item; }
public void EncounterSelected(EncounterInfo encounter) { this.activeEncounters.Remove(encounter); GameState.hoursRemainingInCurrentStage -= encounter.timeCost; }
public static void ShowWindow(EncounterInfo item) { Instance = GetWindow(typeof(EventsWindow), false, "EventsWindow") as EventsWindow; Instance._encounterInfo = item; }
public static Encounter Create(EncounterInfo encounterInfo) { return(new Encounter(encounterInfo.Id, encounterInfo.ClientId, encounterInfo.FormId, encounterInfo.EncounterTypeId, encounterInfo.EncounterDate, encounterInfo.ProviderId, encounterInfo.DeviceId, encounterInfo.PracticeId, encounterInfo.Started, encounterInfo.Stopped, encounterInfo.UserId, encounterInfo.IsComplete, encounterInfo.IndexClientId)); }
public static bool CheckAddState(this MemoryStore <EncounterInfo> val, EncounterInfo item) { try { var poid = (PokemonId)Enum.Parse(typeof(PokemonId), item.PokemonName); if ( poid == PokemonId.Pidgey || poid == PokemonId.Rattata || poid == PokemonId.Caterpie || poid == PokemonId.Weedle || poid == PokemonId.Zubat || poid == PokemonId.Poliwag || poid == PokemonId.Exeggcute || poid == PokemonId.Staryu || poid == PokemonId.Bellsprout || poid == PokemonId.Spearow || poid == PokemonId.Ponyta || poid == PokemonId.Tentacool || poid == PokemonId.Golem || poid == PokemonId.Eevee || poid == PokemonId.Magikarp || poid == PokemonId.Growlithe || poid == PokemonId.Voltorb || poid == PokemonId.Abra || poid == PokemonId.Charmander || poid == PokemonId.Meowth || poid == PokemonId.Clefairy || poid == PokemonId.Psyduck || poid == PokemonId.Tauros || poid == PokemonId.Shellder || poid == PokemonId.Machop ) { return(item.Iv >= 85); } var poGrade = PokemonGradeHelper.GetPokemonGrade(poid); switch (poGrade) { case PokemonGrades.VeryCommon: return(item.Iv >= 65); case PokemonGrades.Common: return(item.Iv >= 45); case PokemonGrades.Popular: return(item.Iv >= 30); case PokemonGrades.Rare: return(item.Iv >= 25); default: switch (poGrade) { case PokemonGrades.Popular: return(item.Iv >= 5); case PokemonGrades.Epic: return(item.Iv >= 0); case PokemonGrades.Legendary: return(item.Iv >= 0); case PokemonGrades.NONE: return(item.Iv >= 0); } break; } } catch (Exception) { // ignored } return(false); }
public static async Task CatchFromService(ISession session, CancellationToken cancellationToken, EncounterInfo encounterId) { cancellationToken.ThrowIfCancellationRequested(); double lat = session.Client.CurrentLatitude; double lon = session.Client.CurrentLongitude; EncounterResponse encounter; try { await LocationUtils.UpdatePlayerLocationWithAltitude(session, new GeoCoordinate(encounterId.Latitude, encounterId.Longitude, session.Client.CurrentAltitude), 0); // Speed set to 0 for random speed. await Task.Delay(1000, cancellationToken); encounter = await session.Client.Encounter.EncounterPokemon(encounterId.EncounterId, encounterId.SpawnPointId); await Task.Delay(1000, cancellationToken); } finally { await LocationUtils.UpdatePlayerLocationWithAltitude(session, new GeoCoordinate(lat, lon, session.Client.CurrentAltitude), 0); // Speed set to 0 for random speed. } PokemonData encounteredPokemon; // Catch if it's a WildPokemon (MSniping not allowed for Incense pokemons) if (encounter?.Status == EncounterResponse.Types.Status.EncounterSuccess) { encounteredPokemon = encounter.WildPokemon?.PokemonData; } else { Logger.Write($"Pokemon despawned or wrong link format!", LogLevel.Service, ConsoleColor.Gray); return;// No success to work with } var pokemon = new MapPokemon { EncounterId = encounterId.EncounterId, ExpirationTimestampMs = encounterId.TimeTillHiddenMs, Latitude = encounterId.Latitude, Longitude = encounterId.Longitude, PokemonId = encounteredPokemon.PokemonId, SpawnPointId = encounterId.SpawnPointId }; await CatchPokemonTask.Execute(session, cancellationToken, encounter, pokemon, currentFortData : null, sessionAllowTransfer : true); }