mnml/client/src/scenes/constants.js
2018-11-21 19:34:10 +11:00

159 lines
4.0 KiB
JavaScript

// 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
],
},
};