Update ED und JDA

This commit is contained in:
Ocame
2023-02-16 02:30:38 +01:00
parent 06cd082ee2
commit 4a999d9841
16 changed files with 1051 additions and 256 deletions

View File

@ -3,8 +3,8 @@ package Earthdawn;
import Shadowrun.db_connect;
import Shadowrun.help;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
@ -41,10 +41,10 @@ public class dice extends ListenerAdapter {
public dice() {
this.prefixSr = "/ed";
this.prefixIni = "/ini";
//this.prefixIni = "/ini";
helpDe.add("Alle Befehle können in einen Channel geschrieben werden oder per Direkt Nachricht gesender werden");
helpDe.add("Alle Befehle können in einen Channel geschrieben werden oder per Direkt Nachricht gesendet");
helpDe.add(this.prefixSr + "Zahl", "Würfelt Zahl x W6. Gewürfelte 5. und 6. Werden als Erfolge gezählt, 1. als Misserfolge.\n" +
"Erreicht oder übersteigt die Anzhal der 1. die hälfte der gewürfelten Würfel, zählt dies als ein Patzer. Gibt es mind. 1 Erfolg wird die Markierung der Ausgabe Gelb." +
"wird aber kein Erfolg gewürfelt zählt dies als Kritischer Patzer und die Markierung wird Rot **Wichtig: Vor- und Nachteile die Einfluss auf die Patzer Changse haben werden nicht berücksichtigt");
@ -53,7 +53,7 @@ public class dice extends ListenerAdapter {
helpDe.add(this.prefixSr + " Zahl_1 + Zahl_2", "Würfelt Zahl_2 x W6 und addiert Zahl_1 hinzu, um die Initative zu bestimmen");
helpDe.add(this.prefixIni + " Zahl_1 + Zahl_2", "Synonym für " + this.prefixSr + " Zahl_1 + Zahl_2");
//helpDe.add(this.prefixIni + " Zahl_1 + Zahl_2", "Synonym für " + this.prefixSr + " Zahl_1 + Zahl_2");
this.db = new db_connect();
@ -139,7 +139,7 @@ public class dice extends ListenerAdapter {
float pro = verteilung3[i]*100f/rounds;
test.addField(Integer.toString(i+1), Integer.toString(verteilung3[i]) + " - " + String.format("%.2f", pro) + "%", true);
}
event.getChannel().sendMessage(test.build()).queue();
event.getChannel().sendMessage(test.build().toString()).queue();
}
catch (NumberFormatException e) {
@ -181,9 +181,8 @@ public class dice extends ListenerAdapter {
int modifier = 1;
try {
if(event.getMessage().getContentRaw().matches(".*[ \\+jav].*")) { // es wurden andere zeichen als Zahlen gefunden
}
dieRoll.reset();
// Alte Erkennung für Karma ect
// Prüfen ob Karma wurf
if(event.getMessage().getContentRaw().startsWith(this.prefixSr+"+") || event.getMessage().getContentRaw().startsWith(this.prefixSr+" +")) {
karma = true;
@ -237,19 +236,20 @@ public class dice extends ListenerAdapter {
String[] MsgParts = ContentRaw.split(" ", 2);
if(MsgParts.length < 2) { // Leerer Befehl
String message = activLang.emptyCommand;
message = message.replace("%command%", this.prefixIni);
message = message.replace("%command%", this.prefixSr);
event.getChannel().sendMessage(getAsMention(event) + message).queue();
return;
}
String DicePart = MsgParts[1].trim().toLowerCase();
if(MsgParts[1].trim().matches(".*[^0-9].*")) { // es wurden andere zeichen als Zahlen gefunden
if(MsgParts[1].trim().toLowerCase().equals("de")) {
if(DicePart.equals("de")) {
activLang = langDe;
channelList.put(event.getChannel().getId(), "de");
event.getChannel().sendMessage(getAsMention(event) + activLang.language).queue();
return;
}
else if(MsgParts[1].trim().toLowerCase().equals("en")) {
else if(DicePart.equals("en")) {
activLang = langEn;
channelList.put(event.getChannel().getId(), "en");
event.getChannel().sendMessage(getAsMention(event) + activLang.language).queue();
@ -257,20 +257,39 @@ public class dice extends ListenerAdapter {
}
String[] iniParts = MsgParts[1].trim().toLowerCase().split("[\\+\\-]", 2);
for (int i = 0; i < DicePart.length(); i++) {
if (DicePart.charAt(i) == 'k') {
dieRoll.addKarma(1);
}
else if (DicePart.charAt(i) == 'j') {
dieRoll.addWeiheA(1);
}
else if (DicePart.charAt(i) == 'a') {
dieRoll.addWeiheJ(1);
}
else if (DicePart.charAt(i) == 'v') {
dieRoll.addWeiheV(1);
}
}
DicePart = DicePart.replace("k", "");
DicePart = DicePart.replace("j", "");
DicePart = DicePart.replace("a", "");
DicePart = DicePart.replace("v", "");
String[] iniParts = DicePart.split("[\\+\\-]", 2);
messageInterpreter mI = new messageInterpreter(event, activLang);
rollStufe(Integer.parseInt(iniParts[0]));
rollStufe(Integer.parseInt(iniParts[0].replaceAll("[^0-9]", "")));
if(iniParts.length > 1) { // Nachricht hat kein + Zeichen
rollStufe(Integer.parseInt(iniParts[0]));
if(MsgParts[1].trim().toLowerCase().matches("\\-")) // Prüft auf Negativen Modifizier wenn Ja
rollStufe(Integer.parseInt(iniParts[0].replaceAll("[^0-9]", "")));
if(DicePart.matches("\\-")) // Prüft auf Negativen Modifizier wenn Ja
modifier = -1;
dieRoll.addModifier(Integer.parseInt(iniParts[1].trim())*modifier);
}
}
else {
try {
rollStufe(Integer.parseInt(MsgParts[1].trim().toLowerCase()));
rollStufe(Integer.parseInt(DicePart));
}
catch (NumberFormatException e) {
String message = activLang.error;
@ -316,7 +335,7 @@ public class dice extends ListenerAdapter {
outputBox.setTitle(getEffectiveName(event) + message);
outputBox.setDescription("(" + dieRoll.getResultStructur() + ")");
event.getChannel().sendMessage(outputBox.build()).queue();
event.getChannel().sendMessageEmbeds(outputBox.build()).queue();
}
catch (NumberFormatException e) {
@ -346,8 +365,6 @@ public class dice extends ListenerAdapter {
private void rollStufe(int stufe) {
dieRoll.reset();
switch (stufe) {
case 1:
dieRoll.setW4(1).setModifier(-2);
@ -402,45 +419,45 @@ public class dice extends ListenerAdapter {
case 18:
dieRoll.setW12(1).setW10(1).setW8(1);
break;
case 19:
dieRoll.setW20(1).setW6(2);
break;
case 20:
dieRoll.setW20(1).setW8(1).setW6(1);
break;
case 21:
dieRoll.setW20(1).setW8(2);
break;
case 22:
dieRoll.setW20(1).setW10(1).setW8(1);
break;
case 23:
dieRoll.setW20(1).setW10(2);
break;
case 24:
dieRoll.setW20(1).setW12(1).setW10(1);
break;
case 25:
dieRoll.setW20(1).setW12(2);
break;
case 26:
dieRoll.setW20(1).setW12(1).setW6(2);
break;
case 27:
dieRoll.setW20(1).setW12(1).setW8(1).setW6(1);
break;
case 28:
dieRoll.setW20(1).setW12(1).setW8(2);
break;
case 29:
dieRoll.setW20(1).setW12(1).setW10(1).setW8(1);
break;
case 30:
dieRoll.setW20(2).setW6(1);
break;
case 31:
dieRoll.setW20(2).setW8(1).setW6(1);
break;
default:
int w20 = 0;
w20 = (int) ((stufe-8)/11);
switch ((stufe-8)%11) {
case 0:
dieRoll.setW20(w20).setW6(2);
break;
case 1:
dieRoll.setW20(w20).setW8(1).setW6(1);
break;
case 2:
dieRoll.setW20(w20).setW8(2);
break;
case 3:
dieRoll.setW20(w20).setW10(1).setW8(1);
break;
case 4:
dieRoll.setW20(w20).setW10(2);
break;
case 5:
dieRoll.setW20(w20).setW12(1).setW10(1);
break;
case 6:
dieRoll.setW20(w20).setW12(2);
break;
case 7:
dieRoll.setW20(w20).setW12(1).setW6(2);
break;
case 8:
dieRoll.setW20(w20).setW12(1).setW8(1).setW6(1);
break;
case 9:
dieRoll.setW20(w20).setW12(1).setW8(2);
break;
case 10:
dieRoll.setW20(w20).setW12(1).setW10(1).setW8(1);
break;
}
}