Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions src/tel/discord/rtab/GameController.java
Original file line number Diff line number Diff line change
Expand Up @@ -1110,13 +1110,13 @@ private void runAITurn(int player)
{
safeSpaces.remove(truesightIndex); //We know there's another so this is fine
String truesightIdentity = useTruesight(player,truesightSpace);
boolean badPeek = false;
boolean badPeek;
if(truesightIdentity.startsWith("-") || truesightIdentity.contains("BOMB"))
badPeek = true;
else
badPeek = switch (truesightIdentity) {
case "BLAMMO", "Split & Share", "Bowser Event", "Reverse", "Minefield" -> true;
default -> badPeek;
default -> false;
};
if(!badPeek)
{
Expand Down Expand Up @@ -1293,8 +1293,7 @@ public SpaceType usePeek(int playerID, int space)
case BOOSTER -> "a **BOOSTER**";
case EVENT, GRAB_BAG -> "an **EVENT**";
case BOMB, GB_BOMB -> "a **BOMB**";
default -> "an **ERROR**";
};
};
peeker.user.openPrivateChannel().queue(
(channel) -> channel.sendMessage(String.format("Space %d is %s.",space+1,peekClaim)).queue());
}
Expand Down Expand Up @@ -1528,8 +1527,7 @@ public void awardBomb(int player, BombType bombType)
//Don't deduct if negative, to allow for unlimited joker
if(players.get(player).jokers > 0)
players.get(player).jokers --;
bombType = BombType.DUD;
}
}
else
{
resolvingBomb = true;
Expand Down Expand Up @@ -1967,7 +1965,7 @@ void gameOver()
if(next.status == PlayerStatus.WINNER || next.status == PlayerStatus.ALIVE)
next.addWinstreak((5 - (playersAlive-1)*5/(players.size()-1)) * (players.size() - playersAlive));
//Award bounties to everyone who gets credit
if(next.bounty > 0 && next.bountyCredit.size() > 0)
if(next.bounty > 0 && !next.bountyCredit.isEmpty())
{
try { Thread.sleep(1000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); }
//If environmental credit, add to wager pool
Expand Down Expand Up @@ -2061,7 +2059,7 @@ private void runNextEndGamePlayer()
}
channel.sendMessage(players.get(currentTurn).getName() + " receives a win bonus of **$"
+ String.format("%,d",winBonus) + "**.").queue();
StringBuilder extraResult = null;
StringBuilder extraResult;
extraResult = players.get(currentTurn).addMoney(winBonus,MoneyMultipliersToUse.BONUS_ONLY);
if(extraResult != null)
channel.sendMessage(extraResult).queue();
Expand Down Expand Up @@ -2171,7 +2169,7 @@ public void runFinalEndGameTasks()
if(!winners.isEmpty())
{
//Got a single winner, crown them!
if(winners.size() <= 1)
if(winners.size() == 1)
{
players.addAll(winners);
currentTurn = 0;
Expand Down Expand Up @@ -2430,7 +2428,7 @@ public String listPlayers(boolean waitingOn)
resultString.append(String.format("**%d PLAYERS**", players.size()));
for(Player next : players)
{
if(!waitingOn || (waitingOn && next.status == PlayerStatus.OUT))
if(!waitingOn || next.status == PlayerStatus.OUT)
{
resultString.append(" | ");
resultString.append(next.getName());
Expand Down
6 changes: 3 additions & 3 deletions src/tel/discord/rtab/MinigameTournament.java
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ public MinigameTournament(TextChannel channel, String[] record, TextChannel resu

void loadConfigFile()
{
List<String> list = null;
List<String> list;
try
{
list = Files.readAllLines(Paths.get("scores","tournament"+channel.getId()+".csv"));
Expand All @@ -116,7 +116,7 @@ void loadConfigFile()
minigameList = new Game[gameList.length];
for(int i=0; i<gameList.length; i++)
minigameList[i] = Game.valueOf(gameList[i]);
rankList = new LinkedList<Rank>();
rankList = new LinkedList<>();
for(int i=4; i<list.size(); i++)
rankList.add(new Rank(list.get(i)));
}
Expand Down Expand Up @@ -235,7 +235,7 @@ public void runHuman(Member member)

void runTournamentRound(Player player)
{
runTournamentRound(player, new HashSet<Integer>());
runTournamentRound(player, new HashSet<>());
}

@SuppressWarnings("unlikely-arg-type")
Expand Down
6 changes: 3 additions & 3 deletions src/tel/discord/rtab/Player.java
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ public void addBooster(int amount)
{
booster += amount;
//Convert excess boost to cash
int excessBoost = 0;
int excessBoost;
if(booster > MAX_BOOSTER && game != null)
{
excessBoost = game.applyBaseMultiplier(10000) * (booster - MAX_BOOSTER);
Expand Down Expand Up @@ -433,7 +433,7 @@ public StringBuilder blowUp(int penalty, boolean holdLoot)
else
{
//Remove all their minigames, other than designated 'negative minigames'
LinkedList<Game> gamesToKeep = new LinkedList<Game>();
LinkedList<Game> gamesToKeep = new LinkedList<>();
for(Game nextGame : games)
{
if(nextGame.isNegative())
Expand Down Expand Up @@ -516,7 +516,7 @@ public StringBuilder blowUp(int penalty, boolean holdLoot)
bountyCredit.add(i);
}
//If no one has credit by now, mark as such
if(bountyCredit.size() == 0)
if(bountyCredit.isEmpty())
bountyCredit.add(-1);
//Dumb easter egg
if(money <= -1000000000)
Expand Down
4 changes: 1 addition & 3 deletions src/tel/discord/rtab/RaceToABillionBot.java
Original file line number Diff line number Diff line change
Expand Up @@ -189,9 +189,7 @@ public static boolean connectToChannel(Guild guild, String channelString)
challenge.add(challengeHandler);
game.add(challengeHandler.initialise(gameChannel, record, resultChannel));
}
case "minigame" -> {
tournament.add(new MinigameTournament(gameChannel, record, resultChannel));
}
case "minigame" -> tournament.add(new MinigameTournament(gameChannel, record, resultChannel));
case "enabled" -> {
GameController newGame = new GameController(gameChannel, record, resultChannel);
if (newGame.initialised())
Expand Down
2 changes: 1 addition & 1 deletion src/tel/discord/rtab/SuperBotChallenge.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public GameController initialise(TextChannel gameChannel, String[] record, TextC
}
public void loadGames()
{
List<String> list = null;
List<String> list;
try
{
list = Files.readAllLines(Paths.get("scores","schedule"+channel.getId()+".csv"));
Expand Down
2 changes: 1 addition & 1 deletion src/tel/discord/rtab/commands/HistoryCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public String getHistoryMessage(String uID, String name, TextChannel channel)
int rankWidth = maxRank == 1 ? 1 : (int)Math.log10(maxRank-1)+1;
//season stops at the first one that doesn't exist, so we subtract 1
//and if there's no history data at all (so season 1 is the first that doesn't exist) we have a failsave to avoid div-by-0
int seasonWidth = season == 1 ? 1 : (int)Math.log10(season-1)+1;
int seasonWidth = (int)Math.log10(season-1)+1;
int seasonsPlayed = 0;
long thisSeason;
long totalCash = 0;
Expand Down
51 changes: 8 additions & 43 deletions src/tel/discord/rtab/commands/ListAchievementsCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,52 +30,17 @@ protected void execute(CommandEvent event)
output.append("```\n");
AchievementType desiredAchievementType = null;
switch (event.getArgs().toUpperCase()) {
case "1", "A", "MILESTONE" -> {
desiredAchievementType = AchievementType.MILESTONE;
output.append("Milestone Achievements - ").append(name).append("\n\n");
}
case "2", "B", "EVENT" -> {
desiredAchievementType = AchievementType.EVENT;
output.append("Event Achievements - ").append(name).append("\n\n");
}
case "3", "C", "MINIGAME" -> {
desiredAchievementType = AchievementType.MINIGAME;
output.append("Minigame Achivements - ").append(name).append("\n\n");
}
case "4", "D", "LUCKY", "CHARMS", "LUCKY CHARMS" -> {
desiredAchievementType = AchievementType.CHARM;
output.append("Lucky Charms - ").append(name).append("\n\n");
}
default -> {
//Display a summary of achievements earned
output = getAchievementSummary(record, name);
replyInDm = false;
}
case "1", "A", "MILESTONE" -> output.append("Milestone Achievements - ").append(name).append("\n\n");
case "2", "B", "EVENT" -> output.append("Event Achievements - ").append(name).append("\n\n");
case "3", "C", "MINIGAME" -> output.append("Minigame Achivements - ").append(name).append("\n\n");
case "4", "D", "LUCKY", "CHARMS", "LUCKY CHARMS" -> output.append("Lucky Charms - ").append(name).append("\n\n");
default -> //Display a summary of achievements earned
output = getAchievementSummary(record, name);
}
//Get a list of the desired achievements
if(desiredAchievementType != null)
{
int achievementFlags = Integer.parseInt(record[desiredAchievementType.recordLocation]);
for(Achievement next : Achievement.values())
{
if(next.achievementType == desiredAchievementType)
{
//Don't show retired achievements unless they're earned
if(!next.retired || (achievementFlags>>>next.bitLocation)%2 == 1)
{
output.append("[").append((achievementFlags >>> next.bitLocation) % 2 == 1 ? "X" : " ").append("] ");
output.append(next.publicName).append(next.retired ? " (hidden)" : "").append("\n");
output.append(" ").append(next.unlockCondition).append("\n\n");
}
}
}
}
//Close off the output and send it
//Close off the output and send it
output.append("```");
if(replyInDm)
event.replyInDm(output.toString());
else
event.reply(output.toString());
event.reply(output.toString());
}
catch(IOException e)
{
Expand Down
4 changes: 2 additions & 2 deletions src/tel/discord/rtab/commands/channel/ChannelSetting.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ boolean isValidSetting(String newString)
//Check each part individually, and make sure they're both positive
try
{
int numerator = 0;
int denominator = 0;
int numerator;
int denominator;
numerator = Integer.parseInt(settingHalves[0]);
if(settingHalves.length == 2)
{
Expand Down
4 changes: 1 addition & 3 deletions src/tel/discord/rtab/commands/hidden/BlammoCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ protected void execute(CommandEvent event)
int player = game.findPlayerInGame(event.getAuthor().getId());
HiddenCommand chosenCommand = game.players.get(player).hiddenCommand;
//Check that it's valid (the game is running, they're alive, they have the command, and there's no blammo already waiting)
if(game.gameStatus != GameStatus.IN_PROGRESS || player == -1 || game.futureBlammo
|| game.players.get(player).status != PlayerStatus.ALIVE ||
(chosenCommand != HiddenCommand.BLAMMO && chosenCommand != HiddenCommand.WILD))
if(game.gameStatus != GameStatus.IN_PROGRESS || game.futureBlammo || game.players.get(player).status != PlayerStatus.ALIVE || chosenCommand != HiddenCommand.BLAMMO && chosenCommand != HiddenCommand.WILD)
event.reply("You can't do this right now.");
else
game.useBlammoSummoner(player);
Expand Down
4 changes: 1 addition & 3 deletions src/tel/discord/rtab/commands/hidden/DefuseCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ protected void execute(CommandEvent event)
HiddenCommand chosenCommand = game.players.get(player).hiddenCommand;
String rawSpace = event.getArgs();
//Check that it's valid (the game is running, the space is legit, they're alive, and they have the command)
if(game.gameStatus != GameStatus.IN_PROGRESS || player == -1 || !game.checkValidNumber(rawSpace)
|| game.players.get(player).status != PlayerStatus.ALIVE ||
(chosenCommand != HiddenCommand.DEFUSE && chosenCommand != HiddenCommand.WILD))
if(game.gameStatus != GameStatus.IN_PROGRESS || !game.checkValidNumber(rawSpace) || game.players.get(player).status != PlayerStatus.ALIVE || chosenCommand != HiddenCommand.DEFUSE && chosenCommand != HiddenCommand.WILD)
event.reply("You can't do this right now.");
//Cool, we're good, pass it over
else
Expand Down
4 changes: 1 addition & 3 deletions src/tel/discord/rtab/commands/hidden/FailsafeCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ protected void execute(CommandEvent event)
HiddenCommand chosenCommand = game.players.get(player).hiddenCommand;
//Make sure the player is in the game and the game is mid-round but not mid-turn
//Also, that the player is alive, and they have a failsafe to use
if(game.gameStatus != GameStatus.IN_PROGRESS || player == -1 || game.resolvingTurn
|| game.players.get(player).status != PlayerStatus.ALIVE ||
(chosenCommand != HiddenCommand.FAILSAFE && chosenCommand != HiddenCommand.WILD))
if(game.gameStatus != GameStatus.IN_PROGRESS || game.resolvingTurn || game.players.get(player).status != PlayerStatus.ALIVE || chosenCommand != HiddenCommand.FAILSAFE && chosenCommand != HiddenCommand.WILD)
event.reply("You can't do this right now.");
else
//We schedule a timer here so it uses the same thread as the turn timeout (hence blocking the two from overlapping)
Expand Down
4 changes: 1 addition & 3 deletions src/tel/discord/rtab/commands/hidden/FoldCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@ protected void execute(CommandEvent event)
HiddenCommand chosenCommand = game.players.get(player).hiddenCommand;
//Make sure the player is in the game and the game is mid-round but not mid-turn
//Also, that the player is alive, and they have a fold to use
if(game.gameStatus != GameStatus.IN_PROGRESS || player == -1 || game.resolvingTurn
|| game.players.get(player).status != PlayerStatus.ALIVE ||
(chosenCommand != HiddenCommand.FOLD && chosenCommand != HiddenCommand.WILD))
if(game.gameStatus != GameStatus.IN_PROGRESS || game.resolvingTurn || game.players.get(player).status != PlayerStatus.ALIVE || chosenCommand != HiddenCommand.FOLD && chosenCommand != HiddenCommand.WILD)
event.reply("You can't do this right now.");
else
game.useFold(player);
Expand Down
4 changes: 1 addition & 3 deletions src/tel/discord/rtab/commands/hidden/MinesweeperCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ protected void execute(CommandEvent event)
HiddenCommand chosenCommand = game.players.get(player).hiddenCommand;
String rawSpace = event.getArgs();
//Check that it's valid (the game is running, the space is legit, they're alive, and they have the command)
if(game.gameStatus != GameStatus.IN_PROGRESS || player == -1 || !game.checkValidNumber(rawSpace)
|| game.players.get(player).status != PlayerStatus.ALIVE ||
(chosenCommand != HiddenCommand.MINESWEEP && chosenCommand != HiddenCommand.WILD))
if(game.gameStatus != GameStatus.IN_PROGRESS || !game.checkValidNumber(rawSpace) || game.players.get(player).status != PlayerStatus.ALIVE || chosenCommand != HiddenCommand.MINESWEEP && chosenCommand != HiddenCommand.WILD)
event.reply("You can't do this right now.");
//Cool, we're good, pass it over
else
Expand Down
4 changes: 1 addition & 3 deletions src/tel/discord/rtab/commands/hidden/RepelCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ protected void execute(CommandEvent event)
int player = game.findPlayerInGame(event.getAuthor().getId());
HiddenCommand chosenCommand = game.players.get(player).hiddenCommand;
//Check that it's valid (the game is running, they're alive, and they have the command)
if(game.gameStatus != GameStatus.IN_PROGRESS || player == -1
|| game.players.get(player).status != PlayerStatus.ALIVE ||
(chosenCommand != HiddenCommand.REPEL && chosenCommand != HiddenCommand.WILD))
if(game.gameStatus != GameStatus.IN_PROGRESS || game.players.get(player).status != PlayerStatus.ALIVE || chosenCommand != HiddenCommand.REPEL && chosenCommand != HiddenCommand.WILD)
event.reply("You can't do this right now.");
else
game.useRepel(player);
Expand Down
4 changes: 1 addition & 3 deletions src/tel/discord/rtab/commands/hidden/TruesightCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ protected void execute(CommandEvent event)
HiddenCommand chosenCommand = game.players.get(player).hiddenCommand;
String rawSpace = event.getArgs();
//Check that it's valid (the game is running, the space is legit, they're alive, and they have the command)
if(game.gameStatus != GameStatus.IN_PROGRESS || player == -1 || !game.checkValidNumber(rawSpace)
|| game.players.get(player).status != PlayerStatus.ALIVE ||
(chosenCommand != HiddenCommand.TRUESIGHT && chosenCommand != HiddenCommand.WILD))
if(game.gameStatus != GameStatus.IN_PROGRESS || !game.checkValidNumber(rawSpace) || game.players.get(player).status != PlayerStatus.ALIVE || chosenCommand != HiddenCommand.TRUESIGHT && chosenCommand != HiddenCommand.WILD)
event.reply("You can't do this right now.");
//Cool, we're good, pass it over
else
Expand Down
4 changes: 1 addition & 3 deletions src/tel/discord/rtab/commands/hidden/WagerCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ protected void execute(CommandEvent event)
int player = game.findPlayerInGame(event.getAuthor().getId());
HiddenCommand chosenCommand = game.players.get(player).hiddenCommand;
//Check that it's valid (the game is running, they're alive, and they have the command)
if(game.gameStatus != GameStatus.IN_PROGRESS || player == -1 || game.resolvingBomb
|| game.players.get(player).status != PlayerStatus.ALIVE ||
(chosenCommand != HiddenCommand.WAGER && chosenCommand != HiddenCommand.WILD))
if(game.gameStatus != GameStatus.IN_PROGRESS || game.resolvingBomb || game.players.get(player).status != PlayerStatus.ALIVE || chosenCommand != HiddenCommand.WAGER && chosenCommand != HiddenCommand.WILD)
event.reply("You can't do this right now.");
else
game.useWager(player);
Expand Down
16 changes: 6 additions & 10 deletions src/tel/discord/rtab/events/Bowser.java
Original file line number Diff line number Diff line change
Expand Up @@ -396,16 +396,12 @@ private void awardJackpot()
for(Player next : game.players)
if(next.money < threshold)
{
awardJP = false;
game.channel.sendMessage("Bowser left you **ABSOLUTELY NOTHING**! PSYCHE!").queue();
game.channel.sendMessage("Bowser left you **ABSOLUTELY NOTHING**! PSYCHE!").queue();
return;
}
if(awardJP)
{
game.channel.sendMessage("Bowser left you **all the money he has collected**!!").queue();
game.channel.sendMessage(String.format("**$%,d**!!",bowserJackpot)).queue();
getCurrentPlayer().addMoney(bowserJackpot, MoneyMultipliersToUse.NOTHING);
bowserJackpot = Jackpots.BOWSER.resetValue;
}
}
game.channel.sendMessage("Bowser left you **all the money he has collected**!!").queue();
game.channel.sendMessage(String.format("**$%,d**!!",bowserJackpot)).queue();
getCurrentPlayer().addMoney(bowserJackpot, MoneyMultipliersToUse.NOTHING);
bowserJackpot = Jackpots.BOWSER.resetValue;
}
}
8 changes: 2 additions & 6 deletions src/tel/discord/rtab/events/CursedBomb.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,8 @@ public void execute(GameController game, int player)
game.channel.sendMessage("But no one else *is* cursed either.").queue();
return; //no one's cursed for some reason, so abort
}
case 1 -> {
game.channel.sendMessage("So you get to steal from the cursed player!").queue();
}
case 2 -> {
game.channel.sendMessage("So you get to steal from everyone who is cursed!").queue();
}
case 1 -> game.channel.sendMessage("So you get to steal from the cursed player!").queue();
case 2 -> game.channel.sendMessage("So you get to steal from everyone who is cursed!").queue();
}
for(int next : cursedPlayers)
{
Expand Down
4 changes: 2 additions & 2 deletions src/tel/discord/rtab/events/SomethingForEveryone.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,14 @@ public void execute(GameController game, int player)
}
}
}
else if(rng <= 1)
else if(rng == 1)
{
//peek?
game.channel.sendMessage(nextPlayer.getSafeMention() +
" gets **an Extra Peek**!").queue();
nextPlayer.peeks++;
}
else if(rng <= 2)
else if(rng == 2)
{
//Million
int cashGiven = game.applyBaseMultiplier(1_000_000);
Expand Down
2 changes: 1 addition & 1 deletion src/tel/discord/rtab/games/BowserTicTacBomb.java
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ private void endGame(boolean majorWin)
resultString.append(String.format("%d copies of ",gameMultiplier));
resultString.append(getName()).append(".");
//and goodbye money
StringBuilder extraResult = null;
StringBuilder extraResult;
extraResult = getPlayer().addMoney(-1*playerTotal, MoneyMultipliersToUse.BOOSTER_OR_BONUS);
sendMessages = true;
sendMessage(resultString.toString());
Expand Down
2 changes: 1 addition & 1 deletion src/tel/discord/rtab/games/BumperGrab.java
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ void playNextTurn(String input)

private LinkedList<String> move(Direction direction, LinkedList<String> output)
{
LinkedList<Pair<Integer,Integer>> currentSegment = new LinkedList<Pair<Integer,Integer>>();
LinkedList<Pair<Integer,Integer>> currentSegment = new LinkedList<>();
currentSegment.add(Pair.of(playerX, playerY));
return move(direction, output, currentSegment);
}
Expand Down
Loading