@@ -8,18 +8,23 @@ var SystemMap = {
88
99 // let's count things
1010 hostile_count : function ( system ) {
11- if ( system == undefined ) { return 0 ; }
12- return ( system . name !== undefined ) ? $ . grep ( Data . hostiles , function ( h ) { return system . name === h . systemName && h . is_faded === false ; } ) . length : 0
11+ if ( system === undefined ) { return 0 ; }
12+ return ( system . name !== undefined ) ? $ . grep ( Data . hostiles , function ( h ) { return system . name === h . systemName && h . is_faded === false ; } ) . length : 0 ;
1313 } ,
1414
1515 faded_count : function ( system ) {
16- if ( system == undefined ) { return 0 ; }
17- return ( system . name !== undefined ) ? $ . grep ( Data . hostiles , function ( h ) { return system . name === h . systemName && h . is_faded === true ; } ) . length : 0
16+ if ( system === undefined ) { return 0 ; }
17+ return ( system . name !== undefined ) ? $ . grep ( Data . hostiles , function ( h ) { return system . name === h . systemName && h . is_faded === true ; } ) . length : 0 ;
1818 } ,
1919
2020 friendly_count : function ( system ) {
21- if ( system == undefined ) { return 0 ; }
22- return ( system . name !== undefined ) ? $ . grep ( Data . members , function ( h ) { return system . name === h . systemName ; } ) . length : 0
21+ if ( system === undefined ) { return 0 ; }
22+ return ( system . name !== undefined ) ? $ . grep ( Data . members , function ( m ) { return system . name === m . systemName ; } ) . length : 0 ;
23+ } ,
24+
25+ advisory_count : function ( system ) {
26+ if ( system === undefined ) { return 0 ; }
27+ return ( Data . advisories [ system . id ] instanceof Array ) ? Data . advisories [ system . id ] . length : 0 ;
2328 } ,
2429
2530 // Given a system, return the class that corresponds to whether a system is hostile or not.
@@ -28,11 +33,13 @@ var SystemMap = {
2833 return "hostile" ;
2934 } else if ( SystemMap . faded_count ( system ) > 0 ) {
3035 return "warning" ;
31- } else if ( SystemMap . friendly_count ( system ) > 0 ) {
36+ } else if ( SystemMap . advisory_count ( system ) > 0 ) {
37+ return "warning" ;
38+ } else if ( SystemMap . friendly_count ( system ) > 0 ) {
3239 return "clear" ;
3340 }
3441 } ,
35-
42+
3643 // Given a line AB and a point C, finds point D such that CD is perpendicular to AB
3744 getSpPoint : function ( A , B , C ) {
3845 var x1 = A . x , y1 = A . y , x2 = B . x , y2 = B . y , x3 = C . x , y3 = C . y ;
@@ -123,7 +130,7 @@ var SystemMap = {
123130 . data ( 'regionId' , system . regionID )
124131 . text ( Data . regions [ system . regionID ] . name ) ;
125132
126- SystemMap . updateHud ( system . name ) ;
133+ SystemMap . updateHud ( system ) ;
127134
128135 var link_groups = link . data ( SystemMap . jumps )
129136 . enter ( ) . append ( "g" )
@@ -156,11 +163,23 @@ var SystemMap = {
156163 . attr ( "text-anchor" , "middle" )
157164 . attr ( "alignment-baseline" , "middle" )
158165 . attr ( "x" , rect_width / 2 )
159- . attr ( "y" , - 10 )
166+ . attr ( "y" , - 8 )
160167 . text ( function ( n ) {
161- return UI . advisoryUnicode ( Data . advisories [ n . system . id ] ) ;
168+ return UI . mapUnicode ( Data . advisories [ n . system . id ] ) ;
162169 } ) ;
163-
170+
171+ node_groups . append ( "text" )
172+ . attr ( "class" , "hostiles" )
173+ . attr ( "text-anchor" , "middle" )
174+ . attr ( "vector-effect" , "non-scaling-stroke" )
175+ . attr ( "alignment-baseline" , "middle" )
176+ . attr ( "x" , rect_width / 2 )
177+ . attr ( "y" , 25 )
178+ . text ( function ( n ) {
179+ var count = SystemMap . hostile_count ( n . system )
180+ return ( count > 0 ) ? count + " " + UI . mapUnicode ( [ 'Hostile' ] ) : "" ;
181+ } ) ;
182+
164183 node_groups . on ( 'click' , function ( n ) {
165184 SystemMap . updateInfo ( n . system . name ) ;
166185 } ) ;
@@ -271,15 +290,15 @@ var SystemMap = {
271290 SystemMap . zoom . event ( root ) ;
272291 } ,
273292
274- updateHud : function ( system_name ) {
275- var system = { name : system_name }
293+ updateHud : function ( system ) {
294+ var system = { name : system . name , id : system . id }
276295 system . neighbors = $ . map ( SystemMap . links , function ( n ) {
277- if ( n . target . system && n . target . system . name === system_name ) {
296+ if ( n . target . system && n . target . system . name === system . name ) {
278297 n . source . hostiles = SystemMap . hostile_count ( n . source . system ) ;
279298 n . source . faded = SystemMap . faded_count ( n . source . system ) ;
280299 return n . source ;
281300 }
282- if ( n . source . system && n . source . system . name === system_name ) {
301+ if ( n . source . system && n . source . system . name === system . name ) {
283302 n . target . hostiles = SystemMap . hostile_count ( n . target . system ) ;
284303 n . target . faded = SystemMap . faded_count ( n . target . system ) ;
285304 return n . target ;
@@ -307,7 +326,7 @@ var SystemMap = {
307326 . data ( 'system-id' , Data . state . self . systemId )
308327 . text ( Data . systems [ Data . state . self . systemId ] . name ) ;
309328
310- SystemMap . updateHud ( Data . systems [ Data . state . self . systemId ] . name ) ;
329+ SystemMap . updateHud ( Data . systems [ Data . state . self . systemId ] ) ;
311330 } ,
312331
313332 updateInfo : function ( system_name ) {
@@ -338,17 +357,17 @@ var SystemMap = {
338357
339358 d3 . selectAll ( 'g.node text.advisories' )
340359 . text ( function ( n ) {
341- return UI . advisoryUnicode ( Data . advisories [ n . system . id ] ) ;
360+ return UI . mapUnicode ( Data . advisories [ n . system . id ] ) ;
342361 } ) ;
343362
344- SystemMap . updateHud ( Data . systems [ Data . state . self . systemId ] . name ) ;
363+ SystemMap . updateHud ( Data . systems [ Data . state . self . systemId ] ) ;
345364 } ,
346365
347366 redraw : function ( ) {
348367 log ( "Redrawing System Map..." ) ;
349368 $ ( "#system-map > svg" ) . remove ( ) ;
350369 SystemMap . draw ( ) ;
351- SystemMap . updateHud ( Data . systems [ Data . state . self . systemId ] . name ) ;
370+ SystemMap . updateHud ( Data . systems [ Data . state . self . systemId ] ) ;
352371 } ,
353372
354373 init : function ( ) {
0 commit comments