public override void OnPlayerData(TerrariaPacket e) { TDMArena arena = ActiveArena as TDMArena; PlayerTeamArgs playerTeam = e as PlayerTeamArgs; if (playerTeam != null) { if (RedTeam.Contains(e.Player)) { e.Player.SetTeam(1); } else if (BlueTeam.Contains(e.Player)) { e.Player.SetTeam(3); } } PlayerDeathArgs playerDeath = e as PlayerDeathArgs; if (playerDeath != null) { if (RedTeam.Contains(e.Player)) { _blueScore++; SendMessageToAllPlayers($"A member of Blue Team got a kill! {_scoreText}", Color.Turquoise); } else if (BlueTeam.Contains(e.Player)) { _redScore++; SendMessageToAllPlayers($"A member of Red Team got a kill! {_scoreText}", Color.OrangeRed); } } }
public override void OnPlayerData(TerrariaPacket e) { if (GetGameState() != GameState.GameRunning) { return; } PlayerDeathArgs deathPacket = e as PlayerDeathArgs; if (deathPacket != null) { if (RedTeam.Contains(e.Player)) { PaintCircle((int)e.Player.TPlayer.Center.X, (int)e.Player.TPlayer.Center.Y, (int)(3 + deathPacket.Damage / 20f), _deepBluePaintID); } else if (BlueTeam.Contains(e.Player)) { PaintCircle((int)e.Player.TPlayer.Center.X, (int)e.Player.TPlayer.Center.Y, (int)(3 + deathPacket.Damage / 20f), _deepRedPaintID); } } ProjectileDestroyArgs projectileDied = e as ProjectileDestroyArgs; if (projectileDied != null) { if (projectileDied.ProjectileDestroyed.owner == projectileDied.Owner) { if (RedTeam.Contains(e.Player)) { PaintCircle((int)projectileDied.ProjectileX, (int)projectileDied.ProjectileY, 3 + projectileDied.ProjectileDestroyed.damage / 150, _deepRedPaintID); } else if (BlueTeam.Contains(e.Player)) { PaintCircle((int)projectileDied.ProjectileX, (int)projectileDied.ProjectileY, 3 + projectileDied.ProjectileDestroyed.damage / 150, _deepBluePaintID); } } } }
public override void OnPlayerData(TerrariaPacket e) { CTFArena arena = ActiveArena as CTFArena; PlayerTeamArgs playerTeam = e as PlayerTeamArgs; if (playerTeam != null) { if (RedTeam.Contains(e.Player)) { e.Player.SetTeam(1); } else if (BlueTeam.Contains(e.Player)) { e.Player.SetTeam(3); } } PlayerUpdateArgs playerUpdate = e as PlayerUpdateArgs; if (playerUpdate != null) { // Picking up flags if (_redFlagHolder == null && Vector2.Distance(new Vector2(playerUpdate.PositionX, playerUpdate.PositionY), arena.RedFlag) < 2 * 16 && BlueTeam.Contains(e.Player)) { _redFlagHolder = e.Player; SendMessageToAllPlayers($"{_redFlagHolder.Name} has picked up the red flag!", Color.OrangeRed); } else if (_blueFlagHolder == null && Vector2.Distance(new Vector2(playerUpdate.PositionX, playerUpdate.PositionY), arena.BlueFlag) < 2 * 16 && RedTeam.Contains(e.Player)) { _blueFlagHolder = e.Player; SendMessageToAllPlayers($"{_blueFlagHolder.Name} has picked up the blue flag!", Color.Turquoise); } // Placing flags at base flag if (_redFlagHolder != null && _redFlagHolder == e.Player && Vector2.Distance(new Vector2(playerUpdate.PositionX, playerUpdate.PositionY), arena.BlueFlag) < 2 * 16 && BlueTeam.Contains(e.Player) && !e.Player.TPlayer.dead) { SendMessageToAllPlayers($"{_redFlagHolder.Name} has scored for the blue team!", Color.Turquoise); _redFlagHolder = null; _blueScore += 1; SendMessageToAllPlayers($"Score: {_scoreText}", Color.Cyan); } else if (_blueFlagHolder != null && _blueFlagHolder == e.Player && Vector2.Distance(new Vector2(playerUpdate.PositionX, playerUpdate.PositionY), arena.RedFlag) < 2 * 16 && RedTeam.Contains(e.Player) && !e.Player.TPlayer.dead) { SendMessageToAllPlayers($"{_blueFlagHolder.Name} has scored for the red team!", Color.OrangeRed); _blueFlagHolder = null; _redScore += 1; SendMessageToAllPlayers($"Score: {_scoreText}", Color.Cyan); } } PlayerDeathArgs playerDeath = e as PlayerDeathArgs; if (playerDeath != null) { if (e.Player == _redFlagHolder) { _redFlagHolder = null; SendMessageToAllPlayers($"{e.Player.Name} has dropped the red flag!", Color.OrangeRed); } if (e.Player == _blueFlagHolder) { _blueFlagHolder = null; SendMessageToAllPlayers($"{e.Player.Name} has dropped the blue flag!", Color.Turquoise); } } }