@@ -10,7 +10,7 @@ const races = BASE_STATS.map(item => item.name);
1010var camera = { } ;
1111var dirtBagUI = { } ;
1212var Debuging = false ;
13- //console.log("Race names:", races);
13+
1414
1515function setup ( ) {
1616 // Create a responsive canvas
@@ -111,6 +111,34 @@ function windowResized() {
111111 updateResponsiveDesign ( ) ;
112112}
113113
114+ function updatePlayerRegen ( player ) {
115+ // Increase timer
116+ player . regenTimer += 0.05 ;
117+
118+ // Only tick on interval
119+ if ( player . regenTimer >= player . regenInterval ) {
120+ // --- HP Regen ---
121+ let mhp = player . statBlock . stats . mhp || 100 ;
122+ if ( player . statBlock . stats . hp < mhp ) {
123+ let regenAmount = ( player . statBlock . stats . regen || 0 ) ;
124+ player . statBlock . stats . hp = Math . min ( player . statBlock . stats . hp + regenAmount , mhp ) ;
125+ }
126+
127+ // --- MP Regen ---
128+ let mmp = player . statBlock . stats . mmp || 100 ;
129+ if ( player . statBlock . stats . mp < mmp ) {
130+ let mpRegen = ( player . statBlock . stats . magic || 0 ) / 5 ;
131+ player . statBlock . stats . mp = Math . min ( player . statBlock . stats . mp + mpRegen , mmp ) ;
132+ }
133+
134+ // Reset timer and interval (randomize 4-5s)
135+ player . regenTimer = 0 ;
136+ player . regenInterval = random ( 4 , 5 ) ;
137+ }
138+ }
139+
140+
141+
114142function draw ( ) {
115143 // image as background
116144
@@ -171,10 +199,9 @@ function draw() {
171199 }
172200
173201 //regen mana and health over time
174- if ( curPlayer . statBlock . stats . mp < curPlayer . statBlock . stats . mmp ) curPlayer . statBlock . stats . mp += 0.01 ;
175- if ( curPlayer . statBlock . stats . hp < curPlayer . statBlock . stats . mhp ) curPlayer . statBlock . heal ( 0.01 ) ;
202+ updatePlayerRegen ( curPlayer , 1 )
176203
177- //little interact key above the thing you can interact with
204+ //little interact key above the thing you can interact with f rendered
178205 let mouseVec = createVector ( mouseX + camera . pos . x - ( width / 2 ) , mouseY + camera . pos . y - ( height / 2 ) ) ;
179206 let chunkPos = testMap . globalToChunk ( mouseVec . x , mouseVec . y ) ;
180207 let chunk = testMap . chunks [ chunkPos . x + "," + chunkPos . y ] ;
0 commit comments