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

    Interface CombatSystemInterface

    interface CombatSystemInterface {
        applyCombatResult: (
            result: CombatResult,
            attacker: PlayerState,
            defender: PlayerState,
        ) => { updatedAttacker: PlayerState; updatedDefender: PlayerState };
        calculateDamage: (
            technique: KoreanTechnique,
            attacker: PlayerState,
            defender: PlayerState,
            hitResult: VitalPointHitResult,
        ) => {
            baseDamage: number;
            effectsApplied: readonly StatusEffect[];
            finalDefenderState?: Partial<PlayerState>;
            modifierDamage: number;
            totalDamage: number;
        };
        getAvailableTechniques: (player: PlayerState) => readonly KoreanTechnique[];
        resolveAttack: (
            attacker: PlayerState,
            defender: PlayerState,
            technique: KoreanTechnique,
            targetedVitalPointId?: string,
            animationContext?: { animationType: AnimationType; currentTime: number },
        ) => CombatResult;
    }
    Index

    Properties

    applyCombatResult: (
        result: CombatResult,
        attacker: PlayerState,
        defender: PlayerState,
    ) => { updatedAttacker: PlayerState; updatedDefender: PlayerState }
    calculateDamage: (
        technique: KoreanTechnique,
        attacker: PlayerState,
        defender: PlayerState,
        hitResult: VitalPointHitResult,
    ) => {
        baseDamage: number;
        effectsApplied: readonly StatusEffect[];
        finalDefenderState?: Partial<PlayerState>;
        modifierDamage: number;
        totalDamage: number;
    }
    getAvailableTechniques: (player: PlayerState) => readonly KoreanTechnique[]
    resolveAttack: (
        attacker: PlayerState,
        defender: PlayerState,
        technique: KoreanTechnique,
        targetedVitalPointId?: string,
        animationContext?: { animationType: AnimationType; currentTime: number },
    ) => CombatResult

    Resolve an attack between attacker and defender

    Korean: 공격 해결

    Type Declaration

      • (
            attacker: PlayerState,
            defender: PlayerState,
            technique: KoreanTechnique,
            targetedVitalPointId?: string,
            animationContext?: { animationType: AnimationType; currentTime: number },
        ): CombatResult
      • Parameters

        • attacker: PlayerState

          Attacking player state

        • defender: PlayerState

          Defending player state

        • technique: KoreanTechnique

          Technique being executed

        • OptionaltargetedVitalPointId: string

          Optional specific vital point to target

        • OptionalanimationContext: { animationType: AnimationType; currentTime: number }

          Optional animation timing for reality-based hit detection

        Returns CombatResult

        Combat result with hit/miss and damage information