diff --git a/Discord/src/smallEvents/shop.ts b/Discord/src/smallEvents/shop.ts new file mode 100644 index 000000000..e363bab55 --- /dev/null +++ b/Discord/src/smallEvents/shop.ts @@ -0,0 +1,39 @@ +import {ReactionCollectorCreationPacket} from "../../../Lib/src/packets/interaction/ReactionCollectorPacket"; +import {PacketContext} from "../../../Lib/src/packets/DraftBotPacket"; +import {DiscordCache} from "../bot/DiscordCache"; +import {DraftbotSmallEventEmbed} from "../messages/DraftbotSmallEventEmbed"; +import {StringUtils} from "../utils/StringUtils"; +import {DiscordCollectorUtils} from "../utils/DiscordCollectorUtils"; +import {ReactionCollectorMerchantData} from "../../../Lib/src/packets/interaction/ReactionCollectorMerchant"; +import {RandomUtils} from "../../../Lib/src/utils/RandomUtils"; +import {KeycloakUtils} from "../../../Lib/src/keycloak/KeycloakUtils"; +import {keycloakConfig} from "../bot/DraftBotShard"; +import {SmallEventShopPacket} from "../../../Lib/src/packets/smallEvents/SmallEventShopPacket"; + +export async function shopCollector(packet: ReactionCollectorCreationPacket, context: PacketContext): Promise { + const interaction = DiscordCache.getInteraction(context.discord!.interaction)!; + const data = packet.data.data as ReactionCollectorMerchantData; + const gender = RandomUtils.draftbotRandom.bool() ? "m" : "f"; + const name = StringUtils.getRandomTranslation("smallEvents:shop.names", interaction.userLanguage, {context: gender}); + + const embed = new DraftbotSmallEventEmbed( + "shop", + StringUtils.getRandomTranslation("smallEvents:shop.intro", interaction.userLanguage, {context: gender, name}) + + StringUtils.getRandomTranslation("smallEvents:shop.end", interaction.userLanguage, { + item: /* TODO: Renvoyer l'item avec ses stats etc */, + price: data.price, + type: data.item.category + }), + interaction.user, + interaction.userLanguage + ); + + await DiscordCollectorUtils.createAcceptRefuseCollector(interaction, embed, packet, context); +} + +export async function shopResult(packet: SmallEventShopPacket, context: PacketContext): Promise { + const user = (await KeycloakUtils.getUserByKeycloakId(keycloakConfig, context.keycloakId!))!; + const interaction = DiscordCache.getButtonInteraction(context.discord!.buttonInteraction!); + + /* TODO : Renvoyer une réponse/Trouver les textes ?? */ +} \ No newline at end of file diff --git a/Lang/fr/smallEvents.json b/Lang/fr/smallEvents.json index 179724796..b41f5a428 100644 --- a/Lang/fr/smallEvents.json +++ b/Lang/fr/smallEvents.json @@ -602,15 +602,15 @@ "before_search_format": "{{seIntro}}{{intro}}. {{searchAction}}.\n\n:telescope: *{{search}}*.", "after_search_format": "{{oldMessage}}\n\n{{actionIntro}}, {{action}} **{{specific}}**. {{outro}}.", "intro": [ - "vous rencontrez un oracle prétendant se nommer **{{name}}**", - "un homme vous semble étrange, alors vous allez à sa rencontre. Il dit être un oracle du nom de **{{name}}**", - "vous rencontrez un oracle s'appelant **{{name}}**", - "vous passez à côté d'un oracle qui vous interpelle. Il dit s'appeler **{{name}}**", - "vous êtes interpelé par un homme disant s'appeler **{{name}}**", - "un oracle du nom de **{{name}}** vous apostrophe", - "un étranger prétendant s'appeler **{{name}}** vous demande d'approcher", - "un homme surgissant de nulle part court vers vous et se présente sous le nom de **{{name}}**", - "un inconnu suspect vous demande d'approcher, ce après quoi il vous dit s'appeler **{{name}}**" + "vous rencontrez un oracle prétendant se nommer **{{{name}}}**", + "un homme vous semble étrange, alors vous allez à sa rencontre. Il dit être un oracle du nom de **{{{name}}}**", + "vous rencontrez un oracle s'appelant **{{{name}}}**", + "vous passez à côté d'un oracle qui vous interpelle. Il dit s'appeler **{{{name}}}**", + "vous êtes interpelé par un homme disant s'appeler **{{{name}}}**", + "un oracle du nom de **{{{name}}}** vous apostrophe", + "un étranger prétendant s'appeler **{{{name}}}** vous demande d'approcher", + "un homme surgissant de nulle part court vers vous et se présente sous le nom de **{{{name}}}**", + "un inconnu suspect vous demande d'approcher, ce après quoi il vous dit s'appeler **{{{name}}}**" ], "searchAction": [ "Il vous dit qu'il peut vous donner des informations sur le ciel, mais qu'il a besoin de temps pour l'observer", @@ -1500,5 +1500,59 @@ "nothing": "Vous soulevez doucement le gobelet $t(smallEvents:gobletsGame.goblets.{{goblet}}.name) et remarquez qu'il n'y a rien dessous. Déçu, vous repartez tristement en vous disant que vous aurez peut-être plus de chance une autre fois.", "end": "Devant votre manque de réaction, l'homme a la mauvaise idée d'essayer de vous voler. Remarquant sa manoeuvre, vous intervenez, mais vous êtes rapidement surpris de la force de l'homme qui parvient à se dégager d'un brusque mouvement, avant de s'enfuir. Vous vous en sortez avec une légère blessure **{{quantity}} {emote:unitValues.lostHealth}**." } + }, + "shop": { + "intro_m": [ + "Alors que vous voyagez tranquillement, vous rencontrez {{name}}. Ce dernier est un marchand ambulant, et vous propose une offre spéciale.", + "Tandis que vous avancez tranquillement sur votre route, vous tombez nez à nez avec {{name}}, qui vous propose rapidement une offre alléchante.", + "Alors que vous vous apprêtez à vous remettre en marche après une petite pause, un homme se présentant comme \"{{name}} - marchand ambulant\" vous propose un échange.", + "Au détour d'un rocher, vous tombez nez à nez avec un marchand ambulant nommé {{name}}, qui semble vendre des choses fortes intéressantes.", + "Alors que vous vous baladez tranquillement, une charrette arborant l'enseigne \"{{name}} - super marchand ambulant d'items\" apparaît devant vous. Une transaction s'amorce immédiatement.", + "À un certain point de votre voyage, un marchand vous interpelle. Il dit s'appeler {{name}} et avoir des objets pouvant vous aider pendant votre aventure.", + "Après de longues heures de marche, un homme vous aborde. Vous apprenez qu'il se nomme {{name}} – marchand de première qualité. Il vous montre rapidement un de ses nombreux objets.", + "Au cours d'une petite pause contre un arbre, un homme vient à vous et se présente comme étant marchand ambulant. L'homme qui se nomme {{name}} semble proposer une offre alléchante." + ], + "intro_f": [ + "Tandis que vous avancez tranquillement sur votre route, vous tombez nez à nez avec {{name}} qui vous propose rapidement une offre alléchante.", + "En parcourant les routes vous rencontrez souvent des marchands ambulants. Aujourd'hui c'est une marchande, nommée {{name}} qui vous propose son offre.", + "Pendant votre voyage, une marchande vous interpelle. Elle dit s'appeler {{name}} et avoir des objets pouvant vous aider pendant votre aventure.", + "Tandis que vous avancez tranquillement sur votre route, vous croisez une charrette dans laquelle se trouve une marchande du nom de {{name}}. Celle-ci vous propose de lui acheter l'un de ses objets, vous affirmant qu'il pourrait vous être utile dans votre aventure." + ], + "end": "\n\n{{item}} | `{{price}}\uD83D\uDCB0`\n\n**Type :** {{type}}", + "types": [ + "Arme", + "Armure/Bouclier", + "Potion", + "Objet" + ], + "names_m": [ + "Terry", + "Marco", + "Didier", + "Bernard", + "Georges", + "Louis", + "Kilton", + "Kikolou", + "Araj", + "Lavio", + "Bugri", + "Faras", + "Finn", + "Russel", + "Ullure", + "Vivian", + "Belethor" + ], + "names_f": [ + "Karine", + "Cremia", + "Fouyaya", + "Ember", + "Embry", + "Emirel", + "Fressah", + "Ullure" + ] } } \ No newline at end of file