@rpgm-tools/neo-angband-core 0.25.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/act.d.ts.map +1 -1
  3. package/dist/agent/act.js +2 -1
  4. package/dist/agent/act.js.map +1 -1
  5. package/dist/agent/loadout.d.ts +18 -3
  6. package/dist/agent/loadout.d.ts.map +1 -1
  7. package/dist/agent/loadout.js +18 -3
  8. package/dist/agent/loadout.js.map +1 -1
  9. package/dist/agent/perceive.d.ts.map +1 -1
  10. package/dist/agent/perceive.js +6 -1
  11. package/dist/agent/perceive.js.map +1 -1
  12. package/dist/agent/types.d.ts +26 -2
  13. package/dist/agent/types.d.ts.map +1 -1
  14. package/dist/game/context.d.ts +21 -4
  15. package/dist/game/context.d.ts.map +1 -1
  16. package/dist/game/context.js +13 -1
  17. package/dist/game/context.js.map +1 -1
  18. package/dist/game/loop.d.ts +4 -4
  19. package/dist/game/loop.d.ts.map +1 -1
  20. package/dist/game/loop.js +17 -8
  21. package/dist/game/loop.js.map +1 -1
  22. package/dist/game/player-turn.d.ts +26 -0
  23. package/dist/game/player-turn.d.ts.map +1 -1
  24. package/dist/game/player-turn.js +97 -2
  25. package/dist/game/player-turn.js.map +1 -1
  26. package/dist/game/world.d.ts +15 -0
  27. package/dist/game/world.d.ts.map +1 -1
  28. package/dist/game/world.js +48 -1
  29. package/dist/game/world.js.map +1 -1
  30. package/dist/mod/save-blocks.d.ts +1 -1
  31. package/dist/player/calcs.d.ts.map +1 -1
  32. package/dist/player/calcs.js +12 -0
  33. package/dist/player/calcs.js.map +1 -1
  34. package/dist/session/game.d.ts.map +1 -1
  35. package/dist/session/game.js +11 -4
  36. package/dist/session/game.js.map +1 -1
  37. package/dist/store/store-cmd.d.ts +58 -0
  38. package/dist/store/store-cmd.d.ts.map +1 -1
  39. package/dist/store/store-cmd.js +162 -0
  40. package/dist/store/store-cmd.js.map +1 -1
  41. package/dist/version.d.ts +1 -1
  42. package/dist/version.js +1 -1
  43. package/package.json +1 -1
  44. package/src/agent/act.ts +2 -1
  45. package/src/agent/loadout.ts +18 -3
  46. package/src/agent/perceive.ts +6 -1
  47. package/src/agent/types.ts +26 -2
  48. package/src/game/context.ts +28 -5
  49. package/src/game/loop.ts +17 -7
  50. package/src/game/player-turn.ts +95 -1
  51. package/src/game/world.ts +53 -1
  52. package/src/player/calcs.ts +12 -0
  53. package/src/session/game.ts +11 -3
  54. package/src/store/store-cmd.ts +186 -0
  55. package/src/version.ts +1 -1
package/dist/game/loop.js CHANGED
@@ -37,7 +37,7 @@ import { equipLearnAfterTime, equipLearnFlag } from "../obj/knowledge.js";
37
37
  import { playerClearTimed, playerDecTimed, playerTimedGradeEq } from "../player/timed.js";
38
38
  import { updateMonsters } from "./known.js";
39
39
  import { noticeStuff } from "./notice.js";
40
- import { caveMonsterCount, compactMonsters, digestFood, playAmbientSound, playerHasWorld, playerOfHasWorld, playerUpdateLight, processDamageOverTime, processExpDrain, processFaintOrStarve, rechargeObjects, } from "./world.js";
40
+ import { caveMonsterCount, compactMonsters, digestFood, playAmbientSound, playerHasWorld, playerOfHasWorld, playerRestingCompleteSpecial, playerUpdateLight, processDamageOverTime, processExpDrain, processFaintOrStarve, rechargeObjects, } from "./world.js";
41
41
  import { playerIsResting, playerRestingIsSpecial } from "./context.js";
42
42
  import { givePlayerEnergy, processMonsters, resetMonsters, } from "./scheduler.js";
43
43
  import { disturb } from "./player-path.js";
@@ -151,7 +151,8 @@ const REST_REQUIRED_FOR_REGEN = 5;
151
151
  * player_resting_can_regenerate (player-util.c:1461): the player earns the x2
152
152
  * regeneration bonus once REST_REQUIRED_FOR_REGEN turns of the current rest
153
153
  * have elapsed, or immediately for the conditional REST_ modes. The rest
154
- * command (WP-11, web) sets state.resting; absent when not resting. No RNG.
154
+ * command's restAction (game/player-turn.ts) sets state.resting; absent when
155
+ * not resting. No RNG.
155
156
  */
156
157
  function playerRestingCanRegenerate(state) {
157
158
  const r = state.resting;
@@ -513,10 +514,10 @@ function loopStop(state) {
513
514
  * keeps the headless harnesses, the borg and the tests driving a whole run
514
515
  * inside one call.
515
516
  *
516
- * The upstream call sits at the top of process_player, before its do-while;
517
- * calling it immediately before processPlayer() is the same point in the order.
518
- * player_resting_complete_special, signalled on the line above it, is ported as
519
- * a predicate the host's rest lifecycle owns (restingCompleteSpecial, WP-11).
517
+ * The upstream call sits at the top of process_player, right after
518
+ * player_resting_complete_special (game-world.c:936-937); processPlayerChecked
519
+ * calls playerRestingCompleteSpecial immediately before this, which is the
520
+ * same point in the order.
520
521
  */
521
522
  export function checkForPlayerInterrupt(state) {
522
523
  if (!state.checkInterrupt)
@@ -543,8 +544,15 @@ export function checkForPlayerInterrupt(state) {
543
544
  return "go";
544
545
  }
545
546
  /**
546
- * process_player (game-world.c:933): the interrupt check, then the turn. "pause"
547
- * is the host asking for its event loop back before the turn is taken.
547
+ * process_player (game-world.c:933-937): player_resting_complete_special, the
548
+ * interrupt check, then the turn. "pause" is the host asking for its event
549
+ * loop back before the turn is taken.
550
+ *
551
+ * playerRestingCompleteSpecial runs first, exactly as upstream orders it -
552
+ * a conditional rest (REST_ALL_POINTS / REST_COMPLETE / REST_SOME_POINTS) that
553
+ * has already met its own stopping condition (HP/SP full, no bad statuses) is
554
+ * disturbed before the interrupt check or the turn, so it does not spend one
555
+ * extra turn beyond upstream's.
548
556
  *
549
557
  * mayPause is false for the FIRST turn of a runGameLoop call. A call resumed
550
558
  * after LOOP_STATUS.PAUSE re-enters at that same point, so pausing there would
@@ -553,6 +561,7 @@ export function checkForPlayerInterrupt(state) {
553
561
  * pause still cancels immediately: only "pause" is overridden, never "cancel".
554
562
  */
555
563
  function processPlayerChecked(state, registry, mayPause) {
564
+ playerRestingCompleteSpecial(state);
556
565
  if (checkForPlayerInterrupt(state) === "pause" && mayPause)
557
566
  return "pause";
558
567
  return processPlayer(state, registry);
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/game/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/game/loop.ts"],"names":[],"mappings":"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"}
@@ -147,6 +147,32 @@ export declare function holdAction(state: GameState, _cmd: PlayerCommand): numbe
147
147
  * (game-world.c:965-968).
148
148
  */
149
149
  export declare function sleepAction(state: GameState, _cmd: PlayerCommand): number;
150
+ /**
151
+ * rest (do_cmd_rest, cmd-cave.c:1619-1669): rest for `cmd.args.count` turns, or
152
+ * until one of the REST_ special conditions (REST_COMPLETE / REST_ALL_POINTS /
153
+ * REST_SOME_POINTS, player-util.h:53-55). A DIFFERENT upstream function from
154
+ * hold/sleep - it calls neither search nor autopickup nor the shop-entry
155
+ * disturb (see holdAction's doc for the contrast).
156
+ *
157
+ * ONE CALL IS ONE GAME TURN, exactly like upstream's own do_cmd_rest: the C
158
+ * takes a single player_resting_step_turn and then re-queues itself with
159
+ * cmdq_push(CMD_REST) so process_player's do-while keeps draining it without a
160
+ * fresh keypress. This is the same shape as runAction's self-continuation
161
+ * (player-path.ts) - the command pushes its own follow-up onto
162
+ * state.cmdQueue, which processPlayer drains before asking the host's
163
+ * nextCommand for anything. A host that never pauses (a headless harness, an
164
+ * agent, the tests) therefore gets every turn of a whole rest inside one
165
+ * runGameLoop call, same as it already does for a run.
166
+ *
167
+ * disturb() (player-path.ts) is what stops the self-continuation: it deletes
168
+ * state.resting AND empties state.cmdQueue, so a rest interrupted mid-flight
169
+ * (a monster becoming visible, damage taken, the HP/SP-full check in
170
+ * playerRestingCompleteSpecial) simply has nothing left to pop next time
171
+ * process_player asks - upstream's player_rest_disturb flag achieves the same
172
+ * "the stale queued continuation must not fire" result with a lagging flag;
173
+ * this port's synchronous queue-clear needs no flag at all.
174
+ */
175
+ export declare function restAction(state: GameState, cmd: PlayerCommand): number;
150
176
  /**
151
177
  * descend / ascend: signal a level change (player->upkeep->generate_level).
152
178
  * The generation and depth change belong to the world integration, which does
@@ -1 +1 @@
1
- {"version":3,"file":"player-turn.d.ts","sourceRoot":"","sources":["../../src/game/player-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"player-turn.d.ts","sourceRoot":"","sources":["../../src/game/player-turn.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ import { monsterWake } from "../mon/take-hit.js";
33
33
  import { MON_TMD_FLG_NOTIFY, monIncTimed } from "../mon/timed.js";
34
34
  import { equipLearnFlag, equipLearnOnMeleeAttack } from "../obj/knowledge.js";
35
35
  import { playerClearTimed, playerTimedGradeEq } from "../player/timed.js";
36
- import { arenaInterceptDeath, deleteMonster, gameTakeHitHooks, movePlayer, squareMonster, } from "./context.js";
36
+ import { arenaInterceptDeath, deleteMonster, gameTakeHitHooks, movePlayer, playerIsResting, playerRestingIsSpecial, squareMonster, } from "./context.js";
37
37
  import { gearGet } from "./gear.js";
38
38
  import { noticeStuff } from "./notice.js";
39
39
  import { repeatBeginCommand } from "./repeat.js";
@@ -671,6 +671,101 @@ export function holdAction(state, _cmd) {
671
671
  export function sleepAction(state, _cmd) {
672
672
  return state.z.moveEnergy;
673
673
  }
674
+ /**
675
+ * rest (do_cmd_rest, cmd-cave.c:1619-1669): rest for `cmd.args.count` turns, or
676
+ * until one of the REST_ special conditions (REST_COMPLETE / REST_ALL_POINTS /
677
+ * REST_SOME_POINTS, player-util.h:53-55). A DIFFERENT upstream function from
678
+ * hold/sleep - it calls neither search nor autopickup nor the shop-entry
679
+ * disturb (see holdAction's doc for the contrast).
680
+ *
681
+ * ONE CALL IS ONE GAME TURN, exactly like upstream's own do_cmd_rest: the C
682
+ * takes a single player_resting_step_turn and then re-queues itself with
683
+ * cmdq_push(CMD_REST) so process_player's do-while keeps draining it without a
684
+ * fresh keypress. This is the same shape as runAction's self-continuation
685
+ * (player-path.ts) - the command pushes its own follow-up onto
686
+ * state.cmdQueue, which processPlayer drains before asking the host's
687
+ * nextCommand for anything. A host that never pauses (a headless harness, an
688
+ * agent, the tests) therefore gets every turn of a whole rest inside one
689
+ * runGameLoop call, same as it already does for a run.
690
+ *
691
+ * disturb() (player-path.ts) is what stops the self-continuation: it deletes
692
+ * state.resting AND empties state.cmdQueue, so a rest interrupted mid-flight
693
+ * (a monster becoming visible, damage taken, the HP/SP-full check in
694
+ * playerRestingCompleteSpecial) simply has nothing left to pop next time
695
+ * process_player asks - upstream's player_rest_disturb flag achieves the same
696
+ * "the stale queued continuation must not fire" result with a lagging flag;
697
+ * this port's synchronous queue-clear needs no flag at all.
698
+ */
699
+ export function restAction(state, cmd) {
700
+ /* cmd_get_arg_choice returning != CMD_OK (cmd-cave.c:1624-1625): no count at
701
+ * all is a silent no-op, taking no turn. */
702
+ const arg = cmd.args?.count;
703
+ let n = typeof arg === "number" ? arg : NaN;
704
+ if (!Number.isFinite(n))
705
+ return 0;
706
+ /* "A little sanity checking on the input" (cmd-cave.c:1627-1632): only the
707
+ * three REST_ codes are valid negative choices. */
708
+ if (n < 0 && !playerRestingIsSpecial(n))
709
+ return 0;
710
+ /* Do some upkeep on the first turn of rest (cmd-cave.c:1634-1644). Checked
711
+ * BEFORE this call's count takes effect, exactly as upstream checks
712
+ * player_is_resting() before player_resting_set_count() runs. */
713
+ if (!playerIsResting(state)) {
714
+ /* player->upkeep->update |= PU_BONUS (cmd-cave.c:1636): applied eagerly
715
+ * here rather than deferred, matching how the rest of this port recomputes
716
+ * derived state through direct hook calls instead of dirty bits. */
717
+ state.updateBonuses?.();
718
+ if (n > 1)
719
+ state.restRepeatCount = n;
720
+ else if (n === 1)
721
+ n = state.restRepeatCount ?? 0;
722
+ }
723
+ /* player_resting_set_count (player-util.c:1425-1445): store the count (or
724
+ * cancel to the not-resting sentinel), clamped at 9999. This port represents
725
+ * "not resting" as state.resting being absent rather than count === 0, so a
726
+ * count of 0 (an explicit "0 turns", or a repeat with nothing remembered)
727
+ * deletes the field instead of storing a zero. */
728
+ if (n === 0 || (n < 0 && !playerRestingIsSpecial(n))) {
729
+ delete state.resting;
730
+ }
731
+ else if (!state.resting) {
732
+ state.resting = { count: Math.min(n, 9999), turnsRested: 0 };
733
+ }
734
+ else {
735
+ state.resting.count = Math.min(n, 9999);
736
+ }
737
+ /* "Set the counter, and stop if told to" (cmd-cave.c:1646-1649). */
738
+ if (!playerIsResting(state))
739
+ return 0;
740
+ const r = state.resting;
741
+ /* player_resting_step_turn (player-util.c:1472-1489): spend the turn,
742
+ * decrement a timed count, bump both rested counters. */
743
+ if (r.count > 0)
744
+ r.count--;
745
+ r.turnsRested++;
746
+ state.restingTurn = (state.restingTurn ?? 0) + 1;
747
+ /* "Prepare to continue, or cancel and clean up" (cmd-cave.c:1657-1667). `n`
748
+ * here is upstream's own local n: unchanged since the upkeep block above for
749
+ * a special rest, or the count this call was asked to do, decremented by
750
+ * step_turn's already-applied r.count-- for a timed one - so r.count IS
751
+ * upstream's `n - 1` at this point, and pushing it as the next choice is
752
+ * pushing exactly that. */
753
+ if (r.count > 0) {
754
+ if (!state.cmdQueue)
755
+ state.cmdQueue = [];
756
+ state.cmdQueue.push({ code: "rest", args: { count: r.count } });
757
+ }
758
+ else if (playerRestingIsSpecial(n)) {
759
+ if (!state.cmdQueue)
760
+ state.cmdQueue = [];
761
+ state.cmdQueue.push({ code: "rest", args: { count: n } });
762
+ state.restRepeatCount = 0;
763
+ }
764
+ else {
765
+ delete state.resting;
766
+ }
767
+ return state.z.moveEnergy;
768
+ }
674
769
  /**
675
770
  * descend / ascend: signal a level change (player->upkeep->generate_level).
676
771
  * The generation and depth change belong to the world integration, which does
@@ -721,7 +816,7 @@ export function createDefaultRegistry() {
721
816
  reg.register("walk", walkAction);
722
817
  reg.register("jump", jumpAction);
723
818
  reg.register("hold", holdAction);
724
- reg.register("rest", holdAction);
819
+ reg.register("rest", restAction);
725
820
  reg.register("sleep", sleepAction);
726
821
  reg.register("descend", descendAction);
727
822
  reg.register("ascend", ascendAction);
@@ -1 +1 @@
1
- {"version":3,"file":"player-turn.js","sourceRoot":"","sources":["../../src/game/player-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"player-turn.js","sourceRoot":"","sources":["../../src/game/player-turn.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,21 @@ export declare function isDaytime(turn: number, dayLength: number): boolean;
65
65
  export declare function playerOfHasWorld(state: GameState, flag: number): boolean;
66
66
  /** player_has over the live derived state (class / race player flags). */
67
67
  export declare function playerHasWorld(state: GameState, flag: number): boolean;
68
+ /**
69
+ * player_resting_complete_special (player-util.c:1495-1520): decide whether a
70
+ * conditional rest (one of the REST_ special counts) has met its own stopping
71
+ * condition, and disturb() to end it if so. A no-op when not resting on a
72
+ * special count. No RNG.
73
+ *
74
+ * Lives here rather than in context.ts (where state.resting and the REST_
75
+ * constants are declared) because it needs disturb() (player-path.ts) and
76
+ * playerHasWorld (below); context.ts cannot import either without a cycle
77
+ * (player-path.ts and this module both import GameState from context.ts).
78
+ * loop.ts calls this at the top of every process_player equivalent
79
+ * (game-world.c:936, immediately before EVENT_CHECK_INTERRUPT), which is
80
+ * upstream's own call site.
81
+ */
82
+ export declare function playerRestingCompleteSpecial(state: GameState): void;
68
83
  /** player_apply_damage_reduction on the live player. */
69
84
  export declare function applyWorldDamageReduction(state: GameState, dam: number): number;
70
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/game/world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/game/world.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ import { floorPile } from "./floor.js";
38
38
  import { monsterGroupChangeIndex } from "./mon-group.js";
39
39
  import { disturb } from "./player-path.js";
40
40
  import { DEFAULT_HITPOINT_WARN } from "./project-cast.js";
41
- import { deleteMonster } from "./context.js";
41
+ import { REST_ALL_POINTS, REST_COMPLETE, REST_SOME_POINTS, deleteMonster, playerRestingIsSpecial, } from "./context.js";
42
42
  /** player-util.h PY_EXERT_* over-exertion bit flags. */
43
43
  const PY_EXERT_CON = 0x01;
44
44
  const PY_EXERT_FAINT = 0x02;
@@ -68,6 +68,53 @@ export function playerOfHasWorld(state, flag) {
68
68
  export function playerHasWorld(state, flag) {
69
69
  return state.playerState?.pflags.has(flag) ?? false;
70
70
  }
71
+ /**
72
+ * player_resting_complete_special (player-util.c:1495-1520): decide whether a
73
+ * conditional rest (one of the REST_ special counts) has met its own stopping
74
+ * condition, and disturb() to end it if so. A no-op when not resting on a
75
+ * special count. No RNG.
76
+ *
77
+ * Lives here rather than in context.ts (where state.resting and the REST_
78
+ * constants are declared) because it needs disturb() (player-path.ts) and
79
+ * playerHasWorld (below); context.ts cannot import either without a cycle
80
+ * (player-path.ts and this module both import GameState from context.ts).
81
+ * loop.ts calls this at the top of every process_player equivalent
82
+ * (game-world.c:936, immediately before EVENT_CHECK_INTERRUPT), which is
83
+ * upstream's own call site.
84
+ */
85
+ export function playerRestingCompleteSpecial(state) {
86
+ const r = state.resting;
87
+ if (!r || !playerRestingIsSpecial(r.count))
88
+ return;
89
+ const p = state.actor.player;
90
+ const t = p.timed;
91
+ if (r.count === REST_ALL_POINTS) {
92
+ if (p.chp === p.mhp && p.csp === p.msp)
93
+ disturb(state);
94
+ }
95
+ else if (r.count === REST_COMPLETE) {
96
+ if (p.chp === p.mhp &&
97
+ (p.csp === p.msp || playerHasWorld(state, PF.COMBAT_REGEN)) &&
98
+ !(t[TMD.BLIND] ?? 0) &&
99
+ !(t[TMD.CONFUSED] ?? 0) &&
100
+ !(t[TMD.POISONED] ?? 0) &&
101
+ !(t[TMD.AFRAID] ?? 0) &&
102
+ !(t[TMD.TERROR] ?? 0) &&
103
+ !(t[TMD.STUN] ?? 0) &&
104
+ !(t[TMD.CUT] ?? 0) &&
105
+ !(t[TMD.SLOW] ?? 0) &&
106
+ !(t[TMD.PARALYZED] ?? 0) &&
107
+ !(t[TMD.IMAGE] ?? 0) &&
108
+ !p.wordRecall &&
109
+ !p.deepDescent) {
110
+ disturb(state);
111
+ }
112
+ }
113
+ else if (r.count === REST_SOME_POINTS) {
114
+ if (p.chp === p.mhp || p.csp === p.msp)
115
+ disturb(state);
116
+ }
117
+ }
71
118
  /** state.dam_red / state.perc_dam_red from the last calc_bonuses (else zero). */
72
119
  function worldReduction(state) {
73
120
  const ps = state.playerState;