41 lines
868 B
JavaScript
41 lines
868 B
JavaScript
import { TILE } from '../core/constants.js';
|
||
import { state } from '../core/state.js';
|
||
|
||
// Функция для расчёта урона с учётом брони
|
||
function calculateDamage(baseDamage) {
|
||
const reduction = state.player.armor;
|
||
const actualDamage = baseDamage * (1 - reduction);
|
||
return actualDamage;
|
||
}
|
||
|
||
// Инициализация игрока
|
||
function initPlayer() {
|
||
state.player = {
|
||
x: 6 * TILE,
|
||
y: 0 * TILE,
|
||
w: 34,
|
||
h: 34,
|
||
vx: 0,
|
||
vy: 0,
|
||
grounded: false,
|
||
inWater: false,
|
||
headInWater: false,
|
||
hp: 100,
|
||
hunger: 100,
|
||
o2: 100,
|
||
invuln: 0,
|
||
fallStartY: 0,
|
||
lastStepTime: 0,
|
||
sleeping: false,
|
||
inBoat: false,
|
||
armor: 0,
|
||
equippedArmor: null,
|
||
temperature: 15,
|
||
slowTimer: 0
|
||
};
|
||
|
||
state.spawnPoint = { x: 6 * TILE, y: 0 * TILE };
|
||
}
|
||
|
||
export { calculateDamage, initPlayer };
|