local wow = import "lib.libsonnet";
local mysql = import "../../../kube/mysql.libsonnet";

{
    q3k: wow {
        local sqlPassword = (std.split(importstr "secrets/plain/mysql-root-password", "\n"))[0],
        local soapPassword = (std.split(importstr "secrets/plain/soap-password", "\n"))[0],
        local panelSecret = (std.split(importstr "secrets/plain/panel-secret", "\n"))[0],
        local oauthSecret = (std.split(importstr "secrets/plain/oauth-secret", "\n"))[0],
        local motd = importstr "secrets/plain/motd.txt",

        local wow = self,
        local cfg = self.cfg,
        cfg+:: {
            namespace: "personal-q3k",
            prefix: "wow-",
            address: "185.236.240.62",
            db+: {
                // Run everything as mysql root, #yolo.
                local mkConfig = function(name) {
                    host: wow.mysql.svc.host,
                    port: wow.mysql.svc.port,
                    user: "root",
                    password: sqlPassword,
                    database: "acore_%s" % [name],
                },
                auth+: mkConfig("auth"),
                world+: mkConfig("world"),
                characters+: mkConfig("characters"),
            },
            panel+: {
                domain: "wow.q3k.org",
                soap+: {
                    username: "test1",
                    password: soapPassword,
                },
                secret: panelSecret,
                oauth+: {
                    clientID: "56403ef3-df6f-4893-b475-d6c18284ed42",
                    clientSecret: oauthSecret,
                },
                motd: motd,
            },
            overrides+: {
                worldserver: {
                    RealmZone: 8,
                    Motd: "Welcome to Pabianice. Enjoy your grind.",

                    "Rate.Drop.Item.Poor": 2,
                    "Rate.Drop.Item.Normal": 2,
                    "Rate.Drop.Item.Uncommon": 10,
                    "Rate.Drop.Item.Rare": 10,
                    "Rate.Drop.Item.Epic": 10,
                    "Rate.Drop.Item.Legendary": 10,
                    "Rate.Drop.Item.Artifact": 10,
                    "Rate.Drop.Item.Referenced": 10,
                    "Rate.Drop.Money": 10,
                    "Rate.XP.Kill": 5,
                    "Rate.XP.Explore": 5,
                    "Rate.XP.BattlegroundKill": 10,
                    "Rate.MoveSpeed": 2, 
                    "SkillGain.Crafting": 5,
                    "SkillGain.Defense": 5,
                    "SkillGain.Gathering": 5,
                    "SkillGain.Weapon": 5,

                    "MinPetitionSigns": 5,
                    "GM.AllowFriend": 1,
                },
                ahbot: {
                    "AuctionHouseBot.EnableSeller": 1,
                    "AuctionHouseBot.EnableBuyer": 1,
                    "AuctionHouseBot.Account": 21,
                    "AuctionHouseBot.GUID": 12,
                    "AuctionHouseBot.VendorItems": 1,
                    "AuctionHouseBot.VendorTradeGoods": 1,
                    "AuctionHouseBot.OtherItems": 1,
                    "AuctionHouseBot.OtherTradeGoods": 1,
                    "AuctionHouseBot.ItemsPerCycle": 1000,
                },
            },
        },

        // Run a single shitty database.
        mysql: mysql {
            cfg+:: {
                namespace: cfg.namespace,
                appName: "wow",
                prefix: cfg.prefix,
                password: sqlPassword,
                user: "acore",
            },
        },
    },
}
