// POSITIONING FNS // floors prevent subpixel rendering which looks trash const menuWidth = () => window.innerWidth; const menuHeight = () => Math.floor(window.innerHeight * 0.05); const combatWidth = () => window.innerWidth; const combatHeight = () => window.innerHeight - menuHeight(); const combatY = () => menuHeight(); const combatX = () => 0; const crypListWidth = () => Math.floor(window.innerWidth * 0.2); const crypListHeight = () => window.innerHeight - menuHeight(); const cryplistRowHeight = cryps => crypListHeight() / cryps.length; const crypListY = () => menuHeight(); const crypListX = () => 0; const gameListWidth = () => Math.floor(window.innerWidth * 0.2); const gameListHeight = () => Math.floor(window.innerHeight / 10); const gameListX = () => crypListWidth(); const gameListY = i => menuHeight() + (gameListHeight() * i); const logWidth = () => Math.floor(combatWidth() * 0.2); const logHeight = () => combatHeight(); const logY = () => menuHeight(); const logX = () => combatWidth() - logWidth(); module.exports = { TEXT: { NORMAL: { fontFamily: 'monospace', fontSize: 16, color: '#ffffff' }, HEADER: { fontFamily: 'monospace', fontSize: 24, color: '#ffffff', fontStyle: 'bold' }, }, POSITIONS: { MENU: { width: menuWidth, height: menuHeight, }, CRYP_LIST: { x: crypListX, y: crypListY, width: crypListWidth, height: crypListHeight, rowHeight: cryplistRowHeight, rowWidth: crypListWidth, }, COMBAT: { x: combatX, y: combatY, width: combatWidth, height: combatHeight, LOG: { x: logX, y: logY, width: logWidth, height: logHeight, }, }, GAME_LIST: { x: gameListX, y: gameListY, width: gameListWidth, height: gameListHeight, }, }, COLOURS: { BLUE: 0x004bfe, CYAN: 0x27e7c0, PURPLE: 0x61008c, YELLOW: 0xfdfe02, ORANGE: 0xff9215, PINK: 0xe766b6, GRAY: 0x9d9ea0, LBLUE: 0x87c6f2, GREEN: 0x166c4f, BROWN: 0x583108, }, SKILLS: { LEARNABLE: [ 'Attack', // ----------------- // Nature // ----------------- 'Block', // reduce dmg 'Parry', // avoid all dmg 'Snare', // 'Paralyse', 'Strangle', // physical dot and disable 'Stun', 'Evade', // actively evade 'Evasion', // adds evasion to cryp // ----------------- // Technology // ----------------- // 'Replicate', // 'Swarm', // 'Orbit', // 'Repair', // 'Scan', // track? // ----------------- // Nonviolence // ----------------- 'Heal', 'Triage', // hot // 'TriageTick', 'Throw', // no dmg stun', adds vulnerable 'Charm', 'Calm', 'Rez', // ------------------- // Destruction // ------------------- 'Blast', 'Amplify', 'Decay', // dot // 'DecayTick', // dot 'Drain', // 'DrainTick', 'Curse', 'Plague', // aoe dot 'Ruin', // aoe // ----------------- // Purity // ----------------- 'Empower', 'Slay', 'Shield', 'Silence', 'Inquiry', 'Purify', 'Purge', // '// Precision', // ----------------- // Chaos // ----------------- 'Banish', 'Hex', 'Fear', 'Taunt', 'Pause', // speed slow ], }, };