Search in sources :

Example 1 with Coord

use of de.tectoast.emolga.utils.records.Coord in project Emolga by TecToast.

the class PickCommand method aslS10Doc.

private static void aslS10Doc(Tierlist tierlist, String pokemon, Draft d, long mem, String tier, int effectiveRound) {
    JSONObject league = getEmolgaJSON().getJSONObject("drafts").getJSONObject(d.name);
    String sid = league.getString("sid");
    RequestBuilder b = new RequestBuilder(sid);
    Coord c = getTierlistLocation(pokemon, tierlist);
    logger.info("c.toString() = {}", c);
    logger.info("c.valid() = {}", c.valid());
    if (c.valid())
        b.addBGColorChange(league.getInt("tierlist"), c.x() * 2 + 2, c.y() + 5, convertColor(0xFF0000));
    Coord cengl = getTierlistLocation(pokemon, tierlist.tiercolumnsEngl);
    if (cengl.valid())
        b.addBGColorChange(league.getInt("tierlistengl"), cengl.x() * 2 + 2, cengl.y() + 5, convertColor(0xFF0000));
    Integer points = tierlist.prices.get(tier);
    Comparator<DraftPokemon> comparator = Comparator.comparing(p -> tierlist.order.indexOf(p.getTier()));
    Comparator<DraftPokemon> finalComp = comparator.thenComparing(p -> p.name);
    b.addAll("Teamseite HR!B%d".formatted(league.getLongList("table").indexOf(mem) * 15 + 4), d.picks.get(mem).stream().sorted(finalComp).map(mon -> new ArrayList<Object>(Arrays.asList(mon.getTier(), mon.getName(), getDataJSON().getJSONObject(getSDName(mon.getName())).getJSONObject("baseStats").getInt("spe")))).collect(Collectors.toList()));
    int rr = effectiveRound - 1;
    logger.info("d.originalOrder = {}", d.originalOrder);
    logger.info("effectiveRound = {}", effectiveRound);
    logger.info("mem = {}", mem);
    int index = d.originalOrder.get(effectiveRound).indexOf(mem);
    logger.info("index = {}", index);
    b.addRow("Draft!%s%d".formatted(getAsXCoord((rr % 6) * 4 + 3), (rr / 6) * 10 + 4 + index), Arrays.asList(pokemon, points));
    b.execute();
}
Also used : Coord(de.tectoast.emolga.utils.records.Coord) JSONObject(org.jsolf.JSONObject) RequestBuilder(de.tectoast.emolga.utils.RequestBuilder) DraftPokemon(de.tectoast.emolga.utils.draft.DraftPokemon) JSONObject(org.jsolf.JSONObject)

Example 2 with Coord

use of de.tectoast.emolga.utils.records.Coord in project Emolga by TecToast.

the class PickCommand method ndsdoc.

public static void ndsdoc(Tierlist tierlist, String pokemon, Draft d, long mem, String tier) {
    JSONObject league = getEmolgaJSON().getJSONObject("drafts").getJSONObject(d.name);
    // logger.info(d.order.get(d.round).stream().map(Member::getEffectiveName).collect(Collectors.joining(", ")));
    RequestBuilder b = new RequestBuilder(league.getString("sid"));
    String teamname = league.getJSONObject("teamnames").getString(mem);
    String sdName = getSDName(pokemon);
    JSONObject o = getDataJSON().getJSONObject(sdName);
    int i = d.picks.get(mem).size() + 14;
    Coord tl = getTierlistLocation(pokemon, tierlist);
    String gen5Sprite = getGen5Sprite(o);
    b.addSingle(teamname + "!B" + i, gen5Sprite).addSingle(teamname + "!D" + i, pokemon).addSingle("Tierliste!" + getAsXCoord(tl.x() * 6 + 6) + (tl.y() + 4), "='" + teamname + "'!B2");
    List<Object> t = o.getStringList("types").stream().map(s -> getTypeIcons().getString(s)).collect(Collectors.toCollection(LinkedList::new));
    if (t.size() == 1)
        t.add("/");
    b.addRow(teamname + "!F" + i, t);
    b.addSingle(teamname + "!H" + i, o.getJSONObject("baseStats").getInt("spe"));
    int pointsNeeded = tierlist.getPointsNeeded(pokemon);
    b.addSingle(teamname + "!I" + i, pointsNeeded);
    b.addSingle(teamname + "!J" + i, "2");
    b.addRow(teamname + "!L" + i, Arrays.asList(canLearnNDS(sdName, "stealthrock"), canLearnNDS(sdName, "defog"), canLearnNDS(sdName, "rapidspin"), canLearnNDS(sdName, "voltswitch", "uturn", "flipturn", "batonpass", "teleport")));
    int numInRound = d.originalOrder.get(d.round).indexOf(mem) + 1;
    b.addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5 - 3), numInRound * 5 + 2), "《《《《").addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5 - 1), numInRound * 5 + 2), pokemon).addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5), numInRound * 5 + 1), gen5Sprite).addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5), numInRound * 5 + 3), pointsNeeded);
    logger.info("d.members.size() = " + d.members.size());
    logger.info("d.order.size() = " + d.order.get(d.round).size());
    logger.info("d.members.size() - d.order.size() = " + numInRound);
    // if (d.members.size() - d.order.get(d.round).size() != 1 && isEnabled)
    b.execute();
}
Also used : JSONObject(org.jsolf.JSONObject) java.util(java.util) Logger(org.slf4j.Logger) DraftPokemon(de.tectoast.emolga.utils.draft.DraftPokemon) GuildCommandEvent(de.tectoast.emolga.commands.GuildCommandEvent) CommandCategory(de.tectoast.emolga.commands.CommandCategory) LoggerFactory(org.slf4j.LoggerFactory) RequestBuilder(de.tectoast.emolga.utils.RequestBuilder) Member(net.dv8tion.jda.api.entities.Member) TextChannel(net.dv8tion.jda.api.entities.TextChannel) Draft.getIndex(de.tectoast.emolga.utils.draft.Draft.getIndex) Tierlist(de.tectoast.emolga.utils.draft.Tierlist) Collectors(java.util.stream.Collectors) Command(de.tectoast.emolga.commands.Command) Coord(de.tectoast.emolga.utils.records.Coord) Draft(de.tectoast.emolga.utils.draft.Draft) com.google.api.services.sheets.v4.model(com.google.api.services.sheets.v4.model) Nullable(javax.annotation.Nullable) Coord(de.tectoast.emolga.utils.records.Coord) JSONObject(org.jsolf.JSONObject) RequestBuilder(de.tectoast.emolga.utils.RequestBuilder) JSONObject(org.jsolf.JSONObject)

Example 3 with Coord

use of de.tectoast.emolga.utils.records.Coord in project Emolga by TecToast.

the class SwitchCommand method ndsdoc.

public static void ndsdoc(Tierlist tierlist, Draft d, long mem, DraftPokemon oldmon, DraftPokemon newmon) {
    JSONObject league = getEmolgaJSON().getJSONObject("drafts").getJSONObject(d.name);
    logger.info("oldmon = {}", oldmon);
    logger.info("newmon = {}", newmon);
    // logger.info(d.order.get(d.round).stream().map(Member::getEffectiveName).collect(Collectors.joining(", ")));
    RequestBuilder b = new RequestBuilder(league.getString("sid"));
    String teamname = league.getJSONObject("teamnames").getString(mem);
    String pokemon = newmon.getName();
    String sdName = getSDName(pokemon);
    JSONObject o = getDataJSON().getJSONObject(sdName);
    int i = d.picks.get(mem).indexOf(newmon) + 15;
    Coord tl = getTierlistLocation(pokemon, tierlist);
    String oldmonName = oldmon.getName();
    Coord tlold = getTierlistLocation(oldmonName, tierlist);
    String gen5Sprite = getGen5Sprite(o);
    b.addSingle(teamname + "!B" + i, gen5Sprite).addSingle(teamname + "!D" + i, pokemon).addSingle("Tierliste!" + getAsXCoord(tl.x() * 6 + 6) + (tl.y() + 4), "='" + teamname + "'!B2").addSingle("Tierliste!" + getAsXCoord(tlold.x() * 6 + 6) + (tlold.y() + 4), "-frei-");
    List<Object> t = o.getStringList("types").stream().map(s -> getTypeIcons().getString(s)).collect(Collectors.toCollection(LinkedList::new));
    if (t.size() == 1)
        t.add("/");
    b.addRow(teamname + "!F" + i, t);
    b.addSingle(teamname + "!H" + i, o.getJSONObject("baseStats").getInt("spe"));
    b.addSingle(teamname + "!I" + i, tierlist.getPointsNeeded(pokemon));
    b.addSingle(teamname + "!J" + i, "2");
    b.addRow(teamname + "!L" + i, Arrays.asList(canLearnNDS(sdName, "stealthrock"), canLearnNDS(sdName, "defog"), canLearnNDS(sdName, "rapidspin"), canLearnNDS(sdName, "voltswitch", "uturn", "flipturn", "batonpass", "teleport")));
    int numInRound = d.originalOrder.get(d.round).indexOf(mem) + 1;
    b.addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5 - 2), numInRound * 5 + 1), "》》》》").addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5 - 3), numInRound * 5 + 1), oldmonName).addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5 - 4), numInRound * 5 + 1), getGen5Sprite(oldmonName)).addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5 - 4), numInRound * 5 + 3), tierlist.prices.get(oldmon.getTier()));
    b.addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5 - 3), numInRound * 5 + 2), "《《《《").addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5 - 1), numInRound * 5 + 2), pokemon).addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5), numInRound * 5 + 1), gen5Sprite).addSingle("Draft!%s%d".formatted(getAsXCoord(d.round * 5), numInRound * 5 + 3), tierlist.prices.get(newmon.getTier()));
    logger.info("d.members.size() = " + d.members.size());
    logger.info("d.order.size() = " + d.order.get(d.round).size());
    logger.info("d.members.size() - d.order.size() = " + numInRound);
    // if (d.members.size() - d.order.get(d.round).size() != 1 && isEnabled)
    b.execute();
}
Also used : IntStream(java.util.stream.IntStream) JSONObject(org.jsolf.JSONObject) Arrays(java.util.Arrays) Logger(org.slf4j.Logger) DraftPokemon(de.tectoast.emolga.utils.draft.DraftPokemon) GuildCommandEvent(de.tectoast.emolga.commands.GuildCommandEvent) CommandCategory(de.tectoast.emolga.commands.CommandCategory) LoggerFactory(org.slf4j.LoggerFactory) RequestBuilder(de.tectoast.emolga.utils.RequestBuilder) Member(net.dv8tion.jda.api.entities.Member) TextChannel(net.dv8tion.jda.api.entities.TextChannel) Draft.getIndex(de.tectoast.emolga.utils.draft.Draft.getIndex) Tierlist(de.tectoast.emolga.utils.draft.Tierlist) Collectors(java.util.stream.Collectors) TimeUnit(java.util.concurrent.TimeUnit) Command(de.tectoast.emolga.commands.Command) Pair(net.dv8tion.jda.internal.utils.tuple.Pair) List(java.util.List) Coord(de.tectoast.emolga.utils.records.Coord) Draft(de.tectoast.emolga.utils.draft.Draft) Optional(java.util.Optional) LinkedList(java.util.LinkedList) Coord(de.tectoast.emolga.utils.records.Coord) JSONObject(org.jsolf.JSONObject) RequestBuilder(de.tectoast.emolga.utils.RequestBuilder) JSONObject(org.jsolf.JSONObject)

Aggregations

RequestBuilder (de.tectoast.emolga.utils.RequestBuilder)3 DraftPokemon (de.tectoast.emolga.utils.draft.DraftPokemon)3 Coord (de.tectoast.emolga.utils.records.Coord)3 JSONObject (org.jsolf.JSONObject)3 Command (de.tectoast.emolga.commands.Command)2 CommandCategory (de.tectoast.emolga.commands.CommandCategory)2 GuildCommandEvent (de.tectoast.emolga.commands.GuildCommandEvent)2 Draft (de.tectoast.emolga.utils.draft.Draft)2 Draft.getIndex (de.tectoast.emolga.utils.draft.Draft.getIndex)2 Tierlist (de.tectoast.emolga.utils.draft.Tierlist)2 Collectors (java.util.stream.Collectors)2 Member (net.dv8tion.jda.api.entities.Member)2 TextChannel (net.dv8tion.jda.api.entities.TextChannel)2 Logger (org.slf4j.Logger)2 LoggerFactory (org.slf4j.LoggerFactory)2 com.google.api.services.sheets.v4.model (com.google.api.services.sheets.v4.model)1 java.util (java.util)1 Arrays (java.util.Arrays)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1