feat: crimson metronome lends ½ heart, repaid on a clean room clear
This commit is contained in:
1 parent
39d89fbc53
commit
f77b4fd402
5 files changed
+68
-25
No files matched your search
@@ -88,6 +88,7 @@ function enterRoom(gx, gy) {
|
||||
G.roomLayerKey = '';
|
||||
G.roomDamaged = false;
|
||||
G.roomEnterT = G.time;
|
||||
if (G.player) G.player.metronomeTmp = 0; // fresh per-room Crimson-Metronome loan ledger
|
||||
|
||||
const room = G.rooms[roomKey(gx, gy)];
|
||||
G.cur = room;
|
||||
@@ -221,6 +222,13 @@ function recordRoomClear(room) {
|
||||
}
|
||||
// active items charge on room clears: +1 per combat room, +2 per boss
|
||||
const p = G.player;
|
||||
// Crimson Metronome: a ½-heart loan is repaid when the room clears clean
|
||||
if (!G.roomDamaged && p.metronomeTmp > 0) {
|
||||
const back = Math.min(p.metronomeTmp, p.stats.maxHp - p.hp);
|
||||
p.hp += back;
|
||||
p.metronomeTmp = 0;
|
||||
if (back > 0) spawnText(p.x, p.y - 26, 'LOAN REPAID +' + back, '#d98991');
|
||||
}
|
||||
if (p && p.active) {
|
||||
const a = ACTIVES[p.active.iid];
|
||||
if (a) {
|
||||
|
||||
Reference in new issue
Block a user