NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Lagom-flw:1.2.0.0.3 // @namespace http://openuserjs.org/users/Lagom // @version 1.0 // @description flw:1.2.0.0.3 // @author Lagom // @email lagomscripts@gmail.com // @license AGPL-3.0-or-later // @copyright 2024, Lagom (https://openuserjs.org/users/Lagom) // @codigo Conteudo feito em linguagem javascript com base em EcmaScript // @match http://*/* // @grant GM_getResourceText // @grant GM_addStyle // @grant GM_getValue // @grant unsafeWindow // ==/UserScript== (function () { "use strict"; function handleBuilding() { const timeZone = "Europe/Lisbon"; const TROOPS = [ { unit: "spear", wood: 50, clay: 30, iron: 10, population: 1, offensive_strength: 10, general_defense: 15, cavalry_defense: 45, archer_defense: 20, speed: 18, booty: 25, }, { unit: "sword", wood: 30, clay: 30, iron: 70, population: 1, offensive_strength: 25, general_defense: 50, cavalry_defense: 15, archer_defense: 40, speed: 22, booty: 15, }, { unit: "axe", wood: 60, clay: 30, iron: 40, population: 1, offensive_strength: 40, general_defense: 10, cavalry_defense: 5, archer_defense: 10, speed: 18, booty: 10, }, { unit: "archer", wood: 100, clay: 30, iron: 60, population: 1, offensive_strength: 15, general_defense: 50, cavalry_defense: 40, archer_defense: 5, speed: 18, booty: 10, }, { unit: "spy", wood: 50, clay: 50, iron: 20, population: 2, offensive_strength: 0, general_defense: 2, cavalry_defense: 1, archer_defense: 2, speed: 9, booty: 0, }, { unit: "light", wood: 125, clay: 100, iron: 250, population: 4, offensive_strength: 130, general_defense: 30, cavalry_defense: 40, archer_defense: 30, speed: 10, booty: 80, }, { unit: "mountedarcher", wood: 250, clay: 100, iron: 150, population: 5, offensive_strength: 120, general_defense: 40, cavalry_defense: 30, archer_defense: 50, speed: 10, booty: 50, }, { unit: "heavy", wood: 200, clay: 150, iron: 600, population: 6, offensive_strength: 150, general_defense: 200, cavalry_defense: 80, archer_defense: 180, speed: 11, booty: 50, }, { unit: "ram", wood: 300, clay: 200, iron: 200, population: 5, offensive_strength: 2, general_defense: 20, cavalry_defense: 50, archer_defense: 20, speed: 30, booty: 0, }, { unit: "catapult", wood: 320, clay: 400, iron: 100, population: 8, offensive_strength: 100, general_defense: 100, cavalry_defense: 50, archer_defense: 100, speed: 30, booty: 0, }, { unit: "knight", wood: 20, clay: 20, iron: 40, population: 10, offensive_strength: 150, general_defense: 250, cavalry_defense: 400, archer_defense: 150, speed: 10, booty: 100, }, { unit: "snob", wood: 40000, clay: 50000, iron: 50000, population: 100, offensive_strength: 30, general_defense: 100, cavalry_defense: 50, archer_defense: 100, speed: 35, booty: 0, }, { unit: "militia", wood: 0, clay: 0, iron: 0, population: 0, offensive_strength: 5, general_defense: 15, cavalry_defense: 45, archer_defense: 25, speed: 0.02, booty: 0, }, ]; const STRATEGY_CODE = { f1: { tabName: "f1", allowedTroops: ["axe", "light", "ram", "catapult"], message: "Full", attackStrategy: "Ataque com todas as tropas possiveis!", }, f2: { tabName: "f2", allowedTroops: ["axe", "light", "ram", "catapult", "snob"], message: "1|Nobre", attackStrategy: "Ataque com todas as tropas possiveis!", }, f3: { tabName: "f3", allowedTroops: ["axe", "light", "ram", "catapult", "snob"], message: "3|Nobre", attackStrategy: "3 quartos no primeiro ataque + arietes e catapultas full e o restante das tropas dividido em mais 3 nobres", }, f4: { tabName: "f4", allowedTroops: ["axe", "light", "ram", "catapult", "snob"], message: "2|Nobre", attackStrategy: "Dividir em dois ataques de nobres, porém a catapulta e arietes vão todos no primeiro ataque", }, }; const ATTACK_STORE_NAME = "tribal-attacks-store"; const memoIdsError = []; const tabNames = []; const attackQueue = []; let openingTab = false; } handleBuilding(); })();