mwg API
    Preparing search index...

    Class MultiStageAbility

    import { MultiStageAbility } from '@datamoc/mw_games/roguelike';

    const dive = new MultiStageAbility([
    { name: 'windup', duration: 1 },
    { name: 'active', duration: 1 },
    { name: 'recovery', duration: 2 },
    ]);

    dive.start();
    console.log(dive.stage?.name); // 'windup'
    dive.advance(); // one turn passes; moves to 'active' once windup's duration elapses
    Index
    • Advances one turn.

      Returns string | null

      the newly entered stage's name the turn a stage changes, 'done' the turn the last stage finishes, or null when nothing changed (still mid-stage, or never started)