// Komandy, který jenom pošlou random hovno a jsou nějakým způsobem ovlivněný RNG

import { Modul } from "../utils/types";

const ftipy: string[] = require("../../res/ftipy.json");
const mista = ["na šroťák", "na vrakoviště", "na smetiště", "do kontejneru", "na skládku", "do kriminálu", "pod most", "do sběru", "do hospody", "do najt klubu", "na folmavu"];
const uz = ["ne", "jeste ne", "jiz brzy", "za chvili", "vubec", "nikdy", "za dlouho", "za 5 let", "zejtra", "davno", "jo", "mozna"];

const rand = (max: number) => Math.floor(Math.random() * max);

const choose = (arr: string[]) => arr[rand(arr.length)];

const exp: Modul = {
  more_komandy: {

    vtip: {
      als: ["ftip"],
      run: () => choose(ftipy)
    },

    kam: () => choose(mista),

    je: {
      cd: 1800,
      arg: "kdo/co",
      run: () => rand(2) ? "jo je" : "ne neni"
    },

    ma: {
      arg: "kdo/co",
      run: () => rand(2) ? "jo ma" : "ne nema"
    },

    nazor: {
      arg: "koho/co",
      run: (_, arg) => rand(2) ? `mam rad ${arg}` : `${arg} je picovina`
    },

    si: {
      als: ["jsi"],
      run: (_, co) => {
        const corict = co.replace(/\?/g, "");
        return rand(2) ? `jo sem ${corict}` : `ne nejsem ${corict}`;
      }
    },

    mas: (_, co) => {
      const corict = co.replace(/\?/g, "");
      return rand(2) ? `jo mam ${corict}` : `ne nemam ${corict}`;
    },

    jakmoc: {
      cd: 1800,
      run: (_, co) => `${co} na ${rand(101)}%`
    },


    jakmoc0: {
      cd: 1800,
      run: (_, co) => `${co} na ${rand(1001)}‰`
    },

    uz: {
      als: ["uz?"],
      run: () => choose(uz)
    },

    vyber: {
      arg: "co (odděleno čárkami nebo \"|\")",
      run: (_, arg) => {
        if (!arg.length) return "co vole";
        const moznosti = arg.split(arg.indexOf("|") > -1 ? "|" : ",").filter(m => m.length);
        return choose(moznosti) || "kokot";
      }
    }
  }
};

module.exports = exp;
