mirror of
https://github.com/morbalint/kem2karakterlap.git
synced 2026-07-17 15:23:48 +00:00
244 lines
7.2 KiB
TypeScript
244 lines
7.2 KiB
TypeScript
import {RenderTextFieldFunc} from "./helpers";
|
|
|
|
interface PreparedSpellsParams {
|
|
addTextField: RenderTextFieldFunc;
|
|
prefix: string;
|
|
varazslatszint: number;
|
|
xOffset: number;
|
|
yOffset: number;
|
|
max: number;
|
|
hasBonusz?: boolean;
|
|
}
|
|
|
|
function renderPreparedSpells(
|
|
{addTextField, prefix, varazslatszint, xOffset, yOffset, max, hasBonusz}: PreparedSpellsParams) {
|
|
addTextField({
|
|
name: `${prefix}_${varazslatszint}szintu_darab`,
|
|
x: 194 + xOffset,
|
|
y: 685 + yOffset,
|
|
w: 8,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `${prefix}_${varazslatszint}szintu_nf`,
|
|
x: 265 + xOffset,
|
|
y: 685 + yOffset,
|
|
w: 20,
|
|
h: 18,
|
|
})
|
|
for (let i = 0; i < max - 1; i++) {
|
|
addTextField({
|
|
name: `${prefix}_${varazslatszint}szintu_${i}`,
|
|
x: 58 + xOffset,
|
|
y: 665 + yOffset - (i * 19.85),
|
|
w: 233,
|
|
h: 18,
|
|
})
|
|
}
|
|
addTextField({
|
|
name: `${prefix}_${varazslatszint}szintu_${max - 1}`,
|
|
x: 65 + xOffset + (hasBonusz === true ? 30 : 0),
|
|
y: 665 + yOffset - ((max - 1) * 19.85),
|
|
w: 218 - (hasBonusz === true ? 30 : 0),
|
|
h: 18,
|
|
})
|
|
}
|
|
|
|
interface EgyszeriVarazslatFullCaster {
|
|
addTextField: RenderTextFieldFunc;
|
|
i: number;
|
|
last?: boolean;
|
|
}
|
|
|
|
function renderEgyszeriVarazslat({addTextField, i, last}: EgyszeriVarazslatFullCaster) {
|
|
const offset = 74;
|
|
addTextField({
|
|
name: `varazslatlap_full_egyszeri_${i}_nev`,
|
|
x: 58,
|
|
y: 259 - (i*offset),
|
|
w: 210,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_full_egyszeri_${i}_szint`,
|
|
x: 280,
|
|
y: 259 - (i*offset),
|
|
w: 12,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_full_egyszeri_${i}_hatoido`,
|
|
x: 298.5,
|
|
y: 259 - (i*offset),
|
|
w: 64,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_full_egyszeri_${i}_tav`,
|
|
x: 364.5,
|
|
y: 259 - (i*offset),
|
|
w: 23,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_full_egyszeri_${i}_terulet`,
|
|
x: 389.5,
|
|
y: 259 - (i*offset),
|
|
w: 92,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_full_egyszeri_${i}_mento`,
|
|
x: 484.5,
|
|
y: 259 - (i*offset),
|
|
w: 53,
|
|
h: 18,
|
|
})
|
|
const rounded = last === true
|
|
addTextField({
|
|
name: `varazslatlap_full_egyszeri_${i}_leiras_0`,
|
|
x: 58,
|
|
y: 240 - (i*offset),
|
|
w: 480,
|
|
h: 16,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_full_egyszeri_${i}_leiras_1`,
|
|
x: 58,
|
|
y: 240 - (i*offset) - 16,
|
|
w: 480,
|
|
h: 16,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_full_egyszeri_${i}_leiras_2`,
|
|
x: 58 + (rounded ? 10 : 0),
|
|
y: 240 - (i*offset) - 32,
|
|
w: 480 - (rounded ? 20 : 0),
|
|
h: 16,
|
|
})
|
|
}
|
|
|
|
interface EgyszeriVarazslatHalfCaster {
|
|
addTextField: RenderTextFieldFunc;
|
|
i: number;
|
|
last?: boolean;
|
|
}
|
|
|
|
function renderEgyszeriVarazslatHalfCaster({addTextField, i, last}: EgyszeriVarazslatHalfCaster,) {
|
|
const offset = 91;
|
|
addTextField({
|
|
name: `varazslatlap_half_egyszeri_${i}_nev`,
|
|
x: 58,
|
|
y: 401 - (i*offset),
|
|
w: 210,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_half_egyszeri_${i}_szint`,
|
|
x: 280,
|
|
y: 401 - (i*offset),
|
|
w: 12,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_half_egyszeri_${i}_hatoido`,
|
|
x: 298.5,
|
|
y: 401 - (i*offset),
|
|
w: 64,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_half_egyszeri_${i}_tav`,
|
|
x: 364.5,
|
|
y: 401 - (i*offset),
|
|
w: 23,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_half_egyszeri_${i}_terulet`,
|
|
x: 389.5,
|
|
y: 401 - (i*offset),
|
|
w: 92,
|
|
h: 18,
|
|
})
|
|
addTextField({
|
|
name: `varazslatlap_half_egyszeri_${i}_mento`,
|
|
x: 484.5,
|
|
y: 401 - (i*offset),
|
|
w: 53,
|
|
h: 18,
|
|
})
|
|
const rounded = last === true
|
|
for (let j = 0; j < 3; j++) {
|
|
addTextField({
|
|
name: `varazslatlap_half_egyszeri_${i}_leiras_${j}`,
|
|
x: 58,
|
|
y: 381 - (i*offset) - (16*j),
|
|
w: 480,
|
|
h: 16,
|
|
})
|
|
}
|
|
addTextField({
|
|
name: `varazslatlap_half_egyszeri_${i}_leiras_3`,
|
|
x: 58 + (rounded ? 10 : 0),
|
|
y: 381 - (i*offset) - 48,
|
|
w: 480 - (rounded ? 20 : 0),
|
|
h: 16,
|
|
})
|
|
}
|
|
|
|
export function renderFullCasterVarazslatlap(addTextField: RenderTextFieldFunc) {
|
|
addTextField({
|
|
name: 'varazslatlap_full_nev_faj_osztaly',
|
|
x: 56,
|
|
y: 731,
|
|
w: 420,
|
|
h: 16,
|
|
})
|
|
addTextField({
|
|
name: 'varazslatlap_full_szint',
|
|
x: 493,
|
|
y: 711,
|
|
w: 36,
|
|
h: 36,
|
|
})
|
|
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_full', varazslatszint : 0, xOffset : 0, yOffset : 0, max : 7});
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_full', varazslatszint : 1, xOffset : 247, yOffset : -20, max : 6, hasBonusz : true});
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_full', varazslatszint : 2, xOffset : 0, yOffset : -170, max : 5, hasBonusz : true});
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_full', varazslatszint : 3, xOffset : 247, yOffset : -170, max : 5, hasBonusz : true});
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_full', varazslatszint : 4, xOffset : 0, yOffset : -301, max : 3} );
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_full', varazslatszint : 5, xOffset : 247, yOffset : -301, max : 3} );
|
|
|
|
renderEgyszeriVarazslat({addTextField : addTextField, i : 0});
|
|
renderEgyszeriVarazslat({addTextField : addTextField, i : 1});
|
|
renderEgyszeriVarazslat({addTextField : addTextField, i : 2, last : true});
|
|
}
|
|
|
|
export function renderHalfCasterVarazslatlap(addTextField: RenderTextFieldFunc) {
|
|
addTextField({
|
|
name: 'varazslatlap_half_nev_faj_osztaly',
|
|
x: 56,
|
|
y: 731,
|
|
w: 420,
|
|
h: 16,
|
|
})
|
|
addTextField({
|
|
name: 'varazslatlap_half_szint',
|
|
x: 493,
|
|
y: 726,
|
|
w: 36,
|
|
h: 36,
|
|
})
|
|
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_half', varazslatszint : 0, xOffset : 0, yOffset : -3, max : 5});
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_half', varazslatszint : 1, xOffset : 247, yOffset : -3, max : 5});
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_half', varazslatszint : 2, xOffset : 0, yOffset : -133, max : 4});
|
|
renderPreparedSpells({addTextField : addTextField, prefix : 'varazslatlap_half', varazslatszint : 3, xOffset : 247, yOffset : -133, max : 3});
|
|
|
|
renderEgyszeriVarazslatHalfCaster({addTextField : addTextField, i : 0});
|
|
renderEgyszeriVarazslatHalfCaster({addTextField : addTextField, i : 1});
|
|
renderEgyszeriVarazslatHalfCaster({addTextField : addTextField, i : 2});
|
|
renderEgyszeriVarazslatHalfCaster({addTextField : addTextField, i : 3, last : true});
|
|
}
|