29 lines
835 B
TypeScript
29 lines
835 B
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { Character } from './entities/character.entity';
|
|
|
|
export interface CharacterCombatStats {
|
|
maxHp: number;
|
|
attack: number;
|
|
weaponDamage: number;
|
|
armor: number;
|
|
}
|
|
|
|
// TEMPORARY (Slice 0.3): there is no equipment system yet. These constants
|
|
// stand in for the starting weapon/armor until Slice 0.5 introduces real
|
|
// equipment. Replacing them there must not change this method's signature
|
|
// or the combat API it feeds (spec §10).
|
|
const TEMPORARY_WEAPON_DAMAGE = 8;
|
|
const TEMPORARY_ARMOR = 6;
|
|
|
|
@Injectable()
|
|
export class CharacterCombatStatsService {
|
|
getStats(character: Character): CharacterCombatStats {
|
|
return {
|
|
maxHp: character.baseHp,
|
|
attack: character.baseAttack,
|
|
weaponDamage: TEMPORARY_WEAPON_DAMAGE,
|
|
armor: TEMPORARY_ARMOR,
|
|
};
|
|
}
|
|
}
|