@@ -24,6 +24,8 @@ class PlanetsProductionDisplay {
24
24
25
25
var prod_mod = PARAMS . prod_display ;
26
26
27
+ // let maxShips = this.dataManager.getIntValue('data.maxships', 0);
28
+
27
29
for ( var i = 0 ; i < nbPlanets ; i ++ ) {
28
30
var planetId = myPlanetsRes . snapshotItem ( i ) . textContent ;
29
31
const [ planetdata , moondata , planetProd , moonProd ] = await this . dataManager . loadFullPlanet ( planetId ) ;
@@ -221,13 +223,14 @@ class PlanetsProductionDisplay {
221
223
222
224
// mount base html
223
225
jQuery ( '#' + planetId + '>.prod' ) . html (
226
+ // Planet production
224
227
'<div class="planet_prod">'
225
228
+ '<span id="m_dispo" class="dispo" title="Capacity : ' + formatInt ( planet . prod . M . capa ) + '"></span>' +
226
229
( PARAMS . game_style === 'miner' ?
227
230
'<span class="prod_per_hour ' + ( prod_mod === 'hour' ? '' : 'hidden' ) + ' ' + m_prod_class + '">+' + formatInt ( planet . prod . M . prod ) + '/h</span>' +
228
231
'<span class="prod_per_day ' + ( prod_mod === 'day' ? '' : 'hidden' ) + ' ' + m_prod_class + '">+' + formatInt ( planet . prod . M . prod * 24 ) + '/d</span>'
229
232
: '' )
230
- + '<br/><span id="c_dispo" class="dispo" title="Capacity : ' + formatInt ( planet . prod . D . capa ) + '"></span>' +
233
+ + '<br/><span id="c_dispo" class="dispo" title="Capacity : ' + formatInt ( planet . prod . C . capa ) + '"></span>' +
231
234
( PARAMS . game_style === 'miner' ?
232
235
'<span class="prod_per_hour ' + ( prod_mod === 'hour' ? '' : 'hidden' ) + ' ' + c_prod_class + '">+' + formatInt ( planet . prod . C . prod ) + '/h</span>' +
233
236
'<span class="prod_per_day ' + ( prod_mod === 'day' ? '' : 'hidden' ) + ' ' + c_prod_class + '">+' + formatInt ( planet . prod . C . prod * 24 ) + '/d</span>'
@@ -246,13 +249,14 @@ class PlanetsProductionDisplay {
246
249
+ ( PARAMS . energie_display == 1 ? '<br/><span id="e_dispo" class="dispo" title="Production : ' + formatInt ( planet . prod . E . prod ) + '"><span class="' + warnE + '" style="width:' + this . percent ( planet . prod . E . prod - planet . prod . E . dispo , planet . prod . E . prod ) + '%">E: ' + formatInt ( planet . prod . E . dispo ) + '</span></span>' : '' )
247
250
//+ '<span class="capa"> / '+formatInt(planet.prod.E.prod)+'</span>'
248
251
+ cefPercent
252
+ // Moon production
249
253
+ '</div><div class="moon_prod">'
250
254
+ '<span id="m_dispo" class="dispo" title="Capacity : ' + formatInt ( planet . moonprod . M . capa ) + '"></span>' +
251
255
( PARAMS . game_style === 'miner' ?
252
256
'<span class="prod_per_hour ' + ( prod_mod === 'hour' ? '' : 'hidden' ) + ' ' + m_prod_class_moon + '">+' + formatInt ( planet . moonprod . M . prod ) + '/h</span>' +
253
257
'<span class="prod_per_day ' + ( prod_mod === 'day' ? '' : 'hidden' ) + ' ' + m_prod_class_moon + '">+' + formatInt ( planet . moonprod . M . prod * 24 ) + '/d</span>'
254
258
: '' )
255
- + '<br/><span id="c_dispo" class="dispo" title="Capacity : ' + formatInt ( planet . moonprod . D . capa ) + '"></span>' +
259
+ + '<br/><span id="c_dispo" class="dispo" title="Capacity : ' + formatInt ( planet . moonprod . C . capa ) + '"></span>' +
256
260
( PARAMS . game_style === 'miner' ?
257
261
'<span class="prod_per_hour ' + ( prod_mod === 'hour' ? '' : 'hidden' ) + ' ' + c_prod_class_moon + '">+' + formatInt ( planet . moonprod . C . prod ) + '/h</span>' +
258
262
'<span class="prod_per_day ' + ( prod_mod === 'day' ? '' : 'hidden' ) + ' ' + c_prod_class_moon + '">+' + formatInt ( planet . moonprod . C . prod * 24 ) + '/d</span>'
@@ -270,7 +274,9 @@ class PlanetsProductionDisplay {
270
274
//+ '<span class="capa"> / '+formatInt(planet.moonprod.E.prod)+'</span>'
271
275
+ '</div>'
272
276
) ;
277
+ // Incomming fleet base html
273
278
jQuery ( '#' + planetId ) . append ( '<span class="incomming_fleet"></span>' ) ;
279
+ // Store reference to jQuery base HTML elements
274
280
// planet
275
281
planet . $m_dispo = jQuery ( '#' + planetId + ' .planet_prod #m_dispo' ) ;
276
282
planet . $c_dispo = jQuery ( '#' + planetId + ' .planet_prod #c_dispo' ) ;
@@ -292,6 +298,18 @@ class PlanetsProductionDisplay {
292
298
293
299
planet . $incomming_fleet = jQuery ( '#' + planetId + ' .incomming_fleet' ) ;
294
300
this . planetList . push ( planet ) ;
301
+
302
+ if ( PARAMS . show_stationed_ships == 1 ) {
303
+ // Indicateurs de présence de flotte
304
+ jQuery ( '#' + planetId + ' a.planetlink' ) . append ( '<span class="aquai" title="' + formatInt ( planetdata . vaissels ) + ' ships"><span class="percent" style=""></span></span>' ) ;
305
+ planet . $fleetAquai = jQuery ( '#' + planetId + ' a.planetlink span.aquai' ) ;
306
+ planet . $fleetPercent = jQuery ( '#' + planetId + ' a.planetlink span.aquai span.percent' ) ;
307
+ planet . $fleetPercent . data ( 'vaissels' , planetdata . vaissels ) ;
308
+ jQuery ( '#' + planetId + ' a.moonlink' ) . append ( '<span class="aquai" title="' + formatInt ( moondata . vaissels ) + ' ships"><span class="percent" style=""></span></span>' ) ;
309
+ planet . $fleetAquai_moon = jQuery ( '#' + planetId + ' a.moonlink span.aquai' ) ;
310
+ planet . $fleetPercent_moon = jQuery ( '#' + planetId + ' a.moonlink span.aquai span.percent' ) ;
311
+ planet . $fleetPercent_moon . data ( 'vaissels' , moondata . vaissels ) ;
312
+ }
295
313
}
296
314
297
315
jQuery ( '#planetList' ) . append ( '<div class="total_prod">'
@@ -384,7 +402,9 @@ class PlanetsProductionDisplay {
384
402
}
385
403
}
386
404
} ) ;
387
-
405
+
406
+ let maxShips = 0 ;
407
+
388
408
// display per planet
389
409
for ( var i = 0 ; i < this . planetList . length ; i ++ ) {
390
410
var warnM = '' ;
@@ -396,6 +416,13 @@ class PlanetsProductionDisplay {
396
416
397
417
const [ planetdata , moondata , planetProd , moonProd ] = await this . dataManager . loadFullPlanet ( planet . id ) ;
398
418
419
+
420
+ // compute maxShips
421
+ if ( PARAMS . show_stationed_ships == 1 && planetdata . vaissels >= 0 ) {
422
+ maxShips = Math . max ( maxShips , planetdata . vaissels ) ;
423
+ planet . $fleetPercent . data ( 'vaissels' , planetdata . vaissels ) ;
424
+ }
425
+
399
426
planet . prod = planetProd ;
400
427
planet . moonprod = moonProd ;
401
428
@@ -487,6 +514,11 @@ class PlanetsProductionDisplay {
487
514
488
515
// moon production
489
516
if ( planet . moonprod ) {
517
+ // compute maxShips
518
+ if ( PARAMS . show_stationed_ships == 1 && moondata . vaissels >= 0 ) {
519
+ maxShips = Math . max ( maxShips , moondata . vaissels ) ;
520
+ planet . $fleetPercent_moon . data ( 'vaissels' , moondata . vaissels ) ;
521
+ }
490
522
warnM = '' ;
491
523
warnC = '' ;
492
524
warnD = '' ;
@@ -612,7 +644,19 @@ class PlanetsProductionDisplay {
612
644
}
613
645
614
646
}
615
-
647
+
648
+ if ( PARAMS . show_stationed_ships == 1 ) {
649
+ jQuery ( 'span.aquai span.percent' ) . each ( function ( index , elt ) {
650
+ $elt = jQuery ( elt ) ;
651
+ let vaissels = parseInt ( $elt . data ( 'vaissels' ) ) ;
652
+ let fleetPercent = vaissels * 100 / maxShips ;
653
+ let fleetColor = fleetPercent > 75 ? 'red' : ( fleetPercent > 50 ? 'orange' : 'green' ) ;
654
+ let minWidth = fleetPercent > 0 ? 8 : 0 ;
655
+ $elt . attr ( 'style' , 'width: ' + fleetPercent + '%; background-color: ' + fleetColor + '; min-width: ' + minWidth + 'px;' ) ;
656
+ $elt . parent ( ) . attr ( 'title' , formatInt ( vaissels ) + ' ships' ) ;
657
+ } ) ;
658
+ }
659
+
616
660
// in flight
617
661
jQuery ( '#planetList .total_prod .in_flight_metal' ) . html ( formatInt ( inFlight_M ) ) ;
618
662
jQuery ( '#planetList .total_prod .in_flight_cristal' ) . html ( formatInt ( inFlight_C ) ) ;
0 commit comments