Black Trigram (흑괘) - Korean Martial Arts Combat Simulator API - v0.5.30
    Preparing search index...

    Interface PlayerState

    Complete player state for Korean martial arts combat.

    Korean: 플레이어 상태 (Player State)

    Represents the complete state of a combatant including physical resources, combat attributes, current stance, position, and accumulated statistics. All properties are readonly to enforce immutable state updates.

    • Health: Physical integrity (0 = defeated)
    • Ki (氣): Spiritual energy for techniques and stance transitions
    • Stamina: Physical endurance for sustained combat
    • Energy: Action points for moves per turn
    • Attack Power: Base damage output modifier
    • Defense: Damage reduction and blocking effectiveness
    • Speed: Action priority and dodge capability
    • Technique: Precision for vital point targeting
    const player: PlayerState = {
    id: "player-1",
    name: { korean: "이순신", english: "Yi Sun-sin" },
    archetype: PlayerArchetype.MUSA,

    // Resources
    health: 100,
    maxHealth: 100,
    ki: 100,
    maxKi: 100,
    stamina: 100,
    maxStamina: 100,
    energy: 100,
    maxEnergy: 100,

    // Attributes
    attackPower: 15,
    defense: 12,
    speed: 10,
    technique: 14,

    // Combat state
    currentStance: TrigramStance.GEON,
    combatState: CombatState.IDLE,
    position: { x: 100, y: 200 },
    isBlocking: false,
    isStunned: false,

    // ... other properties
    };

    플레이어상태

    interface PlayerState {
        accuracy?: number;
        activeEffects: readonly string[];
        archetype: PlayerArchetype;
        attackPower: number;
        balance: number;
        bodyPartHealth?: BodyPartHealth;
        bodyPartMaxHealth?: BodyPartMaxHealth;
        combatState: CombatState;
        comboCount?: number;
        consciousness: number;
        currentStance: TrigramStance;
        defense: number;
        energy: number;
        experiencePoints?: number;
        health: number;
        hitsLanded: number;
        hitsTaken: number;
        id: string;
        isBlocking: boolean;
        isCountering: boolean;
        isStunned: boolean;
        ki: number;
        lastActionTime: number;
        lastHelplessStateTime?: number;
        lastStanceChangeTime: number;
        losses?: number;
        matchesWon?: number;
        maxCombo?: number;
        maxEnergy: number;
        maxHealth: number;
        maxKi: number;
        maxStamina: number;
        misses?: number;
        momentum: number;
        name: KoreanText;
        pain: number;
        perfectStrikes: number;
        position: Position;
        rank?: string;
        recentHitTimestamps?: readonly number[];
        recoveryTime: number;
        roundsWon?: number;
        speed: number;
        stamina: number;
        statusEffects: readonly StatusEffect[];
        technique: number;
        totalDamageDealt: number;
        totalDamageReceived: number;
        vitalPointHits: number;
        vitalPoints: readonly {
            damage: number;
            id: string;
            isHit: boolean;
            lastHitTime: number;
        }[];
        wins?: number;
    }
    Index

    Properties

    accuracy?: number

    Overall accuracy percentage

    activeEffects: readonly string[]

    IDs of currently active effects

    archetype: PlayerArchetype

    Player combat archetype (무사, 암살자, etc.)

    attackPower: number

    Base attack damage multiplier

    balance: number

    Physical balance and stability

    bodyPartHealth?: BodyPartHealth

    Body part-specific health tracking (신체부위 체력)

    bodyPartMaxHealth?: BodyPartMaxHealth

    Maximum health for each body part

    combatState: CombatState

    Current combat action state

    comboCount?: number

    Current combo chain length

    consciousness: number

    Consciousness level (0 = unconscious)

    currentStance: TrigramStance

    Current Eight Trigram stance

    defense: number

    Damage reduction and blocking effectiveness

    energy: number

    Current energy (action points)

    experiencePoints?: number

    Experience points earned

    health: number

    Current health points (0 = defeated) - aggregate of body part health

    hitsLanded: number

    Number of hits successfully landed

    hitsTaken: number

    Number of hits received

    id: string

    Unique player identifier

    isBlocking: boolean

    Whether player is actively blocking

    isCountering: boolean

    Whether player is executing a counter-attack

    isStunned: boolean

    Whether player is stunned (cannot act)

    ki: number

    Current Ki (氣) spiritual energy

    lastActionTime: number

    Timestamp of last action performed

    lastHelplessStateTime?: number

    Timestamp when player last entered HELPLESS state

    lastStanceChangeTime: number

    Timestamp of last stance transition

    losses?: number

    Total career losses

    matchesWon?: number

    Total matches won (career)

    maxCombo?: number

    Maximum combo achieved this match

    maxEnergy: number

    Maximum energy capacity

    maxHealth: number

    Maximum health capacity

    maxKi: number

    Maximum Ki capacity

    maxStamina: number

    Maximum stamina capacity

    misses?: number

    Number of missed attacks

    momentum: number

    Combat momentum for combo bonuses

    Bilingual Korean-English player name

    pain: number

    Current pain level (reduces effectiveness)

    perfectStrikes: number

    Number of perfect accuracy strikes

    position: Position

    Position in combat arena

    rank?: string

    Player ranking (e.g., "Bronze", "Silver")

    recentHitTimestamps?: readonly number[]

    Timestamps of recent hits for balance state tracking (last 10 hits)

    recoveryTime: number

    Time required before next action available

    roundsWon?: number

    Rounds won this match

    speed: number

    Action speed and dodge capability

    stamina: number

    Current stamina (physical endurance)

    statusEffects: readonly StatusEffect[]

    Active status effects (poison, stun, etc.)

    technique: number

    Precision for vital point targeting

    totalDamageDealt: number

    Total damage dealt this match

    totalDamageReceived: number

    Total damage received this match

    vitalPointHits: number

    Number of successful vital point strikes

    vitalPoints: readonly {
        damage: number;
        id: string;
        isHit: boolean;
        lastHitTime: number;
    }[]

    State of player's vital points (for defense)

    wins?: number

    Total career wins