From f46d492042823bc92160f7753ce28517433cfa4a Mon Sep 17 00:00:00 2001 From: cheetah676 Date: Sun, 11 Jul 2021 11:40:43 -0700 Subject: [PATCH 01/13] keith is awesome --- .settings/org.eclipse.buildship.core.prefs | 2 + .../discord_bot_example/Bot.java | 10 +- .../jointheleague/modules/PokemonBattle.java | 88 ++++++++ .../modules/pojo/Pokemon/PokemonWrapper.java | 211 ++++++++++++++++++ src/main/resources/config.json | 4 +- 5 files changed, 310 insertions(+), 5 deletions(-) create mode 100644 .settings/org.eclipse.buildship.core.prefs create mode 100644 src/main/java/org/jointheleague/modules/PokemonBattle.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/PokemonWrapper.java diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs new file mode 100644 index 00000000..e8895216 --- /dev/null +++ b/.settings/org.eclipse.buildship.core.prefs @@ -0,0 +1,2 @@ +connection.project.dir= +eclipse.preferences.version=1 diff --git a/src/main/java/org/jointheleague/discord_bot_example/Bot.java b/src/main/java/org/jointheleague/discord_bot_example/Bot.java index 22719867..fd879d1a 100644 --- a/src/main/java/org/jointheleague/discord_bot_example/Bot.java +++ b/src/main/java/org/jointheleague/discord_bot_example/Bot.java @@ -51,9 +51,9 @@ public void connect(boolean printInvite) { api.addMessageCreateListener(list); helpListener.addHelpEmbed(list.getHelpEmbed()); - MazeGame maze = new MazeGame(channelName); - api.addMessageCreateListener(maze); - helpListener.addHelpEmbed(maze.getHelpEmbed()); + //MazeGame maze = new MazeGame(channelName); + //api.addMessageCreateListener(maze); + //helpListener.addHelpEmbed(maze.getHelpEmbed()); MarsPictures marsPictures = new MarsPictures(channelName); api.addMessageCreateListener(marsPictures); @@ -128,6 +128,10 @@ public void connect(boolean printInvite) { api.addMessageCreateListener(poker); helpListener.addHelpEmbed(poker.getHelpEmbed()); + PokemonBattle pokemonBattle=new PokemonBattle(channelName); + api.addMessageCreateListener(pokemonBattle); + helpListener.addHelpEmbed(pokemonBattle.getHelpEmbed()); + CovidCaseGetter covid = new CovidCaseGetter(channelName); api.addMessageCreateListener(covid); helpListener.addHelpEmbed(covid.getHelpEmbed()); diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java new file mode 100644 index 00000000..7ffd337c --- /dev/null +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -0,0 +1,88 @@ +package org.jointheleague.modules; + +import java.util.List; +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.ProtocolException; +import java.net.URL; + +import javax.json.Json; +import javax.json.JsonObject; +import javax.json.JsonReader; + +import org.javacord.api.event.message.MessageCreateEvent; +import org.jointheleague.modules.pojo.HelpEmbed; +import org.jointheleague.modules.pojo.Pokemon.PokemonWrapper; +import org.jointheleague.modules.pojo.apiExample.ApiExampleWrapper; + +import com.google.gson.Gson; + +import net.aksingh.owmjapis.api.APIException; + +public class PokemonBattle extends CustomMessageCreateListener { + +//private final String apiKey = "59ac01326c584ac0a069a29798794bec"; +private static final String COMMAND = "!pokemon"; +private final Gson gson = new Gson(); + +public PokemonBattle (String channelName){ +super(channelName); +helpEmbed=new HelpEmbed("COMMAND", ""); +} + +@Override +public void handle(MessageCreateEvent event) throws APIException { + // TODO Auto-generated method stub + if(event.getMessageContent().contains(COMMAND)) { + + //remove the command so we are only left with the search term + String msg = event.getMessageContent().replaceAll(" ", "").replace(COMMAND, ""); + + if (msg.equals("")) { + event.getChannel().sendMessage("Please put a word after the command"); + } else { + PokemonWrapper moves=getMoves(msg); + moves.getMoves().get(0); + for(int i=0; i moves=pokemonWrapper.getMoves(); + return pokemonWrapper; + } + catch (MalformedURLException e) { + System.out.println("url"); + e.printStackTrace(); + } catch (ProtocolException e) { + System.out.println("prot"); + e.printStackTrace(); + } catch (IOException e) { + System.out.println("io"); + e.printStackTrace(); + } + return null; +} +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/PokemonWrapper.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/PokemonWrapper.java new file mode 100644 index 00000000..2918fb77 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/PokemonWrapper.java @@ -0,0 +1,211 @@ + +package org.jointheleague.modules.pojo.Pokemon; + +import java.util.List; +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class PokemonWrapper { + + // @SerializedName("abilities") + // @Expose + // private List abilities = null; + @SerializedName("base_experience") + @Expose + private Integer baseExperience; + // @SerializedName("forms") + // @Expose + // private List
forms = null; + @SerializedName("game_indices") + @Expose + private List gameIndices = null; + @SerializedName("height") + @Expose + private Integer height; + @SerializedName("held_items") + @Expose + private List heldItems = null; + @SerializedName("id") + @Expose + private Integer id; + @SerializedName("is_default") + @Expose + private Boolean isDefault; + @SerializedName("location_area_encounters") + @Expose + private String locationAreaEncounters; + @SerializedName("moves") + @Expose + private List moves = null; + @SerializedName("name") + @Expose + private String name; + @SerializedName("order") + @Expose + private Integer order; + @SerializedName("past_types") + @Expose + private List pastTypes = null; + // @SerializedName("species") + // @Expose + // private Species species; + // @SerializedName("sprites") + // @Expose + // private Sprites sprites; + // @SerializedName("stats") + // @Expose + // private List stats = null; + // @SerializedName("types") + // @Expose + //private List types = null; + @SerializedName("weight") + @Expose + private Integer weight; + + // public List getAbilities() { + // return abilities; + // } + + //public void setAbilities(List abilities) { + // this.abilities = abilities; + // } + + public Integer getBaseExperience() { + return baseExperience; + } + + public void setBaseExperience(Integer baseExperience) { + this.baseExperience = baseExperience; + } + + // public List getForms() { + // return forms; + // } + + // public void setForms(List forms) { + // this.forms = forms; + // } + + public List getGameIndices() { + return gameIndices; + } + + public void setGameIndices(List gameIndices) { + this.gameIndices = gameIndices; + } + + public Integer getHeight() { + return height; + } + + public void setHeight(Integer height) { + this.height = height; + } + + public List getHeldItems() { + return heldItems; + } + + public void setHeldItems(List heldItems) { + this.heldItems = heldItems; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Boolean getIsDefault() { + return isDefault; + } + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + public String getLocationAreaEncounters() { + return locationAreaEncounters; + } + + public void setLocationAreaEncounters(String locationAreaEncounters) { + this.locationAreaEncounters = locationAreaEncounters; + } + + public List getMoves() { + return moves; + } + + public void setMoves(List moves) { + this.moves = moves; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } + + public List getPastTypes() { + return pastTypes; + } + + public void setPastTypes(List pastTypes) { + this.pastTypes = pastTypes; + } + + //public Species getSpecies() { + // return species; + // } + + // public void setSpecies(Species species) { + // this.species = species; + // } + + //public Sprites getSprites() { + // return sprites; + // } + + // public void setSprites(Sprites sprites) { + // this.sprites = sprites; + // } + + //public List getStats() { + // return stats; + // } + + // public void setStats(List stats) { + // this.stats = stats; + // } + + // public List getTypes() { + // return types; + // } + + //public void setTypes(List types) { + // this.types = types; + //} + + public Integer getWeight() { + return weight; + } + + public void setWeight(Integer weight) { + this.weight = weight; + } + +} diff --git a/src/main/resources/config.json b/src/main/resources/config.json index 4dd58050..42f4f404 100644 --- a/src/main/resources/config.json +++ b/src/main/resources/config.json @@ -1,4 +1,4 @@ { - "channels": [""], - "token": "" + "channels": ["jake-m"], + "token": "ODA4MDQwODE4NzgyNjM0MDA0.YCAwpw.YPWPD8jyVsqrGk2svxX4ygw9e98" } From 758d61f16e1bb59f15527af1ab49d3ea98da2193 Mon Sep 17 00:00:00 2001 From: cheetah676 Date: Sun, 18 Jul 2021 11:29:34 -0700 Subject: [PATCH 02/13] random moves done --- .../jointheleague/modules/PokemonBattle.java | 73 ++++++++++++++++++- src/main/resources/config.json | 2 +- 2 files changed, 71 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index 7ffd337c..b5ee2241 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -1,6 +1,8 @@ package org.jointheleague.modules; +import java.util.ArrayList; import java.util.List; +import java.util.Random; import java.io.IOException; import java.net.HttpURLConnection; import java.net.MalformedURLException; @@ -25,6 +27,15 @@ public class PokemonBattle extends CustomMessageCreateListener { //private final String apiKey = "59ac01326c584ac0a069a29798794bec"; private static final String COMMAND = "!pokemon"; private final Gson gson = new Gson(); +List movesList=new ArrayList(); +boolean comma=false; +String chars; +String move; +int progress; +Random rand=new Random(); +List randomList=new ArrayList(); +int random; +int players=0; public PokemonBattle (String channelName){ super(channelName); @@ -41,12 +52,36 @@ public void handle(MessageCreateEvent event) throws APIException { if (msg.equals("")) { event.getChannel().sendMessage("Please put a word after the command"); - } else { + } else if(players==0) { + players=1; PokemonWrapper moves=getMoves(msg); moves.getMoves().get(0); for(int i=0; i moves=pokemonWrapper.getMoves(); return pokemonWrapper; } catch (MalformedURLException e) { @@ -85,4 +119,37 @@ public PokemonWrapper getMoves(String pokemon) { } return null; } +public PokemonWrapper getMovesUrl(String url1){ + url1.replaceFirst("%7D", ""); + String requestURL = url1; + + try { + + //the following code will probably be the same for your feature + URL url = new URL(requestURL); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.setRequestProperty("User-Agent", "Jake"); + System.out.println("open"); + con.setRequestMethod("GET"); + JsonReader repoReader = Json.createReader(con.getInputStream()); + System.out.println("getinput"); + JsonObject userJSON = ((JsonObject) repoReader.read()); + con.disconnect(); + + PokemonWrapper pokemonWrapper=gson.fromJson(userJSON.toString(), PokemonWrapper.class); + return pokemonWrapper; + } + catch (MalformedURLException e) { + System.out.println("url"); + e.printStackTrace(); + } catch (ProtocolException e) { + System.out.println("prot"); + e.printStackTrace(); + } catch (IOException e) { + System.out.println("io"); + e.printStackTrace(); + } + return null; + +} } diff --git a/src/main/resources/config.json b/src/main/resources/config.json index 42f4f404..a90c5ba1 100644 --- a/src/main/resources/config.json +++ b/src/main/resources/config.json @@ -1,4 +1,4 @@ { "channels": ["jake-m"], - "token": "ODA4MDQwODE4NzgyNjM0MDA0.YCAwpw.YPWPD8jyVsqrGk2svxX4ygw9e98" + "token": "ODA4MDQwODE4NzgyNjM0MDA0.YCAwpw.3P_ZcyHve-gBFVCBpWHIoQO7uLQ" } From 94efb57e7c12ec041765fed67d4d21d7b4668038 Mon Sep 17 00:00:00 2001 From: cheetah676 Date: Sun, 19 Sep 2021 11:32:20 -0700 Subject: [PATCH 03/13] pokemon battle ip --- .../jointheleague/modules/PokemonBattle.java | 247 +++++++++++++++++- src/main/resources/config.json | 2 +- 2 files changed, 242 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index b5ee2241..e6935dd5 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -10,8 +10,11 @@ import java.net.URL; import javax.json.Json; +import javax.json.JsonArray; import javax.json.JsonObject; import javax.json.JsonReader; +import javax.json.JsonString; +import javax.json.JsonValue; import org.javacord.api.event.message.MessageCreateEvent; import org.jointheleague.modules.pojo.HelpEmbed; @@ -26,16 +29,30 @@ public class PokemonBattle extends CustomMessageCreateListener { //private final String apiKey = "59ac01326c584ac0a069a29798794bec"; private static final String COMMAND = "!pokemon"; +private static final String COMMAND2="use"; private final Gson gson = new Gson(); List movesList=new ArrayList(); boolean comma=false; String chars; String move; +String pokemon1; +int pokemon1Health; +String pokemon2; +int pokemon2Health; int progress; Random rand=new Random(); List randomList=new ArrayList(); +List randomList2=new ArrayList(); int random; int players=0; +int turn=1; +int power1; +int power2; +Random hpMultiplier=new Random(); +int hpMultiplierInt; +String[] pokemonTypesArray=new String[2]; +String[] pokemon1Types=new String[2]; +String[] pokemon2Types=new String[2]; public PokemonBattle (String channelName){ super(channelName); @@ -54,8 +71,15 @@ public void handle(MessageCreateEvent event) throws APIException { event.getChannel().sendMessage("Please put a word after the command"); } else if(players==0) { players=1; + pokemon1=msg; + hpMultiplierInt=hpMultiplier.nextInt(2); + hpMultiplierInt+=2; + pokemon1Health=getHP(pokemon1)*hpMultiplierInt; + String ok=getMoveType("facade"); + System.out.println(pokemon1Health); PokemonWrapper moves=getMoves(msg); - moves.getMoves().get(0); + pokemon1Types=getTypePokemon(pokemon1); + //moves.getMoves().get(0); for(int i=0; i Date: Sun, 19 Sep 2021 11:34:02 -0700 Subject: [PATCH 04/13] pokemon battle ip --- .../jointheleague/modules/PokemonBattle.java | 70 +++++++++++++++++-- 1 file changed, 63 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index e6935dd5..83704482 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -48,6 +48,9 @@ public class PokemonBattle extends CustomMessageCreateListener { int turn=1; int power1; int power2; +String type1; +String type2; +double damageMultiplier=1; Random hpMultiplier=new Random(); int hpMultiplierInt; String[] pokemonTypesArray=new String[2]; @@ -72,10 +75,9 @@ public void handle(MessageCreateEvent event) throws APIException { } else if(players==0) { players=1; pokemon1=msg; - hpMultiplierInt=hpMultiplier.nextInt(2); - hpMultiplierInt+=2; - pokemon1Health=getHP(pokemon1)*hpMultiplierInt; - String ok=getMoveType("facade"); + //hpMultiplierInt=hpMultiplier.nextInt(2); + //hpMultiplierInt+=2; + //pokemon1Health=getHP(pokemon1)*hpMultiplierInt; System.out.println(pokemon1Health); PokemonWrapper moves=getMoves(msg); pokemon1Types=getTypePokemon(pokemon1); @@ -110,9 +112,9 @@ public void handle(MessageCreateEvent event) throws APIException { else if(players==1) { players=2; pokemon2=msg; - hpMultiplierInt=hpMultiplier.nextInt(2); - hpMultiplierInt+=2; - pokemon2Health=getHP(pokemon2)*hpMultiplierInt; + //hpMultiplierInt=hpMultiplier.nextInt(2); + //hpMultiplierInt+=2; + //pokemon2Health=getHP(pokemon2)*hpMultiplierInt; System.out.println(pokemon2Health); PokemonWrapper moves=getMoves(msg); pokemon2Types=getTypePokemon(pokemon2); @@ -156,6 +158,7 @@ else if(msg.contains(pokemon1) && turn==1) { String msg2=msg.replace(pokemon1, ""); System.out.println(msg2); power1=getMovePower(msg2); + type1=getMoveType(msg2); pokemon2Health-=power1; event.getChannel().sendMessage(pokemon1+" did "+power1+" damage to "+pokemon2+". "+pokemon2+" now has "+pokemon2Health+" health left."); if(pokemon2Health<=0) { @@ -166,6 +169,7 @@ else if(msg.contains(pokemon2) && turn==2) { turn=1; String msg2=msg.replace(pokemon2, ""); power2=getMovePower(msg2); + type2=getMoveType(msg2); pokemon1Health-=power2; event.getChannel().sendMessage(pokemon2+" did "+power2+" damage to "+pokemon1+". "+pokemon1+" now has "+pokemon1Health+" health left."); if(pokemon1Health<=0) { @@ -387,4 +391,56 @@ public String getMoveType(String move) { } return null; } +public double getDamageRelations(String moveType) { + String requestURL = "https://pokeapi.co/api/v2/type/" + + moveType+"/"; + try { + URL url = new URL(requestURL); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.setRequestProperty("User-Agent", "Jake"); + //System.out.println("open"); + con.setRequestMethod("GET"); + JsonReader repoReader = Json.createReader(con.getInputStream()); + //System.out.println("getinput"); + JsonObject userJSON = ((JsonObject) repoReader.read()); + con.disconnect(); + JsonArray damageRelations=userJSON.getJsonArray("damage_relations"); + JsonArray doubleDamage=damageRelations.getJsonArray(1); + JsonArray doubleDamageToTypes = null; + for(int i=0; i Date: Sun, 3 Oct 2021 10:24:51 -0700 Subject: [PATCH 05/13] done --- .../jointheleague/modules/PokemonBattle.java | 171 +++++++++++++++--- .../pojo/Pokemon/types/DamageRelations.java | 79 ++++++++ .../Pokemon/types/DamageRelations__1.java | 79 ++++++++ .../pojo/Pokemon/types/DoubleDamageFrom.java | 34 ++++ .../Pokemon/types/DoubleDamageFrom__1.java | 34 ++++ .../pojo/Pokemon/types/DoubleDamageTo.java | 34 ++++ .../pojo/Pokemon/types/DoubleDamageTo__1.java | 34 ++++ .../modules/pojo/Pokemon/types/GameIndex.java | 34 ++++ .../pojo/Pokemon/types/Generation.java | 34 ++++ .../pojo/Pokemon/types/Generation__1.java | 34 ++++ .../pojo/Pokemon/types/Generation__2.java | 34 ++++ .../pojo/Pokemon/types/HalfDamageFrom.java | 34 ++++ .../pojo/Pokemon/types/HalfDamageFrom__1.java | 34 ++++ .../pojo/Pokemon/types/HalfDamageTo.java | 34 ++++ .../pojo/Pokemon/types/HalfDamageTo__1.java | 34 ++++ .../modules/pojo/Pokemon/types/Language.java | 34 ++++ .../modules/pojo/Pokemon/types/Move.java | 34 ++++ .../pojo/Pokemon/types/MoveDamageClass.java | 34 ++++ .../modules/pojo/Pokemon/types/Name.java | 34 ++++ .../pojo/Pokemon/types/NoDamageTo.java | 34 ++++ .../Pokemon/types/PastDamageRelation.java | 34 ++++ .../modules/pojo/Pokemon/types/Pokemon.java | 34 ++++ .../pojo/Pokemon/types/PokemonType.java | 123 +++++++++++++ .../pojo/Pokemon/types/Pokemon__1.java | 34 ++++ src/main/resources/config.json | 2 +- 25 files changed, 1104 insertions(+), 30 deletions(-) create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DamageRelations.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DamageRelations__1.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageFrom.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageFrom__1.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageTo.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageTo__1.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/GameIndex.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation__1.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation__2.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageFrom.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageFrom__1.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageTo.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageTo__1.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Language.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Move.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/MoveDamageClass.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Name.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/NoDamageTo.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/PastDamageRelation.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Pokemon.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/PokemonType.java create mode 100644 src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Pokemon__1.java diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index 83704482..099b8081 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -19,6 +19,10 @@ import org.javacord.api.event.message.MessageCreateEvent; import org.jointheleague.modules.pojo.HelpEmbed; import org.jointheleague.modules.pojo.Pokemon.PokemonWrapper; +import org.jointheleague.modules.pojo.Pokemon.types.DoubleDamageTo; +import org.jointheleague.modules.pojo.Pokemon.types.HalfDamageTo; +import org.jointheleague.modules.pojo.Pokemon.types.NoDamageTo; +import org.jointheleague.modules.pojo.Pokemon.types.PokemonType; import org.jointheleague.modules.pojo.apiExample.ApiExampleWrapper; import com.google.gson.Gson; @@ -33,6 +37,7 @@ public class PokemonBattle extends CustomMessageCreateListener { private final Gson gson = new Gson(); List movesList=new ArrayList(); boolean comma=false; +boolean hasMove=false; String chars; String move; String pokemon1; @@ -46,8 +51,8 @@ public class PokemonBattle extends CustomMessageCreateListener { int random; int players=0; int turn=1; -int power1; -int power2; +double power1; +double power2; String type1; String type2; double damageMultiplier=1; @@ -77,7 +82,7 @@ public void handle(MessageCreateEvent event) throws APIException { pokemon1=msg; //hpMultiplierInt=hpMultiplier.nextInt(2); //hpMultiplierInt+=2; - //pokemon1Health=getHP(pokemon1)*hpMultiplierInt; + pokemon1Health=getHP(pokemon1); System.out.println(pokemon1Health); PokemonWrapper moves=getMoves(msg); pokemon1Types=getTypePokemon(pokemon1); @@ -105,6 +110,7 @@ public void handle(MessageCreateEvent event) throws APIException { for(int i=0; i<4; i++) { random=rand.nextInt(movesList.size()); randomList.add(movesList.get(random)); + movesList.remove(random); System.out.println(movesList.get(random)); } event.getChannel().sendMessage("You selected "+msg+". Your moves are "+randomList.get(0)+", "+randomList.get(1)+", "+randomList.get(2)+" and "+randomList.get(3)+ ". Waiting for second player."); @@ -114,7 +120,7 @@ else if(players==1) { pokemon2=msg; //hpMultiplierInt=hpMultiplier.nextInt(2); //hpMultiplierInt+=2; - //pokemon2Health=getHP(pokemon2)*hpMultiplierInt; + pokemon2Health=getHP(pokemon2); System.out.println(pokemon2Health); PokemonWrapper moves=getMoves(msg); pokemon2Types=getTypePokemon(pokemon2); @@ -142,6 +148,7 @@ else if(players==1) { for(int i=0; i<4; i++) { random=rand.nextInt(movesList.size()); randomList2.add(movesList.get(random)); + movesList.remove(random); System.out.println(movesList.get(random)); } event.getChannel().sendMessage("You selected "+msg+". Your moves are "+randomList2.get(0)+", "+randomList2.get(1)+", "+randomList2.get(2)+" and "+randomList2.get(3)+ ". The battle has begun."); @@ -153,28 +160,54 @@ else if(event.getMessageContent().contains(COMMAND2) && players==2) { event.getChannel().sendMessage("Please put a word after the command"); } else if(msg.contains(pokemon1) && turn==1) { - turn=2; + hasMove=false; System.out.println(msg); String msg2=msg.replace(pokemon1, ""); System.out.println(msg2); + for(int i=0; i doubleDamageToTypes = pokemonType.getDamageRelations().getDoubleDamageTo(); + // for(int i=0; i halfDamageToTypes = pokemonType.getDamageRelations().getHalfDamageTo(); + //for(int i=0; i noDamageToTypes = pokemonType.getDamageRelations().getNoDamageTo(); + //for(int i=0; i doubleDamageFrom = null; + @SerializedName("double_damage_to") + @Expose + private List doubleDamageTo = null; + @SerializedName("half_damage_from") + @Expose + private List halfDamageFrom = null; + @SerializedName("half_damage_to") + @Expose + private List halfDamageTo = null; + @SerializedName("no_damage_from") + @Expose + private List noDamageFrom = null; + @SerializedName("no_damage_to") + @Expose + private List noDamageTo = null; + + public List getDoubleDamageFrom() { + return doubleDamageFrom; + } + + public void setDoubleDamageFrom(List doubleDamageFrom) { + this.doubleDamageFrom = doubleDamageFrom; + } + + public List getDoubleDamageTo() { + return doubleDamageTo; + } + + public void setDoubleDamageTo(List doubleDamageTo) { + this.doubleDamageTo = doubleDamageTo; + } + + public List getHalfDamageFrom() { + return halfDamageFrom; + } + + public void setHalfDamageFrom(List halfDamageFrom) { + this.halfDamageFrom = halfDamageFrom; + } + + public List getHalfDamageTo() { + return halfDamageTo; + } + + public void setHalfDamageTo(List halfDamageTo) { + this.halfDamageTo = halfDamageTo; + } + + public List getNoDamageFrom() { + return noDamageFrom; + } + + public void setNoDamageFrom(List noDamageFrom) { + this.noDamageFrom = noDamageFrom; + } + + public List getNoDamageTo() { + return noDamageTo; + } + + public void setNoDamageTo(List noDamageTo) { + this.noDamageTo = noDamageTo; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DamageRelations__1.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DamageRelations__1.java new file mode 100644 index 00000000..19e8b794 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DamageRelations__1.java @@ -0,0 +1,79 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import java.util.List; +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class DamageRelations__1 { + + @SerializedName("double_damage_from") + @Expose + private List doubleDamageFrom = null; + @SerializedName("double_damage_to") + @Expose + private List doubleDamageTo = null; + @SerializedName("half_damage_from") + @Expose + private List halfDamageFrom = null; + @SerializedName("half_damage_to") + @Expose + private List halfDamageTo = null; + @SerializedName("no_damage_from") + @Expose + private List noDamageFrom = null; + @SerializedName("no_damage_to") + @Expose + private List noDamageTo = null; + + public List getDoubleDamageFrom() { + return doubleDamageFrom; + } + + public void setDoubleDamageFrom(List doubleDamageFrom) { + this.doubleDamageFrom = doubleDamageFrom; + } + + public List getDoubleDamageTo() { + return doubleDamageTo; + } + + public void setDoubleDamageTo(List doubleDamageTo) { + this.doubleDamageTo = doubleDamageTo; + } + + public List getHalfDamageFrom() { + return halfDamageFrom; + } + + public void setHalfDamageFrom(List halfDamageFrom) { + this.halfDamageFrom = halfDamageFrom; + } + + public List getHalfDamageTo() { + return halfDamageTo; + } + + public void setHalfDamageTo(List halfDamageTo) { + this.halfDamageTo = halfDamageTo; + } + + public List getNoDamageFrom() { + return noDamageFrom; + } + + public void setNoDamageFrom(List noDamageFrom) { + this.noDamageFrom = noDamageFrom; + } + + public List getNoDamageTo() { + return noDamageTo; + } + + public void setNoDamageTo(List noDamageTo) { + this.noDamageTo = noDamageTo; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageFrom.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageFrom.java new file mode 100644 index 00000000..959b60c2 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageFrom.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class DoubleDamageFrom { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageFrom__1.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageFrom__1.java new file mode 100644 index 00000000..083c6a6e --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageFrom__1.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class DoubleDamageFrom__1 { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageTo.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageTo.java new file mode 100644 index 00000000..0be85918 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageTo.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class DoubleDamageTo { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageTo__1.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageTo__1.java new file mode 100644 index 00000000..e49cf09f --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/DoubleDamageTo__1.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class DoubleDamageTo__1 { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/GameIndex.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/GameIndex.java new file mode 100644 index 00000000..008d6c09 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/GameIndex.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class GameIndex { + + @SerializedName("game_index") + @Expose + private Integer gameIndex; + @SerializedName("generation") + @Expose + private Generation generation; + + public Integer getGameIndex() { + return gameIndex; + } + + public void setGameIndex(Integer gameIndex) { + this.gameIndex = gameIndex; + } + + public Generation getGeneration() { + return generation; + } + + public void setGeneration(Generation generation) { + this.generation = generation; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation.java new file mode 100644 index 00000000..708be8b1 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Generation { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation__1.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation__1.java new file mode 100644 index 00000000..e0599788 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation__1.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Generation__1 { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation__2.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation__2.java new file mode 100644 index 00000000..4cfb9227 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Generation__2.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Generation__2 { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageFrom.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageFrom.java new file mode 100644 index 00000000..104158fd --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageFrom.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class HalfDamageFrom { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageFrom__1.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageFrom__1.java new file mode 100644 index 00000000..7c9a3f12 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageFrom__1.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class HalfDamageFrom__1 { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageTo.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageTo.java new file mode 100644 index 00000000..781618c2 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageTo.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class HalfDamageTo { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageTo__1.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageTo__1.java new file mode 100644 index 00000000..f8a3fe46 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/HalfDamageTo__1.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class HalfDamageTo__1 { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Language.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Language.java new file mode 100644 index 00000000..cc77dce5 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Language.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Language { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Move.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Move.java new file mode 100644 index 00000000..41a34cc9 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Move.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Move { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/MoveDamageClass.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/MoveDamageClass.java new file mode 100644 index 00000000..e88f22fe --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/MoveDamageClass.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class MoveDamageClass { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Name.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Name.java new file mode 100644 index 00000000..f6d11732 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Name.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Name { + + @SerializedName("language") + @Expose + private Language language; + @SerializedName("name") + @Expose + private String name; + + public Language getLanguage() { + return language; + } + + public void setLanguage(Language language) { + this.language = language; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/NoDamageTo.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/NoDamageTo.java new file mode 100644 index 00000000..90896db2 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/NoDamageTo.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class NoDamageTo { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/PastDamageRelation.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/PastDamageRelation.java new file mode 100644 index 00000000..6bea02ba --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/PastDamageRelation.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class PastDamageRelation { + + @SerializedName("damage_relations") + @Expose + private DamageRelations__1 damageRelations; + @SerializedName("generation") + @Expose + private Generation__2 generation; + + public DamageRelations__1 getDamageRelations() { + return damageRelations; + } + + public void setDamageRelations(DamageRelations__1 damageRelations) { + this.damageRelations = damageRelations; + } + + public Generation__2 getGeneration() { + return generation; + } + + public void setGeneration(Generation__2 generation) { + this.generation = generation; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Pokemon.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Pokemon.java new file mode 100644 index 00000000..a6637d37 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Pokemon.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Pokemon { + + @SerializedName("pokemon") + @Expose + private Pokemon__1 pokemon; + @SerializedName("slot") + @Expose + private Integer slot; + + public Pokemon__1 getPokemon() { + return pokemon; + } + + public void setPokemon(Pokemon__1 pokemon) { + this.pokemon = pokemon; + } + + public Integer getSlot() { + return slot; + } + + public void setSlot(Integer slot) { + this.slot = slot; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/PokemonType.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/PokemonType.java new file mode 100644 index 00000000..1f2f5b33 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/PokemonType.java @@ -0,0 +1,123 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import java.util.List; +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class PokemonType { + + @SerializedName("damage_relations") + @Expose + private DamageRelations damageRelations; + @SerializedName("game_indices") + @Expose + private List gameIndices = null; + @SerializedName("generation") + @Expose + private Generation__1 generation; + @SerializedName("id") + @Expose + private Integer id; + @SerializedName("move_damage_class") + @Expose + private MoveDamageClass moveDamageClass; + @SerializedName("moves") + @Expose + private List moves = null; + @SerializedName("name") + @Expose + private String name; + @SerializedName("names") + @Expose + private List names = null; + @SerializedName("past_damage_relations") + @Expose + private List pastDamageRelations = null; + @SerializedName("pokemon") + @Expose + private List pokemon = null; + + public DamageRelations getDamageRelations() { + return damageRelations; + } + + public void setDamageRelations(DamageRelations damageRelations) { + this.damageRelations = damageRelations; + } + + public List getGameIndices() { + return gameIndices; + } + + public void setGameIndices(List gameIndices) { + this.gameIndices = gameIndices; + } + + public Generation__1 getGeneration() { + return generation; + } + + public void setGeneration(Generation__1 generation) { + this.generation = generation; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public MoveDamageClass getMoveDamageClass() { + return moveDamageClass; + } + + public void setMoveDamageClass(MoveDamageClass moveDamageClass) { + this.moveDamageClass = moveDamageClass; + } + + public List getMoves() { + return moves; + } + + public void setMoves(List moves) { + this.moves = moves; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getNames() { + return names; + } + + public void setNames(List names) { + this.names = names; + } + + public List getPastDamageRelations() { + return pastDamageRelations; + } + + public void setPastDamageRelations(List pastDamageRelations) { + this.pastDamageRelations = pastDamageRelations; + } + + public List getPokemon() { + return pokemon; + } + + public void setPokemon(List pokemon) { + this.pokemon = pokemon; + } + +} diff --git a/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Pokemon__1.java b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Pokemon__1.java new file mode 100644 index 00000000..205af6c6 --- /dev/null +++ b/src/main/java/org/jointheleague/modules/pojo/Pokemon/types/Pokemon__1.java @@ -0,0 +1,34 @@ + +package org.jointheleague.modules.pojo.Pokemon.types; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Pokemon__1 { + + @SerializedName("name") + @Expose + private String name; + @SerializedName("url") + @Expose + private String url; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} diff --git a/src/main/resources/config.json b/src/main/resources/config.json index df73bd17..35769090 100644 --- a/src/main/resources/config.json +++ b/src/main/resources/config.json @@ -1,4 +1,4 @@ { "channels": ["jake-m"], - "token": "ODA4MDQwODE4NzgyNjM0MDA0.YCAwpw._oa2a3_tYxvNgMIhqyzSjb7JBCU" + "token": "ODA4MDQwODE4NzgyNjM0MDA0.YCAwpw.PW2iMeqw-1TH79t9laDepNDzr9U" } From 7b0ad8c6b7104df50d51aa0ce5a10d1debbc48ff Mon Sep 17 00:00:00 2001 From: cheetah676 Date: Sun, 3 Oct 2021 11:32:52 -0700 Subject: [PATCH 06/13] done --- .../java/org/jointheleague/modules/PokemonBattle.java | 8 ++++---- src/main/resources/config.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index 099b8081..fcaddacc 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -110,8 +110,8 @@ public void handle(MessageCreateEvent event) throws APIException { for(int i=0; i<4; i++) { random=rand.nextInt(movesList.size()); randomList.add(movesList.get(random)); - movesList.remove(random); System.out.println(movesList.get(random)); + movesList.remove(random); } event.getChannel().sendMessage("You selected "+msg+". Your moves are "+randomList.get(0)+", "+randomList.get(1)+", "+randomList.get(2)+" and "+randomList.get(3)+ ". Waiting for second player."); } @@ -148,14 +148,14 @@ else if(players==1) { for(int i=0; i<4; i++) { random=rand.nextInt(movesList.size()); randomList2.add(movesList.get(random)); - movesList.remove(random); System.out.println(movesList.get(random)); + movesList.remove(random); } event.getChannel().sendMessage("You selected "+msg+". Your moves are "+randomList2.get(0)+", "+randomList2.get(1)+", "+randomList2.get(2)+" and "+randomList2.get(3)+ ". The battle has begun."); } } - else if(event.getMessageContent().contains(COMMAND2) && players==2) { - String msg = event.getMessageContent().replaceAll(" ", "").replace(COMMAND2, ""); + else if(event.getMessageContent().toLowerCase().contains(COMMAND2) && players==2) { + String msg = event.getMessageContent().replaceAll(" ", "").replace(COMMAND2, "").toLowerCase(); if (msg.equals("")) { event.getChannel().sendMessage("Please put a word after the command"); } diff --git a/src/main/resources/config.json b/src/main/resources/config.json index 35769090..6e6efede 100644 --- a/src/main/resources/config.json +++ b/src/main/resources/config.json @@ -1,4 +1,4 @@ { "channels": ["jake-m"], - "token": "ODA4MDQwODE4NzgyNjM0MDA0.YCAwpw.PW2iMeqw-1TH79t9laDepNDzr9U" + "token": "ODA4MDQwODE4NzgyNjM0MDA0.YCAwpw.pohddO_wrrfeuhxqd9T5Ia4v9HM" } From bccfca036b51aa7aef343561a26b1030a2c47bde Mon Sep 17 00:00:00 2001 From: cheetah676 Date: Sat, 9 Oct 2021 11:26:31 -0700 Subject: [PATCH 07/13] pokemon 2's types are being copied into pokemon 1's types --- .../jointheleague/modules/PokemonBattle.java | 27 +++++++++++++++---- src/main/resources/config.json | 2 +- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index fcaddacc..e1b2767c 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -61,6 +61,12 @@ public class PokemonBattle extends CustomMessageCreateListener { String[] pokemonTypesArray=new String[2]; String[] pokemon1Types=new String[2]; String[] pokemon2Types=new String[2]; +JsonArray pokemonTypes; +JsonObject pokemonType1; +String pokemonType1Name; +JsonObject pokemonType2; +String pokemonType2Name; +boolean getTypesPokemon2=false; public PokemonBattle (String channelName){ super(channelName); @@ -86,6 +92,7 @@ public void handle(MessageCreateEvent event) throws APIException { System.out.println(pokemon1Health); PokemonWrapper moves=getMoves(msg); pokemon1Types=getTypePokemon(pokemon1); + getTypesPokemon2=true; //moves.getMoves().get(0); for(int i=0; i Date: Sat, 9 Oct 2021 11:29:43 -0700 Subject: [PATCH 08/13] pokemon 2's types are being copied to pokemon 1's types --- src/main/java/org/jointheleague/modules/PokemonBattle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index e1b2767c..f46a239b 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -131,7 +131,7 @@ else if(players==1) { System.out.println(pokemon2Health); PokemonWrapper moves=getMoves(msg); pokemon2Types=getTypePokemon(pokemon2); - pokemon2Types=getTypePokemon(pokemon1); + //pokemon1Types=getTypePokemon(pokemon1); //moves.getMoves().get(0); movesList.clear(); for(int i=0; i Date: Sun, 17 Oct 2021 11:28:44 -0700 Subject: [PATCH 09/13] fixed type copying bug --- .../jointheleague/modules/PokemonBattle.java | 24 +++++++------------ src/main/resources/config.json | 2 +- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index f46a239b..e23b41a7 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -58,14 +58,8 @@ public class PokemonBattle extends CustomMessageCreateListener { double damageMultiplier=1; Random hpMultiplier=new Random(); int hpMultiplierInt; -String[] pokemonTypesArray=new String[2]; String[] pokemon1Types=new String[2]; String[] pokemon2Types=new String[2]; -JsonArray pokemonTypes; -JsonObject pokemonType1; -String pokemonType1Name; -JsonObject pokemonType2; -String pokemonType2Name; boolean getTypesPokemon2=false; public PokemonBattle (String channelName){ @@ -312,7 +306,7 @@ public int getHP(String pokemon) { System.out.println(hp.get(0)); int hpint=hp.get(0).asJsonObject().getInt("base_stat"); // PokemonWrapper pokemonWrapper=gson.fromJson(userJSON.toString(), PokemonWrapper.class); - return hpint+1000; + return hpint*3; } catch (MalformedURLException e) { System.out.println("url"); @@ -329,15 +323,13 @@ public int getHP(String pokemon) { public String[] getTypePokemon(String pokemon) { String requestURL = "https://pokeapi.co/api/v2/pokemon/" + pokemon+"/"; - if(getTypesPokemon2==true) { - //pokemonTypes.clear(); - //pokemonType1.clear(); - pokemonType1Name=""; - pokemonTypesArray[0]=""; - pokemonTypesArray[1]=""; - //pokemonType2.clear(); - pokemonType2Name=""; - } + JsonArray pokemonTypes; + JsonObject pokemonType1; + String pokemonType1Name; + JsonObject pokemonType2; + String pokemonType2Name; + String[] pokemonTypesArray=new String[2]; + try { URL url = new URL(requestURL); HttpURLConnection con = (HttpURLConnection) url.openConnection(); diff --git a/src/main/resources/config.json b/src/main/resources/config.json index b338aafe..91da4cd5 100644 --- a/src/main/resources/config.json +++ b/src/main/resources/config.json @@ -1,4 +1,4 @@ { "channels": ["jake-m"], - "token": "ODA4MDQwODE4NzgyNjM0MDA0.YCAwpw.vmH23BL1wxt7W_jb5kg5gayW5Gs" + "token": "ODA4MDQwODE4NzgyNjM0MDA0.YCAwpw.hVW2suTmdOOjVLtQTqhUqACV6eA" } From e8c966001af085e7030c59ddaed7b65404304f42 Mon Sep 17 00:00:00 2001 From: cheetah676 Date: Sat, 23 Oct 2021 11:37:50 -0700 Subject: [PATCH 10/13] added speed, made it repeat on end battle --- .../jointheleague/modules/PokemonBattle.java | 77 ++++++++++++++++--- 1 file changed, 67 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index e23b41a7..afa054cf 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -36,8 +36,9 @@ public class PokemonBattle extends CustomMessageCreateListener { private static final String COMMAND2="use"; private final Gson gson = new Gson(); List movesList=new ArrayList(); -boolean comma=false; -boolean hasMove=false; +boolean comma; +boolean hasMove; +boolean battleOver=true; String chars; String move; String pokemon1; @@ -49,18 +50,19 @@ public class PokemonBattle extends CustomMessageCreateListener { List randomList=new ArrayList(); List randomList2=new ArrayList(); int random; -int players=0; +int players; int turn=1; double power1; double power2; String type1; String type2; -double damageMultiplier=1; -Random hpMultiplier=new Random(); -int hpMultiplierInt; +int speed1; +int speed2; +double damageMultiplier; +//Random hpMultiplier=new Random(); +//int hpMultiplierInt; String[] pokemon1Types=new String[2]; String[] pokemon2Types=new String[2]; -boolean getTypesPokemon2=false; public PokemonBattle (String channelName){ super(channelName); @@ -70,8 +72,7 @@ public PokemonBattle (String channelName){ @Override public void handle(MessageCreateEvent event) throws APIException { // TODO Auto-generated method stub - if(event.getMessageContent().contains(COMMAND)) { - + if(event.getMessageContent().contains(COMMAND)&&battleOver==true) { //remove the command so we are only left with the search term String msg = event.getMessageContent().replaceAll(" ", "").replace(COMMAND, ""); @@ -83,10 +84,11 @@ public void handle(MessageCreateEvent event) throws APIException { //hpMultiplierInt=hpMultiplier.nextInt(2); //hpMultiplierInt+=2; pokemon1Health=getHP(pokemon1); + speed1=getSpeed(pokemon1); System.out.println(pokemon1Health); + System.out.println("Speed="+speed1); PokemonWrapper moves=getMoves(msg); pokemon1Types=getTypePokemon(pokemon1); - getTypesPokemon2=true; //moves.getMoves().get(0); for(int i=0; i Date: Sat, 30 Oct 2021 11:10:38 -0700 Subject: [PATCH 11/13] made only damage moves available, bot finished --- .../jointheleague/modules/PokemonBattle.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index afa054cf..d8339841 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -107,8 +107,14 @@ public void handle(MessageCreateEvent event) throws APIException { progress++; } } - movesList.add(move); //System.out.println(move); + try { + double j=getMovePower(move); + movesList.add(move); + } + catch (Exception e) { + System.out.println("no move power"); + } } for(int i=0; i<4; i++) { random=rand.nextInt(movesList.size()); @@ -149,7 +155,13 @@ else if(players==1) { progress++; } } - movesList.add(move); + try { + double j=getMovePower(move); + movesList.add(move); + } + catch (Exception e) { + System.out.println("no move power"); + } } for(int i=0; i<4; i++) { random=rand.nextInt(movesList.size()); @@ -412,7 +424,7 @@ public double getMovePower(String move) { JsonObject userJSON = ((JsonObject) repoReader.read()); con.disconnect(); double power=userJSON.getInt("power"); - System.out.println(power); + // System.out.println(power); // PokemonWrapper pokemonWrapper=gson.fromJson(userJSON.toString(), PokemonWrapper.class); return power; } From 23d564acfebd33d0e5619f265d6c87ee5295b827 Mon Sep 17 00:00:00 2001 From: cheetah676 Date: Sun, 31 Oct 2021 11:28:40 -0700 Subject: [PATCH 12/13] pull request next week --- .../jointheleague/modules/PokemonBattle.java | 125 +++++++++++++----- 1 file changed, 91 insertions(+), 34 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index d8339841..dda4f786 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -39,6 +39,7 @@ public class PokemonBattle extends CustomMessageCreateListener { boolean comma; boolean hasMove; boolean battleOver=true; +boolean damage=false; String chars; String move; String pokemon1; @@ -58,6 +59,7 @@ public class PokemonBattle extends CustomMessageCreateListener { String type2; int speed1; int speed2; +int realPokemon=-1; double damageMultiplier; //Random hpMultiplier=new Random(); //int hpMultiplierInt; @@ -75,10 +77,17 @@ public void handle(MessageCreateEvent event) throws APIException { if(event.getMessageContent().contains(COMMAND)&&battleOver==true) { //remove the command so we are only left with the search term String msg = event.getMessageContent().replaceAll(" ", "").replace(COMMAND, ""); - +try { + realPokemon=getValidURL(msg); + realPokemon++; +} +catch (Exception e){ + event.getChannel().sendMessage("Use a real pokemon"); +} if (msg.equals("")) { event.getChannel().sendMessage("Please put a word after the command"); - } else if(players==0) { + } else if(players==0 && realPokemon>0) { + realPokemon=-1; players=1; pokemon1=msg; //hpMultiplierInt=hpMultiplier.nextInt(2); @@ -108,23 +117,34 @@ public void handle(MessageCreateEvent event) throws APIException { } } //System.out.println(move); - try { - double j=getMovePower(move); - movesList.add(move); - } - catch (Exception e) { - System.out.println("no move power"); - } + //try { + // double j=getMovePower(move); + movesList.add(move); + //} + //catch (Exception e) { + //System.out.println("no move power"); + //} } for(int i=0; i<4; i++) { - random=rand.nextInt(movesList.size()); - randomList.add(movesList.get(random)); - System.out.println(movesList.get(random)); - movesList.remove(random); + damage=false; + while(damage==false) { + random=rand.nextInt(movesList.size()); + try { + double j=getMovePower(movesList.get(random)); + randomList.add(movesList.get(random)); + System.out.println(movesList.get(random)); + damage=true; + movesList.remove(random); + } + catch (Exception e) { + System.out.println("no move power"); + movesList.remove(random); + } + } } event.getChannel().sendMessage("You selected "+msg+". Your moves are "+randomList.get(0)+", "+randomList.get(1)+", "+randomList.get(2)+" and "+randomList.get(3)+ ". Waiting for second player."); } - else if(players==1) { + else if(players==1 && realPokemon>0) { players=2; pokemon2=msg; //hpMultiplierInt=hpMultiplier.nextInt(2); @@ -155,30 +175,44 @@ else if(players==1) { progress++; } } - try { - double j=getMovePower(move); + //try { + // double j=getMovePower(move); movesList.add(move); - } - catch (Exception e) { - System.out.println("no move power"); - } + //} + //catch (Exception e) { + //System.out.println("no move power"); + //} } for(int i=0; i<4; i++) { - random=rand.nextInt(movesList.size()); + damage=false; + while(damage==false) { + random=rand.nextInt(movesList.size()); + try { + double k=getMovePower(movesList.get(random)); randomList2.add(movesList.get(random)); System.out.println(movesList.get(random)); + damage=true; movesList.remove(random); } + catch(Exception e) { + System.out.println("no move power"); + movesList.remove(random); + } + } + } event.getChannel().sendMessage("You selected "+msg+". Your moves are "+randomList2.get(0)+", "+randomList2.get(1)+", "+randomList2.get(2)+" and "+randomList2.get(3)+ ". The battle has begun."); System.out.println("Speed="+speed2); if(speed1>speed2) { turn=1; + event.getChannel().sendMessage("It is "+pokemon1+"'s turn."); } else if(speed1 Date: Sat, 6 Nov 2021 10:28:25 -0700 Subject: [PATCH 13/13] help embed --- src/main/java/org/jointheleague/modules/PokemonBattle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jointheleague/modules/PokemonBattle.java b/src/main/java/org/jointheleague/modules/PokemonBattle.java index dda4f786..3032213e 100644 --- a/src/main/java/org/jointheleague/modules/PokemonBattle.java +++ b/src/main/java/org/jointheleague/modules/PokemonBattle.java @@ -68,7 +68,7 @@ public class PokemonBattle extends CustomMessageCreateListener { public PokemonBattle (String channelName){ super(channelName); -helpEmbed=new HelpEmbed("COMMAND", ""); +helpEmbed=new HelpEmbed("!pokemon 'pokemon'", "This command allows you to choose a pokemon. Once two players choose a pokemon, they can start battling by using the 'pokemon' use 'move' command."); } @Override