159 lines
4.0 KiB
JavaScript
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
|
|
],
|
|
},
|
|
};
|