Skip to content

Commit 8e3fd45

Browse files
committed
updated files
1 parent 52ce9ba commit 8e3fd45

19 files changed

+524
-154
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
package drunkBot.commands;
2+
3+
import drunkBot.core.DrunkBot;
4+
import drunkBot.serverFunctions.Member;
5+
import net.dv8tion.jda.api.EmbedBuilder;
6+
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
7+
8+
import java.awt.*;
9+
10+
public class BuyPubRankCommand extends Command{
11+
@Override
12+
public String description() {
13+
return "The higher the rank the bigger your cock.";
14+
}
15+
16+
@Override
17+
public void runCommand(MessageReceivedEvent event) {
18+
19+
String msg = event.getMessage().getContentDisplay();
20+
21+
//check if they are a member
22+
if(!DrunkBot.getMemberFunctions().isMember(event.getAuthor().getName())){
23+
event.getChannel().sendMessage("Sorry mate, need to be a member to use this.").queue();
24+
return;
25+
}
26+
else if(msg.equals("!rank buy max")){
27+
buyRanks(event, true);
28+
}
29+
else if(msg.equals("!rank buy")){
30+
buyRanks(event, false);
31+
}
32+
else if(msg.equals("!rank info")){
33+
event.getChannel().sendMessage("In progress").queue();
34+
}
35+
else{
36+
event.getChannel().sendMessage("Mate do [!rank info] to get info on next rank, [!rank buy] to buy next rank, or [!rank buy max] to buy every level until you run out of money").queue();
37+
}
38+
}
39+
40+
private void buyRanks(MessageReceivedEvent event, boolean max){
41+
Member member = DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName());
42+
43+
int levelsPurchased = 0;
44+
int totalCost = 0;
45+
46+
if(member.getBalance() < calculateCost(member.getPubRank())){ //they dont have the funds to purchase 1 rank
47+
event.getChannel().sendMessage("Sorry mate you don't have the money, maybe you should hit the pokies aye").queue();
48+
return;
49+
}
50+
51+
if(max){
52+
do{
53+
int cost = calculateCost(member.getPubRank());
54+
member.addCredits(-cost);
55+
member.pubRankLevelUp();
56+
totalCost += cost;
57+
levelsPurchased += 1;
58+
59+
}while(member.getBalance() > calculateCost(member.getPubRank()));
60+
}
61+
else{
62+
int cost = calculateCost(member.getPubRank());
63+
member.addCredits(-cost);
64+
member.pubRankLevelUp();
65+
totalCost = cost;
66+
levelsPurchased = 1;
67+
}
68+
DrunkBot.getMemberFunctions().saveUsers(member);
69+
event.getChannel().sendMessage(getLevelUpDetails(event, levelsPurchased, totalCost).build()).queue();
70+
}
71+
72+
/**
73+
*
74+
* @param initialLevel the members current Pub rank
75+
* @return the cost to level up 1 rank
76+
*/
77+
private int calculateCost(int initialLevel){
78+
return (int) Math.floor(Math.sqrt((initialLevel+1)*2)*100);
79+
}
80+
81+
private EmbedBuilder getLevelUpDetails(MessageReceivedEvent event, int levelsPurchased, int totalCost){
82+
83+
Member member = DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName());
84+
EmbedBuilder eb = new EmbedBuilder();
85+
eb.setColor(Color.red);
86+
eb.setThumbnail(event.getAuthor().getAvatarUrl());
87+
88+
eb.addField("Old Rank: ", Integer.toString(member.getPubRank()-levelsPurchased), true);
89+
eb.addField("New Rank: ", Integer.toString(member.getPubRank()), true);
90+
eb.addField("Rank increases: ", Integer.toString(levelsPurchased), true);
91+
eb.addField("Total Cost: ", Integer.toString(totalCost), true);
92+
93+
return eb;
94+
}
95+
}

src/drunkBot/commands/Command.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package drunkBot.commands;
22

3+
import drunkBot.core.DrunkBot;
34
import net.dv8tion.jda.api.entities.Member;
45
import net.dv8tion.jda.api.entities.Role;
56
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
@@ -22,5 +23,4 @@ protected boolean checkRole(String role, Member member){
2223
}
2324
return false;
2425
}
25-
2626
}

src/drunkBot/commands/HelpCommand.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package drunkBot.commands;
22

33
import drunkBot.core.DrunkBot;
4+
import drunkBot.handlers.CommandHandler;
45
import net.dv8tion.jda.api.EmbedBuilder;
56
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
67

7-
import java.math.BigInteger;
8+
import java.awt.*;
9+
import java.util.Map;
810

911
public class HelpCommand extends Command {
1012
@Override
1113
public String description() {
12-
return "This?";
14+
return "Take a fuckin guess mate";
1315
}
1416

1517
@Override
@@ -24,14 +26,12 @@ private EmbedBuilder writeEmbed(MessageReceivedEvent event) {
2426

2527
eb.setTitle("Command List");
2628
eb.setThumbnail(DrunkBot.getJDA().getSelfUser().getAvatarUrl());
27-
eb.addField("!addme", "Gives you a membership to the pub", false);
28-
eb.addField("!deleteme", "Membership is revoked, probs because you're a shit cunt", false);
29-
eb.addField("!membership", "Your valuable membership info", false);
30-
eb.addField("!pokies", " the fuckin pokies mate, do !pokies [amount] where amount can only be 1, 5, 10, 20 or !pokies info", false);
31-
eb.addField("!givejoshlotsofmonies", "Because he's a poor shit who lives off the dole", false);
32-
eb.addField("!pitymoney", "For when you lose all your money to the pokies", false);
33-
eb.addField("!kob", "I think this starts king of beers? i forgot how this works", false);
34-
eb.addField("!help", "Take a fuckin guess mate", false);
29+
eb.setColor(Color.red);
30+
31+
//add all commands and descriptions to the embedBuilder
32+
for(Map.Entry<String, Command> commandSet : new CommandHandler().getCommands().entrySet()){
33+
eb.addField(("!" + commandSet.getKey()), commandSet.getValue().description(), false);
34+
}
3535

3636
return eb;
3737
}

src/drunkBot/commands/KingOfBeersCommand.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,16 @@
1515
import java.util.Iterator;
1616
import java.util.Random;
1717

18+
/**
19+
* TODO:
20+
* -once game has started, lock to text channel that it was started in
21+
*
22+
*/
23+
1824
public class KingOfBeersCommand extends Command {
1925
@Override
2026
public String description() {
21-
return "Have a game of king of beers and get wasted";
27+
return "Have a game of King Of Beers and get a bit tipsy (or fuck eyed)";
2228
}
2329

2430
private boolean gameInProgress;
@@ -58,8 +64,10 @@ public void runCommand(MessageReceivedEvent event) {
5864
gameInProgress = true;
5965
event.getChannel().sendMessage(getNextCard(event.getAuthor().getName()).build()).queue();
6066
}
61-
else
67+
else if(msg.equals("!kob start") && gameInProgress){
6268
event.getChannel().sendMessage("Game's already in progress in " + event.getJDA().getTextChannelById(channelInUse).getName()).queue();
69+
return;
70+
}
6371

6472
//Commands for when a game is in progress
6573

src/drunkBot/commands/NewMemberCommand.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
public class NewMemberCommand extends Command{
77

88
public String description() {
9-
return "Adds you as a member so you can earn credits and access member benefits";
9+
return "Become a valued patron of this fine establishment.";
1010
}
1111

1212
public void runCommand(MessageReceivedEvent event){
13-
boolean result = DrunkBot.getMemberFunctions().addMember(event.getAuthor().getName());
14-
if(result){
13+
boolean memberAdded = DrunkBot.getMemberFunctions().addMember(event.getAuthor().getName());
14+
if(memberAdded){
1515
event.getChannel().sendMessage("<@"+event.getAuthor().getId()+"> yeah mate no problem.").queue();
16-
event.getChannel().sendMessage(DrunkBot.getMemberFunctions().generateEmbededMessage(event.getAuthor()).build()).queue();
16+
event.getChannel().sendMessage(DrunkBot.getMemberFunctions().generateEmbeddedMessage(event.getMember()).build()).queue();
17+
DrunkBot.getMemberFunctions().saveUsers(DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()));
1718
}
1819
else{
1920
event.getChannel().sendMessage("<@" + event.getAuthor().getId() + "> couldn't add ya mate. Have you already been added?").queue();

src/drunkBot/commands/PityMoneyCommand.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,23 @@
77
import java.util.Date;
88

99
public class PityMoneyCommand extends Command{
10+
11+
private int doleAmount = 50;
1012
@Override
1113
public String description() {
12-
return "Run out of money? claim the dole and get 20 credits";
14+
return "Run out of money? claim the dole and get " + doleAmount + " credits";
1315
}
1416

1517
@Override
1618
public void runCommand(MessageReceivedEvent event) {
1719
String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
1820
if(!DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).getLastPityMoneyUse().equals(date)){
1921
event.getChannel().sendMessage("Yeah here's ya pity money poor fella").queue();
20-
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).addCredits(20);
22+
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).addCredits(doleAmount);
2123
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).setLastPityMoneyUse(date);
24+
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).increaseDoleUses();
25+
DrunkBot.getMemberFunctions().saveUsers(DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()));
26+
2227
}
2328
else
2429
event.getChannel().sendMessage("I already gave you pity money, fuck off til tomorrow").queue();

src/drunkBot/commands/PokiesCommand.java

Lines changed: 29 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,27 @@ public class PokiesCommand extends Command {
1919
private final String[] symbols = {":eye: ", ":game_die: ", ":ring: ", ":red_car: ", ":snake: "};
2020
private String jackpotSymbol, majorSymbol, minorSymbol;
2121
private Boolean wonJackpot, wonMajor, wonMinor;
22-
private int jackpot, major, minor;
22+
private int jackpot, major, minor, timesJackpotWon, timesMajorWon, timesMinorWon;
2323

2424
public PokiesCommand(){
2525
wonJackpot = false;
2626
wonMajor = false;
2727
wonMinor = false;
2828

29-
jackpot = 0;
30-
loadData();
31-
if(jackpot == 0){
32-
System.out.println("failed to load data");
33-
jackpot = 1000;
34-
major = 500;
35-
minor = 250;
36-
jackpotSymbol = "<:alex6:703972081573822474>";
37-
majorSymbol = "<:VB:695221487120023562>";
38-
minorSymbol = "<:New:695220960474693672>";
39-
}
29+
Properties prop = getProperties();
30+
31+
jackpot = Integer.parseInt(prop.getProperty("currentJackpot"));
32+
major = Integer.parseInt(prop.getProperty("currentMajor"));
33+
minor = Integer.parseInt(prop.getProperty("currentMinor"));
34+
35+
jackpotSymbol = prop.getProperty("jackpotSymbol");
36+
majorSymbol = prop.getProperty("majorSymbol");
37+
minorSymbol = prop.getProperty("minorSymbol");
38+
39+
timesJackpotWon = Integer.parseInt(prop.getProperty("timesJackpotWon"));
40+
timesMajorWon = Integer.parseInt(prop.getProperty("timesMajorWon"));
41+
timesMinorWon = Integer.parseInt(prop.getProperty("timesMinorWon"));
42+
4043
Timer pokiesSaver = new Timer();
4144
pokiesSaver.schedule(new TimerTask() {
4245
@Override
@@ -48,7 +51,7 @@ public void run() {
4851

4952
@Override
5053
public String description() {
51-
return "ayye pokies time. Have a game and earn (or lose) some credits!";
54+
return "It's the fuckin pokies mate!";
5255
}
5356

5457
@Override
@@ -125,30 +128,31 @@ public void runCommand(MessageReceivedEvent event){
125128
int total = (winnings > 0)? (winnings + betAmount) : (winnings - betAmount);
126129
if(wonJackpot){
127130
total += jackpot;
128-
jackpot = 1000;
131+
jackpot = Integer.parseInt(getProperties().getProperty("jackpotDefault"));
129132
}
130133
if(wonMajor){
131134
total += major;
132-
major = 500;
135+
major = Integer.parseInt(getProperties().getProperty("majorDefault"));
133136
}
134137
if(wonMinor){
135138
total += minor;
136-
minor = 250;
139+
minor = Integer.parseInt(getProperties().getProperty("minorDefault"));
137140
}
138141

139142
if(total < 0) {
140143
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).addTotalLosses(total);
141144
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).incrementLosses();
142145
jackpot += betAmount;
143146
major += betAmount*0.5;
144-
minor += betAmount*.25;
147+
minor += betAmount*0.25;
145148
}
146149
else {
147150
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).addTotalWinnings(total);
148151
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).incrementWins();
149152
}
150153

151154
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).addCredits(total);
155+
DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()).checkForBiggestWin(total);
152156

153157
EmbedBuilder eb = new EmbedBuilder();
154158
eb.setColor(Color.CYAN);
@@ -170,6 +174,7 @@ public void runCommand(MessageReceivedEvent event){
170174
eb.addField("Winnings:", Integer.toString(total), false);
171175

172176
event.getChannel().sendMessage(eb.build()).queue();
177+
DrunkBot.getMemberFunctions().saveUsers(DrunkBot.getMemberFunctions().getMember(event.getAuthor().getName()));
173178
wonJackpot = false;
174179
wonMajor = false;
175180
wonMinor = false;
@@ -233,6 +238,10 @@ private EmbedBuilder getPokiesInfo(){
233238
eb.addField("Major: " + majorSymbol, Integer.toString(major), true);
234239
eb.addField("minor: " + minorSymbol, Integer.toString(minor), true);
235240

241+
eb.addField("Times Won: ", Integer.toString(timesJackpotWon), true);
242+
eb.addField("Times Won: ", Integer.toString(timesMajorWon), true);
243+
eb.addField("Times Won: ", Integer.toString(timesMinorWon), true);
244+
236245
return eb;
237246
}
238247

@@ -242,6 +251,9 @@ public void saveData(){
242251
prop.setProperty("currentMajor", Integer.toString(major));
243252
prop.setProperty("curentMinor", Integer.toString(minor));
244253

254+
prop.setProperty("timesJackpotWon", Integer.toString(timesJackpotWon));
255+
prop.setProperty("timesMajorWon", Integer.toString(timesMajorWon));
256+
prop.setProperty("timesMinorWon", Integer.toString(timesMinorWon));
245257

246258
try {
247259
prop.store(new FileOutputStream("resources/pokies.properties"), null);
@@ -253,22 +265,6 @@ public void saveData(){
253265
System.out.println("Pokies save data successful");
254266
}
255267

256-
private boolean loadData(){
257-
Properties prop = getProperties();
258-
if(prop == null)
259-
return false;
260-
261-
jackpot = Integer.parseInt(prop.getProperty("currentJackpot"));
262-
major = Integer.parseInt(prop.getProperty("currentMajor"));
263-
minor = Integer.parseInt(prop.getProperty("curentMinor"));
264-
265-
jackpotSymbol = prop.getProperty("jackpotSymbol");
266-
majorSymbol = prop.getProperty("majorSymbol");
267-
minorSymbol = prop.getProperty("minorSymbol");
268-
System.out.println("Pokies load data successful");
269-
return true;
270-
}
271-
272268
private Properties getProperties(){
273269
Properties properties = new Properties();
274270
String path = "resources/pokies.properties";

0 commit comments

Comments
 (0)