public void do_every_tick() { if (isSessionStarted) { ObstaclesAndTimers(); PacketsProcessAndShutDown(); foreach (Players CurrentPlayer in LocalPlayersPool.Values) { /* * //just for testing==================== * if (CurrentTimerToStart.WhenSessionCreated.AddSeconds(5)<DateTime.Now && !istest) * { * istest = true; * * string personalID = null; * * while (true) * { * personalID = functions.get_symb_for_IDs(); * bool isOK = true; * foreach (Players item in LocalPlayersPool.Values) * { * if (item.personalID == personalID) * { * isOK = false; * break; * } * } * * if (isOK) * { * break; * } * } * * LocalPlayersPool.TryAdd("efwefwef", new Players(InGamePlayerType.npc_enemy, 10, "efwefwef", "test_player", 1, "0", 1, 1, 1, 0, 0, 0, 0, 45, 0, 1, 0, "100=100", 100, 10, 10, "10-15", 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, personalID, Session_id)); * * Console.WriteLine("YYYYYYYYYEEEEEEEEEEEEEEEEEE"); * } * //==================================== */ /* * if (CurrentPlayer.player_name == "elem bot") * { * Console.WriteLine(CurrentPlayer.player_name + " - " + CurrentPlayer.Cast_speed); * } */ //========================making DEAD=============================== if (CurrentPlayer.CurrentHealth <= 0 && !CurrentPlayer.isDead && !isRoundChecked) { CurrentPlayer.make_dead(); //checking conditions for round end CheckingRoundConditions(); } if (CurrentPlayer.isDead) { CurrentPlayer.is_reset_any_button = true; CurrentPlayer.animation_id = 22; } //======================================================== if (!CurrentPlayer.isDead && !isRoundChecked && CurrentTimerToStart.isCheckTimeOut) { //USE SPECIALS========================================= Task.Run(() => CurrentPlayer.CurrentSpecial?.Invoke()); //====================================================== //testing /* * if (CurrentPlayer.player_name=="rogue") * { * StringBuilder s = new StringBuilder(1000); * foreach (var item in CurrentPlayer.conditions.Values) * { * s.Append(item.GetDataForPacketSending()); * } * Console.WriteLine(s); * } */ //Console.WriteLine(CurrentPlayer.player_name + " - " + CurrentPlayer.team_id + " - " + CurrentPlayer.CurrentHealth); //free regen CurrentPlayer.CheckForFreeRegeneration(); //energy regen if (CurrentPlayer.Energy < 100) { CurrentPlayer.Energy += CurrentPlayer.Energy_regen * starter.TICKf * 2; } //health regen if (CurrentPlayer.CurrentHealth < CurrentPlayer.MaxHealth) { CurrentPlayer.CurrentHealth += (int)(CurrentPlayer.Health_regen * starter.TICKf); } else if (CurrentPlayer.CurrentHealth > CurrentPlayer.MaxHealth) { CurrentPlayer.CurrentHealth = CurrentPlayer.MaxHealth; } /* * //working with invisibility status * if (CurrentPlayer.is_invisible && CurrentPlayer.player_class==4) * { * try * { * foreach (ConditionsPacket keys in CurrentPlayer.conditions.Values) * { * * if ( * (!(keys.isContainsCondType(CondType.dt) && keys.GetDamageOrHealApplied() ==0) && * keys.isContainsCondType(CondType.dt)) || * keys.isContainsCondType(CondType.dg) || * keys.isContainsCondType(CondType.ca) * ) * { * rogue.from_inviz_to_viz(CurrentPlayer); * } * } * } * catch (Exception ex) * { * Console.WriteLine(ex); * } * } */ } } if (CurrentEnvironment != null) { CurrentEnvironment(); } if (LocalEnvironmentPool.Count > 0) { environment_packet = ""; for (int i = 0; i < LocalEnvironmentPool.Count; i++) { environment_packet = environment_packet + LocalEnvironmentPool[i].GetPacketForSending_nonPlayer(); } } } }