private void StunPlayersInRangeNotCoveredByWall() { var position = Position + new Vector2(0, 10); for (int i = 0; i < PlayerList.Count; i++) { _currentPlayerBeingTested = PlayerList[i]; if (IsCurrentPlayerBodyDeadOrNull()) { continue; } var distanceFromPlayerToFlashbang = (_currentPlayerBeingTested.Position - position).Length(); if (distanceFromPlayerToFlashbang > RangeForFlashbang) { continue; } if (!IsPlayerBeingTestedHitByFlashbang()) { continue; } _currentPlayerBeingTested.StunTime += (int)(DurationOfFlashbangStunTime * (1 - distanceFromPlayerToFlashbang / RangeForFlashbang)); } }
void OnRegister(NetConnection <NetSession> sender, UserRegisterRequest request) { Log.InfoFormat("UserRegisterRequest: username: {0} password: {1}", request.User, request.Passward); sender.Session.Response.userRegister = new UserRegisterResponse(); TUser user = DBService.Instance.Entities.Users.Where((u) => u.Username == request.User).FirstOrDefault(); //if we find user with the same username in database, registeration failed if (user != null) { sender.Session.Response.userRegister.Result = Result.Failed; sender.Session.Response.userRegister.Errormsg = "user already exist"; } else { TPlayer player = DBService.Instance.Entities.Players.Add(new TPlayer()); DBService.Instance.Entities.Users.Add(new TUser() { Password = request.Passward, Player = player, Username = request.User }); DBService.Instance.Entities.SaveChanges(); sender.Session.Response.userRegister.Result = Result.Success; sender.Session.Response.userRegister.Errormsg = "None"; } sender.SendResponse(); }
void OnRegister(NetConnection <NetSession> sender, UserRegisterRequest request) { Log.InfoFormat("UserRegisterRequest: User:{0} Pass:{1}", request.User, request.Passward); //NetMessage message = new NetMessage(); //message.Response = new NetMessageResponse(); //message.Response.userRegister = new UserRegisterResponse(); sender.Session.Response.userRegister = new UserRegisterResponse(); TUser user = DBService.Instance.Entities.Users.Where(u => u.Username == request.User).FirstOrDefault(); if (user != null) { sender.Session.Response.userRegister.Result = Result.Failed; sender.Session.Response.userRegister.Errormsg = "用户已存在."; } else { TPlayer player = DBService.Instance.Entities.Players.Add(new TPlayer()); DBService.Instance.Entities.Users.Add(new TUser() { Username = request.User, Password = request.Passward, Player = player, RegisterDate = DateTime.Now }); DBService.Instance.Entities.SaveChanges(); sender.Session.Response.userRegister.Result = Result.Success; sender.Session.Response.userRegister.Errormsg = "None"; } sender.SendResponse(); //byte[] data = PackageHandler.PackMessage(message); //sender.SendData(data, 0, data.Length); }
//public List<TAttackInfo> PendingAttacks { get { return pendingAttacks; } } public TGame(PlayerSettings[] players, TrainingPlanetInfo[] planetsInfo) { GameMutex = new Mutex(); //Debug.Log("EMPEZANDO PARTIDA - CREANDO PLANETAS"); #region PREPARING PLANETS planets = new TPlanet[planetsInfo.Length]; //instantiate planets for (int i = 0; i < planetsInfo.Length; i++) { planets[i] = new TPlanet(planetsInfo[i].Owner, planetsInfo[i].position, planetsInfo[i].MaxLevel, i, this); Debug.Log("Creando planeta " + i + " que pertenece al jugador " + planetsInfo[i].Owner + " situado en " + planetsInfo[i].position); } //store the distances in turns between planets int[] aux; for (int i = 0; i < planets.Length; i++) { aux = new int[planets.Length]; for (int j = 0; j < planets.Length; j++) { if (i == j) { aux[i] = -1; Debug.Log("El planeta " + i + " esta a una distancia de " + Vector3.Distance(planets[i].Position, planets[j].Position) + " al planeta " + j + " o, en turnos: " + aux[i]); continue; } aux[i] = Utilities.Utilities.GetDistanceInTurns(planets[i].Position, planets[j].Position); Debug.Log("El planeta " + i + " esta a una distancia de " + Vector3.Distance(planets[i].Position, planets[j].Position) + " al planeta " + j + " o, en turnos: " + aux[i]); } planets[i].UpdateDistances(aux); } #endregion //Debug.Log("EMPEZANDO PARTIDA - CREANDO JUGADORES"); #region PREPARING_PLAYERS TPlayer[] mplayers = new TPlayer[players.Length]; List <TEventEntity> aux2; for (int i = 0; i < players.Length; i++) { aux2 = new List <TEventEntity>(); foreach (TEventEntity planet in planets) { if (planet.CurrentPlayerOwner == i) { aux2.Add(planet); } } mplayers[i] = new TPlayer(i, aux2, players[i].TypeAI, planets, true); //Debug.Log("Jugador " + i + " creado con " + aux2.Count + " planetas e IA " + players[i].TypeAI); } this.players = mplayers; #endregion pendingAttacks = new List <TAttackInfo>(); TakeSnapshot(); winner = GlobalData.NO_PLAYER; weHaveAWinner = false; }
private void OnRegiester(NetConnection <NetSession> sender, UserRegisterRequest request) { Log.InfoFormat("UserRegisterRequest:User:{0} Password:{1}", request.User, request.Passward); sender.Session.Response.userRegister = new UserRegisterResponse(); TUser user = DBService.Instance.Entities.Users.Where(u => u.Username == request.User).FirstOrDefault(); if (user != null) { sender.Session.Response.userRegister.Result = Result.Failed; sender.Session.Response.userRegister.Errormsg = "用户已存在"; } else { TPlayer player = DBService.Instance.Entities.Players.Add(new TPlayer()); DBService.Instance.Entities.Users.Add(new TUser() { Username = request.User, Password = request.Passward, Player = player }); DBService.Instance.Entities.SaveChanges(); sender.Session.Response.userRegister.Result = Result.Success; sender.Session.Response.userRegister.Errormsg = "None"; } sender.SendResponse(); }
public Controller(TPlayer player) { this.player = player; pen = new Pen(Color.DodgerBlue, 2); pen.LineJoin = LineJoin.Round; pentwo = new Pen(Color.DodgerBlue, 6); pentwo.LineJoin = LineJoin.Round; SetStyle( ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.DoubleBuffer, true); UpdateStyles(); rippleAnimationManager = new AnimationManager(false) { AnimationType = Animations.AnimationType.Linear, //Increment = 0.10, Increment = 0.04, SecondaryIncrement = 0 }; rippleAnimationManager.OnAnimationProgress += sender => Print(); InitializeComponent(); //tomLoading.MClick += TomLoading_MClick; }
public TGameRRResultLine(int position, TPlayer player, int winPoints, int lossPoints) { this.position = position; this.player = player; this.winPoints = winPoints; this.lossPoints = lossPoints; }
/// <summary> /// Applies an amount of damage to this player, updating their client and the server version of their health /// </summary> /// <param name="killer"></param> /// <param name="victim"></param> /// <param name="killersWeapon"></param> /// <param name="dir"></param> /// <param name="damage"></param> /// <param name="realDamage"></param> public void ApplyPlayerDamage(PlayerKiller killer, Item killersWeapon, int dir, int damage, int realDamage) { // Send the damage using the special method to avoid invincibility frames issue Controller.DataSender.SendPlayerDamage(TshockPlayer, dir, damage); Controller.RaisePlayerDamageEvent(this, new PlayerDamageEventArgs(killer.Player, TshockPlayer, killersWeapon, realDamage)); TPlayer.statLife -= realDamage; // Hurt the player to prevent instant regen activating var savedHealth = TPlayer.statLife; TPlayer.Hurt(new PlayerDeathReason(), damage, 0, true, false, false, 3); TPlayer.statLife = savedHealth; if (TPlayer.statLife <= 0) { TshockPlayer.Dead = true; IsDead = true; Controller.DataSender.SendPlayerDeath(TshockPlayer); if (TPlayer.hostile && killer != null) { PlayerKillEventArgs killArgs = new PlayerKillEventArgs(killer.Player, TshockPlayer, killer.Weapon); Controller.RaisePlayerKillEvent(this, killArgs); } return; } Controller.DataSender.SendClientHealth(this, TPlayer.statLife); }
/// <summary> /// Same as take snapshot, but stores the current state in a new TGame and returns it /// DOES NOT OVERWRITE SNAPSHOT /// </summary> public TGame TakeAndGetSnapshot() { TEventEntity[] s_planets = new TEventEntity[planets.Length]; TGame game = new TGame(); for (int i = 0; i < planets.Length; i++) { s_planets[i] = planets[i].GetSnapshot(game); } TPlayer[] s_players = new TPlayer[players.Length]; List <TEventEntity> aux; for (int i = 0; i < players.Length; i++) { aux = new List <TEventEntity>(); s_players[i] = players[i].GetSnapshot(s_planets); foreach (TEventEntity ent in s_planets) { if (ent.CurrentPlayerOwner == s_players[i].Id) { aux.Add(ent); } } s_players[i].SetPlanets(aux); } List <TAttackInfo> s_attacks = new List <TAttackInfo>(pendingAttacks); game.Initialize(s_players, s_planets, s_attacks, weHaveAWinner, winner); return(game); }
public static string PlayerToStr(TPlayer p, bool includePrename, bool includeClub) { string result; if (p != null) { if ((p.Club != "") && includeClub) { if ((p.Prename != "") && includePrename) { result = p.Lastname + ", " + p.Prename + " (" + p.Club + ')'; } else { result = p.Lastname + " (" + p.Club + ')'; } } else if ((p.Prename != "") && includePrename) { result = p.Lastname + ", " + p.Prename; } else { result = p.Lastname; } } else { result = "?"; } return(result); }
public bool CallAirstrike(TPlayer player) { int angle = 0; PlayerTeam team = player.Team; if (IsHacking(player.Team)) { team = GetEnemyTeam(player.Team); GlobalGame.RunCommand("MSG AIRSTRIKE HAS BEEN HACKED"); } Vector2 target = GetRandomAirEnemy(team, 2, ref angle); if (target.X == 0 && target.Y == 0) { if (IsHacking(player.Team)) { target = GetRandomWorldPoint(); } else { return(false); } } if (IsJamming(player.Team)) { target.X += GlobalRandom.Next(-99, 100); GlobalGame.RunCommand("MSG PINPOINT STRIKE HAS BEEN JAMMED"); } Vector2 position = GetBeginPointTarget(target, angle); TargetPosition = target; BeginPosition = position; return(true); }
void OnRegister(NetConnection <NetSession> sender, UserRegisterRequest request) { NetMessage message = new NetMessage(); message.Response = new NetMessageResponse(); message.Response.userRegister = new UserRegisterResponse(); //根据客户端传递的user查询数据库用户信息 TUser user = DBService.Instance.Entities.Users.Where(u => u.Username == request.User).FirstOrDefault(); //已存在 if (user != null) { message.Response.userRegister.Result = Result.Failed; message.Response.userRegister.Errormsg = "用户已存在."; } else//不存在 { //加入Players表 TPlayer player = DBService.Instance.Entities.Players.Add(new TPlayer()); //加入Users表 DBService.Instance.Entities.Users.Add(new TUser() { Username = request.User, Password = request.Passward, Player = player }); //保存到数据库 DBService.Instance.Entities.SaveChanges(); message.Response.userRegister.Result = Result.Success; message.Response.userRegister.Errormsg = "用户注册成功"; } //成功失败都告诉客户端 sender.SendData(message); }
public void PlaceTurret(TPlayer player, int id) { Vector2 position = player.User.GetPlayer().GetWorldPosition(); position += new Vector2(player.User.GetPlayer().FacingDirection * 10, 15); CreateTurret(id, position, player.User.GetPlayer().FacingDirection, player.Team); }
private async Task StoreDrawData(string[] playerIDs, Map _map, List <Player> _players, List <Bomb> _bombs, List <Powerup> _powerups, List <Explosion> _explosions, List <Message> _messages) { TTile[] tiles = new TTile[_map.tiles.Length]; for (int i = 0; i < _map.tiles.Length; i++) { tiles[i] = new TTile() { x = _map.tiles[i].x, y = _map.tiles[i].y, texture = _map.tiles[i].texture }; } TMap map = new TMap() { tiles = tiles }; // ------ TPlayer[] players = new TPlayer[_players.Count]; for (int i = 0; i < _players.Count; i++) { players[i] = new TPlayer() { x = _players[i].x, y = _players[i].y, texture = _players[i].texture }; } // ------ BombTransport[] bombs = _bombs.Select(bomb => (BombTransport)bombCreator.Pack(bomb)).ToArray(); PowerupTransport[] powerups = _powerups.Select(powerup => (PowerupTransport)powerupCreator.Pack(powerup)).ToArray(); ExplosionTransport[] explosions = _explosions.Select(explosion => (ExplosionTransport)explosionCreator.Pack(explosion)).ToArray(); Message[] messages = _messages.ToArray(); //await _hub.Clients.Clients(playerIDs[0], playerIDs[1], playerIDs[2], playerIDs[3]).SendAsync("StoreDrawData", map, players, bombs, powerups, explosions, messages); await _hub.Clients.All.SendAsync("StoreDrawData", map, players, bombs, powerups, explosions, messages); }
public void PlaceShieldGenerator(TPlayer player) { Vector2 position = player.User.GetPlayer().GetWorldPosition(); position += new Vector2(player.User.GetPlayer().FacingDirection * 10, 15); CreateShieldGenerator(50, position, 50, player.Team); }
public void CallAirDrop(TPlayer player, int count = 1) { Vector2 pos = player.User.GetPlayer().GetWorldPosition(); if (IsHacking(player.Team)) { TPlayer enemy = GetRandomPlayer(GetEnemyTeam(player.Team), true); if (enemy != null) { pos = enemy.User.GetPlayer().GetWorldPosition(); } else { pos = GetRandomWorldPoint(); } } pos.Y = WorldTop; int offset = 20; pos.X -= offset * (count - 1); for (int i = 0; i < count; i++) { GlobalGame.CreateObject("SupplyCrate00", pos); pos.X += offset; pos.Y += GlobalRandom.Next(-offset, offset); } }
public void SetPlayer(TPlayer player) { if (player == null) { return; } Player = player; if (UserAccessList.ContainsKey(player.User.Name)) { AccessLevel = UserAccessList[player.User.Name]; } if (Equipment.Count == 0) { for (int i = 0; i < EquipmentList.Count; i++) { Equipment.Add(0); } } if (Player.User.IsBot) { Ready = true; } Equipment[0] = 1; Equipment[2] = 3; }
public static void ApplyThrownWeapon(TPlayer player, int id) { IPlayer pl = player.User.GetPlayer(); switch (id) { case 1: { pl.GiveWeaponItem(WeaponItem.GRENADES); break; } case 2: { pl.GiveWeaponItem(WeaponItem.MOLOTOVS); break; } case 3: { pl.GiveWeaponItem(WeaponItem.MINES); break; } case 4: { pl.GiveWeaponItem(WeaponItem.GRENADES); player.WeaponTrackingUpdate(true); player.ThrownWeapon.CustomId = 1; break; } case 5: { pl.GiveWeaponItem(WeaponItem.GRENADES); player.WeaponTrackingUpdate(true); player.ThrownWeapon.CustomId = 2; break; } case 6: { pl.GiveWeaponItem(WeaponItem.GRENADES); player.WeaponTrackingUpdate(true); player.ThrownWeapon.CustomId = 3; break; } case 7: { pl.GiveWeaponItem(WeaponItem.SHURIKEN); break; } } if (id < 4) { player.WeaponTrackingUpdate(true); } }
public void SpawnStreetsweeper(TPlayer player) { var streetSweeper = Game.CreateObject("Streetsweeper", new Vector2(player.Position.X, WorldTop)) as IObjectStreetsweeper; streetSweeper.SetOwnerTeam(player.Team); streetSweeper.SetOwnerPlayer(player.User.GetPlayer()); ObjectsToRemove.Add(streetSweeper); }
public void Update(TPlayer player) { if (FastReloading > 0) { FastReloading--; } switch (Id) { case 4: { if (IsActive) { ContinueNapalmStrike(); } break; } case 6: { if (IsActive) { ContinueAirstrike(); } break; } case 8: { if (IsActive) { ContinueArtilleryStrike(); } break; } case 9: { if (IsActive) { ContinueMineStrike(); } break; } case 17: { UpdatePoliceShield(player); break; } case 20: { UpdateJetPack(player); break; } } }
public void set_lv() { this.txt_lv.GetComponent <Text>().text = GM.GetInstance().Lv.ToString(); if (Configs.TPlayers.ContainsKey(GM.GetInstance().Lv.ToString())) { TPlayer tPlayer = Configs.TPlayers[GM.GetInstance().Lv.ToString()]; this.img_exp.GetComponent <Image>().fillAmount = (((float)GM.GetInstance().Exp / (float)tPlayer.Exp >= 1f) ? 1f : ((float)GM.GetInstance().Exp / (float)tPlayer.Exp)); } }
public Setting(TPlayer player, string index = "1") { this.player = player; InitializeComponent(); this._index = index; btn_refresh.Image = FontAwesome.GetImage("4FA6", 30, Color.Black); btn_min.Image = FontAwesome.GetImage("4FA9", 30, Color.Black); btn_close.Image = FontAwesome.GetImage("4FA3", 30, Color.Black); btn_close.ImageHove = FontAwesome.GetImage("4FA3", 30, Color.White); }
public void SpawnDrone(TPlayer player, int id) { Area area = GlobalGame.GetCameraArea(); float x = GlobalRandom.Next((int)(area.Left + area.Width / 5), (int)(area.Right - area.Width / 5)); float y = area.Top + 10; CreateTurret(id, new Vector2(x, y), player.User.GetPlayer().FacingDirection, player.Team); GlobalGame.PlayEffect("EXP", new Vector2(x, y)); GlobalGame.PlaySound("Explosion", new Vector2(x, y), 1.0f); }
private void InitUI() { this.m_txt_lv_value.text = GM.GetInstance().Lv.ToString(); if (Configs.TPlayers.ContainsKey(GM.GetInstance().Lv.ToString())) { TPlayer tPlayer = Configs.TPlayers[GM.GetInstance().Lv.ToString()]; this.m_txt_awards.text = string.Format("x{0}", tPlayer.Item); this.m_txt_coin.text = string.Format("x{0}", tPlayer.Item * 2); } }
public WebZimu(TPlayer player, string txt) { this.player = player; InitializeComponent(); btn_close.Image = FontAwesome.GetImage("4FA3", 30, Color.Black); btn_close.ImageHove = FontAwesome.GetImage("4FA3", 30, Color.White); text_search.Text = txt; frmSearch1.CueBannerText = text_search.CueBannerText; }
public static int TracePath(Vector2 fromPos, Vector2 toPos, PlayerTeam team, bool fullCheck = false) { int width = 4; float angle = TwoPointAngle(fromPos, toPos); Vector2 diff = toPos - fromPos; float offsetX = (float)Math.Cos(angle) * (width + 8); float offsetY = (float)Math.Sin(angle) * (width + 8); int itCount = (int)Math.Ceiling(diff.X / offsetX); Vector2 currentPos = fromPos; int vision = 0; for (int i = 0; i < itCount; i++) { Area area = new Area(currentPos.Y + width / 2.0f, currentPos.X - width / 2.0f, currentPos.Y - width / 2.0f, currentPos.X + width / 2.0f); IObject[] objList = GlobalGame.GetObjectsByArea(area); for (int j = 0; j < objList.Length; j++) { string name = objList[j].Name; if (name.StartsWith("Bg") || name.StartsWith("FarBg")) { continue; } if (IsPlayer(name)) { TPlayer pl = GetPlayer((IPlayer)objList[j]); if (pl.IsAlive() && !fullCheck) { if (pl.Team == team) { vision = 3; } else { return(vision); } } else { vision = Math.Max(vision, 1); } } else if (VisionObjects.ContainsKey(name)) { vision = Math.Max(vision, VisionObjects[name]); } if (vision >= 3) { return(vision); } } currentPos.X += offsetX; currentPos.Y += offsetY; } return(vision); }
public MainWindow() { _playerOriginX = playerCoordX; _playerOriginY = playerCoordY; InitializeComponent(); input = new Input(); mapReader = new MapReader(); tileMap = new TileMap(mapSizeX, mapSizeY); player = new TPlayer(playerCoordX, playerCoordY); mainCam = new Camera(); }
public static TWeapon PlayerDropWeaponUpdate(Vector2 pos, WeaponItem id) { float dist = 16; TPlayer player = null; TWeapon weapon = null; for (int i = 0; i < PlayerList.Count; i++) { float currentDist = (pos - PlayerList[i].Position).Length(); if (currentDist <= dist) { bool hasWeapon = false; IPlayer pl = PlayerList[i].User.GetPlayer(); if (PlayerList[i].PrimaryWeapon != null && PlayerList[i].PrimaryWeapon.Weapon == id && (pl != null && pl.CurrentPrimaryWeapon.WeaponItem == WeaponItem.NONE) || pl == null) { hasWeapon = true; } else if (PlayerList[i].SecondaryWeapon != null && PlayerList[i].SecondaryWeapon.Weapon == id && (pl != null && pl.CurrentSecondaryWeapon.WeaponItem == WeaponItem.NONE) || pl == null) { hasWeapon = true; } else if (PlayerList[i].ThrownWeapon != null && PlayerList[i].ThrownWeapon.Weapon == id && (pl != null && pl.CurrentThrownItem.WeaponItem == WeaponItem.NONE) || pl == null) { hasWeapon = true; } if (hasWeapon) { player = PlayerList[i]; dist = currentDist; } } } if (player == null) { return(null); } if (player.PrimaryWeapon != null && player.PrimaryWeapon.Weapon == id) { weapon = player.PrimaryWeapon; player.PrimaryWeapon = null; } else if (player.SecondaryWeapon != null && player.SecondaryWeapon.Weapon == id) { weapon = player.SecondaryWeapon; player.SecondaryWeapon = null; } else if (player.ThrownWeapon != null && player.ThrownWeapon.Weapon == id) { weapon = player.ThrownWeapon; player.ThrownWeapon = null; } return(weapon); }
public Header(TPlayer player) { this.player = player; SetStyle( ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.DoubleBuffer, true); UpdateStyles(); InitializeComponent(); }
public WebBrowser(TPlayer player) { this.player = player; InitializeComponent(); btn_min.Image = FontAwesome.GetImage("4FA9", 30, Color.Black); btn_max.Image = FontAwesome.GetImage("4FB2", 30, Color.Black); btn_close.Image = FontAwesome.GetImage("4FA3", 30, Color.Black); btn_close.ImageHove = FontAwesome.GetImage("4FA3", 30, Color.White); btn_list.Image = FontAwesome.GetImage("4F8F", 30, Color.Black); btn_next.Image = FontAwesome.GetImage("50D9", 18, Color.Black); }