public static void CaptureFlag(Player p, CTFTeam team) { if (!gameOn) { return; } team.hasFlag = null; ReturnFlag(team, false); p.carryingFlag = false; Player.GlobalMessage("&f- " + p.color + p.name + "&S captured the " + team.color + team.name + "&S flag!"); Server.s.Log(p.name + " captured the " + team.name + " flag!"); p.Reward(captureFlagReward); p.team.points++; UpdateScore(); p.captureStreak++; p.captureCount++; if (team.capturedFlag == p) { Player.GlobalMessage("&f- " + p.color + p.name + "&6 is on a streak of &5" + p.captureStreak + "&6!"); } else { p.captureStreak = 1; } team.capturedFlag = p; if (p.team.points >= scoreLimit) { GameEnd(p.team); } }
public static void TakeFlag(Player p, CTFTeam team) { if (!gameOn) { return; } if (p.justDroppedFlag) { return; } if (p.carryingFlag) { return; } if (redTeam.players.Count < 1 || blueTeam.players.Count < 1) { p.SendMessage("&f- &SYou cannot take the flag with no opposition!"); return; } team.hasFlag = p; team.flagIsHome = false; p.carryingFlag = true; Player.GlobalMessage("&f- " + p.color + p.name + "&S took the " + team.color + team.name + "&S flag!"); Server.s.Log(p.name + " took the " + team.name + " flag!"); p.Reward(takeFlagReward); }