1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
else if(cmd.equals("kdice") || cmd.equals("kd")) {
try{
String[] pieces = arg.split(":");
if(arg.equals("") || pieces.length != 3){
client.sendButlerMessage(channel.getName(), "Bitte die Funktion folgendermaßen benutzen:#/kdice [USER]:[ANZAHL]w[AUGENZAHL]:[KNUDDEL]");
return;
}
String userName = pieces[0];
String dice = pieces[1];
int kAnz = Integer.parseInt(pieces[2]);
if(kAnz <= 0) {
client.sendButlerMessage(channel.getName(), "Anzahl muss positiv sein!");
return;
}
if(client.getKnuddels() < kAnz) {
client.sendButlerMessage(channel.getName(), "Du besitzt leider im Moment nicht genügend Knuddels!");
return;
}
Client c = Server.get().getClient(userName);
if (c == null) {
client.sendButlerMessage(channel.getName(), arg + " ist mir unbekannt.");
} else {
if(c.getName().equals(client.getName())) {
client.sendButlerMessage(channel.getName(), "Du kannst nicht mit dir selbst spielen!");
return;
}
if(c.getChannel() != client.getChannel()) {
client.sendButlerMessage(channel.getName(), "Dein Partner befindet sich in einem anderen Channel!");
return;
}
if(c.getKnuddels() < kAnz) {
client.sendButlerMessage(channel.getName(), "Dein Partner besitzt leider im Moment nicht genügend Knuddels!");
return;
}
c.setDiceUser(client, kAnz, dice);
client.sendButlerMessage(channel.getName(), "°>_h" + c.getName() + "|/serverpp "|/w "<° wurde benachrichtigt!");
c.sendButlerMessage(channel.getName(),
"°>_h" + client.getName() +
"|/serverpp "|/w "<° möchte mit dir um " +
kAnz +
" Knuddels mit " +
dice +
" würfeln!#Wenn du damit einverstanden bist, klicke auf " +
"°>{button} Ok ||call|/ok " +
c.getDiceID() +
"<°"
);
}
}catch(Exception ex){
client.sendButlerMessage(channel.getName(), "Bitte die Funktion folgendermaßen benutzen:#/kdice [USER]:[ANZAHL]w[AUGENZAHL]:[KNUDDEL]");
}
} else if(cmd.equals("ok")) {
try {
int id = Integer.parseInt(arg);
if(client.getDiceID() == id) {
if(client.getDiceUser() == null) {
client.sendButlerMessage(channel.getName(), "Dein KDice-Partner befindet sich mitlerweile offline!");
return;
}
String dice1 = IntegerUtil.dice(client.getDice());
String dice2 = IntegerUtil.dice(client.getDice());
int ges1 = Integer.parseInt(dice1.substring(dice1.indexOf('=') + 1).trim());
int ges2 = Integer.parseInt(dice2.substring(dice2.indexOf('=') + 1).trim());
Client winner = ges1 > ges2 ? client : client.getDiceUser();
Client loser = ges1 > ges2 ? client.getDiceUser() : client;
String msg1 = PacketCreator.action(">", channel.getName(), String.format("°>_h%s|/serverpp "|/w "<° rollt einen Würfel...#%s", client.getName(), dice1));
String msg2 = PacketCreator.action(">", channel.getName(), String.format("°>_h%s|/serverpp "|/w "<° rollt einen Würfel...#%s", client.getDiceUser().getName(), dice2));
String msg3 = "";
if(ges1 != ges2) {
msg3 = PacketCreator.action(">", channel.getName(),
String.format(
"°>_h%s|/serverpp "|/w "<° gewinnt die KDice-Runde und bekommt %s Knuddels von °>_h%s|/serverpp "|/w "<°!",
winner.getName(),
client.getDiceCount(),
loser.getName()
)
);
winner.increaseKnuddels(client.getDiceCount());
loser.decreaseKnuddels(client.getDiceCount());
} else {
msg3 = PacketCreator.action(">", channel.getName(),
String.format(
"Die KDice-Runde zwischen °>_h%s|/serverpp "|/w "<° und °>_h%s|/serverpp "|/w "<° geht Remis aus und jeder behält seinen Einsatz von _%s Knuddels_",
winner.getName(),
loser.getName(),
client.getDiceCount()
)
);
}
client.setDiceUser(client, 0, "");
for (Client cl : channel.getClients()) {
cl.send(msg1);
cl.send(msg2);
cl.send(msg3);
}
}
} catch (NumberFormatException nfe) {
} catch (Exception ex) { }
}
|