@@ -18,7 +18,7 @@ module Dungeon {
1818 let potions : vial [ ] = [ ]
1919 let tl : number
2020
21- let idle : number = - 1
21+ let idle : number
2222 let looked : boolean
2323 let pause : boolean
2424 let refresh : boolean
@@ -118,6 +118,7 @@ module Dungeon {
118118
119119 // entry point
120120 export function DeepDank ( start : number , cb : Function ) {
121+ idle = - 1
121122 levels = $ . player . level
122123 skillkill = false
123124 Battle . teleported = false
@@ -143,7 +144,7 @@ module Dungeon {
143144 menu ( )
144145 }
145146
146- // check player status: level up, changed, dead
147+ // check player status: changed, dead, level up
147148 // did player cast teleport?
148149 // did player enter a room?
149150 // does last output(s) need a pause?
@@ -153,11 +154,12 @@ module Dungeon {
153154 export function menu ( suppress = false ) {
154155
155156 // check player status
157+ if ( $ . online . altered ) $ . saveUser ( $ . player )
156158 if ( $ . reason || xvt . reason ) {
157159 $ . death ( `failed to escape ${ $ . romanize ( deep + 1 ) } .${ Z + 1 } - ${ $ . reason || xvt . reason } ` )
158160 DL . map = `Marauder's map`
159161 scroll ( )
160- if ( $ . checkTime ( ) < 0 && $ . online . hp > 0 ) {
162+ if ( $ . online . hp > 0 ) {
161163 if ( idle > 0 ) $ . sound ( 'thief2' , 6 )
162164 $ . online . hp = idle
163165 }
@@ -175,7 +177,6 @@ module Dungeon {
175177 if ( $ . jumped > ( 19 - $ . int ( deep / 3 ) ) ) skillkill = true
176178 }
177179 }
178- if ( $ . online . altered ) $ . saveUser ( $ . player )
179180
180181 // did player cast teleport?
181182 if ( ! Battle . retreat && Battle . teleported ) {
@@ -603,7 +604,7 @@ module Dungeon {
603604 return true
604605
605606 xvt . outln ( )
606- if ( idle > 0 ) idle --
607+ if ( idle >= 0 ) idle --
607608 if ( looked ) return true
608609 recovery ( ROOM . occupant == 'cleric' ? 600 : 200 )
609610
0 commit comments